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

Commit ade5fd73 authored by Yunfan Chen's avatar Yunfan Chen Committed by Automerger Merge Worker
Browse files

Merge "Move ImmersiveModeConfirmation to system UI (4/n)" into udc-qpr-dev am: 640ee87e

parents 54f904f2 640ee87e
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -310,6 +310,16 @@ public final class ViewRootImpl implements ViewParent,
    public static final boolean CLIENT_TRANSIENT =
            SystemProperties.getBoolean("persist.wm.debug.client_transient", false);

    /**
     * Whether the client (system UI) is handling the immersive confirmation window. If
     * {@link CLIENT_TRANSIENT} is set to true, the immersive confirmation window will always be the
     * client instance and this flag will be ignored. Otherwise, the immersive confirmation window
     * can be switched freely by this flag.
     * @hide
     */
    public static final boolean CLIENT_IMMERSIVE_CONFIRMATION =
            SystemProperties.getBoolean("persist.wm.debug.client_immersive_confirmation", false);

    /**
     * Whether the client should compute the window frame on its own.
     * @hide
+15 −0
Original line number Diff line number Diff line
@@ -3098,6 +3098,16 @@ public interface WindowManager extends ViewManager {
         */
        public static final int PRIVATE_FLAG_SUSTAINED_PERFORMANCE_MODE = 1 << 16;

        /**
         * Flag to indicate that this window is a immersive mode confirmation window. The window
         * should be ignored when calculating insets control. This is used for prompt window
         * triggered by insets visibility changes. If it can take over the insets control, the
         * visibility will change unexpectedly and the window may dismiss itself. Power button panic
         * handling will be disabled when this window exists.
         * @hide
         */
        public static final int PRIVATE_FLAG_IMMERSIVE_CONFIRMATION_WINDOW = 1 << 17;

        /**
         * Flag to indicate that any window added by an application process that is of type
         * {@link #TYPE_TOAST} or that requires
@@ -3242,6 +3252,7 @@ public interface WindowManager extends ViewManager {
                PRIVATE_FLAG_LAYOUT_CHILD_WINDOW_IN_PARENT_FRAME,
                PRIVATE_FLAG_FORCE_DRAW_BAR_BACKGROUNDS,
                PRIVATE_FLAG_SUSTAINED_PERFORMANCE_MODE,
                PRIVATE_FLAG_IMMERSIVE_CONFIRMATION_WINDOW,
                SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS,
                PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY,
                PRIVATE_FLAG_EXCLUDE_FROM_SCREEN_MAGNIFICATION,
@@ -3325,6 +3336,10 @@ public interface WindowManager extends ViewManager {
                        mask = PRIVATE_FLAG_SUSTAINED_PERFORMANCE_MODE,
                        equals = PRIVATE_FLAG_SUSTAINED_PERFORMANCE_MODE,
                        name = "SUSTAINED_PERFORMANCE_MODE"),
                @ViewDebug.FlagToString(
                        mask = PRIVATE_FLAG_IMMERSIVE_CONFIRMATION_WINDOW,
                        equals = PRIVATE_FLAG_IMMERSIVE_CONFIRMATION_WINDOW,
                        name = "IMMERSIVE_CONFIRMATION_WINDOW"),
                @ViewDebug.FlagToString(
                        mask = SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS,
                        equals = SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS,
+13 −0
Original line number Diff line number Diff line
@@ -63,6 +63,19 @@ oneway interface IStatusBar
    void cancelPreloadRecentApps();
    void showScreenPinningRequest(int taskId);

    /**
     * Notify system UI the immersive prompt should be dismissed as confirmed, and the confirmed
     * status should be saved without user clicking on the button. This could happen when a user
     * swipe on the edge with the confirmation prompt showing.
     */
    void confirmImmersivePrompt();

    /**
     * Notify system UI the immersive mode changed. This shall be removed when client immersive is
     * enabled.
     */
    void immersiveModeChanged(int rootDisplayAreaId, boolean isImmersiveMode);

    void dismissKeyboardShortcutsMenu();
    void toggleKeyboardShortcutsMenu(int deviceId);

+1 −1
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval" >

    <solid android:color="@android:color/white" />
    <solid android:color="?android:attr/colorBackground" />

    <size
        android:height="56dp"
+1 −1
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval" >

    <solid android:color="#80ffffff" />
    <solid android:color="?android:attr/colorBackground" />

    <size
        android:height="76dp"
Loading