compose: Drop all optin for experimental APIs

Too many of them at this point. Simply set them in compiler arguments
and revisit to remove after 2-3 years.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2025-08-19 15:26:53 +08:00
parent 0432dc0f00
commit a9afd0785e
21 changed files with 14 additions and 50 deletions

View File

@@ -23,6 +23,7 @@
import com.google.devtools.ksp.KspExperimental import com.google.devtools.ksp.KspExperimental
import java.util.Properties import java.util.Properties
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
plugins { plugins {
alias(libs.plugins.android.application) alias(libs.plugins.android.application)
@@ -43,6 +44,19 @@ val lastCommitHash = providers.exec {
kotlin { kotlin {
jvmToolchain(21) jvmToolchain(21)
compilerOptions {
jvmTarget = JvmTarget.JVM_21
freeCompilerArgs.addAll(
"-Xannotation-default-target=param-property"
)
optIn.addAll(
"androidx.compose.material3.ExperimentalMaterial3Api",
"androidx.compose.material3.ExperimentalMaterial3ExpressiveApi",
"androidx.compose.foundation.layout.ExperimentalLayoutApi",
"androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi",
"coil3.annotation.ExperimentalCoilApi"
)
}
} }
android { android {
@@ -140,10 +154,6 @@ android {
compose = true compose = true
} }
kotlinOptions {
jvmTarget = JavaVersion.VERSION_21.toString()
}
compileOptions { compileOptions {
sourceCompatibility = JavaVersion.VERSION_21 sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21 targetCompatibility = JavaVersion.VERSION_21

View File

@@ -21,7 +21,6 @@ import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.dimensionResource
import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.AsyncImage import coil3.compose.AsyncImage
import coil3.compose.LocalAsyncImagePreviewHandler import coil3.compose.LocalAsyncImagePreviewHandler
import coil3.request.ImageRequest import coil3.request.ImageRequest
@@ -69,7 +68,6 @@ fun CategoryComposable(
@Preview(showBackground = true) @Preview(showBackground = true)
@Composable @Composable
@OptIn(ExperimentalCoilApi::class)
private fun CategoryComposablePreview() { private fun CategoryComposablePreview() {
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
CategoryComposable(category = Category(title = "Art & Design")) CategoryComposable(category = Category(title = "Art & Design"))

View File

@@ -28,7 +28,6 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.tooling.preview.PreviewParameter
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.AsyncImage import coil3.compose.AsyncImage
import coil3.compose.LocalAsyncImagePreviewHandler import coil3.compose.LocalAsyncImagePreviewHandler
import coil3.request.ImageRequest import coil3.request.ImageRequest
@@ -119,7 +118,6 @@ fun DownloadComposable(
@Preview(showBackground = true) @Preview(showBackground = true)
@Composable @Composable
@OptIn(ExperimentalCoilApi::class)
private fun DownloadComposablePreview(@PreviewParameter(AppPreviewProvider::class) app: App) { private fun DownloadComposablePreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
DownloadComposable(download = Download.fromApp(app)) DownloadComposable(download = Download.fromApp(app))

View File

@@ -31,7 +31,6 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.tooling.preview.PreviewParameter
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.AsyncImage import coil3.compose.AsyncImage
import coil3.compose.LocalAsyncImagePreviewHandler import coil3.compose.LocalAsyncImagePreviewHandler
import coil3.request.ImageRequest import coil3.request.ImageRequest
@@ -116,7 +115,6 @@ fun FavouriteComposable(
@Preview(showBackground = true) @Preview(showBackground = true)
@Composable @Composable
@OptIn(ExperimentalCoilApi::class)
private fun FavouriteComposablePreview(@PreviewParameter(AppPreviewProvider::class) app: App) { private fun FavouriteComposablePreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
FavouriteComposable(favourite = Favourite.fromApp(app, Favourite.Mode.MANUAL)) FavouriteComposable(favourite = Favourite.fromApp(app, Favourite.Mode.MANUAL))

View File

@@ -10,7 +10,6 @@ import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.requiredSize import androidx.compose.foundation.layout.requiredSize
import androidx.compose.material3.ContainedLoadingIndicator import androidx.compose.material3.ContainedLoadingIndicator
import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
@@ -23,7 +22,6 @@ import com.aurora.store.R
* @param modifier The modifier to be applied to the composable * @param modifier The modifier to be applied to the composable
*/ */
@Composable @Composable
@OptIn(ExperimentalMaterial3ExpressiveApi::class)
fun ProgressComposable(modifier: Modifier = Modifier) { fun ProgressComposable(modifier: Modifier = Modifier) {
Box( Box(
modifier = modifier modifier = modifier

View File

@@ -10,7 +10,6 @@ import androidx.compose.foundation.layout.RowScope
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.text.KeyboardActions import androidx.compose.foundation.text.KeyboardActions
import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.foundation.text.KeyboardOptions
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton import androidx.compose.material3.IconButton
import androidx.compose.material3.Text import androidx.compose.material3.Text
@@ -40,7 +39,6 @@ import com.aurora.store.R
* @param actions Actions to display on the top app bar (for e.g. menu) * @param actions Actions to display on the top app bar (for e.g. menu)
*/ */
@Composable @Composable
@OptIn(ExperimentalMaterial3Api::class)
fun SearchAppBarComposable( fun SearchAppBarComposable(
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
@StringRes searchHint: Int? = null, @StringRes searchHint: Int? = null,

View File

@@ -6,7 +6,6 @@
package com.aurora.store.compose.composables package com.aurora.store.compose.composables
import androidx.compose.foundation.layout.RowScope import androidx.compose.foundation.layout.RowScope
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton import androidx.compose.material3.IconButton
import androidx.compose.material3.Text import androidx.compose.material3.Text
@@ -28,7 +27,6 @@ import com.aurora.store.R
* @param actions Actions to display on the top app bar (for e.g. menu) * @param actions Actions to display on the top app bar (for e.g. menu)
*/ */
@Composable @Composable
@OptIn(ExperimentalMaterial3Api::class)
fun TopAppBarComposable( fun TopAppBarComposable(
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
title: String? = null, title: String? = null,

View File

@@ -26,7 +26,6 @@ import androidx.compose.ui.res.dimensionResource
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.tooling.preview.PreviewParameterProvider import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.AsyncImage import coil3.compose.AsyncImage
import coil3.compose.LocalAsyncImagePreviewHandler import coil3.compose.LocalAsyncImagePreviewHandler
import coil3.request.ImageRequest import coil3.request.ImageRequest
@@ -94,7 +93,6 @@ private class ProgressProvider: PreviewParameterProvider<Float> {
@Preview(showBackground = true) @Preview(showBackground = true)
@Composable @Composable
@OptIn(ExperimentalCoilApi::class)
private fun AnimatedAppIconPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { private fun AnimatedAppIconPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
AnimatedAppIconComposable( AnimatedAppIconComposable(
@@ -106,7 +104,6 @@ private fun AnimatedAppIconPreview(@PreviewParameter(AppPreviewProvider::class)
@Preview(showBackground = true) @Preview(showBackground = true)
@Composable @Composable
@OptIn(ExperimentalCoilApi::class)
private fun AnimatedAppIconPreview(@PreviewParameter(ProgressProvider::class) progress: Float) { private fun AnimatedAppIconPreview(@PreviewParameter(ProgressProvider::class) progress: Float) {
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
AnimatedAppIconComposable( AnimatedAppIconComposable(

View File

@@ -24,7 +24,6 @@ import androidx.compose.ui.res.dimensionResource
import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.tooling.preview.PreviewParameter
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.AsyncImage import coil3.compose.AsyncImage
import coil3.compose.LocalAsyncImagePreviewHandler import coil3.compose.LocalAsyncImagePreviewHandler
import coil3.request.ImageRequest import coil3.request.ImageRequest
@@ -82,7 +81,6 @@ fun AppComposable(modifier: Modifier = Modifier, app: App, onClick: () -> Unit =
@Preview(showBackground = true) @Preview(showBackground = true)
@Composable @Composable
@OptIn(ExperimentalCoilApi::class)
private fun AppComposablePreview(@PreviewParameter(AppPreviewProvider::class) app: App) { private fun AppComposablePreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
AppComposable(app = app) AppComposable(app = app)

View File

@@ -25,7 +25,6 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.tooling.preview.PreviewParameter
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.AsyncImage import coil3.compose.AsyncImage
import coil3.compose.LocalAsyncImagePreviewHandler import coil3.compose.LocalAsyncImagePreviewHandler
import coil3.request.ImageRequest import coil3.request.ImageRequest
@@ -87,7 +86,6 @@ fun AppListComposable(modifier: Modifier = Modifier, app: App, onClick: () -> Un
@Preview(showBackground = true) @Preview(showBackground = true)
@Composable @Composable
@OptIn(ExperimentalCoilApi::class)
fun AppListComposablePreview(@PreviewParameter(AppPreviewProvider::class) app: App) { fun AppListComposablePreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
AppListComposable(app = app) AppListComposable(app = app)

View File

@@ -26,7 +26,6 @@ import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.viewinterop.AndroidView import androidx.compose.ui.viewinterop.AndroidView
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.AsyncImage import coil3.compose.AsyncImage
import coil3.compose.LocalAsyncImagePreviewHandler import coil3.compose.LocalAsyncImagePreviewHandler
import coil3.request.ImageRequest import coil3.request.ImageRequest
@@ -98,7 +97,6 @@ fun ReviewComposable(modifier: Modifier = Modifier, review: Review) {
@Preview(showBackground = true) @Preview(showBackground = true)
@Composable @Composable
@OptIn(ExperimentalCoilApi::class)
private fun ReviewComposablePreview(@PreviewParameter(ReviewPreviewProvider::class) review: Review) { private fun ReviewComposablePreview(@PreviewParameter(ReviewPreviewProvider::class) review: Review) {
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
ReviewComposable(review = review) ReviewComposable(review = review)

View File

@@ -16,7 +16,6 @@ import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.compose.collectAsStateWithLifecycle
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.AsyncImagePainter import coil3.compose.AsyncImagePainter
import coil3.compose.LocalAsyncImagePreviewHandler import coil3.compose.LocalAsyncImagePreviewHandler
import coil3.compose.rememberAsyncImagePainter import coil3.compose.rememberAsyncImagePainter
@@ -62,7 +61,6 @@ fun ScreenshotComposable(modifier: Modifier = Modifier, url: String) {
@Preview @Preview
@Composable @Composable
@OptIn(ExperimentalCoilApi::class)
private fun ScreenshotComposablePreview(@PreviewParameter(AppPreviewProvider::class) app: App) { private fun ScreenshotComposablePreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
ScreenshotComposable(url = app.screenshots.firstOrNull()?.url ?: "") ScreenshotComposable(url = app.screenshots.firstOrNull()?.url ?: "")

View File

@@ -8,13 +8,11 @@ package com.aurora.store.compose.preview
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.toArgb import androidx.compose.ui.graphics.toArgb
import coil3.ColorImage import coil3.ColorImage
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.AsyncImagePreviewHandler import coil3.compose.AsyncImagePreviewHandler
/** /**
* Preview provider for composable working with coil for loading remote images * Preview provider for composable working with coil for loading remote images
*/ */
@OptIn(ExperimentalCoilApi::class)
val coilPreviewProvider = AsyncImagePreviewHandler { val coilPreviewProvider = AsyncImagePreviewHandler {
ColorImage(Color.Gray.toArgb()) ColorImage(Color.Gray.toArgb())
} }

View File

@@ -7,7 +7,6 @@ package com.aurora.store.compose.theme
import android.os.Build import android.os.Build
import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
import androidx.compose.material3.MaterialExpressiveTheme import androidx.compose.material3.MaterialExpressiveTheme
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.darkColorScheme import androidx.compose.material3.darkColorScheme
@@ -24,7 +23,6 @@ import com.aurora.store.util.Preferences
* App theme for Aurora Store based on [MaterialTheme] * App theme for Aurora Store based on [MaterialTheme]
*/ */
@Composable @Composable
@OptIn(ExperimentalMaterial3ExpressiveApi::class)
fun AuroraTheme(content: @Composable () -> Unit) { fun AuroraTheme(content: @Composable () -> Unit) {
val context = LocalContext.current val context = LocalContext.current
val themeStyle = Preferences.getInteger(context, Preferences.PREFERENCE_THEME_STYLE) val themeStyle = Preferences.getInteger(context, Preferences.PREFERENCE_THEME_STYLE)

View File

@@ -17,7 +17,6 @@ import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.Icon import androidx.compose.material3.Icon
import androidx.compose.material3.Scaffold import androidx.compose.material3.Scaffold
import androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi
import androidx.compose.material3.adaptive.layout.AnimatedPane import androidx.compose.material3.adaptive.layout.AnimatedPane
import androidx.compose.material3.adaptive.layout.PaneAdaptedValue import androidx.compose.material3.adaptive.layout.PaneAdaptedValue
import androidx.compose.material3.adaptive.layout.SupportingPaneScaffoldRole import androidx.compose.material3.adaptive.layout.SupportingPaneScaffoldRole
@@ -39,7 +38,6 @@ import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.tooling.preview.PreviewScreenSizes import androidx.compose.ui.tooling.preview.PreviewScreenSizes
import androidx.hilt.navigation.compose.hiltViewModel import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.compose.collectAsStateWithLifecycle
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.LocalAsyncImagePreviewHandler import coil3.compose.LocalAsyncImagePreviewHandler
import com.aurora.Constants.PACKAGE_NAME_GMS import com.aurora.Constants.PACKAGE_NAME_GMS
import com.aurora.Constants.SHARE_URL import com.aurora.Constants.SHARE_URL
@@ -179,7 +177,6 @@ private fun ScreenContentError(onNavigateUp: () -> Unit = {}) {
* Composable to display app details and suggestions * Composable to display app details and suggestions
*/ */
@Composable @Composable
@OptIn(ExperimentalMaterial3AdaptiveApi::class)
private fun ScreenContentApp( private fun ScreenContentApp(
app: App, app: App,
featuredReviews: List<Review> = emptyList(), featuredReviews: List<Review> = emptyList(),
@@ -458,7 +455,6 @@ private fun ScreenContentApp(
@PreviewScreenSizes @PreviewScreenSizes
@Composable @Composable
@OptIn(ExperimentalCoilApi::class)
private fun AppDetailsScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { private fun AppDetailsScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
ScreenContentApp( ScreenContentApp(

View File

@@ -32,7 +32,6 @@ import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.hilt.navigation.compose.hiltViewModel import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.window.core.layout.WindowWidthSizeClass import androidx.window.core.layout.WindowWidthSizeClass
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.LocalAsyncImagePreviewHandler import coil3.compose.LocalAsyncImagePreviewHandler
import com.aurora.extensions.adaptiveNavigationIcon import com.aurora.extensions.adaptiveNavigationIcon
import com.aurora.gplayapi.data.models.App import com.aurora.gplayapi.data.models.App
@@ -189,7 +188,6 @@ private fun AppInfoMore(app: App) {
@Preview @Preview
@Composable @Composable
@OptIn(ExperimentalCoilApi::class)
private fun DetailsMoreScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { private fun DetailsMoreScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
ScreenContent(app = app) ScreenContent(app = app)

View File

@@ -38,7 +38,6 @@ import androidx.paging.compose.LazyPagingItems
import androidx.paging.compose.collectAsLazyPagingItems import androidx.paging.compose.collectAsLazyPagingItems
import androidx.paging.compose.itemKey import androidx.paging.compose.itemKey
import androidx.window.core.layout.WindowWidthSizeClass import androidx.window.core.layout.WindowWidthSizeClass
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.LocalAsyncImagePreviewHandler import coil3.compose.LocalAsyncImagePreviewHandler
import com.aurora.extensions.adaptiveNavigationIcon import com.aurora.extensions.adaptiveNavigationIcon
import com.aurora.gplayapi.data.models.Review import com.aurora.gplayapi.data.models.Review
@@ -172,7 +171,6 @@ private fun FilterHeader(onClick: (filter: Review.Filter) -> Unit) {
@Preview @Preview
@Composable @Composable
@OptIn(ExperimentalCoilApi::class)
private fun DetailsReviewScreenPreview(@PreviewParameter(ReviewPreviewProvider::class) review: Review) { private fun DetailsReviewScreenPreview(@PreviewParameter(ReviewPreviewProvider::class) review: Review) {
val reviews = List(10) { review.copy(commentId = Random.nextInt().toString()) } val reviews = List(10) { review.copy(commentId = Random.nextInt().toString()) }
val reviewsFlow = MutableStateFlow(PagingData.from(reviews)).collectAsLazyPagingItems() val reviewsFlow = MutableStateFlow(PagingData.from(reviews)).collectAsLazyPagingItems()

View File

@@ -23,7 +23,6 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.tooling.preview.PreviewParameter
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.LocalAsyncImagePreviewHandler import coil3.compose.LocalAsyncImagePreviewHandler
import com.aurora.extensions.bodyVerySmall import com.aurora.extensions.bodyVerySmall
import com.aurora.gplayapi.data.models.App import com.aurora.gplayapi.data.models.App
@@ -95,7 +94,6 @@ fun AppDetails(
@Preview(showBackground = true) @Preview(showBackground = true)
@Composable @Composable
@OptIn(ExperimentalCoilApi::class)
private fun AppDetailsPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { private fun AppDetailsPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
Column(verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))) { Column(verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))) {
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {

View File

@@ -19,7 +19,6 @@ import androidx.compose.ui.draw.clip
import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.dimensionResource
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.tooling.preview.PreviewParameter
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.LocalAsyncImagePreviewHandler import coil3.compose.LocalAsyncImagePreviewHandler
import com.aurora.gplayapi.data.models.App import com.aurora.gplayapi.data.models.App
import com.aurora.gplayapi.data.models.Artwork import com.aurora.gplayapi.data.models.Artwork
@@ -51,7 +50,6 @@ fun AppScreenshots(screenshots: List<Artwork>, onNavigateToScreenshot: (index: I
@Preview(showBackground = true) @Preview(showBackground = true)
@Composable @Composable
@OptIn(ExperimentalCoilApi::class)
private fun AppScreenshotsPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { private fun AppScreenshotsPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
Column(verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))) { Column(verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))) {
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {

View File

@@ -24,7 +24,6 @@ import androidx.paging.PagingData
import androidx.paging.compose.LazyPagingItems import androidx.paging.compose.LazyPagingItems
import androidx.paging.compose.collectAsLazyPagingItems import androidx.paging.compose.collectAsLazyPagingItems
import androidx.paging.compose.itemKey import androidx.paging.compose.itemKey
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.LocalAsyncImagePreviewHandler import coil3.compose.LocalAsyncImagePreviewHandler
import com.aurora.extensions.adaptiveNavigationIcon import com.aurora.extensions.adaptiveNavigationIcon
import com.aurora.gplayapi.data.models.App import com.aurora.gplayapi.data.models.App
@@ -128,7 +127,6 @@ private fun ScreenContent(
@Preview @Preview
@Composable @Composable
@OptIn(ExperimentalCoilApi::class)
private fun DevProfileScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { private fun DevProfileScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
val apps = List(10) { app.copy(id = Random.nextInt()) } val apps = List(10) { app.copy(id = Random.nextInt()) }

View File

@@ -9,14 +9,12 @@ import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.material3.DockedSearchBar import androidx.compose.material3.DockedSearchBar
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton import androidx.compose.material3.IconButton
import androidx.compose.material3.Scaffold import androidx.compose.material3.Scaffold
import androidx.compose.material3.SearchBarDefaults import androidx.compose.material3.SearchBarDefaults
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBar import androidx.compose.material3.TopAppBar
import androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi
import androidx.compose.material3.adaptive.layout.AnimatedPane import androidx.compose.material3.adaptive.layout.AnimatedPane
import androidx.compose.material3.adaptive.layout.ListDetailPaneScaffoldRole import androidx.compose.material3.adaptive.layout.ListDetailPaneScaffoldRole
import androidx.compose.material3.adaptive.navigation.NavigableListDetailPaneScaffold import androidx.compose.material3.adaptive.navigation.NavigableListDetailPaneScaffold
@@ -45,7 +43,6 @@ import androidx.paging.PagingData
import androidx.paging.compose.LazyPagingItems import androidx.paging.compose.LazyPagingItems
import androidx.paging.compose.collectAsLazyPagingItems import androidx.paging.compose.collectAsLazyPagingItems
import androidx.paging.compose.itemKey import androidx.paging.compose.itemKey
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.LocalAsyncImagePreviewHandler import coil3.compose.LocalAsyncImagePreviewHandler
import com.aurora.gplayapi.SearchSuggestEntry import com.aurora.gplayapi.SearchSuggestEntry
import com.aurora.gplayapi.data.models.App import com.aurora.gplayapi.data.models.App
@@ -78,7 +75,6 @@ fun SearchScreen(onNavigateUp: () -> Unit, viewModel: SearchViewModel = hiltView
} }
@Composable @Composable
@OptIn(ExperimentalMaterial3AdaptiveApi::class, ExperimentalMaterial3Api::class)
private fun ScreenContent( private fun ScreenContent(
suggestions: List<SearchSuggestEntry> = emptyList(), suggestions: List<SearchSuggestEntry> = emptyList(),
results: LazyPagingItems<App> = flowOf(PagingData.empty<App>()).collectAsLazyPagingItems(), results: LazyPagingItems<App> = flowOf(PagingData.empty<App>()).collectAsLazyPagingItems(),
@@ -238,7 +234,6 @@ private fun ScreenContent(
@PreviewScreenSizes @PreviewScreenSizes
@Composable @Composable
@OptIn(ExperimentalCoilApi::class)
private fun SearchScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { private fun SearchScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
val apps = List(10) { app.copy(id = Random.nextInt()) } val apps = List(10) { app.copy(id = Random.nextInt()) }
val results = flowOf(PagingData.from(apps)).collectAsLazyPagingItems() val results = flowOf(PagingData.from(apps)).collectAsLazyPagingItems()