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

Commit f04c1dd0 authored by Winson Chung's avatar Winson Chung
Browse files

Fixing regression when going to fullscreen from PiP.

- Just ensure that we don't resize the stack if it's already not
  visible.

Bug: 35338156
Test: Enter/exit pip on TV
Change-Id: I0bd234dd18ecd3d7d4cb37edad9f1fb3053d96bb
parent f73da9c7
Loading
Loading
Loading
Loading
+16 −13
Original line number Diff line number Diff line
@@ -337,12 +337,11 @@ public class PipManager implements BasePipManager {
     * Moves the PIPed activity to the fullscreen and closes PIP system UI.
     */
    void movePipToFullscreen() {
        mState = STATE_NO_PIP;
        mPipTaskId = TASK_ID_NO_PIP;
        for (int i = mListeners.size() - 1; i >= 0; --i) {
            mListeners.get(i).onMoveToFullscreen();
        }
        resizePinnedStack(mState);
        resizePinnedStack(STATE_NO_PIP);
        updatePipVisibility(false);
    }

@@ -388,6 +387,7 @@ public class PipManager implements BasePipManager {
        if (DEBUG) Log.d(TAG, "resizePinnedStack() state=" + state);
        boolean wasRecentsShown =
                (mState == STATE_PIP_RECENTS || mState == STATE_PIP_RECENTS_FOCUSED);
        boolean wasStateNoPip = (mState == STATE_NO_PIP);
        mState = state;
        for (int i = mListeners.size() - 1; i >= 0; --i) {
            mListeners.get(i).onPipResizeAboutToStart();
@@ -401,6 +401,11 @@ public class PipManager implements BasePipManager {
        switch (mState) {
            case STATE_NO_PIP:
                mCurrentPipBounds = null;
                // If the state was already STATE_NO_PIP, then do not resize the stack below as it
                // will not exist
                if (wasStateNoPip) {
                    return;
                }
                break;
            case STATE_PIP_MENU:
                mCurrentPipBounds = mMenuModePipBounds;
@@ -418,7 +423,6 @@ public class PipManager implements BasePipManager {
                mCurrentPipBounds = mPipBounds;
                break;
        }
        if (mCurrentPipBounds != null) {
        try {
            int animationDurationMs = -1;
            if (wasRecentsShown
@@ -431,7 +435,6 @@ public class PipManager implements BasePipManager {
            Log.e(TAG, "resizeStack failed", e);
        }
    }
    }

    /**
     * Returns the default PIP bound.