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>
This commit is contained in:
@@ -46,6 +46,7 @@ import androidx.preference.PreferenceGroup;
|
|||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.Settings;
|
import com.android.settings.Settings;
|
||||||
import com.android.settings.Settings.TetherSettingsActivity;
|
import com.android.settings.Settings.TetherSettingsActivity;
|
||||||
|
import com.android.settings.activityembedding.ActivityEmbeddingUtils;
|
||||||
import com.android.settings.core.BasePreferenceController;
|
import com.android.settings.core.BasePreferenceController;
|
||||||
import com.android.settings.gestures.OneHandedSettingsUtils;
|
import com.android.settings.gestures.OneHandedSettingsUtils;
|
||||||
import com.android.settings.overlay.FeatureFactory;
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
@@ -127,7 +128,7 @@ public class CreateShortcutPreferenceController extends BasePreferenceController
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
final Intent shortcutIntent = createResultIntent(
|
final Intent shortcutIntent = createResultIntent(
|
||||||
buildShortcutIntent(info),
|
buildShortcutIntent(uiContext, info),
|
||||||
info, clickTarget.getTitle());
|
info, clickTarget.getTitle());
|
||||||
mHost.setResult(Activity.RESULT_OK, shortcutIntent);
|
mHost.setResult(Activity.RESULT_OK, shortcutIntent);
|
||||||
logCreateShortcut(info);
|
logCreateShortcut(info);
|
||||||
@@ -210,10 +211,14 @@ public class CreateShortcutPreferenceController extends BasePreferenceController
|
|||||||
info.activityInfo.name);
|
info.activityInfo.name);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Intent buildShortcutIntent(ResolveInfo info) {
|
private static Intent buildShortcutIntent(Context context, ResolveInfo info) {
|
||||||
return new Intent(SHORTCUT_PROBE)
|
Intent intent = new Intent(SHORTCUT_PROBE)
|
||||||
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP)
|
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP)
|
||||||
.setClassName(info.activityInfo.packageName, info.activityInfo.name);
|
.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,
|
private static ShortcutInfo createShortcutInfo(Context context, Intent shortcutIntent,
|
||||||
@@ -277,8 +282,8 @@ public class CreateShortcutPreferenceController extends BasePreferenceController
|
|||||||
ResolveInfo ri = context.getPackageManager().resolveActivity(si.getIntent(), 0);
|
ResolveInfo ri = context.getPackageManager().resolveActivity(si.getIntent(), 0);
|
||||||
|
|
||||||
if (ri != null) {
|
if (ri != null) {
|
||||||
updatedShortcuts.add(createShortcutInfo(context, buildShortcutIntent(ri), ri,
|
updatedShortcuts.add(createShortcutInfo(context,
|
||||||
si.getShortLabel()));
|
buildShortcutIntent(context, ri), ri, si.getShortLabel()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user