summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-12-12 21:50:49 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-12-12 21:50:49 +0000
commitab71db088e8c93c583ff210b566b89e79c9f828c (patch)
tree295d04584964b64cd6f9910d5ce97ca147803209
parent3db161020af6a29e497c9e6ead2ab9f4ed2b9d0e (diff)
parentbfc2ba365c5796f913fa15d47c69b2a6f64439ac (diff)
downloadPermission-ab71db088e8c93c583ff210b566b89e79c9f828c.tar.gz
Merge cherrypicks of ['googleplex-android-review.googlesource.com/25238864'] into sc-platform-release.android-platform-12.0.0_r31android-platform-12.0.0_r30android-platform-12.0.0_r29android-platform-12.0.0_r28android12-platform-release
Change-Id: Ie920e6d56a7022517f7e718279444c8a7454201d
-rw-r--r--PermissionController/src/com/android/permissioncontroller/role/model/CompanionDeviceWatchRoleBehavior.java26
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);
+ }
}
}