Merge "Support launching activities in a new task for Injection." into sc-v2-dev

This commit is contained in:
TreeHugger Robot
2021-10-05 11:45:58 +00:00
committed by Android (Google) Code Review
2 changed files with 20 additions and 0 deletions

View File

@@ -18,6 +18,7 @@ package com.android.settingslib.drawer;
import static com.android.settingslib.drawer.TileUtils.META_DATA_KEY_ORDER;
import static com.android.settingslib.drawer.TileUtils.META_DATA_KEY_PROFILE;
import static com.android.settingslib.drawer.TileUtils.META_DATA_NEW_TASK;
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_ICON;
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_KEYHINT;
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_SUMMARY;
@@ -328,6 +329,18 @@ public abstract class Tile implements Parcelable {
return false;
}
/**
* Whether the {@link Activity} should be launched in a separate task.
*/
public boolean isNewTask(Context context) {
ensureMetadataNotStale(context);
if (mMetaData != null
&& mMetaData.containsKey(META_DATA_NEW_TASK)) {
return mMetaData.getBoolean(META_DATA_NEW_TASK);
}
return false;
}
/**
* Ensures metadata is not stale for this tile.
*/

View File

@@ -229,6 +229,13 @@ public class TileUtils {
*/
public static final String META_DATA_KEY_PROFILE = "com.android.settings.profile";
/**
* Name of the meta-data item that should be set in the AndroidManifest.xml
* to specify whether the {@link android.app.Activity} should be launched in a separate task.
* This should be a boolean value {@code true} or {@code false}, set using {@code android:value}
*/
public static final String META_DATA_NEW_TASK = "com.android.settings.new_task";
/**
* Build a list of DashboardCategory.
*/