compose: details: Don't allow navigating to manual download on progress

If app's download is already in progress, don't allow navigating to manual download
anymore.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2025-10-12 18:55:36 +08:00
parent 72a62c1793
commit e4ff958263
2 changed files with 9 additions and 2 deletions

View File

@@ -255,7 +255,11 @@ private fun ScreenContentApp(
@Composable @Composable
fun SetupMenu() { fun SetupMenu() {
AppDetailsMenu(isInstalled = app.isInstalled, isFavorite = isFavorite) { menuItem -> AppDetailsMenu(
isInstalled = app.isInstalled,
isFavorite = isFavorite,
state = state
) { menuItem ->
when (menuItem) { when (menuItem) {
MenuItem.FAVORITE -> onFavorite() MenuItem.FAVORITE -> onFavorite()
MenuItem.MANUAL_DOWNLOAD -> { MenuItem.MANUAL_DOWNLOAD -> {

View File

@@ -25,6 +25,7 @@ import com.aurora.gplayapi.data.models.App
import com.aurora.store.R import com.aurora.store.R
import com.aurora.store.compose.composables.TopAppBarComposable import com.aurora.store.compose.composables.TopAppBarComposable
import com.aurora.store.compose.preview.AppPreviewProvider import com.aurora.store.compose.preview.AppPreviewProvider
import com.aurora.store.data.model.AppState
/** /**
* Menu for the app details screen * Menu for the app details screen
@@ -36,6 +37,7 @@ import com.aurora.store.compose.preview.AppPreviewProvider
@Composable @Composable
fun AppDetailsMenu( fun AppDetailsMenu(
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
state: AppState = AppState.Unavailable,
isInstalled: Boolean = false, isInstalled: Boolean = false,
isFavorite: Boolean = false, isFavorite: Boolean = false,
isExpanded: Boolean = false, isExpanded: Boolean = false,
@@ -75,7 +77,8 @@ fun AppDetailsMenu(
DropdownMenu(expanded = expanded, onDismissRequest = { expanded = false }) { DropdownMenu(expanded = expanded, onDismissRequest = { expanded = false }) {
DropdownMenuItem( DropdownMenuItem(
text = { Text(text = stringResource(R.string.title_manual_download)) }, text = { Text(text = stringResource(R.string.title_manual_download)) },
onClick = { onClick(MenuItem.MANUAL_DOWNLOAD) } onClick = { onClick(MenuItem.MANUAL_DOWNLOAD) },
enabled = !state.inProgress()
) )
DropdownMenuItem( DropdownMenuItem(
text = { Text(text = stringResource(R.string.title_download_playstore)) }, text = { Text(text = stringResource(R.string.title_download_playstore)) },