Loading res/values/strings.xml +7 −0 Original line number Diff line number Diff line Loading @@ -1620,6 +1620,13 @@ <item quantity="one">Must contain at least <xliff:g id="count" example="1">%d</xliff:g> character</item> <item quantity="other">Must be at least <xliff:g id="count" example="3">%d</xliff:g> characters</item> </plurals> <!-- Hint shown in dialog screen when password is too short and only using numbers. [CHAR LIMIT=NONE] --> <string name="lockpassword_password_too_short_all_numeric"> {count, plural, =1 {If using only numbers, must be at least 1 digit} other {If using only numbers, must be at least # digits} } </string> <!-- Hint shown in dialog screen when PIN is too short --> <plurals name="lockpassword_pin_too_short"> <item quantity="one">PIN must contain at least <xliff:g id="count" example="1">%d</xliff:g> digit</item> src/com/android/settings/password/ChooseLockPassword.java +7 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ import static com.android.internal.widget.PasswordValidationError.NOT_ENOUGH_UPP import static com.android.internal.widget.PasswordValidationError.RECENTLY_USED; import static com.android.internal.widget.PasswordValidationError.TOO_LONG; import static com.android.internal.widget.PasswordValidationError.TOO_SHORT; import static com.android.internal.widget.PasswordValidationError.TOO_SHORT_WHEN_ALL_NUMERIC; import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_UNIFICATION_PROFILE_CREDENTIAL; import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_UNIFICATION_PROFILE_ID; Loading Loading @@ -91,6 +92,7 @@ import com.android.settings.SetupWizardUtils; import com.android.settings.Utils; import com.android.settings.core.InstrumentedFragment; import com.android.settings.notification.RedactionInterstitial; import com.android.settingslib.utils.StringUtil; import com.google.android.setupcompat.template.FooterBarMixin; import com.google.android.setupcompat.template.FooterButton; Loading Loading @@ -834,6 +836,11 @@ public class ChooseLockPassword extends SettingsActivity { : R.plurals.lockpassword_pin_too_short, error.requirement, error.requirement)); break; case TOO_SHORT_WHEN_ALL_NUMERIC: messages.add( StringUtil.getIcuPluralsString(getContext(), error.requirement, R.string.lockpassword_password_too_short_all_numeric)); break; case TOO_LONG: messages.add(getResources().getQuantityString( mIsAlphaMode Loading tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java +2 −10 Original line number Diff line number Diff line Loading @@ -56,7 +56,6 @@ import com.google.android.setupdesign.GlifLayout; import org.junit.After; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.Robolectric; Loading @@ -74,13 +73,10 @@ import org.robolectric.shadows.ShadowDrawable; }) public class ChooseLockPasswordTest { private ShadowDevicePolicyManager mShadowDpm; @Before public void setUp() { SettingsShadowResources.overrideResource( com.android.internal.R.string.config_headlineFontFamily, ""); mShadowDpm = ShadowDevicePolicyManager.getShadow(); } @After Loading Loading @@ -191,7 +187,6 @@ public class ChooseLockPasswordTest { } @Test @Ignore public void processAndValidatePasswordRequirements_minPasswordComplexityStricter_password() { PasswordPolicy policy = new PasswordPolicy(); policy.quality = PASSWORD_QUALITY_SOMETHING; Loading @@ -201,7 +196,6 @@ public class ChooseLockPasswordTest { /* minComplexity= */ PASSWORD_COMPLEXITY_MEDIUM, /* passwordType= */ PASSWORD_QUALITY_ALPHABETIC, /* userEnteredPassword= */ LockscreenCredential.createNone(), "Must contain at least 1 non-numerical character", "Must be at least 4 characters"); } Loading Loading @@ -323,7 +317,6 @@ public class ChooseLockPasswordTest { } @Test @Ignore public void processAndValidatePasswordRequirements_requirementsUpdateAccordingToMinComplexityAndUserInput_empty() { PasswordPolicy policy = new PasswordPolicy(); policy.quality = PASSWORD_QUALITY_UNSPECIFIED; Loading @@ -334,11 +327,10 @@ public class ChooseLockPasswordTest { /* passwordType= */ PASSWORD_QUALITY_ALPHABETIC, /* userEnteredPassword= */ LockscreenCredential.createNone(), "Must be at least 6 characters", "Must contain at least 1 non-numerical character"); "If using only numbers, must be at least 8 digits"); } @Test @Ignore public void processAndValidatePasswordRequirements_requirementsUpdateAccordingToMinComplexityAndUserInput_numeric() { PasswordPolicy policy = new PasswordPolicy(); policy.quality = PASSWORD_QUALITY_UNSPECIFIED; Loading @@ -349,7 +341,7 @@ public class ChooseLockPasswordTest { /* passwordType= */ PASSWORD_QUALITY_ALPHABETIC, /* userEnteredPassword= */ LockscreenCredential.createPassword("1"), "Must be at least 6 characters", "Must contain at least 1 non-numerical character"); "If using only numbers, must be at least 8 digits"); } @Test Loading Loading
res/values/strings.xml +7 −0 Original line number Diff line number Diff line Loading @@ -1620,6 +1620,13 @@ <item quantity="one">Must contain at least <xliff:g id="count" example="1">%d</xliff:g> character</item> <item quantity="other">Must be at least <xliff:g id="count" example="3">%d</xliff:g> characters</item> </plurals> <!-- Hint shown in dialog screen when password is too short and only using numbers. [CHAR LIMIT=NONE] --> <string name="lockpassword_password_too_short_all_numeric"> {count, plural, =1 {If using only numbers, must be at least 1 digit} other {If using only numbers, must be at least # digits} } </string> <!-- Hint shown in dialog screen when PIN is too short --> <plurals name="lockpassword_pin_too_short"> <item quantity="one">PIN must contain at least <xliff:g id="count" example="1">%d</xliff:g> digit</item>
src/com/android/settings/password/ChooseLockPassword.java +7 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ import static com.android.internal.widget.PasswordValidationError.NOT_ENOUGH_UPP import static com.android.internal.widget.PasswordValidationError.RECENTLY_USED; import static com.android.internal.widget.PasswordValidationError.TOO_LONG; import static com.android.internal.widget.PasswordValidationError.TOO_SHORT; import static com.android.internal.widget.PasswordValidationError.TOO_SHORT_WHEN_ALL_NUMERIC; import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_UNIFICATION_PROFILE_CREDENTIAL; import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_UNIFICATION_PROFILE_ID; Loading Loading @@ -91,6 +92,7 @@ import com.android.settings.SetupWizardUtils; import com.android.settings.Utils; import com.android.settings.core.InstrumentedFragment; import com.android.settings.notification.RedactionInterstitial; import com.android.settingslib.utils.StringUtil; import com.google.android.setupcompat.template.FooterBarMixin; import com.google.android.setupcompat.template.FooterButton; Loading Loading @@ -834,6 +836,11 @@ public class ChooseLockPassword extends SettingsActivity { : R.plurals.lockpassword_pin_too_short, error.requirement, error.requirement)); break; case TOO_SHORT_WHEN_ALL_NUMERIC: messages.add( StringUtil.getIcuPluralsString(getContext(), error.requirement, R.string.lockpassword_password_too_short_all_numeric)); break; case TOO_LONG: messages.add(getResources().getQuantityString( mIsAlphaMode Loading
tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java +2 −10 Original line number Diff line number Diff line Loading @@ -56,7 +56,6 @@ import com.google.android.setupdesign.GlifLayout; import org.junit.After; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.Robolectric; Loading @@ -74,13 +73,10 @@ import org.robolectric.shadows.ShadowDrawable; }) public class ChooseLockPasswordTest { private ShadowDevicePolicyManager mShadowDpm; @Before public void setUp() { SettingsShadowResources.overrideResource( com.android.internal.R.string.config_headlineFontFamily, ""); mShadowDpm = ShadowDevicePolicyManager.getShadow(); } @After Loading Loading @@ -191,7 +187,6 @@ public class ChooseLockPasswordTest { } @Test @Ignore public void processAndValidatePasswordRequirements_minPasswordComplexityStricter_password() { PasswordPolicy policy = new PasswordPolicy(); policy.quality = PASSWORD_QUALITY_SOMETHING; Loading @@ -201,7 +196,6 @@ public class ChooseLockPasswordTest { /* minComplexity= */ PASSWORD_COMPLEXITY_MEDIUM, /* passwordType= */ PASSWORD_QUALITY_ALPHABETIC, /* userEnteredPassword= */ LockscreenCredential.createNone(), "Must contain at least 1 non-numerical character", "Must be at least 4 characters"); } Loading Loading @@ -323,7 +317,6 @@ public class ChooseLockPasswordTest { } @Test @Ignore public void processAndValidatePasswordRequirements_requirementsUpdateAccordingToMinComplexityAndUserInput_empty() { PasswordPolicy policy = new PasswordPolicy(); policy.quality = PASSWORD_QUALITY_UNSPECIFIED; Loading @@ -334,11 +327,10 @@ public class ChooseLockPasswordTest { /* passwordType= */ PASSWORD_QUALITY_ALPHABETIC, /* userEnteredPassword= */ LockscreenCredential.createNone(), "Must be at least 6 characters", "Must contain at least 1 non-numerical character"); "If using only numbers, must be at least 8 digits"); } @Test @Ignore public void processAndValidatePasswordRequirements_requirementsUpdateAccordingToMinComplexityAndUserInput_numeric() { PasswordPolicy policy = new PasswordPolicy(); policy.quality = PASSWORD_QUALITY_UNSPECIFIED; Loading @@ -349,7 +341,7 @@ public class ChooseLockPasswordTest { /* passwordType= */ PASSWORD_QUALITY_ALPHABETIC, /* userEnteredPassword= */ LockscreenCredential.createPassword("1"), "Must be at least 6 characters", "Must contain at least 1 non-numerical character"); "If using only numbers, must be at least 8 digits"); } @Test Loading