From 94cfd9d7c42287c18bde29aa1ae34944eb448f45 Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Fri, 31 Oct 2014 13:18:21 -0400 Subject: [PATCH] Move LOCK_TO_APP_EXIT_LOCKED from System to Secure To prepare for controlling from settings. While here, add lock to app settings to backups. Bug: 16957435 Change-Id: I059140cd07a7a0d5ceb4e0bfe5e0176cb96629d3 --- core/java/android/provider/Settings.java | 13 +++++++------ .../com/android/providers/settings/DatabaseHelper.java | 16 +++++++++++++++- .../com/android/server/am/ActivityStackSupervisor.java | 4 ++-- .../com/android/server/am/LockToAppRequestDialog.java | 8 ++++---- 4 files changed, 28 insertions(+), 13 deletions(-) diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 369efac417b6..ca2c223041ef 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -2625,12 +2625,6 @@ public final class Settings { public static final String LOCK_TO_APP_ENABLED = "lock_to_app_enabled"; /** - * Whether lock-to-app will lock the keyguard when exiting. - * @hide - */ - public static final String LOCK_TO_APP_EXIT_LOCKED = "lock_to_app_exit_locked"; - - /** * I am the lolrus. *

* Nonzero values indicate that the user has a bukkit. @@ -2704,6 +2698,7 @@ public final class Settings { POINTER_SPEED, VIBRATE_WHEN_RINGING, RINGTONE, + LOCK_TO_APP_ENABLED, NOTIFICATION_SOUND }; @@ -3666,6 +3661,12 @@ public final class Settings { "lock_biometric_weak_flags"; /** + * Whether lock-to-app will lock the keyguard when exiting. + * @hide + */ + public static final String LOCK_TO_APP_EXIT_LOCKED = "lock_to_app_exit_locked"; + + /** * Whether autolock is enabled (0 = false, 1 = true) */ public static final String LOCK_PATTERN_ENABLED = "lock_pattern_autolock"; diff --git a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java index eea97eac5c2f..9bfcadb4d45d 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java @@ -71,7 +71,7 @@ public class DatabaseHelper extends SQLiteOpenHelper { // database gets upgraded properly. At a minimum, please confirm that 'upgradeVersion' // is properly propagated through your change. Not doing so will result in a loss of user // settings. - private static final int DATABASE_VERSION = 116; + private static final int DATABASE_VERSION = 117; private Context mContext; private int mUserHandle; @@ -1865,6 +1865,20 @@ public class DatabaseHelper extends SQLiteOpenHelper { upgradeVersion = 116; } + if (upgradeVersion < 117) { + db.beginTransaction(); + try { + String[] systemToSecure = { + Settings.Secure.LOCK_TO_APP_EXIT_LOCKED + }; + moveSettingsToNewTable(db, TABLE_SYSTEM, TABLE_SECURE, systemToSecure, true); + db.setTransactionSuccessful(); + } finally { + db.endTransaction(); + } + upgradeVersion = 117; + } + // *** Remember to update DATABASE_VERSION above! if (upgradeVersion != currentVersion) { diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java index c1bf9556d5f7..dfbdfcefe64f 100644 --- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java +++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java @@ -3550,9 +3550,9 @@ public final class ActivityStackSupervisor implements DisplayListener { } mLockTaskNotify.show(false); try { - boolean shouldLockKeyguard = Settings.System.getInt( + boolean shouldLockKeyguard = Settings.Secure.getInt( mService.mContext.getContentResolver(), - Settings.System.LOCK_TO_APP_EXIT_LOCKED) != 0; + Settings.Secure.LOCK_TO_APP_EXIT_LOCKED) != 0; if (!mLockTaskIsLocked && shouldLockKeyguard) { mWindowManager.lockNow(null); mWindowManager.dismissKeyguard(); diff --git a/services/core/java/com/android/server/am/LockToAppRequestDialog.java b/services/core/java/com/android/server/am/LockToAppRequestDialog.java index a1eb31ec3fa2..739fd0a52661 100644 --- a/services/core/java/com/android/server/am/LockToAppRequestDialog.java +++ b/services/core/java/com/android/server/am/LockToAppRequestDialog.java @@ -112,8 +112,8 @@ public class LockToAppRequestDialog implements OnClickListener { // Remember state. try { - boolean useLock = Settings.System.getInt(mContext.getContentResolver(), - Settings.System.LOCK_TO_APP_EXIT_LOCKED) != 0; + boolean useLock = Settings.Secure.getInt(mContext.getContentResolver(), + Settings.Secure.LOCK_TO_APP_EXIT_LOCKED) != 0; mCheckbox.setChecked(useLock); } catch (SettingNotFoundException e) { } @@ -127,8 +127,8 @@ public class LockToAppRequestDialog implements OnClickListener { if (DialogInterface.BUTTON_POSITIVE == which) { Slog.d(TAG, "accept lock-to-app request"); // Set whether to use the lock screen when exiting. - Settings.System.putInt(mContext.getContentResolver(), - Settings.System.LOCK_TO_APP_EXIT_LOCKED, + Settings.Secure.putInt(mContext.getContentResolver(), + Settings.Secure.LOCK_TO_APP_EXIT_LOCKED, mCheckbox != null && mCheckbox.isChecked() ? 1 : 0); // Start lock-to-app. -- 2.11.0