When doing activity->activity transfer, use abort instead of finish

Otherwise, it can be interpretted as an accepted merge.

Bug: 222109476
Test: monkey
Change-Id: Ia5a2259c7ba2909cce14f0a5be63517557eba2d8
This commit is contained in:
Evan Rosky
2022-03-02 16:33:31 -08:00
parent e7fffc65ad
commit 9074e9c3ee

View File

@@ -363,7 +363,9 @@ public class Transitions implements RemoteCallable<Transitions> {
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();
if (changeSize == 2) {
boolean nonTaskChange = true;
@@ -380,7 +382,9 @@ public class Transitions implements RemoteCallable<Transitions> {
}
if (nonTaskChange && transferStartingWindow) {
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;
}
}