From e4084028b366581be06dba394fc0fa9ee737ec12 Mon Sep 17 00:00:00 2001 From: Arc Wang Date: Tue, 14 Sep 2021 18:46:18 +0800 Subject: [PATCH] Merge intent extra to deep link intent target for large screen devices Sender of deep link intent may want to send intent extra data to the deep link target Activity by merging intent extra. Bug: 197048599 Bug: 197926040 Test: manual 1. Click quick Setting 'Internet button'. 2. Click the gear button of a connected Wi-Fi. 3. Observe if the Wi-Fi detail page shows the connected Wi-Fi. Change-Id: I32040ee21a747cae710df2e12a8f5b66aff086fa --- src/com/android/settings/SettingsActivity.java | 1 + .../android/settings/homepage/SettingsHomepageActivity.java | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java index b82bb765629..d5730a12fbd 100644 --- a/src/com/android/settings/SettingsActivity.java +++ b/src/com/android/settings/SettingsActivity.java @@ -380,6 +380,7 @@ public class SettingsActivity extends SettingsBaseActivity // It's a deep link intent, SettingsHomepageActivity will set SplitPairRule and start it. final Intent trampolineIntent = new Intent(android.provider.Settings.ACTION_SETTINGS_LARGE_SCREEN_DEEP_LINK); + trampolineIntent.replaceExtras(intent); trampolineIntent.putExtra( android.provider.Settings.EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_URI, intent.toUri(Intent.URI_INTENT_SCHEME)); diff --git a/src/com/android/settings/homepage/SettingsHomepageActivity.java b/src/com/android/settings/homepage/SettingsHomepageActivity.java index f073a618e05..db4ce54db90 100644 --- a/src/com/android/settings/homepage/SettingsHomepageActivity.java +++ b/src/com/android/settings/homepage/SettingsHomepageActivity.java @@ -213,6 +213,9 @@ public class SettingsHomepageActivity extends FragmentActivity implements targetIntent.setFlags(targetIntent.getFlags() & ~Intent.FLAG_ACTIVITY_NEW_TASK); + // Sender of intent may want to send intent extra data to the destination of targetIntent. + targetIntent.replaceExtras(intent); + targetIntent.putExtra(EXTRA_IS_FROM_SETTINGS_HOMEPAGE, true); // Set 2-pane pair rule for the external deep link page.