diff --git a/app/src/main/java/com/aurora/store/compose/composables/DownloadComposable.kt b/app/src/main/java/com/aurora/store/compose/composables/DownloadComposable.kt index 12cd45482..2d7f16e6d 100644 --- a/app/src/main/java/com/aurora/store/compose/composables/DownloadComposable.kt +++ b/app/src/main/java/com/aurora/store/compose/composables/DownloadComposable.kt @@ -137,7 +137,8 @@ fun DownloadComposable( trailingButton = { SplitButtonDefaults.TrailingButton( checked = isExpanded, - onCheckedChange = { isExpanded = it } + onCheckedChange = { isExpanded = it }, + enabled = download.canInstall(context) ) { Icon( painter = when { diff --git a/app/src/main/java/com/aurora/store/viewmodel/details/AppDetailsViewModel.kt b/app/src/main/java/com/aurora/store/viewmodel/details/AppDetailsViewModel.kt index 44e5f9a6b..fd1e9612b 100644 --- a/app/src/main/java/com/aurora/store/viewmodel/details/AppDetailsViewModel.kt +++ b/app/src/main/java/com/aurora/store/viewmodel/details/AppDetailsViewModel.kt @@ -40,6 +40,7 @@ import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_EXTENDED import dagger.hilt.android.lifecycle.HiltViewModel import dagger.hilt.android.qualifiers.ApplicationContext import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.NonCancellable import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.SharingStarted @@ -219,7 +220,7 @@ class AppDetailsViewModel @Inject constructor( } fun purchase(app: App) { - viewModelScope.launch(Dispatchers.IO) { + viewModelScope.launch(NonCancellable + Dispatchers.IO) { try { _state.value = AppState.Downloading(0F, 0 ,0) val files = purchaseHelper.purchase(app.packageName, app.versionCode, app.offerType)