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;
}