Skip to content

Commit

Permalink
migrated to tv-material beta01
Browse files Browse the repository at this point in the history
  • Loading branch information
Paul Lammertsma committed May 8, 2024
1 parent 3650f67 commit 34dd960
Show file tree
Hide file tree
Showing 22 changed files with 46 additions and 89 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,12 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.RectangleShape
import androidx.compose.ui.graphics.toArgb
import androidx.compose.ui.unit.LayoutDirection
import androidx.tv.material3.ExperimentalTvMaterial3Api
import androidx.tv.material3.MaterialTheme
import androidx.tv.material3.Surface
import com.google.tv.material.catalog.colorutils.Scheme.Companion.dark
import com.google.tv.material.catalog.colorutils.Scheme.Companion.light
import com.google.tv.material.catalog.colorutils.toColorScheme

@OptIn(ExperimentalTvMaterial3Api::class)
@Composable
fun App() {
var themeMode by remember { mutableStateOf(Mode.Dark) }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,9 @@ import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.windowInsetsPadding
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
Expand All @@ -24,7 +22,6 @@ import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.navigation.compose.currentBackStackEntryAsState
import androidx.tv.material3.Button
import androidx.tv.material3.ExperimentalTvMaterial3Api
import androidx.tv.material3.Icon
import androidx.tv.material3.MaterialTheme
import androidx.tv.material3.Text
Expand Down Expand Up @@ -66,7 +63,6 @@ fun AppBar(
}
}

@OptIn(ExperimentalTvMaterial3Api::class)
@Composable
private fun HeadlineContent(
title: String,
Expand Down Expand Up @@ -112,7 +108,6 @@ private fun HeadlineContent(
}
}

@OptIn(ExperimentalTvMaterial3Api::class)
@Composable
private fun Actions(
onThemeColorModeClick: () -> Unit,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,14 @@ import androidx.compose.ui.focus.onFocusChanged
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.graphics.PathEffect
import androidx.compose.ui.unit.dp
import androidx.tv.material3.ExperimentalTvMaterial3Api
import androidx.tv.material3.ListItem
import androidx.tv.material3.MaterialTheme
import androidx.tv.material3.Text
import androidx.tv.material3.surfaceColorAtElevation
import kotlinx.coroutines.delay
import kotlin.time.Duration.Companion.milliseconds

@OptIn(ExperimentalTvMaterial3Api::class, ExperimentalComposeUiApi::class)
@OptIn(ExperimentalComposeUiApi::class)
@Composable
fun ExamplesScreenWithDottedBackground(
actions: List<ExampleAction>
Expand Down Expand Up @@ -76,10 +75,11 @@ fun ExamplesScreenWithDottedBackground(
if (it.isFocused) {
activeAction = action
}
}
) {
Text(text = action.title)
}
},
headlineContent = {
Text(text = action.title)
}
)
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,12 @@ import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.tv.foundation.PivotOffsets
import androidx.tv.foundation.lazy.list.TvLazyColumn
import androidx.tv.material3.ExperimentalTvMaterial3Api
import androidx.tv.material3.Icon
import androidx.tv.material3.ListItem
import androidx.tv.material3.MaterialTheme
import androidx.tv.material3.NonInteractiveSurfaceDefaults
import androidx.tv.material3.RadioButton
import androidx.tv.material3.Surface
import androidx.tv.material3.SurfaceDefaults
import androidx.tv.material3.Text

@OptIn(ExperimentalTvMaterial3Api::class, ExperimentalComposeUiApi::class)
Expand Down Expand Up @@ -69,7 +68,7 @@ fun FontScaleAndLayoutDirectionSelector(
.width(300.dp)
.padding(12.dp)
.align(Alignment.End),
colors = NonInteractiveSurfaceDefaults
colors = SurfaceDefaults
.colors(containerColor = MaterialTheme.colorScheme.surface)
) {
TvLazyColumn(
Expand Down Expand Up @@ -122,10 +121,10 @@ fun FontScaleAndLayoutDirectionSelector(
},
trailingContent = {
RadioButton(selected = isSelected, onClick = { })
}
) {
Text(text = it.title)
}
},
headlineContent = {
Text(text = it.title)
})
}
}
}
Expand Down Expand Up @@ -163,10 +162,10 @@ fun FontScaleAndLayoutDirectionSelector(
},
trailingContent = {
RadioButton(selected = isSelected, onClick = { })
}
) {
Text(text = it.title)
}
},
headlineContent = {
Text(text = it.title)
})
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,9 @@ import androidx.tv.foundation.lazy.grid.TvGridCells
import androidx.tv.foundation.lazy.grid.TvGridItemSpan
import androidx.tv.foundation.lazy.grid.TvLazyVerticalGrid
import androidx.tv.foundation.lazy.grid.itemsIndexed
import androidx.tv.material3.ExperimentalTvMaterial3Api
import androidx.tv.material3.Text

@OptIn(ExperimentalTvMaterial3Api::class, ExperimentalComposeUiApi::class)
@OptIn(ExperimentalComposeUiApi::class)
@Composable
fun HomeGrid() {
val focusRequester = remember { FocusRequester() }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,11 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.unit.dp
import androidx.tv.material3.Card
import androidx.tv.material3.CardDefaults
import androidx.tv.material3.CardLayoutDefaults
import androidx.tv.material3.ExperimentalTvMaterial3Api
import androidx.tv.material3.StandardCardLayout
import androidx.tv.material3.StandardCardContainer
import androidx.tv.material3.Text

@OptIn(ExperimentalTvMaterial3Api::class)
@Composable
fun ComponentsGridCard(
component: Component,
Expand All @@ -23,10 +21,10 @@ fun ComponentsGridCard(
val image = getHomeGridCardImage(imageArg = component.imageArg)
val navHostController = LocalNavController.current

StandardCardLayout(
StandardCardContainer(
modifier = modifier,
imageCard = {
CardLayoutDefaults.ImageCard(
Card(
onClick = {
onClick?.invoke()
navHostController.navigate(component.routeValue)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,15 @@ import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.tv.foundation.PivotOffsets
import androidx.tv.foundation.lazy.list.TvLazyColumn
import androidx.tv.material3.ExperimentalTvMaterial3Api
import androidx.tv.material3.Icon
import androidx.tv.material3.ListItem
import androidx.tv.material3.MaterialTheme
import androidx.tv.material3.NonInteractiveSurfaceDefaults
import androidx.tv.material3.RadioButton
import androidx.tv.material3.Surface
import androidx.tv.material3.SurfaceDefaults
import androidx.tv.material3.Text

@OptIn(ExperimentalTvMaterial3Api::class, ExperimentalComposeUiApi::class)
@OptIn(ExperimentalComposeUiApi::class)
@Composable
fun ThemeAndColorModeSelector(
isExpanded: Boolean,
Expand Down Expand Up @@ -68,7 +67,7 @@ fun ThemeAndColorModeSelector(
.width(300.dp)
.padding(12.dp)
.align(Alignment.End),
colors = NonInteractiveSurfaceDefaults
colors = SurfaceDefaults
.colors(containerColor = MaterialTheme.colorScheme.surface)
) {
TvLazyColumn(
Expand Down Expand Up @@ -120,10 +119,10 @@ fun ThemeAndColorModeSelector(
},
trailingContent = {
RadioButton(selected = isSelected, onClick = { })
}
) {
Text(text = it.title)
}
},
headlineContent = {
Text(text = it.title)
})
}
}
}
Expand Down Expand Up @@ -162,10 +161,10 @@ fun ThemeAndColorModeSelector(
},
trailingContent = {
RadioButton(selected = isSelected, onClick = { })
}
) {
Text(text = it.name)
}
},
headlineContent = {
Text(text = it.name)
})
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package com.google.tv.material.catalog.colorutils

import androidx.compose.ui.graphics.Color
import androidx.tv.material3.ColorScheme
import androidx.tv.material3.ExperimentalTvMaterial3Api
import kotlin.math.pow


Expand Down Expand Up @@ -233,7 +232,6 @@ object ColorUtils {
}
}

@OptIn(ExperimentalTvMaterial3Api::class)
fun Scheme.toColorScheme(): ColorScheme {
return ColorScheme(
primary = Color(primary),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import androidx.tv.material3.Button
import androidx.tv.material3.ButtonDefaults
import androidx.tv.material3.ExperimentalTvMaterial3Api
import androidx.tv.material3.Icon
import androidx.tv.material3.IconButton
import androidx.tv.material3.IconButtonDefaults
Expand All @@ -27,7 +26,6 @@ import androidx.tv.material3.WideButton
import com.google.tv.material.catalog.ExampleAction
import com.google.tv.material.catalog.ExamplesScreenWithDottedBackground

@OptIn(ExperimentalTvMaterial3Api::class)
@Composable
fun ButtonsScreen() {
val actions = listOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,31 +10,29 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.unit.dp
import androidx.tv.material3.Card
import androidx.tv.material3.CardDefaults
import androidx.tv.material3.CardLayoutDefaults
import androidx.tv.material3.ClassicCard
import androidx.tv.material3.CompactCard
import androidx.tv.material3.ExperimentalTvMaterial3Api
import androidx.tv.material3.StandardCardLayout
import androidx.tv.material3.StandardCardContainer
import androidx.tv.material3.Text
import androidx.tv.material3.WideCardLayout
import androidx.tv.material3.WideCardContainer
import androidx.tv.material3.WideClassicCard
import com.google.tv.material.catalog.ExampleAction
import com.google.tv.material.catalog.ExamplesScreenWithDottedBackground
import com.google.tv.material.catalog.R

@OptIn(ExperimentalTvMaterial3Api::class)
@Composable
fun CardsScreen() {
val actions = listOf(
ExampleAction(
title = "Standard card",
content = {
StandardCardLayout(
StandardCardContainer(
modifier = Modifier.width(180.dp),
imageCard = {
CardLayoutDefaults.ImageCard(
onClick = { },
Card(
onClick = {},
interactionSource = it,
colors = CardDefaults.colors(containerColor = Color.Transparent)
) {
Expand Down Expand Up @@ -133,10 +131,10 @@ fun CardsScreen() {
ExampleAction(
title = "Wide standard card",
content = {
WideCardLayout(
WideCardContainer(
modifier = Modifier,
imageCard = {
CardLayoutDefaults.ImageCard(
Card(
onClick = { },
interactionSource = it,
colors = CardDefaults.colors(containerColor = Color.Transparent)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,23 +113,20 @@ fun ChipsScreen() {
ExamplesScreenWithDottedBackground(actions)
}

@OptIn(ExperimentalTvMaterial3Api::class)
private val editIcon = @Composable {
Icon(
imageVector = Icons.Default.Edit,
contentDescription = "Edit icon",
)
}

@OptIn(ExperimentalTvMaterial3Api::class)
private val checkIcon = @Composable {
Icon(
imageVector = Icons.Default.Check,
contentDescription = "Check icon",
)
}

@OptIn(ExperimentalTvMaterial3Api::class)
private val clearIcon = @Composable {
Icon(
imageVector = Icons.Default.Clear,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,11 @@ import androidx.tv.foundation.lazy.grid.TvGridCells
import androidx.tv.foundation.lazy.grid.TvGridItemSpan
import androidx.tv.foundation.lazy.grid.TvLazyVerticalGrid
import androidx.tv.material3.Border
import androidx.tv.material3.ExperimentalTvMaterial3Api
import androidx.tv.material3.MaterialTheme
import androidx.tv.material3.NonInteractiveSurfaceDefaults
import androidx.tv.material3.Surface
import androidx.tv.material3.SurfaceDefaults
import androidx.tv.material3.Text

@OptIn(ExperimentalTvMaterial3Api::class)
@Composable
fun ColorsScreen() {
Row(
Expand Down Expand Up @@ -131,7 +129,6 @@ fun ColorsScreen() {
}
}

@OptIn(ExperimentalTvMaterial3Api::class)
@Composable
private fun ColorBg(
text: String,
Expand All @@ -141,7 +138,7 @@ private fun ColorBg(
modifier = Modifier
.fillMaxWidth()
.height(60.dp),
colors = NonInteractiveSurfaceDefaults.colors(
colors = SurfaceDefaults.colors(
containerColor = color
),
border = Border(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,6 @@ fun Modifier.carouselGradient(): Modifier = composed {
)
}

@OptIn(ExperimentalTvMaterial3Api::class)
@Composable
fun BottomCards(modifier: Modifier) {
TvLazyRow(
Expand Down

0 comments on commit 34dd960

Please sign in to comment.