summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2019-01-16 18:57:54 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2019-01-16 18:57:54 +0000
commit2d763bd5d06c08402d32a18260e56fee79c763df (patch)
tree0a83fcc370553bad6370c50c4990c8f91117900b
parentded9a473ea2f7691b7e65296ec7d19c06d6dee99 (diff)
parent6c613fd7499363b6b1d47cd8135b431c05ea67ba (diff)
downloadandroid_packages_apps_PackageInstaller-2d763bd5d06c08402d32a18260e56fee79c763df.tar.gz
android_packages_apps_PackageInstaller-2d763bd5d06c08402d32a18260e56fee79c763df.tar.bz2
android_packages_apps_PackageInstaller-2d763bd5d06c08402d32a18260e56fee79c763df.zip
Merge cherrypicks of [6072697, 6072075, 6072758, 6072124, 6072885, 6072886, 6072887, 6072580, 6072581, 6072582, 6072583, 6072584, 6072132, 6072195, 6072133, 6072077, 6072134, 6072078, 6072211, 6072762, 6072763, 6072908, 6072909, 6072910, 6072911, 6072912, 6072913, 6072914, 6072930, 6072212, 6072743] into pi-qpr2-release
Change-Id: I84387b1e56f01c89624d23bfe525cb585f7444d7
-rw-r--r--src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java27
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) {