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
This commit is contained in:
Julia Reynolds
2024-08-16 14:44:26 -04:00
parent df2915bd4e
commit 2ffd79a626

View File

@@ -19,6 +19,7 @@ package com.android.settings.applications.specialaccess.zenaccess;
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 @@ public class ZenAccessDetails extends AppInfoWithHeader implements
@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();