diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2019-03-08 18:48:37 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2019-03-08 18:48:37 +0000 |
commit | bd0a23fe61b9eda7a276284d50f764cadf8cac2d (patch) | |
tree | 0a83fcc370553bad6370c50c4990c8f91117900b | |
parent | 0e9d43d3820e943ddf76ffa00dfc568e27349c88 (diff) | |
parent | 2d763bd5d06c08402d32a18260e56fee79c763df (diff) | |
download | android_packages_apps_PackageInstaller-bd0a23fe61b9eda7a276284d50f764cadf8cac2d.tar.gz android_packages_apps_PackageInstaller-bd0a23fe61b9eda7a276284d50f764cadf8cac2d.tar.bz2 android_packages_apps_PackageInstaller-bd0a23fe61b9eda7a276284d50f764cadf8cac2d.zip |
Snap for 5240760 from 2d763bd5d06c08402d32a18260e56fee79c763df to pi-platform-release
Change-Id: I8fb14c11669cf84675976d1cae704e722132ebbb
-rw-r--r-- | src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java b/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java index 21503573..e182655a 100644 --- a/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java +++ b/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java @@ -20,6 +20,7 @@ import static android.content.pm.PackageManager.PERMISSION_DENIED; import static android.content.pm.PackageManager.PERMISSION_GRANTED; import android.app.admin.DevicePolicyManager; +import android.app.KeyguardManager; import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; @@ -447,6 +448,32 @@ public class GrantPermissionsActivity extends OverlayTouchActivity @Override public void onPermissionGrantResult(String name, boolean granted, boolean doNotAskAgain) { + KeyguardManager kgm = getSystemService(KeyguardManager.class); + + if (kgm.isDeviceLocked()) { + kgm.requestDismissKeyguard(this, new KeyguardManager.KeyguardDismissCallback() { + @Override + public void onDismissError() { + Log.e(LOG_TAG, "Cannot dismiss keyguard perm=" + name + " granted=" + + granted + " doNotAskAgain=" + doNotAskAgain); + } + + @Override + public void onDismissCancelled() { + // do nothing (i.e. stay at the current permission group) + } + + @Override + public void onDismissSucceeded() { + // Now the keyguard is dismissed, hence the device is not locked + // anymore + onPermissionGrantResult(name, granted, doNotAskAgain); + } + }); + + return; + } + GroupState groupState = mRequestGrantPermissionGroups.get(name); if (groupState != null && groupState.mGroup != null) { if (granted) { |