From b20012abb12c245f82a1018d94fb7091d24ec04f Mon Sep 17 00:00:00 2001 From: Nate Myren Date: Wed, 19 Jan 2022 16:10:01 -0800 Subject: [PATCH] Do not revoke POST_NOTIFICATIONS for pre-M apps This goes against behavior for pre-M apps Bug: 215302969 Test: manual Change-Id: I14c4ccb0ff700b6ccf095d410f29deb5674b35e7 --- .../pm/permission/PermissionManagerServiceImpl.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java b/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java index 7833c4341a941..4e0d14c4c616e 100644 --- a/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java +++ b/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java @@ -3181,9 +3181,13 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt ps.updatePermissionFlags(bp, PackageManager.FLAG_PERMISSION_REVIEW_REQUIRED | FLAG_PERMISSION_REVOKE_WHEN_REQUESTED, PackageManager.FLAG_PERMISSION_REVIEW_REQUIRED); - // TODO(b/205888750): remove revoke once propagated through droidfood - if (ps.isPermissionGranted(newPerm)) { + // TODO(b/205888750): remove if/else block once propagated through droidfood + if (ps.isPermissionGranted(newPerm) + && pkg.getTargetSdkVersion() >= Build.VERSION_CODES.M) { ps.revokePermission(bp); + } else if (!ps.isPermissionGranted(newPerm) + && pkg.getTargetSdkVersion() < Build.VERSION_CODES.M) { + ps.grantPermission(bp); } } }