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

Commit 6a96ac83 authored by Ebru Kurnaz's avatar Ebru Kurnaz
Browse files

Check both content mode and sys decor flag to get system decoration callbacks...

Check both content mode and sys decor flag to get system decoration callbacks from window manager. This is needed as there is no guarantee content mode will be enabled everytime sys decor flag is enabled.

Bug: 422070126
Test: NA
Flag: EXEMPT bug fix
Change-Id: I97e43908138980bb0853fecadd84275808876059
parent 6df01cc2
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -16,11 +16,11 @@

package com.android.systemui.display.data.repository

import android.window.DesktopExperienceFlags
import com.android.app.displaylib.DisplayRepository as DisplayRepositoryFromLib
import com.android.app.displaylib.DisplaysWithDecorationsRepository
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.display.dagger.SystemUIDisplaySubcomponent.DisplayLib
import com.android.systemui.display.flags.WmCallbackForSysDecorFlag
import javax.inject.Inject

/**
@@ -41,9 +41,7 @@ constructor(
    private val displaysWithDecorationsRepositoryImplFromLib: DisplaysWithDecorationsRepository,
) :
    DisplayRepositoryFromLib by displayRepositoryFromLib,
    DisplaysWithDecorationsRepository by (if (
        DesktopExperienceFlags.ENABLE_SYS_DECORS_CALLBACKS_VIA_WM.isTrue()
    ) {
    DisplaysWithDecorationsRepository by (if (WmCallbackForSysDecorFlag.isEnabled) {
        displaysWithDecorationsRepositoryImplFromLib
    } else {
        displaysWithDecorationsRepositoryImpl
+4 −3
Original line number Diff line number Diff line
@@ -36,7 +36,7 @@ object WmCallbackForSysDecorFlag {
     */
    private const val ENABLED_BY_DESKTOP_EXPERIENCE_DEV_OPTION = false

    val FLAG =
    private val FLAG =
        DesktopExperienceFlags.DesktopExperienceFlag(
            Flags::enableSysDecorsCallbacksViaWm,
            /* shouldOverrideByDevOption= */ ENABLED_BY_DESKTOP_EXPERIENCE_DEV_OPTION,
@@ -45,8 +45,9 @@ object WmCallbackForSysDecorFlag {

    /** Is the refactor enabled */
    @JvmStatic
    inline val isEnabled: Boolean
        get() = FLAG.isTrue
    val isEnabled: Boolean
        get() =
            FLAG.isTrue && DesktopExperienceFlags.ENABLE_DISPLAY_CONTENT_MODE_MANAGEMENT.isTrue()

    /**
     * Called to ensure code is only run when the flag is enabled. This protects users from the
+1 −1
Original line number Diff line number Diff line
@@ -147,7 +147,7 @@ public class NavigationBarControllerImpl implements
        mDisplayTracker = displayTracker;
        mDisplayManager = mContext.getSystemService(DisplayManager.class);
        commandQueue.addCallback(mCommandQueueCallbacks);
        if (DesktopExperienceFlags.ENABLE_SYS_DECORS_CALLBACKS_VIA_WM.isTrue()) {
        if (WmCallbackForSysDecorFlag.isEnabled()) {
            displaysWithDecorationsRepositoryCompat.registerDisplayDecorationListener(
                    mDisplayDecorationListener, mainCoroutineDispatcher);
        }