diff --git a/briar-android/res/layout/activity_password.xml b/briar-android/res/layout/activity_password.xml index fc633e841addd3448da5b3be0ff69b8ad714d806..dff9612aad563a5cf197bf76ae9a8cd18ac9565a 100644 --- a/briar-android/res/layout/activity_password.xml +++ b/briar-android/res/layout/activity_password.xml @@ -27,7 +27,6 @@ android:hint="@string/password_hint" android:imeOptions="actionDone" android:inputType="textPassword" - android:lines="1" android:maxLines="1" /> <Button diff --git a/briar-android/res/layout/activity_setup.xml b/briar-android/res/layout/activity_setup.xml index f484946166b1e8e3a1abc6deba9700aa394ea669..d5ec69ba6828ffcc77f2c5a7d0a309e364300743 100644 --- a/briar-android/res/layout/activity_setup.xml +++ b/briar-android/res/layout/activity_setup.xml @@ -22,7 +22,7 @@ android:layout_height="wrap_content" android:gravity="center" android:text="@string/choose_nickname" - android:textSize="18sp"/> + android:textSize="@dimen/text_size_medium"/> <android.support.design.widget.TextInputLayout android:id="@+id/nickname_entry_wrapper" @@ -43,7 +43,7 @@ android:layout_height="wrap_content" android:gravity="center" android:text="@string/choose_password" - android:textSize="18sp"/> + android:textSize="@dimen/text_size_medium"/> <android.support.design.widget.TextInputLayout android:id="@+id/password_entry_wrapper" @@ -64,7 +64,7 @@ android:layout_height="wrap_content" android:gravity="center" android:text="@string/confirm_password" - android:textSize="18sp"/> + android:textSize="@dimen/text_size_medium"/> <android.support.design.widget.TextInputLayout android:id="@+id/password_confirm_wrapper" @@ -77,6 +77,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textPassword" + android:imeOptions="actionDone" android:maxLines="1"/> </android.support.design.widget.TextInputLayout> @@ -88,7 +89,7 @@ <Button android:id="@+id/create_account" - android:layout_width="wrap_content" + android:layout_width="match_parent" android:layout_height="wrap_content" android:enabled="false" android:text="@string/create_account_button"/> diff --git a/briar-android/src/org/briarproject/android/PasswordActivity.java b/briar-android/src/org/briarproject/android/PasswordActivity.java index f0c1a5fe3d30824ded7aa768ae3a5db5adc3e089..fed1a6201a97fff1dbc528feeeddb54348742b14 100644 --- a/briar-android/src/org/briarproject/android/PasswordActivity.java +++ b/briar-android/src/org/briarproject/android/PasswordActivity.java @@ -29,7 +29,6 @@ import static android.content.Intent.ACTION_MAIN; import static android.content.Intent.CATEGORY_HOME; import static android.view.View.INVISIBLE; import static android.view.View.VISIBLE; -import static android.view.inputmethod.EditorInfo.IME_ACTION_DONE; public class PasswordActivity extends BaseActivity { @@ -63,11 +62,11 @@ public class PasswordActivity extends BaseActivity { password = (EditText) findViewById(R.id.edit_password); password.setOnEditorActionListener(new OnEditorActionListener() { @Override - public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { - if (actionId == IME_ACTION_DONE) { - validatePassword(encrypted, password.getText()); - } - return false; + public boolean onEditorAction(TextView v, int actionId, + KeyEvent event) { + hideSoftKeyboard(); + validatePassword(encrypted, password.getText()); + return true; } }); } diff --git a/briar-android/src/org/briarproject/android/SetupActivity.java b/briar-android/src/org/briarproject/android/SetupActivity.java index e7940b0ffead77b43154a13db4fbdce000f4a365..2713b9984319f0c4f32bbd07e80db1c51d79ff8f 100644 --- a/briar-android/src/org/briarproject/android/SetupActivity.java +++ b/briar-android/src/org/briarproject/android/SetupActivity.java @@ -10,7 +10,6 @@ import android.text.TextWatcher; import android.view.KeyEvent; import android.view.View; import android.view.View.OnClickListener; -import android.view.inputmethod.InputMethodManager; import android.widget.Button; import android.widget.EditText; import android.widget.ProgressBar; @@ -43,14 +42,13 @@ import static android.view.View.GONE; import static android.view.View.INVISIBLE; import static android.view.View.VISIBLE; import static android.view.WindowManager.LayoutParams.FLAG_SECURE; -import static android.view.inputmethod.InputMethodManager.HIDE_IMPLICIT_ONLY; import static java.util.logging.Level.INFO; import static org.briarproject.android.TestingConstants.PREVENT_SCREENSHOTS; import static org.briarproject.api.crypto.PasswordStrengthEstimator.WEAK; import static org.briarproject.api.identity.AuthorConstants.MAX_AUTHOR_NAME_LENGTH; public class SetupActivity extends BaseActivity implements OnClickListener, -OnEditorActionListener { + OnEditorActionListener { private static final Logger LOG = Logger.getLogger(SetupActivity.class.getName()); @@ -82,11 +80,13 @@ OnEditorActionListener { TextWatcher tw = new TextWatcher() { @Override - public void beforeTextChanged(CharSequence s, int start, int count, int after) { + public void beforeTextChanged(CharSequence s, int start, int count, + int after) { } @Override - public void onTextChanged(CharSequence s, int start, int before, int count) { + public void onTextChanged(CharSequence s, int start, int before, + int count) { enableOrDisableContinueButton(); } @@ -104,7 +104,7 @@ OnEditorActionListener { private void enableOrDisableContinueButton() { if (progress == null) return; // Not created yet - if (passwordEntry.getText().length() > 0) + if (passwordEntry.getText().length() > 0 && passwordEntry.hasFocus()) strengthMeter.setVisibility(VISIBLE); else strengthMeter.setVisibility(INVISIBLE); String nickname = nicknameEntry.getText().toString(); @@ -114,11 +114,14 @@ OnEditorActionListener { boolean passwordsMatch = firstPassword.equals(secondPassword); float strength = strengthEstimator.estimateStrength(firstPassword); strengthMeter.setStrength(strength); - AndroidUtils.setError(nicknameEntryWrapper, getString(R.string.name_too_long), + AndroidUtils.setError(nicknameEntryWrapper, + getString(R.string.name_too_long), nicknameLength > MAX_AUTHOR_NAME_LENGTH); - AndroidUtils.setError(passwordEntryWrapper, getString(R.string.password_too_weak), + AndroidUtils.setError(passwordEntryWrapper, + getString(R.string.password_too_weak), firstPassword.length() > 0 && strength < WEAK); - AndroidUtils.setError(passwordConfirmationWrapper, getString(R.string.passwords_do_not_match), + AndroidUtils.setError(passwordConfirmationWrapper, + getString(R.string.passwords_do_not_match), secondPassword.length() > 0 && !passwordsMatch); createAccountButton.setEnabled(nicknameLength > 0 && nicknameLength <= MAX_AUTHOR_NAME_LENGTH @@ -126,9 +129,7 @@ OnEditorActionListener { } public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { - // Hide the soft keyboard - Object o = getSystemService(INPUT_METHOD_SERVICE); - ((InputMethodManager) o).toggleSoftInput(HIDE_IMPLICIT_ONLY, 0); + hideSoftKeyboard(); return true; }