Notify WMShell on aborting auto-enter-pip
Note that this change does not fix the bug listed here. This is to callback WMShell when the transition is aborted and WMShell can choose how to handle this. Bug: 283177443 Test: adb shell dumpsys activity service SystemUIService WMShell Test: go/winscope and check the SF/WM dump Change-Id: I8abfc2db47d1f0bfc3d400066936bed354743420
This commit is contained in:
@@ -2041,8 +2041,9 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>,
|
||||
if (!hasTargets() || mRecentsAnimationController == null) {
|
||||
// If there are no targets or the animation not started, then there is nothing to finish
|
||||
mStateCallback.setStateOnUiThread(STATE_CURRENT_TASK_FINISHED);
|
||||
maybeAbortSwipePipToHome();
|
||||
} else {
|
||||
maybeFinishSwipeToHome();
|
||||
maybeFinishSwipePipToHome();
|
||||
finishRecentsControllerToHome(
|
||||
() -> mStateCallback.setStateOnUiThread(STATE_CURRENT_TASK_FINISHED));
|
||||
}
|
||||
@@ -2053,12 +2054,25 @@ public abstract class AbsSwipeUpHandler<T extends StatefulActivity<S>,
|
||||
doLogGesture(HOME, mRecentsView == null ? null : mRecentsView.getCurrentPageTaskView());
|
||||
}
|
||||
|
||||
/**
|
||||
* Notifies SysUI that transition is aborted if applicable and also pass leash transactions
|
||||
* from Launcher to WM.
|
||||
*/
|
||||
private void maybeAbortSwipePipToHome() {
|
||||
if (mIsSwipingPipToHome && mSwipePipToHomeAnimators[0] != null) {
|
||||
SystemUiProxy.INSTANCE.get(mContext).abortSwipePipToHome(
|
||||
mSwipePipToHomeAnimator.getTaskId(),
|
||||
mSwipePipToHomeAnimator.getComponentName());
|
||||
mIsSwipingPipToHome = false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Notifies SysUI that transition is finished if applicable and also pass leash transactions
|
||||
* from Launcher to WM.
|
||||
* This should happen before {@link #finishRecentsControllerToHome(Runnable)}.
|
||||
*/
|
||||
private void maybeFinishSwipeToHome() {
|
||||
private void maybeFinishSwipePipToHome() {
|
||||
if (mIsSwipingPipToHome && mSwipePipToHomeAnimators[0] != null) {
|
||||
SystemUiProxy.INSTANCE.get(mContext).stopSwipePipToHome(
|
||||
mSwipePipToHomeAnimator.getTaskId(),
|
||||
|
||||
Reference in New Issue
Block a user