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
This commit is contained in:
@@ -2226,6 +2226,8 @@
|
|||||||
<string name="lockpattern_settings_enable_visible_pattern_title">Make pattern visible</string>
|
<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.-->
|
<!-- 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>
|
<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 -->
|
<!-- 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>
|
<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 -->
|
<!-- Security & location settings screen, setting option name when user has previously set an unlock pattern and wants to change to a new pattern -->
|
||||||
|
@@ -42,6 +42,10 @@
|
|||||||
android:entryValues="@array/lock_after_timeout_values"
|
android:entryValues="@array/lock_after_timeout_values"
|
||||||
android:persistent="false"/>
|
android:persistent="false"/>
|
||||||
|
|
||||||
|
<CheckBoxPreference
|
||||||
|
android:key="power_button_instantly_locks"
|
||||||
|
android:title="@string/lockpattern_settings_enable_power_button_instantly_locks"/>
|
||||||
|
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
android:key="unlock_tactile_feedback"
|
android:key="unlock_tactile_feedback"
|
||||||
android:title="@string/lockpattern_settings_enable_tactile_feedback_title"/>
|
android:title="@string/lockpattern_settings_enable_tactile_feedback_title"/>
|
||||||
|
@@ -34,6 +34,10 @@
|
|||||||
android:entryValues="@array/lock_after_timeout_values"
|
android:entryValues="@array/lock_after_timeout_values"
|
||||||
android:persistent="false"/>
|
android:persistent="false"/>
|
||||||
|
|
||||||
|
<CheckBoxPreference
|
||||||
|
android:key="power_button_instantly_locks"
|
||||||
|
android:title="@string/lockpattern_settings_enable_power_button_instantly_locks"/>
|
||||||
|
|
||||||
<PreferenceScreen
|
<PreferenceScreen
|
||||||
android:fragment="com.android.settings.OwnerInfoSettings"
|
android:fragment="com.android.settings.OwnerInfoSettings"
|
||||||
android:key="owner_info_settings"
|
android:key="owner_info_settings"
|
||||||
|
@@ -38,6 +38,10 @@
|
|||||||
android:entryValues="@array/lock_after_timeout_values"
|
android:entryValues="@array/lock_after_timeout_values"
|
||||||
android:persistent="false"/>
|
android:persistent="false"/>
|
||||||
|
|
||||||
|
<CheckBoxPreference
|
||||||
|
android:key="power_button_instantly_locks"
|
||||||
|
android:title="@string/lockpattern_settings_enable_power_button_instantly_locks"/>
|
||||||
|
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
android:key="unlock_tactile_feedback"
|
android:key="unlock_tactile_feedback"
|
||||||
android:title="@string/lockpattern_settings_enable_tactile_feedback_title"/>
|
android:title="@string/lockpattern_settings_enable_tactile_feedback_title"/>
|
||||||
|
@@ -34,6 +34,10 @@
|
|||||||
android:entryValues="@array/lock_after_timeout_values"
|
android:entryValues="@array/lock_after_timeout_values"
|
||||||
android:persistent="false"/>
|
android:persistent="false"/>
|
||||||
|
|
||||||
|
<CheckBoxPreference
|
||||||
|
android:key="power_button_instantly_locks"
|
||||||
|
android:title="@string/lockpattern_settings_enable_power_button_instantly_locks"/>
|
||||||
|
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
android:key="unlock_tactile_feedback"
|
android:key="unlock_tactile_feedback"
|
||||||
android:title="@string/lockpattern_settings_enable_tactile_feedback_title"/>
|
android:title="@string/lockpattern_settings_enable_tactile_feedback_title"/>
|
||||||
|
@@ -66,6 +66,7 @@ public class SecuritySettings extends SettingsPreferenceFragment
|
|||||||
private static final String KEY_SHOW_PASSWORD = "show_password";
|
private static final String KEY_SHOW_PASSWORD = "show_password";
|
||||||
private static final String KEY_RESET_CREDENTIALS = "reset_credentials";
|
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_TOGGLE_INSTALL_APPLICATIONS = "toggle_install_applications";
|
||||||
|
private static final String KEY_POWER_INSTANTLY_LOCKS = "power_button_instantly_locks";
|
||||||
|
|
||||||
DevicePolicyManager mDPM;
|
DevicePolicyManager mDPM;
|
||||||
|
|
||||||
@@ -82,6 +83,7 @@ public class SecuritySettings extends SettingsPreferenceFragment
|
|||||||
|
|
||||||
private CheckBoxPreference mToggleAppInstallation;
|
private CheckBoxPreference mToggleAppInstallation;
|
||||||
private DialogInterface mWarnInstallApps;
|
private DialogInterface mWarnInstallApps;
|
||||||
|
private CheckBoxPreference mPowerButtonInstantlyLocks;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
@@ -156,6 +158,10 @@ public class SecuritySettings extends SettingsPreferenceFragment
|
|||||||
// visible pattern
|
// visible pattern
|
||||||
mVisiblePattern = (CheckBoxPreference) root.findPreference(KEY_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
|
// don't display visible pattern if biometric and backup is not pattern
|
||||||
if (resid == R.xml.security_settings_biometric_weak &&
|
if (resid == R.xml.security_settings_biometric_weak &&
|
||||||
mLockPatternUtils.getKeyguardStoredPasswordQuality() !=
|
mLockPatternUtils.getKeyguardStoredPasswordQuality() !=
|
||||||
@@ -322,6 +328,9 @@ public class SecuritySettings extends SettingsPreferenceFragment
|
|||||||
if (mTactileFeedback != null) {
|
if (mTactileFeedback != null) {
|
||||||
mTactileFeedback.setChecked(lockPatternUtils.isTactileFeedbackEnabled());
|
mTactileFeedback.setChecked(lockPatternUtils.isTactileFeedbackEnabled());
|
||||||
}
|
}
|
||||||
|
if (mPowerButtonInstantlyLocks != null) {
|
||||||
|
mPowerButtonInstantlyLocks.setChecked(lockPatternUtils.getPowerButtonInstantlyLocks());
|
||||||
|
}
|
||||||
|
|
||||||
mShowPassword.setChecked(Settings.System.getInt(getContentResolver(),
|
mShowPassword.setChecked(Settings.System.getInt(getContentResolver(),
|
||||||
Settings.System.TEXT_SHOW_PASSWORD, 1) != 0);
|
Settings.System.TEXT_SHOW_PASSWORD, 1) != 0);
|
||||||
@@ -351,6 +360,8 @@ public class SecuritySettings extends SettingsPreferenceFragment
|
|||||||
lockPatternUtils.setVisiblePatternEnabled(isToggled(preference));
|
lockPatternUtils.setVisiblePatternEnabled(isToggled(preference));
|
||||||
} else if (KEY_TACTILE_FEEDBACK_ENABLED.equals(key)) {
|
} else if (KEY_TACTILE_FEEDBACK_ENABLED.equals(key)) {
|
||||||
lockPatternUtils.setTactileFeedbackEnabled(isToggled(preference));
|
lockPatternUtils.setTactileFeedbackEnabled(isToggled(preference));
|
||||||
|
} else if (KEY_POWER_INSTANTLY_LOCKS.equals(key)) {
|
||||||
|
lockPatternUtils.setPowerButtonInstantlyLocks(isToggled(preference));
|
||||||
} else if (preference == mShowPassword) {
|
} else if (preference == mShowPassword) {
|
||||||
Settings.System.putInt(getContentResolver(), Settings.System.TEXT_SHOW_PASSWORD,
|
Settings.System.putInt(getContentResolver(), Settings.System.TEXT_SHOW_PASSWORD,
|
||||||
mShowPassword.isChecked() ? 1 : 0);
|
mShowPassword.isChecked() ? 1 : 0);
|
||||||
|
Reference in New Issue
Block a user