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

Commit 2c84f4a8 authored by Pierre Barbier de Reuille's avatar Pierre Barbier de Reuille
Browse files

Using DesktopExperienceFlags for content mode management

Fix: 400441739
Flag: com.android.server.display.feature.flags.enable_display_content_mode_management
Test: Build and run
Change-Id: I76a9ce718fbcb972ecc6bee98d6fe68185f7050a
parent 88834a87
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ package com.android.systemui.navigationbar;

import static com.android.systemui.navigationbar.gestural.EdgeBackGestureHandler.DEBUG_MISSING_GESTURE_TAG;
import static com.android.systemui.shared.recents.utilities.Utilities.isLargeScreen;
import static com.android.server.display.feature.flags.Flags.enableDisplayContentModeManagement;
import static com.android.wm.shell.Flags.enableTaskbarNavbarUnification;
import static com.android.wm.shell.Flags.enableTaskbarOnPhones;

@@ -37,6 +36,7 @@ import android.view.Display;
import android.view.IWindowManager;
import android.view.View;
import android.view.WindowManagerGlobal;
import android.window.DesktopExperienceFlags;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -285,7 +285,7 @@ public class NavigationBarControllerImpl implements

        @Override
        public void onDisplayAddSystemDecorations(int displayId) {
            if (enableDisplayContentModeManagement()) {
            if (DesktopExperienceFlags.ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT.isTrue()) {
                mHasNavBar.put(displayId, true);
            }
            Display display = mDisplayManager.getDisplay(displayId);
+2 −2
Original line number Diff line number Diff line
@@ -99,7 +99,6 @@ import static com.android.internal.protolog.WmProtoLogGroups.WM_DEBUG_SCREEN_ON;
import static com.android.internal.protolog.WmProtoLogGroups.WM_DEBUG_WALLPAPER;
import static com.android.internal.protolog.WmProtoLogGroups.WM_SHOW_TRANSACTIONS;
import static com.android.internal.util.LatencyTracker.ACTION_ROTATE_SCREEN;
import static com.android.server.display.feature.flags.Flags.enableDisplayContentModeManagement;
import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_ANIM;
import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_CONFIG;
import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_LAYOUT;
@@ -236,6 +235,7 @@ import android.view.WindowManager;
import android.view.WindowManager.DisplayImePolicy;
import android.view.WindowManagerPolicyConstants.PointerEventListener;
import android.view.inputmethod.ImeTracker;
import android.window.DesktopExperienceFlags;
import android.window.DisplayWindowPolicyController;
import android.window.IDisplayAreaOrganizer;
import android.window.ScreenCapture;
@@ -3257,7 +3257,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp
    }

    void onDisplayInfoChangeApplied() {
        if (!enableDisplayContentModeManagement()) {
        if (!DesktopExperienceFlags.ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT.isTrue()) {
            Slog.e(TAG, "ShouldShowSystemDecors shouldn't be updated when the flag is off.");
        }

+3 −3
Original line number Diff line number Diff line
@@ -67,7 +67,6 @@ import static android.window.DisplayAreaOrganizer.FEATURE_UNDEFINED;

import static com.android.internal.protolog.WmProtoLogGroups.WM_DEBUG_ANIM;
import static com.android.internal.protolog.WmProtoLogGroups.WM_DEBUG_SCREEN_ON;
import static com.android.server.display.feature.flags.Flags.enableDisplayContentModeManagement;
import static com.android.server.policy.PhoneWindowManager.TOAST_WINDOW_TIMEOUT;
import static com.android.server.policy.WindowManagerPolicy.TRANSIT_PREVIEW_DONE;
import static com.android.server.policy.WindowManagerPolicy.WindowManagerFuncs.LID_ABSENT;
@@ -119,6 +118,7 @@ import android.view.WindowManager.LayoutParams;
import android.view.WindowManagerGlobal;
import android.view.accessibility.AccessibilityManager;
import android.window.ClientWindowFrames;
import android.window.DesktopExperienceFlags;
import android.window.DesktopModeFlags;

import com.android.internal.R;
@@ -747,7 +747,7 @@ public class DisplayPolicy {
    }

    void updateHasNavigationBarIfNeeded() {
        if (!enableDisplayContentModeManagement()) {
        if (!DesktopExperienceFlags.ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT.isTrue()) {
            Slog.e(TAG, "mHasNavigationBar shouldn't be updated when the flag is off.");
        }

@@ -1875,7 +1875,7 @@ public class DisplayPolicy {
    }

    void notifyDisplayAddSystemDecorations() {
        if (enableDisplayContentModeManagement()) {
        if (DesktopExperienceFlags.ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT.isTrue()) {
            final int displayId = getDisplayId();
            final boolean isSystemDecorationsSupported =
                    mDisplayContent.isSystemDecorationsSupported();
+2 −2
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@ import static android.view.WindowManager.REMOVE_CONTENT_MODE_DESTROY;
import static android.view.WindowManager.REMOVE_CONTENT_MODE_MOVE_TO_PRIMARY;
import static android.view.WindowManager.REMOVE_CONTENT_MODE_UNDEFINED;

import static com.android.server.display.feature.flags.Flags.enableDisplayContentModeManagement;
import static com.android.server.wm.DisplayContent.FORCE_SCALING_MODE_AUTO;
import static com.android.server.wm.DisplayContent.FORCE_SCALING_MODE_DISABLED;

@@ -37,6 +36,7 @@ import android.view.IWindowManager;
import android.view.Surface;
import android.view.WindowManager;
import android.view.WindowManager.DisplayImePolicy;
import android.window.DesktopExperienceFlags;

import com.android.server.policy.WindowManagerPolicy;
import com.android.server.wm.DisplayContent.ForceScalingMode;
@@ -255,7 +255,7 @@ class DisplayWindowSettings {
        final boolean changed = (shouldShow != shouldShowSystemDecorsLocked(dc));
        setShouldShowSystemDecorsInternalLocked(dc, shouldShow);

        if (enableDisplayContentModeManagement()) {
        if (DesktopExperienceFlags.ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT.isTrue()) {
            if (dc.isDefaultDisplay || dc.isPrivate() || !changed) {
                return;
            }
+6 −4
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ import static android.view.WindowManager.TRANSIT_NONE;
import static android.view.WindowManager.TRANSIT_PIP;
import static android.view.WindowManager.TRANSIT_SLEEP;
import static android.view.WindowManager.TRANSIT_WAKE;
import static android.window.DesktopExperienceFlags.ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT;

import static com.android.internal.protolog.WmProtoLogGroups.WM_DEBUG_FOCUS_LIGHT;
import static com.android.internal.protolog.WmProtoLogGroups.WM_DEBUG_KEEP_SCREEN_ON;
@@ -45,7 +46,6 @@ import static com.android.internal.protolog.WmProtoLogGroups.WM_DEBUG_STATES;
import static com.android.internal.protolog.WmProtoLogGroups.WM_DEBUG_TASKS;
import static com.android.internal.protolog.WmProtoLogGroups.WM_DEBUG_WALLPAPER;
import static com.android.internal.protolog.WmProtoLogGroups.WM_SHOW_SURFACE_ALLOC;
import static com.android.server.display.feature.flags.Flags.enableDisplayContentModeManagement;
import static com.android.server.policy.PhoneWindowManager.SYSTEM_DIALOG_REASON_ASSIST;
import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_LAYOUT;
import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER;
@@ -1371,7 +1371,8 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
        // When display content mode management flag is enabled, the task display area is marked as
        // removed when switching from extended display to mirroring display. We need to restart the
        // task display area before starting the home.
        if (enableDisplayContentModeManagement() && taskDisplayArea.shouldKeepNoTask()) {
        if (ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT.isTrue()
                && taskDisplayArea.shouldKeepNoTask()) {
            taskDisplayArea.setShouldKeepNoTask(false);
        }

@@ -2771,7 +2772,8 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
                return;
            }

            if (enableDisplayContentModeManagement() && display.allowContentModeSwitch()) {
            if (ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT.isTrue()
                    && display.allowContentModeSwitch()) {
                mWindowManager.mDisplayWindowSettings
                        .setShouldShowSystemDecorsInternalLocked(display,
                                display.mDisplay.canHostTasks());
@@ -2823,7 +2825,7 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
                displayContent.requestDisplayUpdate(
                        () -> {
                            clearDisplayInfoCaches(displayId);
                            if (enableDisplayContentModeManagement()) {
                            if (ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT.isTrue()) {
                                displayContent.onDisplayInfoChangeApplied();
                            }
                        });