diff options
Diffstat (limited to 'PermissionController/role-controller/java/com/android/role/controller/behavior/CompanionDeviceWatchRoleBehavior.java')
-rw-r--r-- | PermissionController/role-controller/java/com/android/role/controller/behavior/CompanionDeviceWatchRoleBehavior.java | 16 |
1 files changed, 12 insertions, 4 deletions
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..0645c84d1 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,14 @@ package com.android.role.controller.behavior; import android.content.Context; +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. @@ -30,12 +32,18 @@ import com.android.role.controller.util.NotificationUtils; public class CompanionDeviceWatchRoleBehavior implements RoleBehavior { @Override - public void grant(@NonNull Role role, @NonNull String packageName, @NonNull Context context) { - NotificationUtils.grantNotificationAccessForPackage(context, packageName); + public void grantAsUser(@NonNull Role role, @NonNull String packageName, + @NonNull UserHandle user, @NonNull Context context) { + if (!UserUtils.isManagedProfile(user, context)) { + NotificationUtils.grantNotificationAccessForPackageAsUser(packageName, user, context); + } } @Override - public void revoke(@NonNull Role role, @NonNull String packageName, @NonNull Context context) { - NotificationUtils.revokeNotificationAccessForPackage(context, packageName); + public void revokeAsUser(@NonNull Role role, @NonNull String packageName, + @NonNull UserHandle user, @NonNull Context context) { + if (!UserUtils.isManagedProfile(user, context)) { + NotificationUtils.revokeNotificationAccessForPackageAsUser(packageName, user, context); + } } } |