diff options
author | Philip P. Moltmann <moltmann@google.com> | 2019-01-08 13:53:37 -0800 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2019-01-08 13:53:37 -0800 |
commit | 7afcf0330829d4a446eee720a5fb96cda06bf966 (patch) | |
tree | 9bb45e071b9605c2ae4f85734bb5f0f65003e290 | |
parent | 660ea57ee24f365c4d3fca64b0f7e48a0e403487 (diff) | |
parent | 55c96e9be4b82b06e8c0a0ccd3aef215446c4f95 (diff) | |
download | android_packages_apps_PackageInstaller-7afcf0330829d4a446eee720a5fb96cda06bf966.tar.gz android_packages_apps_PackageInstaller-7afcf0330829d4a446eee720a5fb96cda06bf966.tar.bz2 android_packages_apps_PackageInstaller-7afcf0330829d4a446eee720a5fb96cda06bf966.zip |
Ask for PIN when granting permissions in front of lock screen am: b5302e6789
am: 55c96e9be4
Change-Id: I790d9c25c31f8eaef6c045246eb36ec33d042f9e
-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 ccb6aab4..c120daee 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; @@ -302,6 +303,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.mGroup != null) { if (granted) { |