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

Commit 16d238b8 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix taskbar visibility when shade moves display in flexiglass" into main

parents 3fc01416 ef31fdf1
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -64,7 +64,7 @@ class SceneContainerPluginTest : SysuiTestCase() {
    fun flagValueOverride_sameDisplayId_returnsTrue() {
        sceneDataSource.changeScene(Scenes.Shade)

        shadeDisplayRepository.setDisplayId(1)
        shadeDisplayRepository.setPendingDisplayId(1)

        assertThat(
                underTest.flagValueOverride(
@@ -80,7 +80,7 @@ class SceneContainerPluginTest : SysuiTestCase() {
    fun flagValueOverride_differentDisplayId_shadeGoesAroundFlagOff_returnsTrue() {
        sceneDataSource.changeScene(Scenes.Shade)

        shadeDisplayRepository.setDisplayId(1)
        shadeDisplayRepository.setPendingDisplayId(1)

        assertThat(
                underTest.flagValueOverride(
+3 −1
Original line number Diff line number Diff line
@@ -70,7 +70,9 @@ constructor(
    private val shadeDisplaysRepository: Lazy<ShadeDisplaysRepository>,
) : SceneContainerPlugin {

    private val shadeDisplayId: StateFlow<Int> by lazy { shadeDisplaysRepository.get().displayId }
    private val shadeDisplayId: StateFlow<Int> by lazy {
        shadeDisplaysRepository.get().pendingDisplayId
    }

    override fun flagValueOverride(@SystemUiStateFlags flag: Long, displayId: Int): Boolean? {
        if (!SceneContainerFlag.isEnabled) {
+10 −4
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import com.android.systemui.model.SysUiState.SysUiStateCallback
import com.android.systemui.shade.shared.flag.ShadeWindowGoesAround
import com.android.systemui.shared.system.QuickStepContract
import com.android.systemui.shared.system.QuickStepContract.SystemUiStateFlags
import com.android.systemui.shared.system.QuickStepContract.getSystemUiStateString
import dagger.assisted.Assisted
import dagger.assisted.AssistedFactory
import dagger.assisted.AssistedInject
@@ -157,10 +158,15 @@ constructor(

    /** Notify all those who are registered that the state has changed. */
    private fun notifyAndSetSystemUiStateChanged(newFlags: Long, oldFlags: Long) {
        if (newFlags != oldFlags) {
            if (SysUiState.DEBUG) {
            Log.d(TAG, "SysUiState changed for displayId=$displayId: old=$oldFlags new=$newFlags")
                Log.d(
                    TAG,
                    "SysUiState changed for displayId=$displayId: " +
                            "old=${getSystemUiStateString(oldFlags)} " +
                            "new=${getSystemUiStateString(newFlags)}",
                )
            }
        if (newFlags != oldFlags) {
            _flags = newFlags
            stateDispatcher.dispatchSysUIStateChange(newFlags, displayId)
        }
@@ -208,7 +214,7 @@ fun flagWithOptionalOverrides(
        if (SysUiState.DEBUG) {
            Log.d(
                TAG,
                "setFlag for flag $flag and value $toSet overridden to " +
                "setFlag for flag ${getSystemUiStateString(flag)} and value $toSet overridden to " +
                    "$overrideOrNull by scene container plugin",
            )
        }
+1 −1
Original line number Diff line number Diff line
@@ -782,7 +782,7 @@ constructor(
                        }
                }
                .distinctUntilChanged()
                .collect { (displayId: Int, flagMap) ->
                .collect { (displayId: Int, flagMap: List<Pair<Long, Boolean>>) ->
                    sysuiStateInteractor.setFlagsExclusivelyToDisplay(
                        targetDisplayId = displayId,
                        stateChanges = StateChange.from(flagMap),