From 0e4184f4342d4b6383499d3c6a3727e84f3adb8f Mon Sep 17 00:00:00 2001 From: Aayush Gupta Date: Mon, 1 Sep 2025 22:57:06 +0800 Subject: [PATCH] compose: details: Also map requested version code to shared libraries Forward port e766c8000b35035323e7faef3da8145a0e6db211 but for compose Signed-off-by: Aayush Gupta --- .../store/compose/ui/details/ManualDownloadScreen.kt | 10 +++++++++- .../store/viewmodel/details/AppDetailsViewModel.kt | 8 +++----- 2 files changed, 12 insertions(+), 6 deletions(-) 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)