Moving some callbacks from LauncherCallbacks to OverviewCallbacks
Bug: 78780639
Change-Id: I90f868c741834efbe542367bdc3539f6d14f1939
diff --git a/quickstep/src/com/android/quickstep/ActivityControlHelper.java b/quickstep/src/com/android/quickstep/ActivityControlHelper.java
index 88cd376..1026b0e 100644
--- a/quickstep/src/com/android/quickstep/ActivityControlHelper.java
+++ b/quickstep/src/com/android/quickstep/ActivityControlHelper.java
@@ -59,8 +59,6 @@
LayoutListener createLayoutListener(T activity);
- void onQuickstepGestureStarted(T activity, boolean activityVisible);
-
/**
* Updates the UI to indicate quick interaction.
* @return true if there any any UI change as a result of this
@@ -117,11 +115,6 @@
}
@Override
- public void onQuickstepGestureStarted(Launcher activity, boolean activityVisible) {
- activity.onQuickstepGestureStarted(activityVisible);
- }
-
- @Override
public boolean onQuickInteractionStart(Launcher activity, boolean activityVisible) {
LauncherState fromState = activity.getStateManager().getState();
activity.getStateManager().goToState(FAST_OVERVIEW, activityVisible);
@@ -137,10 +130,7 @@
@Override
public void executeOnWindowAvailable(Launcher activity, Runnable action) {
- if (activity.getWorkspace().runOnOverlayHidden(action)) {
- // Notify the activity that qiuckscrub has started
- onQuickstepGestureStarted(activity, true);
- }
+ activity.getWorkspace().runOnOverlayHidden(action);
}
@Override
@@ -310,11 +300,6 @@
class FallbackActivityControllerHelper implements ActivityControlHelper<RecentsActivity> {
@Override
- public void onQuickstepGestureStarted(RecentsActivity activity, boolean activityVisible) {
- // TODO:
- }
-
- @Override
public boolean onQuickInteractionStart(RecentsActivity activity, boolean activityVisible) {
// Activity does not need any UI change for quickscrub.
return false;
diff --git a/quickstep/src/com/android/quickstep/OtherActivityTouchConsumer.java b/quickstep/src/com/android/quickstep/OtherActivityTouchConsumer.java
index 6ce9372..2d41a5b 100644
--- a/quickstep/src/com/android/quickstep/OtherActivityTouchConsumer.java
+++ b/quickstep/src/com/android/quickstep/OtherActivityTouchConsumer.java
@@ -22,6 +22,8 @@
import static android.view.MotionEvent.ACTION_UP;
import static android.view.MotionEvent.INVALID_POINTER_ID;
+import static com.android.systemui.shared.system.ActivityManagerWrapper
+ .CLOSE_SYSTEM_WINDOWS_REASON_RECENTS;
import static com.android.systemui.shared.system.RemoteAnimationTargetCompat.MODE_CLOSING;
import android.annotation.TargetApi;
@@ -73,6 +75,7 @@
private final ActivityControlHelper mActivityControlHelper;
private final MainThreadExecutor mMainThreadExecutor;
private final Choreographer mBackgroundThreadChoreographer;
+ private final OverviewCallbacks mOverviewCallbacks;
private final boolean mIsDeferredDownTarget;
private final PointF mDownPos = new PointF();
@@ -92,8 +95,10 @@
public OtherActivityTouchConsumer(Context base, RunningTaskInfo runningTaskInfo,
RecentsModel recentsModel, Intent homeIntent, ActivityControlHelper activityControl,
MainThreadExecutor mainThreadExecutor, Choreographer backgroundThreadChoreographer,
- @HitTarget int downHitTarget, VelocityTracker velocityTracker) {
+ @HitTarget int downHitTarget, OverviewCallbacks overviewCallbacks,
+ VelocityTracker velocityTracker) {
super(base);
+
mRunningTask = runningTaskInfo;
mRecentsModel = recentsModel;
mHomeIntent = homeIntent;
@@ -102,6 +107,7 @@
mMainThreadExecutor = mainThreadExecutor;
mBackgroundThreadChoreographer = backgroundThreadChoreographer;
mIsDeferredDownTarget = activityControl.deferStartingActivity(downHitTarget);
+ mOverviewCallbacks = overviewCallbacks;
}
@Override
@@ -187,6 +193,11 @@
if (mInteractionHandler == null) {
return;
}
+
+ mOverviewCallbacks.closeAllWindows();
+ ActivityManagerWrapper.getInstance().closeSystemWindows(
+ CLOSE_SYSTEM_WINDOWS_REASON_RECENTS);
+
// Notify the handler that the gesture has actually started
mInteractionHandler.onGestureStarted();
}
diff --git a/quickstep/src/com/android/quickstep/OverviewCallbacks.java b/quickstep/src/com/android/quickstep/OverviewCallbacks.java
index 62938a7..ac4a40b 100644
--- a/quickstep/src/com/android/quickstep/OverviewCallbacks.java
+++ b/quickstep/src/com/android/quickstep/OverviewCallbacks.java
@@ -40,4 +40,6 @@
public void onInitOverviewTransition() { }
public void onResetOverview() { }
+
+ public void closeAllWindows() { }
}
diff --git a/quickstep/src/com/android/quickstep/TouchInteractionService.java b/quickstep/src/com/android/quickstep/TouchInteractionService.java
index 25649fa..60e6d2c 100644
--- a/quickstep/src/com/android/quickstep/TouchInteractionService.java
+++ b/quickstep/src/com/android/quickstep/TouchInteractionService.java
@@ -166,6 +166,7 @@
private ISystemUiProxy mISystemUiProxy;
private OverviewCommandHelper mOverviewCommandHelper;
private OverviewInteractionState mOverviewInteractionState;
+ private OverviewCallbacks mOverviewCallbacks;
private Choreographer mMainThreadChoreographer;
private Choreographer mBackgroundThreadChoreographer;
@@ -181,6 +182,7 @@
mMainThreadChoreographer = Choreographer.getInstance();
mEventQueue = new MotionEventQueue(mMainThreadChoreographer, mNoOpTouchConsumer);
mOverviewInteractionState = OverviewInteractionState.getInstance(this);
+ mOverviewCallbacks = OverviewCallbacks.get(this);
sConnected = true;
@@ -232,7 +234,8 @@
return new OtherActivityTouchConsumer(this, runningTaskInfo, mRecentsModel,
mOverviewCommandHelper.overviewIntent,
mOverviewCommandHelper.getActivityControlHelper(), mMainThreadExecutor,
- mBackgroundThreadChoreographer, downHitTarget, tracker);
+ mBackgroundThreadChoreographer, downHitTarget, mOverviewCallbacks,
+ tracker);
}
}
@@ -332,7 +335,7 @@
if (mInvalidated) {
return;
}
- mActivityHelper.onQuickstepGestureStarted(mActivity, true);
+ OverviewCallbacks.get(mActivity).closeAllWindows();
ActivityManagerWrapper.getInstance()
.closeSystemWindows(CLOSE_SYSTEM_WINDOWS_REASON_RECENTS);
}
@@ -343,10 +346,11 @@
return;
}
if (interactionType == INTERACTION_QUICK_SCRUB) {
+ OverviewCallbacks.get(mActivity).closeAllWindows();
ActivityManagerWrapper.getInstance()
.closeSystemWindows(CLOSE_SYSTEM_WINDOWS_REASON_RECENTS);
- mStartPending = true;
+ mStartPending = true;
Runnable action = () -> {
mQuickScrubController.onQuickScrubStart(
mActivityHelper.onQuickInteractionStart(mActivity, true));
diff --git a/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java b/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java
index ec50e67..5fbd05f 100644
--- a/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java
+++ b/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java
@@ -24,7 +24,6 @@
import static com.android.quickstep.QuickScrubController.QUICK_SCRUB_START_DURATION;
import static com.android.quickstep.TouchConsumer.INTERACTION_NORMAL;
import static com.android.quickstep.TouchConsumer.INTERACTION_QUICK_SCRUB;
-import static com.android.systemui.shared.system.ActivityManagerWrapper.CLOSE_SYSTEM_WINDOWS_REASON_RECENTS;
import android.animation.Animator;
import android.animation.ObjectAnimator;
@@ -64,13 +63,11 @@
import com.android.quickstep.ActivityControlHelper.LayoutListener;
import com.android.quickstep.TouchConsumer.InteractionType;
import com.android.quickstep.util.ClipAnimationHelper;
-import com.android.quickstep.util.RemoteAnimationProvider;
import com.android.quickstep.util.RemoteAnimationTargetSet;
import com.android.quickstep.util.SysuiEventLogger;
import com.android.quickstep.views.RecentsView;
import com.android.quickstep.views.TaskView;
import com.android.systemui.shared.recents.model.ThumbnailData;
-import com.android.systemui.shared.system.ActivityManagerWrapper;
import com.android.systemui.shared.system.InputConsumerController;
import com.android.systemui.shared.system.LatencyTrackerCompat;
import com.android.systemui.shared.system.RecentsAnimationControllerCompat;
@@ -565,8 +562,6 @@
mGestureStarted = true;
mRecentsAnimationWrapper.hideCurrentInputMethod();
mRecentsAnimationWrapper.enableInputConsumer();
- ActivityManagerWrapper.getInstance().closeSystemWindows(
- CLOSE_SYSTEM_WINDOWS_REASON_RECENTS);
}
/**
@@ -580,8 +575,6 @@
// Once the gesture starts, we can no longer transition home through the button, so
// reset the force override of the activity visibility
mActivity.clearForceInvisibleFlag(INVISIBLE_BY_STATE_HANDLER);
- mActivityControlHelper.onQuickstepGestureStarted(
- curActivity, mWasLauncherAlreadyVisible);
}
}
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 2c08169..7e551b1 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -1154,12 +1154,6 @@
}
}
- public void onQuickstepGestureStarted(boolean isVisible) {
- if (mLauncherCallbacks != null) {
- mLauncherCallbacks.onQuickstepGestureStarted(isVisible);
- }
- }
-
public AllAppsTransitionController getAllAppsController() {
return mAllAppsController;
}
diff --git a/src/com/android/launcher3/LauncherCallbacks.java b/src/com/android/launcher3/LauncherCallbacks.java
index 6aef658..34bdb3c 100644
--- a/src/com/android/launcher3/LauncherCallbacks.java
+++ b/src/com/android/launcher3/LauncherCallbacks.java
@@ -18,7 +18,6 @@
import android.content.Intent;
import android.os.Bundle;
-import android.view.Menu;
import java.io.FileDescriptor;
import java.io.PrintWriter;
@@ -70,12 +69,4 @@
* Extensions points for adding / replacing some other aspects of the Launcher experience.
*/
boolean hasSettings();
-
- /**
- * Called when launcher integrated quickstep and some quickstep gesture started. It can be
- * called multiple times for a single gesture an UI or background thread.
- *
- * @param isVisible if Launcher was visible when the gesture started.
- */
- void onQuickstepGestureStarted(boolean isVisible);
}