Ensure we register the input consumer on the ui thread.

- We register the input consumer on the interim choreographer thread
  but unregister the input consumer on the UI thread when invalidating
  the previous handler. This may have caused a race condition where
  the disposal of the input consumer overlapped with the registration
  of the new one (they share a key in the input consumer map in the
  system)

Bug: 73505150
Test: Unable to reproduce, this is a hypothetical fix
Change-Id: I20a9a7be967f5072bbf50ce12e5e61cb939e3c75
diff --git a/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java b/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java
index f49106e..3474581 100644
--- a/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java
+++ b/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java
@@ -235,7 +235,9 @@
         mContext = context;
         mRunningTaskId = runningTaskInfo.id;
         mTouchTimeMs = touchTimeMs;
-        mInputConsumer.registerInputConsumer();
+        // Register the input consumer on the UI thread, to ensure that it runs after any pending
+        // unregister calls
+        mMainExecutor.execute(mInputConsumer::registerInputConsumer);
         initStateCallbacks();
     }