Don't moveToRestState from onTaskAppeared
There's a possible race here where we call moveToRestState before Launcher is actually stopped, so it starts to animate the state change, causing a visual jump before it gets stopped. We already call moveToRestState in StatefulActivity#onStop, so this one shouldn't be necessary anyway. Test: Enable Winscope tracing, quick switch from app A to app B; before this change, 9/10 times it would repro the jump in the bug, 0/10 times after this fix. (Also verified through debug logging.) Fixes: 244583136 Change-Id: I656b028f26a64f872960cb3fe87c39b097431511
This commit is contained in:
@@ -2070,7 +2070,6 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>,
|
||||
if (handleTaskAppeared(appearedTaskTargets)) {
|
||||
mRecentsAnimationController.finish(false /* toRecents */,
|
||||
null /* onFinishComplete */);
|
||||
mActivityInterface.onLaunchTaskSuccess();
|
||||
ActiveGestureLog.INSTANCE.addLog(
|
||||
/* event= */ "finishRecentsAnimation",
|
||||
/* extras= */ false,
|
||||
|
||||
@@ -183,14 +183,6 @@ public abstract class BaseActivityInterface<STATE_TYPE extends BaseState<STATE_T
|
||||
|
||||
public abstract void onLaunchTaskFailed();
|
||||
|
||||
public void onLaunchTaskSuccess() {
|
||||
ACTIVITY_TYPE activity = getCreatedActivity();
|
||||
if (activity == null) {
|
||||
return;
|
||||
}
|
||||
activity.getStateManager().moveToRestState();
|
||||
}
|
||||
|
||||
/**
|
||||
* Closes any overlays.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user