summaryrefslogtreecommitdiff
path: root/app/src/main/java/se/leap/bitmaskclient/LogInDialog.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/LogInDialog.java')
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/LogInDialog.java53
1 files changed, 23 insertions, 30 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/LogInDialog.java b/app/src/main/java/se/leap/bitmaskclient/LogInDialog.java
index 5a0c9a6d..5263392e 100644
--- a/app/src/main/java/se/leap/bitmaskclient/LogInDialog.java
+++ b/app/src/main/java/se/leap/bitmaskclient/LogInDialog.java
@@ -16,19 +16,13 @@
*/
package se.leap.bitmaskclient;
-import se.leap.bitmaskclient.R;
-import android.R.color;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
-import android.content.res.ColorStateList;
import android.os.Bundle;
-import android.provider.CalendarContract.Colors;
import android.view.LayoutInflater;
import android.view.View;
-import android.view.animation.AlphaAnimation;
-import android.view.animation.BounceInterpolator;
import android.widget.EditText;
import android.widget.TextView;
@@ -47,6 +41,8 @@ public class LogInDialog extends SessionDialogInterface {
final public static String TAG = LogInDialog.class.getSimpleName();
+ private static LogInDialog dialog;
+
private static boolean is_eip_pending = false;
public AlertDialog onCreateDialog(Bundle savedInstanceState) {
@@ -55,32 +51,28 @@ public class LogInDialog extends SessionDialogInterface {
View log_in_dialog_view = inflater.inflate(R.layout.log_in_dialog, null);
final TextView user_message = (TextView)log_in_dialog_view.findViewById(R.id.user_message);
- if(getArguments() != null && getArguments().containsKey(getResources().getString(R.string.user_message))) {
- user_message.setText(getArguments().getString(getResources().getString(R.string.user_message)));
- } else {
- user_message.setVisibility(View.GONE);
- }
-
final EditText username_field = (EditText)log_in_dialog_view.findViewById(R.id.username_entered);
- if(getArguments() != null && getArguments().containsKey(USERNAME)) {
- String username = getArguments().getString(USERNAME);
- username_field.setText(username);
- }
- if (getArguments() != null && getArguments().containsKey(USERNAME_MISSING)) {
- username_field.setError(getResources().getString(R.string.username_ask));
- }
-
final EditText password_field = (EditText)log_in_dialog_view.findViewById(R.id.password_entered);
+
if(!username_field.getText().toString().isEmpty() && password_field.isFocusable()) {
password_field.requestFocus();
}
- if (getArguments() != null && getArguments().containsKey(PASSWORD_INVALID_LENGTH)) {
- password_field.setError(getResources().getString(R.string.error_not_valid_password_user_message));
- }
- if(getArguments() != null && getArguments().getBoolean(EipServiceFragment.IS_EIP_PENDING, false)) {
- is_eip_pending = true;
+ if (getArguments() != null) {
+ is_eip_pending = getArguments().getBoolean(EipServiceFragment.IS_PENDING, false);
+ if (getArguments().containsKey(PASSWORD_INVALID_LENGTH))
+ password_field.setError(getResources().getString(R.string.error_not_valid_password_user_message));
+ if (getArguments().containsKey(USERNAME)) {
+ String username = getArguments().getString(USERNAME);
+ username_field.setText(username);
}
-
+ if (getArguments().containsKey(USERNAME_MISSING)) {
+ username_field.setError(getResources().getString(R.string.username_ask));
+ }
+ if(getArguments().containsKey(getResources().getString(R.string.user_message)))
+ user_message.setText(getArguments().getString(getResources().getString(R.string.user_message)));
+ else
+ user_message.setVisibility(View.GONE);
+ }
builder.setView(log_in_dialog_view)
.setPositiveButton(R.string.login_button, new DialogInterface.OnClickListener() {
@@ -116,7 +108,6 @@ public class LogInDialog extends SessionDialogInterface {
*/
public interface LogInDialogInterface {
public void logIn(String username, String password);
- public void cancelAuthedEipOn();
public void signUp(String username, String password);
public void cancelLoginOrSignup();
}
@@ -127,8 +118,10 @@ public class LogInDialog extends SessionDialogInterface {
* @return a new instance of this DialogFragment.
*/
public static DialogFragment newInstance() {
- LogInDialog dialog_fragment = new LogInDialog();
- return dialog_fragment;
+ if(dialog == null)
+ dialog = new LogInDialog();
+
+ return dialog;
}
@Override
@@ -146,6 +139,6 @@ public class LogInDialog extends SessionDialogInterface {
public void onCancel(DialogInterface dialog) {
super.onCancel(dialog);
if(is_eip_pending)
- interface_with_Dashboard.cancelAuthedEipOn();
+ interface_with_Dashboard.cancelLoginOrSignup();
}
}