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

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

Merge "Enable the QS edit mode tooltip for dual shade" into main

parents 1b9e1815 aa0d0f22
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -300,6 +300,7 @@ private fun ContentScope.QuickSettingsLayout(
            modifier =
                Modifier.fillMaxWidth().requiredHeight(QuickSettingsShade.Dimensions.ToolbarHeight),
            viewModel = toolbarViewModel,
            isFullyVisible = { layoutState.isIdle(contentKey) },
        )

        VerticalSeparator(QuickSettingsShade.Dimensions.ShortPadding)
+1 −7
Original line number Diff line number Diff line
@@ -40,14 +40,12 @@ import androidx.compose.ui.res.integerResource
import androidx.compose.ui.unit.Velocity
import androidx.compose.ui.unit.dp
import com.android.compose.animation.scene.ContentScope
import com.android.compose.animation.scene.content.state.TransitionState
import com.android.compose.modifiers.padding
import com.android.systemui.common.ui.compose.PagerDots
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.composefragment.SceneKeys
import com.android.systemui.qs.panels.dagger.PaginatedBaseLayoutType
import com.android.systemui.qs.panels.ui.compose.Dimensions.FooterHeight
import com.android.systemui.qs.panels.ui.compose.Dimensions.InterPageSpacing
@@ -155,11 +153,7 @@ constructor(
                pagerState = pagerState,
                showArrowsInPager = viewModel.showArrowsInPagerDots,
                editButtonViewModelFactory = viewModel.editModeButtonViewModelFactory,
                isVisible = {
                    with(layoutState.transitionState) {
                        currentScene == SceneKeys.QuickSettings && this is TransitionState.Idle
                    }
                },
                isVisible = { listening() && layoutState.isIdle() },
            )
        }
    }
+1 −2
Original line number Diff line number Diff line
@@ -78,7 +78,6 @@ fun EditModeButton(
    viewModel: EditModeButtonViewModel,
    modifier: Modifier = Modifier,
    isVisible: Boolean = true,
    tooltipEnabled: Boolean = true,
) {
    if (!viewModel.isEditButtonVisible) {
        return
@@ -87,7 +86,7 @@ fun EditModeButton(
        value = LocalContentColor provides MaterialTheme.colorScheme.onSurface
    ) {
        val tooltipState = rememberTooltipState(isPersistent = true)
        val showTooltip = tooltipEnabled && isVisible && viewModel.showTooltip
        val showTooltip = isVisible && viewModel.showTooltip
        LaunchedEffect(showTooltip) { if (showTooltip) tooltipState.show() }

        // Make sure to dismiss the tooltip if it's still visible when it shouldn't be due to always
+12 −4
Original line number Diff line number Diff line
@@ -56,7 +56,11 @@ import com.android.systemui.qs.ui.compose.borderOnFocus

@OptIn(ExperimentalSharedTransitionApi::class)
@Composable
fun Toolbar(viewModel: ToolbarViewModel, modifier: Modifier = Modifier) {
fun Toolbar(
    viewModel: ToolbarViewModel,
    isFullyVisible: () -> Boolean,
    modifier: Modifier = Modifier,
) {
    Row(modifier = modifier, verticalAlignment = Alignment.CenterVertically) {
        val securityInfoCollapsed = viewModel.securityInfoShowCollapsed

@@ -67,7 +71,11 @@ fun Toolbar(viewModel: ToolbarViewModel, modifier: Modifier = Modifier) {
                label = "Toolbar.CollapsedSecurityInfo",
            ) { securityInfoCollapsed ->
                if (securityInfoCollapsed) {
                    StandardToolbarLayout(animatedContentScope = this@AnimatedContent, viewModel)
                    StandardToolbarLayout(
                        animatedContentScope = this@AnimatedContent,
                        viewModel,
                        isFullyVisible,
                    )
                } else {
                    SecurityInfo(
                        viewModel = viewModel.securityInfoViewModel,
@@ -94,6 +102,7 @@ fun Toolbar(viewModel: ToolbarViewModel, modifier: Modifier = Modifier) {
private fun SharedTransitionScope.StandardToolbarLayout(
    animatedContentScope: AnimatedContentScope,
    viewModel: ToolbarViewModel,
    isFullyVisible: () -> Boolean,
    modifier: Modifier = Modifier,
) {
    Row(modifier) {
@@ -106,10 +115,9 @@ private fun SharedTransitionScope.StandardToolbarLayout(
        )

        // Edit mode button
        // TODO(b/410843063): Support the tooltip in DualShade
        val editModeButtonViewModel =
            rememberViewModel("Toolbar") { viewModel.editModeButtonViewModelFactory.create() }
        EditModeButton(editModeButtonViewModel, tooltipEnabled = false)
        EditModeButton(editModeButtonViewModel, isVisible = isFullyVisible())

        // Settings button
        IconButton(