Merge "Finish recents animation to the matching state." into tm-qpr-dev am: 0b828e291c am: 364021226d

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/19697943

Change-Id: Idd543141eea90d0f64c646c34d1a8eaff6ec7bbd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Schneider Victor-tulias
2022-09-08 18:49:03 +00:00
committed by Automerger Merge Worker
3 changed files with 17 additions and 3 deletions
@@ -868,6 +868,10 @@ public class TaskbarActivityContext extends BaseTaskbarContext {
btv.post(() -> mControllers.taskbarPopupController.showForIcon(btv));
}
public boolean isInApp() {
return mControllers.taskbarStashController.isInApp();
}
protected void dumpLogs(String prefix, PrintWriter pw) {
pw.println(prefix + "TaskbarActivityContext:");
@@ -462,7 +462,8 @@ public class TouchInteractionService extends Service
mOverviewComponentObserver = new OverviewComponentObserver(this, mDeviceState);
mOverviewCommandHelper = new OverviewCommandHelper(this,
mOverviewComponentObserver, mTaskAnimationManager);
mResetGestureInputConsumer = new ResetGestureInputConsumer(mTaskAnimationManager);
mResetGestureInputConsumer = new ResetGestureInputConsumer(
mTaskAnimationManager, mTaskbarManager::getCurrentActivityContext);
mInputConsumer = InputConsumerController.getRecentsAnimationInputConsumer();
mInputConsumer.registerInputConsumer();
onSystemUiFlagsChanged(mDeviceState.getSystemUiStateFlags());
@@ -17,18 +17,25 @@ package com.android.quickstep.inputconsumers;
import android.view.MotionEvent;
import com.android.launcher3.taskbar.TaskbarActivityContext;
import com.android.quickstep.InputConsumer;
import com.android.quickstep.TaskAnimationManager;
import java.util.function.Supplier;
/**
* A NO_OP input consumer which also resets any pending gesture
*/
public class ResetGestureInputConsumer implements InputConsumer {
private final TaskAnimationManager mTaskAnimationManager;
private final Supplier<TaskbarActivityContext> mActivityContextSupplier;
public ResetGestureInputConsumer(TaskAnimationManager taskAnimationManager) {
public ResetGestureInputConsumer(
TaskAnimationManager taskAnimationManager,
Supplier<TaskbarActivityContext> activityContextSupplier) {
mTaskAnimationManager = taskAnimationManager;
mActivityContextSupplier = activityContextSupplier;
}
@Override
@@ -40,7 +47,9 @@ public class ResetGestureInputConsumer implements InputConsumer {
public void onMotionEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN
&& mTaskAnimationManager.isRecentsAnimationRunning()) {
mTaskAnimationManager.finishRunningRecentsAnimation(false /* toHome */);
TaskbarActivityContext tac = mActivityContextSupplier.get();
mTaskAnimationManager.finishRunningRecentsAnimation(
/* toHome= */ tac != null && !tac.isInApp());
}
}
}