diff --git a/app/src/main/java/com/aurora/store/compose/ui/details/ManualDownloadScreen.kt b/app/src/main/java/com/aurora/store/compose/ui/details/ManualDownloadScreen.kt index 2dd1b6c02..365d3e5a0 100644 --- a/app/src/main/java/com/aurora/store/compose/ui/details/ManualDownloadScreen.kt +++ b/app/src/main/java/com/aurora/store/compose/ui/details/ManualDownloadScreen.kt @@ -92,7 +92,15 @@ fun ManualDownloadScreen( currentVersionCode = app!!.versionCode, onNavigateUp = onNavigateUp, onDownload = { versionCode -> - viewModel.purchase(app!!.copy(versionCode = versionCode)) + val requestedApp = app!!.copy( + versionCode = versionCode, + dependencies = app!!.dependencies.copy( + dependentLibraries = app!!.dependencies.dependentLibraries.map { lib -> + lib.copy(versionCode = versionCode) + } + ) + ) + viewModel.purchase(requestedApp) } ) } 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 190949e58..0452fb99e 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 @@ -206,16 +206,14 @@ class AppDetailsViewModel @Inject constructor( } } - fun download(app: App) { - viewModelScope.launch { downloadHelper.enqueueApp(app) } - } - fun purchase(app: App) { viewModelScope.launch(Dispatchers.IO) { try { val files = purchaseHelper.purchase(app.packageName, app.versionCode, app.offerType) _purchaseStatus.emit(files.isNotEmpty()) - if (files.isNotEmpty()) download(app.copy(fileList = files.toMutableList())) + if (files.isNotEmpty()) { + downloadHelper.enqueueApp(app.copy(fileList = files.toMutableList())) + } } catch (exception: Exception) { _purchaseStatus.emit(false) Log.e(TAG, "Failed to purchase the app", exception)