summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Miller <jaggies@google.com>2012-11-04 18:28:34 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-11-04 18:28:35 -0800
commitfd34f989608dc02b0cdfbb7012c4c824a5107ded (patch)
tree1d59b892c9f1e7d16cf2f3d5ef31dbcb3286c776
parent18facce4183adc1b058f9d04f3dfd3fe1e8fae2f (diff)
parent783ea85bec4ec3b2f0fa9dd06cf065e527daf04c (diff)
downloadpackages_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.java11
-rw-r--r--src/com/android/settings/SecuritySettings.java9
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;