diff options
Diffstat (limited to 'PermissionController/src/com/android/permissioncontroller/role/model/CompanionDeviceWatchRoleBehavior.java')
-rw-r--r-- | PermissionController/src/com/android/permissioncontroller/role/model/CompanionDeviceWatchRoleBehavior.java | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/PermissionController/src/com/android/permissioncontroller/role/model/CompanionDeviceWatchRoleBehavior.java b/PermissionController/src/com/android/permissioncontroller/role/model/CompanionDeviceWatchRoleBehavior.java index 98d56de42..a8b24378f 100644 --- a/PermissionController/src/com/android/permissioncontroller/role/model/CompanionDeviceWatchRoleBehavior.java +++ b/PermissionController/src/com/android/permissioncontroller/role/model/CompanionDeviceWatchRoleBehavior.java @@ -23,6 +23,8 @@ import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.content.pm.ServiceInfo; +import android.os.Process; +import android.os.UserHandle; import android.service.notification.NotificationListenerService; import android.util.Log; @@ -32,6 +34,8 @@ import java.util.ArrayList; import java.util.List; import java.util.Objects; +import com.android.permissioncontroller.role.utils.UserUtils; + /** * Class for behavior of the "watch" Companion device profile role. */ @@ -41,9 +45,12 @@ public class CompanionDeviceWatchRoleBehavior implements RoleBehavior { @Override public void grant(@NonNull Role role, @NonNull String packageName, @NonNull Context context) { - List<ComponentName> notificationListenersForPackage = - getNotificationListenersForPackage(packageName, context); - setNotificationGrantState(context, notificationListenersForPackage, true); + UserHandle user = Process.myUserHandle(); + if (!UserUtils.isWorkProfile(user, context)) { + List<ComponentName> notificationListenersForPackage = + getNotificationListenersForPackage(packageName, context); + setNotificationGrantState(context, notificationListenersForPackage, true); + } } private void setNotificationGrantState(@NonNull Context context, @@ -80,10 +87,13 @@ public class CompanionDeviceWatchRoleBehavior implements RoleBehavior { @Override public void revoke(@NonNull Role role, @NonNull String packageName, @NonNull Context context) { - NotificationManager notificationManager = - context.getSystemService(NotificationManager.class); - List<ComponentName> enabledNotificationListeners = - notificationManager.getEnabledNotificationListeners(); - setNotificationGrantState(context, enabledNotificationListeners, false); + UserHandle user = Process.myUserHandle(); + if (!UserUtils.isWorkProfile(user, context)) { + NotificationManager notificationManager = + context.getSystemService(NotificationManager.class); + List<ComponentName> enabledNotificationListeners = + notificationManager.getEnabledNotificationListeners(); + setNotificationGrantState(context, enabledNotificationListeners, false); + } } } |