Replace preview template logic with new provider annotation
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
@@ -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
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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))
|
||||
}
|
||||
|
||||
@@ -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 = {}
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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
|
||||
)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
@@ -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())
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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
|
||||
)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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))
|
||||
}
|
||||
|
||||
@@ -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 = {}
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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<Float> {
|
||||
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
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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<String> = mutableListOf<String>().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<String> = mutableListOf<String>().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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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/"
|
||||
)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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 ?: "")
|
||||
}
|
||||
|
||||
@@ -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
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
)
|
||||
)
|
||||
)
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 = {})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<Artwork>, 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)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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 = {}
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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 }
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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() }
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user