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

@@ -21,7 +21,6 @@ import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.dimensionResource
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.AsyncImage
import coil3.compose.LocalAsyncImagePreviewHandler
import coil3.request.ImageRequest
@@ -69,7 +68,6 @@ fun CategoryComposable(
@Preview(showBackground = true)
@Composable
@OptIn(ExperimentalCoilApi::class)
private fun CategoryComposablePreview() {
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
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.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.AsyncImage
import coil3.compose.LocalAsyncImagePreviewHandler
import coil3.request.ImageRequest
@@ -119,7 +118,6 @@ fun DownloadComposable(
@Preview(showBackground = true)
@Composable
@OptIn(ExperimentalCoilApi::class)
private fun DownloadComposablePreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
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.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.AsyncImage
import coil3.compose.LocalAsyncImagePreviewHandler
import coil3.request.ImageRequest
@@ -116,7 +115,6 @@ fun FavouriteComposable(
@Preview(showBackground = true)
@Composable
@OptIn(ExperimentalCoilApi::class)
private fun FavouriteComposablePreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
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.requiredSize
import androidx.compose.material3.ContainedLoadingIndicator
import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
@@ -23,7 +22,6 @@ import com.aurora.store.R
* @param modifier The modifier to be applied to the composable
*/
@Composable
@OptIn(ExperimentalMaterial3ExpressiveApi::class)
fun ProgressComposable(modifier: Modifier = Modifier) {
Box(
modifier = modifier

View File

@@ -10,7 +10,6 @@ import androidx.compose.foundation.layout.RowScope
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.text.KeyboardActions
import androidx.compose.foundation.text.KeyboardOptions
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
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)
*/
@Composable
@OptIn(ExperimentalMaterial3Api::class)
fun SearchAppBarComposable(
modifier: Modifier = Modifier,
@StringRes searchHint: Int? = null,

View File

@@ -6,7 +6,6 @@
package com.aurora.store.compose.composables
import androidx.compose.foundation.layout.RowScope
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
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)
*/
@Composable
@OptIn(ExperimentalMaterial3Api::class)
fun TopAppBarComposable(
modifier: Modifier = Modifier,
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.PreviewParameter
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.AsyncImage
import coil3.compose.LocalAsyncImagePreviewHandler
import coil3.request.ImageRequest
@@ -94,7 +93,6 @@ private class ProgressProvider: PreviewParameterProvider<Float> {
@Preview(showBackground = true)
@Composable
@OptIn(ExperimentalCoilApi::class)
private fun AnimatedAppIconPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
AnimatedAppIconComposable(
@@ -106,7 +104,6 @@ private fun AnimatedAppIconPreview(@PreviewParameter(AppPreviewProvider::class)
@Preview(showBackground = true)
@Composable
@OptIn(ExperimentalCoilApi::class)
private fun AnimatedAppIconPreview(@PreviewParameter(ProgressProvider::class) progress: Float) {
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
AnimatedAppIconComposable(

View File

@@ -24,7 +24,6 @@ import androidx.compose.ui.res.dimensionResource
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.AsyncImage
import coil3.compose.LocalAsyncImagePreviewHandler
import coil3.request.ImageRequest
@@ -82,7 +81,6 @@ fun AppComposable(modifier: Modifier = Modifier, app: App, onClick: () -> Unit =
@Preview(showBackground = true)
@Composable
@OptIn(ExperimentalCoilApi::class)
private fun AppComposablePreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
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.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.AsyncImage
import coil3.compose.LocalAsyncImagePreviewHandler
import coil3.request.ImageRequest
@@ -87,7 +86,6 @@ fun AppListComposable(modifier: Modifier = Modifier, app: App, onClick: () -> Un
@Preview(showBackground = true)
@Composable
@OptIn(ExperimentalCoilApi::class)
fun AppListComposablePreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
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.PreviewParameter
import androidx.compose.ui.viewinterop.AndroidView
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.AsyncImage
import coil3.compose.LocalAsyncImagePreviewHandler
import coil3.request.ImageRequest
@@ -98,7 +97,6 @@ fun ReviewComposable(modifier: Modifier = Modifier, review: Review) {
@Preview(showBackground = true)
@Composable
@OptIn(ExperimentalCoilApi::class)
private fun ReviewComposablePreview(@PreviewParameter(ReviewPreviewProvider::class) review: Review) {
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
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.PreviewParameter
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.AsyncImagePainter
import coil3.compose.LocalAsyncImagePreviewHandler
import coil3.compose.rememberAsyncImagePainter
@@ -62,7 +61,6 @@ fun ScreenshotComposable(modifier: Modifier = Modifier, url: String) {
@Preview
@Composable
@OptIn(ExperimentalCoilApi::class)
private fun ScreenshotComposablePreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
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.toArgb
import coil3.ColorImage
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.AsyncImagePreviewHandler
/**
* Preview provider for composable working with coil for loading remote images
*/
@OptIn(ExperimentalCoilApi::class)
val coilPreviewProvider = AsyncImagePreviewHandler {
ColorImage(Color.Gray.toArgb())
}

View File

@@ -7,7 +7,6 @@ package com.aurora.store.compose.theme
import android.os.Build
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
import androidx.compose.material3.MaterialExpressiveTheme
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.darkColorScheme
@@ -24,7 +23,6 @@ import com.aurora.store.util.Preferences
* App theme for Aurora Store based on [MaterialTheme]
*/
@Composable
@OptIn(ExperimentalMaterial3ExpressiveApi::class)
fun AuroraTheme(content: @Composable () -> Unit) {
val context = LocalContext.current
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.material3.Icon
import androidx.compose.material3.Scaffold
import androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi
import androidx.compose.material3.adaptive.layout.AnimatedPane
import androidx.compose.material3.adaptive.layout.PaneAdaptedValue
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.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.LocalAsyncImagePreviewHandler
import com.aurora.Constants.PACKAGE_NAME_GMS
import com.aurora.Constants.SHARE_URL
@@ -179,7 +177,6 @@ private fun ScreenContentError(onNavigateUp: () -> Unit = {}) {
* Composable to display app details and suggestions
*/
@Composable
@OptIn(ExperimentalMaterial3AdaptiveApi::class)
private fun ScreenContentApp(
app: App,
featuredReviews: List<Review> = emptyList(),
@@ -458,7 +455,6 @@ private fun ScreenContentApp(
@PreviewScreenSizes
@Composable
@OptIn(ExperimentalCoilApi::class)
private fun AppDetailsScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
ScreenContentApp(

View File

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

View File

@@ -38,7 +38,6 @@ import androidx.paging.compose.LazyPagingItems
import androidx.paging.compose.collectAsLazyPagingItems
import androidx.paging.compose.itemKey
import androidx.window.core.layout.WindowWidthSizeClass
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.LocalAsyncImagePreviewHandler
import com.aurora.extensions.adaptiveNavigationIcon
import com.aurora.gplayapi.data.models.Review
@@ -172,7 +171,6 @@ private fun FilterHeader(onClick: (filter: Review.Filter) -> Unit) {
@Preview
@Composable
@OptIn(ExperimentalCoilApi::class)
private fun DetailsReviewScreenPreview(@PreviewParameter(ReviewPreviewProvider::class) review: Review) {
val reviews = List(10) { review.copy(commentId = Random.nextInt().toString()) }
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.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.LocalAsyncImagePreviewHandler
import com.aurora.extensions.bodyVerySmall
import com.aurora.gplayapi.data.models.App
@@ -95,7 +94,6 @@ fun AppDetails(
@Preview(showBackground = true)
@Composable
@OptIn(ExperimentalCoilApi::class)
private fun AppDetailsPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
Column(verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))) {
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.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter
import coil3.annotation.ExperimentalCoilApi
import coil3.compose.LocalAsyncImagePreviewHandler
import com.aurora.gplayapi.data.models.App
import com.aurora.gplayapi.data.models.Artwork
@@ -51,7 +50,6 @@ fun AppScreenshots(screenshots: List<Artwork>, onNavigateToScreenshot: (index: I
@Preview(showBackground = true)
@Composable
@OptIn(ExperimentalCoilApi::class)
private fun AppScreenshotsPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
Column(verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))) {
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {

View File

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