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

Commit ee725354 authored by Ahmed Mehfooz's avatar Ahmed Mehfooz
Browse files

[DesktopStatusBar] Add OngoingActivityChips

Test: manual
Bug: 433589833
Flag: com.android.systemui.status_bar_for_desktop
Change-Id: If1fbfa15e351b2ea5de3264d3b1cc0fe7b9624b2
parent 0036f991
Loading
Loading
Loading
Loading
+15 −1
Original line number Diff line number Diff line
@@ -38,14 +38,17 @@ import com.android.systemui.clock.ui.viewmodel.AmPmStyle
import com.android.systemui.clock.ui.viewmodel.ClockViewModel
import com.android.systemui.common.shared.model.Icon
import com.android.systemui.common.ui.compose.Icon
import com.android.systemui.compose.modifiers.sysUiResTagContainer
import com.android.systemui.lifecycle.rememberViewModel
import com.android.systemui.media.controls.ui.controller.MediaHierarchyManager
import com.android.systemui.media.controls.ui.view.MediaHost
import com.android.systemui.res.R
import com.android.systemui.shade.ui.composable.ShadeHighlightChip
import com.android.systemui.shade.ui.composable.VariableDayDate
import com.android.systemui.statusbar.chips.ui.compose.OngoingActivityChips
import com.android.systemui.statusbar.featurepods.popups.StatusBarPopupChips
import com.android.systemui.statusbar.featurepods.popups.ui.compose.StatusBarPopupChipsContainer
import com.android.systemui.statusbar.notification.icon.ui.viewbinder.NotificationIconContainerViewBinder
import com.android.systemui.statusbar.phone.StatusBarLocation
import com.android.systemui.statusbar.phone.StatusIconContainer
import com.android.systemui.statusbar.phone.ui.StatusBarIconController
@@ -64,7 +67,7 @@ object DesktopStatusBar {
    }
}

// TODO(433589833): Add support for color themes in this composable.
// TODO(b/343358983): Add support for color themes in this composable.
/** Top level composable responsible for all UI shown for the Status Bar for DesktopMode. */
@Composable
fun DesktopStatusBar(
@@ -74,6 +77,7 @@ fun DesktopStatusBar(
    iconManagerFactory: TintedIconManager.Factory,
    mediaHierarchyManager: MediaHierarchyManager,
    mediaHost: MediaHost,
    iconViewStore: NotificationIconContainerViewBinder.IconViewStore?,
    modifier: Modifier = Modifier,
) {
    // TODO(433589833): Update padding values to match UX specs.
@@ -102,6 +106,16 @@ fun DesktopStatusBar(
            horizontalArrangement =
                Arrangement.spacedBy(DesktopStatusBar.Dimensions.ElementSpacing, Alignment.End)
        ) {
            val chipsVisibilityModel = viewModel.ongoingActivityChips
            if (chipsVisibilityModel.areChipsAllowed) {
                OngoingActivityChips(
                    chips = chipsVisibilityModel.chips,
                    iconViewStore = iconViewStore,
                    onChipBoundsChanged = viewModel::onChipBoundsChanged,
                    modifier = Modifier.sysUiResTagContainer(),
                )
            }

            if (StatusBarPopupChips.isEnabled) {
                StatusBarPopupChipsContainer(
                    chips = viewModel.popupChips,
+9 −3
Original line number Diff line number Diff line
@@ -233,6 +233,7 @@ fun StatusBarRoot(
            iconManagerFactory = tintedIconManagerFactory,
            mediaHierarchyManager = mediaHierarchyManager,
            mediaHost = mediaHost,
            iconViewStore = iconViewStore,
        )
        return
    }
@@ -308,7 +309,8 @@ fun StatusBarRoot(
                                    chips = statusBarViewModel.popupChips,
                                    mediaHost = mediaHost,
                                    onMediaControlPopupVisibilityChanged = { popupShowing ->
                                        mediaHierarchyManager.isMediaControlPopupShowing = popupShowing
                                        mediaHierarchyManager.isMediaControlPopupShowing =
                                            popupShowing
                                    },
                                )
                            }
@@ -319,7 +321,8 @@ fun StatusBarRoot(
                // If the flag is enabled, create and add a compose section to the end
                // of the system_icons container
                if (SystemStatusIconsInCompose.isEnabled) {
                    phoneStatusBarView.requireViewById<View>(R.id.system_icons).visibility = View.GONE
                    phoneStatusBarView.requireViewById<View>(R.id.system_icons).visibility =
                        View.GONE
                    addSystemStatusIconsComposable(phoneStatusBarView, statusBarViewModel)
                } else {
                    val statusIconContainer =
@@ -347,7 +350,10 @@ fun StatusBarRoot(
                    }
                }

                notificationIconsBinder.bindWhileAttached(notificationIconContainer, context.displayId)
                notificationIconsBinder.bindWhileAttached(
                    notificationIconContainer,
                    context.displayId,
                )

                if (StatusBarAlwaysUseRegionSampling.isAnyRegionSamplingEnabled) {
                    bindRegionSamplingViewModel(