Merge "Notify WMShell on aborting auto-enter-pip" into udc-dev am: 0c66b151e3
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/23321279 Change-Id: I3f9e489689e7d76ba55491cc6fdf0e8de2893384 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
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(),
|
||||
|
||||
@@ -564,6 +564,20 @@ public class SystemUiProxy implements ISystemUiProxy {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Notifies WM Shell that launcher has aborted all the animation for swipe to home. WM Shell
|
||||
* can use this callback to clean up its internal states.
|
||||
*/
|
||||
public void abortSwipePipToHome(int taskId, ComponentName componentName) {
|
||||
if (mPip != null) {
|
||||
try {
|
||||
mPip.abortSwipePipToHome(taskId, componentName);
|
||||
} catch (RemoteException e) {
|
||||
Log.w(TAG, "Failed call abortSwipePipToHome");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the next pip animation type to be the alpha animation.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user