Not relying on activity manager when choosing a touch consumer.

Activity manager can report launcher activity as running when is hasn't
yet been resumed.

Bug: 120628042
Test: TaplTests, Fallback tests, manual tests
Change-Id: I6b382b17d05066a63360acc19e094674ecca7130
diff --git a/quickstep/src/com/android/quickstep/ActivityControlHelper.java b/quickstep/src/com/android/quickstep/ActivityControlHelper.java
index 16f5fa1..f60572c 100644
--- a/quickstep/src/com/android/quickstep/ActivityControlHelper.java
+++ b/quickstep/src/com/android/quickstep/ActivityControlHelper.java
@@ -45,6 +45,7 @@
 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 @@
     @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 b1a214d..a42ee09 100644
--- a/quickstep/src/com/android/quickstep/TouchInteractionService.java
+++ b/quickstep/src/com/android/quickstep/TouchInteractionService.java
@@ -249,7 +249,7 @@
         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 @@
                 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);
         }
     }