Display TOO_SHORT_WHEN_ALL_NUMERIC
To distinguish the requirement between all numeric and not all numeric when COMPLEXITY_HIGH. Fix: 227149118 Fix: 173167839 Test: manual & robolectric Change-Id: I1f682625d8e86963218dda43b626a9e55d169fb3
This commit is contained in:
@@ -1610,6 +1610,13 @@
|
|||||||
<item quantity="one">Must contain at least <xliff:g id="count" example="1">%d</xliff:g> character</item>
|
<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>
|
<item quantity="other">Must be at least <xliff:g id="count" example="3">%d</xliff:g> characters</item>
|
||||||
</plurals>
|
</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 -->
|
<!-- Hint shown in dialog screen when PIN is too short -->
|
||||||
<plurals name="lockpassword_pin_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>
|
<item quantity="one">PIN must contain at least <xliff:g id="count" example="1">%d</xliff:g> digit</item>
|
||||||
|
@@ -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.RECENTLY_USED;
|
||||||
import static com.android.internal.widget.PasswordValidationError.TOO_LONG;
|
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;
|
||||||
|
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_CREDENTIAL;
|
||||||
import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_UNIFICATION_PROFILE_ID;
|
import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_UNIFICATION_PROFILE_ID;
|
||||||
|
|
||||||
@@ -91,6 +92,7 @@ import com.android.settings.SetupWizardUtils;
|
|||||||
import com.android.settings.Utils;
|
import com.android.settings.Utils;
|
||||||
import com.android.settings.core.InstrumentedFragment;
|
import com.android.settings.core.InstrumentedFragment;
|
||||||
import com.android.settings.notification.RedactionInterstitial;
|
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.FooterBarMixin;
|
||||||
import com.google.android.setupcompat.template.FooterButton;
|
import com.google.android.setupcompat.template.FooterButton;
|
||||||
@@ -834,6 +836,11 @@ public class ChooseLockPassword extends SettingsActivity {
|
|||||||
: R.plurals.lockpassword_pin_too_short,
|
: R.plurals.lockpassword_pin_too_short,
|
||||||
error.requirement, error.requirement));
|
error.requirement, error.requirement));
|
||||||
break;
|
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:
|
case TOO_LONG:
|
||||||
messages.add(getResources().getQuantityString(
|
messages.add(getResources().getQuantityString(
|
||||||
mIsAlphaMode
|
mIsAlphaMode
|
||||||
|
@@ -56,7 +56,6 @@ import com.google.android.setupdesign.GlifLayout;
|
|||||||
|
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Ignore;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.robolectric.Robolectric;
|
import org.robolectric.Robolectric;
|
||||||
@@ -74,13 +73,10 @@ import org.robolectric.shadows.ShadowDrawable;
|
|||||||
})
|
})
|
||||||
public class ChooseLockPasswordTest {
|
public class ChooseLockPasswordTest {
|
||||||
|
|
||||||
private ShadowDevicePolicyManager mShadowDpm;
|
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
SettingsShadowResources.overrideResource(
|
SettingsShadowResources.overrideResource(
|
||||||
com.android.internal.R.string.config_headlineFontFamily, "");
|
com.android.internal.R.string.config_headlineFontFamily, "");
|
||||||
mShadowDpm = ShadowDevicePolicyManager.getShadow();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@After
|
@After
|
||||||
@@ -191,7 +187,6 @@ public class ChooseLockPasswordTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Ignore
|
|
||||||
public void processAndValidatePasswordRequirements_minPasswordComplexityStricter_password() {
|
public void processAndValidatePasswordRequirements_minPasswordComplexityStricter_password() {
|
||||||
PasswordPolicy policy = new PasswordPolicy();
|
PasswordPolicy policy = new PasswordPolicy();
|
||||||
policy.quality = PASSWORD_QUALITY_SOMETHING;
|
policy.quality = PASSWORD_QUALITY_SOMETHING;
|
||||||
@@ -201,7 +196,6 @@ public class ChooseLockPasswordTest {
|
|||||||
/* minComplexity= */ PASSWORD_COMPLEXITY_MEDIUM,
|
/* minComplexity= */ PASSWORD_COMPLEXITY_MEDIUM,
|
||||||
/* passwordType= */ PASSWORD_QUALITY_ALPHABETIC,
|
/* passwordType= */ PASSWORD_QUALITY_ALPHABETIC,
|
||||||
/* userEnteredPassword= */ LockscreenCredential.createNone(),
|
/* userEnteredPassword= */ LockscreenCredential.createNone(),
|
||||||
"Must contain at least 1 non-numerical character",
|
|
||||||
"Must be at least 4 characters");
|
"Must be at least 4 characters");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -323,7 +317,6 @@ public class ChooseLockPasswordTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Ignore
|
|
||||||
public void processAndValidatePasswordRequirements_requirementsUpdateAccordingToMinComplexityAndUserInput_empty() {
|
public void processAndValidatePasswordRequirements_requirementsUpdateAccordingToMinComplexityAndUserInput_empty() {
|
||||||
PasswordPolicy policy = new PasswordPolicy();
|
PasswordPolicy policy = new PasswordPolicy();
|
||||||
policy.quality = PASSWORD_QUALITY_UNSPECIFIED;
|
policy.quality = PASSWORD_QUALITY_UNSPECIFIED;
|
||||||
@@ -334,11 +327,10 @@ public class ChooseLockPasswordTest {
|
|||||||
/* passwordType= */ PASSWORD_QUALITY_ALPHABETIC,
|
/* passwordType= */ PASSWORD_QUALITY_ALPHABETIC,
|
||||||
/* userEnteredPassword= */ LockscreenCredential.createNone(),
|
/* userEnteredPassword= */ LockscreenCredential.createNone(),
|
||||||
"Must be at least 6 characters",
|
"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
|
@Test
|
||||||
@Ignore
|
|
||||||
public void processAndValidatePasswordRequirements_requirementsUpdateAccordingToMinComplexityAndUserInput_numeric() {
|
public void processAndValidatePasswordRequirements_requirementsUpdateAccordingToMinComplexityAndUserInput_numeric() {
|
||||||
PasswordPolicy policy = new PasswordPolicy();
|
PasswordPolicy policy = new PasswordPolicy();
|
||||||
policy.quality = PASSWORD_QUALITY_UNSPECIFIED;
|
policy.quality = PASSWORD_QUALITY_UNSPECIFIED;
|
||||||
@@ -349,7 +341,7 @@ public class ChooseLockPasswordTest {
|
|||||||
/* passwordType= */ PASSWORD_QUALITY_ALPHABETIC,
|
/* passwordType= */ PASSWORD_QUALITY_ALPHABETIC,
|
||||||
/* userEnteredPassword= */ LockscreenCredential.createPassword("1"),
|
/* userEnteredPassword= */ LockscreenCredential.createPassword("1"),
|
||||||
"Must be at least 6 characters",
|
"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
|
@Test
|
||||||
|
Reference in New Issue
Block a user