From 86869c922207a240884697215ba0bf5b89bd0b37 Mon Sep 17 00:00:00 2001 From: Julia Reynolds Date: Fri, 21 Jun 2019 10:45:06 -0400 Subject: Handle USER_ALL in instant apps call Test: atest Fixes: 135545393 Change-Id: I1d2d5992876a9445cf0e9fa9447977b89eb85d96 --- .../server/notification/NotificationManagerService.java | 4 ++++ .../notification/NotificationManagerServiceTest.java | 14 ++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java index 495a2edf8057..bd198dd74af7 100644 --- a/services/core/java/com/android/server/notification/NotificationManagerService.java +++ b/services/core/java/com/android/server/notification/NotificationManagerService.java @@ -7151,6 +7151,10 @@ public class NotificationManagerService extends SystemService { return false; } + if (userId == UserHandle.USER_ALL) { + userId = USER_SYSTEM; + } + try { final String[] pkgs = mPackageManager.getPackagesForUid(callingUid); if (pkgs == null) { diff --git a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java index e75a30b12f68..5ba1eb29f6b4 100644 --- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java +++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java @@ -3806,6 +3806,20 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { assertTrue(mService.isCallerInstantApp(68638450, 10)); } + @Test + public void testIsCallerInstantApp_userAllNotification() throws Exception { + ApplicationInfo info = new ApplicationInfo(); + info.privateFlags = ApplicationInfo.PRIVATE_FLAG_INSTANT; + when(mPackageManager.getApplicationInfo(anyString(), anyInt(), eq(UserHandle.USER_SYSTEM))) + .thenReturn(info); + when(mPackageManager.getPackagesForUid(anyInt())).thenReturn(new String[]{"any"}); + + assertTrue(mService.isCallerInstantApp(45770, UserHandle.USER_ALL)); + + info.privateFlags = 0; + assertFalse(mService.isCallerInstantApp(575370, UserHandle.USER_ALL )); + } + @Test public void testResolveNotificationUid_sameApp_nonSystemUser() throws Exception { ApplicationInfo info = new ApplicationInfo(); -- cgit v1.2.3-59-g8ed1b