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.java48
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));