diff options
author | Svetoslav <svetoslavganov@google.com> | 2015-06-30 14:28:26 -0700 |
---|---|---|
committer | Svetoslav <svetoslavganov@google.com> | 2015-06-30 14:32:20 -0700 |
commit | ac65014749a771543f78147ef63fdbfc06e69da7 (patch) | |
tree | 6740d5c677c0ce2b075be6d925613b5afa2f0e8c /src | |
parent | 6b9b05aedc983db8f657860de693ac94689c9b96 (diff) | |
download | android_packages_apps_PackageInstaller-ac65014749a771543f78147ef63fdbfc06e69da7.tar.gz android_packages_apps_PackageInstaller-ac65014749a771543f78147ef63fdbfc06e69da7.tar.bz2 android_packages_apps_PackageInstaller-ac65014749a771543f78147ef63fdbfc06e69da7.zip |
:Fix should show permission API back button behavior.
Pressing the back button in the request permission dialog
should be treated as a denial of the currently displayed
permission.
bug:22041240
Change-Id: I853d9ff5d3d10a29b2a5b1815de7de8b1c28cc6b
Diffstat (limited to 'src')
4 files changed, 26 insertions, 2 deletions
diff --git a/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java b/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java index aa91b488..db5e530b 100644 --- a/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java +++ b/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java @@ -178,8 +178,7 @@ public class GrantPermissionsActivity extends Activity for (int i = 0; i < groupCount; i++) { GroupState groupState = mRequestGrantPermissionGroups.valueAt(i); - if (/*!groupState.mGroup.areRuntimePermissionsGranted() - && */groupState.mState == GroupState.STATE_UNKNOWN) { + if (groupState.mState == GroupState.STATE_UNKNOWN) { CharSequence appLabel = mAppPermissions.getAppLabel(); SpannableString message = new SpannableString(getString( R.string.permission_warning_template, appLabel, @@ -244,6 +243,11 @@ public class GrantPermissionsActivity extends Activity } @Override + public void onBackPressed() { + mViewHandler.onBackPressed(); + } + + @Override public void finish() { setResultIfNeeded(RESULT_CANCELED); super.finish(); diff --git a/src/com/android/packageinstaller/permission/ui/GrantPermissionsDefaultViewHandler.java b/src/com/android/packageinstaller/permission/ui/GrantPermissionsDefaultViewHandler.java index bb3ee356..b9b8828b 100644 --- a/src/com/android/packageinstaller/permission/ui/GrantPermissionsDefaultViewHandler.java +++ b/src/com/android/packageinstaller/permission/ui/GrantPermissionsDefaultViewHandler.java @@ -372,6 +372,14 @@ final class GrantPermissionsDefaultViewHandler } } + @Override + public void onBackPressed() { + if (mResultListener != null) { + final boolean doNotAskAgain = mDoNotAskCheckbox.isChecked(); + mResultListener.onPermissionGrantResult(mGroupName, false, doNotAskAgain); + } + } + /** * Manually controls the height of a view through getBottom/setTop. Also listens * for layout changes and sets the height again to be sure it doesn't change. diff --git a/src/com/android/packageinstaller/permission/ui/GrantPermissionsTvViewHandler.java b/src/com/android/packageinstaller/permission/ui/GrantPermissionsTvViewHandler.java index 244c282f..0e979ab6 100644 --- a/src/com/android/packageinstaller/permission/ui/GrantPermissionsTvViewHandler.java +++ b/src/com/android/packageinstaller/permission/ui/GrantPermissionsTvViewHandler.java @@ -120,4 +120,11 @@ final class GrantPermissionsTvViewHandler implements GrantPermissionsViewHandler mResultListener.onPermissionGrantResult(mGroupName, granted, doNotAskAgain); } } + + @Override + public void onBackPressed() { + if (mResultListener != null) { + mResultListener.onPermissionGrantResult(mGroupName, false, false); + } + } } diff --git a/src/com/android/packageinstaller/permission/ui/GrantPermissionsViewHandler.java b/src/com/android/packageinstaller/permission/ui/GrantPermissionsViewHandler.java index 118a6773..4032abb2 100644 --- a/src/com/android/packageinstaller/permission/ui/GrantPermissionsViewHandler.java +++ b/src/com/android/packageinstaller/permission/ui/GrantPermissionsViewHandler.java @@ -81,4 +81,9 @@ interface GrantPermissionsViewHandler { * view handler from the specified bundle. */ void loadInstanceState(Bundle savedInstanceState); + + /** + * Gives a chance for handling the back key. + */ + void onBackPressed(); } |