Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 23fc3d6b authored by Caitlin Cassidy's avatar Caitlin Cassidy
Browse files

[Status Bar Refactor] Remove PanelBar#onPanelFullyOpened and instead

handle that logic in the listener callback.

Test: manual
Bug: 200063118
Change-Id: I3e327a8372d052098e732bd9d51f118028b9731a
parent 11e72d9f
Loading
Loading
Loading
Loading
+19 −3
Original line number Diff line number Diff line
@@ -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);
            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() {
+1 −6
Original line number Diff line number Diff line
@@ -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;
    }
+0 −11
Original line number Diff line number Diff line
@@ -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);