summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Miller <jaggies@google.com>2012-01-06 18:28:09 -0800
committerJim Miller <jaggies@google.com>2012-01-09 14:25:04 -0800
commit071742d838f9b0c312af309c87eaf2c444aeeab8 (patch)
tree0ac0b5381aea88aaa5703b3fde129c8421c78575
parenta98c353f8b18607f0c2e9af26b91bf6ffbe8dc78 (diff)
downloadpackages_apps_settings-071742d838f9b0c312af309c87eaf2c444aeeab8.zip
packages_apps_settings-071742d838f9b0c312af309c87eaf2c444aeeab8.tar.gz
packages_apps_settings-071742d838f9b0c312af309c87eaf2c444aeeab8.tar.bz2
Fix 4560303: Add setting to lock later when power button pressed
This adds a feature to delay locking the device when the power button is pressed. This fixes a use case where the user wants to turn off the display (e.g. to save power) but doesn't want to lock the device. Change-Id: I711a81c3e79f7accdc1d9cb217b7806a0b8fcf63
-rw-r--r--res/values/strings.xml2
-rw-r--r--res/xml/security_settings_biometric_weak.xml4
-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.java11
6 files changed, 29 insertions, 0 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 9a29122..90b1446 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -2226,6 +2226,8 @@
<string name="lockpattern_settings_enable_visible_pattern_title">Make pattern visible</string>
<!-- Security & location settings screen, setting check box title. This setting controls whether tactile feedback will be produced when the user draws the pattern.-->
<string name="lockpattern_settings_enable_tactile_feedback_title">Vibrate on touch</string>
+ <!-- Security & location settings screen, setting check box title. This controls whether the device locks immediately when the power button is pressed. [CHAR LIMIT=28]-->
+ <string name="lockpattern_settings_enable_power_button_instantly_locks">Power button instantly locks</string>
<!-- Security & location settings screen, setting option name when user has never set an unlock pattern -->
<string name="lockpattern_settings_choose_lock_pattern">Set unlock pattern</string>
<!-- Security & location settings screen, setting option name when user has previously set an unlock pattern and wants to change to a new pattern -->
diff --git a/res/xml/security_settings_biometric_weak.xml b/res/xml/security_settings_biometric_weak.xml
index 7d832e4..080fbc9 100644
--- a/res/xml/security_settings_biometric_weak.xml
+++ b/res/xml/security_settings_biometric_weak.xml
@@ -43,6 +43,10 @@
android:persistent="false"/>
<CheckBoxPreference
+ android:key="power_button_instantly_locks"
+ android:title="@string/lockpattern_settings_enable_power_button_instantly_locks"/>
+
+ <CheckBoxPreference
android:key="unlock_tactile_feedback"
android:title="@string/lockpattern_settings_enable_tactile_feedback_title"/>
diff --git a/res/xml/security_settings_password.xml b/res/xml/security_settings_password.xml
index 9ddc18e..0e9c71d 100644
--- a/res/xml/security_settings_password.xml
+++ b/res/xml/security_settings_password.xml
@@ -34,6 +34,10 @@
android:entryValues="@array/lock_after_timeout_values"
android:persistent="false"/>
+ <CheckBoxPreference
+ android:key="power_button_instantly_locks"
+ android:title="@string/lockpattern_settings_enable_power_button_instantly_locks"/>
+
<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 4cfc360..b91b2b6 100644
--- a/res/xml/security_settings_pattern.xml
+++ b/res/xml/security_settings_pattern.xml
@@ -39,6 +39,10 @@
android:persistent="false"/>
<CheckBoxPreference
+ android:key="power_button_instantly_locks"
+ android:title="@string/lockpattern_settings_enable_power_button_instantly_locks"/>
+
+ <CheckBoxPreference
android:key="unlock_tactile_feedback"
android:title="@string/lockpattern_settings_enable_tactile_feedback_title"/>
diff --git a/res/xml/security_settings_pin.xml b/res/xml/security_settings_pin.xml
index 0c8ff97..4562a9a 100644
--- a/res/xml/security_settings_pin.xml
+++ b/res/xml/security_settings_pin.xml
@@ -35,6 +35,10 @@
android:persistent="false"/>
<CheckBoxPreference
+ android:key="power_button_instantly_locks"
+ android:title="@string/lockpattern_settings_enable_power_button_instantly_locks"/>
+
+ <CheckBoxPreference
android:key="unlock_tactile_feedback"
android:title="@string/lockpattern_settings_enable_tactile_feedback_title"/>
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java
index 7ca5815..adf8c37 100644
--- a/src/com/android/settings/SecuritySettings.java
+++ b/src/com/android/settings/SecuritySettings.java
@@ -66,6 +66,7 @@ public class SecuritySettings extends SettingsPreferenceFragment
private static final String KEY_SHOW_PASSWORD = "show_password";
private static final String KEY_RESET_CREDENTIALS = "reset_credentials";
private static final String KEY_TOGGLE_INSTALL_APPLICATIONS = "toggle_install_applications";
+ private static final String KEY_POWER_INSTANTLY_LOCKS = "power_button_instantly_locks";
DevicePolicyManager mDPM;
@@ -82,6 +83,7 @@ public class SecuritySettings extends SettingsPreferenceFragment
private CheckBoxPreference mToggleAppInstallation;
private DialogInterface mWarnInstallApps;
+ private CheckBoxPreference mPowerButtonInstantlyLocks;
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -156,6 +158,10 @@ public class SecuritySettings extends SettingsPreferenceFragment
// visible pattern
mVisiblePattern = (CheckBoxPreference) root.findPreference(KEY_VISIBLE_PATTERN);
+ // lock instantly on power key press
+ mPowerButtonInstantlyLocks = (CheckBoxPreference) root.findPreference(
+ KEY_POWER_INSTANTLY_LOCKS);
+
// don't display visible pattern if biometric and backup is not pattern
if (resid == R.xml.security_settings_biometric_weak &&
mLockPatternUtils.getKeyguardStoredPasswordQuality() !=
@@ -322,6 +328,9 @@ public class SecuritySettings extends SettingsPreferenceFragment
if (mTactileFeedback != null) {
mTactileFeedback.setChecked(lockPatternUtils.isTactileFeedbackEnabled());
}
+ if (mPowerButtonInstantlyLocks != null) {
+ mPowerButtonInstantlyLocks.setChecked(lockPatternUtils.getPowerButtonInstantlyLocks());
+ }
mShowPassword.setChecked(Settings.System.getInt(getContentResolver(),
Settings.System.TEXT_SHOW_PASSWORD, 1) != 0);
@@ -351,6 +360,8 @@ public class SecuritySettings extends SettingsPreferenceFragment
lockPatternUtils.setVisiblePatternEnabled(isToggled(preference));
} else if (KEY_TACTILE_FEEDBACK_ENABLED.equals(key)) {
lockPatternUtils.setTactileFeedbackEnabled(isToggled(preference));
+ } else if (KEY_POWER_INSTANTLY_LOCKS.equals(key)) {
+ lockPatternUtils.setPowerButtonInstantlyLocks(isToggled(preference));
} else if (preference == mShowPassword) {
Settings.System.putInt(getContentResolver(), Settings.System.TEXT_SHOW_PASSWORD,
mShowPassword.isChecked() ? 1 : 0);