WIP: Login form.

This commit is contained in:
Sergio Martínez Portela 2020-03-02 22:10:22 +01:00
parent 9fb10281cb
commit 1cdc679c70
20 changed files with 219 additions and 50 deletions

View file

@ -4,8 +4,8 @@ import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;

View file

@ -2,9 +2,9 @@ package com.codigoparallevar.minicards;
import android.content.Context;
import android.content.Intent;
import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;

View file

@ -4,7 +4,7 @@ import android.annotation.TargetApi;
import android.content.Context;
import android.graphics.Color;
import android.os.Build;
import android.support.annotation.NonNull;
import androidx.annotation.NonNull;
import android.util.Log;
import com.codigoparallevar.minicards.parts.buttons.RoundButton;

View file

@ -4,9 +4,9 @@ import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.CardView;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.cardview.widget.CardView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;

View file

@ -4,15 +4,19 @@ import android.app.Dialog;
import android.content.DialogInterface;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.Toolbar;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.Toolbar;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import java.io.File;
@ -29,8 +33,60 @@ public class DeckPreviewActivity extends ReloadableAppCompatActivity {
private CardPreviewArrayAdapter cardArrayAdapter;
private ProgramakerApi ProgramakerApi = new ProgramakerApi();
protected void openLoginForm(View view) {
protected void openLoginDialog(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
final View loginDialog = (LayoutInflater.from(this)
.inflate(R.layout.login_dialog_view, null));
final EditText loginUsernameText = (EditText) loginDialog.findViewById(R.id.login_username_text);
final EditText loginPasswordText = (EditText) loginDialog.findViewById(R.id.login_password_text);
final Button loginButton = (Button) loginDialog.findViewById(R.id.login_dialog_login_button);
final Button cancelButton = (Button) loginDialog.findViewById(R.id.login_dialog_cancel_button);
final TextView messageLabel = (TextView) loginDialog.findViewById(R.id.login_message_label);
builder.setTitle("Login").setView(loginDialog);
final Dialog dialog = builder.create();
dialog.show();
cancelButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
dialog.cancel();
}
});
final TextWatcher watcher = (new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {}
@Override
public void afterTextChanged(Editable s) {
if ((messageLabel.getVisibility() != View.VISIBLE) &&
(loginUsernameText.getText().length() > 0) &&
(loginPasswordText.getText().length() > 0)) {
loginButton.setEnabled(true);
} else {
loginButton.setEnabled(false);
}
}
});
loginButton.setEnabled(false);
loginUsernameText.addTextChangedListener(watcher);
loginPasswordText.addTextChangedListener(watcher);
loginButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
messageLabel.setVisibility(View.VISIBLE);
messageLabel.setText(R.string.loading);
watcher.afterTextChanged(null);
}
});
}
@Override
@ -52,7 +108,7 @@ public class DeckPreviewActivity extends ReloadableAppCompatActivity {
loginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DeckPreviewActivity.this.openLoginForm(v);
DeckPreviewActivity.this.openLoginDialog(v);
}
});

View file

@ -3,7 +3,7 @@ package com.codigoparallevar.minicards;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import androidx.appcompat.app.AlertDialog;
import android.util.Log;
import com.codigoparallevar.minicards.parts.buttons.RoundButton;

View file

@ -1,6 +1,6 @@
package com.codigoparallevar.minicards;
import android.support.v7.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatActivity;
abstract class ReloadableAppCompatActivity extends AppCompatActivity {
public abstract void reload();

View file

@ -4,7 +4,7 @@ import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.Rect;
import android.support.annotation.NonNull;
import androidx.annotation.NonNull;
import com.codigoparallevar.minicards.types.Tuple2;

View file

@ -3,7 +3,7 @@ package com.codigoparallevar.minicards.parts.strings;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.support.annotation.NonNull;
import androidx.annotation.NonNull;
import android.util.Log;
import com.codigoparallevar.minicards.PartInstantiator;

View file

@ -1,6 +1,6 @@
package com.codigoparallevar.minicards.types.connectors.input;
import android.support.annotation.NonNull;
import androidx.annotation.NonNull;
import com.codigoparallevar.minicards.types.Moveable;
import com.codigoparallevar.minicards.types.Part;