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

Commit 8093651a authored by Jerry Chang's avatar Jerry Chang
Browse files

Update handler callback to support clean-up aborted transitions

Update onTransitionConsumed callback so TransitionHandler can perform
clean-up operations when the handling transition got aborted.

Bug: 236814471
Test: atest WMShellUnitTests

Change-Id: Iaac49ecacb5670716d1ffde86bc895f9743d3657
parent 4c9c9628
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -315,7 +315,7 @@ public class PipTransition extends PipTransitionController {
    }

    @Override
    public void onTransitionMerged(@NonNull IBinder transition) {
    public void onTransitionConsumed(@NonNull IBinder transition, boolean aborted) {
        if (transition != mExitTransition) {
            return;
        }
@@ -328,7 +328,7 @@ public class PipTransition extends PipTransitionController {
        }
        // Unset exitTransition AFTER cancel so that finishResize knows we are merging.
        mExitTransition = null;
        if (!cancelled) return;
        if (!cancelled || aborted) return;
        final ActivityManager.RunningTaskInfo taskInfo = mPipOrganizer.getTaskInfo();
        if (taskInfo != null) {
            startExpandAnimation(taskInfo, mPipOrganizer.getSurfaceControl(),
+3 −1
Original line number Diff line number Diff line
@@ -246,7 +246,9 @@ class SplitScreenTransitions {
        return true;
    }

    void onTransitionMerged(@NonNull IBinder transition) {
    void onTransitionConsumed(@NonNull IBinder transition, boolean aborted) {
        if (aborted) return;

        // Once a pending enter transition got merged, make sure to append the reset of finishing
        // operations to the finish transition.
        if (transition == mPendingEnter) {
+2 −2
Original line number Diff line number Diff line
@@ -1534,8 +1534,8 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler,
    }

    @Override
    public void onTransitionMerged(@NonNull IBinder transition) {
        mSplitTransitions.onTransitionMerged(transition);
    public void onTransitionConsumed(@NonNull IBinder transition, boolean aborted) {
        mSplitTransitions.onTransitionConsumed(transition, aborted);
    }

    @Override
+2 −2
Original line number Diff line number Diff line
@@ -274,7 +274,7 @@ public class DefaultMixedHandler implements Transitions.TransitionHandler {
    }

    @Override
    public void onTransitionMerged(@NonNull IBinder transition) {
    public void onTransitionConsumed(@NonNull IBinder transition, boolean aborted) {
        MixedTransition mixed = null;
        for (int i = mActiveTransitions.size() - 1; i >= 0; --i) {
            if (mActiveTransitions.get(i).mTransition != transition) continue;
@@ -283,7 +283,7 @@ public class DefaultMixedHandler implements Transitions.TransitionHandler {
        }
        if (mixed == null) return;
        if (mixed.mType == MixedTransition.TYPE_ENTER_PIP_FROM_SPLIT) {
            mPipHandler.onTransitionMerged(transition);
            mPipHandler.onTransitionConsumed(transition, aborted);
        }
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -83,7 +83,7 @@ public class RemoteTransitionHandler implements Transitions.TransitionHandler {
    }

    @Override
    public void onTransitionMerged(@NonNull IBinder transition) {
    public void onTransitionConsumed(@NonNull IBinder transition, boolean aborted) {
        mRequestedRemotes.remove(transition);
    }

Loading