Set the package name to the deep link intent

If a deep link intent is not specified a package name, the intent action
will be resolved to ForwardIntentToParent in some cases.

Fix: 209928944
Test: manual
Change-Id: I502be6be550ba817b4337f2d0793a7b3678fc8d2
This commit is contained in:
Jason Chiu
2021-12-09 16:51:59 +08:00
parent b5687c464a
commit 209df88d9d

View File

@@ -377,8 +377,9 @@ public class SettingsActivity extends SettingsBaseActivity
public static Intent getTrampolineIntent(Intent intent, String highlightMenuKey) { public static Intent getTrampolineIntent(Intent intent, String highlightMenuKey) {
final Intent detailIntent = new Intent(intent); final Intent detailIntent = new Intent(intent);
// It's a deep link intent, SettingsHomepageActivity will set SplitPairRule and start it. // It's a deep link intent, SettingsHomepageActivity will set SplitPairRule and start it.
final Intent trampolineIntent = new Intent(ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY); final Intent trampolineIntent = new Intent(ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY)
trampolineIntent.replaceExtras(detailIntent); .setPackage(Utils.SETTINGS_PACKAGE_NAME)
.replaceExtras(detailIntent);
// Relay detail intent data to prevent failure of Intent#ParseUri. // Relay detail intent data to prevent failure of Intent#ParseUri.
// If Intent#getData() is not null, Intent#toUri will return an Uri which has the scheme of // If Intent#getData() is not null, Intent#toUri will return an Uri which has the scheme of