Merge "Too short error message on CDC is no longer red." into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
2004df98f1
@@ -36,19 +36,25 @@ import static com.google.common.truth.Truth.assertThat;
|
||||
import static com.google.common.truth.Truth.assertWithMessage;
|
||||
|
||||
import static org.robolectric.RuntimeEnvironment.application;
|
||||
import static org.robolectric.Shadows.shadowOf;
|
||||
|
||||
import android.annotation.ColorInt;
|
||||
import android.app.admin.DevicePolicyManager;
|
||||
import android.app.admin.DevicePolicyManager.PasswordComplexity;
|
||||
import android.app.admin.PasswordMetrics;
|
||||
import android.app.admin.PasswordPolicy;
|
||||
import android.content.Intent;
|
||||
import android.os.Looper;
|
||||
import android.os.UserHandle;
|
||||
import android.view.View;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.android.internal.widget.LockscreenCredential;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.password.ChooseLockPassword.ChooseLockPasswordFragment;
|
||||
import com.android.settings.password.ChooseLockPassword.IntentBuilder;
|
||||
import com.android.settings.testutils.shadow.SettingsShadowResources;
|
||||
@@ -515,6 +521,52 @@ public class ChooseLockPasswordTest {
|
||||
assertThat(pinAutoConfirmOption.isChecked()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void defaultMessage_shouldBeInTextColorPrimary() {
|
||||
final ChooseLockPassword passwordActivity = setupActivityWithPinTypeAndDefaultPolicy();
|
||||
|
||||
final ChooseLockPasswordFragment fragment = getChooseLockPasswordFragment(passwordActivity);
|
||||
final ScrollToParentEditText passwordEntry = passwordActivity.findViewById(R.id.password_entry);
|
||||
final RecyclerView view = (RecyclerView) fragment.getPasswordRequirementsView();
|
||||
@ColorInt final int textColorPrimary = Utils.getColorAttrDefaultColor(passwordActivity,
|
||||
android.R.attr.textColorPrimary);
|
||||
|
||||
passwordEntry.setText("");
|
||||
fragment.updateUi();
|
||||
shadowOf(Looper.getMainLooper()).idle();
|
||||
TextView textView = (TextView)view.getLayoutManager().findViewByPosition(0);
|
||||
|
||||
assertThat(textView.getCurrentTextColor()).isEqualTo(textColorPrimary);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void errorMessage_shouldBeColorError() {
|
||||
final ChooseLockPassword passwordActivity = setupActivityWithPinTypeAndDefaultPolicy();
|
||||
|
||||
final ChooseLockPasswordFragment fragment = getChooseLockPasswordFragment(passwordActivity);
|
||||
final ScrollToParentEditText passwordEntry = passwordActivity.findViewById(R.id.password_entry);
|
||||
final RecyclerView view = (RecyclerView) fragment.getPasswordRequirementsView();
|
||||
@ColorInt final int textColorPrimary = Utils.getColorAttrDefaultColor(passwordActivity,
|
||||
android.R.attr.textColorPrimary);
|
||||
@ColorInt final int colorError = Utils.getColorAttrDefaultColor(passwordActivity,
|
||||
android.R.attr.colorError);
|
||||
|
||||
passwordEntry.setText("");
|
||||
fragment.updateUi();
|
||||
shadowOf(Looper.getMainLooper()).idle();
|
||||
TextView textView = (TextView)view.getLayoutManager().findViewByPosition(0);
|
||||
|
||||
assertThat(textView.getCurrentTextColor()).isEqualTo(textColorPrimary);
|
||||
|
||||
// Password must be fewer than 17 digits, so this should give an error.
|
||||
passwordEntry.setText("a".repeat(17));
|
||||
fragment.updateUi();
|
||||
shadowOf(Looper.getMainLooper()).idle();
|
||||
textView = (TextView)view.getLayoutManager().findViewByPosition(0);
|
||||
|
||||
assertThat(textView.getCurrentTextColor()).isEqualTo(colorError);
|
||||
}
|
||||
|
||||
private ChooseLockPassword setupActivityWithPinTypeAndDefaultPolicy() {
|
||||
PasswordPolicy policy = new PasswordPolicy();
|
||||
policy.quality = PASSWORD_QUALITY_UNSPECIFIED;
|
||||
@@ -543,7 +595,7 @@ public class ChooseLockPasswordTest {
|
||||
.setForFingerprint(addFingerprintExtra)
|
||||
.build());
|
||||
ChooseLockPasswordFragment fragment = getChooseLockPasswordFragment(passwordActivity);
|
||||
return Shadows.shadowOf(((GlifLayout) fragment.getView()).getIcon());
|
||||
return shadowOf(((GlifLayout) fragment.getView()).getIcon());
|
||||
}
|
||||
|
||||
private void assertPasswordValidationResult(PasswordMetrics minMetrics,
|
||||
|
Reference in New Issue
Block a user