diff options
| -rw-r--r-- | packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/GoneScene.kt | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/GoneScene.kt b/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/GoneScene.kt index 975829ab3760..efda4cd3638e 100644 --- a/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/GoneScene.kt +++ b/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/GoneScene.kt @@ -17,17 +17,28 @@ package com.android.systemui.scene.ui.composable import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.absoluteOffset import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.platform.LocalDensity +import androidx.compose.ui.res.dimensionResource +import androidx.compose.ui.unit.IntOffset import com.android.compose.animation.scene.SceneScope import com.android.compose.animation.scene.UserAction import com.android.compose.animation.scene.UserActionResult import com.android.compose.animation.scene.animateSceneFloatAsState +import com.android.internal.policy.SystemBarUtils import com.android.systemui.dagger.SysUISingleton +import com.android.systemui.notifications.ui.composable.HeadsUpNotificationSpace import com.android.systemui.qs.ui.composable.QuickSettings +import com.android.systemui.res.R import com.android.systemui.scene.shared.model.Scenes import com.android.systemui.scene.ui.viewmodel.GoneSceneViewModel +import com.android.systemui.statusbar.notification.stack.ui.view.NotificationScrollView +import com.android.systemui.statusbar.notification.stack.ui.viewmodel.NotificationsPlaceholderViewModel +import dagger.Lazy import javax.inject.Inject import kotlinx.coroutines.flow.StateFlow @@ -39,6 +50,8 @@ import kotlinx.coroutines.flow.StateFlow class GoneScene @Inject constructor( + private val notificationStackScrolLView: Lazy<NotificationScrollView>, + private val notificationsPlaceholderViewModel: NotificationsPlaceholderViewModel, private val viewModel: GoneSceneViewModel, ) : ComposableScene { override val key = Scenes.Gone @@ -55,5 +68,28 @@ constructor( key = QuickSettings.SharedValues.TilesSquishiness, ) Spacer(modifier.fillMaxSize()) + HeadsUpNotificationStack( + stackScrollView = notificationStackScrolLView.get(), + viewModel = notificationsPlaceholderViewModel + ) } } + +@Composable +private fun SceneScope.HeadsUpNotificationStack( + stackScrollView: NotificationScrollView, + viewModel: NotificationsPlaceholderViewModel, +) { + val context = LocalContext.current + val density = LocalDensity.current + val statusBarHeight = SystemBarUtils.getStatusBarHeight(context) + val headsUpPadding = + with(density) { dimensionResource(id = R.dimen.heads_up_status_bar_padding).roundToPx() } + + HeadsUpNotificationSpace( + stackScrollView = stackScrollView, + viewModel = viewModel, + modifier = + Modifier.absoluteOffset { IntOffset(x = 0, y = statusBarHeight + headsUpPadding) } + ) +} |