diff options
| author | 2022-08-20 02:34:14 +0000 | |
|---|---|---|
| committer | 2022-08-20 02:34:14 +0000 | |
| commit | dedf573b23e2209e16b563e9e5fa2d097401a54d (patch) | |
| tree | cf967849f2526990ffeb89e68e597371eb648a99 | |
| parent | e893eff6f2e229e71f47b74f2634b756adf6b681 (diff) | |
| parent | 18f2ec86d680bff26ce9248061878894ad16e05f (diff) | |
Merge "Do not send AccessibilityEvent if notification is for different user." into qt-dev
| -rwxr-xr-x | services/core/java/com/android/server/notification/NotificationManagerService.java | 3 | ||||
| -rw-r--r-- | services/tests/uiservicestests/src/com/android/server/notification/BuzzBeepBlinkTest.java | 15 |
2 files changed, 17 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java index c86841abe36a..5631a6813ae0 100755 --- a/services/core/java/com/android/server/notification/NotificationManagerService.java +++ b/services/core/java/com/android/server/notification/NotificationManagerService.java @@ -5922,7 +5922,8 @@ public class NotificationManagerService extends SystemService { boolean sentAccessibilityEvent = false; // If the notification will appear in the status bar, it should send an accessibility // event - if (!record.isUpdate && record.getImportance() > IMPORTANCE_MIN) { + if (!record.isUpdate && record.getImportance() > IMPORTANCE_MIN + && isNotificationForCurrentUser(record)) { sendAccessibilityEvent(record); sentAccessibilityEvent = true; } diff --git a/services/tests/uiservicestests/src/com/android/server/notification/BuzzBeepBlinkTest.java b/services/tests/uiservicestests/src/com/android/server/notification/BuzzBeepBlinkTest.java index d55d74e09ec0..d4195dbf2805 100644 --- a/services/tests/uiservicestests/src/com/android/server/notification/BuzzBeepBlinkTest.java +++ b/services/tests/uiservicestests/src/com/android/server/notification/BuzzBeepBlinkTest.java @@ -1221,6 +1221,21 @@ public class BuzzBeepBlinkTest extends UiServiceTestCase { } @Test + public void testA11yCrossUserEventNotSent() throws Exception { + final Notification n = new Builder(getContext(), "test") + .setSmallIcon(android.R.drawable.sym_def_app_icon).build(); + int userId = mUser.getIdentifier() + 1; + StatusBarNotification sbn = new StatusBarNotification(mPkg, mPkg, 0, mTag, mUid, + mPid, n, UserHandle.of(userId), null, System.currentTimeMillis()); + NotificationRecord r = new NotificationRecord(getContext(), sbn, + new NotificationChannel("test", "test", IMPORTANCE_HIGH)); + + mService.buzzBeepBlinkLocked(r); + + verify(mAccessibilityService, never()).sendAccessibilityEvent(any(), anyInt()); + } + + @Test public void testLightsScreenOn() { mService.mScreenOn = true; NotificationRecord r = getLightsNotification(); |