summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2019-01-16 18:57:22 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2019-01-16 18:57:22 +0000
commit68998afc79d361293b844c04b3784c52fb9796d4 (patch)
tree7829445aacf7405a807c0fc6b76c294d77238bb5
parentee22bf70a2b689f953798c087cc5324aecadaf5a (diff)
parent65706f8db3808c24ce9c97f5a4731883a76286ee (diff)
downloadplatform_packages_apps_PackageInstaller-oreo-m8-release.tar.gz
platform_packages_apps_PackageInstaller-oreo-m8-release.tar.bz2
platform_packages_apps_PackageInstaller-oreo-m8-release.zip
Merge cherrypicks of [6072696, 6072074, 6072757, 6072120, 6072121, 6072122, 6072123, 6072575, 6072576, 6072577, 6072578, 6072579, 6072193, 6072131, 6072194, 6072076, 6072210, 6072759, 6072760, 6072698, 6072699, 6072700, 6072701, 6072702, 6072703, 6072704, 6072905, 6072906, 6072907, 6072761] into oc-m8-releaseandroid-8.1.0_r67android-8.1.0_r65android-8.1.0_r64android-8.1.0_r63android-8.1.0_r62oreo-m8-release
Change-Id: Idedbf45fbd6bd5b518c9dc98aba80fd942e5ad8d
-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 ccb6aab40..c120daee6 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) {