Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 611fae4c authored by Daniel Sandler's avatar Daniel Sandler
Browse files

New API for "immersive" activity windows.

An "immersive" activity (as indicated by the new
FLAG_IMMERSIVE) is one that wishes to avoid being paused by
full-screen notifications (like an incoming call).
An activity that sets FLAG_IMMERSIVE on its window is
sending a signal to the notification manager, status bar,
etc. that they should try to find some other way to get the
user's attention in high-priority situations.

FLAG_IMMERSIVE should be used exclusively in conjunction
with FLAG_FULL_SCREEN (that is, only activities that hide
the status bar should consider themselves immersive).

Change-Id: Ie290c2e92fc391bcf55edfdb1fbd626cd284e3e2
parent e46cbd37
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -188146,6 +188146,16 @@
 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"
+14 −1
Original line number Diff line number Diff line
@@ -583,6 +583,19 @@ public interface WindowManager extends ViewManager {
         * also been set. */
        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} 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 also
         * {@link 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.