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

Commit 9c0df703 authored by Danny Burakov's avatar Danny Burakov Committed by Android (Google) Code Review
Browse files

Merge "[Dual Shade] Move build number to bottom of QS overlay" into main

parents 55740f38 aae077e5
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -68,6 +68,8 @@ import com.android.systemui.brightness.ui.compose.BrightnessSliderContainer
import com.android.systemui.brightness.ui.compose.ContainerColors
import com.android.systemui.compose.modifiers.sysuiResTag
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.development.ui.compose.BuildNumber
import com.android.systemui.development.ui.viewmodel.BuildNumberViewModel
import com.android.systemui.lifecycle.rememberViewModel
import com.android.systemui.media.remedia.ui.compose.Media
import com.android.systemui.media.remedia.ui.compose.MediaPresentationStyle
@@ -259,6 +261,7 @@ private fun ContentScope.QuickSettingsContainer(
                QuickSettingsLayout(
                    qsContainerViewModel = containerViewModel,
                    toolbarViewModelFactory = contentViewModel.toolbarViewModelFactory,
                    buildNumberViewModelFactory = contentViewModel.buildNumberViewModelFactory,
                    isTransparencyEnabled = contentViewModel.isTransparencyEnabled,
                    volumeSliderViewModel = contentViewModel.volumeSliderViewModel,
                    audioDetailsViewModelFactory = contentViewModel.audioDetailsViewModelFactory,
@@ -274,6 +277,7 @@ private fun ContentScope.QuickSettingsContainer(
private fun ContentScope.QuickSettingsLayout(
    qsContainerViewModel: QuickSettingsContainerViewModel,
    toolbarViewModelFactory: ToolbarViewModel.Factory,
    buildNumberViewModelFactory: BuildNumberViewModel.Factory,
    isTransparencyEnabled: Boolean,
    volumeSliderViewModel: AudioStreamSliderViewModel?,
    audioDetailsViewModelFactory: AudioDetailsViewModel.Factory,
@@ -399,6 +403,21 @@ private fun ContentScope.QuickSettingsLayout(
                enableRevealEffect = TileRevealFlag.isEnabled,
            )

            val buildNumberViewModel =
                rememberViewModel("QuickSettingsShadeOverlay.BuildNumber") {
                    buildNumberViewModelFactory.create()
                }

            if (buildNumberViewModel.buildNumber != null) {
                VerticalSeparator(QuickSettingsShade.Dimensions.ShortPadding)
                BuildNumber(
                    viewModel = buildNumberViewModel,
                    modifier =
                        Modifier.align(Alignment.Start)
                            .padding(start = QuickSettingsShade.Dimensions.Padding),
                )
            }

            VerticalSeparator(QuickSettingsShade.Dimensions.Padding)
        }
    }
+9 −0
Original line number Diff line number Diff line
@@ -48,6 +48,15 @@ fun BuildNumber(
) {
    val viewModel = rememberViewModel(traceName = "BuildNumber") { viewModelFactory.create() }

    BuildNumber(viewModel, modifier, textColor)
}

@Composable
fun BuildNumber(
    viewModel: BuildNumberViewModel,
    modifier: Modifier,
    textColor: Color = MaterialTheme.colorScheme.onSurface,
) {
    val buildNumber = viewModel.buildNumber

    if (buildNumber != null) {
+10 −12
Original line number Diff line number Diff line
@@ -18,9 +18,13 @@ package com.android.systemui.qs.panels.ui.compose.toolbar

import androidx.compose.animation.AnimatedContent
import androidx.compose.animation.AnimatedContentScope
import androidx.compose.animation.AnimatedVisibility
import androidx.compose.animation.ExperimentalSharedTransitionApi
import androidx.compose.animation.SharedTransitionLayout
import androidx.compose.animation.SharedTransitionScope
import androidx.compose.animation.core.tween
import androidx.compose.animation.fadeIn
import androidx.compose.animation.fadeOut
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Row
@@ -44,8 +48,6 @@ import com.android.compose.theme.LocalAndroidColorScheme
import com.android.systemui.common.shared.model.Icon
import com.android.systemui.common.ui.compose.load
import com.android.systemui.compose.modifiers.sysuiResTag
import com.android.systemui.development.ui.compose.BuildNumber
import com.android.systemui.development.ui.viewmodel.BuildNumberViewModel
import com.android.systemui.lifecycle.rememberViewModel
import com.android.systemui.qs.footer.ui.viewmodel.FooterActionsButtonViewModel
import com.android.systemui.qs.panels.ui.compose.toolbar.Toolbar.TransitionKeys.SecurityInfoKey
@@ -139,7 +141,6 @@ private fun SharedTransitionScope.StandardToolbarLayout(
        // Text feedback chip / build number
        ToolbarTextFeedback(
            viewModelFactory = viewModel.textFeedbackContentViewModelFactory,
            buildNumberViewModelFactory = viewModel.buildNumberViewModelFactory,
            modifier = Modifier.weight(1f).align(Alignment.CenterVertically),
        )
    }
@@ -194,7 +195,6 @@ private fun ToolbarIcon(icon: Icon, modifier: Modifier = Modifier, tint: Color)
@Composable
private fun ToolbarTextFeedback(
    viewModelFactory: TextFeedbackContentViewModel.Factory,
    buildNumberViewModelFactory: BuildNumberViewModel.Factory,
    modifier: Modifier,
) {
    Box(modifier = modifier) {
@@ -205,16 +205,14 @@ private fun ToolbarTextFeedback(
            }
        val hasTextFeedback = viewModel.textFeedback !is TextFeedbackViewModel.NoFeedback

        AnimatedContent(
            targetState = hasTextFeedback,
        AnimatedVisibility(
            visible = hasTextFeedback,
            modifier = Modifier.align(Alignment.Center),
            label = "Toolbar.ToolbarTextFeedback",
        ) { showTextFeedback ->
            if (showTextFeedback) {
            enter = fadeIn(tween(durationMillis = 200)),
            exit = fadeOut(tween(durationMillis = 200)),
        ) {
            TextFeedback(model = viewModel.textFeedback)
            } else {
                BuildNumber(viewModelFactory = buildNumberViewModelFactory)
            }
        }
    }
}
+0 −2
Original line number Diff line number Diff line
@@ -25,7 +25,6 @@ import com.android.systemui.animation.Expandable
import com.android.systemui.classifier.domain.interactor.FalsingInteractor
import com.android.systemui.classifier.domain.interactor.runIfNotFalseTap
import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.development.ui.viewmodel.BuildNumberViewModel
import com.android.systemui.globalactions.GlobalActionsDialogLite
import com.android.systemui.lifecycle.ExclusiveActivatable
import com.android.systemui.lifecycle.Hydrator
@@ -56,7 +55,6 @@ class ToolbarViewModel
@AssistedInject
constructor(
    val editModeButtonViewModelFactory: EditModeButtonViewModel.Factory,
    val buildNumberViewModelFactory: BuildNumberViewModel.Factory,
    val textFeedbackContentViewModelFactory: TextFeedbackContentViewModel.Factory,
    private val footerActionsInteractor: FooterActionsInteractor,
    private val globalActionsDialogLiteProvider: Provider<GlobalActionsDialogLite>,
+2 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import com.android.settingslib.volume.shared.model.AudioStream
import com.android.systemui.Flags
import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.desktop.domain.interactor.DesktopInteractor
import com.android.systemui.development.ui.viewmodel.BuildNumberViewModel
import com.android.systemui.lifecycle.ExclusiveActivatable
import com.android.systemui.lifecycle.Hydrator
import com.android.systemui.qs.flags.QsDetailedView
@@ -71,6 +72,7 @@ constructor(
    val desktopInteractor: DesktopInteractor,
    audioStreamSliderViewModelFactory: AudioStreamSliderViewModel.Factory,
    val audioDetailsViewModelFactory: AudioDetailsViewModel.Factory,
    val buildNumberViewModelFactory: BuildNumberViewModel.Factory,
    @ShadeDisplayAware shadeContext: Context,
    val shadeInteractor: ShadeInteractor,
    val shadeModeInteractor: ShadeModeInteractor,
Loading