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.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.asImageBitmap
|
import androidx.compose.ui.graphics.asImageBitmap
|
||||||
import androidx.compose.ui.platform.LocalContext
|
|
||||||
import androidx.compose.ui.res.dimensionResource
|
import androidx.compose.ui.res.dimensionResource
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.core.graphics.drawable.toBitmap
|
import androidx.core.graphics.drawable.toBitmap
|
||||||
import androidx.core.graphics.drawable.toDrawable
|
import androidx.core.graphics.drawable.toDrawable
|
||||||
import com.aurora.store.BuildConfig
|
import com.aurora.store.BuildConfig
|
||||||
import com.aurora.store.R
|
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
|
* Composable for displaying package details in a list for blacklisting
|
||||||
@@ -101,18 +101,17 @@ fun BlackListItem(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun BlackListItemPreview() {
|
private fun BlackListItemPreview() {
|
||||||
PreviewTemplate {
|
BlackListItem(
|
||||||
BlackListItem(
|
icon = Color.GRAY.toDrawable().toBitmap(56, 56),
|
||||||
icon = Color.GRAY.toDrawable().toBitmap(56, 56),
|
displayName = stringResource(R.string.app_name),
|
||||||
displayName = LocalContext.current.getString(R.string.app_name),
|
packageName = BuildConfig.APPLICATION_ID,
|
||||||
packageName = BuildConfig.APPLICATION_ID,
|
versionName = BuildConfig.VERSION_NAME,
|
||||||
versionName = BuildConfig.VERSION_NAME,
|
versionCode = BuildConfig.VERSION_CODE.toLong(),
|
||||||
versionCode = BuildConfig.VERSION_CODE.toLong(),
|
isChecked = true,
|
||||||
isChecked = true,
|
isEnabled = false
|
||||||
isEnabled = false
|
)
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,8 +18,9 @@ import androidx.compose.ui.res.stringResource
|
|||||||
import androidx.compose.ui.semantics.semantics
|
import androidx.compose.ui.semantics.semantics
|
||||||
import androidx.compose.ui.semantics.stateDescription
|
import androidx.compose.ui.semantics.stateDescription
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.store.R
|
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
|
* 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)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun ContainedLoadingIndicatorPreview() {
|
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.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.gplayapi.data.models.App
|
import com.aurora.gplayapi.data.models.App
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.composable.app.AnimatedAppIcon
|
import com.aurora.store.compose.composable.app.AnimatedAppIcon
|
||||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
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.model.DownloadStatus
|
||||||
import com.aurora.store.data.room.download.Download
|
import com.aurora.store.data.room.download.Download
|
||||||
import com.aurora.store.util.CommonUtil.getETAString
|
import com.aurora.store.util.CommonUtil.getETAString
|
||||||
@@ -171,10 +172,9 @@ fun DownloadListItem(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun DownloadListItemPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
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.TextAlign
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.store.R
|
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
|
* Composable to show error message that fills all available screen
|
||||||
@@ -76,14 +77,13 @@ fun Error(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun ErrorPreview() {
|
private fun ErrorPreview() {
|
||||||
PreviewTemplate {
|
Error(
|
||||||
Error(
|
painter = painterResource(R.drawable.ic_updates),
|
||||||
painter = painterResource(R.drawable.ic_updates),
|
message = stringResource(R.string.details_no_updates),
|
||||||
message = stringResource(R.string.details_no_updates),
|
actionMessage = stringResource(R.string.check_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.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import coil3.compose.AsyncImage
|
import coil3.compose.AsyncImage
|
||||||
import coil3.request.ImageRequest
|
import coil3.request.ImageRequest
|
||||||
import coil3.request.crossfade
|
import coil3.request.crossfade
|
||||||
import com.aurora.gplayapi.data.models.App
|
import com.aurora.gplayapi.data.models.App
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
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 com.aurora.store.data.room.favourite.Favourite
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
@@ -138,10 +139,9 @@ fun FavouriteListItem(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun FavouriteListItemPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
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.res.stringResource
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.store.R
|
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
|
* Composable to display sticky header in list
|
||||||
@@ -80,14 +81,13 @@ fun Header(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun HeaderPreview() {
|
private fun HeaderPreview() {
|
||||||
PreviewTemplate {
|
Header(
|
||||||
Header(
|
title = stringResource(R.string.details_privacy),
|
||||||
title = stringResource(R.string.details_privacy),
|
subtitle = stringResource(R.string.exodus_powered),
|
||||||
subtitle = stringResource(R.string.exodus_powered),
|
onClick = {}
|
||||||
onClick = {}
|
)
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,10 +27,11 @@ import androidx.compose.ui.text.fromHtml
|
|||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.gplayapi.data.models.App
|
import com.aurora.gplayapi.data.models.App
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
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
|
* Composable to show some information
|
||||||
@@ -81,14 +82,13 @@ fun Info(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun InfoPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
private fun InfoPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||||
PreviewTemplate {
|
Info(
|
||||||
Info(
|
title = AnnotatedString(text = stringResource(R.string.details_dev_website)),
|
||||||
title = AnnotatedString(text = stringResource(R.string.details_dev_website)),
|
description = AnnotatedString.fromHtml(htmlString = app.developerWebsite),
|
||||||
description = AnnotatedString.fromHtml(htmlString = app.developerWebsite),
|
painter = painterResource(R.drawable.ic_network)
|
||||||
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.res.stringResource
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.store.R
|
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.installer.SessionInstaller
|
||||||
import com.aurora.store.data.model.InstallerInfo
|
import com.aurora.store.data.model.InstallerInfo
|
||||||
|
|
||||||
@@ -70,10 +71,9 @@ fun InstallerListItem(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun InstallerListItemPreview() {
|
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.res.stringResource
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import coil3.compose.AsyncImage
|
import coil3.compose.AsyncImage
|
||||||
import coil3.request.ImageRequest
|
import coil3.request.ImageRequest
|
||||||
import com.aurora.store.R
|
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.data.model.Link
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -91,18 +92,17 @@ fun LinkListItem(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun LinkListItemPreview() {
|
private fun LinkListItemPreview() {
|
||||||
PreviewTemplate {
|
LinkListItem(
|
||||||
LinkListItem(
|
link = Link(
|
||||||
link = Link(
|
id = 0,
|
||||||
id = 0,
|
title = stringResource(R.string.title_about),
|
||||||
title = stringResource(R.string.title_about),
|
subtitle = stringResource(R.string.about_aurora_store_subtitle),
|
||||||
subtitle = stringResource(R.string.about_aurora_store_subtitle),
|
url = "https://auroraoss.com/",
|
||||||
url = "https://auroraoss.com/",
|
icon = R.drawable.ic_menu_about
|
||||||
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.res.stringResource
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import coil3.compose.AsyncImage
|
import coil3.compose.AsyncImage
|
||||||
import coil3.request.ImageRequest
|
import coil3.request.ImageRequest
|
||||||
import com.aurora.store.R
|
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
|
* Composable to show Aurora Store's logo
|
||||||
@@ -59,10 +60,9 @@ fun Logo(modifier: Modifier = Modifier) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun LogoPreview() {
|
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.res.stringResource
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.compose.ui.util.fastForEach
|
import androidx.compose.ui.util.fastForEach
|
||||||
import com.aurora.extensions.browse
|
import com.aurora.extensions.browse
|
||||||
import com.aurora.store.R
|
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.data.model.Link
|
||||||
import com.aurora.store.viewmodel.onboarding.MicroGUIState
|
import com.aurora.store.viewmodel.onboarding.MicroGUIState
|
||||||
|
|
||||||
@@ -148,10 +149,9 @@ fun MicroG(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun MicroGPreview() {
|
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.semantics
|
||||||
import androidx.compose.ui.semantics.stateDescription
|
import androidx.compose.ui.semantics.stateDescription
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.preview.PreviewTemplate
|
import com.aurora.store.compose.preview.ThemePreviewProvider
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Pager indicator
|
* Pager indicator
|
||||||
@@ -77,10 +78,9 @@ fun PageIndicator(modifier: Modifier = Modifier, totalPages: Int, currentPage: I
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun PageIndicatorPreview() {
|
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.dimensionResource
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.compose.ui.tooling.preview.datasource.LoremIpsum
|
import androidx.compose.ui.tooling.preview.datasource.LoremIpsum
|
||||||
import androidx.core.net.toUri
|
import androidx.core.net.toUri
|
||||||
import com.aurora.extensions.isTAndAbove
|
import com.aurora.extensions.isTAndAbove
|
||||||
import com.aurora.extensions.toast
|
import com.aurora.extensions.toast
|
||||||
import com.aurora.store.BuildConfig
|
import com.aurora.store.BuildConfig
|
||||||
import com.aurora.store.R
|
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.Permission
|
||||||
import com.aurora.store.data.model.PermissionType
|
import com.aurora.store.data.model.PermissionType
|
||||||
import com.aurora.store.data.providers.PermissionProvider.Companion.isGranted
|
import com.aurora.store.data.providers.PermissionProvider.Companion.isGranted
|
||||||
@@ -159,6 +160,7 @@ fun PermissionList(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun PermissionListPreview() {
|
private fun PermissionListPreview() {
|
||||||
@@ -171,7 +173,5 @@ private fun PermissionListPreview() {
|
|||||||
isGranted = Random.nextBoolean()
|
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.res.stringResource
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.store.R
|
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.Permission
|
||||||
import com.aurora.store.data.model.PermissionType
|
import com.aurora.store.data.model.PermissionType
|
||||||
|
|
||||||
@@ -70,17 +71,16 @@ fun PermissionListItem(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun PermissionListItemPreview() {
|
private fun PermissionListItemPreview() {
|
||||||
PreviewTemplate {
|
PermissionListItem(
|
||||||
PermissionListItem(
|
permission = Permission(
|
||||||
permission = Permission(
|
PermissionType.STORAGE_MANAGER,
|
||||||
PermissionType.STORAGE_MANAGER,
|
stringResource(R.string.onboarding_permission_esm),
|
||||||
stringResource(R.string.onboarding_permission_esm),
|
stringResource(R.string.onboarding_permission_esa_desc),
|
||||||
stringResource(R.string.onboarding_permission_esa_desc),
|
false
|
||||||
false
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
}
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,12 +24,13 @@ import androidx.compose.ui.res.dimensionResource
|
|||||||
import androidx.compose.ui.res.painterResource
|
import androidx.compose.ui.res.painterResource
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import coil3.compose.AsyncImage
|
import coil3.compose.AsyncImage
|
||||||
import coil3.request.ImageRequest
|
import coil3.request.ImageRequest
|
||||||
import coil3.request.crossfade
|
import coil3.request.crossfade
|
||||||
import com.aurora.gplayapi.SearchSuggestEntry
|
import com.aurora.gplayapi.SearchSuggestEntry
|
||||||
import com.aurora.store.R
|
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
|
* Composable for displaying search suggestions in a list
|
||||||
@@ -96,12 +97,11 @@ fun SearchSuggestionListItem(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun SearchSuggestionListItemPreview() {
|
private fun SearchSuggestionListItemPreview() {
|
||||||
PreviewTemplate {
|
SearchSuggestionListItem(
|
||||||
SearchSuggestionListItem(
|
searchSuggestEntry = SearchSuggestEntry.getDefaultInstance()
|
||||||
searchSuggestEntry = SearchSuggestEntry.getDefaultInstance()
|
)
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,8 +15,9 @@ import androidx.compose.ui.res.dimensionResource
|
|||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.store.R
|
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
|
* 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)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun TextDividerComposablePreview() {
|
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.painterResource
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.store.R
|
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
|
* 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)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun TopAppBarPreview() {
|
private fun TopAppBarPreview() {
|
||||||
PreviewTemplate {
|
TopAppBar(
|
||||||
TopAppBar(
|
title = stringResource(R.string.title_about),
|
||||||
title = stringResource(R.string.title_about),
|
onNavigateUp = {}
|
||||||
onNavigateUp = {}
|
)
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,13 +27,14 @@ import androidx.compose.ui.semantics.testTag
|
|||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import coil3.compose.AsyncImage
|
import coil3.compose.AsyncImage
|
||||||
import coil3.request.ImageRequest
|
import coil3.request.ImageRequest
|
||||||
import coil3.request.crossfade
|
import coil3.request.crossfade
|
||||||
import com.aurora.gplayapi.data.models.App
|
import com.aurora.gplayapi.data.models.App
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
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
|
* 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)
|
get() = sequenceOf(0F, 50F)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun AnimatedAppIconPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
private fun AnimatedAppIconPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||||
PreviewTemplate {
|
AnimatedAppIcon(
|
||||||
AnimatedAppIcon(
|
modifier = Modifier.requiredSize(dimensionResource(R.dimen.icon_size_large)),
|
||||||
modifier = Modifier.requiredSize(dimensionResource(R.dimen.icon_size_large)),
|
iconUrl = app.iconArtwork.url
|
||||||
iconUrl = app.iconArtwork.url
|
)
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun AnimatedAppIconPreview(@PreviewParameter(ProgressProvider::class) progress: Float) {
|
private fun AnimatedAppIconPreview(@PreviewParameter(ProgressProvider::class) progress: Float) {
|
||||||
PreviewTemplate {
|
AnimatedAppIcon(
|
||||||
AnimatedAppIcon(
|
modifier = Modifier.requiredSize(dimensionResource(R.dimen.icon_size_large)),
|
||||||
modifier = Modifier.requiredSize(dimensionResource(R.dimen.icon_size_large)),
|
iconUrl = "",
|
||||||
iconUrl = "",
|
inProgress = true,
|
||||||
inProgress = true,
|
progress = progress
|
||||||
progress = progress
|
)
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,13 +23,14 @@ import androidx.compose.ui.res.dimensionResource
|
|||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import coil3.compose.AsyncImage
|
import coil3.compose.AsyncImage
|
||||||
import coil3.request.ImageRequest
|
import coil3.request.ImageRequest
|
||||||
import coil3.request.crossfade
|
import coil3.request.crossfade
|
||||||
import com.aurora.gplayapi.data.models.App
|
import com.aurora.gplayapi.data.models.App
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
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
|
* 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)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun AppListItemPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
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.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import coil3.compose.AsyncImage
|
import coil3.compose.AsyncImage
|
||||||
import coil3.request.ImageRequest
|
import coil3.request.ImageRequest
|
||||||
import coil3.request.crossfade
|
import coil3.request.crossfade
|
||||||
@@ -31,7 +32,7 @@ import com.aurora.extensions.requiresGMS
|
|||||||
import com.aurora.gplayapi.data.models.App
|
import com.aurora.gplayapi.data.models.App
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
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
|
import com.aurora.store.util.CommonUtil
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -43,6 +44,28 @@ import com.aurora.store.util.CommonUtil
|
|||||||
*/
|
*/
|
||||||
@Composable
|
@Composable
|
||||||
fun LargeAppListItem(modifier: Modifier = Modifier, app: App, onClick: () -> Unit = {}) {
|
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(
|
Row(
|
||||||
modifier = modifier
|
modifier = modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
@@ -81,32 +104,9 @@ fun LargeAppListItem(modifier: Modifier = Modifier, app: App, onClick: () -> Uni
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
fun LargeAppListItemPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
fun LargeAppListItemPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||||
PreviewTemplate {
|
LargeAppListItem(app = app)
|
||||||
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))
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,8 +15,9 @@ import androidx.compose.ui.graphics.painter.Painter
|
|||||||
import androidx.compose.ui.res.painterResource
|
import androidx.compose.ui.res.painterResource
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.store.R
|
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
|
* Composable to show a tag related to an app
|
||||||
@@ -41,13 +42,12 @@ fun TagListItem(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun TagListItemPreview() {
|
private fun TagListItemPreview() {
|
||||||
PreviewTemplate {
|
TagListItem(
|
||||||
TagListItem(
|
label = stringResource(R.string.details_free),
|
||||||
label = stringResource(R.string.details_free),
|
painter = painterResource(R.drawable.ic_paid)
|
||||||
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.res.dimensionResource
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.extensions.browse
|
import com.aurora.extensions.browse
|
||||||
import com.aurora.store.R
|
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
|
import com.aurora.store.data.model.ExodusTracker
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -60,17 +61,16 @@ fun ExodusListItem(modifier: Modifier = Modifier, tracker: ExodusTracker) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun ExodusListItemPreview() {
|
private fun ExodusListItemPreview() {
|
||||||
PreviewTemplate {
|
ExodusListItem(
|
||||||
ExodusListItem(
|
tracker = ExodusTracker(
|
||||||
tracker = ExodusTracker(
|
name = "Google Analytics",
|
||||||
name = "Google Analytics",
|
signature = "com.google.android.apps.analytics.|com.google.analytics.",
|
||||||
signature = "com.google.android.apps.analytics.|com.google.analytics.",
|
date = "2017-09-24",
|
||||||
date = "2017-09-24",
|
url = "http://www.google.com/analytics/"
|
||||||
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.res.dimensionResource
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.store.R
|
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
|
* 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)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun RatingListItemPreview() {
|
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.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.compose.ui.viewinterop.AndroidView
|
import androidx.compose.ui.viewinterop.AndroidView
|
||||||
import coil3.compose.AsyncImage
|
import coil3.compose.AsyncImage
|
||||||
import coil3.request.ImageRequest
|
import coil3.request.ImageRequest
|
||||||
import coil3.request.crossfade
|
import coil3.request.crossfade
|
||||||
import com.aurora.gplayapi.data.models.Review
|
import com.aurora.gplayapi.data.models.Review
|
||||||
import com.aurora.store.R
|
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.ReviewPreviewProvider
|
||||||
|
import com.aurora.store.compose.preview.ThemePreviewProvider
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Composable for viewing a review about an app
|
* 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)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun ReviewListItemPreview(@PreviewParameter(ReviewPreviewProvider::class) review: Review) {
|
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.platform.LocalContext
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import coil3.compose.AsyncImagePainter
|
import coil3.compose.AsyncImagePainter
|
||||||
import coil3.compose.rememberAsyncImagePainter
|
import coil3.compose.rememberAsyncImagePainter
|
||||||
@@ -23,7 +24,7 @@ import coil3.request.crossfade
|
|||||||
import com.aurora.extensions.shimmer
|
import com.aurora.extensions.shimmer
|
||||||
import com.aurora.gplayapi.data.models.App
|
import com.aurora.gplayapi.data.models.App
|
||||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
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
|
* Composable to display a screenshot of an app
|
||||||
@@ -58,10 +59,9 @@ fun ScreenshotListItem(modifier: Modifier = Modifier, url: String) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview
|
@Preview
|
||||||
@Composable
|
@Composable
|
||||||
private fun ScreenshotListItemPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
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.runtime.Composable
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.store.R
|
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
|
* Dialog for displaying information about Aurora Store
|
||||||
@@ -34,10 +35,9 @@ fun AboutDialog(onDismiss: () -> Unit = {}) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview
|
@Preview
|
||||||
@Composable
|
@Composable
|
||||||
private fun AboutDialogPreview() {
|
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.res.stringResource
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import coil3.compose.AsyncImage
|
import coil3.compose.AsyncImage
|
||||||
import coil3.request.ImageRequest
|
import coil3.request.ImageRequest
|
||||||
import com.aurora.extensions.browse
|
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.R
|
||||||
import com.aurora.store.compose.composable.LinkListItem
|
import com.aurora.store.compose.composable.LinkListItem
|
||||||
import com.aurora.store.compose.composable.TopAppBar
|
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
|
import com.aurora.store.data.model.Link
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
@@ -164,10 +165,9 @@ private fun BrandHeader() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview
|
@Preview
|
||||||
@Composable
|
@Composable
|
||||||
private fun AboutScreenPreview() {
|
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.res.stringResource
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
||||||
import coil3.compose.AsyncImage
|
import coil3.compose.AsyncImage
|
||||||
import coil3.request.ImageRequest
|
import coil3.request.ImageRequest
|
||||||
@@ -47,7 +48,7 @@ import com.aurora.Constants.URL_TOS
|
|||||||
import com.aurora.extensions.browse
|
import com.aurora.extensions.browse
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.composable.TopAppBar
|
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.data.providers.AccountProvider
|
||||||
import com.aurora.store.viewmodel.accounts.AccountsViewModel
|
import com.aurora.store.viewmodel.accounts.AccountsViewModel
|
||||||
|
|
||||||
@@ -204,10 +205,9 @@ private fun AssistHeader() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview
|
@Preview
|
||||||
@Composable
|
@Composable
|
||||||
private fun AccountsScreenPreview() {
|
private fun AccountsScreenPreview() {
|
||||||
PreviewTemplate {
|
ScreenContent()
|
||||||
ScreenContent()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,8 +11,9 @@ import androidx.compose.material3.TextButton
|
|||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.preview.PreviewTemplate
|
import com.aurora.store.compose.preview.ThemePreviewProvider
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dialog for confirming log out
|
* Dialog for confirming log out
|
||||||
@@ -40,10 +41,9 @@ fun LogoutDialog(onConfirm: () -> Unit = {}, onDismiss: () -> Unit = {}) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview
|
@Preview
|
||||||
@Composable
|
@Composable
|
||||||
private fun LogoutDialogPreview() {
|
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.res.stringResource
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.core.content.pm.PackageInfoCompat
|
import androidx.core.content.pm.PackageInfoCompat
|
||||||
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
@@ -46,7 +47,7 @@ import com.aurora.Constants
|
|||||||
import com.aurora.extensions.toast
|
import com.aurora.extensions.toast
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.composable.BlackListItem
|
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.BlacklistMenu
|
||||||
import com.aurora.store.compose.ui.blacklist.menu.MenuItem
|
import com.aurora.store.compose.ui.blacklist.menu.MenuItem
|
||||||
import com.aurora.store.util.PackageUtil
|
import com.aurora.store.util.PackageUtil
|
||||||
@@ -241,10 +242,9 @@ private fun ScreenContent(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview
|
@Preview
|
||||||
@Composable
|
@Composable
|
||||||
private fun BlacklistScreenPreview() {
|
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.painterResource
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.preview.PreviewTemplate
|
import com.aurora.store.compose.preview.ThemePreviewProvider
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Menu for the blacklist screen
|
* Menu for the blacklist screen
|
||||||
@@ -69,10 +70,9 @@ fun BlacklistMenu(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun BlacklistMenuPreview() {
|
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.Modifier
|
||||||
import androidx.compose.ui.res.pluralStringResource
|
import androidx.compose.ui.res.pluralStringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.compose.ui.tooling.preview.datasource.LoremIpsum
|
import androidx.compose.ui.tooling.preview.datasource.LoremIpsum
|
||||||
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
@@ -21,7 +22,7 @@ import com.aurora.extensions.adaptiveNavigationIcon
|
|||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.composable.PermissionList
|
import com.aurora.store.compose.composable.PermissionList
|
||||||
import com.aurora.store.compose.composable.TopAppBar
|
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.Permission
|
||||||
import com.aurora.store.data.model.PermissionType
|
import com.aurora.store.data.model.PermissionType
|
||||||
import com.aurora.store.viewmodel.commons.PermissionRationaleViewModel
|
import com.aurora.store.viewmodel.commons.PermissionRationaleViewModel
|
||||||
@@ -75,6 +76,7 @@ private fun ScreenContent(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview
|
@Preview
|
||||||
@Composable
|
@Composable
|
||||||
private fun PermissionsScreenPreview() {
|
private fun PermissionsScreenPreview() {
|
||||||
@@ -87,7 +89,5 @@ private fun PermissionsScreenPreview() {
|
|||||||
isGranted = Random.nextBoolean()
|
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.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
||||||
import androidx.paging.LoadState
|
import androidx.paging.LoadState
|
||||||
import androidx.paging.PagingData
|
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.TopAppBar
|
||||||
import com.aurora.store.compose.composable.app.LargeAppListItem
|
import com.aurora.store.compose.composable.app.LargeAppListItem
|
||||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
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 com.aurora.store.viewmodel.browse.StreamBrowseViewModel
|
||||||
import kotlin.random.Random
|
import kotlin.random.Random
|
||||||
import kotlin.uuid.Uuid
|
import kotlin.uuid.Uuid
|
||||||
@@ -110,14 +111,13 @@ private fun ScreenContent(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview
|
@Preview
|
||||||
@Composable
|
@Composable
|
||||||
private fun StreamBrowseScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
private fun StreamBrowseScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||||
PreviewTemplate {
|
val apps = List(10) { app.copy(id = Random.nextInt()) }
|
||||||
val apps = List(10) { app.copy(id = Random.nextInt()) }
|
val pagedApps = MutableStateFlow(PagingData.from(apps)).collectAsLazyPagingItems()
|
||||||
val pagedApps = MutableStateFlow(PagingData.from(apps)).collectAsLazyPagingItems()
|
ScreenContent(
|
||||||
ScreenContent(
|
apps = pagedApps
|
||||||
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.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
import androidx.compose.ui.tooling.preview.PreviewScreenSizes
|
import androidx.compose.ui.tooling.preview.PreviewScreenSizes
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import androidx.navigation3.runtime.NavKey
|
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.composable.app.LargeAppListItem
|
||||||
import com.aurora.store.compose.navigation.Screen
|
import com.aurora.store.compose.navigation.Screen
|
||||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
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.commons.PermissionRationaleScreen
|
||||||
import com.aurora.store.compose.ui.details.composable.Actions
|
import com.aurora.store.compose.ui.details.composable.Actions
|
||||||
import com.aurora.store.compose.ui.details.composable.Changelog
|
import com.aurora.store.compose.ui.details.composable.Changelog
|
||||||
@@ -526,30 +527,27 @@ private fun ScreenContentApp(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@PreviewScreenSizes
|
@PreviewScreenSizes
|
||||||
@Composable
|
@Composable
|
||||||
private fun AppDetailsScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
private fun AppDetailsScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||||
PreviewTemplate {
|
ScreenContentApp(
|
||||||
ScreenContentApp(
|
app = app,
|
||||||
app = app,
|
isAnonymous = false,
|
||||||
isAnonymous = false,
|
suggestions = List(10) { app.copy(id = Random.nextInt()) }
|
||||||
suggestions = List(10) { app.copy(id = Random.nextInt()) }
|
)
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview
|
@Preview
|
||||||
@Composable
|
@Composable
|
||||||
private fun AppDetailsScreenPreviewLoading() {
|
private fun AppDetailsScreenPreviewLoading() {
|
||||||
PreviewTemplate {
|
ScreenContentLoading()
|
||||||
ScreenContentLoading()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview
|
@Preview
|
||||||
@Composable
|
@Composable
|
||||||
private fun AppDetailsScreenPreviewError() {
|
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.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import com.aurora.Constants.EXODUS_REPORT_URL
|
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.TopAppBar
|
||||||
import com.aurora.store.compose.composable.details.ExodusListItem
|
import com.aurora.store.compose.composable.details.ExodusListItem
|
||||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
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.ExodusTracker
|
||||||
import com.aurora.store.data.model.Report
|
import com.aurora.store.data.model.Report
|
||||||
import com.aurora.store.viewmodel.details.AppDetailsViewModel
|
import com.aurora.store.viewmodel.details.AppDetailsViewModel
|
||||||
@@ -178,18 +179,16 @@ private fun ScreenContentError(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview
|
@Preview
|
||||||
@Composable
|
@Composable
|
||||||
private fun ExodusScreenPreviewReport(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
private fun ExodusScreenPreviewReport(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||||
PreviewTemplate {
|
ScreenContentReport(topAppBarTitle = app.displayName)
|
||||||
ScreenContentReport(topAppBarTitle = app.displayName)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview
|
@Preview
|
||||||
@Composable
|
@Composable
|
||||||
private fun ExodusScreenPreviewError(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
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.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.core.text.isDigitsOnly
|
import androidx.core.text.isDigitsOnly
|
||||||
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
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.Info
|
||||||
import com.aurora.store.compose.composable.TopAppBar
|
import com.aurora.store.compose.composable.TopAppBar
|
||||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
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.data.model.AppState
|
||||||
import com.aurora.store.viewmodel.details.AppDetailsViewModel
|
import com.aurora.store.viewmodel.details.AppDetailsViewModel
|
||||||
import kotlinx.coroutines.android.awaitFrame
|
import kotlinx.coroutines.android.awaitFrame
|
||||||
@@ -213,13 +214,12 @@ private fun ScreenContent(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview
|
@Preview
|
||||||
@Composable
|
@Composable
|
||||||
private fun ManualDownloadScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
private fun ManualDownloadScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||||
PreviewTemplate {
|
ScreenContent(
|
||||||
ScreenContent(
|
topAppBarTitle = app.displayName,
|
||||||
topAppBarTitle = app.displayName,
|
currentVersionCode = app.versionCode
|
||||||
currentVersionCode = app.versionCode
|
)
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ import androidx.compose.ui.res.stringResource
|
|||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import com.aurora.extensions.adaptiveNavigationIcon
|
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.MicroG
|
||||||
import com.aurora.store.compose.composable.TopAppBar
|
import com.aurora.store.compose.composable.TopAppBar
|
||||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
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.model.PermissionType
|
||||||
import com.aurora.store.data.providers.PermissionProvider
|
import com.aurora.store.data.providers.PermissionProvider
|
||||||
import com.aurora.store.viewmodel.details.AppDetailsViewModel
|
import com.aurora.store.viewmodel.details.AppDetailsViewModel
|
||||||
@@ -151,10 +152,9 @@ private fun ScreenContent(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview
|
@Preview
|
||||||
@Composable
|
@Composable
|
||||||
private fun MicroGScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
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.Composable
|
||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.platform.LocalLocale
|
||||||
import androidx.compose.ui.res.dimensionResource
|
import androidx.compose.ui.res.dimensionResource
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.text.AnnotatedString
|
import androidx.compose.ui.text.AnnotatedString
|
||||||
import androidx.compose.ui.text.fromHtml
|
import androidx.compose.ui.text.fromHtml
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import com.aurora.extensions.adaptiveNavigationIcon
|
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.TopAppBar
|
||||||
import com.aurora.store.compose.composable.app.AppListItem
|
import com.aurora.store.compose.composable.app.AppListItem
|
||||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
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.AppDetailsViewModel
|
||||||
import com.aurora.store.viewmodel.details.MoreViewModel
|
import com.aurora.store.viewmodel.details.MoreViewModel
|
||||||
import java.util.Locale
|
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun MoreScreen(
|
fun MoreScreen(
|
||||||
@@ -174,10 +175,10 @@ private fun AppInfoMore(app: App) {
|
|||||||
Info(
|
Info(
|
||||||
title = AnnotatedString(
|
title = AnnotatedString(
|
||||||
text = title.replace("_", " ")
|
text = title.replace("_", " ")
|
||||||
.lowercase(Locale.getDefault())
|
.lowercase(LocalLocale.current.platformLocale)
|
||||||
.replaceFirstChar {
|
.replaceFirstChar {
|
||||||
if (it.isLowerCase()) {
|
if (it.isLowerCase()) {
|
||||||
it.titlecase(Locale.getDefault())
|
it.titlecase(LocalLocale.current.platformLocale)
|
||||||
} else {
|
} else {
|
||||||
it.toString()
|
it.toString()
|
||||||
}
|
}
|
||||||
@@ -188,10 +189,9 @@ private fun AppInfoMore(app: App) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview
|
@Preview
|
||||||
@Composable
|
@Composable
|
||||||
private fun MoreScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
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.runtime.getValue
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
|
import androidx.compose.ui.platform.LocalLocale
|
||||||
import androidx.compose.ui.res.dimensionResource
|
import androidx.compose.ui.res.dimensionResource
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.text.AnnotatedString
|
import androidx.compose.ui.text.AnnotatedString
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import com.aurora.extensions.adaptiveNavigationIcon
|
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.Info
|
||||||
import com.aurora.store.compose.composable.TopAppBar
|
import com.aurora.store.compose.composable.TopAppBar
|
||||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
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.AppDetailsViewModel
|
||||||
import com.aurora.store.viewmodel.details.PermissionViewModel
|
import com.aurora.store.viewmodel.details.PermissionViewModel
|
||||||
import java.util.Locale
|
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun PermissionScreen(
|
fun PermissionScreen(
|
||||||
@@ -99,7 +100,7 @@ private fun ScreenContent(
|
|||||||
.toString()
|
.toString()
|
||||||
.replaceFirstChar {
|
.replaceFirstChar {
|
||||||
if (it.isLowerCase()) {
|
if (it.isLowerCase()) {
|
||||||
it.titlecase(Locale.getDefault())
|
it.titlecase(LocalLocale.current.platformLocale)
|
||||||
} else {
|
} else {
|
||||||
it.toString()
|
it.toString()
|
||||||
}
|
}
|
||||||
@@ -115,12 +116,11 @@ private fun ScreenContent(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview
|
@Preview
|
||||||
@Composable
|
@Composable
|
||||||
private fun PermissionScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
private fun PermissionScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||||
PreviewTemplate {
|
ScreenContent(
|
||||||
ScreenContent(
|
topAppBarTitle = app.displayName
|
||||||
topAppBarTitle = app.displayName
|
)
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ import androidx.compose.ui.res.painterResource
|
|||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import androidx.paging.LoadState
|
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.Error
|
||||||
import com.aurora.store.compose.composable.TopAppBar
|
import com.aurora.store.compose.composable.TopAppBar
|
||||||
import com.aurora.store.compose.composable.details.ReviewListItem
|
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.ReviewPreviewProvider
|
||||||
|
import com.aurora.store.compose.preview.ThemePreviewProvider
|
||||||
import com.aurora.store.viewmodel.details.AppDetailsViewModel
|
import com.aurora.store.viewmodel.details.AppDetailsViewModel
|
||||||
import com.aurora.store.viewmodel.details.ReviewViewModel
|
import com.aurora.store.viewmodel.details.ReviewViewModel
|
||||||
import kotlin.random.Random
|
import kotlin.random.Random
|
||||||
@@ -178,13 +179,12 @@ private fun FilterHeader(onClick: (filter: Review.Filter) -> Unit) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview
|
@Preview
|
||||||
@Composable
|
@Composable
|
||||||
private fun ReviewScreenPreview(@PreviewParameter(ReviewPreviewProvider::class) review: Review) {
|
private fun ReviewScreenPreview(@PreviewParameter(ReviewPreviewProvider::class) review: Review) {
|
||||||
PreviewTemplate {
|
val reviews = List(10) { review.copy(commentId = Random.nextInt().toString()) }
|
||||||
val reviews = List(10) { review.copy(commentId = Random.nextInt().toString()) }
|
val reviewsFlow = MutableStateFlow(PagingData.from(reviews)).collectAsLazyPagingItems()
|
||||||
val reviewsFlow = MutableStateFlow(PagingData.from(reviews)).collectAsLazyPagingItems()
|
|
||||||
|
|
||||||
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.platform.LocalContext
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import com.aurora.extensions.adaptiveNavigationIcon
|
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.R
|
||||||
import com.aurora.store.compose.composable.TopAppBar
|
import com.aurora.store.compose.composable.TopAppBar
|
||||||
import com.aurora.store.compose.composable.details.ScreenshotListItem
|
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
|
import com.aurora.store.viewmodel.details.AppDetailsViewModel
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
@@ -92,12 +93,11 @@ private fun ScreenContent(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview
|
@Preview
|
||||||
@Composable
|
@Composable
|
||||||
private fun ScreenshotScreenPreview() {
|
private fun ScreenshotScreenPreview() {
|
||||||
PreviewTemplate {
|
ScreenContent(
|
||||||
ScreenContent(
|
topAppBarTitle = stringResource(R.string.app_name)
|
||||||
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.res.stringResource
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.extensions.isWindowCompact
|
import com.aurora.extensions.isWindowCompact
|
||||||
import com.aurora.store.R
|
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
|
* 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)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun ActionsPreview() {
|
private fun ActionsPreview() {
|
||||||
PreviewTemplate {
|
Column(
|
||||||
Column(
|
verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))
|
||||||
verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))
|
) {
|
||||||
) {
|
Actions(
|
||||||
Actions(
|
primaryActionDisplayName = stringResource(R.string.action_install),
|
||||||
primaryActionDisplayName = stringResource(R.string.action_install),
|
secondaryActionDisplayName = stringResource(R.string.title_manual_download)
|
||||||
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.text.fromHtml
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.gplayapi.data.models.App
|
import com.aurora.gplayapi.data.models.App
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.composable.Header
|
import com.aurora.store.compose.composable.Header
|
||||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
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
|
* 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)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun ChangelogPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
private fun ChangelogPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||||
PreviewTemplate {
|
Column(
|
||||||
Column(
|
verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))
|
||||||
verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))
|
) {
|
||||||
) {
|
Changelog(changelog = app.changes)
|
||||||
Changelog(changelog = app.changes)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,10 +13,11 @@ import androidx.compose.ui.res.painterResource
|
|||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.text.AnnotatedString
|
import androidx.compose.ui.text.AnnotatedString
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.composable.Header
|
import com.aurora.store.compose.composable.Header
|
||||||
import com.aurora.store.compose.composable.Info
|
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.successColor
|
||||||
import com.aurora.store.compose.theme.warningColor
|
import com.aurora.store.compose.theme.warningColor
|
||||||
import com.aurora.store.data.model.Scores
|
import com.aurora.store.data.model.Scores
|
||||||
@@ -76,14 +77,13 @@ fun Compatibility(needsGms: Boolean, plexusScores: Scores? = null) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun CompatibilityPreview() {
|
private fun CompatibilityPreview() {
|
||||||
PreviewTemplate {
|
Column(
|
||||||
Column(
|
verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))
|
||||||
verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))
|
) {
|
||||||
) {
|
Compatibility(needsGms = true)
|
||||||
Compatibility(needsGms = true)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import androidx.compose.ui.res.stringResource
|
|||||||
import androidx.compose.ui.text.AnnotatedString
|
import androidx.compose.ui.text.AnnotatedString
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.extensions.browse
|
import com.aurora.extensions.browse
|
||||||
import com.aurora.gplayapi.data.models.App
|
import com.aurora.gplayapi.data.models.App
|
||||||
import com.aurora.gplayapi.data.models.datasafety.Entry
|
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.Header
|
||||||
import com.aurora.store.compose.composable.Info
|
import com.aurora.store.compose.composable.Info
|
||||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
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
|
* 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)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun DataSafetyPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
private fun DataSafetyPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||||
PreviewTemplate {
|
Column(
|
||||||
Column(
|
verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))
|
||||||
verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))
|
) {
|
||||||
) {
|
DataSafety(
|
||||||
DataSafety(
|
privacyPolicyUrl = app.privacyPolicyUrl,
|
||||||
privacyPolicyUrl = app.privacyPolicyUrl,
|
report = Report(
|
||||||
report = Report(
|
packageName = app.packageName,
|
||||||
packageName = app.packageName,
|
entries = listOf(
|
||||||
entries = listOf(
|
Entry(
|
||||||
Entry(
|
type = EntryType.DATA_COLLECTED,
|
||||||
type = EntryType.DATA_COLLECTED,
|
name = String(),
|
||||||
name = String(),
|
description = String()
|
||||||
description = String()
|
),
|
||||||
),
|
Entry(
|
||||||
Entry(
|
type = EntryType.DATA_SHARED,
|
||||||
type = EntryType.DATA_SHARED,
|
name = String(),
|
||||||
name = String(),
|
description = String()
|
||||||
description = String()
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,12 +32,13 @@ import androidx.compose.ui.text.buildAnnotatedString
|
|||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.compose.ui.unit.LayoutDirection
|
import androidx.compose.ui.unit.LayoutDirection
|
||||||
import com.aurora.gplayapi.data.models.App
|
import com.aurora.gplayapi.data.models.App
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.composable.app.AnimatedAppIcon
|
import com.aurora.store.compose.composable.app.AnimatedAppIcon
|
||||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
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.data.model.AppState
|
||||||
import com.aurora.store.util.CommonUtil
|
import com.aurora.store.util.CommonUtil
|
||||||
import com.aurora.store.util.PackageUtil
|
import com.aurora.store.util.PackageUtil
|
||||||
@@ -156,14 +157,13 @@ fun Details(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun DetailsPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
private fun DetailsPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||||
PreviewTemplate {
|
Column(
|
||||||
Column(
|
verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))
|
||||||
verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))
|
) {
|
||||||
) {
|
Details(app = app)
|
||||||
Details(app = app)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import androidx.compose.ui.text.AnnotatedString
|
|||||||
import androidx.compose.ui.text.fromHtml
|
import androidx.compose.ui.text.fromHtml
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.extensions.browse
|
import com.aurora.extensions.browse
|
||||||
import com.aurora.extensions.copyToClipBoard
|
import com.aurora.extensions.copyToClipBoard
|
||||||
import com.aurora.extensions.mailTo
|
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.Header
|
||||||
import com.aurora.store.compose.composable.Info
|
import com.aurora.store.compose.composable.Info
|
||||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
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
|
* 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)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun DeveloperDetailsPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
private fun DeveloperDetailsPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||||
PreviewTemplate {
|
Column(
|
||||||
Column(
|
verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))
|
||||||
verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))
|
) {
|
||||||
) {
|
DeveloperDetails(
|
||||||
DeveloperDetails(
|
address = app.developerAddress,
|
||||||
address = app.developerAddress,
|
website = app.developerWebsite,
|
||||||
website = app.developerWebsite,
|
email = app.developerEmail
|
||||||
email = app.developerEmail
|
)
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,10 +13,11 @@ import androidx.compose.ui.res.painterResource
|
|||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.text.AnnotatedString
|
import androidx.compose.ui.text.AnnotatedString
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.composable.Header
|
import com.aurora.store.compose.composable.Header
|
||||||
import com.aurora.store.compose.composable.Info
|
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.successColor
|
||||||
import com.aurora.store.compose.theme.warningColor
|
import com.aurora.store.compose.theme.warningColor
|
||||||
import com.aurora.store.data.model.Report
|
import com.aurora.store.data.model.Report
|
||||||
@@ -58,14 +59,13 @@ fun Privacy(report: Report?, onNavigateToDetailsExodus: (() -> Unit)? = null) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun PrivacyPreview() {
|
private fun PrivacyPreview() {
|
||||||
PreviewTemplate {
|
Column(
|
||||||
Column(
|
verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))
|
||||||
verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))
|
) {
|
||||||
) {
|
Privacy(report = Report(), onNavigateToDetailsExodus = {})
|
||||||
Privacy(report = Report(), onNavigateToDetailsExodus = {})
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,11 +25,13 @@ import androidx.compose.runtime.Composable
|
|||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
|
import androidx.compose.ui.platform.LocalLocale
|
||||||
import androidx.compose.ui.res.dimensionResource
|
import androidx.compose.ui.res.dimensionResource
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.compose.ui.tooling.preview.datasource.LoremIpsum
|
import androidx.compose.ui.tooling.preview.datasource.LoremIpsum
|
||||||
import androidx.compose.ui.util.fastForEach
|
import androidx.compose.ui.util.fastForEach
|
||||||
import com.aurora.extensions.isWindowCompact
|
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.RatingListItem
|
||||||
import com.aurora.store.compose.composable.details.ReviewListItem
|
import com.aurora.store.compose.composable.details.ReviewListItem
|
||||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
import com.aurora.store.compose.preview.AppPreviewProvider
|
||||||
import com.aurora.store.compose.preview.PreviewTemplate
|
import com.aurora.store.compose.preview.ThemePreviewProvider
|
||||||
import java.util.Locale
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Composable to display reviews of the app, supposed to be used as a part
|
* Composable to display reviews of the app, supposed to be used as a part
|
||||||
@@ -72,11 +73,11 @@ fun RatingAndReviews(
|
|||||||
|
|
||||||
val avgRating = when {
|
val avgRating = when {
|
||||||
windowAdaptiveInfo.isWindowCompact -> {
|
windowAdaptiveInfo.isWindowCompact -> {
|
||||||
String.format(Locale.getDefault(), "%.1f", rating.average)
|
String.format(LocalLocale.current.platformLocale, "%.1f", rating.average)
|
||||||
}
|
}
|
||||||
|
|
||||||
else -> {
|
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)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun RatingAndReviewsPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
private fun RatingAndReviewsPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||||
@@ -153,11 +155,9 @@ private fun RatingAndReviewsPreview(@PreviewParameter(AppPreviewProvider::class)
|
|||||||
comment = LoremIpsum(40).values.first()
|
comment = LoremIpsum(40).values.first()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
PreviewTemplate {
|
Column(
|
||||||
Column(
|
verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))
|
||||||
verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))
|
) {
|
||||||
) {
|
RatingAndReviews(rating = app.rating, featuredReviews = reviews)
|
||||||
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.res.dimensionResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.gplayapi.data.models.App
|
import com.aurora.gplayapi.data.models.App
|
||||||
import com.aurora.gplayapi.data.models.Artwork
|
import com.aurora.gplayapi.data.models.Artwork
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.composable.details.ScreenshotListItem
|
import com.aurora.store.compose.composable.details.ScreenshotListItem
|
||||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
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
|
* 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)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun ScreenshotsPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
private fun ScreenshotsPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||||
PreviewTemplate {
|
Column(
|
||||||
Column(
|
verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))
|
||||||
verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))
|
) {
|
||||||
) {
|
Screenshots(screenshots = app.screenshots)
|
||||||
Screenshots(screenshots = app.screenshots)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,11 +17,12 @@ import androidx.compose.ui.res.painterResource
|
|||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.gplayapi.data.models.App
|
import com.aurora.gplayapi.data.models.App
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.composable.app.TagListItem
|
import com.aurora.store.compose.composable.app.TagListItem
|
||||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
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
|
import com.aurora.store.util.CommonUtil
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -68,14 +69,13 @@ fun Tags(app: App) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun TagsPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
private fun TagsPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||||
PreviewTemplate {
|
Column(
|
||||||
Column(
|
verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))
|
||||||
verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))
|
) {
|
||||||
) {
|
Tags(app = app)
|
||||||
Tags(app = app)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,12 +21,13 @@ import androidx.compose.ui.text.AnnotatedString
|
|||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.gplayapi.data.models.App
|
import com.aurora.gplayapi.data.models.App
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.composable.Header
|
import com.aurora.store.compose.composable.Header
|
||||||
import com.aurora.store.compose.composable.Info
|
import com.aurora.store.compose.composable.Info
|
||||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
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
|
* 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)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun TestingPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
private fun TestingPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||||
PreviewTemplate {
|
Column(
|
||||||
Column(
|
verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))
|
||||||
verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))
|
) {
|
||||||
) {
|
Testing(isSubscribed = app.testingProgram!!.isSubscribed)
|
||||||
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.painterResource
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.composable.TopAppBar
|
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
|
import com.aurora.store.data.model.AppState
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -90,14 +91,13 @@ fun AppDetailsMenu(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun AppDetailsMenuPreview() {
|
private fun AppDetailsMenuPreview() {
|
||||||
PreviewTemplate {
|
TopAppBar(
|
||||||
TopAppBar(
|
actions = {
|
||||||
actions = {
|
AppDetailsMenu(isFavorite = true, isExpanded = true)
|
||||||
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.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
||||||
import androidx.paging.LoadState
|
import androidx.paging.LoadState
|
||||||
import androidx.paging.PagingData
|
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.TopAppBar
|
||||||
import com.aurora.store.compose.composable.app.LargeAppListItem
|
import com.aurora.store.compose.composable.app.LargeAppListItem
|
||||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
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.details.DevProfileViewModel
|
||||||
import com.aurora.store.viewmodel.search.SearchViewModel
|
import com.aurora.store.viewmodel.search.SearchViewModel
|
||||||
import kotlin.random.Random
|
import kotlin.random.Random
|
||||||
@@ -125,16 +126,15 @@ private fun ScreenContent(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview
|
@Preview
|
||||||
@Composable
|
@Composable
|
||||||
private fun DevProfileScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
private fun DevProfileScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||||
PreviewTemplate {
|
val apps = List(10) { app.copy(id = Random.nextInt()) }
|
||||||
val apps = List(10) { app.copy(id = Random.nextInt()) }
|
val pagedApps = MutableStateFlow(PagingData.from(apps)).collectAsLazyPagingItems()
|
||||||
val pagedApps = MutableStateFlow(PagingData.from(apps)).collectAsLazyPagingItems()
|
|
||||||
|
|
||||||
ScreenContent(
|
ScreenContent(
|
||||||
topAppBarTitle = app.developerName,
|
topAppBarTitle = app.developerName,
|
||||||
apps = pagedApps
|
apps = pagedApps
|
||||||
)
|
)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import androidx.compose.ui.res.dimensionResource
|
|||||||
import androidx.compose.ui.res.painterResource
|
import androidx.compose.ui.res.painterResource
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import com.aurora.extensions.copyToClipBoard
|
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.DispenserListItem
|
||||||
import com.aurora.store.compose.composable.Error
|
import com.aurora.store.compose.composable.Error
|
||||||
import com.aurora.store.compose.composable.TopAppBar
|
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
|
import com.aurora.store.viewmodel.dispenser.DispenserViewModel
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
@@ -122,19 +123,17 @@ private fun ScreenContent(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview
|
@Preview
|
||||||
@Composable
|
@Composable
|
||||||
private fun DispenserScreenPreview() {
|
private fun DispenserScreenPreview() {
|
||||||
val dispensers = List(10) { "https://auroraoss.com/api/auth/$it" }
|
val dispensers = List(10) { "https://auroraoss.com/api/auth/$it" }
|
||||||
PreviewTemplate {
|
ScreenContent(dispensers = dispensers.toSet())
|
||||||
ScreenContent(dispensers = dispensers.toSet())
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview
|
@Preview
|
||||||
@Composable
|
@Composable
|
||||||
private fun DispenserScreenEmptyPreview() {
|
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.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
||||||
import androidx.paging.LoadState
|
import androidx.paging.LoadState
|
||||||
import androidx.paging.PagingData
|
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.Error
|
||||||
import com.aurora.store.compose.composable.TopAppBar
|
import com.aurora.store.compose.composable.TopAppBar
|
||||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
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.DownloadsMenu
|
||||||
import com.aurora.store.compose.ui.downloads.menu.MenuItem
|
import com.aurora.store.compose.ui.downloads.menu.MenuItem
|
||||||
import com.aurora.store.data.model.DownloadStatus
|
import com.aurora.store.data.model.DownloadStatus
|
||||||
@@ -177,17 +178,16 @@ private fun ScreenContent(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview
|
@Preview
|
||||||
@Composable
|
@Composable
|
||||||
private fun DownloadsScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
private fun DownloadsScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||||
PreviewTemplate {
|
val downloads = List(10) {
|
||||||
val downloads = List(10) {
|
Download.fromApp(app).copy(
|
||||||
Download.fromApp(app).copy(
|
packageName = Random.nextInt().toString(),
|
||||||
packageName = Random.nextInt().toString(),
|
status = DownloadStatus.entries.random()
|
||||||
status = DownloadStatus.entries.random()
|
)
|
||||||
)
|
|
||||||
}
|
|
||||||
val pagedDownloads = MutableStateFlow(PagingData.from(downloads)).collectAsLazyPagingItems()
|
|
||||||
ScreenContent(downloads = pagedDownloads)
|
|
||||||
}
|
}
|
||||||
|
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.painterResource
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.preview.PreviewTemplate
|
import com.aurora.store.compose.preview.ThemePreviewProvider
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Menu for the blacklist screen
|
* Menu for the blacklist screen
|
||||||
@@ -65,10 +66,9 @@ fun DownloadsMenu(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun DownloadsMenuPreview() {
|
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.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
||||||
import androidx.paging.LoadState
|
import androidx.paging.LoadState
|
||||||
import androidx.paging.PagingData
|
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.FavouriteListItem
|
||||||
import com.aurora.store.compose.composable.TopAppBar
|
import com.aurora.store.compose.composable.TopAppBar
|
||||||
import com.aurora.store.compose.preview.FavouritePreviewProvider
|
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.FavouriteMenu
|
||||||
import com.aurora.store.compose.ui.favourite.menu.MenuItem
|
import com.aurora.store.compose.ui.favourite.menu.MenuItem
|
||||||
import com.aurora.store.data.room.favourite.Favourite
|
import com.aurora.store.data.room.favourite.Favourite
|
||||||
@@ -176,17 +177,16 @@ private fun ScreenContent(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview
|
@Preview
|
||||||
@Composable
|
@Composable
|
||||||
private fun FavouriteScreenPreview(
|
private fun FavouriteScreenPreview(
|
||||||
@PreviewParameter(FavouritePreviewProvider::class) favourite: Favourite
|
@PreviewParameter(FavouritePreviewProvider::class) favourite: Favourite
|
||||||
) {
|
) {
|
||||||
PreviewTemplate {
|
val favourites = List(10) {
|
||||||
val favourites = List(10) {
|
favourite.copy(packageName = "${favourite.packageName}.${Random.nextInt()}")
|
||||||
favourite.copy(packageName = "${favourite.packageName}.${Random.nextInt()}")
|
|
||||||
}
|
|
||||||
val flow = MutableStateFlow(PagingData.from(favourites)).collectAsLazyPagingItems()
|
|
||||||
|
|
||||||
ScreenContent(favourites = flow)
|
|
||||||
}
|
}
|
||||||
|
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.painterResource
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.preview.PreviewTemplate
|
import com.aurora.store.compose.preview.ThemePreviewProvider
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Menu for the favourite screen
|
* Menu for the favourite screen
|
||||||
@@ -61,10 +62,9 @@ fun FavouriteMenu(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun FavouriteMenuPreview() {
|
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.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
||||||
import androidx.paging.LoadState
|
import androidx.paging.LoadState
|
||||||
import androidx.paging.PagingData
|
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.TopAppBar
|
||||||
import com.aurora.store.compose.composable.app.LargeAppListItem
|
import com.aurora.store.compose.composable.app.LargeAppListItem
|
||||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
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 com.aurora.store.viewmodel.all.InstalledViewModel
|
||||||
import kotlin.random.Random
|
import kotlin.random.Random
|
||||||
import kotlinx.coroutines.flow.MutableStateFlow
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
@@ -116,12 +117,11 @@ private fun ScreenContent(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview
|
@Preview
|
||||||
@Composable
|
@Composable
|
||||||
private fun InstalledScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
private fun InstalledScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||||
PreviewTemplate {
|
val apps = List(15) { app.copy(packageName = Random.nextInt().toString()) }
|
||||||
val apps = List(15) { app.copy(packageName = Random.nextInt().toString()) }
|
val pagedApps = MutableStateFlow(PagingData.from(apps)).collectAsLazyPagingItems()
|
||||||
val pagedApps = MutableStateFlow(PagingData.from(apps)).collectAsLazyPagingItems()
|
ScreenContent(apps = pagedApps)
|
||||||
ScreenContent(apps = pagedApps)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,11 +20,12 @@ import androidx.compose.ui.res.dimensionResource
|
|||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
||||||
import com.aurora.extensions.toast
|
import com.aurora.extensions.toast
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.composable.MicroG
|
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.model.PermissionType
|
||||||
import com.aurora.store.data.providers.PermissionProvider
|
import com.aurora.store.data.providers.PermissionProvider
|
||||||
import com.aurora.store.viewmodel.onboarding.MicroGUIState
|
import com.aurora.store.viewmodel.onboarding.MicroGUIState
|
||||||
@@ -90,12 +91,11 @@ private fun ScreenContent(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun MicroGPagePreview() {
|
private fun MicroGPagePreview() {
|
||||||
PreviewTemplate {
|
ScreenContent(
|
||||||
ScreenContent(
|
uiState = MicroGUIState()
|
||||||
uiState = MicroGUIState()
|
)
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,13 +30,14 @@ import androidx.compose.ui.res.dimensionResource
|
|||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
||||||
import com.aurora.extensions.isWindowCompact
|
import com.aurora.extensions.isWindowCompact
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.composable.Logo
|
import com.aurora.store.compose.composable.Logo
|
||||||
import com.aurora.store.compose.composable.PageIndicator
|
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.compose.ui.onboarding.navigation.OnboardingPage
|
||||||
import com.aurora.store.viewmodel.onboarding.OnboardingUiState
|
import com.aurora.store.viewmodel.onboarding.OnboardingUiState
|
||||||
import com.aurora.store.viewmodel.onboarding.OnboardingViewModel
|
import com.aurora.store.viewmodel.onboarding.OnboardingViewModel
|
||||||
@@ -198,14 +199,13 @@ private fun ScreenContent(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview
|
@Preview
|
||||||
@Composable
|
@Composable
|
||||||
private fun OnboardingScreenPreview() {
|
private fun OnboardingScreenPreview() {
|
||||||
PreviewTemplate {
|
ScreenContent(
|
||||||
ScreenContent(
|
pages = listOf(OnboardingPage.WELCOME, OnboardingPage.PERMISSIONS),
|
||||||
pages = listOf(OnboardingPage.WELCOME, OnboardingPage.PERMISSIONS),
|
uiState = OnboardingUiState(),
|
||||||
uiState = OnboardingUiState(),
|
onMicrogTOSChecked = {}
|
||||||
onMicrogTOSChecked = {}
|
)
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,12 +18,13 @@ import androidx.compose.ui.res.dimensionResource
|
|||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.compose.ui.tooling.preview.datasource.LoremIpsum
|
import androidx.compose.ui.tooling.preview.datasource.LoremIpsum
|
||||||
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.composable.PermissionList
|
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.Permission
|
||||||
import com.aurora.store.data.model.PermissionType
|
import com.aurora.store.data.model.PermissionType
|
||||||
import com.aurora.store.viewmodel.commons.PermissionRationaleViewModel
|
import com.aurora.store.viewmodel.commons.PermissionRationaleViewModel
|
||||||
@@ -71,6 +72,7 @@ private fun PageContent(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun PermissionsPagePreview() {
|
private fun PermissionsPagePreview() {
|
||||||
@@ -83,9 +85,7 @@ private fun PermissionsPagePreview() {
|
|||||||
isGranted = Random.nextBoolean()
|
isGranted = Random.nextBoolean()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
PreviewTemplate {
|
PageContent(
|
||||||
PageContent(
|
permissions = permissions
|
||||||
permissions = permissions
|
)
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,10 +27,11 @@ import androidx.compose.ui.res.dimensionResource
|
|||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.extensions.browse
|
import com.aurora.extensions.browse
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.composable.LinkListItem
|
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.compose.ui.about.AboutDialog
|
||||||
import com.aurora.store.data.model.Link
|
import com.aurora.store.data.model.Link
|
||||||
|
|
||||||
@@ -135,10 +136,9 @@ private fun PageContent(onAboutAurora: () -> Unit = {}) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun WelcomePagePreview() {
|
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.dimensionResource
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.composable.InstallerListItem
|
import com.aurora.store.compose.composable.InstallerListItem
|
||||||
import com.aurora.store.compose.composable.TopAppBar
|
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.AppInstaller
|
||||||
import com.aurora.store.data.installer.SessionInstaller
|
import com.aurora.store.data.installer.SessionInstaller
|
||||||
import com.aurora.store.data.model.Installer
|
import com.aurora.store.data.model.Installer
|
||||||
@@ -91,12 +92,11 @@ private fun ScreenContent(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview
|
@Preview
|
||||||
@Composable
|
@Composable
|
||||||
private fun InstallerScreenPreview() {
|
private fun InstallerScreenPreview() {
|
||||||
PreviewTemplate {
|
ScreenContent(
|
||||||
ScreenContent(
|
availableInstallers = listOf(SessionInstaller.installerInfo)
|
||||||
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.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
import androidx.compose.ui.tooling.preview.PreviewScreenSizes
|
import androidx.compose.ui.tooling.preview.PreviewScreenSizes
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import androidx.paging.LoadState
|
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.SearchSuggestionListItem
|
||||||
import com.aurora.store.compose.composable.app.LargeAppListItem
|
import com.aurora.store.compose.composable.app.LargeAppListItem
|
||||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
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.compose.ui.details.AppDetailsScreen
|
||||||
import com.aurora.store.data.model.SearchFilter
|
import com.aurora.store.data.model.SearchFilter
|
||||||
import com.aurora.store.viewmodel.search.SearchViewModel
|
import com.aurora.store.viewmodel.search.SearchViewModel
|
||||||
@@ -439,12 +440,11 @@ private fun FilterHeader(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@PreviewScreenSizes
|
@PreviewScreenSizes
|
||||||
@Composable
|
@Composable
|
||||||
private fun SearchScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
private fun SearchScreenPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||||
PreviewTemplate {
|
val apps = List(10) { app.copy(id = Random.nextInt()) }
|
||||||
val apps = List(10) { app.copy(id = Random.nextInt()) }
|
val results = MutableStateFlow(PagingData.from(apps)).collectAsLazyPagingItems()
|
||||||
val results = MutableStateFlow(PagingData.from(apps)).collectAsLazyPagingItems()
|
ScreenContent(results = results)
|
||||||
ScreenContent(results = results)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,12 +17,13 @@ import androidx.compose.ui.Modifier
|
|||||||
import androidx.compose.ui.res.dimensionResource
|
import androidx.compose.ui.res.dimensionResource
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.composable.DeviceListItem
|
import com.aurora.store.compose.composable.DeviceListItem
|
||||||
import com.aurora.store.compose.composable.TextDividerComposable
|
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 com.aurora.store.viewmodel.spoof.SpoofViewModel
|
||||||
import java.util.Properties
|
import java.util.Properties
|
||||||
import kotlin.random.Random
|
import kotlin.random.Random
|
||||||
@@ -94,6 +95,7 @@ private fun PageContent(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun DevicePagePreview() {
|
private fun DevicePagePreview() {
|
||||||
@@ -105,12 +107,10 @@ private fun DevicePagePreview() {
|
|||||||
setProperty("Build.PRODUCT", Random.nextInt().toString())
|
setProperty("Build.PRODUCT", Random.nextInt().toString())
|
||||||
}
|
}
|
||||||
|
|
||||||
PreviewTemplate {
|
val defaultDevice = getDevice()
|
||||||
val defaultDevice = getDevice()
|
PageContent(
|
||||||
PageContent(
|
defaultDevice = defaultDevice,
|
||||||
defaultDevice = defaultDevice,
|
devices = List(10) { getDevice() },
|
||||||
devices = List(10) { getDevice() },
|
isDeviceSelected = { device -> defaultDevice == device }
|
||||||
isDeviceSelected = { device -> defaultDevice == device }
|
)
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,12 +17,13 @@ import androidx.compose.ui.Modifier
|
|||||||
import androidx.compose.ui.res.dimensionResource
|
import androidx.compose.ui.res.dimensionResource
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.composable.LocaleListItem
|
import com.aurora.store.compose.composable.LocaleListItem
|
||||||
import com.aurora.store.compose.composable.TextDividerComposable
|
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 com.aurora.store.viewmodel.spoof.SpoofViewModel
|
||||||
import java.util.Locale
|
import java.util.Locale
|
||||||
|
|
||||||
@@ -89,13 +90,12 @@ private fun PageContent(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun LocalePagePreview() {
|
private fun LocalePagePreview() {
|
||||||
PreviewTemplate {
|
PageContent(
|
||||||
PageContent(
|
locales = Locale.getAvailableLocales().toList().filter { it.displayName.isNotBlank() },
|
||||||
locales = Locale.getAvailableLocales().toList().filter { it.displayName.isNotBlank() },
|
isLocaleSelected = { locale -> locale == Locale.getDefault() }
|
||||||
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.painterResource
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
|
import androidx.compose.ui.tooling.preview.PreviewWrapper
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.compose.preview.PreviewTemplate
|
import com.aurora.store.compose.preview.ThemePreviewProvider
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Menu for the blacklist screen
|
* Menu for the blacklist screen
|
||||||
@@ -61,10 +62,9 @@ fun SpoofMenu(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreviewWrapper(ThemePreviewProvider::class)
|
||||||
@Preview(showBackground = true)
|
@Preview(showBackground = true)
|
||||||
@Composable
|
@Composable
|
||||||
private fun SpoofMenuPreview() {
|
private fun SpoofMenuPreview() {
|
||||||
PreviewTemplate {
|
SpoofMenu(isExpanded = true)
|
||||||
SpoofMenu(isExpanded = true)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user