Merge "Correctly block system work profile notifications." into oc-mr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
0be3f49560
@@ -126,7 +126,7 @@ public class NotificationInfo extends LinearLayout implements NotificationGuts.G
|
||||
| PackageManager.MATCH_DIRECT_BOOT_UNAWARE
|
||||
| PackageManager.MATCH_DIRECT_BOOT_AWARE);
|
||||
if (info != null) {
|
||||
mAppUid = info.uid;
|
||||
mAppUid = sbn.getUid();
|
||||
mAppName = String.valueOf(pm.getApplicationLabel(info));
|
||||
pkgicon = pm.getApplicationIcon(info);
|
||||
}
|
||||
|
||||
@@ -121,7 +121,7 @@ public class NotificationInfoTest extends SysuiTestCase {
|
||||
mDefaultNotificationChannel = new NotificationChannel(
|
||||
NotificationChannel.DEFAULT_CHANNEL_ID, TEST_CHANNEL_NAME,
|
||||
NotificationManager.IMPORTANCE_LOW);
|
||||
mSbn = new StatusBarNotification(TEST_PACKAGE_NAME, TEST_PACKAGE_NAME, 0, null, 0, 0,
|
||||
mSbn = new StatusBarNotification(TEST_PACKAGE_NAME, TEST_PACKAGE_NAME, 0, null, TEST_UID, 0,
|
||||
new Notification(), UserHandle.CURRENT, null, 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -1461,8 +1461,18 @@ public class NotificationManagerService extends SystemService {
|
||||
if (channel.getImportance() == NotificationManager.IMPORTANCE_NONE) {
|
||||
// cancel
|
||||
cancelAllNotificationsInt(MY_UID, MY_PID, pkg, channel.getId(), 0, 0, true,
|
||||
UserHandle.getUserId(Binder.getCallingUid()), REASON_CHANNEL_BANNED,
|
||||
UserHandle.getUserId(uid), REASON_CHANNEL_BANNED,
|
||||
null);
|
||||
if (isUidSystemOrPhone(uid)) {
|
||||
int[] profileIds = mUserProfiles.getCurrentProfileIds();
|
||||
int N = profileIds.length;
|
||||
for (int i = 0; i < N; i++) {
|
||||
int profileId = profileIds[i];
|
||||
cancelAllNotificationsInt(MY_UID, MY_PID, pkg, channel.getId(), 0, 0, true,
|
||||
profileId, REASON_CHANNEL_BANNED,
|
||||
null);
|
||||
}
|
||||
}
|
||||
}
|
||||
mRankingHelper.updateNotificationChannel(pkg, uid, channel);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user