Loading packages/SystemUI/src/com/android/systemui/qs/panels/ui/compose/TileDetails.kt +35 −6 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.systemui.qs.panels.ui.compose import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row Loading @@ -23,11 +24,13 @@ import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.ArrowBack import androidx.compose.material.icons.filled.Settings import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.material3.IconButtonDefaults import androidx.compose.material3.LocalContentColor import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text Loading Loading @@ -63,6 +66,7 @@ fun TileDetails(modifier: Modifier = Modifier, detailsViewModel: DetailsViewMode val title = tileDetailedViewModel.title val subTitle = tileDetailedViewModel.subTitle val colors = MaterialTheme.colorScheme Column( modifier = Loading @@ -70,20 +74,33 @@ fun TileDetails(modifier: Modifier = Modifier, detailsViewModel: DetailsViewMode .fillMaxWidth() // The height of the details view is TBD. .fillMaxHeight() .background(color = colors.onPrimary) ) { CompositionLocalProvider( value = LocalContentColor provides MaterialTheme.colorScheme.onSurfaceVariant ) { Row( modifier = Modifier.fillMaxWidth(), modifier = Modifier .fillMaxWidth() .padding( start = TileDetailsDefaults.TitleRowStart, top = TileDetailsDefaults.TitleRowTop, end = TileDetailsDefaults.TitleRowEnd, bottom = TileDetailsDefaults.TitleRowBottom ), horizontalArrangement = Arrangement.SpaceBetween, verticalAlignment = Alignment.CenterVertically, ) { IconButton( onClick = { detailsViewModel.closeDetailedView() }, colors = IconButtonDefaults.iconButtonColors( contentColor = colors.onSurface ), modifier = Modifier.align(Alignment.CenterVertically) Modifier .align(Alignment.CenterVertically) .height(TileDetailsDefaults.IconHeight) .width(TileDetailsDefaults.IconWidth) .padding(start = TileDetailsDefaults.IconPadding), ) { Icon( Loading @@ -96,13 +113,19 @@ fun TileDetails(modifier: Modifier = Modifier, detailsViewModel: DetailsViewMode text = title, modifier = Modifier.align(Alignment.CenterVertically), textAlign = TextAlign.Center, style = MaterialTheme.typography.titleLarge, style = MaterialTheme.typography.titleMedium, color = colors.onSurface, ) IconButton( onClick = { tileDetailedViewModel.clickOnSettingsButton() }, colors = IconButtonDefaults.iconButtonColors( contentColor = colors.onSurface ), modifier = Modifier.align(Alignment.CenterVertically) Modifier .align(Alignment.CenterVertically) .height(TileDetailsDefaults.IconHeight) .width(TileDetailsDefaults.IconWidth) .padding(end = TileDetailsDefaults.IconPadding), ) { Icon( Loading @@ -116,7 +139,8 @@ fun TileDetails(modifier: Modifier = Modifier, detailsViewModel: DetailsViewMode text = subTitle, modifier = Modifier.fillMaxWidth(), textAlign = TextAlign.Center, style = MaterialTheme.typography.titleSmall, style = MaterialTheme.typography.bodySmall, color = colors.onSurfaceVariant, ) } MapTileDetailsContent(tileDetailedViewModel) Loading @@ -135,6 +159,11 @@ private fun MapTileDetailsContent(tileDetailsViewModel: TileDetailsViewModel) { } private object TileDetailsDefaults { val IconHeight = 48.dp val IconHeight = 24.dp val IconWidth = 24.dp val IconPadding = 4.dp val TitleRowStart = 14.dp val TitleRowTop = 22.dp val TitleRowEnd = 20.dp val TitleRowBottom = 8.dp } Loading
packages/SystemUI/src/com/android/systemui/qs/panels/ui/compose/TileDetails.kt +35 −6 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.systemui.qs.panels.ui.compose import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row Loading @@ -23,11 +24,13 @@ import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.ArrowBack import androidx.compose.material.icons.filled.Settings import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.material3.IconButtonDefaults import androidx.compose.material3.LocalContentColor import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text Loading Loading @@ -63,6 +66,7 @@ fun TileDetails(modifier: Modifier = Modifier, detailsViewModel: DetailsViewMode val title = tileDetailedViewModel.title val subTitle = tileDetailedViewModel.subTitle val colors = MaterialTheme.colorScheme Column( modifier = Loading @@ -70,20 +74,33 @@ fun TileDetails(modifier: Modifier = Modifier, detailsViewModel: DetailsViewMode .fillMaxWidth() // The height of the details view is TBD. .fillMaxHeight() .background(color = colors.onPrimary) ) { CompositionLocalProvider( value = LocalContentColor provides MaterialTheme.colorScheme.onSurfaceVariant ) { Row( modifier = Modifier.fillMaxWidth(), modifier = Modifier .fillMaxWidth() .padding( start = TileDetailsDefaults.TitleRowStart, top = TileDetailsDefaults.TitleRowTop, end = TileDetailsDefaults.TitleRowEnd, bottom = TileDetailsDefaults.TitleRowBottom ), horizontalArrangement = Arrangement.SpaceBetween, verticalAlignment = Alignment.CenterVertically, ) { IconButton( onClick = { detailsViewModel.closeDetailedView() }, colors = IconButtonDefaults.iconButtonColors( contentColor = colors.onSurface ), modifier = Modifier.align(Alignment.CenterVertically) Modifier .align(Alignment.CenterVertically) .height(TileDetailsDefaults.IconHeight) .width(TileDetailsDefaults.IconWidth) .padding(start = TileDetailsDefaults.IconPadding), ) { Icon( Loading @@ -96,13 +113,19 @@ fun TileDetails(modifier: Modifier = Modifier, detailsViewModel: DetailsViewMode text = title, modifier = Modifier.align(Alignment.CenterVertically), textAlign = TextAlign.Center, style = MaterialTheme.typography.titleLarge, style = MaterialTheme.typography.titleMedium, color = colors.onSurface, ) IconButton( onClick = { tileDetailedViewModel.clickOnSettingsButton() }, colors = IconButtonDefaults.iconButtonColors( contentColor = colors.onSurface ), modifier = Modifier.align(Alignment.CenterVertically) Modifier .align(Alignment.CenterVertically) .height(TileDetailsDefaults.IconHeight) .width(TileDetailsDefaults.IconWidth) .padding(end = TileDetailsDefaults.IconPadding), ) { Icon( Loading @@ -116,7 +139,8 @@ fun TileDetails(modifier: Modifier = Modifier, detailsViewModel: DetailsViewMode text = subTitle, modifier = Modifier.fillMaxWidth(), textAlign = TextAlign.Center, style = MaterialTheme.typography.titleSmall, style = MaterialTheme.typography.bodySmall, color = colors.onSurfaceVariant, ) } MapTileDetailsContent(tileDetailedViewModel) Loading @@ -135,6 +159,11 @@ private fun MapTileDetailsContent(tileDetailsViewModel: TileDetailsViewModel) { } private object TileDetailsDefaults { val IconHeight = 48.dp val IconHeight = 24.dp val IconWidth = 24.dp val IconPadding = 4.dp val TitleRowStart = 14.dp val TitleRowTop = 22.dp val TitleRowEnd = 20.dp val TitleRowBottom = 8.dp }