diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardDisplayManager.java b/packages/SystemUI/src/com/android/keyguard/KeyguardDisplayManager.java index 571c4ae0e386e..11bf24d27170b 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardDisplayManager.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardDisplayManager.java @@ -72,11 +72,12 @@ public class KeyguardDisplayManager { @Override public void onDisplayChanged(int displayId) { if (displayId == DEFAULT_DISPLAY) return; - final Display display = mDisplayService.getDisplay(displayId); - if (display != null && mShowing) { - final Presentation presentation = mPresentations.get(displayId); - if (presentation != null && !presentation.getDisplay().equals(display)) { - hidePresentation(displayId); + final Presentation presentation = mPresentations.get(displayId); + if (presentation != null && mShowing) { + hidePresentation(displayId); + // update DisplayInfo. + final Display display = mDisplayService.getDisplay(displayId); + if (display != null) { showPresentation(display); } } @@ -265,6 +266,11 @@ public class KeyguardDisplayManager { setCancelable(false); } + @Override + public void cancel() { + // Do not allow anything to cancel KeyguardPresetation except KeyguardDisplayManager. + } + @Override public void onDetachedFromWindow() { mClock.removeCallbacks(mMoveTextRunnable);