diff options
Diffstat (limited to 'src/com/android/packageinstaller/permission/ui/television/PermissionAppsFragment.java')
-rw-r--r-- | src/com/android/packageinstaller/permission/ui/television/PermissionAppsFragment.java | 57 |
1 files changed, 26 insertions, 31 deletions
diff --git a/src/com/android/packageinstaller/permission/ui/television/PermissionAppsFragment.java b/src/com/android/packageinstaller/permission/ui/television/PermissionAppsFragment.java index 0f240bef..29839c14 100644 --- a/src/com/android/packageinstaller/permission/ui/television/PermissionAppsFragment.java +++ b/src/com/android/packageinstaller/permission/ui/television/PermissionAppsFragment.java @@ -15,6 +15,7 @@ */ package com.android.packageinstaller.permission.ui.television; +import android.annotation.Nullable; import android.app.ActionBar; import android.app.AlertDialog; import android.app.Fragment; @@ -45,7 +46,7 @@ import com.android.packageinstaller.permission.model.AppPermissionGroup; import com.android.packageinstaller.permission.model.PermissionApps; import com.android.packageinstaller.permission.model.PermissionApps.Callback; import com.android.packageinstaller.permission.model.PermissionApps.PermissionApp; -import com.android.packageinstaller.permission.ui.OverlayTouchActivity; +import com.android.packageinstaller.permission.ui.ReviewPermissionsActivity; import com.android.packageinstaller.permission.utils.LocationUtils; import com.android.packageinstaller.permission.utils.SafetyNetLogger; import com.android.packageinstaller.permission.utils.Utils; @@ -53,7 +54,7 @@ import com.android.packageinstaller.permission.utils.Utils; import java.util.ArrayList; import java.util.List; -public final class PermissionAppsFragment extends PermissionsFrameFragment implements Callback, +public final class PermissionAppsFragment extends SettingsWithHeader implements Callback, OnPreferenceChangeListener { private static final int MENU_SHOW_SYSTEM = Menu.FIRST; @@ -150,29 +151,12 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple bindUi(this, mPermissionApps); } - private static void bindUi(Fragment fragment, PermissionApps permissionApps) { + private static void bindUi(SettingsWithHeader fragment, PermissionApps permissionApps) { final Drawable icon = permissionApps.getIcon(); final CharSequence label = permissionApps.getLabel(); - final ActionBar ab = fragment.getActivity().getActionBar(); - if (ab != null) { - ab.setTitle(fragment.getString(R.string.permission_title, label)); - } - final ViewGroup rootView = (ViewGroup) fragment.getView(); - final ImageView iconView = (ImageView) rootView.findViewById(R.id.lb_icon); - if (iconView != null) { - // Set the icon as the background instead of the image because ImageView - // doesn't properly scale vector drawables beyond their intrinsic size - iconView.setBackground(icon); - } - final TextView titleView = (TextView) rootView.findViewById(R.id.lb_title); - if (titleView != null) { - titleView.setText(label); - } - final TextView breadcrumbView = (TextView) rootView.findViewById(R.id.lb_breadcrumb); - if (breadcrumbView != null) { - breadcrumbView.setText(R.string.app_permissions); - } + fragment.setHeader(null, null, null, + fragment.getString(R.string.permission_apps_decor_title, label)); } private void setOnPermissionsLoadedListener(Callback callback) { @@ -271,7 +255,8 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple @Override public boolean onPreferenceClick(Preference preference) { SystemAppsFragment frag = new SystemAppsFragment(); - setPermissionName(frag, getArguments().getString(Intent.EXTRA_PERMISSION_NAME)); + setPermissionName(frag, getArguments().getString( + Intent.EXTRA_PERMISSION_NAME)); frag.setTargetFragment(PermissionAppsFragment.this, 0); getFragmentManager().beginTransaction() .replace(android.R.id.content, frag) @@ -321,19 +306,21 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple return false; } - OverlayTouchActivity activity = (OverlayTouchActivity) getActivity(); - if (activity.isObscuredTouch()) { - activity.showOverlayDialog(); + if (LocationUtils.isLocationGroupAndProvider(mPermissionApps.getGroupName(), + app.getPackageName())) { + LocationUtils.showLocationDialog(getContext(), app.getLabel()); return false; } addToggledGroup(app.getPackageName(), app.getPermissionGroup()); - if (LocationUtils.isLocationGroupAndProvider(mPermissionApps.getGroupName(), - app.getPackageName())) { - LocationUtils.showLocationDialog(getContext(), app.getLabel()); + if (app.isReviewRequired()) { + Intent intent = new Intent(getActivity(), ReviewPermissionsActivity.class); + intent.putExtra(Intent.EXTRA_PACKAGE_NAME, app.getPackageName()); + startActivity(intent); return false; } + if (newValue == Boolean.TRUE) { app.grantRuntimePermissions(); } else { @@ -343,7 +330,7 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple .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) { @@ -394,7 +381,7 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple } } - public static class SystemAppsFragment extends PermissionsFrameFragment implements Callback { + public static class SystemAppsFragment extends SettingsWithHeader implements Callback { PermissionAppsFragment mOuterFragment; @Override @@ -421,6 +408,14 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple bindUi(this, permissionApps); } + + private static void bindUi(SettingsWithHeader fragment, PermissionApps permissionApps) { + final CharSequence label = permissionApps.getLabel(); + fragment.setHeader(null, null, null, + fragment.getString(R.string.system_apps_decor_title, label)); + } + + @Override public void onPermissionsLoaded(PermissionApps permissionApps) { setPreferenceScreen(); |