diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java
index cee40e2991b86..0a1b16107a429 100755
--- a/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -9473,6 +9473,19 @@ public class NotificationManagerService extends SystemService {
}
}
+ @Override
+ protected void addApprovedList(String approved, int userId, boolean isPrimary,
+ String userSet) {
+ if (!TextUtils.isEmpty(approved)) {
+ String[] approvedArray = approved.split(ENABLED_SERVICES_SEPARATOR);
+ if (approvedArray.length > 1) {
+ Slog.d(TAG, "More than one approved assistants");
+ approved = approvedArray[0];
+ }
+ }
+ super.addApprovedList(approved, userId, isPrimary, userSet);
+ }
+
public NotificationAssistants(Context context, Object lock, UserProfiles up,
IPackageManager pm) {
super(context, lock, up, pm);
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/NotificationAssistantsTest.java b/services/tests/uiservicestests/src/com/android/server/notification/NotificationAssistantsTest.java
index feb924ce6cfa2..054a401d41af4 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationAssistantsTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationAssistantsTest.java
@@ -177,6 +177,25 @@ public class NotificationAssistantsTest extends UiServiceTestCase {
assertTrue(mAssistants.mIsUserChanged.get(0));
}
+ @Test
+ public void testReadXml_multiApproved() throws Exception {
+ String xml = ""
+ + ""
+ + "";
+
+ final TypedXmlPullParser parser = Xml.newFastPullParser();
+ parser.setInput(new BufferedInputStream(
+ new ByteArrayInputStream(xml.toString().getBytes())), null);
+
+ parser.nextTag();
+ mAssistants.readXml(parser, null, false, UserHandle.USER_ALL);
+
+ assertEquals(1, mAssistants.getAllowedComponents(0).size());
+ assertEquals(new ArrayList(Arrays.asList(new ComponentName("a", "a"))),
+ mAssistants.getAllowedComponents(0));
+ }
+
@Test
public void testXmlUpgradeExistingApprovedComponents() throws Exception {
String xml = ""