Handle refinement responses on the main thread.

Bug: 269170766
Test: atest CtsSharesheetDeviceTest
Change-Id: I539c1f4a00c4572913fb3c0f10f22d9c20eb6ca9
diff --git a/java/src/com/android/intentresolver/ChooserRefinementManager.java b/java/src/com/android/intentresolver/ChooserRefinementManager.java
index 5997bfe..98c6bdd 100644
--- a/java/src/com/android/intentresolver/ChooserRefinementManager.java
+++ b/java/src/com/android/intentresolver/ChooserRefinementManager.java
@@ -23,6 +23,7 @@
 import android.content.IntentSender;
 import android.content.IntentSender.SendIntentException;
 import android.os.Bundle;
+import android.os.Handler;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.os.ResultReceiver;
@@ -94,7 +95,8 @@
                         mOnRefinementCancelled.run();
                     }
                 },
-                mOnRefinementCancelled);
+                mOnRefinementCancelled,
+                mContext.getMainThreadHandler());
 
         Intent refinementRequest = makeRefinementRequest(mRefinementResultReceiver, selectedTarget);
         try {
@@ -136,8 +138,9 @@
 
         RefinementResultReceiver(
                 Consumer<Intent> onSelectionRefined,
-                Runnable onRefinementCancelled) {
-            super(/* handler=*/ null);
+                Runnable onRefinementCancelled,
+                Handler handler) {
+            super(handler);
             mOnSelectionRefined = onSelectionRefined;
             mOnRefinementCancelled = onRefinementCancelled;
         }