diff options
Diffstat (limited to 'packages/SystemUI/src/com/android/keyguard/KeyguardDisplayManager.java')
-rw-r--r-- | packages/SystemUI/src/com/android/keyguard/KeyguardDisplayManager.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardDisplayManager.java b/packages/SystemUI/src/com/android/keyguard/KeyguardDisplayManager.java index 11bf24d27170..e3d9a267a149 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardDisplayManager.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardDisplayManager.java @@ -126,12 +126,14 @@ public class KeyguardDisplayManager { final int displayId = display.getDisplayId(); Presentation presentation = mPresentations.get(displayId); if (presentation == null) { - presentation = new KeyguardPresentation(mContext, display, mInjectableInflater); - presentation.setOnDismissListener(dialog -> { - if (null != mPresentations.get(displayId)) { + final Presentation newPresentation = + new KeyguardPresentation(mContext, display, mInjectableInflater); + newPresentation.setOnDismissListener(dialog -> { + if (newPresentation.equals(mPresentations.get(displayId))) { mPresentations.remove(displayId); } }); + presentation = newPresentation; try { presentation.show(); } catch (WindowManager.InvalidDisplayException ex) { |