Loading packages/SystemUI/compose/features/src/com/android/systemui/qs/ui/composable/QuickSettingsScene.kt +1 −3 Original line number Diff line number Diff line Loading @@ -72,7 +72,6 @@ import com.android.systemui.compose.modifiers.sysuiResTag import com.android.systemui.dagger.SysUISingleton import com.android.systemui.lifecycle.ExclusiveActivatable import com.android.systemui.lifecycle.rememberViewModel import com.android.systemui.media.controls.ui.composable.isLandscape import com.android.systemui.media.remedia.ui.compose.Media import com.android.systemui.media.remedia.ui.compose.MediaPresentationStyle import com.android.systemui.notifications.ui.composable.HeadsUpNotificationSpace Loading Loading @@ -222,8 +221,7 @@ private fun ContentScope.QuickSettingsScene( WindowInsets.navigationBars.asPaddingValues().calculateBottomPadding() // ############# Media ############### val isMediaVisible = viewModel.qsContainerViewModel.showMedia val mediaInRow = isMediaVisible && isLandscape() val mediaInRow = viewModel.qsContainerViewModel.showMediaInRow ShadePanelScrim(viewModel.isTransparencyEnabled) Column( Loading packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainer.kt +6 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ import com.android.compose.gesture.effect.rememberOffsetOverscrollEffectFactory import com.android.systemui.keyguard.ui.composable.blueprint.rememberBurnIn import com.android.systemui.keyguard.ui.composable.modifier.burnInAware import com.android.systemui.lifecycle.rememberActivated import com.android.systemui.lifecycle.rememberViewModel import com.android.systemui.qs.ui.adapter.QSSceneAdapter import com.android.systemui.qs.ui.composable.QuickSettingsTheme import com.android.systemui.ribbon.ui.composable.BottomRightCornerRibbon Loading Loading @@ -106,11 +107,16 @@ fun SceneContainer( val hapticFeedback = LocalHapticFeedback.current val shadeExpansionMotion = OverlayShade.rememberShadeExpansionMotion(isFullWidthShade()) val animateQsTilesViewModel = rememberViewModel(traceName = "SceneContainer.animateQsTilesViewModel") { viewModel.animateQsTilesViewModelFactory.create() } val sceneTransitions = remember(hapticFeedback, shadeExpansionMotion) { transitionsBuilder.build( shadeExpansionMotion, viewModel.hapticsViewModel.getRevealHaptics(hapticFeedback), animateQsTilesViewModel, ) } Loading packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainerTransitions.kt +9 −9 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ import com.android.compose.animation.scene.transitions import com.android.internal.jank.Cuj import com.android.mechanics.behavior.VerticalExpandContainerSpec import com.android.systemui.notifications.ui.composable.Notifications import com.android.systemui.qs.panels.ui.viewmodel.AnimateQsTilesViewModel import com.android.systemui.scene.shared.model.Overlays import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.scene.shared.model.TransitionKeys.SlightlyFasterShadeCollapse Loading Loading @@ -49,16 +50,11 @@ import com.android.systemui.shade.ui.composable.Shade * * Please keep the list sorted alphabetically. */ class SceneContainerTransitions( /** * Pass to transitions that animate QS tiles to disable the shared element animation (e.g. * QuickSettings to Shade when QuickSettings is on the second page). */ private val animateQsTilesAsShared: () -> Boolean = { true } ) : SceneContainerTransitionsBuilder { class SceneContainerTransitions : SceneContainerTransitionsBuilder { override fun build( shadeExpansionMotion: VerticalExpandContainerSpec, revealHaptics: ContainerRevealHaptics, animateQsTilesViewModel: AnimateQsTilesViewModel, ): SceneTransitions { return transitions { interruptionHandler = DefaultInterruptionHandler Loading Loading @@ -153,7 +149,9 @@ class SceneContainerTransitions( cuj = Cuj.CUJ_NOTIFICATION_SHADE_QS_EXPAND_COLLAPSE, // NOTYPO ) { reversed { shadeToQuickSettingsTransition(animateQsTilesAsShared = animateQsTilesAsShared) shadeToQuickSettingsTransition( animateQsTilesAsShared = { animateQsTilesViewModel.animateQsTiles } ) } sharedElement( Notifications.Elements.HeadsUpNotificationPlaceholder, Loading @@ -165,7 +163,9 @@ class SceneContainerTransitions( to = Scenes.QuickSettings, cuj = Cuj.CUJ_NOTIFICATION_SHADE_QS_EXPAND_COLLAPSE, // NOTYPO ) { shadeToQuickSettingsTransition(animateQsTilesAsShared = animateQsTilesAsShared) shadeToQuickSettingsTransition( animateQsTilesAsShared = { animateQsTilesViewModel.animateQsTiles } ) } from( Scenes.Shade, Loading packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainerTransitionsBuilder.kt +3 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import com.android.compose.animation.scene.SceneTransitions import com.android.compose.animation.scene.reveal.ContainerRevealHaptics import com.android.compose.animation.scene.transitions import com.android.mechanics.behavior.VerticalExpandContainerSpec import com.android.systemui.qs.panels.ui.viewmodel.AnimateQsTilesViewModel /** * Builder of the comprehensive definition of all transitions between scenes and overlays in the Loading @@ -31,6 +32,7 @@ interface SceneContainerTransitionsBuilder { fun build( shadeExpansionMotion: VerticalExpandContainerSpec, revealHaptics: ContainerRevealHaptics, animateQsTilesViewModel: AnimateQsTilesViewModel, ): SceneTransitions } Loading @@ -44,5 +46,6 @@ class ConstantSceneContainerTransitionsBuilder( override fun build( shadeExpansionMotion: VerticalExpandContainerSpec, revealHaptics: ContainerRevealHaptics, animateQsTilesViewModel: AnimateQsTilesViewModel, ): SceneTransitions = transitions } packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/FromShadeToQuickSettingsTransition.kt +2 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ import com.android.compose.animation.scene.ElementKey import com.android.compose.animation.scene.ElementMatcher import com.android.compose.animation.scene.TransitionBuilder import com.android.compose.animation.scene.UserActionDistance import com.android.systemui.media.remedia.ui.compose.Media.Elements.mediaCarousel import com.android.systemui.notifications.ui.composable.Notifications import com.android.systemui.qs.shared.ui.ElementKeys import com.android.systemui.qs.ui.composable.QuickSettings Loading Loading @@ -42,6 +43,7 @@ fun TransitionBuilder.shadeToQuickSettingsTransition( // overlap. fractionRange(end = 0.5f) { fade(QqsTileElementMatcher) } anchoredTranslate(QqsTileElementMatcher, ElementKeys.GridAnchor) fade(mediaCarousel) val translationY = ShadeHeader.Dimensions.CollapsedHeightForTransitions translate(ShadeHeader.Elements.CollapsedContentStart, y = translationY) Loading Loading
packages/SystemUI/compose/features/src/com/android/systemui/qs/ui/composable/QuickSettingsScene.kt +1 −3 Original line number Diff line number Diff line Loading @@ -72,7 +72,6 @@ import com.android.systemui.compose.modifiers.sysuiResTag import com.android.systemui.dagger.SysUISingleton import com.android.systemui.lifecycle.ExclusiveActivatable import com.android.systemui.lifecycle.rememberViewModel import com.android.systemui.media.controls.ui.composable.isLandscape import com.android.systemui.media.remedia.ui.compose.Media import com.android.systemui.media.remedia.ui.compose.MediaPresentationStyle import com.android.systemui.notifications.ui.composable.HeadsUpNotificationSpace Loading Loading @@ -222,8 +221,7 @@ private fun ContentScope.QuickSettingsScene( WindowInsets.navigationBars.asPaddingValues().calculateBottomPadding() // ############# Media ############### val isMediaVisible = viewModel.qsContainerViewModel.showMedia val mediaInRow = isMediaVisible && isLandscape() val mediaInRow = viewModel.qsContainerViewModel.showMediaInRow ShadePanelScrim(viewModel.isTransparencyEnabled) Column( Loading
packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainer.kt +6 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ import com.android.compose.gesture.effect.rememberOffsetOverscrollEffectFactory import com.android.systemui.keyguard.ui.composable.blueprint.rememberBurnIn import com.android.systemui.keyguard.ui.composable.modifier.burnInAware import com.android.systemui.lifecycle.rememberActivated import com.android.systemui.lifecycle.rememberViewModel import com.android.systemui.qs.ui.adapter.QSSceneAdapter import com.android.systemui.qs.ui.composable.QuickSettingsTheme import com.android.systemui.ribbon.ui.composable.BottomRightCornerRibbon Loading Loading @@ -106,11 +107,16 @@ fun SceneContainer( val hapticFeedback = LocalHapticFeedback.current val shadeExpansionMotion = OverlayShade.rememberShadeExpansionMotion(isFullWidthShade()) val animateQsTilesViewModel = rememberViewModel(traceName = "SceneContainer.animateQsTilesViewModel") { viewModel.animateQsTilesViewModelFactory.create() } val sceneTransitions = remember(hapticFeedback, shadeExpansionMotion) { transitionsBuilder.build( shadeExpansionMotion, viewModel.hapticsViewModel.getRevealHaptics(hapticFeedback), animateQsTilesViewModel, ) } Loading
packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainerTransitions.kt +9 −9 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ import com.android.compose.animation.scene.transitions import com.android.internal.jank.Cuj import com.android.mechanics.behavior.VerticalExpandContainerSpec import com.android.systemui.notifications.ui.composable.Notifications import com.android.systemui.qs.panels.ui.viewmodel.AnimateQsTilesViewModel import com.android.systemui.scene.shared.model.Overlays import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.scene.shared.model.TransitionKeys.SlightlyFasterShadeCollapse Loading Loading @@ -49,16 +50,11 @@ import com.android.systemui.shade.ui.composable.Shade * * Please keep the list sorted alphabetically. */ class SceneContainerTransitions( /** * Pass to transitions that animate QS tiles to disable the shared element animation (e.g. * QuickSettings to Shade when QuickSettings is on the second page). */ private val animateQsTilesAsShared: () -> Boolean = { true } ) : SceneContainerTransitionsBuilder { class SceneContainerTransitions : SceneContainerTransitionsBuilder { override fun build( shadeExpansionMotion: VerticalExpandContainerSpec, revealHaptics: ContainerRevealHaptics, animateQsTilesViewModel: AnimateQsTilesViewModel, ): SceneTransitions { return transitions { interruptionHandler = DefaultInterruptionHandler Loading Loading @@ -153,7 +149,9 @@ class SceneContainerTransitions( cuj = Cuj.CUJ_NOTIFICATION_SHADE_QS_EXPAND_COLLAPSE, // NOTYPO ) { reversed { shadeToQuickSettingsTransition(animateQsTilesAsShared = animateQsTilesAsShared) shadeToQuickSettingsTransition( animateQsTilesAsShared = { animateQsTilesViewModel.animateQsTiles } ) } sharedElement( Notifications.Elements.HeadsUpNotificationPlaceholder, Loading @@ -165,7 +163,9 @@ class SceneContainerTransitions( to = Scenes.QuickSettings, cuj = Cuj.CUJ_NOTIFICATION_SHADE_QS_EXPAND_COLLAPSE, // NOTYPO ) { shadeToQuickSettingsTransition(animateQsTilesAsShared = animateQsTilesAsShared) shadeToQuickSettingsTransition( animateQsTilesAsShared = { animateQsTilesViewModel.animateQsTiles } ) } from( Scenes.Shade, Loading
packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainerTransitionsBuilder.kt +3 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import com.android.compose.animation.scene.SceneTransitions import com.android.compose.animation.scene.reveal.ContainerRevealHaptics import com.android.compose.animation.scene.transitions import com.android.mechanics.behavior.VerticalExpandContainerSpec import com.android.systemui.qs.panels.ui.viewmodel.AnimateQsTilesViewModel /** * Builder of the comprehensive definition of all transitions between scenes and overlays in the Loading @@ -31,6 +32,7 @@ interface SceneContainerTransitionsBuilder { fun build( shadeExpansionMotion: VerticalExpandContainerSpec, revealHaptics: ContainerRevealHaptics, animateQsTilesViewModel: AnimateQsTilesViewModel, ): SceneTransitions } Loading @@ -44,5 +46,6 @@ class ConstantSceneContainerTransitionsBuilder( override fun build( shadeExpansionMotion: VerticalExpandContainerSpec, revealHaptics: ContainerRevealHaptics, animateQsTilesViewModel: AnimateQsTilesViewModel, ): SceneTransitions = transitions }
packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/FromShadeToQuickSettingsTransition.kt +2 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ import com.android.compose.animation.scene.ElementKey import com.android.compose.animation.scene.ElementMatcher import com.android.compose.animation.scene.TransitionBuilder import com.android.compose.animation.scene.UserActionDistance import com.android.systemui.media.remedia.ui.compose.Media.Elements.mediaCarousel import com.android.systemui.notifications.ui.composable.Notifications import com.android.systemui.qs.shared.ui.ElementKeys import com.android.systemui.qs.ui.composable.QuickSettings Loading Loading @@ -42,6 +43,7 @@ fun TransitionBuilder.shadeToQuickSettingsTransition( // overlap. fractionRange(end = 0.5f) { fade(QqsTileElementMatcher) } anchoredTranslate(QqsTileElementMatcher, ElementKeys.GridAnchor) fade(mediaCarousel) val translationY = ShadeHeader.Dimensions.CollapsedHeightForTransitions translate(ShadeHeader.Elements.CollapsedContentStart, y = translationY) Loading