diff options
Diffstat (limited to 'src/com/android')
4 files changed, 17 insertions, 8 deletions
diff --git a/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java b/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java index 2d28987d..27cbcd64 100644 --- a/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java +++ b/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java @@ -285,6 +285,10 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup> return mDescription; } + public int getUserId() { + return mUserHandle.getIdentifier(); + } + public boolean hasPermission(String permission) { return mPermissions.get(permission) != null; } diff --git a/src/com/android/packageinstaller/permission/model/PermissionApps.java b/src/com/android/packageinstaller/permission/model/PermissionApps.java index 36b4ee8a..e9eaff5d 100644 --- a/src/com/android/packageinstaller/permission/model/PermissionApps.java +++ b/src/com/android/packageinstaller/permission/model/PermissionApps.java @@ -345,6 +345,10 @@ public class PermissionApps { return mAppPermissionGroup.hasRuntimePermission(); } + public int getUserId() { + return mAppPermissionGroup.getUserId(); + } + public String getPackageName() { return mPackageName; } diff --git a/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java index 364bcbdc..71e8d04e 100644 --- a/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java +++ b/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java @@ -228,8 +228,8 @@ public final class AppPermissionsFragment extends SettingsWithHeader android.R.attr.colorControlNormal)); preference.setTitle(group.getLabel()); if (group.isPolicyFixed()) { - EnforcedAdmin admin = - RestrictedLockUtils.getProfileOrDeviceOwnerOnCallingUser(context); + EnforcedAdmin admin = RestrictedLockUtils.getProfileOrDeviceOwner(getContext(), + group.getUserId()); if (admin != null) { preference.setDisabledByAdmin(admin); preference.setSummary(R.string.disabled_by_admin_summary_text); diff --git a/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java b/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java index 1af28d67..e1b2f5f1 100644 --- a/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java +++ b/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java @@ -86,8 +86,6 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple private Callback mOnPermissionsLoadedListener; - private EnforcedAdmin mEnforcedAdmin; - @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -102,7 +100,6 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple String groupName = getArguments().getString(Intent.EXTRA_PERMISSION_NAME); mPermissionApps = new PermissionApps(getActivity(), groupName, this); mPermissionApps.refresh(true); - mEnforcedAdmin = RestrictedLockUtils.getProfileOrDeviceOwnerOnCallingUser(getActivity()); } @Override @@ -226,9 +223,11 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple if (existingPref != null) { // If existing preference - only update its state. final boolean isPolicyFixed = app.isPolicyFixed(); + EnforcedAdmin enforcedAdmin = RestrictedLockUtils.getProfileOrDeviceOwner( + getActivity(), app.getUserId()); if (!isTelevision && (existingPref instanceof RestrictedSwitchPreference)) { ((RestrictedSwitchPreference) existingPref).setDisabledByAdmin( - isPolicyFixed ? mEnforcedAdmin : null); + isPolicyFixed ? enforcedAdmin : null); existingPref.setSummary(R.string.disabled_by_admin_summary_text); } else { existingPref.setEnabled(!isPolicyFixed); @@ -248,9 +247,11 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple pref.setKey(app.getKey()); pref.setIcon(app.getIcon()); pref.setTitle(app.getLabel()); + EnforcedAdmin enforcedAdmin = RestrictedLockUtils.getProfileOrDeviceOwner( + getActivity(), app.getUserId()); if (app.isPolicyFixed()) { - if (!isTelevision && mEnforcedAdmin != null) { - pref.setDisabledByAdmin(mEnforcedAdmin); + if (!isTelevision && enforcedAdmin != null) { + pref.setDisabledByAdmin(enforcedAdmin); pref.setSummary(R.string.disabled_by_admin_summary_text); } else { pref.setEnabled(false); |