Merge "Fix potential NPE in NotificationRecord's KeyguardManager call" into udc-qpr-dev am: 0dca838108

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23795148

Change-Id: I407cf39d516beecd2fa18d77f2cad1076eae0ccc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Treehugger Robot
2023-06-26 20:24:13 +00:00
committed by Automerger Merge Worker

View File

@@ -103,7 +103,7 @@ public final class NotificationRecord {
final int mTargetSdkVersion;
final int mOriginalFlags;
private final Context mContext;
private final KeyguardManager mKeyguardManager;
private KeyguardManager mKeyguardManager;
private final PowerManager mPowerManager;
NotificationUsageStats.SingleNotificationStats stats;
boolean isCanceled;
@@ -1625,10 +1625,21 @@ public final class NotificationRecord {
}
boolean isLocked() {
return mKeyguardManager.isKeyguardLocked()
return getKeyguardManager().isKeyguardLocked()
|| !mPowerManager.isInteractive(); // Unlocked AOD
}
/**
* For some early {@link NotificationRecord}, {@link KeyguardManager} can be {@code null} in
* the constructor. Retrieve it again if it is null.
*/
private KeyguardManager getKeyguardManager() {
if (mKeyguardManager == null) {
mKeyguardManager = mContext.getSystemService(KeyguardManager.class);
}
return mKeyguardManager;
}
@VisibleForTesting
static final class Light {
public final int color;