From 529c5325f0e5cd3cf97fd7431d8dc9e79d7a627f Mon Sep 17 00:00:00 2001 From: Selim Cinek Date: Wed, 6 Apr 2016 20:03:45 -0700 Subject: [PATCH] Fixed a bug with talkback where the panel could be expanded Some callbacks were still firing even though they shouldn't have Bug: 27408677 Change-Id: Id70ac43ecd115a47f28bfdfd0aafaa7ded4e6255 --- .../android/systemui/statusbar/phone/PanelView.java | 10 +++++++--- .../systemui/statusbar/phone/PhoneStatusBarView.java | 5 ++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java index c9bb15d893f38..c4b7932ba3106 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java @@ -845,15 +845,19 @@ public abstract class PanelView extends FrameLayout { }; public void cancelPeek() { + boolean cancelled = mPeekPending; if (mPeekAnimator != null) { + cancelled = true; mPeekAnimator.cancel(); } removeCallbacks(mPeekRunnable); mPeekPending = false; - // When peeking, we already tell mBar that we expanded ourselves. Make sure that we also - // notify mBar that we might have closed ourselves. - notifyBarPanelExpansionChanged(); + if (cancelled) { + // When peeking, we already tell mBar that we expanded ourselves. Make sure that we also + // notify mBar that we might have closed ourselves. + notifyBarPanelExpansionChanged(); + } } public void expand(final boolean animate) { 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 902fd3d64962b..cc3b4bddb7879 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java @@ -41,7 +41,9 @@ public class PhoneStatusBarView extends PanelBar { private Runnable mHideExpandedRunnable = new Runnable() { @Override public void run() { - mBar.makeExpandedInvisible(); + if (mPanelFraction == 0.0f) { + mBar.makeExpandedInvisible(); + } } }; @@ -135,6 +137,7 @@ public class PhoneStatusBarView extends PanelBar { super.onTrackingStarted(); mBar.onTrackingStarted(); mScrimController.onTrackingStarted(); + removePendingHideExpandedRunnables(); } @Override