Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c8e38611 authored by Jiaming Cheng's avatar Jiaming Cheng Committed by Android (Google) Code Review
Browse files

Merge "[QSDetailedView] Set min/max height for the details view" into main

parents 7e50738d 6237fe8c
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -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
@@ -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 =
+25 −22
Original line number Original line Diff line number Diff line
@@ -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
@@ -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),
@@ -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),
@@ -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) {
@@ -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
}
}
+2 −2
Original line number Original line Diff line number Diff line
@@ -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
@@ -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 =
+1 −2
Original line number Original line Diff line number Diff line
@@ -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
@@ -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)