Merge "When doing activity->activity transfer, use abort instead of finish" into tm-dev

This commit is contained in:
Evan Rosky
2022-03-07 17:17:04 +00:00
committed by Android (Google) Code Review

View File

@@ -363,7 +363,9 @@ public class Transitions implements RemoteCallable<Transitions> {
return; return;
} }
// apply transfer starting window directly if there is no other task change. // apply transfer starting window directly if there is no other task change. Since this
// is an activity->activity situation, we can detect it by selecting transitions with only
// 2 changes where neither are tasks and one is a starting-window recipient.
final int changeSize = info.getChanges().size(); final int changeSize = info.getChanges().size();
if (changeSize == 2) { if (changeSize == 2) {
boolean nonTaskChange = true; boolean nonTaskChange = true;
@@ -380,7 +382,9 @@ public class Transitions implements RemoteCallable<Transitions> {
} }
if (nonTaskChange && transferStartingWindow) { if (nonTaskChange && transferStartingWindow) {
t.apply(); t.apply();
onFinish(transitionToken, null /* wct */, null /* wctCB */); // Treat this as an abort since we are bypassing any merge logic and effectively
// finishing immediately.
onAbort(transitionToken);
return; return;
} }
} }