Merge "Add FLAG_ACTIVITY_SINGLE_TOP to shortcuts intent" into tm-qpr-dev am: ce2405e922

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/19013797

Change-Id: I07be1bdf7db2ce3d619006a0be4bbd7bd1c8827f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java b/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java
index c871e9f..89ee19b 100644
--- a/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java
+++ b/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java
@@ -46,6 +46,7 @@
 import com.android.settings.R;
 import com.android.settings.Settings;
 import com.android.settings.Settings.TetherSettingsActivity;
+import com.android.settings.activityembedding.ActivityEmbeddingUtils;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.gestures.OneHandedSettingsUtils;
 import com.android.settings.overlay.FeatureFactory;
@@ -127,7 +128,7 @@
                     return false;
                 }
                 final Intent shortcutIntent = createResultIntent(
-                        buildShortcutIntent(info),
+                        buildShortcutIntent(uiContext, info),
                         info, clickTarget.getTitle());
                 mHost.setResult(Activity.RESULT_OK, shortcutIntent);
                 logCreateShortcut(info);
@@ -210,10 +211,14 @@
                 info.activityInfo.name);
     }
 
-    private static Intent buildShortcutIntent(ResolveInfo info) {
-        return new Intent(SHORTCUT_PROBE)
+    private static Intent buildShortcutIntent(Context context, ResolveInfo info) {
+        Intent intent = new Intent(SHORTCUT_PROBE)
                 .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP)
                 .setClassName(info.activityInfo.packageName, info.activityInfo.name);
+        if (ActivityEmbeddingUtils.isEmbeddingActivityEnabled(context)) {
+            intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
+        }
+        return intent;
     }
 
     private static ShortcutInfo createShortcutInfo(Context context, Intent shortcutIntent,
@@ -277,8 +282,8 @@
                 ResolveInfo ri = context.getPackageManager().resolveActivity(si.getIntent(), 0);
 
                 if (ri != null) {
-                    updatedShortcuts.add(createShortcutInfo(context, buildShortcutIntent(ri), ri,
-                            si.getShortLabel()));
+                    updatedShortcuts.add(createShortcutInfo(context,
+                            buildShortcutIntent(context, ri), ri, si.getShortLabel()));
                 }
             }
         }