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

Commit b43041a8 authored by Android Build Merger (Role)'s avatar Android Build Merger (Role) Committed by Android (Google) Code Review
Browse files

Merge changes I19e53731,I12ec6445 into nyc-mr1-dev-plus-aosp

* changes:
  Merge \"QS: Cleanup detail toggle on\" into nyc-mr1-dev am: 5c6f5afd
  QS: Cleanup detail toggle on am: 35a9c14c
parents 8db381c0 8255f2c1
Loading
Loading
Loading
Loading
+11 −10
Original line number Diff line number Diff line
@@ -67,7 +67,7 @@ public class QSDetail extends LinearLayout {
    private boolean mTriggeredExpand;
    private int mOpenX;
    private int mOpenY;
    private boolean mAnimating;
    private boolean mAnimatingOpen;
    private boolean mSwitchState;

    public QSDetail(Context context, @Nullable AttributeSet attrs) {
@@ -160,7 +160,7 @@ public class QSDetail extends LinearLayout {
                mQsDetailHeader.setClickable(false);
            } else {
                mQsDetailHeaderSwitch.setVisibility(VISIBLE);
                handleToggleStateChanged(toggleState);
                handleToggleStateChanged(toggleState, adapter.getToggleEnabled());
                mQsDetailHeader.setClickable(true);
                mQsDetailHeader.setOnClickListener(new OnClickListener() {
                    @Override
@@ -230,7 +230,7 @@ public class QSDetail extends LinearLayout {
        }
        sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
        if (visibleDiff) {
            mAnimating = true;
            mAnimatingOpen = adapter != null;
            if (mFullyExpanded || mDetailAdapter != null) {
                setAlpha(1);
                mClipper.animateCircularClip(x, y, mDetailAdapter != null, listener);
@@ -243,13 +243,12 @@ public class QSDetail extends LinearLayout {
        }
    }

    private void handleToggleStateChanged(boolean state) {
    private void handleToggleStateChanged(boolean state, boolean toggleEnabled) {
        mSwitchState = state;
        if (mAnimating) {
        if (mAnimatingOpen) {
            return;
        }
        mQsDetailHeaderSwitch.setChecked(state);
        final boolean toggleEnabled = mDetailAdapter != null && mDetailAdapter.getToggleEnabled();
        mQsDetailHeader.setEnabled(toggleEnabled);
        mQsDetailHeaderSwitch.setEnabled(toggleEnabled);
    }
@@ -268,7 +267,8 @@ public class QSDetail extends LinearLayout {
    }

    private void checkPendingAnimations() {
        handleToggleStateChanged(mSwitchState);
        handleToggleStateChanged(mSwitchState,
                            mDetailAdapter != null && mDetailAdapter.getToggleEnabled());
    }

    private final QSPanel.Callback mQsPanelCallback = new QSPanel.Callback() {
@@ -277,7 +277,8 @@ public class QSDetail extends LinearLayout {
            post(new Runnable() {
                @Override
                public void run() {
                    handleToggleStateChanged(state);
                    handleToggleStateChanged(state,
                            mDetailAdapter != null && mDetailAdapter.getToggleEnabled());
                }
            });
        }
@@ -308,7 +309,7 @@ public class QSDetail extends LinearLayout {
            // If we have been cancelled, remove the listener so that onAnimationEnd doesn't get
            // called, this will avoid accidentally turning off the grid when we don't want to.
            animation.removeListener(this);
            mAnimating = false;
            mAnimatingOpen = false;
            checkPendingAnimations();
        };

@@ -319,7 +320,7 @@ public class QSDetail extends LinearLayout {
                mQsPanel.setGridContentVisibility(false);
                mHeader.setVisibility(View.INVISIBLE);
            }
            mAnimating = false;
            mAnimatingOpen = false;
            checkPendingAnimations();
        }
    };