diff options
Diffstat (limited to 'src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java')
-rw-r--r-- | src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java | 48 |
1 files changed, 20 insertions, 28 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..422fb124 100644 --- a/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java +++ b/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java @@ -16,7 +16,6 @@ package com.android.packageinstaller.permission.ui.handheld; -import android.annotation.Nullable; import android.app.ActionBar; import android.app.Activity; import android.app.AlertDialog; @@ -49,14 +48,17 @@ import android.widget.Toast; import com.android.packageinstaller.R; import com.android.packageinstaller.permission.model.AppPermissionGroup; import com.android.packageinstaller.permission.model.AppPermissions; -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.HelpUtils; +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 { @@ -115,6 +117,7 @@ public final class AppPermissionsFragment extends SettingsWithHeader public void onResume() { super.onResume(); mAppPermissions.refresh(); + loadPreferences(); setPreferencesCheckedState(); } @@ -140,7 +143,7 @@ public final class AppPermissionsFragment extends SettingsWithHeader } @Override - public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { + public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); if (mAppPermissions != null) { bindUi(this, mAppPermissions.getPackageInfo()); @@ -151,6 +154,8 @@ public final class AppPermissionsFragment extends SettingsWithHeader public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { super.onCreateOptionsMenu(menu, inflater); menu.add(Menu.NONE, MENU_ALL_PERMS, Menu.NONE, R.string.all_permissions); + HelpUtils.prepareHelpMenuItem(getActivity(), menu, R.string.help_app_permissions, + getClass().getName()); } private static void bindUi(SettingsWithHeader fragment, PackageInfo packageInfo) { @@ -171,20 +176,6 @@ public final class AppPermissionsFragment extends SettingsWithHeader if (ab != null) { ab.setTitle(R.string.app_permissions); } - - ViewGroup rootView = (ViewGroup) fragment.getView(); - ImageView iconView = (ImageView) rootView.findViewById(R.id.lb_icon); - if (iconView != null) { - iconView.setImageDrawable(icon); - } - TextView titleView = (TextView) rootView.findViewById(R.id.lb_title); - if (titleView != null) { - titleView.setText(R.string.app_permissions); - } - TextView breadcrumbView = (TextView) rootView.findViewById(R.id.lb_breadcrumb); - if (breadcrumbView != null) { - breadcrumbView.setText(label); - } } private void loadPreferences() { @@ -216,7 +207,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(), @@ -225,10 +216,17 @@ public final class AppPermissionsFragment extends SettingsWithHeader android.R.attr.colorControlNormal)); preference.setTitle(group.getLabel()); if (group.isPolicyFixed()) { - preference.setSummary(getString(R.string.permission_summary_enforced_by_policy)); + EnforcedAdmin admin = RestrictedLockUtils.getProfileOrDeviceOwner(getContext(), + group.getUserId()); + if (admin != null) { + preference.setDisabledByAdmin(admin); + preference.setSummary(R.string.disabled_by_admin_summary_text); + } else { + preference.setSummary(R.string.permission_summary_enforced_by_policy); + preference.setEnabled(false); + } } preference.setPersistent(false); - preference.setEnabled(!group.isPolicyFixed()); preference.setChecked(group.areRuntimePermissionsGranted()); if (isPlatform) { @@ -273,12 +271,6 @@ public final class AppPermissionsFragment extends SettingsWithHeader return false; } - OverlayTouchActivity activity = (OverlayTouchActivity) getActivity(); - if (activity.isObscuredTouch()) { - activity.showOverlayDialog(); - return false; - } - addToggledGroup(group); if (LocationUtils.isLocationGroupAndProvider(group.getName(), group.getApp().packageName)) { @@ -294,7 +286,7 @@ public final class AppPermissionsFragment extends SettingsWithHeader .setMessage(grantedByDefault ? R.string.system_warning : R.string.old_sdk_deny_warning) .setNegativeButton(R.string.cancel, null) - .setPositiveButton(R.string.grant_dialog_button_deny, + .setPositiveButton(R.string.grant_dialog_button_deny_anyway, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { @@ -385,7 +377,7 @@ public final class AppPermissionsFragment extends SettingsWithHeader } @Override - public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { + public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); String packageName = getArguments().getString(Intent.EXTRA_PACKAGE_NAME); bindUi(this, getPackageInfo(getActivity(), packageName)); |