frameworks/base
修訂 | 530518de4f7b0e82dfb34a6ebc5979d8da0701b4 (tree) |
---|---|
時間 | 2019-04-16 04:15:59 |
作者 | Julia Reynolds <juliacr@goog...> |
Commiter | Greg Wroblewski |
[RESTRICT AUTOMERGE]: Add cross user permission check - areNotificationsEnabledForPackage
Test: atest
Fixes: 128599467
Change-Id: I13a0ca7590f8c4b44379730e0ee2088aba400c2a
(cherry picked from commit 657d164136199126ae241848887de0230699cea0)
(cherry picked from commit a2b2e377a0a63cbe9c8bfdfcab1167e55f36a59b)
@@ -1432,6 +1432,12 @@ public class NotificationManagerService extends SystemService { | ||
1432 | 1432 | @Override |
1433 | 1433 | public boolean areNotificationsEnabledForPackage(String pkg, int uid) { |
1434 | 1434 | checkCallerIsSystemOrSameApp(pkg); |
1435 | + if (UserHandle.getCallingUserId() != UserHandle.getUserId(uid)) { | |
1436 | + getContext().enforceCallingPermission( | |
1437 | + android.Manifest.permission.INTERACT_ACROSS_USERS, | |
1438 | + "canNotifyAsPackage for uid " + uid); | |
1439 | + } | |
1440 | + | |
1435 | 1441 | return (mAppOps.checkOpNoThrow(AppOpsManager.OP_POST_NOTIFICATION, uid, pkg) |
1436 | 1442 | == AppOpsManager.MODE_ALLOWED) && !isPackageSuspendedForUser(pkg, uid); |
1437 | 1443 | } |