diff options
author | Raphael Kim <raphk@google.com> | 2023-10-26 23:42:20 +0000 |
---|---|---|
committer | Raphael Kim <raphk@google.com> | 2023-11-07 23:20:48 +0000 |
commit | fd6c9ab8f4a550db90434c9d58a03e2ee85e2682 (patch) | |
tree | fa9a08b7ee14ceb45b9ccddd5258a44b2d542a80 | |
parent | a4ceb196c07a51c14c6d6336ce6bd0e8d8a3f07e (diff) | |
download | Permission-fd6c9ab8f4a550db90434c9d58a03e2ee85e2682.tar.gz |
Do not grant notification access for work apps.
Bug: 295549388
Test: Manual test on debug app
Merged-In: Ie6078a1081bf9f98466bfbf2bc0b54a7af7b4951
Change-Id: Ie6078a1081bf9f98466bfbf2bc0b54a7af7b4951
4 files changed, 44 insertions, 8 deletions
diff --git a/PermissionController/role-controller/java/com/android/role/controller/behavior/CompanionDeviceAppStreamingRoleBehavior.java b/PermissionController/role-controller/java/com/android/role/controller/behavior/CompanionDeviceAppStreamingRoleBehavior.java index 131690fd7..1c57efd01 100644 --- a/PermissionController/role-controller/java/com/android/role/controller/behavior/CompanionDeviceAppStreamingRoleBehavior.java +++ b/PermissionController/role-controller/java/com/android/role/controller/behavior/CompanionDeviceAppStreamingRoleBehavior.java @@ -17,12 +17,15 @@ package com.android.role.controller.behavior; import android.content.Context; +import android.os.Process; +import android.os.UserHandle; import androidx.annotation.NonNull; import com.android.role.controller.model.Role; import com.android.role.controller.model.RoleBehavior; import com.android.role.controller.util.NotificationUtils; +import com.android.role.controller.util.UserUtils; /** * Class for behavior of the "App Streaming" Companion device profile role. @@ -31,11 +34,17 @@ public class CompanionDeviceAppStreamingRoleBehavior implements RoleBehavior { @Override public void grant(@NonNull Role role, @NonNull String packageName, @NonNull Context context) { - NotificationUtils.grantNotificationAccessForPackage(context, packageName); + UserHandle user = Process.myUserHandle(); + if (!UserUtils.isManagedProfile(user, context)) { + NotificationUtils.grantNotificationAccessForPackage(context, packageName); + } } @Override public void revoke(@NonNull Role role, @NonNull String packageName, @NonNull Context context) { - NotificationUtils.revokeNotificationAccessForPackage(context, packageName); + UserHandle user = Process.myUserHandle(); + if (!UserUtils.isManagedProfile(user, context)) { + NotificationUtils.revokeNotificationAccessForPackage(context, packageName); + } } } diff --git a/PermissionController/role-controller/java/com/android/role/controller/behavior/CompanionDeviceComputerRoleBehavior.java b/PermissionController/role-controller/java/com/android/role/controller/behavior/CompanionDeviceComputerRoleBehavior.java index c59d5e58d..c5de0d848 100644 --- a/PermissionController/role-controller/java/com/android/role/controller/behavior/CompanionDeviceComputerRoleBehavior.java +++ b/PermissionController/role-controller/java/com/android/role/controller/behavior/CompanionDeviceComputerRoleBehavior.java @@ -17,12 +17,15 @@ package com.android.role.controller.behavior; import android.content.Context; +import android.os.Process; +import android.os.UserHandle; import androidx.annotation.NonNull; import com.android.role.controller.model.Role; import com.android.role.controller.model.RoleBehavior; import com.android.role.controller.util.NotificationUtils; +import com.android.role.controller.util.UserUtils; /** * Class for behavior of the "Computer" Companion device profile role. @@ -31,11 +34,17 @@ public class CompanionDeviceComputerRoleBehavior implements RoleBehavior { @Override public void grant(@NonNull Role role, @NonNull String packageName, @NonNull Context context) { - NotificationUtils.grantNotificationAccessForPackage(context, packageName); + UserHandle user = Process.myUserHandle(); + if (!UserUtils.isManagedProfile(user, context)) { + NotificationUtils.grantNotificationAccessForPackage(context, packageName); + } } @Override public void revoke(@NonNull Role role, @NonNull String packageName, @NonNull Context context) { - NotificationUtils.revokeNotificationAccessForPackage(context, packageName); + UserHandle user = Process.myUserHandle(); + if (!UserUtils.isManagedProfile(user, context)) { + NotificationUtils.revokeNotificationAccessForPackage(context, packageName); + } } } diff --git a/PermissionController/role-controller/java/com/android/role/controller/behavior/CompanionDeviceGlassesRoleBehavior.java b/PermissionController/role-controller/java/com/android/role/controller/behavior/CompanionDeviceGlassesRoleBehavior.java index 2e4691b9c..5988cd4b6 100644 --- a/PermissionController/role-controller/java/com/android/role/controller/behavior/CompanionDeviceGlassesRoleBehavior.java +++ b/PermissionController/role-controller/java/com/android/role/controller/behavior/CompanionDeviceGlassesRoleBehavior.java @@ -17,12 +17,15 @@ package com.android.role.controller.behavior; import android.content.Context; +import android.os.Process; +import android.os.UserHandle; import androidx.annotation.NonNull; import com.android.role.controller.model.Role; import com.android.role.controller.model.RoleBehavior; import com.android.role.controller.util.NotificationUtils; +import com.android.role.controller.util.UserUtils; /** * Class for behavior of the "glasses" Companion device profile role. @@ -31,11 +34,17 @@ public class CompanionDeviceGlassesRoleBehavior implements RoleBehavior { @Override public void grant(@NonNull Role role, @NonNull String packageName, @NonNull Context context) { - NotificationUtils.grantNotificationAccessForPackage(context, packageName); + UserHandle user = Process.myUserHandle(); + if (!UserUtils.isManagedProfile(user, context)) { + NotificationUtils.grantNotificationAccessForPackage(context, packageName); + } } @Override public void revoke(@NonNull Role role, @NonNull String packageName, @NonNull Context context) { - NotificationUtils.revokeNotificationAccessForPackage(context, packageName); + UserHandle user = Process.myUserHandle(); + if (!UserUtils.isManagedProfile(user, context)) { + NotificationUtils.revokeNotificationAccessForPackage(context, packageName); + } } } diff --git a/PermissionController/role-controller/java/com/android/role/controller/behavior/CompanionDeviceWatchRoleBehavior.java b/PermissionController/role-controller/java/com/android/role/controller/behavior/CompanionDeviceWatchRoleBehavior.java index 233c0d92e..7f5d68b14 100644 --- a/PermissionController/role-controller/java/com/android/role/controller/behavior/CompanionDeviceWatchRoleBehavior.java +++ b/PermissionController/role-controller/java/com/android/role/controller/behavior/CompanionDeviceWatchRoleBehavior.java @@ -17,12 +17,15 @@ package com.android.role.controller.behavior; import android.content.Context; +import android.os.Process; +import android.os.UserHandle; import androidx.annotation.NonNull; import com.android.role.controller.model.Role; import com.android.role.controller.model.RoleBehavior; import com.android.role.controller.util.NotificationUtils; +import com.android.role.controller.util.UserUtils; /** * Class for behavior of the "watch" Companion device profile role. @@ -31,11 +34,17 @@ public class CompanionDeviceWatchRoleBehavior implements RoleBehavior { @Override public void grant(@NonNull Role role, @NonNull String packageName, @NonNull Context context) { - NotificationUtils.grantNotificationAccessForPackage(context, packageName); + UserHandle user = Process.myUserHandle(); + if (!UserUtils.isManagedProfile(user, context)) { + NotificationUtils.grantNotificationAccessForPackage(context, packageName); + } } @Override public void revoke(@NonNull Role role, @NonNull String packageName, @NonNull Context context) { - NotificationUtils.revokeNotificationAccessForPackage(context, packageName); + UserHandle user = Process.myUserHandle(); + if (!UserUtils.isManagedProfile(user, context)) { + NotificationUtils.revokeNotificationAccessForPackage(context, packageName); + } } } |