diff options
author | Android Merger <noreply-android-build-merger@google.com> | 2019-03-08 23:37:56 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2019-03-08 23:37:56 +0000 |
commit | 43fe700ebd48e052ae4d58656a9045c8f4e373fe (patch) | |
tree | 0a83fcc370553bad6370c50c4990c8f91117900b | |
parent | 21bc16d037d47eeab942e3a10c7db1b83c70962b (diff) | |
parent | d28be3014a7064238cf568f736d7774f82229edf (diff) | |
download | android_packages_apps_PackageInstaller-43fe700ebd48e052ae4d58656a9045c8f4e373fe.tar.gz android_packages_apps_PackageInstaller-43fe700ebd48e052ae4d58656a9045c8f4e373fe.tar.bz2 android_packages_apps_PackageInstaller-43fe700ebd48e052ae4d58656a9045c8f4e373fe.zip |
Merge "Snap for 5240760 from 2d763bd5d06c08402d32a18260e56fee79c763df to pi-platform-release am: bd0a23fe61" into pie-gsi
-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) { |