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 81a5bfd76..03960dce2 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 @@ -22,16 +22,16 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.asImageBitmap -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 androidx.compose.ui.tooling.preview.PreviewWrapper 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 +import com.aurora.store.compose.preview.ThemePreviewProvider /** * Composable for displaying package details in a list for blacklisting @@ -101,18 +101,17 @@ fun BlackListItem( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun BlackListItemPreview() { - 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 - ) - } + BlackListItem( + icon = Color.GRAY.toDrawable().toBitmap(56, 56), + displayName = stringResource(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 9978a7876..0d292e823 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 @@ -18,8 +18,9 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.semantics.semantics import androidx.compose.ui.semantics.stateDescription import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewWrapper import com.aurora.store.R -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider /** * Composable to display an indeterminate loading indicator that fills all available screen @@ -42,10 +43,9 @@ fun ContainedLoadingIndicator(modifier: Modifier = Modifier) { } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun ContainedLoadingIndicatorPreview() { - PreviewTemplate { - ContainedLoadingIndicator() - } + 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 21c4abddd..e20424af9 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 @@ -39,11 +39,12 @@ 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 androidx.compose.ui.tooling.preview.PreviewWrapper 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.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider import com.aurora.store.data.model.DownloadStatus import com.aurora.store.data.room.download.Download import com.aurora.store.util.CommonUtil.getETAString @@ -171,10 +172,9 @@ fun DownloadListItem( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun DownloadListItemPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - PreviewTemplate { - DownloadListItem(download = Download.fromApp(app), isExpanded = true) - } + DownloadListItem(download = Download.fromApp(app), isExpanded = true) } 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 55793316a..47199e886 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 @@ -24,8 +24,9 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewWrapper import com.aurora.store.R -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider /** * Composable to show error message that fills all available screen @@ -76,14 +77,13 @@ fun Error( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun ErrorPreview() { - PreviewTemplate { - Error( - painter = painterResource(R.drawable.ic_updates), - message = stringResource(R.string.details_no_updates), - actionMessage = stringResource(R.string.check_updates) - ) - } + 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 3820a20a1..ac57d8759 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 @@ -38,13 +38,14 @@ 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 androidx.compose.ui.tooling.preview.PreviewWrapper import coil3.compose.AsyncImage 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.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider import com.aurora.store.data.room.favourite.Favourite import kotlinx.coroutines.delay import kotlinx.coroutines.launch @@ -138,10 +139,9 @@ fun FavouriteListItem( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun FavouriteListItemPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - PreviewTemplate { - FavouriteListItem(favourite = Favourite.fromApp(app, Favourite.Mode.MANUAL)) - } + 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 edc58f094..ad72517f4 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 @@ -24,8 +24,9 @@ import androidx.compose.ui.res.painterResource 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.PreviewWrapper import com.aurora.store.R -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider /** * Composable to display sticky header in list @@ -80,14 +81,13 @@ fun Header( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun HeaderPreview() { - PreviewTemplate { - Header( - title = stringResource(R.string.details_privacy), - subtitle = stringResource(R.string.exodus_powered), - onClick = {} - ) - } + 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 b18d6817e..80e684f20 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 @@ -27,10 +27,11 @@ import androidx.compose.ui.text.fromHtml 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.tooling.preview.PreviewWrapper 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.ThemePreviewProvider /** * Composable to show some information @@ -81,14 +82,13 @@ fun Info( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun InfoPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - PreviewTemplate { - Info( - title = AnnotatedString(text = stringResource(R.string.details_dev_website)), - description = AnnotatedString.fromHtml(htmlString = app.developerWebsite), - painter = painterResource(R.drawable.ic_network) - ) - } + 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/InstallerListItem.kt b/app/src/main/java/com/aurora/store/compose/composable/InstallerListItem.kt index 0bc1752d2..449a9baa7 100644 --- a/app/src/main/java/com/aurora/store/compose/composable/InstallerListItem.kt +++ b/app/src/main/java/com/aurora/store/compose/composable/InstallerListItem.kt @@ -21,8 +21,9 @@ 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 androidx.compose.ui.tooling.preview.PreviewWrapper import com.aurora.store.R -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider import com.aurora.store.data.installer.SessionInstaller import com.aurora.store.data.model.InstallerInfo @@ -70,10 +71,9 @@ fun InstallerListItem( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun InstallerListItemPreview() { - PreviewTemplate { - InstallerListItem(installerInfo = SessionInstaller.installerInfo, isSelected = true) - } + InstallerListItem(installerInfo = SessionInstaller.installerInfo, isSelected = true) } 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 54b1d1525..e1fddbba0 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 @@ -30,10 +30,11 @@ 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 androidx.compose.ui.tooling.preview.PreviewWrapper import coil3.compose.AsyncImage import coil3.request.ImageRequest import com.aurora.store.R -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider import com.aurora.store.data.model.Link /** @@ -91,18 +92,17 @@ fun LinkListItem( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun LinkListItemPreview() { - 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 - ) + 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/Logo.kt b/app/src/main/java/com/aurora/store/compose/composable/Logo.kt index 0727e638f..ad51a8658 100644 --- a/app/src/main/java/com/aurora/store/compose/composable/Logo.kt +++ b/app/src/main/java/com/aurora/store/compose/composable/Logo.kt @@ -22,10 +22,11 @@ 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 androidx.compose.ui.tooling.preview.PreviewWrapper import coil3.compose.AsyncImage import coil3.request.ImageRequest import com.aurora.store.R -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider /** * Composable to show Aurora Store's logo @@ -59,10 +60,9 @@ fun Logo(modifier: Modifier = Modifier) { } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun LogoPreview() { - PreviewTemplate { - Logo() - } + Logo() } diff --git a/app/src/main/java/com/aurora/store/compose/composable/MicroG.kt b/app/src/main/java/com/aurora/store/compose/composable/MicroG.kt index 46878134f..25d9e859f 100644 --- a/app/src/main/java/com/aurora/store/compose/composable/MicroG.kt +++ b/app/src/main/java/com/aurora/store/compose/composable/MicroG.kt @@ -28,10 +28,11 @@ 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 androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.compose.ui.util.fastForEach import com.aurora.extensions.browse import com.aurora.store.R -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider import com.aurora.store.data.model.Link import com.aurora.store.viewmodel.onboarding.MicroGUIState @@ -148,10 +149,9 @@ fun MicroG( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun MicroGPreview() { - PreviewTemplate { - MicroG(uiState = MicroGUIState()) - } + MicroG(uiState = MicroGUIState()) } 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 951af76a3..5793ca70a 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 @@ -26,8 +26,9 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.semantics.semantics import androidx.compose.ui.semantics.stateDescription import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewWrapper import com.aurora.store.R -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider /** * Pager indicator @@ -77,10 +78,9 @@ fun PageIndicator(modifier: Modifier = Modifier, totalPages: Int, currentPage: I } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun PageIndicatorPreview() { - PreviewTemplate { - PageIndicator(totalPages = 5) - } + PageIndicator(totalPages = 5) } diff --git a/app/src/main/java/com/aurora/store/compose/composable/PermissionList.kt b/app/src/main/java/com/aurora/store/compose/composable/PermissionList.kt index 58ed92d28..c428b82af 100644 --- a/app/src/main/java/com/aurora/store/compose/composable/PermissionList.kt +++ b/app/src/main/java/com/aurora/store/compose/composable/PermissionList.kt @@ -28,13 +28,14 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.compose.ui.tooling.preview.datasource.LoremIpsum import androidx.core.net.toUri import com.aurora.extensions.isTAndAbove import com.aurora.extensions.toast import com.aurora.store.BuildConfig import com.aurora.store.R -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider import com.aurora.store.data.model.Permission import com.aurora.store.data.model.PermissionType import com.aurora.store.data.providers.PermissionProvider.Companion.isGranted @@ -159,6 +160,7 @@ fun PermissionList( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun PermissionListPreview() { @@ -171,7 +173,5 @@ private fun PermissionListPreview() { isGranted = Random.nextBoolean() ) } - PreviewTemplate { - PermissionList(permissions = permissions) - } + PermissionList(permissions = permissions) } 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 1fc7e0760..d5c941756 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 @@ -20,8 +20,9 @@ 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 androidx.compose.ui.tooling.preview.PreviewWrapper import com.aurora.store.R -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider import com.aurora.store.data.model.Permission import com.aurora.store.data.model.PermissionType @@ -70,17 +71,16 @@ fun PermissionListItem( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun PermissionListItemPreview() { - PreviewTemplate { - PermissionListItem( - permission = Permission( - PermissionType.STORAGE_MANAGER, - stringResource(R.string.onboarding_permission_esm), - stringResource(R.string.onboarding_permission_esa_desc), - false - ) + 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 2cb99b596..8a95d4784 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 @@ -24,12 +24,13 @@ import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewWrapper import coil3.compose.AsyncImage 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 +import com.aurora.store.compose.preview.ThemePreviewProvider /** * Composable for displaying search suggestions in a list @@ -96,12 +97,11 @@ fun SearchSuggestionListItem( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun SearchSuggestionListItemPreview() { - PreviewTemplate { - SearchSuggestionListItem( - searchSuggestEntry = SearchSuggestEntry.getDefaultInstance() - ) - } + 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 1c93f0b07..320a9df8a 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 @@ -15,8 +15,9 @@ 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 androidx.compose.ui.tooling.preview.PreviewWrapper import com.aurora.store.R -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider /** * Composable to display a sticky header in a list @@ -38,10 +39,9 @@ fun TextDividerComposable(modifier: Modifier = Modifier, title: String) { ) } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun TextDividerComposablePreview() { - PreviewTemplate { - TextDividerComposable(title = stringResource(R.string.item_optional)) - } + 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 02d5ace87..c9043064f 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 @@ -16,8 +16,9 @@ import androidx.compose.ui.graphics.painter.Painter import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewWrapper import com.aurora.store.R -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider /** * A top app bar composable to be used with Scaffold in different Screen @@ -52,13 +53,12 @@ fun TopAppBar( ) } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun TopAppBarPreview() { - PreviewTemplate { - TopAppBar( - title = stringResource(R.string.title_about), - onNavigateUp = {} - ) - } + 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 b6d68c0d3..860988813 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 @@ -27,13 +27,14 @@ import androidx.compose.ui.semantics.testTag import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.tooling.preview.PreviewParameterProvider +import androidx.compose.ui.tooling.preview.PreviewWrapper import coil3.compose.AsyncImage 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.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider /** * Composable to show icon for an app that can be animated to also show install progress @@ -97,26 +98,24 @@ private class ProgressProvider : PreviewParameterProvider { get() = sequenceOf(0F, 50F) } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun AnimatedAppIconPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - PreviewTemplate { - AnimatedAppIcon( - modifier = Modifier.requiredSize(dimensionResource(R.dimen.icon_size_large)), - iconUrl = app.iconArtwork.url - ) - } + AnimatedAppIcon( + modifier = Modifier.requiredSize(dimensionResource(R.dimen.icon_size_large)), + iconUrl = app.iconArtwork.url + ) } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun AnimatedAppIconPreview(@PreviewParameter(ProgressProvider::class) progress: Float) { - PreviewTemplate { - AnimatedAppIcon( - modifier = Modifier.requiredSize(dimensionResource(R.dimen.icon_size_large)), - iconUrl = "", - inProgress = true, - progress = progress - ) - } + AnimatedAppIcon( + modifier = Modifier.requiredSize(dimensionResource(R.dimen.icon_size_large)), + iconUrl = "", + inProgress = true, + progress = progress + ) } 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 71eeaab29..fed710407 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 @@ -23,13 +23,14 @@ 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 androidx.compose.ui.tooling.preview.PreviewWrapper import coil3.compose.AsyncImage 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.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider /** * Composable for displaying minimal app details in a horizontal-scrollable list @@ -76,10 +77,9 @@ fun AppListItem(modifier: Modifier = Modifier, app: App, onClick: () -> Unit = { } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun AppListItemPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - PreviewTemplate { - AppListItem(app = app) - } + 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 524e99a51..fbb949c8d 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 @@ -24,6 +24,7 @@ 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 androidx.compose.ui.tooling.preview.PreviewWrapper import coil3.compose.AsyncImage import coil3.request.ImageRequest import coil3.request.crossfade @@ -31,7 +32,7 @@ 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.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider import com.aurora.store.util.CommonUtil /** @@ -43,6 +44,28 @@ import com.aurora.store.util.CommonUtil */ @Composable fun LargeAppListItem(modifier: Modifier = Modifier, app: App, onClick: () -> Unit = {}) { + @Composable + fun buildExtras(app: App): List = mutableListOf().apply { + add(if (app.size > 0) CommonUtil.addSiPrefix(app.size) else app.downloadString) + add("${app.labeledRating}★") + + if (app.isFree) { + add(stringResource(R.string.details_free)) + } else { + add(stringResource(R.string.details_paid)) + } + + if (app.containsAds) { + add(stringResource(R.string.details_contains_ads)) + } else { + add(stringResource(R.string.details_no_ads)) + } + + if (app.requiresGMS()) { + add(stringResource(R.string.details_gsf_dependent)) + } + } + Row( modifier = modifier .fillMaxWidth() @@ -81,32 +104,9 @@ fun LargeAppListItem(modifier: Modifier = Modifier, app: App, onClick: () -> Uni } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable fun LargeAppListItemPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - PreviewTemplate { - LargeAppListItem(app = app) - } -} - -@Composable -private fun buildExtras(app: App): List = mutableListOf().apply { - add(if (app.size > 0) CommonUtil.addSiPrefix(app.size) else app.downloadString) - add("${app.labeledRating}★") - - if (app.isFree) { - add(stringResource(R.string.details_free)) - } else { - add(stringResource(R.string.details_paid)) - } - - if (app.containsAds) { - add(stringResource(R.string.details_contains_ads)) - } else { - add(stringResource(R.string.details_no_ads)) - } - - if (app.requiresGMS()) { - add(stringResource(R.string.details_gsf_dependent)) - } + 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 3fec81079..1b0ccba4d 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 @@ -15,8 +15,9 @@ import androidx.compose.ui.graphics.painter.Painter import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewWrapper import com.aurora.store.R -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider /** * Composable to show a tag related to an app @@ -41,13 +42,12 @@ fun TagListItem( ) } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun TagListItemPreview() { - PreviewTemplate { - TagListItem( - label = stringResource(R.string.details_free), - painter = painterResource(R.drawable.ic_paid) - ) - } + 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 124297da7..69576ef9d 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 @@ -17,9 +17,10 @@ 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 androidx.compose.ui.tooling.preview.PreviewWrapper import com.aurora.extensions.browse import com.aurora.store.R -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider import com.aurora.store.data.model.ExodusTracker /** @@ -60,17 +61,16 @@ fun ExodusListItem(modifier: Modifier = Modifier, tracker: ExodusTracker) { } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun ExodusListItemPreview() { - PreviewTemplate { - ExodusListItem( - tracker = ExodusTracker( - name = "Google Analytics", - signature = "com.google.android.apps.analytics.|com.google.analytics.", - date = "2017-09-24", - url = "http://www.google.com/analytics/" - ) + ExodusListItem( + tracker = ExodusTracker( + name = "Google Analytics", + signature = "com.google.android.apps.analytics.|com.google.analytics.", + date = "2017-09-24", + url = "http://www.google.com/analytics/" ) - } + ) } 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 1731d9940..3a34b889f 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 @@ -19,8 +19,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewWrapper import com.aurora.store.R -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider /** * Composable to show a progress bar with rating for an app @@ -51,10 +52,9 @@ fun RatingListItem(modifier: Modifier = Modifier, label: String, rating: Float) } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun RatingListItemPreview() { - PreviewTemplate { - RatingListItem(label = "5", rating = 0.5F) - } + 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 a4e6c4746..9d6579c07 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 @@ -24,14 +24,15 @@ 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 androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.compose.ui.viewinterop.AndroidView import coil3.compose.AsyncImage 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.ThemePreviewProvider /** * Composable for viewing a review about an app @@ -93,10 +94,9 @@ fun ReviewListItem(modifier: Modifier = Modifier, review: Review) { } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun ReviewListItemPreview(@PreviewParameter(ReviewPreviewProvider::class) review: Review) { - PreviewTemplate { - ReviewListItem(review = review) - } + 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 0f6d49638..f0236a044 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 @@ -14,6 +14,7 @@ import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter +import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.lifecycle.compose.collectAsStateWithLifecycle import coil3.compose.AsyncImagePainter import coil3.compose.rememberAsyncImagePainter @@ -23,7 +24,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.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider /** * Composable to display a screenshot of an app @@ -58,10 +59,9 @@ fun ScreenshotListItem(modifier: Modifier = Modifier, url: String) { ) } +@PreviewWrapper(ThemePreviewProvider::class) @Preview @Composable private fun ScreenshotListItemPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - PreviewTemplate { - ScreenshotListItem(url = app.screenshots.firstOrNull()?.url ?: "") - } + 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 deleted file mode 100644 index a5965deac..000000000 --- a/app/src/main/java/com/aurora/store/compose/preview/PreviewTemplate.kt +++ /dev/null @@ -1,24 +0,0 @@ -/* - * 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( - value = LocalAsyncImagePreviewHandler provides coilPreviewProvider, - content = content - ) - } -} diff --git a/app/src/main/java/com/aurora/store/compose/preview/ThemePreviewProvider.kt b/app/src/main/java/com/aurora/store/compose/preview/ThemePreviewProvider.kt new file mode 100644 index 000000000..4d8ecf79b --- /dev/null +++ b/app/src/main/java/com/aurora/store/compose/preview/ThemePreviewProvider.kt @@ -0,0 +1,28 @@ +/* + * 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 androidx.compose.ui.tooling.preview.PreviewWrapperProvider +import coil3.compose.LocalAsyncImagePreviewHandler +import com.aurora.store.compose.theme.AuroraTheme + +/** + * Preview provider for default theme and remote image handling + */ +class ThemePreviewProvider : PreviewWrapperProvider { + + @Composable + override fun Wrap(content: @Composable (() -> Unit)) { + AuroraTheme { + CompositionLocalProvider( + value = LocalAsyncImagePreviewHandler provides coilPreviewProvider, + content = 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 7dbfefd5d..c404c666d 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 @@ -11,8 +11,9 @@ import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewWrapper import com.aurora.store.R -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider /** * Dialog for displaying information about Aurora Store @@ -34,10 +35,9 @@ fun AboutDialog(onDismiss: () -> Unit = {}) { ) } +@PreviewWrapper(ThemePreviewProvider::class) @Preview @Composable private fun AboutDialogPreview() { - PreviewTemplate { - AboutDialog() - } + 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 a8c6d8ee0..79936b56b 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 @@ -33,6 +33,7 @@ import androidx.compose.ui.res.stringArrayResource 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.PreviewWrapper import coil3.compose.AsyncImage import coil3.request.ImageRequest import com.aurora.extensions.browse @@ -41,7 +42,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.compose.preview.ThemePreviewProvider import com.aurora.store.data.model.Link @Composable @@ -164,10 +165,9 @@ private fun BrandHeader() { } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview @Composable private fun AboutScreenPreview() { - PreviewTemplate { - ScreenContent() - } + 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 60170750a..b8bb41717 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 @@ -37,6 +37,7 @@ import androidx.compose.ui.res.painterResource 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.PreviewWrapper import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import coil3.compose.AsyncImage import coil3.request.ImageRequest @@ -47,7 +48,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.compose.preview.ThemePreviewProvider import com.aurora.store.data.providers.AccountProvider import com.aurora.store.viewmodel.accounts.AccountsViewModel @@ -204,10 +205,9 @@ private fun AssistHeader() { } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview @Composable private fun AccountsScreenPreview() { - PreviewTemplate { - ScreenContent() - } + 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 e6a6f5ad4..2d98ec8bb 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 @@ -11,8 +11,9 @@ import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewWrapper import com.aurora.store.R -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider /** * Dialog for confirming log out @@ -40,10 +41,9 @@ fun LogoutDialog(onConfirm: () -> Unit = {}, onDismiss: () -> Unit = {}) { ) } +@PreviewWrapper(ThemePreviewProvider::class) @Preview @Composable private fun LogoutDialogPreview() { - PreviewTemplate { - LogoutDialog() - } + 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 7687e1527..148e2ddb6 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 @@ -39,6 +39,7 @@ import androidx.compose.ui.res.painterResource 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.PreviewWrapper import androidx.core.content.pm.PackageInfoCompat import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle @@ -46,7 +47,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.preview.ThemePreviewProvider import com.aurora.store.compose.ui.blacklist.menu.BlacklistMenu import com.aurora.store.compose.ui.blacklist.menu.MenuItem import com.aurora.store.util.PackageUtil @@ -241,10 +242,9 @@ private fun ScreenContent( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview @Composable private fun BlacklistScreenPreview() { - PreviewTemplate { - ScreenContent() - } + 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 b5493ff19..d5a743d35 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 @@ -20,8 +20,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewWrapper import com.aurora.store.R -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider /** * Menu for the blacklist screen @@ -69,10 +70,9 @@ fun BlacklistMenu( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun BlacklistMenuPreview() { - PreviewTemplate { - BlacklistMenu(isExpanded = true) - } + 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 5dcd3f69a..fa6b5d720 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 @@ -14,6 +14,7 @@ import androidx.compose.runtime.getValue import androidx.compose.ui.Modifier import androidx.compose.ui.res.pluralStringResource import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.compose.ui.tooling.preview.datasource.LoremIpsum import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle @@ -21,7 +22,7 @@ import com.aurora.extensions.adaptiveNavigationIcon import com.aurora.store.R import com.aurora.store.compose.composable.PermissionList import com.aurora.store.compose.composable.TopAppBar -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider import com.aurora.store.data.model.Permission import com.aurora.store.data.model.PermissionType import com.aurora.store.viewmodel.commons.PermissionRationaleViewModel @@ -75,6 +76,7 @@ private fun ScreenContent( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview @Composable private fun PermissionsScreenPreview() { @@ -87,7 +89,5 @@ private fun PermissionsScreenPreview() { isGranted = Random.nextBoolean() ) } - PreviewTemplate { - ScreenContent(permissions = permissions) - } + ScreenContent(permissions = permissions) } diff --git a/app/src/main/java/com/aurora/store/compose/ui/commons/StreamBrowseScreen.kt b/app/src/main/java/com/aurora/store/compose/ui/commons/StreamBrowseScreen.kt index 9af1a90b3..34c2e6f8b 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/commons/StreamBrowseScreen.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/commons/StreamBrowseScreen.kt @@ -15,6 +15,7 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter +import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.paging.LoadState import androidx.paging.PagingData @@ -29,7 +30,7 @@ import com.aurora.store.compose.composable.Error 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.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider import com.aurora.store.viewmodel.browse.StreamBrowseViewModel import kotlin.random.Random import kotlin.uuid.Uuid @@ -110,14 +111,13 @@ private fun ScreenContent( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview @Composable private fun StreamBrowseScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - PreviewTemplate { - val apps = List(10) { app.copy(id = Random.nextInt()) } - val pagedApps = MutableStateFlow(PagingData.from(apps)).collectAsLazyPagingItems() - ScreenContent( - apps = pagedApps - ) - } + val apps = List(10) { app.copy(id = Random.nextInt()) } + val pagedApps = MutableStateFlow(PagingData.from(apps)).collectAsLazyPagingItems() + ScreenContent( + apps = pagedApps + ) } 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 7ee852ea5..71b3d7e1b 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 @@ -40,6 +40,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.tooling.preview.PreviewScreenSizes +import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.navigation3.runtime.NavKey @@ -59,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.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider import com.aurora.store.compose.ui.commons.PermissionRationaleScreen import com.aurora.store.compose.ui.details.composable.Actions import com.aurora.store.compose.ui.details.composable.Changelog @@ -526,30 +527,27 @@ private fun ScreenContentApp( ) } +@PreviewWrapper(ThemePreviewProvider::class) @PreviewScreenSizes @Composable private fun AppDetailsScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - PreviewTemplate { - ScreenContentApp( - app = app, - isAnonymous = false, - suggestions = List(10) { app.copy(id = Random.nextInt()) } - ) - } + ScreenContentApp( + app = app, + isAnonymous = false, + suggestions = List(10) { app.copy(id = Random.nextInt()) } + ) } +@PreviewWrapper(ThemePreviewProvider::class) @Preview @Composable private fun AppDetailsScreenPreviewLoading() { - PreviewTemplate { - ScreenContentLoading() - } + ScreenContentLoading() } +@PreviewWrapper(ThemePreviewProvider::class) @Preview @Composable private fun AppDetailsScreenPreviewError() { - PreviewTemplate { - ScreenContentError() - } + 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 15aaa715c..895193be6 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 @@ -26,6 +26,7 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter +import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.aurora.Constants.EXODUS_REPORT_URL @@ -40,7 +41,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.compose.preview.ThemePreviewProvider import com.aurora.store.data.model.ExodusTracker import com.aurora.store.data.model.Report import com.aurora.store.viewmodel.details.AppDetailsViewModel @@ -178,18 +179,16 @@ private fun ScreenContentError( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview @Composable private fun ExodusScreenPreviewReport(@PreviewParameter(AppPreviewProvider::class) app: App) { - PreviewTemplate { - ScreenContentReport(topAppBarTitle = app.displayName) - } + ScreenContentReport(topAppBarTitle = app.displayName) } +@PreviewWrapper(ThemePreviewProvider::class) @Preview @Composable private fun ExodusScreenPreviewError(@PreviewParameter(AppPreviewProvider::class) app: App) { - PreviewTemplate { - ScreenContentError(topAppBarTitle = app.displayName) - } + ScreenContentError(topAppBarTitle = app.displayName) } 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 1d49f31d7..d99d7d589 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 @@ -47,6 +47,7 @@ import androidx.compose.ui.text.input.TextFieldValue 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.tooling.preview.PreviewWrapper import androidx.compose.ui.unit.dp import androidx.core.text.isDigitsOnly import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel @@ -58,7 +59,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.compose.preview.ThemePreviewProvider import com.aurora.store.data.model.AppState import com.aurora.store.viewmodel.details.AppDetailsViewModel import kotlinx.coroutines.android.awaitFrame @@ -213,13 +214,12 @@ private fun ScreenContent( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview @Composable private fun ManualDownloadScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - PreviewTemplate { - ScreenContent( - topAppBarTitle = app.displayName, - currentVersionCode = app.versionCode - ) - } + ScreenContent( + topAppBarTitle = app.displayName, + currentVersionCode = app.versionCode + ) } diff --git a/app/src/main/java/com/aurora/store/compose/ui/details/MicroGScreen.kt b/app/src/main/java/com/aurora/store/compose/ui/details/MicroGScreen.kt index 0f6408f23..9299b7f01 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/MicroGScreen.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/MicroGScreen.kt @@ -28,6 +28,7 @@ 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 androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.aurora.extensions.adaptiveNavigationIcon @@ -38,7 +39,7 @@ import com.aurora.store.R import com.aurora.store.compose.composable.MicroG 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.compose.preview.ThemePreviewProvider import com.aurora.store.data.model.PermissionType import com.aurora.store.data.providers.PermissionProvider import com.aurora.store.viewmodel.details.AppDetailsViewModel @@ -151,10 +152,9 @@ private fun ScreenContent( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview @Composable private fun MicroGScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - PreviewTemplate { - ScreenContent(topAppBarTitle = app.displayName) - } + ScreenContent(topAppBarTitle = app.displayName) } 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 f8d167593..0d2653f53 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 @@ -22,12 +22,14 @@ import androidx.compose.material3.adaptive.currentWindowAdaptiveInfo import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalLocale import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.fromHtml import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter +import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.aurora.extensions.adaptiveNavigationIcon @@ -39,10 +41,9 @@ 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.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider import com.aurora.store.viewmodel.details.AppDetailsViewModel import com.aurora.store.viewmodel.details.MoreViewModel -import java.util.Locale @Composable fun MoreScreen( @@ -174,10 +175,10 @@ private fun AppInfoMore(app: App) { Info( title = AnnotatedString( text = title.replace("_", " ") - .lowercase(Locale.getDefault()) + .lowercase(LocalLocale.current.platformLocale) .replaceFirstChar { if (it.isLowerCase()) { - it.titlecase(Locale.getDefault()) + it.titlecase(LocalLocale.current.platformLocale) } else { it.toString() } @@ -188,10 +189,9 @@ private fun AppInfoMore(app: App) { } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview @Composable private fun MoreScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - PreviewTemplate { - ScreenContent(app = app) - } + 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 d2722aae9..39ea6ec20 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 @@ -18,11 +18,13 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.platform.LocalLocale import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter +import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.aurora.extensions.adaptiveNavigationIcon @@ -32,10 +34,9 @@ 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.compose.preview.ThemePreviewProvider import com.aurora.store.viewmodel.details.AppDetailsViewModel import com.aurora.store.viewmodel.details.PermissionViewModel -import java.util.Locale @Composable fun PermissionScreen( @@ -99,7 +100,7 @@ private fun ScreenContent( .toString() .replaceFirstChar { if (it.isLowerCase()) { - it.titlecase(Locale.getDefault()) + it.titlecase(LocalLocale.current.platformLocale) } else { it.toString() } @@ -115,12 +116,11 @@ private fun ScreenContent( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview @Composable private fun PermissionScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - PreviewTemplate { - ScreenContent( - topAppBarTitle = app.displayName - ) - } + 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 a987c53fc..0cf2c4f01 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 @@ -30,6 +30,7 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter +import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.paging.LoadState @@ -46,8 +47,8 @@ import com.aurora.store.compose.composable.ContainedLoadingIndicator import com.aurora.store.compose.composable.Error import com.aurora.store.compose.composable.TopAppBar import com.aurora.store.compose.composable.details.ReviewListItem -import com.aurora.store.compose.preview.PreviewTemplate import com.aurora.store.compose.preview.ReviewPreviewProvider +import com.aurora.store.compose.preview.ThemePreviewProvider import com.aurora.store.viewmodel.details.AppDetailsViewModel import com.aurora.store.viewmodel.details.ReviewViewModel import kotlin.random.Random @@ -178,13 +179,12 @@ private fun FilterHeader(onClick: (filter: Review.Filter) -> Unit) { } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview @Composable private fun ReviewScreenPreview(@PreviewParameter(ReviewPreviewProvider::class) review: Review) { - PreviewTemplate { - val reviews = List(10) { review.copy(commentId = Random.nextInt().toString()) } - val reviewsFlow = MutableStateFlow(PagingData.from(reviews)).collectAsLazyPagingItems() + val reviews = List(10) { review.copy(commentId = Random.nextInt().toString()) } + val reviewsFlow = MutableStateFlow(PagingData.from(reviews)).collectAsLazyPagingItems() - ScreenContent(reviews = reviewsFlow) - } + 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 a58cdf494..e62c7129c 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 @@ -19,6 +19,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.aurora.extensions.adaptiveNavigationIcon @@ -27,7 +28,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.compose.preview.ThemePreviewProvider import com.aurora.store.viewmodel.details.AppDetailsViewModel @Composable @@ -92,12 +93,11 @@ private fun ScreenContent( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview @Composable private fun ScreenshotScreenPreview() { - PreviewTemplate { - ScreenContent( - topAppBarTitle = stringResource(R.string.app_name) - ) - } + ScreenContent( + topAppBarTitle = stringResource(R.string.app_name) + ) } diff --git a/app/src/main/java/com/aurora/store/compose/ui/details/composable/Actions.kt b/app/src/main/java/com/aurora/store/compose/ui/details/composable/Actions.kt index dae2e1cdf..a352b27ba 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/composable/Actions.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/composable/Actions.kt @@ -21,9 +21,10 @@ 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 androidx.compose.ui.tooling.preview.PreviewWrapper import com.aurora.extensions.isWindowCompact import com.aurora.store.R -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider /** * Composable to display primary and secondary actions available for the app, supposed to be used @@ -81,17 +82,16 @@ fun Actions( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun ActionsPreview() { - PreviewTemplate { - Column( - verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium)) - ) { - Actions( - primaryActionDisplayName = stringResource(R.string.action_install), - secondaryActionDisplayName = stringResource(R.string.title_manual_download) - ) - } + 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/composable/Changelog.kt b/app/src/main/java/com/aurora/store/compose/ui/details/composable/Changelog.kt index eb25db005..910db28d6 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/composable/Changelog.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/composable/Changelog.kt @@ -23,11 +23,12 @@ import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.fromHtml import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter +import androidx.compose.ui.tooling.preview.PreviewWrapper 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 +import com.aurora.store.compose.preview.ThemePreviewProvider /** * Composable to display app changelog, supposed to be used as a part @@ -55,14 +56,13 @@ fun Changelog(changelog: String) { } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun ChangelogPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - PreviewTemplate { - Column( - verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium)) - ) { - Changelog(changelog = app.changes) - } + 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/composable/Compatibility.kt b/app/src/main/java/com/aurora/store/compose/ui/details/composable/Compatibility.kt index b0d26b2a4..310d4cf91 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/composable/Compatibility.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/composable/Compatibility.kt @@ -13,10 +13,11 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewWrapper 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.preview.ThemePreviewProvider import com.aurora.store.compose.theme.successColor import com.aurora.store.compose.theme.warningColor import com.aurora.store.data.model.Scores @@ -76,14 +77,13 @@ fun Compatibility(needsGms: Boolean, plexusScores: Scores? = null) { } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun CompatibilityPreview() { - PreviewTemplate { - Column( - verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium)) - ) { - Compatibility(needsGms = true) - } + 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/composable/DataSafety.kt b/app/src/main/java/com/aurora/store/compose/ui/details/composable/DataSafety.kt index 01db06aa3..94b03fe5a 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/composable/DataSafety.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/composable/DataSafety.kt @@ -15,6 +15,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter +import androidx.compose.ui.tooling.preview.PreviewWrapper import com.aurora.extensions.browse import com.aurora.gplayapi.data.models.App import com.aurora.gplayapi.data.models.datasafety.Entry @@ -24,7 +25,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 +import com.aurora.store.compose.preview.ThemePreviewProvider /** * Composable to display app's data safety report, supposed to be used as a part @@ -80,31 +81,30 @@ fun DataSafety(report: Report, privacyPolicyUrl: String) { } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun DataSafetyPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - 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() - ) + 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/composable/Details.kt b/app/src/main/java/com/aurora/store/compose/ui/details/composable/Details.kt index 7bf2e2ce2..965fcd19a 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/composable/Details.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/composable/Details.kt @@ -32,12 +32,13 @@ import androidx.compose.ui.text.buildAnnotatedString 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.tooling.preview.PreviewWrapper import androidx.compose.ui.unit.LayoutDirection 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.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider import com.aurora.store.data.model.AppState import com.aurora.store.util.CommonUtil import com.aurora.store.util.PackageUtil @@ -156,14 +157,13 @@ fun Details( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun DetailsPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - PreviewTemplate { - Column( - verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium)) - ) { - Details(app = app) - } + 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/composable/DeveloperDetails.kt b/app/src/main/java/com/aurora/store/compose/ui/details/composable/DeveloperDetails.kt index 77d77d51f..fd89cba51 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/composable/DeveloperDetails.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/composable/DeveloperDetails.kt @@ -16,6 +16,7 @@ import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.fromHtml import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter +import androidx.compose.ui.tooling.preview.PreviewWrapper import com.aurora.extensions.browse import com.aurora.extensions.copyToClipBoard import com.aurora.extensions.mailTo @@ -24,7 +25,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 +import com.aurora.store.compose.preview.ThemePreviewProvider /** * Composable to display details of the app developer, supposed to be used as a part @@ -68,18 +69,17 @@ fun DeveloperDetails(address: String, website: String, email: String) { } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun DeveloperDetailsPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - PreviewTemplate { - Column( - verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium)) - ) { - DeveloperDetails( - address = app.developerAddress, - website = app.developerWebsite, - email = app.developerEmail - ) - } + 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/composable/Privacy.kt b/app/src/main/java/com/aurora/store/compose/ui/details/composable/Privacy.kt index b81684510..9a0b2fd58 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/composable/Privacy.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/composable/Privacy.kt @@ -13,10 +13,11 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewWrapper 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.preview.ThemePreviewProvider import com.aurora.store.compose.theme.successColor import com.aurora.store.compose.theme.warningColor import com.aurora.store.data.model.Report @@ -58,14 +59,13 @@ fun Privacy(report: Report?, onNavigateToDetailsExodus: (() -> Unit)? = null) { ) } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun PrivacyPreview() { - PreviewTemplate { - Column( - verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium)) - ) { - Privacy(report = Report(), onNavigateToDetailsExodus = {}) - } + 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/composable/RatingAndReviews.kt b/app/src/main/java/com/aurora/store/compose/ui/details/composable/RatingAndReviews.kt index c48dd5f04..5a5494b08 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/composable/RatingAndReviews.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/composable/RatingAndReviews.kt @@ -25,11 +25,13 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip +import androidx.compose.ui.platform.LocalLocale 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 androidx.compose.ui.tooling.preview.PreviewParameter +import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.compose.ui.tooling.preview.datasource.LoremIpsum import androidx.compose.ui.util.fastForEach import com.aurora.extensions.isWindowCompact @@ -41,8 +43,7 @@ import com.aurora.store.compose.composable.Header 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 +import com.aurora.store.compose.preview.ThemePreviewProvider /** * Composable to display reviews of the app, supposed to be used as a part @@ -72,11 +73,11 @@ fun RatingAndReviews( val avgRating = when { windowAdaptiveInfo.isWindowCompact -> { - String.format(Locale.getDefault(), "%.1f", rating.average) + String.format(LocalLocale.current.platformLocale, "%.1f", rating.average) } else -> { - String.format(Locale.getDefault(), "%.1f / 5.0", rating.average) + String.format(LocalLocale.current.platformLocale, "%.1f / 5.0", rating.average) } } @@ -142,6 +143,7 @@ fun RatingAndReviews( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun RatingAndReviewsPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { @@ -153,11 +155,9 @@ private fun RatingAndReviewsPreview(@PreviewParameter(AppPreviewProvider::class) comment = LoremIpsum(40).values.first() ) } - PreviewTemplate { - Column( - verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium)) - ) { - RatingAndReviews(rating = app.rating, featuredReviews = reviews) - } + Column( + verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium)) + ) { + RatingAndReviews(rating = app.rating, featuredReviews = reviews) } } diff --git a/app/src/main/java/com/aurora/store/compose/ui/details/composable/Screenshots.kt b/app/src/main/java/com/aurora/store/compose/ui/details/composable/Screenshots.kt index b995cf7c2..6f76d2db1 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/composable/Screenshots.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/composable/Screenshots.kt @@ -18,12 +18,13 @@ 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 androidx.compose.ui.tooling.preview.PreviewWrapper 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.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider /** * Composable to display screenshots of the app, supposed to be used as a part @@ -46,14 +47,13 @@ fun Screenshots(screenshots: List, onNavigateToScreenshot: (index: Int) } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun ScreenshotsPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - PreviewTemplate { - Column( - verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium)) - ) { - Screenshots(screenshots = app.screenshots) - } + 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/composable/Tags.kt b/app/src/main/java/com/aurora/store/compose/ui/details/composable/Tags.kt index 113f49e2e..86690d6d4 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/composable/Tags.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/composable/Tags.kt @@ -17,11 +17,12 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter +import androidx.compose.ui.tooling.preview.PreviewWrapper 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.compose.preview.ThemePreviewProvider import com.aurora.store.util.CommonUtil /** @@ -68,14 +69,13 @@ fun Tags(app: App) { } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun TagsPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - PreviewTemplate { - Column( - verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium)) - ) { - Tags(app = app) - } + 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/composable/Testing.kt b/app/src/main/java/com/aurora/store/compose/ui/details/composable/Testing.kt index abf6941c4..36b3c85a7 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/composable/Testing.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/composable/Testing.kt @@ -21,12 +21,13 @@ import androidx.compose.ui.text.AnnotatedString 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.tooling.preview.PreviewWrapper import com.aurora.gplayapi.data.models.App 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 +import com.aurora.store.compose.preview.ThemePreviewProvider /** * Composable to display app's beta testing status, supposed to be used as a part of the @@ -69,14 +70,13 @@ fun Testing(isSubscribed: Boolean, onTestingSubscriptionChange: (subscribe: Bool } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun TestingPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - PreviewTemplate { - Column( - verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium)) - ) { - Testing(isSubscribed = app.testingProgram!!.isSubscribed) - } + 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 3b6b92fa3..067705246 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 @@ -20,9 +20,10 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewWrapper import com.aurora.store.R import com.aurora.store.compose.composable.TopAppBar -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider import com.aurora.store.data.model.AppState /** @@ -90,14 +91,13 @@ fun AppDetailsMenu( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun AppDetailsMenuPreview() { - PreviewTemplate { - TopAppBar( - actions = { - AppDetailsMenu(isFavorite = true, isExpanded = true) - } - ) - } + TopAppBar( + actions = { + AppDetailsMenu(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 6adbc41e6..0ccbd3f88 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 @@ -19,6 +19,7 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter +import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.paging.LoadState import androidx.paging.PagingData @@ -33,7 +34,7 @@ import com.aurora.store.compose.composable.Error 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.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider import com.aurora.store.viewmodel.details.DevProfileViewModel import com.aurora.store.viewmodel.search.SearchViewModel import kotlin.random.Random @@ -125,16 +126,15 @@ private fun ScreenContent( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview @Composable private fun DevProfileScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - PreviewTemplate { - val apps = List(10) { app.copy(id = Random.nextInt()) } - val pagedApps = MutableStateFlow(PagingData.from(apps)).collectAsLazyPagingItems() + val apps = List(10) { app.copy(id = Random.nextInt()) } + val pagedApps = MutableStateFlow(PagingData.from(apps)).collectAsLazyPagingItems() - ScreenContent( - topAppBarTitle = app.developerName, - apps = pagedApps - ) - } + ScreenContent( + topAppBarTitle = app.developerName, + apps = pagedApps + ) } diff --git a/app/src/main/java/com/aurora/store/compose/ui/dispenser/DispenserScreen.kt b/app/src/main/java/com/aurora/store/compose/ui/dispenser/DispenserScreen.kt index 5df1b7124..25645ad44 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/dispenser/DispenserScreen.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/dispenser/DispenserScreen.kt @@ -23,6 +23,7 @@ import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.aurora.extensions.copyToClipBoard @@ -30,7 +31,7 @@ import com.aurora.store.R import com.aurora.store.compose.composable.DispenserListItem import com.aurora.store.compose.composable.Error import com.aurora.store.compose.composable.TopAppBar -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider import com.aurora.store.viewmodel.dispenser.DispenserViewModel @Composable @@ -122,19 +123,17 @@ private fun ScreenContent( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview @Composable private fun DispenserScreenPreview() { val dispensers = List(10) { "https://auroraoss.com/api/auth/$it" } - PreviewTemplate { - ScreenContent(dispensers = dispensers.toSet()) - } + ScreenContent(dispensers = dispensers.toSet()) } +@PreviewWrapper(ThemePreviewProvider::class) @Preview @Composable private fun DispenserScreenEmptyPreview() { - PreviewTemplate { - ScreenContent() - } + ScreenContent() } 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 f9a3dfe1b..db745be2b 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 @@ -24,6 +24,7 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter +import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.paging.LoadState import androidx.paging.PagingData @@ -39,7 +40,7 @@ import com.aurora.store.compose.composable.DownloadListItem import com.aurora.store.compose.composable.Error 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.compose.preview.ThemePreviewProvider 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 @@ -177,17 +178,16 @@ private fun ScreenContent( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview @Composable private fun DownloadsScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - PreviewTemplate { - val downloads = List(10) { - Download.fromApp(app).copy( - packageName = Random.nextInt().toString(), - status = DownloadStatus.entries.random() - ) - } - val pagedDownloads = MutableStateFlow(PagingData.from(downloads)).collectAsLazyPagingItems() - ScreenContent(downloads = pagedDownloads) + val downloads = List(10) { + Download.fromApp(app).copy( + packageName = Random.nextInt().toString(), + status = DownloadStatus.entries.random() + ) } + val pagedDownloads = MutableStateFlow(PagingData.from(downloads)).collectAsLazyPagingItems() + ScreenContent(downloads = pagedDownloads) } 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 ad1aaeaa1..64f331bfe 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 @@ -20,8 +20,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewWrapper import com.aurora.store.R -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider /** * Menu for the blacklist screen @@ -65,10 +66,9 @@ fun DownloadsMenu( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun DownloadsMenuPreview() { - PreviewTemplate { - DownloadsMenu(isExpanded = true) - } + 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 77430b970..82e909c77 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 @@ -24,6 +24,7 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter +import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.paging.LoadState import androidx.paging.PagingData @@ -39,7 +40,7 @@ import com.aurora.store.compose.composable.Error import com.aurora.store.compose.composable.FavouriteListItem import com.aurora.store.compose.composable.TopAppBar import com.aurora.store.compose.preview.FavouritePreviewProvider -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider 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 @@ -176,17 +177,16 @@ private fun ScreenContent( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview @Composable private fun FavouriteScreenPreview( @PreviewParameter(FavouritePreviewProvider::class) favourite: Favourite ) { - PreviewTemplate { - val favourites = List(10) { - favourite.copy(packageName = "${favourite.packageName}.${Random.nextInt()}") - } - val flow = MutableStateFlow(PagingData.from(favourites)).collectAsLazyPagingItems() - - ScreenContent(favourites = flow) + val favourites = List(10) { + favourite.copy(packageName = "${favourite.packageName}.${Random.nextInt()}") } + val flow = MutableStateFlow(PagingData.from(favourites)).collectAsLazyPagingItems() + + ScreenContent(favourites = flow) } 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 02d6d5cf1..93604236d 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 @@ -20,8 +20,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewWrapper import com.aurora.store.R -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider /** * Menu for the favourite screen @@ -61,10 +62,9 @@ fun FavouriteMenu( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun FavouriteMenuPreview() { - PreviewTemplate { - FavouriteMenu(isExpanded = true) - } + FavouriteMenu(isExpanded = true) } diff --git a/app/src/main/java/com/aurora/store/compose/ui/installed/InstalledScreen.kt b/app/src/main/java/com/aurora/store/compose/ui/installed/InstalledScreen.kt index 1ee6ce66f..93cbdca6d 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/installed/InstalledScreen.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/installed/InstalledScreen.kt @@ -20,6 +20,7 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter +import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.paging.LoadState import androidx.paging.PagingData @@ -34,7 +35,7 @@ import com.aurora.store.compose.composable.Error 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.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider import com.aurora.store.viewmodel.all.InstalledViewModel import kotlin.random.Random import kotlinx.coroutines.flow.MutableStateFlow @@ -116,12 +117,11 @@ private fun ScreenContent( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview @Composable private fun InstalledScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - PreviewTemplate { - val apps = List(15) { app.copy(packageName = Random.nextInt().toString()) } - val pagedApps = MutableStateFlow(PagingData.from(apps)).collectAsLazyPagingItems() - ScreenContent(apps = pagedApps) - } + val apps = List(15) { app.copy(packageName = Random.nextInt().toString()) } + val pagedApps = MutableStateFlow(PagingData.from(apps)).collectAsLazyPagingItems() + ScreenContent(apps = pagedApps) } diff --git a/app/src/main/java/com/aurora/store/compose/ui/onboarding/MicroGPage.kt b/app/src/main/java/com/aurora/store/compose/ui/onboarding/MicroGPage.kt index 502582860..2b0c6619c 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/onboarding/MicroGPage.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/onboarding/MicroGPage.kt @@ -20,11 +20,12 @@ 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 androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import com.aurora.extensions.toast import com.aurora.store.R import com.aurora.store.compose.composable.MicroG -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider import com.aurora.store.data.model.PermissionType import com.aurora.store.data.providers.PermissionProvider import com.aurora.store.viewmodel.onboarding.MicroGUIState @@ -90,12 +91,11 @@ private fun ScreenContent( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun MicroGPagePreview() { - PreviewTemplate { - ScreenContent( - uiState = MicroGUIState() - ) - } + ScreenContent( + uiState = MicroGUIState() + ) } diff --git a/app/src/main/java/com/aurora/store/compose/ui/onboarding/OnboardingScreen.kt b/app/src/main/java/com/aurora/store/compose/ui/onboarding/OnboardingScreen.kt index ac9162f83..a68c009dc 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/onboarding/OnboardingScreen.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/onboarding/OnboardingScreen.kt @@ -30,13 +30,14 @@ 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 androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.compose.ui.unit.dp import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import com.aurora.extensions.isWindowCompact import com.aurora.store.R import com.aurora.store.compose.composable.Logo import com.aurora.store.compose.composable.PageIndicator -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider import com.aurora.store.compose.ui.onboarding.navigation.OnboardingPage import com.aurora.store.viewmodel.onboarding.OnboardingUiState import com.aurora.store.viewmodel.onboarding.OnboardingViewModel @@ -198,14 +199,13 @@ private fun ScreenContent( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview @Composable private fun OnboardingScreenPreview() { - PreviewTemplate { - ScreenContent( - pages = listOf(OnboardingPage.WELCOME, OnboardingPage.PERMISSIONS), - uiState = OnboardingUiState(), - onMicrogTOSChecked = {} - ) - } + ScreenContent( + pages = listOf(OnboardingPage.WELCOME, OnboardingPage.PERMISSIONS), + uiState = OnboardingUiState(), + onMicrogTOSChecked = {} + ) } diff --git a/app/src/main/java/com/aurora/store/compose/ui/onboarding/PermissionsPage.kt b/app/src/main/java/com/aurora/store/compose/ui/onboarding/PermissionsPage.kt index d9e1d1e9b..63fb49788 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/onboarding/PermissionsPage.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/onboarding/PermissionsPage.kt @@ -18,12 +18,13 @@ 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 androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.compose.ui.tooling.preview.datasource.LoremIpsum import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.aurora.store.R import com.aurora.store.compose.composable.PermissionList -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider import com.aurora.store.data.model.Permission import com.aurora.store.data.model.PermissionType import com.aurora.store.viewmodel.commons.PermissionRationaleViewModel @@ -71,6 +72,7 @@ private fun PageContent( ) } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun PermissionsPagePreview() { @@ -83,9 +85,7 @@ private fun PermissionsPagePreview() { isGranted = Random.nextBoolean() ) } - PreviewTemplate { - PageContent( - permissions = permissions - ) - } + PageContent( + permissions = permissions + ) } diff --git a/app/src/main/java/com/aurora/store/compose/ui/onboarding/WelcomePage.kt b/app/src/main/java/com/aurora/store/compose/ui/onboarding/WelcomePage.kt index e400d062d..0b1ea6550 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/onboarding/WelcomePage.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/onboarding/WelcomePage.kt @@ -27,10 +27,11 @@ 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 androidx.compose.ui.tooling.preview.PreviewWrapper import com.aurora.extensions.browse import com.aurora.store.R import com.aurora.store.compose.composable.LinkListItem -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider import com.aurora.store.compose.ui.about.AboutDialog import com.aurora.store.data.model.Link @@ -135,10 +136,9 @@ private fun PageContent(onAboutAurora: () -> Unit = {}) { } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun WelcomePagePreview() { - PreviewTemplate { - PageContent() - } + PageContent() } diff --git a/app/src/main/java/com/aurora/store/compose/ui/preferences/installation/InstallerScreen.kt b/app/src/main/java/com/aurora/store/compose/ui/preferences/installation/InstallerScreen.kt index 4205ba101..2292fd4db 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/preferences/installation/InstallerScreen.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/preferences/installation/InstallerScreen.kt @@ -21,12 +21,13 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.aurora.store.R import com.aurora.store.compose.composable.InstallerListItem import com.aurora.store.compose.composable.TopAppBar -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider import com.aurora.store.data.installer.AppInstaller import com.aurora.store.data.installer.SessionInstaller import com.aurora.store.data.model.Installer @@ -91,12 +92,11 @@ private fun ScreenContent( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview @Composable private fun InstallerScreenPreview() { - PreviewTemplate { - ScreenContent( - availableInstallers = listOf(SessionInstaller.installerInfo) - ) - } + ScreenContent( + availableInstallers = listOf(SessionInstaller.installerInfo) + ) } 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 e4fe79960..fdf117577 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 @@ -57,6 +57,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.tooling.preview.PreviewScreenSizes +import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.paging.LoadState @@ -72,7 +73,7 @@ import com.aurora.store.compose.composable.Error import com.aurora.store.compose.composable.SearchSuggestionListItem import com.aurora.store.compose.composable.app.LargeAppListItem import com.aurora.store.compose.preview.AppPreviewProvider -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider import com.aurora.store.compose.ui.details.AppDetailsScreen import com.aurora.store.data.model.SearchFilter import com.aurora.store.viewmodel.search.SearchViewModel @@ -439,12 +440,11 @@ private fun FilterHeader( } } +@PreviewWrapper(ThemePreviewProvider::class) @PreviewScreenSizes @Composable private fun SearchScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) { - PreviewTemplate { - val apps = List(10) { app.copy(id = Random.nextInt()) } - val results = MutableStateFlow(PagingData.from(apps)).collectAsLazyPagingItems() - ScreenContent(results = results) - } + val apps = List(10) { app.copy(id = Random.nextInt()) } + val results = MutableStateFlow(PagingData.from(apps)).collectAsLazyPagingItems() + ScreenContent(results = results) } diff --git a/app/src/main/java/com/aurora/store/compose/ui/spoof/DevicePage.kt b/app/src/main/java/com/aurora/store/compose/ui/spoof/DevicePage.kt index 2de199f3b..118920676 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/spoof/DevicePage.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/spoof/DevicePage.kt @@ -17,12 +17,13 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.aurora.store.R import com.aurora.store.compose.composable.DeviceListItem import com.aurora.store.compose.composable.TextDividerComposable -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider import com.aurora.store.viewmodel.spoof.SpoofViewModel import java.util.Properties import kotlin.random.Random @@ -94,6 +95,7 @@ private fun PageContent( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun DevicePagePreview() { @@ -105,12 +107,10 @@ private fun DevicePagePreview() { setProperty("Build.PRODUCT", Random.nextInt().toString()) } - PreviewTemplate { - val defaultDevice = getDevice() - PageContent( - defaultDevice = defaultDevice, - devices = List(10) { getDevice() }, - isDeviceSelected = { device -> defaultDevice == device } - ) - } + val defaultDevice = getDevice() + PageContent( + defaultDevice = defaultDevice, + devices = List(10) { getDevice() }, + isDeviceSelected = { device -> defaultDevice == device } + ) } diff --git a/app/src/main/java/com/aurora/store/compose/ui/spoof/LocalePage.kt b/app/src/main/java/com/aurora/store/compose/ui/spoof/LocalePage.kt index 99c75fae6..83d8b0ece 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/spoof/LocalePage.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/spoof/LocalePage.kt @@ -17,12 +17,13 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.aurora.store.R import com.aurora.store.compose.composable.LocaleListItem import com.aurora.store.compose.composable.TextDividerComposable -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider import com.aurora.store.viewmodel.spoof.SpoofViewModel import java.util.Locale @@ -89,13 +90,12 @@ private fun PageContent( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun LocalePagePreview() { - PreviewTemplate { - PageContent( - locales = Locale.getAvailableLocales().toList().filter { it.displayName.isNotBlank() }, - isLocaleSelected = { locale -> locale == Locale.getDefault() } - ) - } + PageContent( + locales = Locale.getAvailableLocales().toList().filter { it.displayName.isNotBlank() }, + isLocaleSelected = { locale -> locale == Locale.getDefault() } + ) } diff --git a/app/src/main/java/com/aurora/store/compose/ui/spoof/menu/SpoofMenu.kt b/app/src/main/java/com/aurora/store/compose/ui/spoof/menu/SpoofMenu.kt index 0a2753b67..fe139b4d6 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/spoof/menu/SpoofMenu.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/spoof/menu/SpoofMenu.kt @@ -20,8 +20,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.tooling.preview.PreviewWrapper import com.aurora.store.R -import com.aurora.store.compose.preview.PreviewTemplate +import com.aurora.store.compose.preview.ThemePreviewProvider /** * Menu for the blacklist screen @@ -61,10 +62,9 @@ fun SpoofMenu( } } +@PreviewWrapper(ThemePreviewProvider::class) @Preview(showBackground = true) @Composable private fun SpoofMenuPreview() { - PreviewTemplate { - SpoofMenu(isExpanded = true) - } + SpoofMenu(isExpanded = true) }