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

Commit 180162e1 authored by Hongwei Wang's avatar Hongwei Wang
Browse files

Do not schedule transition in onTaskVanished

With the latest change, dismiss a PiP should now be originated from
SysUI itself. When the onTaskVanished callback happens as a result of
removeStacksInWindowingMode, there's no necessity for SysUI to start
transition again.

Plus, the SurfaceControl would be revoked when onTaskVanished happens
and it would be a fatal error if SysUI does so.

Bug: 153280613
Bug: 152214447
Test: manually enter/exit/close PiP
Change-Id: I785eaac52fa1410ef2a22c41035cf952410a7335
parent 8e4db580
Loading
Loading
Loading
Loading
+2 −4
Original line number Original line Diff line number Diff line
@@ -285,6 +285,8 @@ public class PipTaskOrganizer extends TaskOrganizer {
     * Meanwhile this callback is invoked whenever the task is removed. For instance:
     * Meanwhile this callback is invoked whenever the task is removed. For instance:
     *   - as a result of removeStacksInWindowingModes from WM
     *   - as a result of removeStacksInWindowingModes from WM
     *   - activity itself is died
     *   - activity itself is died
     * Nevertheless, we simply update the internal state here as all the heavy lifting should
     * have been done in WM.
     */
     */
    @Override
    @Override
    public void onTaskVanished(ActivityManager.RunningTaskInfo info) {
    public void onTaskVanished(ActivityManager.RunningTaskInfo info) {
@@ -297,10 +299,6 @@ public class PipTaskOrganizer extends TaskOrganizer {
            Log.wtf(TAG, "Unrecognized token: " + token);
            Log.wtf(TAG, "Unrecognized token: " + token);
            return;
            return;
        }
        }
        final Rect boundsToRestore = mBoundsToRestore.remove(token.asBinder());
        scheduleAnimateResizePip(mLastReportedBounds, boundsToRestore,
                TRANSITION_DIRECTION_TO_FULLSCREEN, mEnterExitAnimationDuration,
                null /* updateBoundsCallback */);
        mInPip = false;
        mInPip = false;
    }
    }