Loading packages/SystemUI/src/com/android/systemui/bluetooth/qsdialog/BluetoothDetailsContent.kt +2 −2 Original line number Original line Diff line number Diff line Loading @@ -17,7 +17,7 @@ package com.android.systemui.bluetooth.qsdialog package com.android.systemui.bluetooth.qsdialog import android.view.LayoutInflater import android.view.LayoutInflater import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier import androidx.compose.ui.viewinterop.AndroidView import androidx.compose.ui.viewinterop.AndroidView Loading @@ -27,7 +27,7 @@ import com.android.systemui.res.R @Composable @Composable fun BluetoothDetailsContent(detailsContentViewModel: BluetoothDetailsContentViewModel) { fun BluetoothDetailsContent(detailsContentViewModel: BluetoothDetailsContentViewModel) { AndroidView( AndroidView( modifier = Modifier.fillMaxSize(), modifier = Modifier.fillMaxWidth(), factory = { context -> factory = { context -> // Inflate with the existing dialog xml layout // Inflate with the existing dialog xml layout val view = val view = Loading packages/SystemUI/src/com/android/systemui/qs/panels/ui/compose/TileDetails.kt +25 −22 Original line number Original line Diff line number Diff line Loading @@ -20,11 +20,13 @@ import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.heightIn import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.width import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.ArrowBack import androidx.compose.material.icons.automirrored.filled.ArrowBack import androidx.compose.material.icons.filled.Settings import androidx.compose.material.icons.filled.Settings Loading Loading @@ -74,33 +76,32 @@ fun TileDetails(modifier: Modifier = Modifier, detailsViewModel: DetailsViewMode modifier = modifier = modifier modifier .fillMaxWidth() .fillMaxWidth() // The height of the details view is TBD. .heightIn( .fillMaxHeight() min = TileDetailsDefaults.DetailsMinHeight, max = TileDetailsDefaults.DetailsMaxHeight, ) .background(color = colors.onPrimary) .background(color = colors.onPrimary) ) { ) { CompositionLocalProvider( CompositionLocalProvider( value = LocalContentColor provides MaterialTheme.colorScheme.onSurfaceVariant value = LocalContentColor provides MaterialTheme.colorScheme.onSurfaceVariant ) { ) { Row( Row( modifier = Modifier modifier = .fillMaxWidth() Modifier.fillMaxWidth() .padding( .padding( start = TileDetailsDefaults.TitleRowStart, start = TileDetailsDefaults.TitleRowStart, top = TileDetailsDefaults.TitleRowTop, top = TileDetailsDefaults.TitleRowTop, end = TileDetailsDefaults.TitleRowEnd, end = TileDetailsDefaults.TitleRowEnd, bottom = TileDetailsDefaults.TitleRowBottom bottom = TileDetailsDefaults.TitleRowBottom, ), ), horizontalArrangement = Arrangement.SpaceBetween, horizontalArrangement = Arrangement.SpaceBetween, verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically, ) { ) { IconButton( IconButton( onClick = { detailsViewModel.closeDetailedView() }, onClick = { detailsViewModel.closeDetailedView() }, colors = IconButtonDefaults.iconButtonColors( colors = IconButtonDefaults.iconButtonColors(contentColor = colors.onSurface), contentColor = colors.onSurface ), modifier = modifier = Modifier Modifier.align(Alignment.CenterVertically) .align(Alignment.CenterVertically) .height(TileDetailsDefaults.IconHeight) .height(TileDetailsDefaults.IconHeight) .width(TileDetailsDefaults.IconWidth) .width(TileDetailsDefaults.IconWidth) .padding(start = TileDetailsDefaults.IconPadding), .padding(start = TileDetailsDefaults.IconPadding), Loading @@ -120,12 +121,9 @@ fun TileDetails(modifier: Modifier = Modifier, detailsViewModel: DetailsViewMode ) ) IconButton( IconButton( onClick = { tileDetailedViewModel.clickOnSettingsButton() }, onClick = { tileDetailedViewModel.clickOnSettingsButton() }, colors = IconButtonDefaults.iconButtonColors( colors = IconButtonDefaults.iconButtonColors(contentColor = colors.onSurface), contentColor = colors.onSurface ), modifier = modifier = Modifier Modifier.align(Alignment.CenterVertically) .align(Alignment.CenterVertically) .height(TileDetailsDefaults.IconHeight) .height(TileDetailsDefaults.IconHeight) .width(TileDetailsDefaults.IconWidth) .width(TileDetailsDefaults.IconWidth) .padding(end = TileDetailsDefaults.IconPadding), .padding(end = TileDetailsDefaults.IconPadding), Loading @@ -145,9 +143,12 @@ fun TileDetails(modifier: Modifier = Modifier, detailsViewModel: DetailsViewMode color = colors.onSurfaceVariant, color = colors.onSurfaceVariant, ) ) } } Column(modifier = Modifier.fillMaxWidth().verticalScroll(rememberScrollState())) { MapTileDetailsContent(tileDetailedViewModel) MapTileDetailsContent(tileDetailedViewModel) } } } } } @Composable @Composable private fun MapTileDetailsContent(tileDetailsViewModel: TileDetailsViewModel) { private fun MapTileDetailsContent(tileDetailsViewModel: TileDetailsViewModel) { Loading @@ -169,4 +170,6 @@ private object TileDetailsDefaults { val TitleRowTop = 22.dp val TitleRowTop = 22.dp val TitleRowEnd = 20.dp val TitleRowEnd = 20.dp val TitleRowBottom = 8.dp val TitleRowBottom = 8.dp val DetailsMaxHeight = 600.dp val DetailsMinHeight = 300.dp } } packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDetailsContent.kt +2 −2 Original line number Original line Diff line number Diff line Loading @@ -17,7 +17,7 @@ package com.android.systemui.qs.tiles.dialog package com.android.systemui.qs.tiles.dialog import android.view.LayoutInflater import android.view.LayoutInflater import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier Loading @@ -29,7 +29,7 @@ fun InternetDetailsContent(viewModel: InternetDetailsViewModel) { val coroutineScope = rememberCoroutineScope() val coroutineScope = rememberCoroutineScope() AndroidView( AndroidView( modifier = Modifier.fillMaxSize(), modifier = Modifier.fillMaxWidth(), factory = { context -> factory = { context -> // Inflate with the existing dialog xml layout and bind it with the manager // Inflate with the existing dialog xml layout and bind it with the manager val view = val view = Loading packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/ScreenRecordDetailsContent.kt +1 −2 Original line number Original line Diff line number Diff line Loading @@ -17,7 +17,6 @@ package com.android.systemui.qs.tiles.dialog package com.android.systemui.qs.tiles.dialog import android.view.LayoutInflater import android.view.LayoutInflater import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.runtime.remember Loading @@ -35,7 +34,7 @@ fun ScreenRecordDetailsContent(viewModel: ScreenRecordDetailsViewModel) { } } AndroidView( AndroidView( modifier = Modifier.fillMaxWidth().fillMaxHeight(), modifier = Modifier.fillMaxWidth(), factory = { context -> factory = { context -> // Inflate with the existing dialog xml layout // Inflate with the existing dialog xml layout val view = LayoutInflater.from(context).inflate(R.layout.screen_share_dialog, null) val view = LayoutInflater.from(context).inflate(R.layout.screen_share_dialog, null) Loading Loading
packages/SystemUI/src/com/android/systemui/bluetooth/qsdialog/BluetoothDetailsContent.kt +2 −2 Original line number Original line Diff line number Diff line Loading @@ -17,7 +17,7 @@ package com.android.systemui.bluetooth.qsdialog package com.android.systemui.bluetooth.qsdialog import android.view.LayoutInflater import android.view.LayoutInflater import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier import androidx.compose.ui.viewinterop.AndroidView import androidx.compose.ui.viewinterop.AndroidView Loading @@ -27,7 +27,7 @@ import com.android.systemui.res.R @Composable @Composable fun BluetoothDetailsContent(detailsContentViewModel: BluetoothDetailsContentViewModel) { fun BluetoothDetailsContent(detailsContentViewModel: BluetoothDetailsContentViewModel) { AndroidView( AndroidView( modifier = Modifier.fillMaxSize(), modifier = Modifier.fillMaxWidth(), factory = { context -> factory = { context -> // Inflate with the existing dialog xml layout // Inflate with the existing dialog xml layout val view = val view = Loading
packages/SystemUI/src/com/android/systemui/qs/panels/ui/compose/TileDetails.kt +25 −22 Original line number Original line Diff line number Diff line Loading @@ -20,11 +20,13 @@ import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.heightIn import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.width import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.ArrowBack import androidx.compose.material.icons.automirrored.filled.ArrowBack import androidx.compose.material.icons.filled.Settings import androidx.compose.material.icons.filled.Settings Loading Loading @@ -74,33 +76,32 @@ fun TileDetails(modifier: Modifier = Modifier, detailsViewModel: DetailsViewMode modifier = modifier = modifier modifier .fillMaxWidth() .fillMaxWidth() // The height of the details view is TBD. .heightIn( .fillMaxHeight() min = TileDetailsDefaults.DetailsMinHeight, max = TileDetailsDefaults.DetailsMaxHeight, ) .background(color = colors.onPrimary) .background(color = colors.onPrimary) ) { ) { CompositionLocalProvider( CompositionLocalProvider( value = LocalContentColor provides MaterialTheme.colorScheme.onSurfaceVariant value = LocalContentColor provides MaterialTheme.colorScheme.onSurfaceVariant ) { ) { Row( Row( modifier = Modifier modifier = .fillMaxWidth() Modifier.fillMaxWidth() .padding( .padding( start = TileDetailsDefaults.TitleRowStart, start = TileDetailsDefaults.TitleRowStart, top = TileDetailsDefaults.TitleRowTop, top = TileDetailsDefaults.TitleRowTop, end = TileDetailsDefaults.TitleRowEnd, end = TileDetailsDefaults.TitleRowEnd, bottom = TileDetailsDefaults.TitleRowBottom bottom = TileDetailsDefaults.TitleRowBottom, ), ), horizontalArrangement = Arrangement.SpaceBetween, horizontalArrangement = Arrangement.SpaceBetween, verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically, ) { ) { IconButton( IconButton( onClick = { detailsViewModel.closeDetailedView() }, onClick = { detailsViewModel.closeDetailedView() }, colors = IconButtonDefaults.iconButtonColors( colors = IconButtonDefaults.iconButtonColors(contentColor = colors.onSurface), contentColor = colors.onSurface ), modifier = modifier = Modifier Modifier.align(Alignment.CenterVertically) .align(Alignment.CenterVertically) .height(TileDetailsDefaults.IconHeight) .height(TileDetailsDefaults.IconHeight) .width(TileDetailsDefaults.IconWidth) .width(TileDetailsDefaults.IconWidth) .padding(start = TileDetailsDefaults.IconPadding), .padding(start = TileDetailsDefaults.IconPadding), Loading @@ -120,12 +121,9 @@ fun TileDetails(modifier: Modifier = Modifier, detailsViewModel: DetailsViewMode ) ) IconButton( IconButton( onClick = { tileDetailedViewModel.clickOnSettingsButton() }, onClick = { tileDetailedViewModel.clickOnSettingsButton() }, colors = IconButtonDefaults.iconButtonColors( colors = IconButtonDefaults.iconButtonColors(contentColor = colors.onSurface), contentColor = colors.onSurface ), modifier = modifier = Modifier Modifier.align(Alignment.CenterVertically) .align(Alignment.CenterVertically) .height(TileDetailsDefaults.IconHeight) .height(TileDetailsDefaults.IconHeight) .width(TileDetailsDefaults.IconWidth) .width(TileDetailsDefaults.IconWidth) .padding(end = TileDetailsDefaults.IconPadding), .padding(end = TileDetailsDefaults.IconPadding), Loading @@ -145,9 +143,12 @@ fun TileDetails(modifier: Modifier = Modifier, detailsViewModel: DetailsViewMode color = colors.onSurfaceVariant, color = colors.onSurfaceVariant, ) ) } } Column(modifier = Modifier.fillMaxWidth().verticalScroll(rememberScrollState())) { MapTileDetailsContent(tileDetailedViewModel) MapTileDetailsContent(tileDetailedViewModel) } } } } } @Composable @Composable private fun MapTileDetailsContent(tileDetailsViewModel: TileDetailsViewModel) { private fun MapTileDetailsContent(tileDetailsViewModel: TileDetailsViewModel) { Loading @@ -169,4 +170,6 @@ private object TileDetailsDefaults { val TitleRowTop = 22.dp val TitleRowTop = 22.dp val TitleRowEnd = 20.dp val TitleRowEnd = 20.dp val TitleRowBottom = 8.dp val TitleRowBottom = 8.dp val DetailsMaxHeight = 600.dp val DetailsMinHeight = 300.dp } }
packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDetailsContent.kt +2 −2 Original line number Original line Diff line number Diff line Loading @@ -17,7 +17,7 @@ package com.android.systemui.qs.tiles.dialog package com.android.systemui.qs.tiles.dialog import android.view.LayoutInflater import android.view.LayoutInflater import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier Loading @@ -29,7 +29,7 @@ fun InternetDetailsContent(viewModel: InternetDetailsViewModel) { val coroutineScope = rememberCoroutineScope() val coroutineScope = rememberCoroutineScope() AndroidView( AndroidView( modifier = Modifier.fillMaxSize(), modifier = Modifier.fillMaxWidth(), factory = { context -> factory = { context -> // Inflate with the existing dialog xml layout and bind it with the manager // Inflate with the existing dialog xml layout and bind it with the manager val view = val view = Loading
packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/ScreenRecordDetailsContent.kt +1 −2 Original line number Original line Diff line number Diff line Loading @@ -17,7 +17,6 @@ package com.android.systemui.qs.tiles.dialog package com.android.systemui.qs.tiles.dialog import android.view.LayoutInflater import android.view.LayoutInflater import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.runtime.remember Loading @@ -35,7 +34,7 @@ fun ScreenRecordDetailsContent(viewModel: ScreenRecordDetailsViewModel) { } } AndroidView( AndroidView( modifier = Modifier.fillMaxWidth().fillMaxHeight(), modifier = Modifier.fillMaxWidth(), factory = { context -> factory = { context -> // Inflate with the existing dialog xml layout // Inflate with the existing dialog xml layout val view = LayoutInflater.from(context).inflate(R.layout.screen_share_dialog, null) val view = LayoutInflater.from(context).inflate(R.layout.screen_share_dialog, null) Loading