diff options
author | Jim Miller <jaggies@google.com> | 2012-11-04 18:28:34 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-11-04 18:28:35 -0800 |
commit | fd34f989608dc02b0cdfbb7012c4c824a5107ded (patch) | |
tree | 1d59b892c9f1e7d16cf2f3d5ef31dbcb3286c776 | |
parent | 18facce4183adc1b058f9d04f3dfd3fe1e8fae2f (diff) | |
parent | 783ea85bec4ec3b2f0fa9dd06cf065e527daf04c (diff) | |
download | packages_apps_Settings-fd34f989608dc02b0cdfbb7012c4c824a5107ded.zip packages_apps_Settings-fd34f989608dc02b0cdfbb7012c4c824a5107ded.tar.gz packages_apps_Settings-fd34f989608dc02b0cdfbb7012c4c824a5107ded.tar.bz2 |
Merge "Disable the "none" security selection in settings when there's only 1 user" into jb-mr1-lockscreen-dev
-rw-r--r-- | src/com/android/settings/ChooseLockGeneric.java | 11 | ||||
-rw-r--r-- | src/com/android/settings/SecuritySettings.java | 9 |
2 files changed, 19 insertions, 1 deletions
diff --git a/src/com/android/settings/ChooseLockGeneric.java b/src/com/android/settings/ChooseLockGeneric.java index a899549..6854305 100644 --- a/src/com/android/settings/ChooseLockGeneric.java +++ b/src/com/android/settings/ChooseLockGeneric.java @@ -21,7 +21,9 @@ import android.app.PendingIntent; import android.app.admin.DevicePolicyManager; import android.content.Context; import android.content.Intent; +import android.content.pm.UserInfo; import android.os.Bundle; +import android.os.UserManager; import android.preference.Preference; import android.preference.PreferenceActivity; import android.preference.PreferenceScreen; @@ -33,6 +35,8 @@ import android.widget.ListView; import com.android.internal.widget.LockPatternUtils; +import java.util.List; + import libcore.util.MutableBoolean; public class ChooseLockGeneric extends PreferenceActivity { @@ -270,6 +274,12 @@ public class ChooseLockGeneric extends PreferenceActivity { .getBooleanExtra(LockPatternUtils.LOCKSCREEN_BIOMETRIC_WEAK_FALLBACK, false); final boolean weakBiometricAvailable = mChooseLockSettingsHelper.utils().isBiometricWeakInstalled(); + + // if there are multiple users, disable "None" setting + UserManager mUm = (UserManager) getSystemService(Context.USER_SERVICE); + List<UserInfo> users = mUm.getUsers(true); + final boolean singleUser = users.size() == 1; + for (int i = entries.getPreferenceCount() - 1; i >= 0; --i) { Preference pref = entries.getPreference(i); if (pref instanceof PreferenceScreen) { @@ -278,6 +288,7 @@ public class ChooseLockGeneric extends PreferenceActivity { boolean visible = true; if (KEY_UNLOCK_SET_OFF.equals(key)) { enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED; + visible = singleUser; // don't show when there's more than 1 user } else if (KEY_UNLOCK_SET_NONE.equals(key)) { enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED; } else if (KEY_UNLOCK_SET_BIOMETRIC_WEAK.equals(key)) { diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java index 22812b2..59cd110 100644 --- a/src/com/android/settings/SecuritySettings.java +++ b/src/com/android/settings/SecuritySettings.java @@ -27,8 +27,10 @@ import android.content.DialogInterface; import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; +import android.content.pm.UserInfo; import android.os.Bundle; import android.os.UserHandle; +import android.os.UserManager; import android.preference.CheckBoxPreference; import android.preference.ListPreference; import android.preference.Preference; @@ -120,7 +122,12 @@ public class SecuritySettings extends SettingsPreferenceFragment // Add options for lock/unlock screen int resid = 0; if (!mLockPatternUtils.isSecure()) { - if (mLockPatternUtils.isLockScreenDisabled()) { + // if there are multiple users, disable "None" setting + UserManager mUm = (UserManager) getSystemService(Context.USER_SERVICE); + List<UserInfo> users = mUm.getUsers(true); + final boolean singleUser = users.size() == 1; + + if (singleUser && mLockPatternUtils.isLockScreenDisabled()) { resid = R.xml.security_settings_lockscreen; } else { resid = R.xml.security_settings_chooser; |