compose: Rename composables to better reflect the use case
Add ListItem suffix instead of Composable wherever applicable, strip others Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
@@ -11,8 +11,8 @@ import androidx.activity.compose.setContent
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.compose.runtime.CompositionLocalProvider
|
||||
import androidx.core.content.IntentCompat
|
||||
import com.aurora.store.compose.compositions.UI
|
||||
import com.aurora.store.compose.compositions.LocalUI
|
||||
import com.aurora.store.compose.composition.UI
|
||||
import com.aurora.store.compose.composition.LocalUI
|
||||
import com.aurora.store.compose.navigation.NavDisplay
|
||||
import com.aurora.store.compose.navigation.Screen
|
||||
import com.aurora.store.compose.theme.AuroraTheme
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
package com.aurora.store.compose.composables
|
||||
package com.aurora.store.compose.composable
|
||||
|
||||
import android.graphics.Bitmap
|
||||
import android.graphics.Color
|
||||
@@ -45,7 +45,7 @@ import com.aurora.store.R
|
||||
* @param onClick Callback when the composable is clicked
|
||||
*/
|
||||
@Composable
|
||||
fun BlackListComposable(
|
||||
fun BlackListItem(
|
||||
modifier: Modifier = Modifier,
|
||||
icon: Bitmap,
|
||||
displayName: String,
|
||||
@@ -102,8 +102,8 @@ fun BlackListComposable(
|
||||
|
||||
@Preview(showBackground = true)
|
||||
@Composable
|
||||
private fun BlackListComposablePreview() {
|
||||
BlackListComposable(
|
||||
private fun BlackListItemPreview() {
|
||||
BlackListItem(
|
||||
icon = Color.GRAY.toDrawable().toBitmap(56, 56),
|
||||
displayName = LocalContext.current.getString(R.string.app_name),
|
||||
packageName = BuildConfig.APPLICATION_ID,
|
||||
@@ -3,7 +3,7 @@
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
package com.aurora.store.compose.composables
|
||||
package com.aurora.store.compose.composable
|
||||
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
@@ -18,11 +18,11 @@ import androidx.compose.ui.tooling.preview.Preview
|
||||
import com.aurora.store.R
|
||||
|
||||
/**
|
||||
* Composable to display an indeterminate circular progress indicator
|
||||
* Composable to display an indeterminate loading indicator that fills all available screen
|
||||
* @param modifier The modifier to be applied to the composable
|
||||
*/
|
||||
@Composable
|
||||
fun ProgressComposable(modifier: Modifier = Modifier) {
|
||||
fun ContainedLoadingIndicator(modifier: Modifier = Modifier) {
|
||||
Box(
|
||||
modifier = modifier
|
||||
.fillMaxSize()
|
||||
@@ -37,6 +37,6 @@ fun ProgressComposable(modifier: Modifier = Modifier) {
|
||||
|
||||
@Preview(showBackground = true)
|
||||
@Composable
|
||||
private fun ProgressComposablePreview() {
|
||||
ProgressComposable()
|
||||
private fun ContainedLoadingIndicatorPreview() {
|
||||
ContainedLoadingIndicator()
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
package com.aurora.store.compose.composables
|
||||
package com.aurora.store.compose.composable
|
||||
|
||||
import android.text.format.DateUtils
|
||||
import android.text.format.Formatter
|
||||
@@ -51,7 +51,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
import coil3.compose.LocalAsyncImagePreviewHandler
|
||||
import com.aurora.gplayapi.data.models.App
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.compose.composables.app.AnimatedAppIconComposable
|
||||
import com.aurora.store.compose.composable.app.AnimatedAppIcon
|
||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
||||
import com.aurora.store.compose.preview.coilPreviewProvider
|
||||
import com.aurora.store.data.model.DownloadStatus
|
||||
@@ -68,7 +68,7 @@ import java.util.Date
|
||||
* @param onClick Callback when this composable is clicked
|
||||
*/
|
||||
@Composable
|
||||
fun DownloadComposable(
|
||||
fun DownloadListItem(
|
||||
modifier: Modifier = Modifier,
|
||||
download: Download,
|
||||
onClick: () -> Unit = {},
|
||||
@@ -101,7 +101,7 @@ fun DownloadComposable(
|
||||
horizontalArrangement = Arrangement.SpaceBetween
|
||||
) {
|
||||
Row(modifier = Modifier.weight(1F),) {
|
||||
AnimatedAppIconComposable(
|
||||
AnimatedAppIcon(
|
||||
modifier = Modifier.requiredSize(dimensionResource(R.dimen.icon_size_medium)),
|
||||
iconUrl = download.iconURL,
|
||||
inProgress = download.isRunning,
|
||||
@@ -242,8 +242,8 @@ fun DownloadComposable(
|
||||
|
||||
@Preview(showBackground = true)
|
||||
@Composable
|
||||
private fun DownloadComposablePreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||
private fun DownloadListItemPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
|
||||
DownloadComposable(download = Download.fromApp(app))
|
||||
DownloadListItem(download = Download.fromApp(app))
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
package com.aurora.store.compose.composables
|
||||
package com.aurora.store.compose.composable
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Column
|
||||
@@ -27,7 +27,7 @@ import androidx.compose.ui.tooling.preview.Preview
|
||||
import com.aurora.store.R
|
||||
|
||||
/**
|
||||
* Composable to show error message when no apps are available for a request
|
||||
* Composable to show error message that fills all available screen
|
||||
* @param modifier The modifier to be applied to the composable
|
||||
* @param painter Painter to draw the icon
|
||||
* @param message Message for error
|
||||
@@ -35,7 +35,7 @@ import com.aurora.store.R
|
||||
* @param onAction Callback when action button is clicked
|
||||
*/
|
||||
@Composable
|
||||
fun ErrorComposable(
|
||||
fun Error(
|
||||
modifier: Modifier = Modifier,
|
||||
painter: Painter,
|
||||
message: String,
|
||||
@@ -77,8 +77,8 @@ fun ErrorComposable(
|
||||
|
||||
@Preview(showBackground = true)
|
||||
@Composable
|
||||
private fun ErrorComposablePreview() {
|
||||
ErrorComposable(
|
||||
private fun ErrorPreview() {
|
||||
Error(
|
||||
painter = painterResource(R.drawable.ic_updates),
|
||||
message = stringResource(R.string.details_no_updates),
|
||||
actionMessage = stringResource(R.string.check_updates)
|
||||
@@ -3,7 +3,7 @@
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
package com.aurora.store.compose.composables
|
||||
package com.aurora.store.compose.composable
|
||||
|
||||
import android.text.format.DateUtils
|
||||
import androidx.compose.animation.AnimatedVisibility
|
||||
@@ -59,7 +59,7 @@ import kotlinx.coroutines.launch
|
||||
* @param onClear Callback when the favourite button is clicked to remove the app from favourites
|
||||
*/
|
||||
@Composable
|
||||
fun FavouriteComposable(
|
||||
fun FavouriteListItem(
|
||||
modifier: Modifier = Modifier,
|
||||
favourite: Favourite,
|
||||
onClick: () -> Unit = {},
|
||||
@@ -140,8 +140,8 @@ fun FavouriteComposable(
|
||||
|
||||
@Preview(showBackground = true)
|
||||
@Composable
|
||||
private fun FavouriteComposablePreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||
private fun FavouriteListItemPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
|
||||
FavouriteComposable(favourite = Favourite.fromApp(app, Favourite.Mode.MANUAL))
|
||||
FavouriteListItem(favourite = Favourite.fromApp(app, Favourite.Mode.MANUAL))
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
package com.aurora.store.compose.composables
|
||||
package com.aurora.store.compose.composable
|
||||
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
@@ -35,7 +35,7 @@ import com.aurora.store.R
|
||||
* @see TextDividerComposable
|
||||
*/
|
||||
@Composable
|
||||
fun HeaderComposable(
|
||||
fun Header(
|
||||
modifier: Modifier = Modifier,
|
||||
title: String,
|
||||
subtitle: String? = null,
|
||||
@@ -81,8 +81,8 @@ fun HeaderComposable(
|
||||
|
||||
@Preview(showBackground = true)
|
||||
@Composable
|
||||
private fun HeaderComposablePreview() {
|
||||
HeaderComposable(
|
||||
private fun HeaderPreview() {
|
||||
Header(
|
||||
title = stringResource(R.string.details_privacy),
|
||||
subtitle = stringResource(R.string.exodus_powered),
|
||||
onClick = {}
|
||||
@@ -3,7 +3,7 @@
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
package com.aurora.store.compose.composables
|
||||
package com.aurora.store.compose.composable
|
||||
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
@@ -39,7 +39,7 @@ import com.aurora.store.compose.preview.AppPreviewProvider
|
||||
* @param onClick Callback when this composable is clicked
|
||||
*/
|
||||
@Composable
|
||||
fun InfoComposable(
|
||||
fun Info(
|
||||
modifier: Modifier = Modifier,
|
||||
title: AnnotatedString,
|
||||
description: AnnotatedString? = null,
|
||||
@@ -78,8 +78,8 @@ fun InfoComposable(
|
||||
|
||||
@Preview(showBackground = true)
|
||||
@Composable
|
||||
private fun InfoComposablePreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||
InfoComposable(
|
||||
private fun InfoPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||
Info(
|
||||
title = AnnotatedString(text = stringResource(R.string.details_dev_website)),
|
||||
description = AnnotatedString.fromHtml(htmlString = app.developerWebsite),
|
||||
painter = painterResource(R.drawable.ic_network)
|
||||
@@ -3,7 +3,7 @@
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
package com.aurora.store.compose.composables
|
||||
package com.aurora.store.compose.composable
|
||||
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
@@ -39,7 +39,7 @@ import com.aurora.store.data.model.Link
|
||||
* @param onClick Callback when the composable is clicked
|
||||
*/
|
||||
@Composable
|
||||
fun LinkComposable(modifier: Modifier = Modifier, link: Link, onClick: () -> Unit = {}) {
|
||||
fun LinkListItem(modifier: Modifier = Modifier, link: Link, onClick: () -> Unit = {}) {
|
||||
Row(
|
||||
modifier = modifier
|
||||
.fillMaxWidth()
|
||||
@@ -83,8 +83,8 @@ fun LinkComposable(modifier: Modifier = Modifier, link: Link, onClick: () -> Uni
|
||||
|
||||
@Preview(showBackground = true)
|
||||
@Composable
|
||||
private fun LinkComposablePreview() {
|
||||
LinkComposable(
|
||||
private fun LinkListItemPreview() {
|
||||
LinkListItem(
|
||||
link = Link(
|
||||
id = 0,
|
||||
title = LocalContext.current.getString(R.string.title_about),
|
||||
@@ -3,7 +3,7 @@
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
package com.aurora.store.compose.composables
|
||||
package com.aurora.store.compose.composable
|
||||
|
||||
import androidx.compose.animation.animateColorAsState
|
||||
import androidx.compose.animation.core.animateDpAsState
|
||||
@@ -33,7 +33,7 @@ import com.aurora.store.R
|
||||
* @param currentPage Currently displayed page number
|
||||
*/
|
||||
@Composable
|
||||
fun PageIndicatorComposable(modifier: Modifier = Modifier, totalPages: Int, currentPage: Int = 0) {
|
||||
fun PageIndicator(modifier: Modifier = Modifier, totalPages: Int, currentPage: Int = 0) {
|
||||
Row(
|
||||
modifier = modifier.fillMaxWidth(),
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
@@ -73,6 +73,6 @@ fun PageIndicatorComposable(modifier: Modifier = Modifier, totalPages: Int, curr
|
||||
|
||||
@Preview(showBackground = true)
|
||||
@Composable
|
||||
private fun PageIndicatorComposablePreview() {
|
||||
PageIndicatorComposable(totalPages = 5)
|
||||
private fun PageIndicatorPreview() {
|
||||
PageIndicator(totalPages = 5)
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
package com.aurora.store.compose.composables
|
||||
package com.aurora.store.compose.composable
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Column
|
||||
@@ -32,7 +32,7 @@ import com.aurora.store.data.model.PermissionType
|
||||
* @param onAction Callback when the user clicks the action button
|
||||
*/
|
||||
@Composable
|
||||
fun PermissionComposable(
|
||||
fun PermissionListItem(
|
||||
modifier: Modifier = Modifier,
|
||||
permission: Permission,
|
||||
onAction: () -> Unit = {}
|
||||
@@ -72,8 +72,8 @@ fun PermissionComposable(
|
||||
|
||||
@Preview(showBackground = true)
|
||||
@Composable
|
||||
private fun PermissionComposablePreview() {
|
||||
PermissionComposable(
|
||||
private fun PermissionListItemPreview() {
|
||||
PermissionListItem(
|
||||
permission = Permission(
|
||||
PermissionType.STORAGE_MANAGER,
|
||||
LocalContext.current.getString(R.string.onboarding_permission_esm),
|
||||
@@ -3,7 +3,7 @@
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
package com.aurora.store.compose.composables
|
||||
package com.aurora.store.compose.composable
|
||||
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
@@ -38,7 +38,7 @@ import com.aurora.store.R
|
||||
* @param onAction Callback when action button is clicked
|
||||
*/
|
||||
@Composable
|
||||
fun SearchSuggestionComposable(
|
||||
fun SearchSuggestionListItem(
|
||||
modifier: Modifier = Modifier,
|
||||
searchSuggestEntry: SearchSuggestEntry,
|
||||
onClick: (query: String) -> Unit = {},
|
||||
@@ -97,8 +97,8 @@ fun SearchSuggestionComposable(
|
||||
|
||||
@Preview(showBackground = true)
|
||||
@Composable
|
||||
private fun SearchSuggestionComposablePreview() {
|
||||
SearchSuggestionComposable(
|
||||
private fun SearchSuggestionListItemPreview() {
|
||||
SearchSuggestionListItem(
|
||||
searchSuggestEntry = SearchSuggestEntry.getDefaultInstance()
|
||||
)
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
package com.aurora.store.compose.composables
|
||||
package com.aurora.store.compose.composable
|
||||
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
@@ -21,7 +21,7 @@ import com.aurora.store.R
|
||||
* Composable to display a sticky header in a list
|
||||
* @param modifier The modifier to be applied to the composable
|
||||
* @param title Title to display
|
||||
* @see HeaderComposable
|
||||
* @see Header
|
||||
*/
|
||||
@Composable
|
||||
fun TextDividerComposable(modifier: Modifier = Modifier, title: String) {
|
||||
@@ -3,7 +3,7 @@
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
package com.aurora.store.compose.composables
|
||||
package com.aurora.store.compose.composable
|
||||
|
||||
import androidx.compose.foundation.layout.RowScope
|
||||
import androidx.compose.material3.Icon
|
||||
@@ -27,7 +27,7 @@ import com.aurora.store.R
|
||||
* @param actions Actions to display on the top app bar (for e.g. menu)
|
||||
*/
|
||||
@Composable
|
||||
fun TopAppBarComposable(
|
||||
fun TopAppBar(
|
||||
modifier: Modifier = Modifier,
|
||||
title: String? = null,
|
||||
navigationIcon: Painter = painterResource(R.drawable.ic_arrow_back),
|
||||
@@ -53,8 +53,8 @@ fun TopAppBarComposable(
|
||||
|
||||
@Preview(showBackground = true)
|
||||
@Composable
|
||||
private fun TopAppBarComposablePreview() {
|
||||
TopAppBarComposable(
|
||||
private fun TopAppBarPreview() {
|
||||
TopAppBar(
|
||||
title = stringResource(R.string.title_about),
|
||||
onNavigateUp = {}
|
||||
)
|
||||
@@ -3,7 +3,7 @@
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
package com.aurora.store.compose.composables.app
|
||||
package com.aurora.store.compose.composable.app
|
||||
|
||||
import androidx.compose.animation.core.animateFloatAsState
|
||||
import androidx.compose.animation.core.tween
|
||||
@@ -43,7 +43,7 @@ import com.aurora.store.compose.preview.coilPreviewProvider
|
||||
* @param inProgress Whether to show indeterminate or determinate progress bar
|
||||
*/
|
||||
@Composable
|
||||
fun AnimatedAppIconComposable(
|
||||
fun AnimatedAppIcon(
|
||||
modifier: Modifier = Modifier,
|
||||
iconUrl: String,
|
||||
progress: Float = 0F,
|
||||
@@ -99,7 +99,7 @@ private class ProgressProvider: PreviewParameterProvider<Float> {
|
||||
@Composable
|
||||
private fun AnimatedAppIconPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
|
||||
AnimatedAppIconComposable(
|
||||
AnimatedAppIcon(
|
||||
modifier = Modifier.requiredSize(dimensionResource(R.dimen.icon_size_large)),
|
||||
iconUrl = app.iconArtwork.url
|
||||
)
|
||||
@@ -110,7 +110,7 @@ private fun AnimatedAppIconPreview(@PreviewParameter(AppPreviewProvider::class)
|
||||
@Composable
|
||||
private fun AnimatedAppIconPreview(@PreviewParameter(ProgressProvider::class) progress: Float) {
|
||||
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
|
||||
AnimatedAppIconComposable(
|
||||
AnimatedAppIcon(
|
||||
modifier = Modifier.requiredSize(dimensionResource(R.dimen.icon_size_large)),
|
||||
iconUrl = "",
|
||||
inProgress = true,
|
||||
@@ -3,7 +3,7 @@
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
package com.aurora.store.compose.composables.app
|
||||
package com.aurora.store.compose.composable.app
|
||||
|
||||
import android.text.format.Formatter
|
||||
import androidx.compose.foundation.clickable
|
||||
@@ -38,10 +38,10 @@ import com.aurora.store.compose.preview.coilPreviewProvider
|
||||
* @param modifier The modifier to be applied to the composable
|
||||
* @param app [App] to display
|
||||
* @param onClick Callback when the composable is clicked
|
||||
* @see AppListComposable
|
||||
* @see LargeAppListItem
|
||||
*/
|
||||
@Composable
|
||||
fun AppComposable(modifier: Modifier = Modifier, app: App, onClick: () -> Unit = {}) {
|
||||
fun AppListItem(modifier: Modifier = Modifier, app: App, onClick: () -> Unit = {}) {
|
||||
val context = LocalContext.current
|
||||
|
||||
Column(
|
||||
@@ -80,8 +80,8 @@ fun AppComposable(modifier: Modifier = Modifier, app: App, onClick: () -> Unit =
|
||||
|
||||
@Preview(showBackground = true)
|
||||
@Composable
|
||||
private fun AppComposablePreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||
private fun AppListItemPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
|
||||
AppComposable(app = app)
|
||||
AppListItem(app = app)
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
package com.aurora.store.compose.composables.app
|
||||
package com.aurora.store.compose.composable.app
|
||||
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Column
|
||||
@@ -41,10 +41,10 @@ import com.aurora.store.util.CommonUtil
|
||||
* @param modifier The modifier to be applied to the composable
|
||||
* @param app [App] to display
|
||||
* @param onClick Callback when the composable is clicked
|
||||
* @see AppComposable
|
||||
* @see AppListItem
|
||||
*/
|
||||
@Composable
|
||||
fun AppListComposable(modifier: Modifier = Modifier, app: App, onClick: () -> Unit = {}) {
|
||||
fun LargeAppListItem(modifier: Modifier = Modifier, app: App, onClick: () -> Unit = {}) {
|
||||
Row(
|
||||
modifier = modifier
|
||||
.fillMaxWidth()
|
||||
@@ -85,9 +85,9 @@ fun AppListComposable(modifier: Modifier = Modifier, app: App, onClick: () -> Un
|
||||
|
||||
@Preview(showBackground = true)
|
||||
@Composable
|
||||
fun AppListComposablePreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||
fun LargeAppListItemPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
|
||||
AppListComposable(app = app)
|
||||
LargeAppListItem(app = app)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
package com.aurora.store.compose.composables.app
|
||||
package com.aurora.store.compose.composable.app
|
||||
|
||||
import androidx.compose.material3.FilterChip
|
||||
import androidx.compose.material3.Icon
|
||||
@@ -25,7 +25,7 @@ import com.aurora.store.R
|
||||
* @param onClick Callback when this composable is clicked
|
||||
*/
|
||||
@Composable
|
||||
fun AppTagComposable(
|
||||
fun TagListItem(
|
||||
modifier: Modifier = Modifier,
|
||||
label: String,
|
||||
painter: Painter,
|
||||
@@ -42,8 +42,8 @@ fun AppTagComposable(
|
||||
|
||||
@Preview(showBackground = true)
|
||||
@Composable
|
||||
private fun AppTagComposablePreview() {
|
||||
AppTagComposable(
|
||||
private fun TagListItemPreview() {
|
||||
TagListItem(
|
||||
label = stringResource(R.string.details_free),
|
||||
painter = painterResource(R.drawable.ic_paid)
|
||||
)
|
||||
@@ -3,7 +3,7 @@
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
package com.aurora.store.compose.composables.details
|
||||
package com.aurora.store.compose.composable.details
|
||||
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.padding
|
||||
@@ -23,7 +23,7 @@ import com.aurora.store.data.model.ExodusTracker
|
||||
* @param tracker Tracker to display details about
|
||||
*/
|
||||
@Composable
|
||||
fun ExodusComposable(modifier: Modifier = Modifier, tracker: ExodusTracker) {
|
||||
fun ExodusListItem(modifier: Modifier = Modifier, tracker: ExodusTracker) {
|
||||
Column(modifier = modifier.padding(dimensionResource(R.dimen.padding_small))) {
|
||||
Text(
|
||||
text = tracker.name,
|
||||
@@ -48,8 +48,8 @@ fun ExodusComposable(modifier: Modifier = Modifier, tracker: ExodusTracker) {
|
||||
|
||||
@Preview(showBackground = true)
|
||||
@Composable
|
||||
private fun ExodusComposablePreview() {
|
||||
ExodusComposable(
|
||||
private fun ExodusListItemPreview() {
|
||||
ExodusListItem(
|
||||
tracker = ExodusTracker(
|
||||
name = "Google Analytics",
|
||||
signature = "com.google.android.apps.analytics.|com.google.android.gms.analytics.|com.google.analytics.",
|
||||
@@ -3,7 +3,7 @@
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
package com.aurora.store.compose.composables.details
|
||||
package com.aurora.store.compose.composable.details
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Row
|
||||
@@ -28,7 +28,7 @@ import com.aurora.store.R
|
||||
* @param rating Current rating, for e.g. 0.3
|
||||
*/
|
||||
@Composable
|
||||
fun RatingComposable(modifier: Modifier = Modifier, label: String, rating: Float) {
|
||||
fun RatingListItem(modifier: Modifier = Modifier, label: String, rating: Float) {
|
||||
Row(
|
||||
modifier = modifier
|
||||
.fillMaxWidth()
|
||||
@@ -52,6 +52,6 @@ fun RatingComposable(modifier: Modifier = Modifier, label: String, rating: Float
|
||||
|
||||
@Preview(showBackground = true)
|
||||
@Composable
|
||||
private fun RatingComposablePreview() {
|
||||
RatingComposable(label = "5", rating = 0.5F)
|
||||
private fun RatingListItemPreview() {
|
||||
RatingListItem(label = "5", rating = 0.5F)
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
package com.aurora.store.compose.composables.details
|
||||
package com.aurora.store.compose.composable.details
|
||||
|
||||
import android.text.format.DateUtils
|
||||
import android.widget.RatingBar
|
||||
@@ -41,7 +41,7 @@ import com.aurora.store.compose.preview.coilPreviewProvider
|
||||
* @param review [Review] about an app
|
||||
*/
|
||||
@Composable
|
||||
fun ReviewComposable(modifier: Modifier = Modifier, review: Review) {
|
||||
fun ReviewListItem(modifier: Modifier = Modifier, review: Review) {
|
||||
Row(
|
||||
modifier = modifier
|
||||
.fillMaxWidth()
|
||||
@@ -97,8 +97,8 @@ fun ReviewComposable(modifier: Modifier = Modifier, review: Review) {
|
||||
|
||||
@Preview(showBackground = true)
|
||||
@Composable
|
||||
private fun ReviewComposablePreview(@PreviewParameter(ReviewPreviewProvider::class) review: Review) {
|
||||
private fun ReviewListItemPreview(@PreviewParameter(ReviewPreviewProvider::class) review: Review) {
|
||||
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
|
||||
ReviewComposable(review = review)
|
||||
ReviewListItem(review = review)
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
package com.aurora.store.compose.composables.details
|
||||
package com.aurora.store.compose.composable.details
|
||||
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.layout.aspectRatio
|
||||
@@ -33,7 +33,7 @@ import com.aurora.store.compose.preview.coilPreviewProvider
|
||||
* @param url URL of the screenshot
|
||||
*/
|
||||
@Composable
|
||||
fun ScreenshotComposable(modifier: Modifier = Modifier, url: String) {
|
||||
fun ScreenshotListItem(modifier: Modifier = Modifier, url: String) {
|
||||
// See https://coil-kt.github.io/coil/compose/#rememberasyncimagepainter
|
||||
val sizeResolver = rememberConstraintsSizeResolver()
|
||||
val painter = rememberAsyncImagePainter(
|
||||
@@ -61,8 +61,8 @@ fun ScreenshotComposable(modifier: Modifier = Modifier, url: String) {
|
||||
|
||||
@Preview
|
||||
@Composable
|
||||
private fun ScreenshotComposablePreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||
private fun ScreenshotListItemPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||
CompositionLocalProvider(LocalAsyncImagePreviewHandler provides coilPreviewProvider) {
|
||||
ScreenshotComposable(url = app.screenshots.firstOrNull()?.url ?: "")
|
||||
ScreenshotListItem(url = app.screenshots.firstOrNull()?.url ?: "")
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
|
||||
package com.aurora.store.compose.compositions
|
||||
package com.aurora.store.compose.composition
|
||||
|
||||
import androidx.compose.runtime.staticCompositionLocalOf
|
||||
|
||||
@@ -39,8 +39,8 @@ import com.aurora.extensions.browse
|
||||
import com.aurora.store.BuildConfig.VERSION_CODE
|
||||
import com.aurora.store.BuildConfig.VERSION_NAME
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.compose.composables.LinkComposable
|
||||
import com.aurora.store.compose.composables.TopAppBarComposable
|
||||
import com.aurora.store.compose.composable.LinkListItem
|
||||
import com.aurora.store.compose.composable.TopAppBar
|
||||
import com.aurora.store.data.model.Link
|
||||
|
||||
@Composable
|
||||
@@ -91,7 +91,7 @@ private fun ScreenContent(onNavigateUp: () -> Unit = {}, onAboutAurora: () -> Un
|
||||
|
||||
Scaffold(
|
||||
topBar = {
|
||||
TopAppBarComposable(
|
||||
TopAppBar(
|
||||
title = stringResource(R.string.title_about),
|
||||
onNavigateUp = onNavigateUp
|
||||
)
|
||||
@@ -109,7 +109,7 @@ private fun ScreenContent(onNavigateUp: () -> Unit = {}, onAboutAurora: () -> Un
|
||||
}
|
||||
}
|
||||
items(items = links, key = { item -> item.id }) { link ->
|
||||
LinkComposable(
|
||||
LinkListItem(
|
||||
link = link,
|
||||
onClick = {
|
||||
when (link.id) {
|
||||
|
||||
@@ -46,7 +46,7 @@ import com.aurora.Constants.URL_LICENSE
|
||||
import com.aurora.Constants.URL_TOS
|
||||
import com.aurora.extensions.browse
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.compose.composables.TopAppBarComposable
|
||||
import com.aurora.store.compose.composable.TopAppBar
|
||||
import com.aurora.store.data.providers.AccountProvider
|
||||
import com.aurora.store.viewmodel.accounts.AccountsViewModel
|
||||
|
||||
@@ -106,7 +106,7 @@ private fun ScreenContent(
|
||||
) {
|
||||
Scaffold(
|
||||
topBar = {
|
||||
TopAppBarComposable(
|
||||
TopAppBar(
|
||||
title = stringResource(R.string.title_account_manager),
|
||||
onNavigateUp = onNavigateUp
|
||||
)
|
||||
|
||||
@@ -45,7 +45,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import com.aurora.Constants
|
||||
import com.aurora.extensions.toast
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.compose.composables.BlackListComposable
|
||||
import com.aurora.store.compose.composable.BlackListItem
|
||||
import com.aurora.store.compose.ui.blacklist.menu.BlacklistMenu
|
||||
import com.aurora.store.compose.ui.blacklist.menu.MenuItem
|
||||
import com.aurora.store.util.PackageUtil
|
||||
@@ -215,7 +215,7 @@ private fun ScreenContent(
|
||||
items(items = packages ?: emptyList(), key = { p -> p.packageName.hashCode() }) { pkg ->
|
||||
val isBlacklisted = isPackageBlacklisted(pkg.packageName)
|
||||
val isFiltered = isPackageFiltered(pkg)
|
||||
BlackListComposable(
|
||||
BlackListItem(
|
||||
icon = PackageUtil.getIconForPackage(context, pkg.packageName)!!,
|
||||
displayName = pkg.applicationInfo!!.loadLabel(context.packageManager).toString(),
|
||||
packageName = pkg.packageName,
|
||||
|
||||
@@ -41,9 +41,9 @@ import com.aurora.extensions.isTAndAbove
|
||||
import com.aurora.extensions.toast
|
||||
import com.aurora.store.BuildConfig
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.compose.composables.PermissionComposable
|
||||
import com.aurora.store.compose.composables.TextDividerComposable
|
||||
import com.aurora.store.compose.composables.TopAppBarComposable
|
||||
import com.aurora.store.compose.composable.PermissionListItem
|
||||
import com.aurora.store.compose.composable.TextDividerComposable
|
||||
import com.aurora.store.compose.composable.TopAppBar
|
||||
import com.aurora.store.data.model.Permission
|
||||
import com.aurora.store.data.model.PermissionType
|
||||
import com.aurora.store.data.providers.PermissionProvider.Companion.isGranted
|
||||
@@ -163,7 +163,7 @@ private fun ScreenContent(
|
||||
Scaffold(
|
||||
topBar = {
|
||||
if (!isOnboarding) {
|
||||
TopAppBarComposable(
|
||||
TopAppBar(
|
||||
title = pluralStringResource(R.plurals.permissions_required, permissions.size),
|
||||
navigationIcon = windowAdaptiveInfo.adaptiveNavigationIcon,
|
||||
onNavigateUp = onNavigateUp
|
||||
@@ -191,7 +191,7 @@ private fun ScreenContent(
|
||||
}
|
||||
|
||||
items(items = value, key = { p -> p.type.name }) { permission ->
|
||||
PermissionComposable(
|
||||
PermissionListItem(
|
||||
permission = permission,
|
||||
onAction = { requestPermission(permission.type) }
|
||||
)
|
||||
|
||||
@@ -55,11 +55,11 @@ import com.aurora.extensions.toast
|
||||
import com.aurora.gplayapi.data.models.App
|
||||
import com.aurora.gplayapi.data.models.Review
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.compose.composables.ErrorComposable
|
||||
import com.aurora.store.compose.composables.HeaderComposable
|
||||
import com.aurora.store.compose.composables.ProgressComposable
|
||||
import com.aurora.store.compose.composables.TopAppBarComposable
|
||||
import com.aurora.store.compose.composables.app.AppListComposable
|
||||
import com.aurora.store.compose.composable.Error
|
||||
import com.aurora.store.compose.composable.Header
|
||||
import com.aurora.store.compose.composable.ContainedLoadingIndicator
|
||||
import com.aurora.store.compose.composable.TopAppBar
|
||||
import com.aurora.store.compose.composable.app.LargeAppListItem
|
||||
import com.aurora.store.compose.navigation.Screen
|
||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
||||
import com.aurora.store.compose.preview.coilPreviewProvider
|
||||
@@ -163,9 +163,9 @@ fun AppDetailsScreen(
|
||||
@Composable
|
||||
private fun ScreenContentLoading(onNavigateUp: () -> Unit = {}) {
|
||||
Scaffold(
|
||||
topBar = { TopAppBarComposable(onNavigateUp = onNavigateUp) }
|
||||
topBar = { TopAppBar(onNavigateUp = onNavigateUp) }
|
||||
) { paddingValues ->
|
||||
ProgressComposable(modifier = Modifier.padding(paddingValues))
|
||||
ContainedLoadingIndicator(modifier = Modifier.padding(paddingValues))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -175,9 +175,9 @@ private fun ScreenContentLoading(onNavigateUp: () -> Unit = {}) {
|
||||
@Composable
|
||||
private fun ScreenContentError(onNavigateUp: () -> Unit = {}, message: String? = null) {
|
||||
Scaffold(
|
||||
topBar = { TopAppBarComposable(onNavigateUp = onNavigateUp) }
|
||||
topBar = { TopAppBar(onNavigateUp = onNavigateUp) }
|
||||
) { paddingValues ->
|
||||
ErrorComposable(
|
||||
Error(
|
||||
modifier = Modifier.padding(paddingValues),
|
||||
painter = painterResource(R.drawable.ic_apps_outage),
|
||||
message = message ?: stringResource(R.string.toast_app_unavailable)
|
||||
@@ -330,7 +330,7 @@ private fun ScreenContentApp(
|
||||
fun MainPane() {
|
||||
Scaffold(
|
||||
topBar = {
|
||||
TopAppBarComposable(
|
||||
TopAppBar(
|
||||
onNavigateUp = onNavigateUp,
|
||||
actions = { if (shouldShowMenuOnMainPane) SetupMenu() }
|
||||
)
|
||||
@@ -354,7 +354,7 @@ private fun ScreenContentApp(
|
||||
|
||||
Tags(app = app)
|
||||
Changelog(changelog = app.changes)
|
||||
HeaderComposable(
|
||||
Header(
|
||||
title = stringResource(R.string.details_more_about_app),
|
||||
subtitle = app.shortDescription,
|
||||
onClick = { showExtraPane(ExtraScreen.More) }
|
||||
@@ -380,7 +380,7 @@ private fun ScreenContentApp(
|
||||
|
||||
Compatibility(needsGms = app.requiresGMS(), plexusScores = plexusScores)
|
||||
|
||||
HeaderComposable(
|
||||
Header(
|
||||
title = stringResource(R.string.details_permission),
|
||||
subtitle = if (app.permissions.isNotEmpty()) {
|
||||
stringResource(R.string.permissions_requested, app.permissions.size)
|
||||
@@ -420,7 +420,7 @@ private fun ScreenContentApp(
|
||||
fun SupportingPane() {
|
||||
Scaffold(
|
||||
topBar = {
|
||||
TopAppBarComposable(actions = { if (!shouldShowMenuOnMainPane) SetupMenu() })
|
||||
TopAppBar(actions = { if (!shouldShowMenuOnMainPane) SetupMenu() })
|
||||
}
|
||||
) { paddingValues ->
|
||||
Column(
|
||||
@@ -436,7 +436,7 @@ private fun ScreenContentApp(
|
||||
painter = painterResource(R.drawable.ic_suggestions),
|
||||
contentDescription = null
|
||||
)
|
||||
HeaderComposable(title = stringResource(R.string.pref_ui_similar_apps))
|
||||
Header(title = stringResource(R.string.pref_ui_similar_apps))
|
||||
}
|
||||
LazyColumn(
|
||||
modifier = Modifier
|
||||
@@ -444,7 +444,7 @@ private fun ScreenContentApp(
|
||||
.padding(vertical = dimensionResource(R.dimen.padding_medium))
|
||||
) {
|
||||
items(items = suggestions, key = { item -> item.id }) { app ->
|
||||
AppListComposable(
|
||||
LargeAppListItem(
|
||||
app = app,
|
||||
onClick = { onNavigateToAppDetails(app.packageName) }
|
||||
)
|
||||
|
||||
@@ -28,9 +28,9 @@ import com.aurora.extensions.browse
|
||||
import com.aurora.extensions.isWindowCompact
|
||||
import com.aurora.gplayapi.data.models.App
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.compose.composables.HeaderComposable
|
||||
import com.aurora.store.compose.composables.TopAppBarComposable
|
||||
import com.aurora.store.compose.composables.details.ExodusComposable
|
||||
import com.aurora.store.compose.composable.Header
|
||||
import com.aurora.store.compose.composable.TopAppBar
|
||||
import com.aurora.store.compose.composable.details.ExodusListItem
|
||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
||||
import com.aurora.store.data.model.ExodusTracker
|
||||
import com.aurora.store.viewmodel.details.AppDetailsViewModel
|
||||
@@ -80,7 +80,7 @@ private fun ScreenContent(
|
||||
|
||||
Scaffold(
|
||||
topBar = {
|
||||
TopAppBarComposable(
|
||||
TopAppBar(
|
||||
title = topAppBarTitle,
|
||||
navigationIcon = windowAdaptiveInfo.adaptiveNavigationIcon,
|
||||
onNavigateUp = onNavigateUp
|
||||
@@ -94,7 +94,7 @@ private fun ScreenContent(
|
||||
.padding(horizontal = dimensionResource(R.dimen.padding_medium))
|
||||
) {
|
||||
stickyHeader {
|
||||
HeaderComposable(
|
||||
Header(
|
||||
title = stringResource(R.string.exodus_report_trackers, trackers.size, version),
|
||||
subtitle = stringResource(R.string.exodus_view_report),
|
||||
onClick = { context.browse(EXODUS_REPORT_URL + id) }
|
||||
@@ -102,7 +102,7 @@ private fun ScreenContent(
|
||||
}
|
||||
|
||||
items(items = trackers, key = { item -> item.id }) { tracker ->
|
||||
ExodusComposable(tracker = tracker)
|
||||
ExodusListItem(tracker = tracker)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,8 +55,8 @@ import com.aurora.extensions.adaptiveNavigationIcon
|
||||
import com.aurora.extensions.isWindowCompact
|
||||
import com.aurora.gplayapi.data.models.App
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.compose.composables.InfoComposable
|
||||
import com.aurora.store.compose.composables.TopAppBarComposable
|
||||
import com.aurora.store.compose.composable.Info
|
||||
import com.aurora.store.compose.composable.TopAppBar
|
||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
||||
import com.aurora.store.data.model.AppState
|
||||
import com.aurora.store.viewmodel.details.AppDetailsViewModel
|
||||
@@ -126,7 +126,7 @@ private fun ScreenContent(
|
||||
Scaffold(
|
||||
modifier = Modifier.imePadding(),
|
||||
topBar = {
|
||||
TopAppBarComposable(
|
||||
TopAppBar(
|
||||
title = topAppBarTitle,
|
||||
navigationIcon = windowAdaptiveInfo.adaptiveNavigationIcon,
|
||||
onNavigateUp = onNavigateUp
|
||||
@@ -145,7 +145,7 @@ private fun ScreenContent(
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))
|
||||
) {
|
||||
InfoComposable(
|
||||
Info(
|
||||
painter = painterResource(R.drawable.ic_download_manager),
|
||||
title = AnnotatedString(text = stringResource(R.string.manual_download_hint))
|
||||
)
|
||||
|
||||
@@ -36,10 +36,10 @@ import com.aurora.extensions.adaptiveNavigationIcon
|
||||
import com.aurora.extensions.isWindowCompact
|
||||
import com.aurora.gplayapi.data.models.App
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.compose.composables.HeaderComposable
|
||||
import com.aurora.store.compose.composables.InfoComposable
|
||||
import com.aurora.store.compose.composables.TopAppBarComposable
|
||||
import com.aurora.store.compose.composables.app.AppComposable
|
||||
import com.aurora.store.compose.composable.Header
|
||||
import com.aurora.store.compose.composable.Info
|
||||
import com.aurora.store.compose.composable.TopAppBar
|
||||
import com.aurora.store.compose.composable.app.AppListItem
|
||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
||||
import com.aurora.store.compose.preview.coilPreviewProvider
|
||||
import com.aurora.store.viewmodel.details.AppDetailsViewModel
|
||||
@@ -85,7 +85,7 @@ private fun ScreenContent(
|
||||
|
||||
Scaffold(
|
||||
topBar = {
|
||||
TopAppBarComposable(
|
||||
TopAppBar(
|
||||
title = topAppBarTitle,
|
||||
navigationIcon = windowAdaptiveInfo.adaptiveNavigationIcon,
|
||||
onNavigateUp = onNavigateUp
|
||||
@@ -99,7 +99,7 @@ private fun ScreenContent(
|
||||
.verticalScroll(rememberScrollState()),
|
||||
verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))
|
||||
) {
|
||||
HeaderComposable(title = stringResource(R.string.details_description))
|
||||
Header(title = stringResource(R.string.details_description))
|
||||
Text(
|
||||
modifier = Modifier.padding(horizontal = dimensionResource(R.dimen.padding_medium)),
|
||||
text = AnnotatedString.fromHtml(
|
||||
@@ -128,15 +128,15 @@ private fun AppDependencies(
|
||||
dependencies: List<App>,
|
||||
onNavigateToAppDetails: (packageName: String) -> Unit
|
||||
) {
|
||||
HeaderComposable(title = stringResource(R.string.details_dependencies))
|
||||
Header(title = stringResource(R.string.details_dependencies))
|
||||
if (dependencies.isEmpty()) {
|
||||
InfoComposable(
|
||||
Info(
|
||||
title = AnnotatedString(text = stringResource(R.string.details_no_dependencies))
|
||||
)
|
||||
} else {
|
||||
LazyRow(modifier = Modifier.fillMaxWidth()) {
|
||||
items(items = dependencies, key = { item -> item.id }) { app ->
|
||||
AppComposable(
|
||||
AppListItem(
|
||||
app = app,
|
||||
onClick = { onNavigateToAppDetails(app.packageName) }
|
||||
)
|
||||
@@ -150,22 +150,22 @@ private fun AppDependencies(
|
||||
*/
|
||||
@Composable
|
||||
private fun AppInfoMore(app: App) {
|
||||
HeaderComposable(title = stringResource(R.string.details_more_info))
|
||||
InfoComposable(
|
||||
Header(title = stringResource(R.string.details_more_info))
|
||||
Info(
|
||||
title = AnnotatedString(
|
||||
text = stringResource(R.string.details_more_package_name)
|
||||
),
|
||||
description = AnnotatedString(text = app.packageName)
|
||||
)
|
||||
|
||||
InfoComposable(
|
||||
Info(
|
||||
title = AnnotatedString(
|
||||
text = stringResource(R.string.details_more_target_api)
|
||||
),
|
||||
description = AnnotatedString(text = "API ${app.targetSdk}")
|
||||
)
|
||||
|
||||
InfoComposable(
|
||||
Info(
|
||||
title = AnnotatedString(
|
||||
text = stringResource(R.string.details_more_content_rating)
|
||||
),
|
||||
@@ -173,7 +173,7 @@ private fun AppInfoMore(app: App) {
|
||||
)
|
||||
|
||||
app.appInfo.appInfoMap.forEach { (title, subtitle) ->
|
||||
InfoComposable(
|
||||
Info(
|
||||
title = AnnotatedString(
|
||||
text = title.replace("_", " ")
|
||||
.lowercase(Locale.getDefault())
|
||||
|
||||
@@ -29,8 +29,8 @@ import com.aurora.extensions.adaptiveNavigationIcon
|
||||
import com.aurora.extensions.isWindowCompact
|
||||
import com.aurora.gplayapi.data.models.App
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.compose.composables.InfoComposable
|
||||
import com.aurora.store.compose.composables.TopAppBarComposable
|
||||
import com.aurora.store.compose.composable.Info
|
||||
import com.aurora.store.compose.composable.TopAppBar
|
||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
||||
import com.aurora.store.viewmodel.details.AppDetailsViewModel
|
||||
import com.aurora.store.viewmodel.details.PermissionViewModel
|
||||
@@ -75,7 +75,7 @@ private fun ScreenContent(
|
||||
|
||||
Scaffold(
|
||||
topBar = {
|
||||
TopAppBarComposable(
|
||||
TopAppBar(
|
||||
title = topAppBarTitle,
|
||||
navigationIcon = windowAdaptiveInfo.adaptiveNavigationIcon,
|
||||
onNavigateUp = onNavigateUp
|
||||
@@ -93,7 +93,7 @@ private fun ScreenContent(
|
||||
// Bail out if this is not a known permission for the OS
|
||||
val permissionInfo = permissionsInfo.getValue(permission) ?: return@items
|
||||
|
||||
InfoComposable(
|
||||
Info(
|
||||
title = AnnotatedString(
|
||||
text = permissionInfo.loadLabel(packageManager)
|
||||
.toString()
|
||||
|
||||
@@ -43,10 +43,10 @@ import com.aurora.extensions.adaptiveNavigationIcon
|
||||
import com.aurora.extensions.isWindowCompact
|
||||
import com.aurora.gplayapi.data.models.Review
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.compose.composables.ErrorComposable
|
||||
import com.aurora.store.compose.composables.ProgressComposable
|
||||
import com.aurora.store.compose.composables.TopAppBarComposable
|
||||
import com.aurora.store.compose.composables.details.ReviewComposable
|
||||
import com.aurora.store.compose.composable.Error
|
||||
import com.aurora.store.compose.composable.ContainedLoadingIndicator
|
||||
import com.aurora.store.compose.composable.TopAppBar
|
||||
import com.aurora.store.compose.composable.details.ReviewListItem
|
||||
import com.aurora.store.compose.preview.ReviewPreviewProvider
|
||||
import com.aurora.store.compose.preview.coilPreviewProvider
|
||||
import com.aurora.store.compose.preview.emptyPagingItems
|
||||
@@ -95,7 +95,7 @@ private fun ScreenContent(
|
||||
|
||||
Scaffold(
|
||||
topBar = {
|
||||
TopAppBarComposable(
|
||||
TopAppBar(
|
||||
title = topAppBarTitle,
|
||||
navigationIcon = windowAdaptiveInfo.adaptiveNavigationIcon,
|
||||
onNavigateUp = onNavigateUp
|
||||
@@ -111,10 +111,10 @@ private fun ScreenContent(
|
||||
FilterHeader { filter -> onFilter(filter) }
|
||||
|
||||
when (reviews.loadState.refresh) {
|
||||
is LoadState.Loading -> ProgressComposable()
|
||||
is LoadState.Loading -> ContainedLoadingIndicator()
|
||||
|
||||
is LoadState.Error -> {
|
||||
ErrorComposable(
|
||||
Error(
|
||||
modifier = Modifier.padding(paddingValues),
|
||||
painter = painterResource(R.drawable.ic_disclaimer),
|
||||
message = stringResource(R.string.error)
|
||||
@@ -127,7 +127,7 @@ private fun ScreenContent(
|
||||
count = reviews.itemCount,
|
||||
key = reviews.itemKey { it.commentId }
|
||||
) { index ->
|
||||
reviews[index]?.let { review -> ReviewComposable(review = review) }
|
||||
reviews[index]?.let { review -> ReviewListItem(review = review) }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,8 +25,8 @@ import com.aurora.extensions.adaptiveNavigationIcon
|
||||
import com.aurora.extensions.isWindowCompact
|
||||
import com.aurora.gplayapi.data.models.Artwork
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.compose.composables.TopAppBarComposable
|
||||
import com.aurora.store.compose.composables.details.ScreenshotComposable
|
||||
import com.aurora.store.compose.composable.TopAppBar
|
||||
import com.aurora.store.compose.composable.details.ScreenshotListItem
|
||||
import com.aurora.store.viewmodel.details.AppDetailsViewModel
|
||||
|
||||
@Composable
|
||||
@@ -69,7 +69,7 @@ private fun ScreenContent(
|
||||
|
||||
Scaffold(
|
||||
topBar = {
|
||||
TopAppBarComposable(
|
||||
TopAppBar(
|
||||
title = topAppBarTitle,
|
||||
navigationIcon = windowAdaptiveInfo.adaptiveNavigationIcon,
|
||||
onNavigateUp = onNavigateUp
|
||||
@@ -83,7 +83,7 @@ private fun ScreenContent(
|
||||
state = pagerState
|
||||
) { page ->
|
||||
val artwork = screenshots[page]
|
||||
ScreenshotComposable(
|
||||
ScreenshotListItem(
|
||||
modifier = Modifier.fillMaxSize(),
|
||||
url = "${artwork.url}=rw-w${displayMetrics.widthPixels}-v1-e15"
|
||||
)
|
||||
|
||||
@@ -25,7 +25,7 @@ import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
import com.aurora.gplayapi.data.models.App
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.compose.composables.HeaderComposable
|
||||
import com.aurora.store.compose.composable.Header
|
||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
||||
|
||||
/**
|
||||
@@ -35,7 +35,7 @@ import com.aurora.store.compose.preview.AppPreviewProvider
|
||||
*/
|
||||
@Composable
|
||||
fun Changelog(changelog: String) {
|
||||
HeaderComposable(title = stringResource(R.string.details_changelog))
|
||||
Header(title = stringResource(R.string.details_changelog))
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
|
||||
@@ -14,8 +14,8 @@ import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.text.AnnotatedString
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.compose.composables.HeaderComposable
|
||||
import com.aurora.store.compose.composables.InfoComposable
|
||||
import com.aurora.store.compose.composable.Header
|
||||
import com.aurora.store.compose.composable.Info
|
||||
import com.aurora.store.data.model.Scores
|
||||
|
||||
/**
|
||||
@@ -26,13 +26,13 @@ import com.aurora.store.data.model.Scores
|
||||
*/
|
||||
@Composable
|
||||
fun Compatibility(needsGms: Boolean, plexusScores: Scores? = null) {
|
||||
HeaderComposable(
|
||||
Header(
|
||||
title = stringResource(R.string.details_compatibility_title),
|
||||
subtitle = stringResource(R.string.plexus_powered),
|
||||
)
|
||||
|
||||
if (!needsGms) {
|
||||
InfoComposable(
|
||||
Info(
|
||||
painter = painterResource(R.drawable.ic_menu_about),
|
||||
title = AnnotatedString(
|
||||
text = stringResource(R.string.details_compatibility_gms_not_required_title)
|
||||
@@ -46,7 +46,7 @@ fun Compatibility(needsGms: Boolean, plexusScores: Scores? = null) {
|
||||
return
|
||||
}
|
||||
|
||||
InfoComposable(
|
||||
Info(
|
||||
painter = painterResource(R.drawable.ic_menu_about),
|
||||
title = AnnotatedString(
|
||||
text = stringResource(R.string.details_compatibility_gms_required_title)
|
||||
@@ -61,7 +61,7 @@ fun Compatibility(needsGms: Boolean, plexusScores: Scores? = null) {
|
||||
R.string.details_compatibility_microg to plexusScores?.microG?.status,
|
||||
)
|
||||
scoresStatus.forEach { (title, description) ->
|
||||
InfoComposable(
|
||||
Info(
|
||||
painter = painterResource(R.drawable.ic_android),
|
||||
title = AnnotatedString(text = stringResource(title)),
|
||||
description = AnnotatedString(
|
||||
|
||||
@@ -21,8 +21,8 @@ import com.aurora.gplayapi.data.models.datasafety.Entry
|
||||
import com.aurora.gplayapi.data.models.datasafety.EntryType
|
||||
import com.aurora.gplayapi.data.models.datasafety.Report
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.compose.composables.HeaderComposable
|
||||
import com.aurora.store.compose.composables.InfoComposable
|
||||
import com.aurora.store.compose.composable.Header
|
||||
import com.aurora.store.compose.composable.Info
|
||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
||||
|
||||
/**
|
||||
@@ -35,7 +35,7 @@ import com.aurora.store.compose.preview.AppPreviewProvider
|
||||
fun DataSafety(report: Report, privacyPolicyUrl: String) {
|
||||
val context = LocalContext.current
|
||||
|
||||
HeaderComposable(
|
||||
Header(
|
||||
title = stringResource(R.string.details_data_safety_title),
|
||||
subtitle = stringResource(R.string.details_data_safety_subtitle),
|
||||
onClick = { context.browse(privacyPolicyUrl) }
|
||||
@@ -44,7 +44,7 @@ fun DataSafety(report: Report, privacyPolicyUrl: String) {
|
||||
report.entries.groupBy { it.type }.forEach { (type, entries) ->
|
||||
when (type) {
|
||||
EntryType.DATA_COLLECTED -> {
|
||||
InfoComposable(
|
||||
Info(
|
||||
painter = painterResource(R.drawable.ic_cloud_upload),
|
||||
title = AnnotatedString(
|
||||
text = stringResource(R.string.details_data_safety_collect)
|
||||
@@ -59,7 +59,7 @@ fun DataSafety(report: Report, privacyPolicyUrl: String) {
|
||||
}
|
||||
|
||||
EntryType.DATA_SHARED -> {
|
||||
InfoComposable(
|
||||
Info(
|
||||
painter = painterResource(R.drawable.ic_share),
|
||||
title = AnnotatedString(
|
||||
text = stringResource(R.string.details_data_safety_shared)
|
||||
|
||||
@@ -28,7 +28,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
import coil3.compose.LocalAsyncImagePreviewHandler
|
||||
import com.aurora.gplayapi.data.models.App
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.compose.composables.app.AnimatedAppIconComposable
|
||||
import com.aurora.store.compose.composable.app.AnimatedAppIcon
|
||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
||||
import com.aurora.store.compose.preview.coilPreviewProvider
|
||||
import com.aurora.store.data.model.AppState
|
||||
@@ -55,7 +55,7 @@ fun Details(
|
||||
val timeRemaining = if (state is AppState.Downloading) state.timeRemaining else 0
|
||||
|
||||
Row(modifier = Modifier.fillMaxWidth()) {
|
||||
AnimatedAppIconComposable(
|
||||
AnimatedAppIcon(
|
||||
modifier = Modifier.requiredSize(dimensionResource(R.dimen.icon_size_large)),
|
||||
iconUrl = app.iconArtwork.url,
|
||||
inProgress = state.inProgress(),
|
||||
|
||||
@@ -21,8 +21,8 @@ import com.aurora.extensions.copyToClipBoard
|
||||
import com.aurora.extensions.mailTo
|
||||
import com.aurora.gplayapi.data.models.App
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.compose.composables.HeaderComposable
|
||||
import com.aurora.store.compose.composables.InfoComposable
|
||||
import com.aurora.store.compose.composable.Header
|
||||
import com.aurora.store.compose.composable.Info
|
||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
||||
|
||||
/**
|
||||
@@ -36,10 +36,10 @@ import com.aurora.store.compose.preview.AppPreviewProvider
|
||||
fun DeveloperDetails(address: String, website: String, email: String) {
|
||||
val context = LocalContext.current
|
||||
|
||||
HeaderComposable(title = stringResource(R.string.details_dev_details))
|
||||
Header(title = stringResource(R.string.details_dev_details))
|
||||
Column {
|
||||
if (website.isNotBlank()) {
|
||||
InfoComposable(
|
||||
Info(
|
||||
title = AnnotatedString(text = stringResource(R.string.details_dev_website)),
|
||||
description = AnnotatedString(text = website),
|
||||
painter = painterResource(R.drawable.ic_network),
|
||||
@@ -48,7 +48,7 @@ fun DeveloperDetails(address: String, website: String, email: String) {
|
||||
}
|
||||
|
||||
if (email.isNotBlank()) {
|
||||
InfoComposable(
|
||||
Info(
|
||||
title = AnnotatedString(text = stringResource(R.string.details_dev_email)),
|
||||
description = AnnotatedString(text = email),
|
||||
painter = painterResource(R.drawable.ic_mail),
|
||||
@@ -57,7 +57,7 @@ fun DeveloperDetails(address: String, website: String, email: String) {
|
||||
}
|
||||
|
||||
if (address.isNotBlank()) {
|
||||
InfoComposable(
|
||||
Info(
|
||||
title = AnnotatedString(text = stringResource(R.string.details_dev_address)),
|
||||
description = AnnotatedString.fromHtml(htmlString = address),
|
||||
painter = painterResource(R.drawable.ic_person_location),
|
||||
|
||||
@@ -14,8 +14,8 @@ import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.text.AnnotatedString
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.compose.composables.HeaderComposable
|
||||
import com.aurora.store.compose.composables.InfoComposable
|
||||
import com.aurora.store.compose.composable.Header
|
||||
import com.aurora.store.compose.composable.Info
|
||||
import com.aurora.store.data.model.Report
|
||||
|
||||
/**
|
||||
@@ -26,7 +26,7 @@ import com.aurora.store.data.model.Report
|
||||
*/
|
||||
@Composable
|
||||
fun Privacy(report: Report?, onNavigateToDetailsExodus: (() -> Unit)? = null) {
|
||||
HeaderComposable(
|
||||
Header(
|
||||
title = stringResource(R.string.details_privacy),
|
||||
subtitle = stringResource(R.string.exodus_powered),
|
||||
onClick = onNavigateToDetailsExodus
|
||||
@@ -42,7 +42,7 @@ fun Privacy(report: Report?, onNavigateToDetailsExodus: (() -> Unit)? = null) {
|
||||
}
|
||||
}
|
||||
|
||||
InfoComposable(
|
||||
Info(
|
||||
painter = painterResource(R.drawable.ic_visibility),
|
||||
title = AnnotatedString(text = reportStatus),
|
||||
description = AnnotatedString(text = stringResource(R.string.exodus_tracker_desc))
|
||||
|
||||
@@ -35,10 +35,10 @@ import com.aurora.gplayapi.data.models.App
|
||||
import com.aurora.gplayapi.data.models.Rating
|
||||
import com.aurora.gplayapi.data.models.Review
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.compose.composables.HeaderComposable
|
||||
import com.aurora.store.compose.composables.PageIndicatorComposable
|
||||
import com.aurora.store.compose.composables.details.RatingComposable
|
||||
import com.aurora.store.compose.composables.details.ReviewComposable
|
||||
import com.aurora.store.compose.composable.Header
|
||||
import com.aurora.store.compose.composable.PageIndicator
|
||||
import com.aurora.store.compose.composable.details.RatingListItem
|
||||
import com.aurora.store.compose.composable.details.ReviewListItem
|
||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
||||
import java.util.Locale
|
||||
|
||||
@@ -74,7 +74,7 @@ fun RatingAndReviews(
|
||||
}
|
||||
}
|
||||
|
||||
HeaderComposable(
|
||||
Header(
|
||||
title = stringResource(R.string.details_ratings),
|
||||
onClick = onNavigateToDetailsReview
|
||||
)
|
||||
@@ -108,7 +108,7 @@ fun RatingAndReviews(
|
||||
verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_small))
|
||||
) {
|
||||
stars.reversed().fastForEach { star ->
|
||||
RatingComposable(
|
||||
RatingListItem(
|
||||
label = (stars.indexOf(star) + 1).toString(),
|
||||
rating = star / stars.sum()
|
||||
)
|
||||
@@ -130,11 +130,11 @@ fun RatingAndReviews(
|
||||
.background(color = MaterialTheme.colorScheme.surfaceContainer)
|
||||
.requiredHeight(dimensionResource(R.dimen.review_height))
|
||||
) {
|
||||
ReviewComposable(review = featuredReviews[page])
|
||||
ReviewListItem(review = featuredReviews[page])
|
||||
}
|
||||
}
|
||||
|
||||
PageIndicatorComposable(
|
||||
PageIndicator(
|
||||
totalPages = featuredReviews.size,
|
||||
currentPage = pagerState.currentPage
|
||||
)
|
||||
|
||||
@@ -23,7 +23,7 @@ import coil3.compose.LocalAsyncImagePreviewHandler
|
||||
import com.aurora.gplayapi.data.models.App
|
||||
import com.aurora.gplayapi.data.models.Artwork
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.compose.composables.details.ScreenshotComposable
|
||||
import com.aurora.store.compose.composable.details.ScreenshotListItem
|
||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
||||
import com.aurora.store.compose.preview.coilPreviewProvider
|
||||
|
||||
@@ -37,7 +37,7 @@ import com.aurora.store.compose.preview.coilPreviewProvider
|
||||
fun Screenshots(screenshots: List<Artwork>, onNavigateToScreenshot: (index: Int) -> Unit = {}) {
|
||||
LazyRow(horizontalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_small))) {
|
||||
items(items = screenshots, key = { artwork -> artwork.url }) { artwork ->
|
||||
ScreenshotComposable(
|
||||
ScreenshotListItem(
|
||||
modifier = Modifier
|
||||
.height(dimensionResource(R.dimen.screenshot_height))
|
||||
.clip(RoundedCornerShape(dimensionResource(R.dimen.radius_small)))
|
||||
|
||||
@@ -19,7 +19,7 @@ import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
import com.aurora.gplayapi.data.models.App
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.compose.composables.app.AppTagComposable
|
||||
import com.aurora.store.compose.composable.app.TagListItem
|
||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
||||
import com.aurora.store.util.CommonUtil
|
||||
|
||||
@@ -62,7 +62,7 @@ fun Tags(app: App) {
|
||||
horizontalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.padding_medium))
|
||||
) {
|
||||
items(items = tags.keys.toList()) { label ->
|
||||
AppTagComposable(label = label!!, painter = painterResource(tags.getValue(label)))
|
||||
TagListItem(label = label!!, painter = painterResource(tags.getValue(label)))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,8 +23,8 @@ import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
import com.aurora.gplayapi.data.models.App
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.compose.composables.HeaderComposable
|
||||
import com.aurora.store.compose.composables.InfoComposable
|
||||
import com.aurora.store.compose.composable.Header
|
||||
import com.aurora.store.compose.composable.Info
|
||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
||||
|
||||
/**
|
||||
@@ -36,13 +36,13 @@ import com.aurora.store.compose.preview.AppPreviewProvider
|
||||
*/
|
||||
@Composable
|
||||
fun Testing(isSubscribed: Boolean, onTestingSubscriptionChange: (subscribe: Boolean) -> Unit = {}) {
|
||||
HeaderComposable(title = stringResource(R.string.details_beta))
|
||||
Header(title = stringResource(R.string.details_beta))
|
||||
Row(
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
horizontalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_small))
|
||||
) {
|
||||
InfoComposable(
|
||||
Info(
|
||||
modifier = Modifier.weight(1F),
|
||||
painter = painterResource(R.drawable.ic_experiment),
|
||||
title = AnnotatedString(
|
||||
|
||||
@@ -23,7 +23,7 @@ import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
import com.aurora.gplayapi.data.models.App
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.compose.composables.TopAppBarComposable
|
||||
import com.aurora.store.compose.composable.TopAppBar
|
||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
||||
import com.aurora.store.data.model.AppState
|
||||
|
||||
@@ -103,7 +103,7 @@ fun AppDetailsMenu(
|
||||
@Preview(showBackground = true)
|
||||
@Composable
|
||||
private fun AppDetailsMenuPreview(@PreviewParameter(AppPreviewProvider::class) app: App) {
|
||||
TopAppBarComposable(
|
||||
TopAppBar(
|
||||
actions = {
|
||||
AppDetailsMenu(
|
||||
isInstalled = app.isInstalled,
|
||||
|
||||
@@ -30,10 +30,10 @@ import coil3.compose.LocalAsyncImagePreviewHandler
|
||||
import com.aurora.extensions.adaptiveNavigationIcon
|
||||
import com.aurora.gplayapi.data.models.App
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.compose.composables.ErrorComposable
|
||||
import com.aurora.store.compose.composables.ProgressComposable
|
||||
import com.aurora.store.compose.composables.TopAppBarComposable
|
||||
import com.aurora.store.compose.composables.app.AppListComposable
|
||||
import com.aurora.store.compose.composable.Error
|
||||
import com.aurora.store.compose.composable.ContainedLoadingIndicator
|
||||
import com.aurora.store.compose.composable.TopAppBar
|
||||
import com.aurora.store.compose.composable.app.LargeAppListItem
|
||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
||||
import com.aurora.store.compose.preview.coilPreviewProvider
|
||||
import com.aurora.store.viewmodel.details.DevProfileViewModel
|
||||
@@ -88,7 +88,7 @@ private fun ScreenContent(
|
||||
) {
|
||||
Scaffold(
|
||||
topBar = {
|
||||
TopAppBarComposable(
|
||||
TopAppBar(
|
||||
title = topAppBarTitle,
|
||||
navigationIcon = windowAdaptiveInfo.adaptiveNavigationIcon,
|
||||
onNavigateUp = onNavigateUp
|
||||
@@ -96,10 +96,10 @@ private fun ScreenContent(
|
||||
}
|
||||
) { paddingValues ->
|
||||
when (apps.loadState.refresh) {
|
||||
is LoadState.Loading -> ProgressComposable()
|
||||
is LoadState.Loading -> ContainedLoadingIndicator()
|
||||
|
||||
is LoadState.Error -> {
|
||||
ErrorComposable(
|
||||
Error(
|
||||
modifier = Modifier.padding(paddingValues),
|
||||
painter = painterResource(R.drawable.ic_disclaimer),
|
||||
message = stringResource(R.string.error)
|
||||
@@ -115,7 +115,7 @@ private fun ScreenContent(
|
||||
) {
|
||||
items(count = apps.itemCount, key = apps.itemKey { it.id }) { index ->
|
||||
apps[index]?.let { app ->
|
||||
AppListComposable(
|
||||
LargeAppListItem(
|
||||
app = app,
|
||||
onClick = { onNavigateToAppDetails(app.packageName) }
|
||||
)
|
||||
|
||||
@@ -30,10 +30,10 @@ import androidx.paging.compose.collectAsLazyPagingItems
|
||||
import androidx.paging.compose.itemKey
|
||||
import com.aurora.extensions.toast
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.compose.composables.DownloadComposable
|
||||
import com.aurora.store.compose.composables.ErrorComposable
|
||||
import com.aurora.store.compose.composables.ProgressComposable
|
||||
import com.aurora.store.compose.composables.TopAppBarComposable
|
||||
import com.aurora.store.compose.composable.DownloadListItem
|
||||
import com.aurora.store.compose.composable.Error
|
||||
import com.aurora.store.compose.composable.ContainedLoadingIndicator
|
||||
import com.aurora.store.compose.composable.TopAppBar
|
||||
import com.aurora.store.compose.preview.emptyPagingItems
|
||||
import com.aurora.store.compose.ui.downloads.menu.DownloadsMenu
|
||||
import com.aurora.store.compose.ui.downloads.menu.MenuItem
|
||||
@@ -116,7 +116,7 @@ private fun ScreenContent(
|
||||
|
||||
Scaffold(
|
||||
topBar = {
|
||||
TopAppBarComposable(
|
||||
TopAppBar(
|
||||
title = stringResource(R.string.title_download_manager),
|
||||
onNavigateUp = onNavigateUp,
|
||||
actions = { if (downloads.itemCount != 0) SetupMenu() }
|
||||
@@ -131,14 +131,14 @@ private fun ScreenContent(
|
||||
) {
|
||||
when {
|
||||
downloads.loadState.refresh is LoadState.Loading && initialLoad -> {
|
||||
ProgressComposable()
|
||||
ContainedLoadingIndicator()
|
||||
}
|
||||
|
||||
else -> {
|
||||
initialLoad = false
|
||||
|
||||
if (downloads.itemCount == 0) {
|
||||
ErrorComposable(
|
||||
Error(
|
||||
modifier = Modifier.padding(paddingValues),
|
||||
painter = painterResource(R.drawable.ic_download_manager),
|
||||
message = stringResource(R.string.download_none)
|
||||
@@ -150,7 +150,7 @@ private fun ScreenContent(
|
||||
key = downloads.itemKey { it.packageName }
|
||||
) { index ->
|
||||
downloads[index]?.let { download ->
|
||||
DownloadComposable(
|
||||
DownloadListItem(
|
||||
modifier = Modifier.animateItem(),
|
||||
download = download,
|
||||
onClick = { onNavigateToAppDetails(download.packageName) },
|
||||
|
||||
@@ -31,10 +31,10 @@ import androidx.paging.compose.itemKey
|
||||
import com.aurora.Constants.JSON_MIME_TYPE
|
||||
import com.aurora.extensions.toast
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.compose.composables.ErrorComposable
|
||||
import com.aurora.store.compose.composables.FavouriteComposable
|
||||
import com.aurora.store.compose.composables.ProgressComposable
|
||||
import com.aurora.store.compose.composables.TopAppBarComposable
|
||||
import com.aurora.store.compose.composable.Error
|
||||
import com.aurora.store.compose.composable.FavouriteListItem
|
||||
import com.aurora.store.compose.composable.ContainedLoadingIndicator
|
||||
import com.aurora.store.compose.composable.TopAppBar
|
||||
import com.aurora.store.compose.preview.emptyPagingItems
|
||||
import com.aurora.store.compose.ui.favourite.menu.FavouriteMenu
|
||||
import com.aurora.store.compose.ui.favourite.menu.MenuItem
|
||||
@@ -120,7 +120,7 @@ private fun ScreenContent(
|
||||
|
||||
Scaffold(
|
||||
topBar = {
|
||||
TopAppBarComposable(
|
||||
TopAppBar(
|
||||
title = stringResource(R.string.title_favourites_manager),
|
||||
onNavigateUp = onNavigateUp,
|
||||
actions = { if (favourites.itemCount != 0) SetupMenu() }
|
||||
@@ -135,14 +135,14 @@ private fun ScreenContent(
|
||||
) {
|
||||
when {
|
||||
favourites.loadState.refresh is LoadState.Loading && initialLoad -> {
|
||||
ProgressComposable()
|
||||
ContainedLoadingIndicator()
|
||||
}
|
||||
|
||||
else -> {
|
||||
initialLoad = false
|
||||
|
||||
if (favourites.itemCount == 0) {
|
||||
ErrorComposable(
|
||||
Error(
|
||||
modifier = Modifier.padding(paddingValues),
|
||||
painter = painterResource(R.drawable.ic_favorite_unchecked),
|
||||
message = stringResource(R.string.details_no_favourites)
|
||||
@@ -154,7 +154,7 @@ private fun ScreenContent(
|
||||
key = favourites.itemKey { it.packageName }
|
||||
) { index ->
|
||||
favourites[index]?.let { favourite ->
|
||||
FavouriteComposable(
|
||||
FavouriteListItem(
|
||||
modifier = Modifier.animateItem(),
|
||||
favourite = favourite,
|
||||
onClick = { onNavigateToAppDetails(favourite.packageName) },
|
||||
|
||||
@@ -64,10 +64,10 @@ import coil3.compose.LocalAsyncImagePreviewHandler
|
||||
import com.aurora.gplayapi.SearchSuggestEntry
|
||||
import com.aurora.gplayapi.data.models.App
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.compose.composables.ErrorComposable
|
||||
import com.aurora.store.compose.composables.ProgressComposable
|
||||
import com.aurora.store.compose.composables.SearchSuggestionComposable
|
||||
import com.aurora.store.compose.composables.app.AppListComposable
|
||||
import com.aurora.store.compose.composable.Error
|
||||
import com.aurora.store.compose.composable.ContainedLoadingIndicator
|
||||
import com.aurora.store.compose.composable.SearchSuggestionListItem
|
||||
import com.aurora.store.compose.composable.app.LargeAppListItem
|
||||
import com.aurora.store.compose.preview.AppPreviewProvider
|
||||
import com.aurora.store.compose.preview.coilPreviewProvider
|
||||
import com.aurora.store.compose.preview.emptyPagingItems
|
||||
@@ -181,7 +181,7 @@ private fun ScreenContent(
|
||||
AppBarWithSearch(state = searchBarState, inputField = inputField)
|
||||
ExpandedDockedSearchBar(state = searchBarState, inputField = inputField) {
|
||||
suggestions.forEach { suggestion ->
|
||||
SearchSuggestionComposable(
|
||||
SearchSuggestionListItem(
|
||||
searchSuggestEntry = suggestion,
|
||||
onClick = { query -> onRequestSearch(query) },
|
||||
onAction = { query -> textFieldState.setTextAndPlaceCursorAtEnd(query.trim()) }
|
||||
@@ -206,10 +206,10 @@ private fun ScreenContent(
|
||||
)
|
||||
|
||||
when (results.loadState.refresh) {
|
||||
is LoadState.Loading -> ProgressComposable()
|
||||
is LoadState.Loading -> ContainedLoadingIndicator()
|
||||
|
||||
is LoadState.Error -> {
|
||||
ErrorComposable(
|
||||
Error(
|
||||
modifier = Modifier.padding(paddingValues),
|
||||
painter = painterResource(R.drawable.ic_disclaimer),
|
||||
message = stringResource(R.string.error)
|
||||
@@ -218,7 +218,7 @@ private fun ScreenContent(
|
||||
|
||||
else -> {
|
||||
if (isSearching && results.itemCount == 0) {
|
||||
ErrorComposable(
|
||||
Error(
|
||||
modifier = Modifier.padding(paddingValues),
|
||||
painter = painterResource(R.drawable.ic_disclaimer),
|
||||
message = stringResource(R.string.no_apps_available)
|
||||
@@ -230,7 +230,7 @@ private fun ScreenContent(
|
||||
key = results.itemKey { it.id }
|
||||
) { index ->
|
||||
results[index]?.let { app ->
|
||||
AppListComposable(
|
||||
LargeAppListItem(
|
||||
app = app,
|
||||
onClick = { showDetailPane(app.packageName) }
|
||||
)
|
||||
@@ -261,7 +261,7 @@ private fun ScreenContent(
|
||||
|
||||
else -> {
|
||||
if (isSearching && results.itemCount > 0) {
|
||||
ErrorComposable(
|
||||
Error(
|
||||
painter = painterResource(R.drawable.ic_round_search),
|
||||
message = stringResource(R.string.select_app_for_details)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user