summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Presubmit Automerger Backend <android-build-presubmit-automerger-backend@system.gserviceaccount.com> 2022-03-24 18:57:39 +0000
committer Presubmit Automerger Backend <android-build-presubmit-automerger-backend@system.gserviceaccount.com> 2022-03-24 18:57:39 +0000
commit304fd428985b3373469f0a7dc45f248c0ceed277 (patch)
tree1e6386a99f0bbdda14f2ab5cc27c90942e0322e9
parent369fedb4ddfd96f553b6ee7baf75a150874eeb5b (diff)
parent89f6161d7a9fc8860b1363f16fb33f924e3cf760 (diff)
[automerge] Limit broadcast by user 2p: 89f6161d7a
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17378289 Bug: 220737634 Change-Id: Iab4343052626f34371de8f7317d6427000160bac Merged-In: Ie8d5d008141e69febe5216f49b127222d2bcb8cc
-rwxr-xr-xservices/core/java/com/android/server/notification/NotificationManagerService.java4
-rw-r--r--services/tests/uiservicestests/src/com/android/server/notification/NotificationListenersTest.java19
2 files changed, 21 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java
index f3562d6cd87d..0fda3a36b8e9 100755
--- a/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -10075,10 +10075,10 @@ public class NotificationManagerService extends SystemService {
boolean isPrimary, boolean enabled, boolean userSet) {
super.setPackageOrComponentEnabled(pkgOrComponent, userId, isPrimary, enabled, userSet);
- getContext().sendBroadcastAsUser(
+ mContext.sendBroadcastAsUser(
new Intent(ACTION_NOTIFICATION_LISTENER_ENABLED_CHANGED)
.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY),
- UserHandle.ALL, null);
+ UserHandle.of(userId), null);
}
@Override
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/NotificationListenersTest.java b/services/tests/uiservicestests/src/com/android/server/notification/NotificationListenersTest.java
index 50ebffc31035..7c0f29dce1ab 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationListenersTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationListenersTest.java
@@ -24,10 +24,17 @@ import static com.android.server.notification.NotificationManagerService.Notific
import static com.google.common.truth.Truth.assertThat;
+import static junit.framework.Assert.assertFalse;
+import static junit.framework.Assert.assertTrue;
+
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.nullable;
+import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.app.INotificationManager;
@@ -37,8 +44,10 @@ import android.content.pm.PackageManager;
import android.content.pm.ServiceInfo;
import android.content.pm.VersionedPackage;
import android.os.Bundle;
+import android.os.UserHandle;
import android.service.notification.NotificationListenerFilter;
import android.service.notification.NotificationListenerService;
+import android.testing.TestableContext;
import android.util.ArraySet;
import android.util.Pair;
import android.util.Slog;
@@ -69,6 +78,7 @@ public class NotificationListenersTest extends UiServiceTestCase {
NotificationManagerService mNm;
@Mock
private INotificationManager mINm;
+ private TestableContext mContext = spy(getContext());
NotificationManagerService.NotificationListeners mListeners;
@@ -80,6 +90,7 @@ public class NotificationListenersTest extends UiServiceTestCase {
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
getContext().setMockPackageManager(mPm);
+ doNothing().when(mContext).sendBroadcastAsUser(any(), any(), any());
mListeners = spy(mNm.new NotificationListeners(
mContext, new Object(), mock(ManagedServices.UserProfiles.class), miPm));
@@ -355,4 +366,12 @@ public class NotificationListenersTest extends UiServiceTestCase {
.getDisallowedPackages()).isEmpty();
}
+ @Test
+ public void testBroadcastUsers() {
+ int userId = 0;
+ mListeners.setPackageOrComponentEnabled(mCn1.flattenToString(), userId, true, false, true);
+
+ verify(mContext).sendBroadcastAsUser(
+ any(), eq(UserHandle.of(userId)), nullable(String.class));
+ }
}