From 2118ea589ba6095bc92d4acc0026f20cc8d78c3a Mon Sep 17 00:00:00 2001 From: Jason Chiu Date: Mon, 22 Aug 2022 18:05:11 +0800 Subject: [PATCH] Support target intent data relay in SearchResultTrampoline Bug: 240391954 Test: manual & robotest Change-Id: I2798839dd03f3f2fd165c8cba86b748aa6257804 --- .../android/settings/homepage/SettingsHomepageActivity.java | 5 ++--- src/com/android/settings/search/SearchResultTrampoline.java | 5 +++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/homepage/SettingsHomepageActivity.java b/src/com/android/settings/homepage/SettingsHomepageActivity.java index 00fdf391d12..8b6fde71e63 100644 --- a/src/com/android/settings/homepage/SettingsHomepageActivity.java +++ b/src/com/android/settings/homepage/SettingsHomepageActivity.java @@ -438,6 +438,8 @@ public class SettingsHomepageActivity extends FragmentActivity implements return; } + targetIntent.setData(intent.getParcelableExtra( + SettingsHomepageActivity.EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_DATA)); final ComponentName targetComponentName = targetIntent.resolveActivity(getPackageManager()); if (targetComponentName == null) { Log.e(TAG, "No valid target for the deep link intent: " + targetIntent); @@ -457,9 +459,6 @@ public class SettingsHomepageActivity extends FragmentActivity implements targetIntent.putExtra(EXTRA_IS_FROM_SETTINGS_HOMEPAGE, true); targetIntent.putExtra(SettingsActivity.EXTRA_IS_FROM_SLICE, false); - targetIntent.setData(intent.getParcelableExtra( - SettingsHomepageActivity.EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_DATA)); - // Set 2-pane pair rule for the deep link page. ActivityEmbeddingRulesController.registerTwoPanePairRule(this, new ComponentName(getApplicationContext(), getClass()), diff --git a/src/com/android/settings/search/SearchResultTrampoline.java b/src/com/android/settings/search/SearchResultTrampoline.java index 7718ff36330..6e7d911141a 100644 --- a/src/com/android/settings/search/SearchResultTrampoline.java +++ b/src/com/android/settings/search/SearchResultTrampoline.java @@ -22,6 +22,7 @@ import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT_TAB; import android.app.Activity; import android.content.ComponentName; import android.content.Intent; +import android.net.Uri; import android.os.Bundle; import android.provider.Settings; import android.text.TextUtils; @@ -86,8 +87,12 @@ public class SearchResultTrampoline extends Activity { return; } + final Uri data = intent.getParcelableExtra( + SettingsHomepageActivity.EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_DATA, + Uri.class); try { intent = Intent.parseUri(intentUriString, Intent.URI_INTENT_SCHEME); + intent.setData(data); } catch (URISyntaxException e) { Log.e(TAG, "Failed to parse deep link intent: " + e); finish();