Stop returning intent data in QuickContact in onActivityResult
Contacts code does not use the data, only the result code, and it is a potential URI permission grant attack angle.
Clean up unused code in ImplicitIntentsUtil
Bug: 178825358
Test: Manual test with POC app. Observed crash instead of contacts data
read.
Change-Id: Ie8da7faef3611eacd14eda7c0067e2aa24805a10
(cherry picked from commit cec9f9094baa5225ca2ce9a64c8fcd6af7000b00)
diff --git a/src/com/android/contacts/quickcontact/QuickContactActivity.java b/src/com/android/contacts/quickcontact/QuickContactActivity.java
index 6d206b6..43ade96 100644
--- a/src/com/android/contacts/quickcontact/QuickContactActivity.java
+++ b/src/com/android/contacts/quickcontact/QuickContactActivity.java
@@ -768,7 +768,7 @@
final boolean deletedOrSplit = requestCode == REQUEST_CODE_CONTACT_EDITOR_ACTIVITY &&
(resultCode == ContactDeletionInteraction.RESULT_CODE_DELETED ||
resultCode == ContactEditorActivity.RESULT_CODE_SPLIT);
- setResult(resultCode, data);
+ setResult(resultCode);
if (deletedOrSplit) {
finish();
} else if (requestCode == REQUEST_CODE_CONTACT_SELECTION_ACTIVITY &&
diff --git a/src/com/android/contacts/util/ImplicitIntentsUtil.java b/src/com/android/contacts/util/ImplicitIntentsUtil.java
index 0d00519..a1ab896 100644
--- a/src/com/android/contacts/util/ImplicitIntentsUtil.java
+++ b/src/com/android/contacts/util/ImplicitIntentsUtil.java
@@ -102,29 +102,10 @@
*/
public static void startQuickContact(Activity activity, Uri contactLookupUri,
int previousScreenType) {
- startQuickContact(activity, contactLookupUri, previousScreenType, /* requestCode */ -1);
- }
-
- /**
- * Starts QuickContact for result with the default mode and specified previous screen type.
- */
- public static void startQuickContactForResult(Activity activity, Uri contactLookupUri,
- int previousScreenType, int requestCode) {
- startQuickContact(activity, contactLookupUri, previousScreenType, requestCode);
- }
-
- private static void startQuickContact(Activity activity, Uri contactLookupUri,
- int previousScreenType, int requestCode) {
final Intent intent = ImplicitIntentsUtil.composeQuickContactIntent(
activity, contactLookupUri, previousScreenType);
- // We only start "for result" if specifically requested.
- if (requestCode >= 0) {
- intent.setPackage(activity.getPackageName());
- activity.startActivityForResult(intent, requestCode);
- } else {
- startActivityInApp(activity, intent);
- }
+ startActivityInApp(activity, intent);
}
/**