From 80c2abe5bb896bd31509b201428208dd4fce8c76 Mon Sep 17 00:00:00 2001 From: Selim Cinek Date: Wed, 17 Jun 2015 15:37:30 -0700 Subject: [PATCH] Fixed a potential bug where the keyguard could become empty Bug: 21124013 Change-Id: Ia955b1426e13d47a8f191817d55615253012acb1 --- .../statusbar/phone/PhoneStatusBar.java | 1 + .../statusbar/phone/PhoneStatusBarView.java | 17 +++++++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index 69198ed6d6bfc..cd90d2705acf3 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -3460,6 +3460,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, mKeyguardIndicationController.setVisible(true); mNotificationPanel.resetViews(); mKeyguardUserSwitcher.setKeyguard(true, fromShadeLocked); + mStatusBarView.removePendingHideExpandedRunnables(); } else { mKeyguardIndicationController.setVisible(false); mKeyguardUserSwitcher.setKeyguard(false, diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java index dfd280aa09b65..6a469243c5655 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java @@ -42,6 +42,12 @@ public class PhoneStatusBarView extends PanelBar { private ScrimController mScrimController; private float mMinFraction; private float mPanelFraction; + private Runnable mHideExpandedRunnable = new Runnable() { + @Override + public void run() { + mBar.makeExpandedInvisible(); + } + }; public PhoneStatusBarView(Context context, AttributeSet attrs) { super(context, attrs); @@ -118,15 +124,14 @@ public class PhoneStatusBarView extends PanelBar { + Log.getStackTraceString(new Throwable())); } // Close the status bar in the next frame so we can show the end of the animation. - postOnAnimation(new Runnable() { - @Override - public void run() { - mBar.makeExpandedInvisible(); - } - }); + postOnAnimation(mHideExpandedRunnable); mLastFullyOpenedPanel = null; } + public void removePendingHideExpandedRunnables() { + removeCallbacks(mHideExpandedRunnable); + } + @Override public void onPanelFullyOpened(PanelView openPanel) { super.onPanelFullyOpened(openPanel);