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

Commit 574c951c authored by Fabián Kozynski's avatar Fabián Kozynski Committed by Fabian Kozynski
Browse files

Early expand media

This makes media expand early when going from QQS to QS. Same as the expanded that we send to QSFragmentCompose.

Test: abtd run of systemui-media-1-jank-suite
Fixes: 418068863
Flag: com.android.systemui.qs_compose_fragment_early_expansion

Change-Id: I2a403486b571b47d52f78ac397a6aa7e82c83049
parent c58f3cdc
Loading
Loading
Loading
Loading
+19 −15
Original line number Diff line number Diff line
@@ -1660,9 +1660,7 @@ public class QuickSettingsControllerImpl implements QuickSettingsController, Dum
            mInitialHeightOnTouch = mExpansionHeight;
            mInitialTouchY = event.getY();
            mInitialTouchX = event.getX();
            if (qsComposeFragmentEarlyExpansion() && mQs != null) {
                mQs.setExpanded(true);
            }
            maybeSetEarlyExpansion();
        }
        if (!isFullyCollapsed && !isShadeOrQsHeightAnimationRunning) {
            handleDown(event);
@@ -1681,9 +1679,7 @@ public class QuickSettingsControllerImpl implements QuickSettingsController, Dum
        }
        if (action == MotionEvent.ACTION_CANCEL || action == MotionEvent.ACTION_UP) {
            mConflictingExpansionGesture = false;
            if (qsComposeFragmentEarlyExpansion()) {
                updateQsState();
            }
            maybeResetEarlyExpansion();
        }
        if (action == MotionEvent.ACTION_DOWN && isFullyCollapsed && isExpansionEnabled()) {
            mTwoFingerExpandPossible = true;
@@ -1752,9 +1748,7 @@ public class QuickSettingsControllerImpl implements QuickSettingsController, Dum
                mInitialHeightOnTouch = mExpansionHeight;
                initVelocityTracker();
                trackMovement(event);
                if (qsComposeFragmentEarlyExpansion() && mQs != null) {
                    mQs.setExpanded(true);
                }
                maybeSetEarlyExpansion();
                break;

            case MotionEvent.ACTION_POINTER_UP:
@@ -1792,9 +1786,7 @@ public class QuickSettingsControllerImpl implements QuickSettingsController, Dum
                    flingQsWithCurrentVelocity(y,
                            event.getActionMasked() == MotionEvent.ACTION_CANCEL);
                } else {
                    if (qsComposeFragmentEarlyExpansion()) {
                        updateQsState();
                    }
                    maybeResetEarlyExpansion();
                    traceQsJank(false,
                            event.getActionMasked() == MotionEvent.ACTION_CANCEL);
                }
@@ -1880,9 +1872,7 @@ public class QuickSettingsControllerImpl implements QuickSettingsController, Dum
                    mInitialTouchY = y;
                    mInitialTouchX = x;
                    mNotificationStackScrollLayoutController.cancelLongPress();
                    if (qsComposeFragmentEarlyExpansion() && mQs != null) {
                        mQs.setExpanded(true);
                    }
                    maybeSetEarlyExpansion();
                    return true;
                } else {
                    mShadeLog.logQsTrackingNotStarted(mInitialTouchY, y, h, touchSlop,
@@ -2063,6 +2053,20 @@ public class QuickSettingsControllerImpl implements QuickSettingsController, Dum
                (int) ((y - getInitialTouchY()) / displayDensity), (int) (vel / displayDensity));
    }

    private void maybeSetEarlyExpansion() {
        if (QSComposeFragment.isEnabled() && qsComposeFragmentEarlyExpansion() && mQs != null) {
            mQs.setExpanded(true);
            mMediaHierarchyManager.setQsExpanded(true);
        }
    }

    private void maybeResetEarlyExpansion() {
        if (QSComposeFragment.isEnabled() && qsComposeFragmentEarlyExpansion()) {
            updateQsState();
            mMediaHierarchyManager.setQsExpanded(getExpanded());
        }
    }

    @NeverCompile
    @Override
    public void dump(@NonNull PrintWriter pw, @NonNull String[] args) {