Do not send AccessibilityEvent if notification is for different user.
Bug: 237540408 Test: BuzzBeepBlinkTest#testA11yCrossUserEventNotSent Change-Id: I62a875e26e214847ec72ce3c41b4f2fa8e597e07 Merged-In: I62a875e26e214847ec72ce3c41b4f2fa8e597e07
This commit is contained in:
@@ -5922,7 +5922,8 @@ public class NotificationManagerService extends SystemService {
|
|||||||
boolean sentAccessibilityEvent = false;
|
boolean sentAccessibilityEvent = false;
|
||||||
// If the notification will appear in the status bar, it should send an accessibility
|
// If the notification will appear in the status bar, it should send an accessibility
|
||||||
// event
|
// event
|
||||||
if (!record.isUpdate && record.getImportance() > IMPORTANCE_MIN) {
|
if (!record.isUpdate && record.getImportance() > IMPORTANCE_MIN
|
||||||
|
&& isNotificationForCurrentUser(record)) {
|
||||||
sendAccessibilityEvent(record);
|
sendAccessibilityEvent(record);
|
||||||
sentAccessibilityEvent = true;
|
sentAccessibilityEvent = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1220,6 +1220,21 @@ public class BuzzBeepBlinkTest extends UiServiceTestCase {
|
|||||||
verify(mAccessibilityService, times(1)).sendAccessibilityEvent(any(), anyInt());
|
verify(mAccessibilityService, times(1)).sendAccessibilityEvent(any(), anyInt());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@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
|
@Test
|
||||||
public void testLightsScreenOn() {
|
public void testLightsScreenOn() {
|
||||||
mService.mScreenOn = true;
|
mService.mScreenOn = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user