diff options
-rw-r--r-- | res/values/strings.xml | 4 | ||||
-rw-r--r-- | res/xml/security_settings_biometric_weak.xml | 4 | ||||
-rw-r--r-- | res/xml/security_settings_chooser.xml | 4 | ||||
-rw-r--r-- | res/xml/security_settings_lockscreen.xml | 5 | ||||
-rw-r--r-- | res/xml/security_settings_password.xml | 4 | ||||
-rw-r--r-- | res/xml/security_settings_pattern.xml | 4 | ||||
-rw-r--r-- | res/xml/security_settings_pin.xml | 4 | ||||
-rw-r--r-- | src/com/android/settings/SecuritySettings.java | 23 |
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); |