Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9b28ecf9 authored by Chaohui Wang's avatar Chaohui Wang Committed by Android (Google) Code Review
Browse files

Merge "Display TOO_SHORT_WHEN_ALL_NUMERIC" into tm-dev

parents bd971968 140cb755
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -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>
+7 −0
Original line number Diff line number Diff line
@@ -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;

@@ -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;
@@ -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
+2 −10
Original line number Diff line number Diff line
@@ -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;
@@ -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
@@ -191,7 +187,6 @@ public class ChooseLockPasswordTest {
    }

    @Test
    @Ignore
    public void processAndValidatePasswordRequirements_minPasswordComplexityStricter_password() {
        PasswordPolicy policy = new PasswordPolicy();
        policy.quality = PASSWORD_QUALITY_SOMETHING;
@@ -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");
    }

@@ -323,7 +317,6 @@ public class ChooseLockPasswordTest {
    }

    @Test
    @Ignore
    public void processAndValidatePasswordRequirements_requirementsUpdateAccordingToMinComplexityAndUserInput_empty() {
        PasswordPolicy policy = new PasswordPolicy();
        policy.quality = PASSWORD_QUALITY_UNSPECIFIED;
@@ -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;
@@ -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