Loading api/current.xml +11 −11 Original line number Diff line number Diff line Loading @@ -48675,6 +48675,17 @@ visibility="public" > </field> <field name="FLAG_IMMERSIVE" type="int" transient="false" volatile="false" value="512" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="FLAG_MULTIPROCESS" type="int" transient="false" Loading Loading @@ -191623,17 +191634,6 @@ visibility="public" > </field> <field name="FLAG_IMMERSIVE" type="int" transient="false" volatile="false" value="8388608" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="FLAG_KEEP_SCREEN_ON" type="int" transient="false" core/java/android/content/pm/ActivityInfo.java +21 −2 Original line number Diff line number Diff line Loading @@ -149,14 +149,33 @@ public class ActivityInfo extends ComponentInfo * {@link android.R.attr#finishOnCloseSystemDialogs} attribute. */ public static final int FLAG_FINISH_ON_CLOSE_SYSTEM_DIALOGS = 0x0100; /** * Bit in {@link #flags} corresponding to an immersive activity * that wishes not to be interrupted by notifications. * Applications that hide the system notification bar with * {@link android.view.WindowManager.LayoutParams#FLAG_FULLSCREEN} * may still be interrupted by high-priority notifications; for example, an * incoming phone call may use * {@link * android.app.Notification#fullScreenIntent fullScreenIntent} * to present a full-screen in-call activity to the user, pausing the * current activity as a side-effect. An activity with * {@link #FLAG_IMMERSIVE} set, however, will not be interrupted; the * notification may be shown in some other way (such as a small floating * "toast" window). * {@see android.app.Notification#FLAG_HIGH_PRIORITY} */ public static final int FLAG_IMMERSIVE = 0x0200; /** * Options that have been set in the activity declaration in the * manifest: {@link #FLAG_MULTIPROCESS}, * manifest. * These include: * {@link #FLAG_MULTIPROCESS}, * {@link #FLAG_FINISH_ON_TASK_LAUNCH}, {@link #FLAG_CLEAR_TASK_ON_LAUNCH}, * {@link #FLAG_ALWAYS_RETAIN_TASK_STATE}, * {@link #FLAG_STATE_NOT_NEEDED}, {@link #FLAG_EXCLUDE_FROM_RECENTS}, * {@link #FLAG_ALLOW_TASK_REPARENTING}, {@link #FLAG_NO_HISTORY}, * {@link #FLAG_FINISH_ON_CLOSE_SYSTEM_DIALOGS}. * {@link #FLAG_FINISH_ON_CLOSE_SYSTEM_DIALOGS}, * {@link #FLAG_IMMERSIVE} */ public int flags; Loading core/java/android/content/pm/PackageParser.java +6 −0 Original line number Diff line number Diff line Loading @@ -1887,6 +1887,12 @@ public class PackageParser { a.info.flags |= ActivityInfo.FLAG_FINISH_ON_CLOSE_SYSTEM_DIALOGS; } if (sa.getBoolean( com.android.internal.R.styleable.AndroidManifestActivity_immersive, false)) { a.info.flags |= ActivityInfo.FLAG_IMMERSIVE; } if (!receiver) { a.info.launchMode = sa.getInt( com.android.internal.R.styleable.AndroidManifestActivity_launchMode, Loading core/java/android/view/WindowManager.java +0 −13 Original line number Diff line number Diff line Loading @@ -584,19 +584,6 @@ public interface WindowManager extends ViewManager { */ public static final int FLAG_DISMISS_KEYGUARD = 0x00400000; /** Window flag: This window corresponds to an immersive activity * that wishes not to be interrupted with notifications. In general, * applications may simply hide the status bar with * {@link #FLAG_FULLSCREEN} to suppress most notifications, but will * still be interrupted by those with * {@link android.app.Notification#fullScreenIntent fullScreenIntent} * set (example: an incoming call). Setting {@link #FLAG_IMMERSIVE} * will suppress the full-screen intent and show the status bar * briefly for those important notifications instead. * {@see android.app.Notification#FLAG_HIGH_PRIORITY} */ public static final int FLAG_IMMERSIVE = 0x00800000; /** Window flag: *sigh* The lock screen wants to continue running its * animation while it is fading. A kind-of hack to allow this. Maybe * in the future we just make this the default behavior. Loading core/res/res/values/attrs_manifest.xml +5 −0 Original line number Diff line number Diff line Loading @@ -402,6 +402,10 @@ participate in data synchronization. --> <attr name="syncable" format="boolean" /> <!-- Flag declaring this activity to be 'immersive'; immersive activities should not be interrupted with other activities or notifications. --> <attr name="immersive" format="boolean" /> <!-- Specify the order in which content providers hosted by a process are instantiated when that process is created. Not needed unless you have providers with dependencies between each other, to make Loading Loading @@ -1205,6 +1209,7 @@ this activity. A value besides "unspecified" here overrides any value in the theme. --> <attr name="windowSoftInputMode" /> <attr name="immersive" /> </declare-styleable> <!-- The <code>activity-alias</code> tag declares a new Loading Loading
api/current.xml +11 −11 Original line number Diff line number Diff line Loading @@ -48675,6 +48675,17 @@ visibility="public" > </field> <field name="FLAG_IMMERSIVE" type="int" transient="false" volatile="false" value="512" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="FLAG_MULTIPROCESS" type="int" transient="false" Loading Loading @@ -191623,17 +191634,6 @@ visibility="public" > </field> <field name="FLAG_IMMERSIVE" type="int" transient="false" volatile="false" value="8388608" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="FLAG_KEEP_SCREEN_ON" type="int" transient="false"
core/java/android/content/pm/ActivityInfo.java +21 −2 Original line number Diff line number Diff line Loading @@ -149,14 +149,33 @@ public class ActivityInfo extends ComponentInfo * {@link android.R.attr#finishOnCloseSystemDialogs} attribute. */ public static final int FLAG_FINISH_ON_CLOSE_SYSTEM_DIALOGS = 0x0100; /** * Bit in {@link #flags} corresponding to an immersive activity * that wishes not to be interrupted by notifications. * Applications that hide the system notification bar with * {@link android.view.WindowManager.LayoutParams#FLAG_FULLSCREEN} * may still be interrupted by high-priority notifications; for example, an * incoming phone call may use * {@link * android.app.Notification#fullScreenIntent fullScreenIntent} * to present a full-screen in-call activity to the user, pausing the * current activity as a side-effect. An activity with * {@link #FLAG_IMMERSIVE} set, however, will not be interrupted; the * notification may be shown in some other way (such as a small floating * "toast" window). * {@see android.app.Notification#FLAG_HIGH_PRIORITY} */ public static final int FLAG_IMMERSIVE = 0x0200; /** * Options that have been set in the activity declaration in the * manifest: {@link #FLAG_MULTIPROCESS}, * manifest. * These include: * {@link #FLAG_MULTIPROCESS}, * {@link #FLAG_FINISH_ON_TASK_LAUNCH}, {@link #FLAG_CLEAR_TASK_ON_LAUNCH}, * {@link #FLAG_ALWAYS_RETAIN_TASK_STATE}, * {@link #FLAG_STATE_NOT_NEEDED}, {@link #FLAG_EXCLUDE_FROM_RECENTS}, * {@link #FLAG_ALLOW_TASK_REPARENTING}, {@link #FLAG_NO_HISTORY}, * {@link #FLAG_FINISH_ON_CLOSE_SYSTEM_DIALOGS}. * {@link #FLAG_FINISH_ON_CLOSE_SYSTEM_DIALOGS}, * {@link #FLAG_IMMERSIVE} */ public int flags; Loading
core/java/android/content/pm/PackageParser.java +6 −0 Original line number Diff line number Diff line Loading @@ -1887,6 +1887,12 @@ public class PackageParser { a.info.flags |= ActivityInfo.FLAG_FINISH_ON_CLOSE_SYSTEM_DIALOGS; } if (sa.getBoolean( com.android.internal.R.styleable.AndroidManifestActivity_immersive, false)) { a.info.flags |= ActivityInfo.FLAG_IMMERSIVE; } if (!receiver) { a.info.launchMode = sa.getInt( com.android.internal.R.styleable.AndroidManifestActivity_launchMode, Loading
core/java/android/view/WindowManager.java +0 −13 Original line number Diff line number Diff line Loading @@ -584,19 +584,6 @@ public interface WindowManager extends ViewManager { */ public static final int FLAG_DISMISS_KEYGUARD = 0x00400000; /** Window flag: This window corresponds to an immersive activity * that wishes not to be interrupted with notifications. In general, * applications may simply hide the status bar with * {@link #FLAG_FULLSCREEN} to suppress most notifications, but will * still be interrupted by those with * {@link android.app.Notification#fullScreenIntent fullScreenIntent} * set (example: an incoming call). Setting {@link #FLAG_IMMERSIVE} * will suppress the full-screen intent and show the status bar * briefly for those important notifications instead. * {@see android.app.Notification#FLAG_HIGH_PRIORITY} */ public static final int FLAG_IMMERSIVE = 0x00800000; /** Window flag: *sigh* The lock screen wants to continue running its * animation while it is fading. A kind-of hack to allow this. Maybe * in the future we just make this the default behavior. Loading
core/res/res/values/attrs_manifest.xml +5 −0 Original line number Diff line number Diff line Loading @@ -402,6 +402,10 @@ participate in data synchronization. --> <attr name="syncable" format="boolean" /> <!-- Flag declaring this activity to be 'immersive'; immersive activities should not be interrupted with other activities or notifications. --> <attr name="immersive" format="boolean" /> <!-- Specify the order in which content providers hosted by a process are instantiated when that process is created. Not needed unless you have providers with dependencies between each other, to make Loading Loading @@ -1205,6 +1209,7 @@ this activity. A value besides "unspecified" here overrides any value in the theme. --> <attr name="windowSoftInputMode" /> <attr name="immersive" /> </declare-styleable> <!-- The <code>activity-alias</code> tag declares a new Loading