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

Commit c12a7bfd authored by Evan Laird's avatar Evan Laird
Browse files

[sb] Don't show notifs in view model if any chip is showing

This is the current behavior previous to status_bar_root_modernization,
so we should preserve it here

Bug: 364360986
Test: HomeStatusBarViewModelImplTest
Flag: com.android.systemui.status_bar_notification_chips
Change-Id: I98093976a19789d8809fc1ace8bda788d93145e8
parent 37ade7be
Loading
Loading
Loading
Loading
+125 −102

File changed.

Preview size limit exceeded, changes collapsed.

+16 −2
Original line number Original line Diff line number Diff line
@@ -32,6 +32,7 @@ import com.android.systemui.scene.domain.interactor.SceneInteractor
import com.android.systemui.scene.shared.flag.SceneContainerFlag
import com.android.systemui.scene.shared.flag.SceneContainerFlag
import com.android.systemui.scene.shared.model.Scenes
import com.android.systemui.scene.shared.model.Scenes
import com.android.systemui.shade.domain.interactor.ShadeInteractor
import com.android.systemui.shade.domain.interactor.ShadeInteractor
import com.android.systemui.statusbar.chips.notification.shared.StatusBarNotifChips
import com.android.systemui.statusbar.chips.ui.model.MultipleOngoingActivityChipsModel
import com.android.systemui.statusbar.chips.ui.model.MultipleOngoingActivityChipsModel
import com.android.systemui.statusbar.chips.ui.model.OngoingActivityChipModel
import com.android.systemui.statusbar.chips.ui.model.OngoingActivityChipModel
import com.android.systemui.statusbar.chips.ui.viewmodel.OngoingActivityChipsViewModel
import com.android.systemui.statusbar.chips.ui.viewmodel.OngoingActivityChipsViewModel
@@ -222,6 +223,13 @@ constructor(
            isHomeStatusBarAllowed && !isSecureCameraActive
            isHomeStatusBarAllowed && !isSecureCameraActive
        }
        }


    private val isAnyChipVisible =
        if (StatusBarNotifChips.isEnabled) {
            ongoingActivityChips.map { it.primary is OngoingActivityChipModel.Shown }
        } else {
            primaryOngoingActivityChip.map { it is OngoingActivityChipModel.Shown }
        }

    override val isClockVisible: Flow<VisibilityModel> =
    override val isClockVisible: Flow<VisibilityModel> =
        combine(
        combine(
            shouldHomeStatusBarBeVisible,
            shouldHomeStatusBarBeVisible,
@@ -234,10 +242,16 @@ constructor(
    override val isNotificationIconContainerVisible: Flow<VisibilityModel> =
    override val isNotificationIconContainerVisible: Flow<VisibilityModel> =
        combine(
        combine(
            shouldHomeStatusBarBeVisible,
            shouldHomeStatusBarBeVisible,
            isAnyChipVisible,
            collapsedStatusBarInteractor.visibilityViaDisableFlags,
            collapsedStatusBarInteractor.visibilityViaDisableFlags,
        ) { shouldStatusBarBeVisible, visibilityViaDisableFlags ->
        ) { shouldStatusBarBeVisible, anyChipVisible, visibilityViaDisableFlags ->
            val showNotificationIconContainer =
            val showNotificationIconContainer =
                shouldStatusBarBeVisible && visibilityViaDisableFlags.areNotificationIconsAllowed
                if (anyChipVisible) {
                    false
                } else {
                    shouldStatusBarBeVisible &&
                        visibilityViaDisableFlags.areNotificationIconsAllowed
                }
            VisibilityModel(
            VisibilityModel(
                showNotificationIconContainer.toVisibilityInt(),
                showNotificationIconContainer.toVisibilityInt(),
                visibilityViaDisableFlags.animate,
                visibilityViaDisableFlags.animate,