diff options
2 files changed, 27 insertions, 13 deletions
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/qs/ui/composable/QuickSettingsShadeOverlay.kt b/packages/SystemUI/compose/features/src/com/android/systemui/qs/ui/composable/QuickSettingsShadeOverlay.kt index 547461e5faf2..a0216268308c 100644 --- a/packages/SystemUI/compose/features/src/com/android/systemui/qs/ui/composable/QuickSettingsShadeOverlay.kt +++ b/packages/SystemUI/compose/features/src/com/android/systemui/qs/ui/composable/QuickSettingsShadeOverlay.kt @@ -49,6 +49,8 @@ import com.android.compose.animation.scene.ContentScope import com.android.compose.animation.scene.ElementKey import com.android.compose.animation.scene.UserAction import com.android.compose.animation.scene.UserActionResult +import com.android.compose.animation.scene.content.state.TransitionState +import com.android.compose.modifiers.thenIf import com.android.systemui.brightness.ui.compose.BrightnessSliderContainer import com.android.systemui.compose.modifiers.sysuiResTag import com.android.systemui.dagger.SysUISingleton @@ -258,7 +260,11 @@ fun ContentScope.QuickSettingsLayout( BrightnessSliderContainer( viewModel = viewModel.brightnessSliderViewModel, containerColor = OverlayShade.Colors.PanelBackground, - modifier = Modifier.systemGestureExclusionInShade().fillMaxWidth(), + modifier = + Modifier.systemGestureExclusionInShade( + enabled = { layoutState.transitionState is TransitionState.Idle } + ) + .fillMaxWidth(), ) Box { @@ -289,18 +295,20 @@ object QuickSettingsShade { * right. */ @Composable - fun Modifier.systemGestureExclusionInShade(): Modifier { + fun Modifier.systemGestureExclusionInShade(enabled: () -> Boolean): 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(), - ), - ) + return thenIf(enabled()) { + Modifier.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(), + ), + ) + } } } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/composefragment/QSFragmentCompose.kt b/packages/SystemUI/src/com/android/systemui/qs/composefragment/QSFragmentCompose.kt index 5e7e0c97a147..8d69f7cf17d0 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/composefragment/QSFragmentCompose.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/composefragment/QSFragmentCompose.kt @@ -716,7 +716,13 @@ constructor( BrightnessSliderContainer( viewModel = containerViewModel.brightnessSliderViewModel, modifier = - Modifier.systemGestureExclusionInShade().fillMaxWidth(), + Modifier.systemGestureExclusionInShade( + enabled = { + layoutState.transitionState is + TransitionState.Idle + } + ) + .fillMaxWidth(), ) } val TileGrid = |