Merge "[Large screen] Fix SplitPaitRule not match for deep link problem" into sc-v2-dev
diff --git a/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java b/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java
index 3967bd7..e1360fd 100644
--- a/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java
+++ b/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java
@@ -67,17 +67,21 @@
         registerTwoPanePairRule(mContext,
                 getComponentName(Settings.class),
                 getComponentName(SubSettings.class),
+                null /* secondaryIntentAction */,
                 true /* finishPrimaryWithSecondary */,
                 true /* finishSecondaryWithPrimary */);
     }
 
     /** Register a SplitPairRule for 2-pane. */
     public static void registerTwoPanePairRule(Context context,
-            ComponentName primary, ComponentName secondary,
-            boolean finishPrimaryWithSecondary, boolean finishSecondaryWithPrimary) {
+            ComponentName primaryComponent,
+            ComponentName secondaryComponent,
+            String secondaryIntentAction,
+            boolean finishPrimaryWithSecondary,
+            boolean finishSecondaryWithPrimary) {
         final Set<SplitPairFilter> filters = new HashSet<>();
-        filters.add(new SplitPairFilter(primary, secondary,
-                null /* secondaryActivityIntentAction */));
+        filters.add(new SplitPairFilter(primaryComponent, secondaryComponent,
+                secondaryIntentAction));
 
         SplitController.getInstance().registerRule(new SplitPairRule(filters,
                 finishPrimaryWithSecondary,
diff --git a/src/com/android/settings/homepage/SettingsHomepageActivity.java b/src/com/android/settings/homepage/SettingsHomepageActivity.java
index d6a8a92..84eed6d 100644
--- a/src/com/android/settings/homepage/SettingsHomepageActivity.java
+++ b/src/com/android/settings/homepage/SettingsHomepageActivity.java
@@ -18,11 +18,9 @@
 
 import android.animation.LayoutTransition;
 import android.app.ActivityManager;
-import android.app.PendingIntent;
 import android.app.settings.SettingsEnums;
 import android.content.ComponentName;
 import android.content.Intent;
-import android.content.pm.PackageManager;
 import android.os.Bundle;
 import android.text.TextUtils;
 import android.util.FeatureFlagUtils;
@@ -36,16 +34,15 @@
 import androidx.fragment.app.FragmentActivity;
 import androidx.fragment.app.FragmentManager;
 import androidx.fragment.app.FragmentTransaction;
-import androidx.window.embedding.SplitController;
 
 import com.android.settings.R;
 import com.android.settings.Settings;
 import com.android.settings.Utils;
 import com.android.settings.accounts.AvatarViewMixin;
-import com.android.settings.core.CategoryMixin;
-import com.android.settings.core.FeatureFlags;
 import com.android.settings.activityembedding.ActivityEmbeddingRulesController;
 import com.android.settings.activityembedding.ActivityEmbeddingUtils;
+import com.android.settings.core.CategoryMixin;
+import com.android.settings.core.FeatureFlags;
 import com.android.settings.homepage.contextualcards.ContextualCardsFragment;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.core.lifecycle.HideNonSystemOverlayMixin;
@@ -207,6 +204,7 @@
             finish();
             return;
         }
+        targetIntent.setComponent(targetComponentName);
 
         // To prevent launchDeepLinkIntentToRight again for configuration change.
         intent.setAction(null);
@@ -223,11 +221,13 @@
         ActivityEmbeddingRulesController.registerTwoPanePairRule(this,
                 new ComponentName(Utils.SETTINGS_PACKAGE_NAME, ALIAS_DEEP_LINK),
                 targetComponentName,
+                targetIntent.getAction(),
                 true /* finishPrimaryWithSecondary */,
                 true /* finishSecondaryWithPrimary */);
         ActivityEmbeddingRulesController.registerTwoPanePairRule(this,
                 new ComponentName(Settings.class.getPackageName(), Settings.class.getName()),
                 targetComponentName,
+                targetIntent.getAction(),
                 true /* finishPrimaryWithSecondary */,
                 true /* finishSecondaryWithPrimary */);
         startActivity(targetIntent);