From 4de974e7c461b53c445fa3c7dd916538784ffce1 Mon Sep 17 00:00:00 2001 From: Aayush Gupta Date: Wed, 17 Sep 2025 14:11:36 +0530 Subject: [PATCH] compose: details: Emit downloading state during purchase Purchase can take a while making user believe there is no progress happening. Emit Downloading status with 0s to show loading indicator. Signed-off-by: Aayush Gupta --- .../com/aurora/store/viewmodel/details/AppDetailsViewModel.kt | 2 ++ 1 file changed, 2 insertions(+) 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 57c5ed8ce..44e5f9a6b 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 @@ -221,12 +221,14 @@ class AppDetailsViewModel @Inject constructor( fun purchase(app: App) { viewModelScope.launch(Dispatchers.IO) { try { + _state.value = AppState.Downloading(0F, 0 ,0) val files = purchaseHelper.purchase(app.packageName, app.versionCode, app.offerType) _purchaseStatus.emit(files.isNotEmpty()) if (files.isNotEmpty()) { downloadHelper.enqueueApp(app.copy(fileList = files.toMutableList())) } } catch (exception: Exception) { + _state.value = defaultAppState _purchaseStatus.emit(false) Log.e(TAG, "Failed to purchase the app", exception) }