diff options
| author | 2016-07-13 18:47:12 +0000 | |
|---|---|---|
| committer | 2016-07-13 18:47:12 +0000 | |
| commit | e1f91a74753e8874eef29f6aad55eb4c54bcfd9c (patch) | |
| tree | a9fcb8a72330cad92c17205dfbb5adf30822ae1a | |
| parent | 87ec0ef5e2aae7a078c132e70f017ac01e899690 (diff) | |
| parent | 5bd9ea82d2ab79911abadc7afbdf208f79e9d160 (diff) | |
Merge \"Whitelist default apps for DND access.\" into nyc-mr1-dev
am: 5bd9ea82d2
Change-Id: I95d832e2858668cd5b0f6a7686ccda0cd420b726
| -rw-r--r-- | core/res/res/values/config.xml | 3 | ||||
| -rw-r--r-- | core/res/res/values/symbols.xml | 3 | ||||
| -rw-r--r-- | packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java | 33 |
3 files changed, 38 insertions, 1 deletions
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 938d445d90ea..0b899471a54c 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -2531,6 +2531,9 @@ <!-- Package name for the device provisioning package. --> <string name="config_deviceProvisioningPackage"></string> + <!-- Colon separated list of package names that should be granted DND access --> + <string name="config_defaultDndAccessPackages" translatable="false">com.android.camera2</string> + <!-- User restrictions set when the first user is created. Note: Also update appropriate overlay files. --> <string-array translatable="false" name="config_defaultFirstUserRestrictions"> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 6b064c10447b..91cfd91d0357 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -2639,6 +2639,9 @@ <!-- Package name for the device provisioning package --> <java-symbol type="string" name="config_deviceProvisioningPackage" /> + <!-- Colon separated list of package names that should be granted DND access --> + <java-symbol type="string" name="config_defaultDndAccessPackages" /> + <!-- Used for MimeIconUtils. --> <java-symbol type="drawable" name="ic_doc_apk" /> <java-symbol type="drawable" name="ic_doc_audio" /> diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index 345cf01f45b1..1928f92f5855 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -2085,7 +2085,7 @@ public class SettingsProvider extends ContentProvider { } private final class UpgradeController { - private static final int SETTINGS_VERSION = 128; + private static final int SETTINGS_VERSION = 129; private final int mUserId; @@ -2345,6 +2345,37 @@ public class SettingsProvider extends ContentProvider { currentVersion = 128; } + if (currentVersion == 128) { + // Version 128: Allow OEMs to grant DND access to default apps. Note that + // the new apps are appended to the list of already approved apps. + final SettingsState systemSecureSettings = + getSecureSettingsLocked(userId); + + final Setting policyAccess = systemSecureSettings.getSettingLocked( + Settings.Secure.ENABLED_NOTIFICATION_POLICY_ACCESS_PACKAGES); + String defaultPolicyAccess = getContext().getResources().getString( + com.android.internal.R.string.config_defaultDndAccessPackages); + if (!TextUtils.isEmpty(defaultPolicyAccess)) { + if (policyAccess.isNull()) { + systemSecureSettings.insertSettingLocked( + Settings.Secure.ENABLED_NOTIFICATION_POLICY_ACCESS_PACKAGES, + defaultPolicyAccess, + SettingsState.SYSTEM_PACKAGE_NAME); + } else { + StringBuilder currentSetting = + new StringBuilder(policyAccess.getValue()); + currentSetting.append(":"); + currentSetting.append(defaultPolicyAccess); + systemSecureSettings.updateSettingLocked( + Settings.Secure.ENABLED_NOTIFICATION_POLICY_ACCESS_PACKAGES, + currentSetting.toString(), + SettingsState.SYSTEM_PACKAGE_NAME); + } + } + + currentVersion = 129; + } + // vXXX: Add new settings above this point. // Return the current version. |