Loading core/java/android/content/pm/ActivityInfo.java +8 −0 Original line number Diff line number Diff line Loading @@ -332,6 +332,14 @@ public class ActivityInfo extends ComponentInfo */ public static final int FLAG_ALWAYS_FOCUSABLE = 0x40000; /** * Bit in {@link #flags} indicating if the activity is a launcher activity which should always * show up on the top of others. * See android.R.attr#onTopLauncher. * @hide */ public static final int FLAG_ON_TOP_LAUNCHER = 0x80000; /** * @hide Bit in {@link #flags}: If set, this component will only be seen * by the system user. Only works with broadcast receivers. Set from the Loading core/java/android/content/pm/PackageParser.java +5 −0 Original line number Diff line number Diff line Loading @@ -79,6 +79,7 @@ import libcore.io.IoUtils; import static android.content.pm.ActivityInfo.FLAG_ALWAYS_FOCUSABLE; import static android.content.pm.ActivityInfo.FLAG_IMMERSIVE; import static android.content.pm.ActivityInfo.FLAG_ON_TOP_LAUNCHER; import static android.content.pm.ActivityInfo.RESIZE_MODE_FORCE_RESIZEABLE; import static android.content.pm.ActivityInfo.RESIZE_MODE_RESIZEABLE; import static android.content.pm.ActivityInfo.RESIZE_MODE_RESIZEABLE_AND_PIPABLE; Loading Loading @@ -3567,6 +3568,10 @@ public class PackageParser { a.info.flags |= FLAG_ALWAYS_FOCUSABLE; } if (sa.getBoolean(R.styleable.AndroidManifestActivity_onTopLauncher, false)) { a.info.flags |= FLAG_ON_TOP_LAUNCHER; } a.info.lockTaskLaunchMode = sa.getInt(R.styleable.AndroidManifestActivity_lockTaskMode, 0); Loading core/res/res/values/attrs_manifest.xml +3 −0 Original line number Diff line number Diff line Loading @@ -1898,6 +1898,9 @@ in a task/stack that isn't focusable. This flag allows them to be focusable.--> <attr name="alwaysFocusable" format="boolean" /> <attr name="enableVrMode" /> <!-- @hide This activity is a launcher which should always show up on the top of others. This attribute is ignored if the activity isn't a launcher. --> <attr name="onTopLauncher" format="boolean" /> </declare-styleable> <!-- The <code>activity-alias</code> tag declares a new Loading services/core/java/com/android/server/am/ActivityRecord.java +5 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.server.am; import static android.app.ActivityManager.StackId; import static android.app.ActivityManager.StackId.FREEFORM_WORKSPACE_STACK_ID; import static android.app.ActivityManager.StackId.PINNED_STACK_ID; import static android.content.pm.ActivityInfo.FLAG_ON_TOP_LAUNCHER; import static android.content.pm.ActivityInfo.RESIZE_MODE_CROP_WINDOWS; import static android.content.pm.ActivityInfo.FLAG_ALWAYS_FOCUSABLE; import static android.content.pm.ActivityInfo.RESIZE_MODE_RESIZEABLE; Loading Loading @@ -858,6 +859,10 @@ final class ActivityRecord { return (info.flags & FLAG_ALWAYS_FOCUSABLE) != 0; } boolean isOnTopLauncher() { return isHomeActivity() && (info.flags & FLAG_ON_TOP_LAUNCHER) != 0; } void makeFinishingLocked() { if (!finishing) { if (task != null && task.stack != null Loading Loading
core/java/android/content/pm/ActivityInfo.java +8 −0 Original line number Diff line number Diff line Loading @@ -332,6 +332,14 @@ public class ActivityInfo extends ComponentInfo */ public static final int FLAG_ALWAYS_FOCUSABLE = 0x40000; /** * Bit in {@link #flags} indicating if the activity is a launcher activity which should always * show up on the top of others. * See android.R.attr#onTopLauncher. * @hide */ public static final int FLAG_ON_TOP_LAUNCHER = 0x80000; /** * @hide Bit in {@link #flags}: If set, this component will only be seen * by the system user. Only works with broadcast receivers. Set from the Loading
core/java/android/content/pm/PackageParser.java +5 −0 Original line number Diff line number Diff line Loading @@ -79,6 +79,7 @@ import libcore.io.IoUtils; import static android.content.pm.ActivityInfo.FLAG_ALWAYS_FOCUSABLE; import static android.content.pm.ActivityInfo.FLAG_IMMERSIVE; import static android.content.pm.ActivityInfo.FLAG_ON_TOP_LAUNCHER; import static android.content.pm.ActivityInfo.RESIZE_MODE_FORCE_RESIZEABLE; import static android.content.pm.ActivityInfo.RESIZE_MODE_RESIZEABLE; import static android.content.pm.ActivityInfo.RESIZE_MODE_RESIZEABLE_AND_PIPABLE; Loading Loading @@ -3567,6 +3568,10 @@ public class PackageParser { a.info.flags |= FLAG_ALWAYS_FOCUSABLE; } if (sa.getBoolean(R.styleable.AndroidManifestActivity_onTopLauncher, false)) { a.info.flags |= FLAG_ON_TOP_LAUNCHER; } a.info.lockTaskLaunchMode = sa.getInt(R.styleable.AndroidManifestActivity_lockTaskMode, 0); Loading
core/res/res/values/attrs_manifest.xml +3 −0 Original line number Diff line number Diff line Loading @@ -1898,6 +1898,9 @@ in a task/stack that isn't focusable. This flag allows them to be focusable.--> <attr name="alwaysFocusable" format="boolean" /> <attr name="enableVrMode" /> <!-- @hide This activity is a launcher which should always show up on the top of others. This attribute is ignored if the activity isn't a launcher. --> <attr name="onTopLauncher" format="boolean" /> </declare-styleable> <!-- The <code>activity-alias</code> tag declares a new Loading
services/core/java/com/android/server/am/ActivityRecord.java +5 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.server.am; import static android.app.ActivityManager.StackId; import static android.app.ActivityManager.StackId.FREEFORM_WORKSPACE_STACK_ID; import static android.app.ActivityManager.StackId.PINNED_STACK_ID; import static android.content.pm.ActivityInfo.FLAG_ON_TOP_LAUNCHER; import static android.content.pm.ActivityInfo.RESIZE_MODE_CROP_WINDOWS; import static android.content.pm.ActivityInfo.FLAG_ALWAYS_FOCUSABLE; import static android.content.pm.ActivityInfo.RESIZE_MODE_RESIZEABLE; Loading Loading @@ -858,6 +859,10 @@ final class ActivityRecord { return (info.flags & FLAG_ALWAYS_FOCUSABLE) != 0; } boolean isOnTopLauncher() { return isHomeActivity() && (info.flags & FLAG_ON_TOP_LAUNCHER) != 0; } void makeFinishingLocked() { if (!finishing) { if (task != null && task.stack != null Loading