Password helper text

This commit is contained in:
M66B 2021-07-31 14:31:54 +02:00
parent 936cdcb217
commit 1cdd5ea8aa
6 changed files with 23 additions and 63 deletions

View File

@ -94,7 +94,6 @@ public class FragmentAccount extends FragmentBase {
private EditText etPort;
private EditText etUser;
private TextInputLayout tilPassword;
private TextView tvCharacters;
private TextView tvPasswordStorage;
private Button btnCertificate;
private TextView tvCertificate;
@ -200,7 +199,6 @@ public class FragmentAccount extends FragmentBase {
tvInsecureRemark = view.findViewById(R.id.tvInsecureRemark);
etUser = view.findViewById(R.id.etUser);
tilPassword = view.findViewById(R.id.tilPassword);
tvCharacters = view.findViewById(R.id.tvCharacters);
tvPasswordStorage = view.findViewById(R.id.tvPasswordStorage);
btnCertificate = view.findViewById(R.id.btnCertificate);
tvCertificate = view.findViewById(R.id.tvCertificate);
@ -346,9 +344,9 @@ public class FragmentAccount extends FragmentBase {
String password = s.toString();
boolean warning = (Helper.containsWhiteSpace(password) ||
Helper.containsControlChars(password));
tvCharacters.setVisibility(warning &&
tilPassword.getVisibility() == View.VISIBLE
? View.VISIBLE : View.GONE);
tilPassword.setHelperText(
warning ? getString(R.string.title_setup_password_chars) : null);
tilPassword.setHelperTextEnabled(warning);
}
});
@ -539,7 +537,6 @@ public class FragmentAccount extends FragmentBase {
rgEncryption.setVisibility(View.GONE);
cbInsecure.setVisibility(View.GONE);
tilPassword.setEndIconMode(id < 0 || Helper.isSecure(getContext()) ? END_ICON_PASSWORD_TOGGLE : END_ICON_NONE);
tvCharacters.setVisibility(View.GONE);
btnAdvanced.setVisibility(View.GONE);

View File

@ -19,6 +19,12 @@ package eu.faircode.email;
Copyright 2018-2021 by Marcel Bokhorst (M66B)
*/
import static android.app.Activity.RESULT_OK;
import static com.google.android.material.textfield.TextInputLayout.END_ICON_NONE;
import static com.google.android.material.textfield.TextInputLayout.END_ICON_PASSWORD_TOGGLE;
import static eu.faircode.email.ServiceAuthenticator.AUTH_TYPE_OAUTH;
import static eu.faircode.email.ServiceAuthenticator.AUTH_TYPE_PASSWORD;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
@ -66,12 +72,6 @@ import java.util.Objects;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import static android.app.Activity.RESULT_OK;
import static com.google.android.material.textfield.TextInputLayout.END_ICON_NONE;
import static com.google.android.material.textfield.TextInputLayout.END_ICON_PASSWORD_TOGGLE;
import static eu.faircode.email.ServiceAuthenticator.AUTH_TYPE_OAUTH;
import static eu.faircode.email.ServiceAuthenticator.AUTH_TYPE_PASSWORD;
public class FragmentIdentity extends FragmentBase {
private ViewGroup view;
private ScrollView scroll;
@ -98,7 +98,6 @@ public class FragmentIdentity extends FragmentBase {
private EditText etPort;
private EditText etUser;
private TextInputLayout tilPassword;
private TextView tvCharacters;
private TextView tvPasswordStorage;
private Button btnCertificate;
private TextView tvCertificate;
@ -197,7 +196,6 @@ public class FragmentIdentity extends FragmentBase {
etPort = view.findViewById(R.id.etPort);
etUser = view.findViewById(R.id.etUser);
tilPassword = view.findViewById(R.id.tilPassword);
tvCharacters = view.findViewById(R.id.tvCharacters);
tvPasswordStorage = view.findViewById(R.id.tvPasswordStorage);
btnCertificate = view.findViewById(R.id.btnCertificate);
tvCertificate = view.findViewById(R.id.tvCertificate);
@ -512,7 +510,6 @@ public class FragmentIdentity extends FragmentBase {
pbAutoConfig.setVisibility(View.GONE);
cbInsecure.setVisibility(View.GONE);
tilPassword.setEndIconMode(Helper.isSecure(getContext()) ? END_ICON_PASSWORD_TOGGLE : END_ICON_NONE);
tvCharacters.setVisibility(View.GONE);
btnAdvanced.setVisibility(View.GONE);
@ -610,10 +607,9 @@ public class FragmentIdentity extends FragmentBase {
private void checkPassword(String password) {
boolean warning = (Helper.containsWhiteSpace(password) ||
Helper.containsControlChars(password));
tvCharacters.setVisibility(warning &&
grpAdvanced.getVisibility() == View.VISIBLE
? View.VISIBLE : View.GONE);
tilPassword.setHelperText(
warning ? getString(R.string.title_setup_password_chars) : null);
tilPassword.setHelperTextEnabled(warning);
}
private void onSave(boolean should) {

View File

@ -19,6 +19,11 @@ package eu.faircode.email;
Copyright 2018-2021 by Marcel Bokhorst (M66B)
*/
import static android.app.Activity.RESULT_OK;
import static com.google.android.material.textfield.TextInputLayout.END_ICON_NONE;
import static com.google.android.material.textfield.TextInputLayout.END_ICON_PASSWORD_TOGGLE;
import static eu.faircode.email.ServiceAuthenticator.AUTH_TYPE_PASSWORD;
import android.app.NotificationManager;
import android.content.Context;
import android.content.Intent;
@ -61,11 +66,6 @@ import java.util.Date;
import java.util.List;
import java.util.Objects;
import static android.app.Activity.RESULT_OK;
import static com.google.android.material.textfield.TextInputLayout.END_ICON_NONE;
import static com.google.android.material.textfield.TextInputLayout.END_ICON_PASSWORD_TOGGLE;
import static eu.faircode.email.ServiceAuthenticator.AUTH_TYPE_PASSWORD;
public class FragmentPop extends FragmentBase {
private ViewGroup view;
private ScrollView scroll;
@ -77,7 +77,6 @@ public class FragmentPop extends FragmentBase {
private EditText etPort;
private EditText etUser;
private TextInputLayout tilPassword;
private TextView tvCharacters;
private TextView tvPasswordStorage;
private EditText etName;
@ -141,7 +140,6 @@ public class FragmentPop extends FragmentBase {
tvInsecureRemark = view.findViewById(R.id.tvInsecureRemark);
etUser = view.findViewById(R.id.etUser);
tilPassword = view.findViewById(R.id.tilPassword);
tvCharacters = view.findViewById(R.id.tvCharacters);
tvPasswordStorage = view.findViewById(R.id.tvPasswordStorage);
etName = view.findViewById(R.id.etName);
@ -203,9 +201,9 @@ public class FragmentPop extends FragmentBase {
String password = s.toString();
boolean warning = (Helper.containsWhiteSpace(password) ||
Helper.containsControlChars(password));
tvCharacters.setVisibility(warning &&
tilPassword.getVisibility() == View.VISIBLE
? View.VISIBLE : View.GONE);
tilPassword.setHelperText(
warning ? getString(R.string.title_setup_password_chars) : null);
tilPassword.setHelperTextEnabled(warning);
}
});
@ -281,7 +279,6 @@ public class FragmentPop extends FragmentBase {
Helper.setViewsEnabled(view, false);
tilPassword.setEndIconMode(id < 0 || Helper.isSecure(getContext()) ? END_ICON_PASSWORD_TOGGLE : END_ICON_NONE);
tvCharacters.setVisibility(View.GONE);
pbSave.setVisibility(View.GONE);
grpError.setVisibility(View.GONE);

View File

@ -277,16 +277,6 @@
android:textAppearance="@style/TextAppearance.AppCompat.Medium" />
</com.google.android.material.textfield.TextInputLayout>
<eu.faircode.email.FixedTextView
android:id="@+id/tvCharacters"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/title_setup_password_chars"
android:textAppearance="@style/TextAppearance.AppCompat.Small"
android:textColor="?attr/colorWarning"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tilPassword" />
<eu.faircode.email.FixedTextView
android:id="@+id/tvCaseSensitive"
android:layout_width="wrap_content"
@ -296,7 +286,7 @@
android:textAppearance="@style/TextAppearance.AppCompat.Small"
android:textStyle="italic"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvCharacters" />
app:layout_constraintTop_toBottomOf="@id/tilPassword" />
<eu.faircode.email.FixedTextView
android:id="@+id/tvPasswordStorage"

View File

@ -431,16 +431,6 @@
android:textAppearance="@style/TextAppearance.AppCompat.Medium" />
</com.google.android.material.textfield.TextInputLayout>
<eu.faircode.email.FixedTextView
android:id="@+id/tvCharacters"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/title_setup_password_chars"
android:textAppearance="@style/TextAppearance.AppCompat.Small"
android:textColor="?attr/colorWarning"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tilPassword" />
<eu.faircode.email.FixedTextView
android:id="@+id/tvCaseSensitiveHint"
android:layout_width="wrap_content"
@ -450,7 +440,7 @@
android:textAppearance="@style/TextAppearance.AppCompat.Small"
android:textStyle="italic"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvCharacters" />
app:layout_constraintTop_toBottomOf="@id/tilPassword" />
<eu.faircode.email.FixedTextView
android:id="@+id/tvPasswordStorage"

View File

@ -207,16 +207,6 @@
android:textAppearance="@style/TextAppearance.AppCompat.Medium" />
</com.google.android.material.textfield.TextInputLayout>
<eu.faircode.email.FixedTextView
android:id="@+id/tvCharacters"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/title_setup_password_chars"
android:textAppearance="@style/TextAppearance.AppCompat.Small"
android:textColor="?attr/colorWarning"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tilPassword" />
<eu.faircode.email.FixedTextView
android:id="@+id/tvCaseSensitive"
android:layout_width="wrap_content"
@ -226,7 +216,7 @@
android:textAppearance="@style/TextAppearance.AppCompat.Small"
android:textStyle="italic"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvCharacters" />
app:layout_constraintTop_toBottomOf="@id/tilPassword" />
<eu.faircode.email.FixedTextView
android:id="@+id/tvPasswordStorage"