summaryrefslogtreecommitdiffstats
path: root/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java')
-rw-r--r--src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java
index f56cba70..d4dfca1e 100644
--- a/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java
@@ -53,10 +53,13 @@ import com.android.packageinstaller.permission.ui.OverlayTouchActivity;
import com.android.packageinstaller.permission.utils.LocationUtils;
import com.android.packageinstaller.permission.utils.SafetyNetLogger;
import com.android.packageinstaller.permission.utils.Utils;
+import com.android.settingslib.RestrictedLockUtils;
import java.util.ArrayList;
import java.util.List;
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+
public final class AppPermissionsFragment extends SettingsWithHeader
implements OnPreferenceChangeListener {
@@ -216,7 +219,7 @@ public final class AppPermissionsFragment extends SettingsWithHeader
boolean isPlatform = group.getDeclaringPackage().equals(Utils.OS_PKG);
- SwitchPreference preference = new SwitchPreference(context);
+ RestrictedSwitchPreference preference = new RestrictedSwitchPreference(context);
preference.setOnPreferenceChangeListener(this);
preference.setKey(group.getName());
Drawable icon = Utils.loadDrawable(context.getPackageManager(),
@@ -226,9 +229,15 @@ public final class AppPermissionsFragment extends SettingsWithHeader
preference.setTitle(group.getLabel());
if (group.isPolicyFixed()) {
preference.setSummary(getString(R.string.permission_summary_enforced_by_policy));
+ EnforcedAdmin admin =
+ RestrictedLockUtils.getProfileOrDeviceOwnerOnCallingUser(context);
+ if (admin != null) {
+ preference.setDisabledByAdmin(admin);
+ } else {
+ preference.setEnabled(false);
+ }
}
preference.setPersistent(false);
- preference.setEnabled(!group.isPolicyFixed());
preference.setChecked(group.areRuntimePermissionsGranted());
if (isPlatform) {