Migrate managed services from setting to policy xml
Change-Id: Ie20f91dbdd0ba6b57b5909cbf0152a32754fe02d
Fixes: 62263757
Test: runtest systemui-notification, cts AudioManagerTest,
cts-verifier DND tests, verify bug reports after toggling
access for various types of managed services, verified
default approved services aren't renabled on boot; verified that
they are reenabled after a device reset, verified that
settings are migrated after a restore from OC backup.
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
index 1df2c80..1bd58ad 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
@@ -3166,33 +3166,7 @@
}
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, null, true,
- 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(), null, true,
- SettingsState.SYSTEM_PACKAGE_NAME);
- }
- }
-
+ // Version 128: Removed
currentVersion = 129;
}
@@ -3365,58 +3339,7 @@
}
if (currentVersion == 140) {
- // Version 141: One-time grant of notification listener privileges
- // to packages specified in overlay.
- String defaultListenerAccess = getContext().getResources().getString(
- com.android.internal.R.string.config_defaultListenerAccessPackages);
- if (defaultListenerAccess != null) {
- StringBuffer newListeners = new StringBuffer();
- for (String whitelistPkg : defaultListenerAccess.split(":")) {
- // Gather all notification listener components for candidate pkgs.
- Intent serviceIntent =
- new Intent(NotificationListenerService.SERVICE_INTERFACE)
- .setPackage(whitelistPkg);
- List<ResolveInfo> installedServices =
- getContext().getPackageManager().queryIntentServicesAsUser(
- serviceIntent,
- PackageManager.GET_SERVICES
- | PackageManager.GET_META_DATA
- | PackageManager.MATCH_DIRECT_BOOT_AWARE
- | PackageManager.MATCH_DIRECT_BOOT_UNAWARE,
- userId);
-
- for (int i = 0, count = installedServices.size(); i < count; i++) {
- ResolveInfo resolveInfo = installedServices.get(i);
- ServiceInfo info = resolveInfo.serviceInfo;
- if (!android.Manifest.permission.BIND_NOTIFICATION_LISTENER_SERVICE
- .equals(info.permission)) {
- continue;
- }
- newListeners.append(":")
- .append(info.getComponentName().flattenToString());
- }
- }
-
- if (newListeners.length() > 0) {
- final SettingsState secureSetting = getSecureSettingsLocked(userId);
- final Setting existingSetting = secureSetting.getSettingLocked(
- Settings.Secure.ENABLED_NOTIFICATION_LISTENERS);
- if (existingSetting.isNull()) {
- secureSetting.insertSettingLocked(
- Settings.Secure.ENABLED_NOTIFICATION_LISTENERS,
- newListeners.toString(), null, true,
- SettingsState.SYSTEM_PACKAGE_NAME);
- } else {
- StringBuilder currentSetting =
- new StringBuilder(existingSetting.getValue());
- currentSetting.append(newListeners.toString());
- secureSetting.updateSettingLocked(
- Settings.Secure.ENABLED_NOTIFICATION_LISTENERS,
- currentSetting.toString(), null, true,
- SettingsState.SYSTEM_PACKAGE_NAME);
- }
- }
- }
+ // Version 141: Removed
currentVersion = 141;
}