Merge "Merge "Fix some places where we could abort an already-requested transition" into udc-dev am: b3634daff1 am: e734d354f0"

This commit is contained in:
Automerger Merge Worker
2023-03-29 16:52:08 +00:00
committed by Android (Google) Code Review
3 changed files with 8 additions and 17 deletions

View File

@@ -778,13 +778,12 @@ class ActivityClientController extends IActivityClientController.Stub {
&& r.mTransitionController.inPlayingTransition(r)
&& !r.mTransitionController.isCollecting()
? r.mTransitionController.createTransition(TRANSIT_TO_BACK) : null;
if (transition != null) {
r.mTransitionController.requestStartTransition(transition, null /*startTask */,
null /* remoteTransition */, null /* displayChange */);
}
final boolean changed = r != null && r.setOccludesParent(true);
if (transition != null) {
if (changed) {
r.mTransitionController.requestStartTransition(transition,
null /*startTask */, null /* remoteTransition */,
null /* displayChange */);
r.mTransitionController.setReady(r.getDisplayContent());
} else {
transition.abort();
@@ -818,13 +817,12 @@ class ActivityClientController extends IActivityClientController.Stub {
final Transition transition = r.mTransitionController.inPlayingTransition(r)
&& !r.mTransitionController.isCollecting()
? r.mTransitionController.createTransition(TRANSIT_TO_FRONT) : null;
if (transition != null) {
r.mTransitionController.requestStartTransition(transition, null /*startTask */,
null /* remoteTransition */, null /* displayChange */);
}
final boolean changed = r.setOccludesParent(false);
if (transition != null) {
if (changed) {
r.mTransitionController.requestStartTransition(transition,
null /*startTask */, null /* remoteTransition */,
null /* displayChange */);
r.mTransitionController.setReady(r.getDisplayContent());
} else {
transition.abort();

View File

@@ -5636,8 +5636,6 @@ class Task extends TaskFragment {
mWmService.mSyncEngine.queueSyncSet(
() -> mTransitionController.moveToCollecting(transition),
() -> {
mTransitionController.requestStartTransition(transition, tr,
null /* remoteTransition */, null /* displayChange */);
// Need to check again since this happens later and the system might
// be in a different state.
if (!canMoveTaskToBack(tr)) {
@@ -5646,6 +5644,8 @@ class Task extends TaskFragment {
transition.abort();
return;
}
mTransitionController.requestStartTransition(transition, tr,
null /* remoteTransition */, null /* displayChange */);
moveTaskToBackInner(tr);
});
} else {

View File

@@ -88,7 +88,6 @@ import static android.view.WindowManager.LayoutParams.TYPE_VOLUME_OVERLAY;
import static android.view.WindowManager.LayoutParams.TYPE_WALLPAPER;
import static android.view.WindowManager.REMOVE_CONTENT_MODE_UNDEFINED;
import static android.view.WindowManager.TRANSIT_NONE;
import static android.view.WindowManager.TRANSIT_TO_FRONT;
import static android.view.WindowManager.fixScale;
import static android.view.WindowManagerGlobal.ADD_OKAY;
import static android.view.WindowManagerGlobal.RELAYOUT_RES_CANCEL_AND_REDRAW;
@@ -8513,13 +8512,7 @@ public class WindowManagerService extends IWindowManager.Stub
}
}
// focus-transfer can re-order windows and thus potentially causes visible changes:
final Transition transition = mAtmService.getTransitionController()
.requestTransitionIfNeeded(TRANSIT_TO_FRONT, task);
mAtmService.setFocusedTask(task.mTaskId, touchedActivity);
if (transition != null) {
transition.setReady(task, true /* ready */);
}
}
/**