summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Yuhan Zhao <zhaoyuhan@google.com> 2020-03-24 19:51:12 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2020-03-24 19:51:12 +0000
commit6dc855e10b35c65c252a8e12becffff83b34d2b1 (patch)
treeb3850fc3a7e5fe6b783943fa7abb867514f0fbe8
parentef7b53424b6794d7167a151d11d0c58540b7c0e3 (diff)
parent4b767ff2ab0ff42bd2f5a2b2db6ddb3605c9b411 (diff)
Merge "Fixing the bug where secondary lockscreen intent is sent to the admin receiver but no the service." into rvc-dev
-rw-r--r--packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java25
1 files changed, 14 insertions, 11 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
index 18357a95714b..3afe19f926ec 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
@@ -966,17 +966,20 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
boolean changed = false;
if (enabled && (oldIntent == null)) {
- Intent intent = new Intent(
- DevicePolicyManager.ACTION_BIND_SECONDARY_LOCKSCREEN_SERVICE);
- ComponentName profileOwnerComponent =
- mDevicePolicyManager.getProfileOwnerAsUser(userId);
- intent.setComponent(profileOwnerComponent);
- ResolveInfo resolveInfo = mContext.getPackageManager().resolveService(intent, 0);
- if (resolveInfo != null) {
- Intent newIntent = new Intent();
- newIntent.setComponent(profileOwnerComponent);
- mSecondaryLockscreenRequirement.put(userId, newIntent);
- changed = true;
+ ComponentName poComponent = mDevicePolicyManager.getProfileOwnerAsUser(userId);
+ if (poComponent == null) {
+ Log.e(TAG, "No profile owner found for User " + userId);
+ } else {
+ Intent intent =
+ new Intent(DevicePolicyManager.ACTION_BIND_SECONDARY_LOCKSCREEN_SERVICE)
+ .setPackage(poComponent.getPackageName());
+ ResolveInfo resolveInfo = mContext.getPackageManager().resolveService(intent, 0);
+ if (resolveInfo != null && resolveInfo.serviceInfo != null) {
+ Intent launchIntent =
+ new Intent().setComponent(resolveInfo.serviceInfo.getComponentName());
+ mSecondaryLockscreenRequirement.put(userId, launchIntent);
+ changed = true;
+ }
}
} else if (!enabled && (oldIntent != null)) {
mSecondaryLockscreenRequirement.put(userId, null);