Loading services/core/java/com/android/server/notification/ManagedServices.java +8 −5 Original line number Diff line number Diff line Loading @@ -98,6 +98,7 @@ abstract public class ManagedServices { private static final int ON_BINDING_DIED_REBIND_DELAY_MS = 10000; protected static final String ENABLED_SERVICES_SEPARATOR = ":"; private static final String DB_VERSION_1 = "1"; private static final String DB_VERSION_2 = "2"; /** Loading @@ -110,7 +111,7 @@ abstract public class ManagedServices { static final String ATT_VERSION = "version"; static final String ATT_DEFAULTS = "defaults"; static final int DB_VERSION = 2; static final int DB_VERSION = 3; static final int APPROVAL_BY_PACKAGE = 0; static final int APPROVAL_BY_COMPONENT = 1; Loading Loading @@ -571,14 +572,16 @@ abstract public class ManagedServices { } } } boolean isVersionOne = TextUtils.isEmpty(version) || DB_VERSION_1.equals(version); if (isVersionOne) { upgradeToVersionTwo(); boolean isOldVersion = TextUtils.isEmpty(version) || DB_VERSION_1.equals(version) || DB_VERSION_2.equals(version); if (isOldVersion) { upgradeDefaultsXmlVersion(); } rebindServices(false, USER_ALL); } private void upgradeToVersionTwo() { private void upgradeDefaultsXmlVersion() { // check if any defaults are loaded int defaultsSize = mDefaultComponents.size() + mDefaultPackages.size(); if (defaultsSize == 0) { Loading services/core/java/com/android/server/notification/NotificationManagerService.java +10 −6 Original line number Diff line number Diff line Loading @@ -8611,15 +8611,19 @@ public class NotificationManagerService extends SystemService { com.android.internal.R.string.config_defaultAssistantAccessComponent) .split(ManagedServices.ENABLED_SERVICES_SEPARATOR))); for (int i = 0; i < assistants.size(); i++) { String cnString = assistants.valueAt(i); if (TextUtils.isEmpty(cnString)) { ComponentName assistantCn = ComponentName .unflattenFromString(assistants.valueAt(i)); String packageName = assistants.valueAt(i); if (assistantCn != null) { packageName = assistantCn.getPackageName(); } if (TextUtils.isEmpty(packageName)) { continue; } ArraySet<ComponentName> approved = queryPackageForServices(cnString, ArraySet<ComponentName> approved = queryPackageForServices(packageName, MATCH_DIRECT_BOOT_AWARE | MATCH_DIRECT_BOOT_UNAWARE, USER_SYSTEM); for (int k = 0; k < approved.size(); k++) { ComponentName cn = approved.valueAt(k); addDefaultComponentOrPackage(cn.flattenToString()); if (approved.contains(assistantCn)) { addDefaultComponentOrPackage(assistantCn.flattenToString()); } } } Loading Loading
services/core/java/com/android/server/notification/ManagedServices.java +8 −5 Original line number Diff line number Diff line Loading @@ -98,6 +98,7 @@ abstract public class ManagedServices { private static final int ON_BINDING_DIED_REBIND_DELAY_MS = 10000; protected static final String ENABLED_SERVICES_SEPARATOR = ":"; private static final String DB_VERSION_1 = "1"; private static final String DB_VERSION_2 = "2"; /** Loading @@ -110,7 +111,7 @@ abstract public class ManagedServices { static final String ATT_VERSION = "version"; static final String ATT_DEFAULTS = "defaults"; static final int DB_VERSION = 2; static final int DB_VERSION = 3; static final int APPROVAL_BY_PACKAGE = 0; static final int APPROVAL_BY_COMPONENT = 1; Loading Loading @@ -571,14 +572,16 @@ abstract public class ManagedServices { } } } boolean isVersionOne = TextUtils.isEmpty(version) || DB_VERSION_1.equals(version); if (isVersionOne) { upgradeToVersionTwo(); boolean isOldVersion = TextUtils.isEmpty(version) || DB_VERSION_1.equals(version) || DB_VERSION_2.equals(version); if (isOldVersion) { upgradeDefaultsXmlVersion(); } rebindServices(false, USER_ALL); } private void upgradeToVersionTwo() { private void upgradeDefaultsXmlVersion() { // check if any defaults are loaded int defaultsSize = mDefaultComponents.size() + mDefaultPackages.size(); if (defaultsSize == 0) { Loading
services/core/java/com/android/server/notification/NotificationManagerService.java +10 −6 Original line number Diff line number Diff line Loading @@ -8611,15 +8611,19 @@ public class NotificationManagerService extends SystemService { com.android.internal.R.string.config_defaultAssistantAccessComponent) .split(ManagedServices.ENABLED_SERVICES_SEPARATOR))); for (int i = 0; i < assistants.size(); i++) { String cnString = assistants.valueAt(i); if (TextUtils.isEmpty(cnString)) { ComponentName assistantCn = ComponentName .unflattenFromString(assistants.valueAt(i)); String packageName = assistants.valueAt(i); if (assistantCn != null) { packageName = assistantCn.getPackageName(); } if (TextUtils.isEmpty(packageName)) { continue; } ArraySet<ComponentName> approved = queryPackageForServices(cnString, ArraySet<ComponentName> approved = queryPackageForServices(packageName, MATCH_DIRECT_BOOT_AWARE | MATCH_DIRECT_BOOT_UNAWARE, USER_SYSTEM); for (int k = 0; k < approved.size(); k++) { ComponentName cn = approved.valueAt(k); addDefaultComponentOrPackage(cn.flattenToString()); if (approved.contains(assistantCn)) { addDefaultComponentOrPackage(assistantCn.flattenToString()); } } } Loading