Add a backup manager constants secure settings.
This change add one secure settings which is a key value list consisting
of 7 individual settings; it also provides a class to get these settings
and use the default values specified in default.xml file when the settings
are missing.
This is the first part of a 2 part change. A subsequent change will use
these settings in backup service manger for setting up backup frequency.
Test: This change builds. Manual tests will be included in part 2 of the
change.
Bug: 63351792
Change-Id: I62baddbf3e0b96af6b7de3dfdeac3479e5b3ded8
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
index 502b254..ec6f831 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
@@ -1443,6 +1443,9 @@
dumpSetting(s, p,
Settings.Secure.NOTIFICATION_BADGING,
SecureSettingsProto.NOTIFICATION_BADGING);
+ dumpSetting(s, p,
+ Settings.Secure.BACKUP_MANAGER_CONSTANTS,
+ SecureSettingsProto.BACKUP_MANAGER_CONSTANTS);
}
private static void dumpProtoSystemSettingsLocked(
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
index 7d7f9ae7..a463db6 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
@@ -2896,7 +2896,7 @@
}
private final class UpgradeController {
- private static final int SETTINGS_VERSION = 148;
+ private static final int SETTINGS_VERSION = 149;
private final int mUserId;
@@ -3456,6 +3456,23 @@
currentVersion = 148;
}
+ if (currentVersion == 148) {
+ // Version 149: Set the default value for BACKUP_MANAGER_CONSTANTS.
+ final SettingsState systemSecureSettings = getSecureSettingsLocked(userId);
+ final String oldValue = systemSecureSettings.getSettingLocked(
+ Settings.Secure.BACKUP_MANAGER_CONSTANTS).getValue();
+ if (TextUtils.equals(null, oldValue)) {
+ final String defaultValue = getContext().getResources().getString(
+ R.string.def_backup_manager_constants);
+ if (!TextUtils.isEmpty(defaultValue)) {
+ systemSecureSettings.insertSettingLocked(
+ Settings.Secure.BACKUP_MANAGER_CONSTANTS, defaultValue, null,
+ true, SettingsState.SYSTEM_PACKAGE_NAME);
+ }
+ }
+
+ currentVersion = 149;
+ }
// vXXX: Add new settings above this point.
if (currentVersion != newVersion) {