Don't show permission page in profiles
Unless the permission is already granted
Test: manual, launch com.android.settings.Settings$ZenAccessDetailSettingsActivity from primary and profile
Flag: EXEMPT bugfix
Bug: 326572419
Change-Id: I6fd22dcdd1cfe336155a1b74df3dbca65e60b6a4
diff --git a/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessDetails.java b/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessDetails.java
index ffe13e6..20367c3 100644
--- a/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessDetails.java
+++ b/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessDetails.java
@@ -19,6 +19,7 @@
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.os.Bundle;
+import android.os.UserManager;
import androidx.appcompat.app.AlertDialog;
import androidx.preference.TwoStatePreference;
@@ -49,6 +50,11 @@
@Override
protected boolean refreshUi() {
final Context context = getContext();
+ // don't show for managed profiles
+ if (UserManager.get(context).isManagedProfile(context.getUserId())
+ && !ZenAccessController.hasAccess(context, mPackageName)) {
+ finish();
+ }
// If this app didn't declare this permission in their manifest, don't bother showing UI.
final Set<String> needAccessApps =
ZenAccessController.getPackagesRequestingNotificationPolicyAccess();