[Status Bar Refactor] Remove PanelBar#onPanelFullyOpened and instead

handle that logic in the listener callback.

Test: manual
Bug: 200063118
Change-Id: I3e327a8372d052098e732bd9d51f118028b9731a
This commit is contained in:
Caitlin Cassidy
2021-10-01 01:40:37 +00:00
parent 11e72d9f21
commit 23fc3d6b6e
3 changed files with 20 additions and 20 deletions

View File

@@ -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() {

View File

@@ -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;
}

View File

@@ -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);