From 23fc3d6b6ea755b2429557d2ee2451498df76918 Mon Sep 17 00:00:00 2001 From: Caitlin Cassidy Date: Fri, 1 Oct 2021 01:40:37 +0000 Subject: [PATCH] [Status Bar Refactor] Remove PanelBar#onPanelFullyOpened and instead handle that logic in the listener callback. Test: manual Bug: 200063118 Change-Id: I3e327a8372d052098e732bd9d51f118028b9731a --- .../NotificationPanelViewController.java | 22 ++++++++++++++++--- .../systemui/statusbar/phone/PanelBar.java | 7 +----- .../statusbar/phone/PhoneStatusBarView.java | 11 ---------- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java index 138989c04f0ee..d36fae199072f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java @@ -34,6 +34,9 @@ import static com.android.systemui.statusbar.StatusBarState.KEYGUARD; import static com.android.systemui.statusbar.StatusBarState.SHADE; import static com.android.systemui.statusbar.StatusBarState.SHADE_LOCKED; import static com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout.ROWS_ALL; +import static com.android.systemui.statusbar.phone.PanelBar.STATE_CLOSED; +import static com.android.systemui.statusbar.phone.PanelBar.STATE_OPEN; +import static com.android.systemui.statusbar.phone.PanelBar.STATE_OPENING; import static java.lang.Float.isNaN; @@ -79,6 +82,7 @@ import android.view.ViewPropertyAnimator; import android.view.ViewStub; import android.view.ViewTreeObserver; import android.view.WindowInsets; +import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityManager; import android.view.accessibility.AccessibilityNodeInfo; import android.widget.FrameLayout; @@ -4624,9 +4628,21 @@ public class NotificationPanelViewController extends PanelViewController { } private final PanelBar.PanelStateChangeListener mPanelStateChangeListener = - state -> { - mAmbientState.setIsShadeOpening(state == PanelBar.STATE_OPENING); - updateQSExpansionEnabledAmbient(); + new PanelBar.PanelStateChangeListener() { + + @PanelBar.PanelState + private int mCurrentState = STATE_CLOSED; + + @Override + public void onStateChanged(@PanelBar.PanelState int state) { + mAmbientState.setIsShadeOpening(state == STATE_OPENING); + updateQSExpansionEnabledAmbient(); + + if (state == STATE_OPEN && mCurrentState != state) { + mView.sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED); + } + mCurrentState = state; + } }; public PanelBar.PanelStateChangeListener getPanelStateChangeListener() { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelBar.java index 4b9d5ec140561..430edfdd9d19d 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelBar.java @@ -54,7 +54,7 @@ public abstract class PanelBar extends FrameLayout { public static final int STATE_OPENING = 1; public static final int STATE_OPEN = 2; - PanelViewController mPanel; + private PanelViewController mPanel; @Nullable private PanelStateChangeListener mPanelStateChangeListener; private int mState = STATE_CLOSED; private boolean mTracking; @@ -178,7 +178,6 @@ public abstract class PanelBar extends FrameLayout { } if (fullyOpened && !mTracking) { go(STATE_OPEN); - onPanelFullyOpened(); } else if (fullyClosed && !mTracking && mState != STATE_CLOSED) { go(STATE_CLOSED); onPanelCollapsed(); @@ -219,10 +218,6 @@ public abstract class PanelBar extends FrameLayout { if (DEBUG) LOG("onPanelCollapsed"); } - public void onPanelFullyOpened() { - if (DEBUG) LOG("onPanelFullyOpened"); - } - public void onTrackingStarted() { mTracking = true; } 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 9ab6cdd3053bc..815f6fe850225 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java @@ -56,7 +56,6 @@ public class PhoneStatusBarView extends PanelBar { StatusBar mBar; - boolean mIsFullyOpenedPanel = false; private ScrimController mScrimController; private float mMinFraction; private Runnable mHideExpandedRunnable = new Runnable() { @@ -216,22 +215,12 @@ public class PhoneStatusBarView extends PanelBar { super.onPanelCollapsed(); // Close the status bar in the next frame so we can show the end of the animation. post(mHideExpandedRunnable); - mIsFullyOpenedPanel = false; } public void removePendingHideExpandedRunnables() { removeCallbacks(mHideExpandedRunnable); } - @Override - public void onPanelFullyOpened() { - super.onPanelFullyOpened(); - if (!mIsFullyOpenedPanel) { - mPanel.getView().sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED); - } - mIsFullyOpenedPanel = true; - } - @Override public boolean onTouchEvent(MotionEvent event) { boolean barConsumedEvent = mBar.interceptTouchEvent(event);