diff --git a/app/src/main/java/com/aurora/store/compose/composable/BlackListItem.kt b/app/src/main/java/com/aurora/store/compose/composable/BlackListItem.kt index f97cfa3e9..1a443dcd7 100644 --- a/app/src/main/java/com/aurora/store/compose/composable/BlackListItem.kt +++ b/app/src/main/java/com/aurora/store/compose/composable/BlackListItem.kt @@ -31,6 +31,7 @@ import androidx.core.graphics.drawable.toBitmap import androidx.core.graphics.drawable.toDrawable import com.aurora.store.BuildConfig import com.aurora.store.R +import com.aurora.store.compose.preview.PreviewTemplate /** * Composable for displaying package details in a list for blacklisting @@ -103,13 +104,15 @@ fun BlackListItem( @Preview(showBackground = true) @Composable private fun BlackListItemPreview() { - BlackListItem( - icon = Color.GRAY.toDrawable().toBitmap(56, 56), - displayName = LocalContext.current.getString(R.string.app_name), - packageName = BuildConfig.APPLICATION_ID, - versionName = BuildConfig.VERSION_NAME, - versionCode = BuildConfig.VERSION_CODE.toLong(), - isChecked = true, - isEnabled = false - ) + PreviewTemplate { + BlackListItem( + icon = Color.GRAY.toDrawable().toBitmap(56, 56), + displayName = LocalContext.current.getString(R.string.app_name), + packageName = BuildConfig.APPLICATION_ID, + versionName = BuildConfig.VERSION_NAME, + versionCode = BuildConfig.VERSION_CODE.toLong(), + isChecked = true, + isEnabled = false + ) + } } diff --git a/app/src/main/java/com/aurora/store/compose/composable/ContainedLoadingIndicator.kt b/app/src/main/java/com/aurora/store/compose/composable/ContainedLoadingIndicator.kt index 8d1a8db48..18b9d0773 100644 --- a/app/src/main/java/com/aurora/store/compose/composable/ContainedLoadingIndicator.kt +++ b/app/src/main/java/com/aurora/store/compose/composable/ContainedLoadingIndicator.kt @@ -16,6 +16,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.tooling.preview.Preview import com.aurora.store.R +import com.aurora.store.compose.preview.PreviewTemplate /** * Composable to display an indeterminate loading indicator that fills all available screen @@ -38,5 +39,7 @@ fun ContainedLoadingIndicator(modifier: Modifier = Modifier) { @Preview(showBackground = true) @Composable private fun ContainedLoadingIndicatorPreview() { - ContainedLoadingIndicator() + PreviewTemplate { + ContainedLoadingIndicator() + } } diff --git a/app/src/main/java/com/aurora/store/compose/composable/DownloadListItem.kt b/app/src/main/java/com/aurora/store/compose/composable/DownloadListItem.kt index cc1671f07..1db197be4 100644 --- a/app/src/main/java/com/aurora/store/compose/composable/DownloadListItem.kt +++ b/app/src/main/java/com/aurora/store/compose/composable/DownloadListItem.kt @@ -33,7 +33,6 @@ import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.material3.VerticalDivider import androidx.compose.runtime.Composable -import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember @@ -48,12 +47,11 @@ 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.compose.LocalAsyncImagePreviewHandler import com.aurora.gplayapi.data.models.App import com.aurora.store.R import com.aurora.store.compose.composable.app.AnimatedAppIcon import com.aurora.store.compose.preview.AppPreviewProvider -import com.aurora.store.compose.preview.coilPreviewProvider +import com.aurora.store.compose.preview.PreviewTemplate import com.aurora.store.data.model.DownloadStatus import com.aurora.store.data.room.download.Download import com.aurora.store.util.CommonUtil.getETAString @@ -243,7 +241,7 @@ fun DownloadListItem( @Preview(showBackground = true) @Composable private fun DownloadListItemPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { + PreviewTemplate { DownloadListItem(download = Download.fromApp(app)) } } diff --git a/app/src/main/java/com/aurora/store/compose/composable/Error.kt b/app/src/main/java/com/aurora/store/compose/composable/Error.kt index 43818abbb..f9fc78b20 100644 --- a/app/src/main/java/com/aurora/store/compose/composable/Error.kt +++ b/app/src/main/java/com/aurora/store/compose/composable/Error.kt @@ -25,6 +25,7 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import com.aurora.store.R +import com.aurora.store.compose.preview.PreviewTemplate /** * Composable to show error message that fills all available screen @@ -78,9 +79,11 @@ fun Error( @Preview(showBackground = true) @Composable private fun ErrorPreview() { - Error( - painter = painterResource(R.drawable.ic_updates), - message = stringResource(R.string.details_no_updates), - actionMessage = stringResource(R.string.check_updates) - ) + PreviewTemplate { + Error( + painter = painterResource(R.drawable.ic_updates), + message = stringResource(R.string.details_no_updates), + actionMessage = stringResource(R.string.check_updates) + ) + } } diff --git a/app/src/main/java/com/aurora/store/compose/composable/FavouriteListItem.kt b/app/src/main/java/com/aurora/store/compose/composable/FavouriteListItem.kt index 2a83c968e..73be5442e 100644 --- a/app/src/main/java/com/aurora/store/compose/composable/FavouriteListItem.kt +++ b/app/src/main/java/com/aurora/store/compose/composable/FavouriteListItem.kt @@ -22,7 +22,6 @@ import androidx.compose.material3.IconButton import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable -import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember @@ -40,13 +39,12 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter import coil3.compose.AsyncImage -import coil3.compose.LocalAsyncImagePreviewHandler import coil3.request.ImageRequest import coil3.request.crossfade import com.aurora.gplayapi.data.models.App import com.aurora.store.R import com.aurora.store.compose.preview.AppPreviewProvider -import com.aurora.store.compose.preview.coilPreviewProvider +import com.aurora.store.compose.preview.PreviewTemplate import com.aurora.store.data.room.favourite.Favourite import kotlinx.coroutines.delay import kotlinx.coroutines.launch @@ -141,7 +139,7 @@ fun FavouriteListItem( @Preview(showBackground = true) @Composable private fun FavouriteListItemPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { + PreviewTemplate { FavouriteListItem(favourite = Favourite.fromApp(app, Favourite.Mode.MANUAL)) } } diff --git a/app/src/main/java/com/aurora/store/compose/composable/Header.kt b/app/src/main/java/com/aurora/store/compose/composable/Header.kt index 63349ec27..24569e9bd 100644 --- a/app/src/main/java/com/aurora/store/compose/composable/Header.kt +++ b/app/src/main/java/com/aurora/store/compose/composable/Header.kt @@ -25,6 +25,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import com.aurora.store.R +import com.aurora.store.compose.preview.PreviewTemplate /** * Composable to display sticky header in list @@ -82,9 +83,11 @@ fun Header( @Preview(showBackground = true) @Composable private fun HeaderPreview() { - Header( - title = stringResource(R.string.details_privacy), - subtitle = stringResource(R.string.exodus_powered), - onClick = {} - ) + PreviewTemplate { + Header( + title = stringResource(R.string.details_privacy), + subtitle = stringResource(R.string.exodus_powered), + onClick = {} + ) + } } diff --git a/app/src/main/java/com/aurora/store/compose/composable/Info.kt b/app/src/main/java/com/aurora/store/compose/composable/Info.kt index 12de22f8f..b18d6817e 100644 --- a/app/src/main/java/com/aurora/store/compose/composable/Info.kt +++ b/app/src/main/java/com/aurora/store/compose/composable/Info.kt @@ -30,6 +30,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter import com.aurora.gplayapi.data.models.App import com.aurora.store.R import com.aurora.store.compose.preview.AppPreviewProvider +import com.aurora.store.compose.preview.PreviewTemplate /** * Composable to show some information @@ -83,9 +84,11 @@ fun Info( @Preview(showBackground = true) @Composable private fun InfoPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - Info( - title = AnnotatedString(text = stringResource(R.string.details_dev_website)), - description = AnnotatedString.fromHtml(htmlString = app.developerWebsite), - painter = painterResource(R.drawable.ic_network) - ) + PreviewTemplate { + Info( + title = AnnotatedString(text = stringResource(R.string.details_dev_website)), + description = AnnotatedString.fromHtml(htmlString = app.developerWebsite), + painter = painterResource(R.drawable.ic_network) + ) + } } diff --git a/app/src/main/java/com/aurora/store/compose/composable/LinkListItem.kt b/app/src/main/java/com/aurora/store/compose/composable/LinkListItem.kt index bcdb8c3aa..a0103ca93 100644 --- a/app/src/main/java/com/aurora/store/compose/composable/LinkListItem.kt +++ b/app/src/main/java/com/aurora/store/compose/composable/LinkListItem.kt @@ -31,6 +31,8 @@ import coil3.compose.AsyncImage import coil3.request.ImageRequest import com.aurora.store.R import com.aurora.store.data.model.Link +import androidx.compose.ui.res.stringResource +import com.aurora.store.compose.preview.PreviewTemplate /** * Composable to show link details in a list @@ -84,13 +86,15 @@ fun LinkListItem(modifier: Modifier = Modifier, link: Link, onClick: () -> Unit @Preview(showBackground = true) @Composable private fun LinkListItemPreview() { - LinkListItem( - link = Link( - id = 0, - title = LocalContext.current.getString(R.string.title_about), - subtitle = LocalContext.current.getString(R.string.about_aurora_store_subtitle), - url = "https://auroraoss.com/", - icon = R.drawable.ic_menu_about + PreviewTemplate { + LinkListItem( + link = Link( + id = 0, + title = stringResource(R.string.title_about), + subtitle = stringResource(R.string.about_aurora_store_subtitle), + url = "https://auroraoss.com/", + icon = R.drawable.ic_menu_about + ) ) - ) + } } diff --git a/app/src/main/java/com/aurora/store/compose/composable/PageIndicator.kt b/app/src/main/java/com/aurora/store/compose/composable/PageIndicator.kt index 30de7d019..cd5db7713 100644 --- a/app/src/main/java/com/aurora/store/compose/composable/PageIndicator.kt +++ b/app/src/main/java/com/aurora/store/compose/composable/PageIndicator.kt @@ -24,6 +24,7 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.tooling.preview.Preview import com.aurora.store.R +import com.aurora.store.compose.preview.PreviewTemplate /** * Pager indicator @@ -74,5 +75,7 @@ fun PageIndicator(modifier: Modifier = Modifier, totalPages: Int, currentPage: I @Preview(showBackground = true) @Composable private fun PageIndicatorPreview() { - PageIndicator(totalPages = 5) + PreviewTemplate { + PageIndicator(totalPages = 5) + } } diff --git a/app/src/main/java/com/aurora/store/compose/composable/PermissionListItem.kt b/app/src/main/java/com/aurora/store/compose/composable/PermissionListItem.kt index 30f81c570..1fc7e0760 100644 --- a/app/src/main/java/com/aurora/store/compose/composable/PermissionListItem.kt +++ b/app/src/main/java/com/aurora/store/compose/composable/PermissionListItem.kt @@ -16,12 +16,12 @@ import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import com.aurora.store.R +import com.aurora.store.compose.preview.PreviewTemplate import com.aurora.store.data.model.Permission import com.aurora.store.data.model.PermissionType @@ -73,12 +73,14 @@ fun PermissionListItem( @Preview(showBackground = true) @Composable private fun PermissionListItemPreview() { - PermissionListItem( - permission = Permission( - PermissionType.STORAGE_MANAGER, - LocalContext.current.getString(R.string.onboarding_permission_esm), - LocalContext.current.getString(R.string.onboarding_permission_esa_desc), - false + PreviewTemplate { + PermissionListItem( + permission = Permission( + PermissionType.STORAGE_MANAGER, + stringResource(R.string.onboarding_permission_esm), + stringResource(R.string.onboarding_permission_esa_desc), + false + ) ) - ) + } } diff --git a/app/src/main/java/com/aurora/store/compose/composable/SearchSuggestionListItem.kt b/app/src/main/java/com/aurora/store/compose/composable/SearchSuggestionListItem.kt index 6e2b25d05..2cb99b596 100644 --- a/app/src/main/java/com/aurora/store/compose/composable/SearchSuggestionListItem.kt +++ b/app/src/main/java/com/aurora/store/compose/composable/SearchSuggestionListItem.kt @@ -29,6 +29,7 @@ import coil3.request.ImageRequest import coil3.request.crossfade import com.aurora.gplayapi.SearchSuggestEntry import com.aurora.store.R +import com.aurora.store.compose.preview.PreviewTemplate /** * Composable for displaying search suggestions in a list @@ -98,7 +99,9 @@ fun SearchSuggestionListItem( @Preview(showBackground = true) @Composable private fun SearchSuggestionListItemPreview() { - SearchSuggestionListItem( - searchSuggestEntry = SearchSuggestEntry.getDefaultInstance() - ) + PreviewTemplate { + SearchSuggestionListItem( + searchSuggestEntry = SearchSuggestEntry.getDefaultInstance() + ) + } } diff --git a/app/src/main/java/com/aurora/store/compose/composable/TextDividerComposable.kt b/app/src/main/java/com/aurora/store/compose/composable/TextDividerComposable.kt index 4bb10845b..1c93f0b07 100644 --- a/app/src/main/java/com/aurora/store/compose/composable/TextDividerComposable.kt +++ b/app/src/main/java/com/aurora/store/compose/composable/TextDividerComposable.kt @@ -16,6 +16,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import com.aurora.store.R +import com.aurora.store.compose.preview.PreviewTemplate /** * Composable to display a sticky header in a list @@ -40,5 +41,7 @@ fun TextDividerComposable(modifier: Modifier = Modifier, title: String) { @Preview(showBackground = true) @Composable private fun TextDividerComposablePreview() { - TextDividerComposable(title = stringResource(R.string.item_optional)) + PreviewTemplate { + TextDividerComposable(title = stringResource(R.string.item_optional)) + } } diff --git a/app/src/main/java/com/aurora/store/compose/composable/TopAppBar.kt b/app/src/main/java/com/aurora/store/compose/composable/TopAppBar.kt index 24f925258..02d5ace87 100644 --- a/app/src/main/java/com/aurora/store/compose/composable/TopAppBar.kt +++ b/app/src/main/java/com/aurora/store/compose/composable/TopAppBar.kt @@ -17,6 +17,7 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import com.aurora.store.R +import com.aurora.store.compose.preview.PreviewTemplate /** * A top app bar composable to be used with Scaffold in different Screen @@ -54,8 +55,10 @@ fun TopAppBar( @Preview(showBackground = true) @Composable private fun TopAppBarPreview() { - TopAppBar( - title = stringResource(R.string.title_about), - onNavigateUp = {} - ) + PreviewTemplate { + TopAppBar( + title = stringResource(R.string.title_about), + onNavigateUp = {} + ) + } } diff --git a/app/src/main/java/com/aurora/store/compose/composable/app/AnimatedAppIcon.kt b/app/src/main/java/com/aurora/store/compose/composable/app/AnimatedAppIcon.kt index 0488ed709..598618683 100644 --- a/app/src/main/java/com/aurora/store/compose/composable/app/AnimatedAppIcon.kt +++ b/app/src/main/java/com/aurora/store/compose/composable/app/AnimatedAppIcon.kt @@ -33,6 +33,7 @@ import coil3.request.crossfade import com.aurora.gplayapi.data.models.App import com.aurora.store.R import com.aurora.store.compose.preview.AppPreviewProvider +import com.aurora.store.compose.preview.PreviewTemplate import com.aurora.store.compose.preview.coilPreviewProvider /** @@ -109,7 +110,7 @@ private fun AnimatedAppIconPreview(@PreviewParameter(AppPreviewProvider::class) @Preview(showBackground = true) @Composable private fun AnimatedAppIconPreview(@PreviewParameter(ProgressProvider::class) progress: Float) { - CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { + PreviewTemplate { AnimatedAppIcon( modifier = Modifier.requiredSize(dimensionResource(R.dimen.icon_size_large)), iconUrl = "", diff --git a/app/src/main/java/com/aurora/store/compose/composable/app/AppListItem.kt b/app/src/main/java/com/aurora/store/compose/composable/app/AppListItem.kt index 0cf477c2c..71eeaab29 100644 --- a/app/src/main/java/com/aurora/store/compose/composable/app/AppListItem.kt +++ b/app/src/main/java/com/aurora/store/compose/composable/app/AppListItem.kt @@ -15,7 +15,6 @@ import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable -import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.layout.ContentScale @@ -25,13 +24,12 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter import coil3.compose.AsyncImage -import coil3.compose.LocalAsyncImagePreviewHandler import coil3.request.ImageRequest import coil3.request.crossfade import com.aurora.gplayapi.data.models.App import com.aurora.store.R import com.aurora.store.compose.preview.AppPreviewProvider -import com.aurora.store.compose.preview.coilPreviewProvider +import com.aurora.store.compose.preview.PreviewTemplate /** * Composable for displaying minimal app details in a horizontal-scrollable list @@ -81,7 +79,7 @@ fun AppListItem(modifier: Modifier = Modifier, app: App, onClick: () -> Unit = { @Preview(showBackground = true) @Composable private fun AppListItemPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { + PreviewTemplate { AppListItem(app = app) } } diff --git a/app/src/main/java/com/aurora/store/compose/composable/app/LargeAppListItem.kt b/app/src/main/java/com/aurora/store/compose/composable/app/LargeAppListItem.kt index 084bd20d3..a70d92dc1 100644 --- a/app/src/main/java/com/aurora/store/compose/composable/app/LargeAppListItem.kt +++ b/app/src/main/java/com/aurora/store/compose/composable/app/LargeAppListItem.kt @@ -15,7 +15,6 @@ import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable -import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.layout.ContentScale @@ -26,14 +25,13 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter import coil3.compose.AsyncImage -import coil3.compose.LocalAsyncImagePreviewHandler import coil3.request.ImageRequest import coil3.request.crossfade import com.aurora.extensions.requiresGMS import com.aurora.gplayapi.data.models.App import com.aurora.store.R import com.aurora.store.compose.preview.AppPreviewProvider -import com.aurora.store.compose.preview.coilPreviewProvider +import com.aurora.store.compose.preview.PreviewTemplate import com.aurora.store.util.CommonUtil /** @@ -86,7 +84,7 @@ fun LargeAppListItem(modifier: Modifier = Modifier, app: App, onClick: () -> Uni @Preview(showBackground = true) @Composable fun LargeAppListItemPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { + PreviewTemplate { LargeAppListItem(app = app) } } diff --git a/app/src/main/java/com/aurora/store/compose/composable/app/TagListItem.kt b/app/src/main/java/com/aurora/store/compose/composable/app/TagListItem.kt index 6a6827c85..3fec81079 100644 --- a/app/src/main/java/com/aurora/store/compose/composable/app/TagListItem.kt +++ b/app/src/main/java/com/aurora/store/compose/composable/app/TagListItem.kt @@ -16,6 +16,7 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import com.aurora.store.R +import com.aurora.store.compose.preview.PreviewTemplate /** * Composable to show a tag related to an app @@ -43,8 +44,10 @@ fun TagListItem( @Preview(showBackground = true) @Composable private fun TagListItemPreview() { - TagListItem( - label = stringResource(R.string.details_free), - painter = painterResource(R.drawable.ic_paid) - ) + PreviewTemplate { + TagListItem( + label = stringResource(R.string.details_free), + painter = painterResource(R.drawable.ic_paid) + ) + } } diff --git a/app/src/main/java/com/aurora/store/compose/composable/details/ExodusListItem.kt b/app/src/main/java/com/aurora/store/compose/composable/details/ExodusListItem.kt index 5a56ffdf3..ba43acbf3 100644 --- a/app/src/main/java/com/aurora/store/compose/composable/details/ExodusListItem.kt +++ b/app/src/main/java/com/aurora/store/compose/composable/details/ExodusListItem.kt @@ -15,6 +15,7 @@ import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import com.aurora.store.R +import com.aurora.store.compose.preview.PreviewTemplate import com.aurora.store.data.model.ExodusTracker /** @@ -49,11 +50,13 @@ fun ExodusListItem(modifier: Modifier = Modifier, tracker: ExodusTracker) { @Preview(showBackground = true) @Composable private fun ExodusListItemPreview() { - ExodusListItem( - tracker = ExodusTracker( - name = "Google Analytics", - signature = "com.google.android.apps.analytics.|com.google.android.gms.analytics.|com.google.analytics.", - date = "2017-09-24" + PreviewTemplate { + ExodusListItem( + tracker = ExodusTracker( + name = "Google Analytics", + signature = "com.google.android.apps.analytics.|com.google.android.gms.analytics.|com.google.analytics.", + date = "2017-09-24" + ) ) - ) + } } diff --git a/app/src/main/java/com/aurora/store/compose/composable/details/RatingListItem.kt b/app/src/main/java/com/aurora/store/compose/composable/details/RatingListItem.kt index 6a8194c0b..1731d9940 100644 --- a/app/src/main/java/com/aurora/store/compose/composable/details/RatingListItem.kt +++ b/app/src/main/java/com/aurora/store/compose/composable/details/RatingListItem.kt @@ -20,6 +20,7 @@ import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.tooling.preview.Preview import com.aurora.store.R +import com.aurora.store.compose.preview.PreviewTemplate /** * Composable to show a progress bar with rating for an app @@ -53,5 +54,7 @@ fun RatingListItem(modifier: Modifier = Modifier, label: String, rating: Float) @Preview(showBackground = true) @Composable private fun RatingListItemPreview() { - RatingListItem(label = "5", rating = 0.5F) + PreviewTemplate { + RatingListItem(label = "5", rating = 0.5F) + } } diff --git a/app/src/main/java/com/aurora/store/compose/composable/details/ReviewListItem.kt b/app/src/main/java/com/aurora/store/compose/composable/details/ReviewListItem.kt index 060b7027e..dae2b46c0 100644 --- a/app/src/main/java/com/aurora/store/compose/composable/details/ReviewListItem.kt +++ b/app/src/main/java/com/aurora/store/compose/composable/details/ReviewListItem.kt @@ -16,7 +16,6 @@ import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable -import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.layout.ContentScale @@ -27,13 +26,12 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.viewinterop.AndroidView import coil3.compose.AsyncImage -import coil3.compose.LocalAsyncImagePreviewHandler import coil3.request.ImageRequest import coil3.request.crossfade import com.aurora.gplayapi.data.models.Review import com.aurora.store.R +import com.aurora.store.compose.preview.PreviewTemplate import com.aurora.store.compose.preview.ReviewPreviewProvider -import com.aurora.store.compose.preview.coilPreviewProvider /** * Composable for viewing a review about an app @@ -98,7 +96,7 @@ fun ReviewListItem(modifier: Modifier = Modifier, review: Review) { @Preview(showBackground = true) @Composable private fun ReviewListItemPreview(@PreviewParameter(ReviewPreviewProvider::class) review: Review) { - CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { + PreviewTemplate { ReviewListItem(review = review) } } diff --git a/app/src/main/java/com/aurora/store/compose/composable/details/ScreenshotListItem.kt b/app/src/main/java/com/aurora/store/compose/composable/details/ScreenshotListItem.kt index f3e82e6b0..0f6d49638 100644 --- a/app/src/main/java/com/aurora/store/compose/composable/details/ScreenshotListItem.kt +++ b/app/src/main/java/com/aurora/store/compose/composable/details/ScreenshotListItem.kt @@ -8,7 +8,6 @@ package com.aurora.store.compose.composable.details import androidx.compose.foundation.Image import androidx.compose.foundation.layout.aspectRatio import androidx.compose.runtime.Composable -import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.getValue import androidx.compose.ui.Modifier import androidx.compose.ui.layout.ContentScale @@ -17,7 +16,6 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.lifecycle.compose.collectAsStateWithLifecycle import coil3.compose.AsyncImagePainter -import coil3.compose.LocalAsyncImagePreviewHandler import coil3.compose.rememberAsyncImagePainter import coil3.compose.rememberConstraintsSizeResolver import coil3.request.ImageRequest @@ -25,7 +23,7 @@ import coil3.request.crossfade import com.aurora.extensions.shimmer import com.aurora.gplayapi.data.models.App import com.aurora.store.compose.preview.AppPreviewProvider -import com.aurora.store.compose.preview.coilPreviewProvider +import com.aurora.store.compose.preview.PreviewTemplate /** * Composable to display a screenshot of an app @@ -63,7 +61,7 @@ fun ScreenshotListItem(modifier: Modifier = Modifier, url: String) { @Preview @Composable private fun ScreenshotListItemPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { + PreviewTemplate { ScreenshotListItem(url = app.screenshots.firstOrNull()?.url ?: "") } } diff --git a/app/src/main/java/com/aurora/store/compose/preview/PreviewTemplate.kt b/app/src/main/java/com/aurora/store/compose/preview/PreviewTemplate.kt new file mode 100644 index 000000000..b1891f078 --- /dev/null +++ b/app/src/main/java/com/aurora/store/compose/preview/PreviewTemplate.kt @@ -0,0 +1,23 @@ +/* + * SPDX-FileCopyrightText: 2025 The Calyx Institute + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +package com.aurora.store.compose.preview + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.CompositionLocalProvider +import coil3.compose.LocalAsyncImagePreviewHandler +import com.aurora.store.compose.theme.AuroraTheme + +/** + * Template for previewing composable with default theme and remote image handling + */ +@Composable +fun PreviewTemplate(content : @Composable () -> Unit) { + AuroraTheme { + CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { + content() + } + } +} diff --git a/app/src/main/java/com/aurora/store/compose/ui/about/AboutDialog.kt b/app/src/main/java/com/aurora/store/compose/ui/about/AboutDialog.kt index a41250c5c..7dbfefd5d 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/about/AboutDialog.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/about/AboutDialog.kt @@ -12,6 +12,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import com.aurora.store.R +import com.aurora.store.compose.preview.PreviewTemplate /** * Dialog for displaying information about Aurora Store @@ -36,5 +37,7 @@ fun AboutDialog(onDismiss: () -> Unit = {}) { @Preview @Composable private fun AboutDialogPreview() { - AboutDialog() + PreviewTemplate { + AboutDialog() + } } diff --git a/app/src/main/java/com/aurora/store/compose/ui/about/AboutScreen.kt b/app/src/main/java/com/aurora/store/compose/ui/about/AboutScreen.kt index f1eb64d50..2cc9a6431 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/about/AboutScreen.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/about/AboutScreen.kt @@ -41,6 +41,7 @@ import com.aurora.store.BuildConfig.VERSION_NAME import com.aurora.store.R import com.aurora.store.compose.composable.LinkListItem import com.aurora.store.compose.composable.TopAppBar +import com.aurora.store.compose.preview.PreviewTemplate import com.aurora.store.data.model.Link @Composable @@ -166,5 +167,7 @@ private fun BrandHeader() { @Preview @Composable private fun AboutScreenPreview() { - ScreenContent() + PreviewTemplate { + ScreenContent() + } } diff --git a/app/src/main/java/com/aurora/store/compose/ui/accounts/AccountsScreen.kt b/app/src/main/java/com/aurora/store/compose/ui/accounts/AccountsScreen.kt index 9ddbdddb5..60170750a 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/accounts/AccountsScreen.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/accounts/AccountsScreen.kt @@ -47,6 +47,7 @@ import com.aurora.Constants.URL_TOS import com.aurora.extensions.browse import com.aurora.store.R import com.aurora.store.compose.composable.TopAppBar +import com.aurora.store.compose.preview.PreviewTemplate import com.aurora.store.data.providers.AccountProvider import com.aurora.store.viewmodel.accounts.AccountsViewModel @@ -206,5 +207,7 @@ private fun AssistHeader() { @Preview @Composable private fun AccountsScreenPreview() { - ScreenContent() + PreviewTemplate { + ScreenContent() + } } diff --git a/app/src/main/java/com/aurora/store/compose/ui/accounts/LogoutDialog.kt b/app/src/main/java/com/aurora/store/compose/ui/accounts/LogoutDialog.kt index 41bc9af42..e6a6f5ad4 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/accounts/LogoutDialog.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/accounts/LogoutDialog.kt @@ -12,6 +12,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import com.aurora.store.R +import com.aurora.store.compose.preview.PreviewTemplate /** * Dialog for confirming log out @@ -42,5 +43,7 @@ fun LogoutDialog(onConfirm: () -> Unit = {}, onDismiss: () -> Unit = {}) { @Preview @Composable private fun LogoutDialogPreview() { - LogoutDialog() + PreviewTemplate { + LogoutDialog() + } } diff --git a/app/src/main/java/com/aurora/store/compose/ui/blacklist/BlacklistScreen.kt b/app/src/main/java/com/aurora/store/compose/ui/blacklist/BlacklistScreen.kt index 7009541e0..485374906 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/blacklist/BlacklistScreen.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/blacklist/BlacklistScreen.kt @@ -46,6 +46,7 @@ import com.aurora.Constants import com.aurora.extensions.toast import com.aurora.store.R import com.aurora.store.compose.composable.BlackListItem +import com.aurora.store.compose.preview.PreviewTemplate import com.aurora.store.compose.ui.blacklist.menu.BlacklistMenu import com.aurora.store.compose.ui.blacklist.menu.MenuItem import com.aurora.store.util.PackageUtil @@ -239,5 +240,7 @@ private fun ScreenContent( @Preview @Composable private fun BlacklistScreenPreview() { - ScreenContent() + PreviewTemplate { + ScreenContent() + } } diff --git a/app/src/main/java/com/aurora/store/compose/ui/blacklist/menu/BlacklistMenu.kt b/app/src/main/java/com/aurora/store/compose/ui/blacklist/menu/BlacklistMenu.kt index 6baf247e6..b5493ff19 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/blacklist/menu/BlacklistMenu.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/blacklist/menu/BlacklistMenu.kt @@ -21,6 +21,7 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import com.aurora.store.R +import com.aurora.store.compose.preview.PreviewTemplate /** * Menu for the blacklist screen @@ -71,5 +72,7 @@ fun BlacklistMenu( @Preview(showBackground = true) @Composable private fun BlacklistMenuPreview() { - BlacklistMenu(isExpanded = true) + PreviewTemplate { + BlacklistMenu(isExpanded = true) + } } diff --git a/app/src/main/java/com/aurora/store/compose/ui/commons/PermissionRationaleScreen.kt b/app/src/main/java/com/aurora/store/compose/ui/commons/PermissionRationaleScreen.kt index 5f9bb6188..4afdac7b2 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/commons/PermissionRationaleScreen.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/commons/PermissionRationaleScreen.kt @@ -44,6 +44,7 @@ import com.aurora.store.R import com.aurora.store.compose.composable.PermissionListItem import com.aurora.store.compose.composable.TextDividerComposable import com.aurora.store.compose.composable.TopAppBar +import com.aurora.store.compose.preview.PreviewTemplate import com.aurora.store.data.model.Permission import com.aurora.store.data.model.PermissionType import com.aurora.store.data.providers.PermissionProvider.Companion.isGranted @@ -213,5 +214,7 @@ private fun PermissionsScreenPreview() { isGranted = Random.nextBoolean() ) } - ScreenContent(permissions = permissions) + PreviewTemplate { + ScreenContent(permissions = permissions) + } } diff --git a/app/src/main/java/com/aurora/store/compose/ui/details/AppDetailsScreen.kt b/app/src/main/java/com/aurora/store/compose/ui/details/AppDetailsScreen.kt index d86adc5d8..e69faf1d5 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/AppDetailsScreen.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/AppDetailsScreen.kt @@ -28,7 +28,6 @@ import androidx.compose.material3.adaptive.layout.calculatePaneScaffoldDirective import androidx.compose.material3.adaptive.navigation.NavigableSupportingPaneScaffold import androidx.compose.material3.adaptive.navigation.rememberSupportingPaneScaffoldNavigator import androidx.compose.runtime.Composable -import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.rememberCoroutineScope @@ -44,7 +43,6 @@ import androidx.compose.ui.tooling.preview.PreviewScreenSizes import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.navigation3.runtime.NavKey -import coil3.compose.LocalAsyncImagePreviewHandler import com.aurora.Constants.SHARE_URL import com.aurora.extensions.appInfo import com.aurora.extensions.browse @@ -53,7 +51,6 @@ import com.aurora.extensions.requiresObbDir import com.aurora.extensions.share import com.aurora.extensions.toast import com.aurora.gplayapi.data.models.App -import com.aurora.gplayapi.data.models.Artwork import com.aurora.gplayapi.data.models.Review import com.aurora.store.R import com.aurora.store.compose.composable.Error @@ -63,7 +60,7 @@ import com.aurora.store.compose.composable.TopAppBar import com.aurora.store.compose.composable.app.LargeAppListItem import com.aurora.store.compose.navigation.Screen import com.aurora.store.compose.preview.AppPreviewProvider -import com.aurora.store.compose.preview.coilPreviewProvider +import com.aurora.store.compose.preview.PreviewTemplate import com.aurora.store.compose.ui.commons.PermissionRationaleScreen import com.aurora.store.compose.ui.details.components.Actions import com.aurora.store.compose.ui.details.components.Changelog @@ -522,7 +519,7 @@ private fun ScreenContentApp( @PreviewScreenSizes @Composable private fun AppDetailsScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { + PreviewTemplate { ScreenContentApp( app = app, isAnonymous = false, @@ -534,11 +531,15 @@ private fun AppDetailsScreenPreview(@PreviewParameter(AppPreviewProvider::class) @Preview @Composable private fun AppDetailsScreenPreviewLoading() { - ScreenContentLoading() + PreviewTemplate { + ScreenContentLoading() + } } @Preview @Composable private fun AppDetailsScreenPreviewError() { - ScreenContentError() + PreviewTemplate { + ScreenContentError() + } } diff --git a/app/src/main/java/com/aurora/store/compose/ui/details/ExodusScreen.kt b/app/src/main/java/com/aurora/store/compose/ui/details/ExodusScreen.kt index f5c892a74..b8bbe2041 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/ExodusScreen.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/ExodusScreen.kt @@ -32,6 +32,7 @@ import com.aurora.store.compose.composable.Header import com.aurora.store.compose.composable.TopAppBar import com.aurora.store.compose.composable.details.ExodusListItem import com.aurora.store.compose.preview.AppPreviewProvider +import com.aurora.store.compose.preview.PreviewTemplate import com.aurora.store.data.model.ExodusTracker import com.aurora.store.viewmodel.details.AppDetailsViewModel import com.aurora.store.viewmodel.details.ExodusViewModel @@ -111,8 +112,10 @@ private fun ScreenContent( @Preview @Composable private fun ExodusScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - ScreenContent( - topAppBarTitle = app.displayName, - version = app.versionName - ) + PreviewTemplate { + ScreenContent( + topAppBarTitle = app.displayName, + version = app.versionName + ) + } } diff --git a/app/src/main/java/com/aurora/store/compose/ui/details/ManualDownloadScreen.kt b/app/src/main/java/com/aurora/store/compose/ui/details/ManualDownloadScreen.kt index e57d5d1e2..501ea9398 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/ManualDownloadScreen.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/ManualDownloadScreen.kt @@ -58,6 +58,7 @@ import com.aurora.store.R import com.aurora.store.compose.composable.Info import com.aurora.store.compose.composable.TopAppBar import com.aurora.store.compose.preview.AppPreviewProvider +import com.aurora.store.compose.preview.PreviewTemplate import com.aurora.store.data.model.AppState import com.aurora.store.viewmodel.details.AppDetailsViewModel import kotlinx.coroutines.android.awaitFrame @@ -214,8 +215,10 @@ private fun ScreenContent( @Preview @Composable private fun ManualDownloadScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - ScreenContent( - topAppBarTitle = app.displayName, - currentVersionCode = app.versionCode - ) + PreviewTemplate { + ScreenContent( + topAppBarTitle = app.displayName, + currentVersionCode = app.versionCode + ) + } } diff --git a/app/src/main/java/com/aurora/store/compose/ui/details/MoreScreen.kt b/app/src/main/java/com/aurora/store/compose/ui/details/MoreScreen.kt index 393f37370..f8d167593 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/MoreScreen.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/MoreScreen.kt @@ -20,7 +20,6 @@ import androidx.compose.material3.Text import androidx.compose.material3.adaptive.WindowAdaptiveInfo import androidx.compose.material3.adaptive.currentWindowAdaptiveInfo import androidx.compose.runtime.Composable -import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.getValue import androidx.compose.ui.Modifier import androidx.compose.ui.res.dimensionResource @@ -31,7 +30,6 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle -import coil3.compose.LocalAsyncImagePreviewHandler import com.aurora.extensions.adaptiveNavigationIcon import com.aurora.extensions.isWindowCompact import com.aurora.gplayapi.data.models.App @@ -41,7 +39,7 @@ import com.aurora.store.compose.composable.Info import com.aurora.store.compose.composable.TopAppBar import com.aurora.store.compose.composable.app.AppListItem import com.aurora.store.compose.preview.AppPreviewProvider -import com.aurora.store.compose.preview.coilPreviewProvider +import com.aurora.store.compose.preview.PreviewTemplate import com.aurora.store.viewmodel.details.AppDetailsViewModel import com.aurora.store.viewmodel.details.MoreViewModel import java.util.Locale @@ -193,7 +191,7 @@ private fun AppInfoMore(app: App) { @Preview @Composable private fun MoreScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { + PreviewTemplate { ScreenContent(app = app) } } diff --git a/app/src/main/java/com/aurora/store/compose/ui/details/PermissionScreen.kt b/app/src/main/java/com/aurora/store/compose/ui/details/PermissionScreen.kt index cc10e50dc..d2722aae9 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/PermissionScreen.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/PermissionScreen.kt @@ -32,6 +32,7 @@ import com.aurora.store.R import com.aurora.store.compose.composable.Info import com.aurora.store.compose.composable.TopAppBar import com.aurora.store.compose.preview.AppPreviewProvider +import com.aurora.store.compose.preview.PreviewTemplate import com.aurora.store.viewmodel.details.AppDetailsViewModel import com.aurora.store.viewmodel.details.PermissionViewModel import java.util.Locale @@ -117,7 +118,9 @@ private fun ScreenContent( @Preview @Composable private fun PermissionScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - ScreenContent( - topAppBarTitle = app.displayName - ) + PreviewTemplate { + ScreenContent( + topAppBarTitle = app.displayName + ) + } } diff --git a/app/src/main/java/com/aurora/store/compose/ui/details/ReviewScreen.kt b/app/src/main/java/com/aurora/store/compose/ui/details/ReviewScreen.kt index f13cf2016..ec97459a2 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/ReviewScreen.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/ReviewScreen.kt @@ -20,7 +20,6 @@ import androidx.compose.material3.Text import androidx.compose.material3.adaptive.WindowAdaptiveInfo import androidx.compose.material3.adaptive.currentWindowAdaptiveInfo import androidx.compose.runtime.Composable -import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.saveable.rememberSaveable @@ -38,7 +37,6 @@ import androidx.paging.PagingData import androidx.paging.compose.LazyPagingItems import androidx.paging.compose.collectAsLazyPagingItems import androidx.paging.compose.itemKey -import coil3.compose.LocalAsyncImagePreviewHandler import com.aurora.extensions.adaptiveNavigationIcon import com.aurora.extensions.isWindowCompact import com.aurora.gplayapi.data.models.Review @@ -48,8 +46,8 @@ import com.aurora.store.compose.composable.ContainedLoadingIndicator import com.aurora.store.compose.composable.TopAppBar import com.aurora.store.compose.composable.details.ReviewListItem import com.aurora.store.compose.preview.ReviewPreviewProvider -import com.aurora.store.compose.preview.coilPreviewProvider import com.aurora.extensions.emptyPagingItems +import com.aurora.store.compose.preview.PreviewTemplate import com.aurora.store.viewmodel.details.AppDetailsViewModel import com.aurora.store.viewmodel.details.ReviewViewModel import kotlinx.coroutines.flow.MutableStateFlow @@ -186,10 +184,10 @@ private fun FilterHeader(onClick: (filter: Review.Filter) -> Unit) { @Preview @Composable private fun ReviewScreenPreview(@PreviewParameter(ReviewPreviewProvider::class) review: Review) { - val reviews = List(10) { review.copy(commentId = Random.nextInt().toString()) } - val reviewsFlow = MutableStateFlow(PagingData.from(reviews)).collectAsLazyPagingItems() + PreviewTemplate { + val reviews = List(10) { review.copy(commentId = Random.nextInt().toString()) } + val reviewsFlow = MutableStateFlow(PagingData.from(reviews)).collectAsLazyPagingItems() - CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { ScreenContent(reviews = reviewsFlow) } } diff --git a/app/src/main/java/com/aurora/store/compose/ui/details/ScreenshotScreen.kt b/app/src/main/java/com/aurora/store/compose/ui/details/ScreenshotScreen.kt index 57f5b7f18..a58cdf494 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/ScreenshotScreen.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/ScreenshotScreen.kt @@ -27,6 +27,7 @@ import com.aurora.gplayapi.data.models.Artwork import com.aurora.store.R import com.aurora.store.compose.composable.TopAppBar import com.aurora.store.compose.composable.details.ScreenshotListItem +import com.aurora.store.compose.preview.PreviewTemplate import com.aurora.store.viewmodel.details.AppDetailsViewModel @Composable @@ -94,7 +95,9 @@ private fun ScreenContent( @Preview @Composable private fun ScreenshotScreenPreview() { - ScreenContent( - topAppBarTitle = stringResource(R.string.app_name) - ) + PreviewTemplate { + ScreenContent( + topAppBarTitle = stringResource(R.string.app_name) + ) + } } diff --git a/app/src/main/java/com/aurora/store/compose/ui/details/components/Actions.kt b/app/src/main/java/com/aurora/store/compose/ui/details/components/Actions.kt index d567636af..433082ab2 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/components/Actions.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/components/Actions.kt @@ -23,6 +23,7 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import com.aurora.extensions.isWindowCompact import com.aurora.store.R +import com.aurora.store.compose.preview.PreviewTemplate /** * Composable to display primary and secondary actions available for the app, supposed to be used @@ -83,10 +84,12 @@ fun Actions( @Preview(showBackground = true) @Composable private fun ActionsPreview() { - Column(verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))) { - Actions( - primaryActionDisplayName = stringResource(R.string.action_install), - secondaryActionDisplayName = stringResource(R.string.title_manual_download) - ) + PreviewTemplate { + Column(verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))) { + Actions( + primaryActionDisplayName = stringResource(R.string.action_install), + secondaryActionDisplayName = stringResource(R.string.title_manual_download) + ) + } } } diff --git a/app/src/main/java/com/aurora/store/compose/ui/details/components/Changelog.kt b/app/src/main/java/com/aurora/store/compose/ui/details/components/Changelog.kt index 55ab2e8fd..ec26ca1a1 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/components/Changelog.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/components/Changelog.kt @@ -27,6 +27,7 @@ import com.aurora.gplayapi.data.models.App import com.aurora.store.R import com.aurora.store.compose.composable.Header import com.aurora.store.compose.preview.AppPreviewProvider +import com.aurora.store.compose.preview.PreviewTemplate /** * Composable to display app changelog, supposed to be used as a part @@ -57,7 +58,9 @@ fun Changelog(changelog: String) { @Preview(showBackground = true) @Composable private fun ChangelogPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - Column(verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))) { - Changelog(changelog = app.changes) + PreviewTemplate { + Column(verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))) { + Changelog(changelog = app.changes) + } } } diff --git a/app/src/main/java/com/aurora/store/compose/ui/details/components/Compatibility.kt b/app/src/main/java/com/aurora/store/compose/ui/details/components/Compatibility.kt index 3d5a70372..5f6fd5385 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/components/Compatibility.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/components/Compatibility.kt @@ -16,6 +16,7 @@ import androidx.compose.ui.tooling.preview.Preview import com.aurora.store.R import com.aurora.store.compose.composable.Header import com.aurora.store.compose.composable.Info +import com.aurora.store.compose.preview.PreviewTemplate import com.aurora.store.compose.theme.successColor import com.aurora.store.compose.theme.warningColor import com.aurora.store.data.model.Scores @@ -78,7 +79,9 @@ fun Compatibility(needsGms: Boolean, plexusScores: Scores? = null) { @Preview(showBackground = true) @Composable private fun CompatibilityPreview() { - Column(verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))) { - Compatibility(needsGms = true) + PreviewTemplate { + Column(verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))) { + Compatibility(needsGms = true) + } } } diff --git a/app/src/main/java/com/aurora/store/compose/ui/details/components/DataSafety.kt b/app/src/main/java/com/aurora/store/compose/ui/details/components/DataSafety.kt index 82cf77617..f73ffae5b 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/components/DataSafety.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/components/DataSafety.kt @@ -24,6 +24,7 @@ import com.aurora.store.R import com.aurora.store.compose.composable.Header import com.aurora.store.compose.composable.Info import com.aurora.store.compose.preview.AppPreviewProvider +import com.aurora.store.compose.preview.PreviewTemplate /** * Composable to display app's data safety report, supposed to be used as a part @@ -82,16 +83,26 @@ fun DataSafety(report: Report, privacyPolicyUrl: String) { @Preview(showBackground = true) @Composable private fun DataSafetyPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - Column(verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))) { - DataSafety( - privacyPolicyUrl = app.privacyPolicyUrl, - report = Report( - packageName = app.packageName, - entries = listOf( - Entry(type = EntryType.DATA_COLLECTED, name = String(), description = String()), - Entry(type = EntryType.DATA_SHARED, name = String(), description = String()) + PreviewTemplate { + Column(verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))) { + DataSafety( + privacyPolicyUrl = app.privacyPolicyUrl, + report = Report( + packageName = app.packageName, + entries = listOf( + Entry( + type = EntryType.DATA_COLLECTED, + name = String(), + description = String() + ), + Entry( + type = EntryType.DATA_SHARED, + name = String(), + description = String() + ) + ) ) ) - ) + } } } diff --git a/app/src/main/java/com/aurora/store/compose/ui/details/components/Details.kt b/app/src/main/java/com/aurora/store/compose/ui/details/components/Details.kt index ca06b0800..bf81c2ac7 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/components/Details.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/components/Details.kt @@ -17,7 +17,6 @@ import androidx.compose.foundation.layout.requiredSize import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable -import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.dimensionResource @@ -25,12 +24,11 @@ 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.compose.LocalAsyncImagePreviewHandler import com.aurora.gplayapi.data.models.App import com.aurora.store.R import com.aurora.store.compose.composable.app.AnimatedAppIcon import com.aurora.store.compose.preview.AppPreviewProvider -import com.aurora.store.compose.preview.coilPreviewProvider +import com.aurora.store.compose.preview.PreviewTemplate import com.aurora.store.data.model.AppState import com.aurora.store.util.CommonUtil import com.aurora.store.util.PackageUtil @@ -113,8 +111,8 @@ fun Details( @Preview(showBackground = true) @Composable private fun DetailsPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - Column(verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))) { - CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { + PreviewTemplate { + Column(verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))) { Details(app = app) } } diff --git a/app/src/main/java/com/aurora/store/compose/ui/details/components/DeveloperDetails.kt b/app/src/main/java/com/aurora/store/compose/ui/details/components/DeveloperDetails.kt index cd3ae4881..91b1ca16d 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/components/DeveloperDetails.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/components/DeveloperDetails.kt @@ -24,6 +24,7 @@ import com.aurora.store.R import com.aurora.store.compose.composable.Header import com.aurora.store.compose.composable.Info import com.aurora.store.compose.preview.AppPreviewProvider +import com.aurora.store.compose.preview.PreviewTemplate /** * Composable to display details of the app developer, supposed to be used as a part @@ -70,11 +71,13 @@ fun DeveloperDetails(address: String, website: String, email: String) { @Preview(showBackground = true) @Composable private fun DeveloperDetailsPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - Column(verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))) { - DeveloperDetails( - address = app.developerAddress, - website = app.developerWebsite, - email = app.developerEmail - ) + PreviewTemplate { + Column(verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))) { + DeveloperDetails( + address = app.developerAddress, + website = app.developerWebsite, + email = app.developerEmail + ) + } } } diff --git a/app/src/main/java/com/aurora/store/compose/ui/details/components/Privacy.kt b/app/src/main/java/com/aurora/store/compose/ui/details/components/Privacy.kt index 3a7bdfab9..a401c22af 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/components/Privacy.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/components/Privacy.kt @@ -16,6 +16,7 @@ import androidx.compose.ui.tooling.preview.Preview import com.aurora.store.R import com.aurora.store.compose.composable.Header import com.aurora.store.compose.composable.Info +import com.aurora.store.compose.preview.PreviewTemplate import com.aurora.store.compose.theme.successColor import com.aurora.store.compose.theme.warningColor import com.aurora.store.data.model.Report @@ -58,7 +59,9 @@ fun Privacy(report: Report?, onNavigateToDetailsExodus: (() -> Unit)? = null) { @Preview(showBackground = true) @Composable private fun PrivacyPreview() { - Column(verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))) { - Privacy(report = Report(), onNavigateToDetailsExodus = {}) + PreviewTemplate { + Column(verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))) { + Privacy(report = Report(), onNavigateToDetailsExodus = {}) + } } } diff --git a/app/src/main/java/com/aurora/store/compose/ui/details/components/RatingAndReviews.kt b/app/src/main/java/com/aurora/store/compose/ui/details/components/RatingAndReviews.kt index a238cdc12..d238fbdec 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/components/RatingAndReviews.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/components/RatingAndReviews.kt @@ -40,6 +40,7 @@ import com.aurora.store.compose.composable.PageIndicator import com.aurora.store.compose.composable.details.RatingListItem import com.aurora.store.compose.composable.details.ReviewListItem import com.aurora.store.compose.preview.AppPreviewProvider +import com.aurora.store.compose.preview.PreviewTemplate import java.util.Locale /** @@ -144,7 +145,9 @@ fun RatingAndReviews( @Preview(showBackground = true) @Composable private fun RatingAndReviewsPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - Column(verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))) { - RatingAndReviews(rating = app.rating) + PreviewTemplate { + Column(verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))) { + RatingAndReviews(rating = app.rating) + } } } diff --git a/app/src/main/java/com/aurora/store/compose/ui/details/components/Screenshots.kt b/app/src/main/java/com/aurora/store/compose/ui/details/components/Screenshots.kt index 3fdd21571..52c1a3f74 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/components/Screenshots.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/components/Screenshots.kt @@ -13,19 +13,17 @@ import androidx.compose.foundation.lazy.LazyRow import androidx.compose.foundation.lazy.items import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.runtime.Composable -import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.ui.Modifier 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.compose.LocalAsyncImagePreviewHandler import com.aurora.gplayapi.data.models.App import com.aurora.gplayapi.data.models.Artwork import com.aurora.store.R import com.aurora.store.compose.composable.details.ScreenshotListItem import com.aurora.store.compose.preview.AppPreviewProvider -import com.aurora.store.compose.preview.coilPreviewProvider +import com.aurora.store.compose.preview.PreviewTemplate /** * Composable to display screenshots of the app, supposed to be used as a part @@ -51,8 +49,8 @@ fun Screenshots(screenshots: List, onNavigateToScreenshot: (index: Int) @Preview(showBackground = true) @Composable private fun ScreenshotsPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - Column(verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))) { - CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { + PreviewTemplate { + Column(verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))) { Screenshots(screenshots = app.screenshots) } } diff --git a/app/src/main/java/com/aurora/store/compose/ui/details/components/Tags.kt b/app/src/main/java/com/aurora/store/compose/ui/details/components/Tags.kt index c511cc1c4..be6eef5fb 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/components/Tags.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/components/Tags.kt @@ -21,6 +21,7 @@ import com.aurora.gplayapi.data.models.App import com.aurora.store.R import com.aurora.store.compose.composable.app.TagListItem import com.aurora.store.compose.preview.AppPreviewProvider +import com.aurora.store.compose.preview.PreviewTemplate import com.aurora.store.util.CommonUtil /** @@ -70,7 +71,9 @@ fun Tags(app: App) { @Preview(showBackground = true) @Composable private fun TagsPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - Column(verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))) { - Tags(app = app) + PreviewTemplate { + Column(verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))) { + Tags(app = app) + } } } diff --git a/app/src/main/java/com/aurora/store/compose/ui/details/components/Testing.kt b/app/src/main/java/com/aurora/store/compose/ui/details/components/Testing.kt index 9e105c23f..a5348e547 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/components/Testing.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/components/Testing.kt @@ -26,6 +26,7 @@ import com.aurora.store.R import com.aurora.store.compose.composable.Header import com.aurora.store.compose.composable.Info import com.aurora.store.compose.preview.AppPreviewProvider +import com.aurora.store.compose.preview.PreviewTemplate /** * Composable to display app's beta testing status, supposed to be used as a part of the @@ -71,7 +72,9 @@ fun Testing(isSubscribed: Boolean, onTestingSubscriptionChange: (subscribe: Bool @Preview(showBackground = true) @Composable private fun TestingPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - Column(verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))) { - Testing(isSubscribed = app.testingProgram!!.isSubscribed) + PreviewTemplate { + Column(verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))) { + Testing(isSubscribed = app.testingProgram!!.isSubscribed) + } } } diff --git a/app/src/main/java/com/aurora/store/compose/ui/details/menu/AppDetailsMenu.kt b/app/src/main/java/com/aurora/store/compose/ui/details/menu/AppDetailsMenu.kt index 36afa47f3..67f2f56b9 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/menu/AppDetailsMenu.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/menu/AppDetailsMenu.kt @@ -25,6 +25,7 @@ import com.aurora.gplayapi.data.models.App import com.aurora.store.R import com.aurora.store.compose.composable.TopAppBar import com.aurora.store.compose.preview.AppPreviewProvider +import com.aurora.store.compose.preview.PreviewTemplate import com.aurora.store.data.model.AppState /** @@ -103,13 +104,15 @@ fun AppDetailsMenu( @Preview(showBackground = true) @Composable private fun AppDetailsMenuPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - TopAppBar( - actions = { - AppDetailsMenu( - isInstalled = app.isInstalled, - isFavorite = true, - isExpanded = true - ) - } - ) + PreviewTemplate { + TopAppBar( + actions = { + AppDetailsMenu( + isInstalled = app.isInstalled, + isFavorite = true, + isExpanded = true + ) + } + ) + } } diff --git a/app/src/main/java/com/aurora/store/compose/ui/dev/DevProfileScreen.kt b/app/src/main/java/com/aurora/store/compose/ui/dev/DevProfileScreen.kt index 80690cc86..b5e389efc 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/dev/DevProfileScreen.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/dev/DevProfileScreen.kt @@ -12,7 +12,6 @@ import androidx.compose.material3.Scaffold import androidx.compose.material3.adaptive.WindowAdaptiveInfo import androidx.compose.material3.adaptive.currentWindowAdaptiveInfo import androidx.compose.runtime.Composable -import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.LaunchedEffect import androidx.compose.ui.Modifier import androidx.compose.ui.res.dimensionResource @@ -26,7 +25,6 @@ import androidx.paging.PagingData import androidx.paging.compose.LazyPagingItems import androidx.paging.compose.collectAsLazyPagingItems import androidx.paging.compose.itemKey -import coil3.compose.LocalAsyncImagePreviewHandler import com.aurora.extensions.adaptiveNavigationIcon import com.aurora.gplayapi.data.models.App import com.aurora.store.R @@ -35,7 +33,7 @@ import com.aurora.store.compose.composable.ContainedLoadingIndicator import com.aurora.store.compose.composable.TopAppBar import com.aurora.store.compose.composable.app.LargeAppListItem import com.aurora.store.compose.preview.AppPreviewProvider -import com.aurora.store.compose.preview.coilPreviewProvider +import com.aurora.store.compose.preview.PreviewTemplate import com.aurora.store.viewmodel.details.DevProfileViewModel import com.aurora.store.viewmodel.search.SearchViewModel import kotlinx.coroutines.flow.MutableStateFlow @@ -130,7 +128,7 @@ private fun ScreenContent( @Preview @Composable private fun DevProfileScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { + PreviewTemplate { val apps = List(10) { app.copy(id = Random.nextInt()) } val pagedApps = MutableStateFlow(PagingData.from(apps)).collectAsLazyPagingItems() diff --git a/app/src/main/java/com/aurora/store/compose/ui/downloads/DownloadsScreen.kt b/app/src/main/java/com/aurora/store/compose/ui/downloads/DownloadsScreen.kt index 16b05131e..21ef5a46e 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/downloads/DownloadsScreen.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/downloads/DownloadsScreen.kt @@ -13,7 +13,6 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.material3.Scaffold import androidx.compose.runtime.Composable -import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.saveable.rememberSaveable @@ -31,7 +30,6 @@ import androidx.paging.PagingData import androidx.paging.compose.LazyPagingItems import androidx.paging.compose.collectAsLazyPagingItems import androidx.paging.compose.itemKey -import coil3.compose.LocalAsyncImagePreviewHandler import com.aurora.extensions.toast import com.aurora.store.R import com.aurora.store.compose.composable.DownloadListItem @@ -41,7 +39,7 @@ import com.aurora.store.compose.composable.TopAppBar import com.aurora.extensions.emptyPagingItems import com.aurora.gplayapi.data.models.App import com.aurora.store.compose.preview.AppPreviewProvider -import com.aurora.store.compose.preview.coilPreviewProvider +import com.aurora.store.compose.preview.PreviewTemplate import com.aurora.store.compose.ui.downloads.menu.DownloadsMenu import com.aurora.store.compose.ui.downloads.menu.MenuItem import com.aurora.store.data.model.DownloadStatus @@ -182,7 +180,7 @@ private fun ScreenContent( @Preview @Composable private fun DownloadsScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { + PreviewTemplate { val downloads = List(10) { Download.fromApp(app).copy( packageName = Random.nextInt().toString(), diff --git a/app/src/main/java/com/aurora/store/compose/ui/downloads/menu/DownloadsMenu.kt b/app/src/main/java/com/aurora/store/compose/ui/downloads/menu/DownloadsMenu.kt index 469f3b604..ad1aaeaa1 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/downloads/menu/DownloadsMenu.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/downloads/menu/DownloadsMenu.kt @@ -21,6 +21,7 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import com.aurora.store.R +import com.aurora.store.compose.preview.PreviewTemplate /** * Menu for the blacklist screen @@ -67,5 +68,7 @@ fun DownloadsMenu( @Preview(showBackground = true) @Composable private fun DownloadsMenuPreview() { - DownloadsMenu(isExpanded = true) + PreviewTemplate { + DownloadsMenu(isExpanded = true) + } } diff --git a/app/src/main/java/com/aurora/store/compose/ui/favourite/FavouriteScreen.kt b/app/src/main/java/com/aurora/store/compose/ui/favourite/FavouriteScreen.kt index 549502e04..dac84d271 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/favourite/FavouriteScreen.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/favourite/FavouriteScreen.kt @@ -13,7 +13,6 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.material3.Scaffold import androidx.compose.runtime.Composable -import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.saveable.rememberSaveable @@ -31,7 +30,6 @@ import androidx.paging.PagingData import androidx.paging.compose.LazyPagingItems import androidx.paging.compose.collectAsLazyPagingItems import androidx.paging.compose.itemKey -import coil3.compose.LocalAsyncImagePreviewHandler import com.aurora.Constants.JSON_MIME_TYPE import com.aurora.extensions.toast import com.aurora.store.R @@ -41,7 +39,7 @@ import com.aurora.store.compose.composable.ContainedLoadingIndicator import com.aurora.store.compose.composable.TopAppBar import com.aurora.extensions.emptyPagingItems import com.aurora.store.compose.preview.FavouritePreviewProvider -import com.aurora.store.compose.preview.coilPreviewProvider +import com.aurora.store.compose.preview.PreviewTemplate import com.aurora.store.compose.ui.favourite.menu.FavouriteMenu import com.aurora.store.compose.ui.favourite.menu.MenuItem import com.aurora.store.data.room.favourite.Favourite @@ -183,7 +181,7 @@ private fun ScreenContent( private fun FavouriteScreenPreview( @PreviewParameter(FavouritePreviewProvider ::class) favourite: Favourite ) { - CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { + PreviewTemplate { val favourites = List(10) { favourite.copy(packageName = "${favourite.packageName}.${Random.nextInt()}") } diff --git a/app/src/main/java/com/aurora/store/compose/ui/favourite/menu/FavouriteMenu.kt b/app/src/main/java/com/aurora/store/compose/ui/favourite/menu/FavouriteMenu.kt index 3455368e0..02d6d5cf1 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/favourite/menu/FavouriteMenu.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/favourite/menu/FavouriteMenu.kt @@ -21,6 +21,7 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import com.aurora.store.R +import com.aurora.store.compose.preview.PreviewTemplate /** * Menu for the favourite screen @@ -63,5 +64,7 @@ fun FavouriteMenu( @Preview(showBackground = true) @Composable private fun FavouriteMenuPreview() { - FavouriteMenu(isExpanded = true) + PreviewTemplate { + FavouriteMenu(isExpanded = true) + } } diff --git a/app/src/main/java/com/aurora/store/compose/ui/search/SearchScreen.kt b/app/src/main/java/com/aurora/store/compose/ui/search/SearchScreen.kt index db73f048e..591660c64 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/search/SearchScreen.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/search/SearchScreen.kt @@ -72,6 +72,7 @@ import com.aurora.store.compose.composable.app.LargeAppListItem import com.aurora.store.compose.preview.AppPreviewProvider import com.aurora.store.compose.preview.coilPreviewProvider import com.aurora.extensions.emptyPagingItems +import com.aurora.store.compose.preview.PreviewTemplate import com.aurora.store.compose.ui.details.AppDetailsScreen import com.aurora.store.data.model.SearchFilter import com.aurora.store.viewmodel.search.SearchViewModel @@ -416,10 +417,12 @@ private fun FilterHeader( @PreviewScreenSizes @Composable private fun SearchScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - val apps = List(10) { app.copy(id = Random.nextInt()) } - val results = MutableStateFlow(PagingData.from(apps)).collectAsLazyPagingItems() + PreviewTemplate { + val apps = List(10) { app.copy(id = Random.nextInt()) } + val results = MutableStateFlow(PagingData.from(apps)).collectAsLazyPagingItems() - CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { - ScreenContent(results = results) + CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) { + ScreenContent(results = results) + } } }