summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/ChooseLockGeneric.java
diff options
context:
space:
mode:
authorJim Miller <jaggies@google.com>2010-11-19 18:38:01 -0800
committerJim Miller <jaggies@google.com>2010-11-19 18:59:24 -0800
commit3970c38840ab5f73893d3278724d97ea6fde6e44 (patch)
tree7655b92604cd819a6de3aac427b15c7249a3500b /src/com/android/settings/ChooseLockGeneric.java
parent52322a9173fc167d3011017b396d1c7419fc280b (diff)
downloadpackages_apps_settings-3970c38840ab5f73893d3278724d97ea6fde6e44.zip
packages_apps_settings-3970c38840ab5f73893d3278724d97ea6fde6e44.tar.gz
packages_apps_settings-3970c38840ab5f73893d3278724d97ea6fde6e44.tar.bz2
Fix 3024522: Add new "Off" setting to LockScreen options.
This allows the user to tell the device to not show lock screen at all as long as the DevicePolicyManager allows it. Change-Id: Id46002500b47fc955565be197ac78b7b13b6757d
Diffstat (limited to 'src/com/android/settings/ChooseLockGeneric.java')
-rw-r--r--src/com/android/settings/ChooseLockGeneric.java24
1 files changed, 16 insertions, 8 deletions
diff --git a/src/com/android/settings/ChooseLockGeneric.java b/src/com/android/settings/ChooseLockGeneric.java
index 5247e79..f87ee5a 100644
--- a/src/com/android/settings/ChooseLockGeneric.java
+++ b/src/com/android/settings/ChooseLockGeneric.java
@@ -29,6 +29,7 @@ import android.preference.PreferenceScreen;
public class ChooseLockGeneric extends PreferenceActivity {
private static final int MIN_PASSWORD_LENGTH = 4;
+ private static final String KEY_UNLOCK_SET_OFF = "unlock_set_off";
private static final String KEY_UNLOCK_SET_NONE = "unlock_set_none";
private static final String KEY_UNLOCK_SET_PIN = "unlock_set_pin";
private static final String KEY_UNLOCK_SET_PASSWORD = "unlock_set_password";
@@ -68,14 +69,16 @@ public class ChooseLockGeneric extends PreferenceActivity {
Preference preference) {
final String key = preference.getKey();
boolean handled = true;
- if (KEY_UNLOCK_SET_NONE.equals(key)) {
- updateUnlockMethodAndFinish(DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED);
+ if (KEY_UNLOCK_SET_OFF.equals(key)) {
+ updateUnlockMethodAndFinish(DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED, true);
+ } else if (KEY_UNLOCK_SET_NONE.equals(key)) {
+ updateUnlockMethodAndFinish(DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED, false);
} else if (KEY_UNLOCK_SET_PATTERN.equals(key)) {
- updateUnlockMethodAndFinish(DevicePolicyManager.PASSWORD_QUALITY_SOMETHING);
+ updateUnlockMethodAndFinish(DevicePolicyManager.PASSWORD_QUALITY_SOMETHING, false);
} else if (KEY_UNLOCK_SET_PIN.equals(key)) {
- updateUnlockMethodAndFinish(DevicePolicyManager.PASSWORD_QUALITY_NUMERIC);
+ updateUnlockMethodAndFinish(DevicePolicyManager.PASSWORD_QUALITY_NUMERIC, false);
} else if (KEY_UNLOCK_SET_PASSWORD.equals(key)) {
- updateUnlockMethodAndFinish(DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC);
+ updateUnlockMethodAndFinish(DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC, false);
} else {
handled = false;
}
@@ -113,7 +116,7 @@ public class ChooseLockGeneric extends PreferenceActivity {
addPreferencesFromResource(R.xml.security_settings_picker);
disableUnusablePreferences(mDPM.getPasswordQuality(null));
} else {
- updateUnlockMethodAndFinish(quality);
+ updateUnlockMethodAndFinish(quality, false);
}
}
@@ -131,7 +134,9 @@ public class ChooseLockGeneric extends PreferenceActivity {
if (pref instanceof PreferenceScreen) {
final String key = ((PreferenceScreen) pref).getKey();
boolean enabled = true;
- if (KEY_UNLOCK_SET_NONE.equals(key)) {
+ if (KEY_UNLOCK_SET_OFF.equals(key)) {
+ enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED;
+ } else if (KEY_UNLOCK_SET_NONE.equals(key)) {
enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED;
} else if (KEY_UNLOCK_SET_PATTERN.equals(key)) {
enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_SOMETHING;
@@ -154,8 +159,10 @@ public class ChooseLockGeneric extends PreferenceActivity {
* {@link DevicePolicyManager#PASSWORD_QUALITY_UNSPECIFIED}, password is cleared.
*
* @param quality the desired quality. Ignored if DevicePolicyManager requires more security.
+ * @param disabled whether or not to show LockScreen at all. Only meaningful when quality is
+ * {@link DevicePolicyManager#PASSWORD_QUALITY_UNSPECIFIED}
*/
- void updateUnlockMethodAndFinish(int quality) {
+ void updateUnlockMethodAndFinish(int quality, boolean disabled) {
// Sanity check. We should never get here without confirming user's existing password first.
if (!mPasswordConfirmed) {
throw new IllegalStateException("Tried to update password without confirming first");
@@ -191,6 +198,7 @@ public class ChooseLockGeneric extends PreferenceActivity {
startActivity(intent);
} else if (quality == DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED) {
mChooseLockSettingsHelper.utils().clearLock();
+ mChooseLockSettingsHelper.utils().setLockScreenDisabled(disabled);
setResult(RESULT_OK);
}
finish();