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

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

Merge "Add systemGestureExclude rect to brightness slider" into main

parents 43c1a3d0 29466d4c
Loading
Loading
Loading
Loading
+26 −5
Original line number Diff line number Diff line
@@ -26,16 +26,19 @@ import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.requiredHeight
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.systemGestureExclusion
import androidx.compose.foundation.verticalScroll
import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.getValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.geometry.Rect
import androidx.compose.ui.geometry.Size
import androidx.compose.ui.graphics.graphicsLayer
import androidx.compose.ui.layout.boundsInWindow
import androidx.compose.ui.layout.onPlaced
@@ -59,6 +62,7 @@ import com.android.systemui.qs.panels.ui.compose.EditMode
import com.android.systemui.qs.panels.ui.compose.TileDetails
import com.android.systemui.qs.panels.ui.compose.TileGrid
import com.android.systemui.qs.panels.ui.compose.toolbar.Toolbar
import com.android.systemui.qs.ui.composable.QuickSettingsShade.systemGestureExclusionInShade
import com.android.systemui.qs.ui.viewmodel.QuickSettingsContainerViewModel
import com.android.systemui.qs.ui.viewmodel.QuickSettingsShadeOverlayActionsViewModel
import com.android.systemui.qs.ui.viewmodel.QuickSettingsShadeOverlayContentViewModel
@@ -254,9 +258,7 @@ fun ContentScope.QuickSettingsLayout(
            BrightnessSliderContainer(
                viewModel = viewModel.brightnessSliderViewModel,
                containerColor = OverlayShade.Colors.PanelBackground,
                modifier =
                    Modifier.fillMaxWidth()
                        .height(QuickSettingsShade.Dimensions.BrightnessSliderHeight),
                modifier = Modifier.systemGestureExclusionInShade().fillMaxWidth(),
            )

            Box {
@@ -280,6 +282,25 @@ object QuickSettingsShade {
    object Dimensions {
        val Padding = 16.dp
        val ToolbarHeight = 48.dp
        val BrightnessSliderHeight = 64.dp
    }

    /**
     * Applies system gesture exclusion to a component adding [Dimensions.Padding] to left and
     * right.
     */
    @Composable
    fun Modifier.systemGestureExclusionInShade(): Modifier {
        val density = LocalDensity.current
        return systemGestureExclusion { layoutCoordinates ->
            val sidePadding = with(density) { Dimensions.Padding.toPx() }
            Rect(
                offset = Offset(x = -sidePadding, y = 0f),
                size =
                    Size(
                        width = layoutCoordinates.size.width.toFloat() + 2 * sidePadding,
                        height = layoutCoordinates.size.height.toFloat(),
                    ),
            )
        }
    }
}
+8 −1
Original line number Diff line number Diff line
@@ -70,6 +70,7 @@ import androidx.compose.ui.unit.DpSize
import androidx.compose.ui.unit.dp
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.android.app.tracing.coroutines.launchTraced as launch
import com.android.compose.modifiers.padding
import com.android.compose.ui.graphics.drawInOverlay
import com.android.systemui.Flags
import com.android.systemui.biometrics.Utils.toBitmap
@@ -348,7 +349,13 @@ fun BrightnessSliderContainer(

    DisposableEffect(Unit) { onDispose { viewModel.setIsDragging(false) } }

    Box(modifier = modifier.fillMaxWidth().sysuiResTag("brightness_slider")) {
    Box(
        modifier =
            modifier
                .padding(vertical = { SliderBackgroundFrameSize.height.roundToPx() })
                .fillMaxWidth()
                .sysuiResTag("brightness_slider")
    ) {
        BrightnessSlider(
            gammaValue = gamma,
            valueRange = viewModel.minBrightness.value..viewModel.maxBrightness.value,
+2 −5
Original line number Diff line number Diff line
@@ -42,7 +42,6 @@ import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.offset
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.requiredHeightIn
@@ -128,6 +127,7 @@ import com.android.systemui.qs.panels.ui.compose.QuickQuickSettings
import com.android.systemui.qs.panels.ui.compose.TileGrid
import com.android.systemui.qs.shared.ui.ElementKeys
import com.android.systemui.qs.ui.composable.QuickSettingsShade
import com.android.systemui.qs.ui.composable.QuickSettingsShade.systemGestureExclusionInShade
import com.android.systemui.qs.ui.composable.QuickSettingsTheme
import com.android.systemui.res.R
import com.android.systemui.util.LifecycleFragment
@@ -716,10 +716,7 @@ constructor(
                                BrightnessSliderContainer(
                                    viewModel = containerViewModel.brightnessSliderViewModel,
                                    modifier =
                                        Modifier.fillMaxWidth()
                                            .height(
                                                QuickSettingsShade.Dimensions.BrightnessSliderHeight
                                            ),
                                        Modifier.systemGestureExclusionInShade().fillMaxWidth(),
                                )
                            }
                        val TileGrid =
+1 −6
Original line number Diff line number Diff line
@@ -17,7 +17,6 @@
package com.android.systemui.settings.brightness

import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.ComposeView
@@ -26,7 +25,6 @@ import com.android.compose.theme.PlatformTheme
import com.android.systemui.brightness.ui.compose.BrightnessSliderContainer
import com.android.systemui.brightness.ui.viewmodel.BrightnessSliderViewModel
import com.android.systemui.lifecycle.rememberViewModel
import com.android.systemui.qs.ui.composable.QuickSettingsShade

object ComposeDialogComposableProvider {

@@ -46,10 +44,7 @@ private fun BrightnessSliderForDialog(
        rememberViewModel(traceName = "BrightnessDialog.viewModel") {
            brightnessSliderViewModelFactory.create(false)
        }
    BrightnessSliderContainer(
        viewModel = viewModel,
        Modifier.fillMaxWidth().height(QuickSettingsShade.Dimensions.BrightnessSliderHeight),
    )
    BrightnessSliderContainer(viewModel = viewModel, Modifier.fillMaxWidth())
}

class ComposableProvider(