summaryrefslogtreecommitdiffstats
path: root/src/com/android/packageinstaller/permission/ui/wear/AppPermissionsFragmentWear.java
diff options
context:
space:
mode:
authorAnthony Hugh <ahugh@google.com>2015-09-21 15:49:08 -0700
committerAnthony Hugh <ahugh@google.com>2015-09-23 14:44:43 -0700
commit4b7427563d334dab50eb77028a78e709ea58880b (patch)
treeeb510c96a9f793c4d7429b72437e379c06c0efb8 /src/com/android/packageinstaller/permission/ui/wear/AppPermissionsFragmentWear.java
parentfb9be671c5293642b198c4ef06a94b33ff4ebc0b (diff)
downloadandroid_packages_apps_PackageInstaller-4b7427563d334dab50eb77028a78e709ea58880b.tar.gz
android_packages_apps_PackageInstaller-4b7427563d334dab50eb77028a78e709ea58880b.tar.bz2
android_packages_apps_PackageInstaller-4b7427563d334dab50eb77028a78e709ea58880b.zip
Add new dialog for warning confirmations
This change updates the Wear warning dialog for when users try to change permissions for system apps and apps that are targeting old SDKs. Because Wear does not have a common dialog yet, I needed to create a new activity to hold our confirmation view. Changes: - Update logic to show Wear confirmation screen instead of using AlertDialog - Added WarningConfirmationActivity - Change font size for confirmation dialog - Make ConfirmationViewHandler support hiding one of the 3 vertical buttons - rename grant_permissions.xml to more generic confirmation_dialog BUG: 24132857 Change-Id: Id225e663f0a2cd7b99fb177f780a6a3d0da15214
Diffstat (limited to 'src/com/android/packageinstaller/permission/ui/wear/AppPermissionsFragmentWear.java')
-rw-r--r--src/com/android/packageinstaller/permission/ui/wear/AppPermissionsFragmentWear.java49
1 files changed, 29 insertions, 20 deletions
diff --git a/src/com/android/packageinstaller/permission/ui/wear/AppPermissionsFragmentWear.java b/src/com/android/packageinstaller/permission/ui/wear/AppPermissionsFragmentWear.java
index 1969c20d..6f1273bb 100644
--- a/src/com/android/packageinstaller/permission/ui/wear/AppPermissionsFragmentWear.java
+++ b/src/com/android/packageinstaller/permission/ui/wear/AppPermissionsFragmentWear.java
@@ -18,10 +18,7 @@ package com.android.packageinstaller.permission.ui.wear;
import android.annotation.Nullable;
import android.app.Activity;
-import android.app.AlertDialog;
import android.app.Fragment;
-import android.content.DialogInterface;
-import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
@@ -51,11 +48,13 @@ public final class AppPermissionsFragmentWear extends TitledSettingsFragment {
private static final String LOG_TAG = "ManagePermsFragment";
+ private static final int WARNING_CONFIRMATION_REQUEST = 252;
private List<AppPermissionGroup> mToggledGroups;
private AppPermissions mAppPermissions;
private PermissionsSettingsAdapter mAdapter;
private boolean mHasConfirmedRevoke;
+ private int mPendingPermGroupIndex = -1;
public static AppPermissionsFragmentWear newInstance(String packageName) {
return setPackageName(new AppPermissionsFragmentWear(), packageName);
@@ -216,23 +215,12 @@ public final class AppPermissionsFragmentWear extends TitledSettingsFragment {
} else {
final boolean grantedByDefault = group.hasGrantedByDefaultPermission();
if (grantedByDefault || (!group.hasRuntimePermission() && !mHasConfirmedRevoke)) {
- new AlertDialog.Builder(getContext())
- .setMessage(grantedByDefault ? R.string.system_warning
- : R.string.old_sdk_deny_warning)
- .setNegativeButton(R.string.cancel, null)
- .setPositiveButton(R.string.grant_dialog_button_deny,
- new OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- group.revokeRuntimePermissions(false);
- if (!grantedByDefault) {
- mHasConfirmedRevoke = true;
- }
-
- updatePermissionGroupSetting(index);
- }
- })
- .show();
+ mPendingPermGroupIndex = index;
+ Intent intent = new Intent(getActivity(), WarningConfirmationActivity.class);
+ intent.putExtra(WarningConfirmationActivity.EXTRA_WARNING_MESSAGE,
+ getString(grantedByDefault ?
+ R.string.system_warning : R.string.old_sdk_deny_warning));
+ startActivityForResult(intent, WARNING_CONFIRMATION_REQUEST);
} else {
group.revokeRuntimePermissions(false);
}
@@ -241,6 +229,27 @@ public final class AppPermissionsFragmentWear extends TitledSettingsFragment {
updatePermissionGroupSetting(index);
}
+ @Override
+ public void onActivityResult(int requestCode, int resultCode, Intent data) {
+ if (requestCode == WARNING_CONFIRMATION_REQUEST) {
+ if (resultCode == Activity.RESULT_OK) {
+ SettingsAdapter.Setting<AppPermissionGroup> setting =
+ mAdapter.get(mPendingPermGroupIndex);
+ final AppPermissionGroup group = setting.data;
+ group.revokeRuntimePermissions(false);
+ if (!group.hasGrantedByDefaultPermission()) {
+ mHasConfirmedRevoke = true;
+ }
+
+ updatePermissionGroupSetting(mPendingPermGroupIndex);
+ }
+
+ mPendingPermGroupIndex = -1;
+ } else {
+ super.onActivityResult(requestCode, resultCode, data);
+ }
+ }
+
private void updatePermissionGroupSetting(int index) {
SettingsAdapter.Setting<AppPermissionGroup> setting = mAdapter.get(index);
AppPermissionGroup group = setting.data;