From 7e0ab651452d7d99716bcb120aa9d976ac89c829 Mon Sep 17 00:00:00 2001 From: Alex Buynytskyy Date: Mon, 9 May 2022 09:17:23 -0700 Subject: [PATCH] Forcefully convert to basic Intent before calling PM API. AIDL can't accept subclasses, see more info in the bug Bug: 223022163 Fixes: 223022163 Test: launch WSJ, click on share Change-Id: I0015fda3a6fb741b109f7d3d00df1da6f7d64863 --- core/java/com/android/internal/app/ChooserListAdapter.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/java/com/android/internal/app/ChooserListAdapter.java b/core/java/com/android/internal/app/ChooserListAdapter.java index f6445849d8973..8dd8272879422 100644 --- a/core/java/com/android/internal/app/ChooserListAdapter.java +++ b/core/java/com/android/internal/app/ChooserListAdapter.java @@ -144,7 +144,9 @@ public class ChooserListAdapter extends ResolverListAdapter { } } if (ai == null) { - ri = packageManager.resolveActivity(ii, PackageManager.MATCH_DEFAULT_ONLY); + // Because of AIDL bug, resolveActivity can't accept subclasses of Intent. + final Intent rii = (ii.getClass() == Intent.class) ? ii : new Intent(ii); + ri = packageManager.resolveActivity(rii, PackageManager.MATCH_DEFAULT_ONLY); ai = ri != null ? ri.activityInfo : null; } if (ai == null) {