summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/values/strings.xml4
-rw-r--r--res/xml/security_settings_biometric_weak.xml4
-rw-r--r--res/xml/security_settings_chooser.xml4
-rw-r--r--res/xml/security_settings_lockscreen.xml5
-rw-r--r--res/xml/security_settings_password.xml4
-rw-r--r--res/xml/security_settings_pattern.xml4
-rw-r--r--res/xml/security_settings_pin.xml4
-rw-r--r--src/com/android/settings/SecuritySettings.java23
8 files changed, 52 insertions, 0 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 6f242ca..271aa84 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -682,6 +682,10 @@
<string name="show_owner_info_on_lockscreen_label">Show owner info on lock screen</string>
<!-- Text shown for title of owner info setting [CHAR LIMIT=20]-->
<string name="owner_info_settings_title">Owner info</string>
+ <!-- Text shown for title of settings checkbox to disable widgets [CHAR LIMIT=20]-->
+ <string name="security_enable_widgets_title">Enable widgets</string>
+ <!-- Summary for settings checkbox to disable widgets when the setting has been disabled by an installed device admin [CHAR LIMIT=50] -->
+ <string name="security_enable_widgets_disabled_summary">Disabled by administrator</string>
<!-- Text shown for summary of owner info setting [CHAR LIMIT=40]-->
<string name="owner_info_settings_summary"></string>
<!-- Hint text shown in owner info edit text [CHAR LIMIT=50] -->
diff --git a/res/xml/security_settings_biometric_weak.xml b/res/xml/security_settings_biometric_weak.xml
index c830e6f..7236673 100644
--- a/res/xml/security_settings_biometric_weak.xml
+++ b/res/xml/security_settings_biometric_weak.xml
@@ -51,6 +51,10 @@
android:key="power_button_instantly_locks"
android:title="@string/lockpattern_settings_enable_power_button_instantly_locks"/>
+ <CheckBoxPreference
+ android:key="keyguard_enable_widgets"
+ android:title="@string/security_enable_widgets_title"/>
+
<PreferenceScreen
android:fragment="com.android.settings.OwnerInfoSettings"
android:key="owner_info_settings"
diff --git a/res/xml/security_settings_chooser.xml b/res/xml/security_settings_chooser.xml
index 60d3a9f..d29d221 100644
--- a/res/xml/security_settings_chooser.xml
+++ b/res/xml/security_settings_chooser.xml
@@ -26,6 +26,10 @@
android:summary="@string/unlock_set_unlock_mode_none"
android:persistent="false"/>
+ <CheckBoxPreference
+ android:key="keyguard_enable_widgets"
+ android:title="@string/security_enable_widgets_title"/>
+
<PreferenceScreen
android:fragment="com.android.settings.OwnerInfoSettings"
android:key="owner_info_settings"
diff --git a/res/xml/security_settings_lockscreen.xml b/res/xml/security_settings_lockscreen.xml
index 06ec934..eb40bd8 100644
--- a/res/xml/security_settings_lockscreen.xml
+++ b/res/xml/security_settings_lockscreen.xml
@@ -25,6 +25,11 @@
android:title="@string/unlock_set_unlock_launch_picker_title"
android:summary="@string/unlock_set_unlock_mode_off"
android:persistent="false"/>
+
+ <CheckBoxPreference
+ android:key="keyguard_enable_widgets"
+ android:title="@string/security_enable_widgets_title"/>
+
<PreferenceScreen
android:fragment="com.android.settings.OwnerInfoSettings"
android:key="owner_info_settings"
diff --git a/res/xml/security_settings_password.xml b/res/xml/security_settings_password.xml
index 0e9c71d..7cde2f5 100644
--- a/res/xml/security_settings_password.xml
+++ b/res/xml/security_settings_password.xml
@@ -38,6 +38,10 @@
android:key="power_button_instantly_locks"
android:title="@string/lockpattern_settings_enable_power_button_instantly_locks"/>
+ <CheckBoxPreference
+ android:key="keyguard_enable_widgets"
+ android:title="@string/security_enable_widgets_title"/>
+
<PreferenceScreen
android:fragment="com.android.settings.OwnerInfoSettings"
android:key="owner_info_settings"
diff --git a/res/xml/security_settings_pattern.xml b/res/xml/security_settings_pattern.xml
index d47a99d..d8e06b3 100644
--- a/res/xml/security_settings_pattern.xml
+++ b/res/xml/security_settings_pattern.xml
@@ -42,6 +42,10 @@
android:key="power_button_instantly_locks"
android:title="@string/lockpattern_settings_enable_power_button_instantly_locks"/>
+ <CheckBoxPreference
+ android:key="keyguard_enable_widgets"
+ android:title="@string/security_enable_widgets_title"/>
+
<PreferenceScreen
android:fragment="com.android.settings.OwnerInfoSettings"
android:key="owner_info_settings"
diff --git a/res/xml/security_settings_pin.xml b/res/xml/security_settings_pin.xml
index d44200f..1e8fbbe 100644
--- a/res/xml/security_settings_pin.xml
+++ b/res/xml/security_settings_pin.xml
@@ -38,6 +38,10 @@
android:key="power_button_instantly_locks"
android:title="@string/lockpattern_settings_enable_power_button_instantly_locks"/>
+ <CheckBoxPreference
+ android:key="keyguard_enable_widgets"
+ android:title="@string/security_enable_widgets_title"/>
+
<PreferenceScreen
android:fragment="com.android.settings.OwnerInfoSettings"
android:key="owner_info_settings"
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java
index f893c36..df49cec 100644
--- a/src/com/android/settings/SecuritySettings.java
+++ b/src/com/android/settings/SecuritySettings.java
@@ -65,6 +65,8 @@ public class SecuritySettings extends RestrictedSettingsFragment
private static final String KEY_DEVICE_ADMIN_CATEGORY = "device_admin_category";
private static final String KEY_LOCK_AFTER_TIMEOUT = "lock_after_timeout";
private static final String KEY_OWNER_INFO_SETTINGS = "owner_info_settings";
+ private static final String KEY_ENABLE_WIDGETS = "keyguard_enable_widgets";
+
private static final int SET_OR_CHANGE_LOCK_METHOD_REQUEST = 123;
private static final int CONFIRM_EXISTING_FOR_BIOMETRIC_WEAK_IMPROVE_REQUEST = 124;
private static final int CONFIRM_EXISTING_FOR_BIOMETRIC_WEAK_LIVELINESS_OFF = 125;
@@ -101,6 +103,7 @@ public class SecuritySettings extends RestrictedSettingsFragment
private DialogInterface mWarnInstallApps;
private CheckBoxPreference mToggleVerifyApps;
private CheckBoxPreference mPowerButtonInstantlyLocks;
+ private CheckBoxPreference mEnableKeyguardWidgets;
private Preference mNotificationAccess;
@@ -241,6 +244,20 @@ public class SecuritySettings extends RestrictedSettingsFragment
}
}
+ // Enable or disable keyguard widget checkbox based on DPM state
+ mEnableKeyguardWidgets = (CheckBoxPreference) root.findPreference(KEY_ENABLE_WIDGETS);
+ if (mEnableKeyguardWidgets != null) {
+ final boolean disabled = (0 != (mDPM.getKeyguardDisabledFeatures(null)
+ & DevicePolicyManager.KEYGUARD_DISABLE_WIDGETS_ALL));
+ if (disabled) {
+ mEnableKeyguardWidgets.setSummary(
+ R.string.security_enable_widgets_disabled_summary);
+ } else {
+ mEnableKeyguardWidgets.setSummary("");
+ }
+ mEnableKeyguardWidgets.setEnabled(!disabled);
+ }
+
// Show password
mShowPassword = (CheckBoxPreference) root.findPreference(KEY_SHOW_PASSWORD);
mResetCredentials = root.findPreference(KEY_RESET_CREDENTIALS);
@@ -477,6 +494,10 @@ public class SecuritySettings extends RestrictedSettingsFragment
if (mResetCredentials != null) {
mResetCredentials.setEnabled(!mKeyStore.isEmpty());
}
+
+ if (mEnableKeyguardWidgets != null) {
+ mEnableKeyguardWidgets.setChecked(lockPatternUtils.getWidgetsEnabled());
+ }
}
@Override
@@ -527,6 +548,8 @@ public class SecuritySettings extends RestrictedSettingsFragment
lockPatternUtils.setVisiblePatternEnabled(isToggled(preference));
} else if (KEY_POWER_INSTANTLY_LOCKS.equals(key)) {
lockPatternUtils.setPowerButtonInstantlyLocks(isToggled(preference));
+ } else if (KEY_ENABLE_WIDGETS.equals(key)) {
+ lockPatternUtils.setWidgetsEnabled(mEnableKeyguardWidgets.isChecked());
} else if (preference == mShowPassword) {
Settings.System.putInt(getContentResolver(), Settings.System.TEXT_SHOW_PASSWORD,
mShowPassword.isChecked() ? 1 : 0);