Merge "Add new "pin complex" type to supported keyguard PINs"
This commit is contained in:
@@ -996,6 +996,9 @@
|
|||||||
<!-- Error shown when in PASSWORD mode and password has been used recently. Please keep this string short! -->
|
<!-- Error shown when in PASSWORD mode and password has been used recently. Please keep this string short! -->
|
||||||
<string name="lockpassword_password_recently_used">Device administrator doesn\'t allow using a recent password.</string>
|
<string name="lockpassword_password_recently_used">Device administrator doesn\'t allow using a recent password.</string>
|
||||||
|
|
||||||
|
<!-- [CHAR_LIMIT=NONE] Error shown when the user tries to set an ascending or descending sequence of digits -->
|
||||||
|
<string name="lockpassword_pin_no_sequential_digits">An ascending, descending or repeated sequence of digits is forbidden</string>
|
||||||
|
|
||||||
<!-- Label for ChoosePassword/PIN OK button -->
|
<!-- Label for ChoosePassword/PIN OK button -->
|
||||||
<string name="lockpassword_ok_label">OK</string>
|
<string name="lockpassword_ok_label">OK</string>
|
||||||
|
|
||||||
|
@@ -278,7 +278,7 @@ public class ChooseLockGeneric extends SettingsActivity {
|
|||||||
} else if (KEY_UNLOCK_SET_PATTERN.equals(key)) {
|
} else if (KEY_UNLOCK_SET_PATTERN.equals(key)) {
|
||||||
enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_SOMETHING;
|
enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_SOMETHING;
|
||||||
} else if (KEY_UNLOCK_SET_PIN.equals(key)) {
|
} else if (KEY_UNLOCK_SET_PIN.equals(key)) {
|
||||||
enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_NUMERIC;
|
enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX;
|
||||||
} else if (KEY_UNLOCK_SET_PASSWORD.equals(key)) {
|
} else if (KEY_UNLOCK_SET_PASSWORD.equals(key)) {
|
||||||
enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_COMPLEX;
|
enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_COMPLEX;
|
||||||
}
|
}
|
||||||
|
@@ -329,10 +329,18 @@ public class ChooseLockPassword extends SettingsActivity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (DevicePolicyManager.PASSWORD_QUALITY_NUMERIC == mRequestedQuality
|
if (DevicePolicyManager.PASSWORD_QUALITY_NUMERIC == mRequestedQuality
|
||||||
&& (letters > 0 || symbols > 0)) {
|
|| DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX == mRequestedQuality) {
|
||||||
|
if (letters > 0 || symbols > 0) {
|
||||||
// This shouldn't be possible unless user finds some way to bring up
|
// This shouldn't be possible unless user finds some way to bring up
|
||||||
// soft keyboard
|
// soft keyboard
|
||||||
return getString(R.string.lockpassword_pin_contains_non_digits);
|
return getString(R.string.lockpassword_pin_contains_non_digits);
|
||||||
|
}
|
||||||
|
// Check for repeated characters or sequences (e.g. '1234', '0000', '2468')
|
||||||
|
final int sequence = LockPatternUtils.maxLengthSequence(password);
|
||||||
|
if (DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX == mRequestedQuality
|
||||||
|
&& sequence > LockPatternUtils.MAX_ALLOWED_SEQUENCE) {
|
||||||
|
return getString(R.string.lockpassword_pin_no_sequential_digits);
|
||||||
|
}
|
||||||
} else if (DevicePolicyManager.PASSWORD_QUALITY_COMPLEX == mRequestedQuality) {
|
} else if (DevicePolicyManager.PASSWORD_QUALITY_COMPLEX == mRequestedQuality) {
|
||||||
if (letters < mPasswordMinLetters) {
|
if (letters < mPasswordMinLetters) {
|
||||||
return String.format(getResources().getQuantityString(
|
return String.format(getResources().getQuantityString(
|
||||||
@@ -375,6 +383,7 @@ public class ChooseLockPassword extends SettingsActivity {
|
|||||||
return getString(mIsAlphaMode ? R.string.lockpassword_password_recently_used
|
return getString(mIsAlphaMode ? R.string.lockpassword_password_recently_used
|
||||||
: R.string.lockpassword_pin_recently_used);
|
: R.string.lockpassword_pin_recently_used);
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -60,6 +60,7 @@ public final class ChooseLockSettingsHelper {
|
|||||||
launched = confirmPattern(request, message, details);
|
launched = confirmPattern(request, message, details);
|
||||||
break;
|
break;
|
||||||
case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC:
|
case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC:
|
||||||
|
case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX:
|
||||||
case DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC:
|
case DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC:
|
||||||
case DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC:
|
case DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC:
|
||||||
case DevicePolicyManager.PASSWORD_QUALITY_COMPLEX:
|
case DevicePolicyManager.PASSWORD_QUALITY_COMPLEX:
|
||||||
|
@@ -151,6 +151,7 @@ public class SecuritySettings extends SettingsPreferenceFragment
|
|||||||
resid = R.xml.security_settings_pattern;
|
resid = R.xml.security_settings_pattern;
|
||||||
break;
|
break;
|
||||||
case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC:
|
case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC:
|
||||||
|
case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX:
|
||||||
resid = R.xml.security_settings_pin;
|
resid = R.xml.security_settings_pin;
|
||||||
break;
|
break;
|
||||||
case DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC:
|
case DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC:
|
||||||
|
Reference in New Issue
Block a user