Merge "Fix some places where we could abort an already-requested transition" into udc-dev
This commit is contained in:
@@ -778,13 +778,12 @@ class ActivityClientController extends IActivityClientController.Stub {
|
|||||||
&& r.mTransitionController.inPlayingTransition(r)
|
&& r.mTransitionController.inPlayingTransition(r)
|
||||||
&& !r.mTransitionController.isCollecting()
|
&& !r.mTransitionController.isCollecting()
|
||||||
? r.mTransitionController.createTransition(TRANSIT_TO_BACK) : null;
|
? 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);
|
final boolean changed = r != null && r.setOccludesParent(true);
|
||||||
if (transition != null) {
|
if (transition != null) {
|
||||||
if (changed) {
|
if (changed) {
|
||||||
|
r.mTransitionController.requestStartTransition(transition,
|
||||||
|
null /*startTask */, null /* remoteTransition */,
|
||||||
|
null /* displayChange */);
|
||||||
r.mTransitionController.setReady(r.getDisplayContent());
|
r.mTransitionController.setReady(r.getDisplayContent());
|
||||||
} else {
|
} else {
|
||||||
transition.abort();
|
transition.abort();
|
||||||
@@ -818,13 +817,12 @@ class ActivityClientController extends IActivityClientController.Stub {
|
|||||||
final Transition transition = r.mTransitionController.inPlayingTransition(r)
|
final Transition transition = r.mTransitionController.inPlayingTransition(r)
|
||||||
&& !r.mTransitionController.isCollecting()
|
&& !r.mTransitionController.isCollecting()
|
||||||
? r.mTransitionController.createTransition(TRANSIT_TO_FRONT) : null;
|
? 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);
|
final boolean changed = r.setOccludesParent(false);
|
||||||
if (transition != null) {
|
if (transition != null) {
|
||||||
if (changed) {
|
if (changed) {
|
||||||
|
r.mTransitionController.requestStartTransition(transition,
|
||||||
|
null /*startTask */, null /* remoteTransition */,
|
||||||
|
null /* displayChange */);
|
||||||
r.mTransitionController.setReady(r.getDisplayContent());
|
r.mTransitionController.setReady(r.getDisplayContent());
|
||||||
} else {
|
} else {
|
||||||
transition.abort();
|
transition.abort();
|
||||||
|
|||||||
@@ -5636,8 +5636,6 @@ class Task extends TaskFragment {
|
|||||||
mWmService.mSyncEngine.queueSyncSet(
|
mWmService.mSyncEngine.queueSyncSet(
|
||||||
() -> mTransitionController.moveToCollecting(transition),
|
() -> mTransitionController.moveToCollecting(transition),
|
||||||
() -> {
|
() -> {
|
||||||
mTransitionController.requestStartTransition(transition, tr,
|
|
||||||
null /* remoteTransition */, null /* displayChange */);
|
|
||||||
// Need to check again since this happens later and the system might
|
// Need to check again since this happens later and the system might
|
||||||
// be in a different state.
|
// be in a different state.
|
||||||
if (!canMoveTaskToBack(tr)) {
|
if (!canMoveTaskToBack(tr)) {
|
||||||
@@ -5646,6 +5644,8 @@ class Task extends TaskFragment {
|
|||||||
transition.abort();
|
transition.abort();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
mTransitionController.requestStartTransition(transition, tr,
|
||||||
|
null /* remoteTransition */, null /* displayChange */);
|
||||||
moveTaskToBackInner(tr);
|
moveTaskToBackInner(tr);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -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.LayoutParams.TYPE_WALLPAPER;
|
||||||
import static android.view.WindowManager.REMOVE_CONTENT_MODE_UNDEFINED;
|
import static android.view.WindowManager.REMOVE_CONTENT_MODE_UNDEFINED;
|
||||||
import static android.view.WindowManager.TRANSIT_NONE;
|
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.WindowManager.fixScale;
|
||||||
import static android.view.WindowManagerGlobal.ADD_OKAY;
|
import static android.view.WindowManagerGlobal.ADD_OKAY;
|
||||||
import static android.view.WindowManagerGlobal.RELAYOUT_RES_CANCEL_AND_REDRAW;
|
import static android.view.WindowManagerGlobal.RELAYOUT_RES_CANCEL_AND_REDRAW;
|
||||||
@@ -8537,13 +8536,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);
|
mAtmService.setFocusedTask(task.mTaskId, touchedActivity);
|
||||||
if (transition != null) {
|
|
||||||
transition.setReady(task, true /* ready */);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user