diff options
| author | Philip P. Moltmann <moltmann@google.com> | 2019-01-08 14:01:36 -0800 |
|---|---|---|
| committer | android-build-merger <android-build-merger@google.com> | 2019-01-08 14:01:36 -0800 |
| commit | 754c430d70728edc7f11dc13de011a334d2bde59 (patch) | |
| tree | 7f6528d5cceb42f98f4dfd31078dc63149c97c35 | |
| parent | 8d0d90df53451887f20013c7d85f650789297a0c (diff) | |
| parent | 7afcf0330829d4a446eee720a5fb96cda06bf966 (diff) | |
| download | platform_packages_apps_PackageInstaller-pie-b4s4-dev.tar.gz platform_packages_apps_PackageInstaller-pie-b4s4-dev.tar.bz2 platform_packages_apps_PackageInstaller-pie-b4s4-dev.zip | |
Ask for PIN when granting permissions in front of lock screen am: b5302e6789 am: 55c96e9be4pie-b4s4-dev
am: 7afcf03308
Change-Id: I13b21e5ce919c482e616cb40b7d65dc42a540d07
| -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 215035736..e182655a1 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) { |
