diff --git a/quickstep/src/com/android/quickstep/ActivityControlHelper.java b/quickstep/src/com/android/quickstep/ActivityControlHelper.java index 16f5fa1142..f60572cc32 100644 --- a/quickstep/src/com/android/quickstep/ActivityControlHelper.java +++ b/quickstep/src/com/android/quickstep/ActivityControlHelper.java @@ -45,6 +45,7 @@ import android.os.Handler; import android.os.Looper; import android.view.View; +import com.android.launcher3.BaseActivity; import com.android.launcher3.BaseDraggingActivity; import com.android.launcher3.DeviceProfile; import com.android.launcher3.Launcher; @@ -114,6 +115,11 @@ public interface ActivityControlHelper { @Nullable T getCreatedActivity(); + default boolean isResumed() { + BaseDraggingActivity activity = getCreatedActivity(); + return activity != null && activity.hasBeenResumed(); + } + @UiThread @Nullable RecentsView getVisibleRecentsView(); diff --git a/quickstep/src/com/android/quickstep/TouchInteractionService.java b/quickstep/src/com/android/quickstep/TouchInteractionService.java index b1a214d9dd..a42ee094f4 100644 --- a/quickstep/src/com/android/quickstep/TouchInteractionService.java +++ b/quickstep/src/com/android/quickstep/TouchInteractionService.java @@ -249,7 +249,7 @@ public class TouchInteractionService extends Service { if (runningTaskInfo == null && !forceToLauncher) { return TouchConsumer.NO_OP; } else if (forceToLauncher || - runningTaskInfo.topActivity.equals(mOverviewCommandHelper.overviewComponent)) { + mOverviewCommandHelper.getActivityControlHelper().isResumed()) { return OverviewTouchConsumer.newInstance( mOverviewCommandHelper.getActivityControlHelper(), false, mTouchInteractionLog); } else { @@ -257,10 +257,10 @@ public class TouchInteractionService extends Service { tracker = VelocityTracker.obtain(); } return new OtherActivityTouchConsumer(this, runningTaskInfo, mRecentsModel, - mOverviewCommandHelper.overviewIntent, - mOverviewCommandHelper.getActivityControlHelper(), mMainThreadExecutor, - mBackgroundThreadChoreographer, downHitTarget, mOverviewCallbacks, - mTaskOverlayFactory, mInputConsumer, tracker, mTouchInteractionLog); + mOverviewCommandHelper.overviewIntent, + mOverviewCommandHelper.getActivityControlHelper(), mMainThreadExecutor, + mBackgroundThreadChoreographer, downHitTarget, mOverviewCallbacks, + mTaskOverlayFactory, mInputConsumer, tracker, mTouchInteractionLog); } }