diff --git a/JetStreamCompose/benchmark/build.gradle.kts b/JetStreamCompose/benchmark/build.gradle.kts index 88c8a1a1..1b8d855f 100644 --- a/JetStreamCompose/benchmark/build.gradle.kts +++ b/JetStreamCompose/benchmark/build.gradle.kts @@ -28,17 +28,13 @@ kotlin { jvmToolchain(17) } -composeCompiler { - enableStrongSkippingMode = true -} - android { namespace = "com.google.jetstream.benchmark" - compileSdk = 34 + compileSdk = 35 defaultConfig { minSdk = 28 - targetSdk = 34 + targetSdk = 35 testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunnerArguments["androidx.benchmark.suppressErrors"] = "EMULATOR" @@ -67,8 +63,6 @@ baselineProfile { dependencies { - implementation(libs.androidx.compose.runtime.base) - implementation(libs.androidx.junit) implementation(libs.androidx.uiautomator) diff --git a/JetStreamCompose/gradle/libs.versions.toml b/JetStreamCompose/gradle/libs.versions.toml index 874d4fe9..04ffd583 100644 --- a/JetStreamCompose/gradle/libs.versions.toml +++ b/JetStreamCompose/gradle/libs.versions.toml @@ -1,40 +1,34 @@ [versions] -activity-compose = "1.9.0" -android-gradle-plugin = "8.4.1" -android-test-plugin = "8.4.1" -androidx-baselineprofile = "1.2.4" -benchmark-macro-junit4 = "1.2.4" +activity-compose = "1.9.2" +android-gradle-plugin = "8.6.1" +android-test-plugin = "8.6.1" +androidx-baselineprofile = "1.3.1" +benchmark-macro-junit4 = "1.3.1" coil-compose = "2.6.0" -compose-bom = "2024.05.00" -compose-foundation = "1.7.0-beta02" -compose-ui = "1.7.0-beta02" -compose-runtime = "1.7.0-beta02" -tv-material = "1.0.0-beta01" +compose-bom = "2024.09.02" +tv-material = "1.0.0" core-ktx = "1.13.1" core-splashscreen = "1.0.1" hilt-navigation-compose = "1.2.0" hilt-android = "2.51.1" -junit = "1.1.5" -kotlin-android = "2.0.0" -kotlinx-serialization = "1.6.0" -ksp = "2.0.0-1.0.21" -lifecycle-runtime-ktx = "2.8.1" -media3-ui = "1.3.1" -media3-exoplayer = "1.3.1" -navigation-compose = "2.7.7" -profileinstaller = "1.3.1" +junit = "1.2.1" +kotlin-android = "2.0.20" +kotlinx-serialization = "1.6.3" +ksp = "2.0.20-1.0.24" +lifecycle-runtime-ktx = "2.8.6" +media3-ui = "1.4.1" +media3-exoplayer = "1.4.1" +navigation-compose = "2.8.1" +profileinstaller = "1.4.0" uiautomator = "2.3.0" -rules = "1.5.0" +rules = "1.6.1" [libraries] androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activity-compose" } androidx-benchmark-macro-junit4 = { module = "androidx.benchmark:benchmark-macro-junit4", version.ref = "benchmark-macro-junit4" } androidx-compose-bom = { module = "androidx.compose:compose-bom", version.ref = "compose-bom" } -androidx-compose-foundation-base = { module = "androidx.compose.foundation:foundation", version.ref = "compose-foundation" } -androidx-compose-runtime-base = { module = "androidx.compose.runtime:runtime", version.ref = "compose-runtime" } -androidx-compose-ui-base = { module = "androidx.compose.ui:ui", version.ref = "compose-ui" } -androidx-compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "compose-ui" } -androidx-compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview", version.ref = "compose-ui" } +androidx-compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling" } +androidx-compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview" } androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "core-ktx" } androidx-core-splashscreen = { module = "androidx.core:core-splashscreen", version.ref = "core-splashscreen" } androidx-hilt-navigation-compose = { module = "androidx.hilt:hilt-navigation-compose", version.ref = "hilt-navigation-compose" } diff --git a/JetStreamCompose/gradle/wrapper/gradle-wrapper.properties b/JetStreamCompose/gradle/wrapper/gradle-wrapper.properties index 509c4a29..20db9ad5 100644 --- a/JetStreamCompose/gradle/wrapper/gradle-wrapper.properties +++ b/JetStreamCompose/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/JetStreamCompose/jetstream/build.gradle.kts b/JetStreamCompose/jetstream/build.gradle.kts index 45b543e8..b422d1cb 100644 --- a/JetStreamCompose/jetstream/build.gradle.kts +++ b/JetStreamCompose/jetstream/build.gradle.kts @@ -13,8 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - -@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) @@ -29,19 +27,15 @@ kotlin { jvmToolchain(17) } -composeCompiler { - enableStrongSkippingMode = true -} - android { namespace = "com.google.jetstream" // Needed for latest androidx snapshot build - compileSdk = 34 + compileSdk = 35 defaultConfig { applicationId = "com.google.jetstream" minSdk = 28 - targetSdk = 34 + targetSdk = 35 versionCode = 1 versionName = "1.0" @@ -79,14 +73,8 @@ dependencies { implementation(libs.androidx.lifecycle.runtime.compose) implementation(libs.androidx.activity.compose) implementation(platform(libs.androidx.compose.bom)) - - // Compose UI libs (Using snapshot build for focus restoring APIs) - implementation(libs.androidx.compose.ui.base) implementation(libs.androidx.compose.ui.tooling.preview) - // Compose foundation library to replace tv-foundation - implementation(libs.androidx.compose.foundation.base) - // extra material icons implementation(libs.androidx.material.icons.extended) diff --git a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/MainActivity.kt b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/MainActivity.kt index 41f18b58..38269de2 100644 --- a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/MainActivity.kt +++ b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/MainActivity.kt @@ -25,7 +25,6 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.ui.Modifier import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen -import androidx.tv.material3.ExperimentalTvMaterial3Api import androidx.tv.material3.LocalContentColor import androidx.tv.material3.MaterialTheme import com.google.jetstream.presentation.App @@ -34,7 +33,6 @@ import dagger.hilt.android.AndroidEntryPoint @AndroidEntryPoint class MainActivity : ComponentActivity() { - @OptIn(ExperimentalTvMaterial3Api::class) override fun onCreate(savedInstanceState: Bundle?) { installSplashScreen() super.onCreate(savedInstanceState) diff --git a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/dashboard/DashboardTopBarItemIndicator.kt b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/dashboard/DashboardTopBarItemIndicator.kt index 145a8786..a38c8d72 100644 --- a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/dashboard/DashboardTopBarItemIndicator.kt +++ b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/dashboard/DashboardTopBarItemIndicator.kt @@ -35,10 +35,8 @@ import androidx.compose.ui.unit.DpRect import androidx.compose.ui.unit.height import androidx.compose.ui.unit.width import androidx.compose.ui.zIndex -import androidx.tv.material3.ExperimentalTvMaterial3Api import androidx.tv.material3.MaterialTheme -@OptIn(ExperimentalTvMaterial3Api::class) @Composable fun DashboardTopBarItemIndicator( currentTabPosition: DpRect, diff --git a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/favourites/MovieFilterChip.kt b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/favourites/MovieFilterChip.kt index c28ba40d..77062b1b 100644 --- a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/favourites/MovieFilterChip.kt +++ b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/favourites/MovieFilterChip.kt @@ -108,10 +108,8 @@ fun MovieFilterChip( private val ChipColor @Composable get() = Color.White.copy(alpha = 0.1f) -@OptIn(ExperimentalTvMaterial3Api::class) private val ChipContentColor @Composable get() = MaterialTheme.colorScheme.inverseSurface -@OptIn(ExperimentalTvMaterial3Api::class) private val ChipFocusedBorder @Composable get() = Border( border = BorderStroke( diff --git a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/home/FeaturedMoviesCarousel.kt b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/home/FeaturedMoviesCarousel.kt index d85467b0..a039cdc5 100644 --- a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/home/FeaturedMoviesCarousel.kt +++ b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/home/FeaturedMoviesCarousel.kt @@ -80,9 +80,7 @@ val CarouselSaver = Saver( restore = { CarouselState(it) } ) -@OptIn( - ExperimentalTvMaterial3Api::class -) +@OptIn(ExperimentalTvMaterial3Api::class) @Composable fun FeaturedMoviesCarousel( movies: List, @@ -171,7 +169,6 @@ private fun BoxScope.CarouselIndicator( } } -@OptIn(ExperimentalTvMaterial3Api::class) @Composable private fun CarouselItemForeground( movie: Movie, @@ -248,7 +245,6 @@ private fun CarouselItemBackground(movie: Movie, modifier: Modifier = Modifier) ) } -@OptIn(ExperimentalTvMaterial3Api::class) @Composable private fun WatchNowButton() { Button( diff --git a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/movies/CastAndCrewList.kt b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/movies/CastAndCrewList.kt index 600422bd..457b591e 100644 --- a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/movies/CastAndCrewList.kt +++ b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/movies/CastAndCrewList.kt @@ -40,7 +40,6 @@ import androidx.compose.ui.unit.sp import androidx.tv.material3.Border import androidx.tv.material3.CardDefaults import androidx.tv.material3.ClassicCard -import androidx.tv.material3.ExperimentalTvMaterial3Api import androidx.tv.material3.MaterialTheme import androidx.tv.material3.Text import com.google.jetstream.R @@ -50,7 +49,7 @@ import com.google.jetstream.presentation.theme.JetStreamBorderWidth import com.google.jetstream.presentation.theme.JetStreamCardShape import com.google.jetstream.presentation.utils.ourColors -@OptIn(ExperimentalComposeUiApi::class, ExperimentalTvMaterial3Api::class) +@OptIn(ExperimentalComposeUiApi::class) @Composable fun CastAndCrewList(castAndCrew: List) { val childPadding = rememberChildPadding() @@ -79,9 +78,7 @@ fun CastAndCrewList(castAndCrew: List) { } } -@OptIn(ExperimentalTvMaterial3Api::class) @Composable - private fun CastAndCrewItem( castMember: MovieCast, modifier: Modifier = Modifier, diff --git a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/movies/DotSeparatedRow.kt b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/movies/DotSeparatedRow.kt index 068f99b1..9da7a627 100644 --- a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/movies/DotSeparatedRow.kt +++ b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/movies/DotSeparatedRow.kt @@ -28,11 +28,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp -import androidx.tv.material3.ExperimentalTvMaterial3Api import androidx.tv.material3.MaterialTheme import androidx.tv.material3.Text -@OptIn(ExperimentalTvMaterial3Api::class) @Composable fun DotSeparatedRow( modifier: Modifier = Modifier, diff --git a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/movies/MovieReviews.kt b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/movies/MovieReviews.kt index 72af38ee..74731cc9 100644 --- a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/movies/MovieReviews.kt +++ b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/movies/MovieReviews.kt @@ -37,7 +37,6 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.tv.material3.Border import androidx.tv.material3.ClickableSurfaceDefaults -import androidx.tv.material3.ExperimentalTvMaterial3Api import androidx.tv.material3.Icon import androidx.tv.material3.MaterialTheme import androidx.tv.material3.Surface @@ -49,7 +48,6 @@ import com.google.jetstream.data.util.StringConstants import com.google.jetstream.presentation.screens.dashboard.rememberChildPadding import com.google.jetstream.presentation.theme.JetStreamCardShape -@OptIn(ExperimentalTvMaterial3Api::class) @Composable fun MovieReviews( modifier: Modifier = Modifier, @@ -80,7 +78,6 @@ fun MovieReviews( } } -@OptIn(ExperimentalTvMaterial3Api::class) @Composable private fun Review( reviewAndRating: MovieReviewsAndRatings, diff --git a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/movies/MoviesScreenMovieList.kt b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/movies/MoviesScreenMovieList.kt index fadadafe..b4f30a79 100644 --- a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/movies/MoviesScreenMovieList.kt +++ b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/movies/MoviesScreenMovieList.kt @@ -47,7 +47,6 @@ import androidx.compose.ui.unit.dp import androidx.tv.material3.Border import androidx.tv.material3.CardDefaults import androidx.tv.material3.CompactCard -import androidx.tv.material3.ExperimentalTvMaterial3Api import androidx.tv.material3.MaterialTheme import androidx.tv.material3.Text import coil.compose.AsyncImage @@ -86,7 +85,6 @@ fun MoviesScreenMovieList( } } -@OptIn(ExperimentalTvMaterial3Api::class) @Composable private fun MovieListItem( itemWidth: Dp, diff --git a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/movies/TitleValueText.kt b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/movies/TitleValueText.kt index 8a744429..b9fe9c3e 100644 --- a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/movies/TitleValueText.kt +++ b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/movies/TitleValueText.kt @@ -21,11 +21,9 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.draw.alpha import androidx.compose.ui.text.font.FontWeight -import androidx.tv.material3.ExperimentalTvMaterial3Api import androidx.tv.material3.MaterialTheme import androidx.tv.material3.Text -@OptIn(ExperimentalTvMaterial3Api::class) @Composable fun TitleValueText( modifier: Modifier = Modifier, diff --git a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/profile/AboutSection.kt b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/profile/AboutSection.kt index 4dd2c4bc..3b1f39b3 100644 --- a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/profile/AboutSection.kt +++ b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/profile/AboutSection.kt @@ -30,12 +30,10 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.graphicsLayer import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.dp -import androidx.tv.material3.ExperimentalTvMaterial3Api import androidx.tv.material3.MaterialTheme import androidx.tv.material3.Text import com.google.jetstream.data.util.StringConstants -@OptIn(ExperimentalTvMaterial3Api::class) @Composable fun AboutSection() { val context = LocalContext.current @@ -83,5 +81,5 @@ fun AboutSection() { private fun Context.getVersionNumber(): String { val packageName = packageName val metaData = packageManager.getPackageInfo(packageName, PackageManager.GET_META_DATA) - return metaData.versionName + return metaData.versionName!! } diff --git a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/profile/AccountsSectionDialogButton.kt b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/profile/AccountsSectionDialogButton.kt index 223c5416..3dd772dc 100644 --- a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/profile/AccountsSectionDialogButton.kt +++ b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/profile/AccountsSectionDialogButton.kt @@ -30,12 +30,10 @@ import androidx.compose.ui.unit.dp import androidx.tv.material3.Border import androidx.tv.material3.Button import androidx.tv.material3.ButtonDefaults -import androidx.tv.material3.ExperimentalTvMaterial3Api import androidx.tv.material3.MaterialTheme import androidx.tv.material3.Text import com.google.jetstream.presentation.theme.JetStreamButtonShape -@OptIn(ExperimentalTvMaterial3Api::class) @Composable fun AccountsSectionDialogButton( modifier: Modifier = Modifier, diff --git a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/profile/HelpAndSupportSection.kt b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/profile/HelpAndSupportSection.kt index 5adf41db..f8a466e3 100644 --- a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/profile/HelpAndSupportSection.kt +++ b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/profile/HelpAndSupportSection.kt @@ -21,7 +21,6 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.ArrowForwardIos -import androidx.compose.material.icons.filled.ArrowForwardIos import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp @@ -54,7 +53,6 @@ fun HelpAndSupportSection() { } } -@OptIn(ExperimentalTvMaterial3Api::class) @Composable private fun HelpAndSupportSectionItem( title: String, diff --git a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/profile/SubtitlesSection.kt b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/profile/SubtitlesSection.kt index 00df5847..f36a1f24 100644 --- a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/profile/SubtitlesSection.kt +++ b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/profile/SubtitlesSection.kt @@ -21,7 +21,6 @@ import androidx.compose.foundation.layout.padding import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import androidx.tv.material3.ExperimentalTvMaterial3Api import androidx.tv.material3.ListItem import androidx.tv.material3.ListItemDefaults import androidx.tv.material3.MaterialTheme @@ -32,7 +31,6 @@ import androidx.tv.material3.surfaceColorAtElevation import com.google.jetstream.data.util.StringConstants import com.google.jetstream.presentation.theme.JetStreamCardShape -@OptIn(ExperimentalTvMaterial3Api::class) @Composable fun SubtitlesSection( isSubtitlesChecked: Boolean, diff --git a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/search/SearchScreen.kt b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/search/SearchScreen.kt index 102b8743..5d6d5aef 100644 --- a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/search/SearchScreen.kt +++ b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/search/SearchScreen.kt @@ -54,7 +54,6 @@ import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.tv.material3.Border import androidx.tv.material3.ClickableSurfaceDefaults -import androidx.tv.material3.ExperimentalTvMaterial3Api import androidx.tv.material3.LocalContentColor import androidx.tv.material3.MaterialTheme import androidx.tv.material3.Surface @@ -66,7 +65,6 @@ import com.google.jetstream.presentation.common.MoviesRow import com.google.jetstream.presentation.screens.dashboard.rememberChildPadding import com.google.jetstream.presentation.theme.JetStreamCardShape -@OptIn(ExperimentalTvMaterial3Api::class) @Composable fun SearchScreen( onMovieClick: (movie: Movie) -> Unit, @@ -103,7 +101,7 @@ fun SearchScreen( } } -@OptIn(ExperimentalComposeUiApi::class, ExperimentalTvMaterial3Api::class) +@OptIn(ExperimentalComposeUiApi::class) @Composable fun SearchResult( movieList: MovieList, diff --git a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/videoPlayer/components/VideoPlayerControllerText.kt b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/videoPlayer/components/VideoPlayerControllerText.kt index 23eea620..6a2659da 100644 --- a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/videoPlayer/components/VideoPlayerControllerText.kt +++ b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/videoPlayer/components/VideoPlayerControllerText.kt @@ -21,11 +21,9 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp -import androidx.tv.material3.ExperimentalTvMaterial3Api import androidx.tv.material3.MaterialTheme import androidx.tv.material3.Text -@OptIn(ExperimentalTvMaterial3Api::class) @Composable fun VideoPlayerControllerText(text: String) { Text( diff --git a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/videoPlayer/components/VideoPlayerControlsIcon.kt b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/videoPlayer/components/VideoPlayerControlsIcon.kt index 6f3d6931..9939b2ff 100644 --- a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/videoPlayer/components/VideoPlayerControlsIcon.kt +++ b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/videoPlayer/components/VideoPlayerControlsIcon.kt @@ -30,13 +30,11 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.unit.dp import androidx.tv.material3.ClickableSurfaceDefaults -import androidx.tv.material3.ExperimentalTvMaterial3Api import androidx.tv.material3.Icon import androidx.tv.material3.LocalContentColor import androidx.tv.material3.MaterialTheme import androidx.tv.material3.Surface -@OptIn(ExperimentalTvMaterial3Api::class) @Composable fun VideoPlayerControlsIcon( modifier: Modifier = Modifier, diff --git a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/videoPlayer/components/VideoPlayerIndicator.kt b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/videoPlayer/components/VideoPlayerIndicator.kt index 9646b545..6cdd9a6f 100644 --- a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/videoPlayer/components/VideoPlayerIndicator.kt +++ b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/videoPlayer/components/VideoPlayerIndicator.kt @@ -31,19 +31,14 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.rememberUpdatedState import androidx.compose.runtime.setValue -import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier -import androidx.compose.ui.focus.FocusDirection import androidx.compose.ui.geometry.Offset import androidx.compose.ui.graphics.StrokeCap -import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.unit.dp -import androidx.tv.material3.ExperimentalTvMaterial3Api import androidx.tv.material3.MaterialTheme import com.google.jetstream.presentation.utils.handleDPadKeyEvents import com.google.jetstream.presentation.utils.ifElse -@OptIn(ExperimentalComposeUiApi::class, ExperimentalTvMaterial3Api::class) @Composable fun RowScope.VideoPlayerControllerIndicator( progress: Float, @@ -61,7 +56,6 @@ fun RowScope.VideoPlayerControllerIndicator( targetValue = 4.dp.times((if (isFocused) 2.5f else 1f)) ) var seekProgress by remember { mutableStateOf(0f) } - val focusManager = LocalFocusManager.current LaunchedEffect(isSelected) { if (isSelected) { diff --git a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/videoPlayer/components/VideoPlayerMediaTitle.kt b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/videoPlayer/components/VideoPlayerMediaTitle.kt index 3c1b0875..176ba2ca 100644 --- a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/videoPlayer/components/VideoPlayerMediaTitle.kt +++ b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/videoPlayer/components/VideoPlayerMediaTitle.kt @@ -32,7 +32,6 @@ import androidx.compose.ui.graphics.RectangleShape import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import androidx.tv.material3.ExperimentalTvMaterial3Api import androidx.tv.material3.MaterialTheme import androidx.tv.material3.Surface import androidx.tv.material3.Text @@ -41,7 +40,6 @@ import com.google.jetstream.presentation.theme.JetStreamTheme enum class VideoPlayerMediaTitleType { AD, LIVE, DEFAULT } -@OptIn(ExperimentalTvMaterial3Api::class) @Composable fun VideoPlayerMediaTitle( title: String, @@ -100,7 +98,6 @@ fun VideoPlayerMediaTitle( } } -@OptIn(ExperimentalTvMaterial3Api::class) @Preview(name = "TV Series", device = "id:tv_4k") @Composable private fun VideoPlayerMediaTitlePreviewSeries() { @@ -116,7 +113,6 @@ private fun VideoPlayerMediaTitlePreviewSeries() { } } -@OptIn(ExperimentalTvMaterial3Api::class) @Preview(name = "Live", device = "id:tv_4k") @Composable private fun VideoPlayerMediaTitlePreviewLive() { @@ -132,7 +128,6 @@ private fun VideoPlayerMediaTitlePreviewLive() { } } -@OptIn(ExperimentalTvMaterial3Api::class) @Preview(name = "Ads", device = "id:tv_4k") @Composable private fun VideoPlayerMediaTitlePreviewAd() { diff --git a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/videoPlayer/components/VideoPlayerPulse.kt b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/videoPlayer/components/VideoPlayerPulse.kt index 0141ea7b..a2e2f57f 100644 --- a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/videoPlayer/components/VideoPlayerPulse.kt +++ b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/screens/videoPlayer/components/VideoPlayerPulse.kt @@ -32,7 +32,6 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp -import androidx.tv.material3.ExperimentalTvMaterial3Api import androidx.tv.material3.Icon import com.google.jetstream.presentation.screens.videoPlayer.components.VideoPlayerPulse.Type.NONE import kotlin.time.Duration.Companion.seconds @@ -45,7 +44,6 @@ object VideoPlayerPulse { enum class Type { FORWARD, BACK, NONE } } -@OptIn(ExperimentalTvMaterial3Api::class) @Composable fun VideoPlayerPulse( state: VideoPlayerPulseState = rememberVideoPlayerPulseState() diff --git a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/theme/JetStreamFocusTheme.kt b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/theme/JetStreamFocusTheme.kt index d71383a4..b1f7dd56 100644 --- a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/theme/JetStreamFocusTheme.kt +++ b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/theme/JetStreamFocusTheme.kt @@ -17,12 +17,9 @@ package com.google.jetstream.presentation.theme import androidx.compose.ui.unit.dp -import androidx.tv.material3.ExperimentalTvMaterial3Api import androidx.tv.material3.ShapeDefaults -@OptIn(ExperimentalTvMaterial3Api::class) val JetStreamCardShape = ShapeDefaults.ExtraSmall -@OptIn(ExperimentalTvMaterial3Api::class) val JetStreamButtonShape = ShapeDefaults.ExtraSmall val IconSize = 20.dp val JetStreamBorderWidth = 3.dp diff --git a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/theme/Theme.kt b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/theme/Theme.kt index 8e93ece4..6fcd4ef4 100644 --- a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/theme/Theme.kt +++ b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/theme/Theme.kt @@ -18,12 +18,10 @@ package com.google.jetstream.presentation.theme // ktlint-disable filename import androidx.compose.runtime.Composable import androidx.compose.ui.res.colorResource -import androidx.tv.material3.ExperimentalTvMaterial3Api import androidx.tv.material3.MaterialTheme import androidx.tv.material3.darkColorScheme import com.google.jetstream.R -@OptIn(ExperimentalTvMaterial3Api::class) private val darkColorScheme @Composable get() = darkColorScheme( primary = colorResource(R.color.primary), onPrimary = colorResource(R.color.onPrimary), @@ -50,7 +48,6 @@ private val darkColorScheme @Composable get() = darkColorScheme( border = colorResource(R.color.border), ) -@OptIn(ExperimentalTvMaterial3Api::class) @Composable fun JetStreamTheme( content: @Composable () -> Unit diff --git a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/theme/Type.kt b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/theme/Type.kt index a5896ced..48070ba8 100644 --- a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/theme/Type.kt +++ b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/theme/Type.kt @@ -22,7 +22,6 @@ import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextMotion import androidx.compose.ui.unit.sp -import androidx.tv.material3.ExperimentalTvMaterial3Api import androidx.tv.material3.Typography import com.google.jetstream.R @@ -47,7 +46,6 @@ val LexendExa = FontFamily( ) // Set of Material typography styles to start with -@OptIn(ExperimentalTvMaterial3Api::class) val Typography = Typography( displayLarge = TextStyle( fontSize = 57.sp, diff --git a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/utils/BringIntoViewIfChildrenAreFocused.kt b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/utils/BringIntoViewIfChildrenAreFocused.kt index 6f1eb9ba..59454684 100644 --- a/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/utils/BringIntoViewIfChildrenAreFocused.kt +++ b/JetStreamCompose/jetstream/src/main/java/com/google/jetstream/presentation/utils/BringIntoViewIfChildrenAreFocused.kt @@ -29,7 +29,6 @@ import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.platform.debugInspectorInfo import androidx.compose.ui.unit.toSize -@Suppress("IllegalExperimentalApiUsage") // TODO (b/233188423): Address before moving to beta @OptIn(ExperimentalFoundationApi::class) // ToDo: Migrate to Modifier.Node and stop using composed function. internal fun Modifier.bringIntoViewIfChildrenAreFocused(