From 5839f1d39452f6c0d23f217e897651432119ebb4 Mon Sep 17 00:00:00 2001 From: FatttSnake Date: Sun, 18 Aug 2024 14:46:27 +0800 Subject: [PATCH] Refactor(ToolStore): Auto refresh status after install or upgrade tool --- .../top/fatweb/oxygen/toolbox/model/tool/ToolEntity.kt | 4 ++-- .../oxygen/toolbox/ui/tool/ToolStoreViewModel.kt | 10 +++++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/app/src/main/kotlin/top/fatweb/oxygen/toolbox/model/tool/ToolEntity.kt b/app/src/main/kotlin/top/fatweb/oxygen/toolbox/model/tool/ToolEntity.kt index e6f6f02..611a442 100644 --- a/app/src/main/kotlin/top/fatweb/oxygen/toolbox/model/tool/ToolEntity.kt +++ b/app/src/main/kotlin/top/fatweb/oxygen/toolbox/model/tool/ToolEntity.kt @@ -49,10 +49,10 @@ data class ToolEntity( val isStar: Boolean = false, - val isInstalled: Boolean = false, + var isInstalled: Boolean = false, @ColumnInfo(defaultValue = "NULL") - val upgrade: String? = null + var upgrade: String? = null ) { constructor(toolId: String, authorUsername: String, ver: String, upgrade: String? = null) : this( diff --git a/app/src/main/kotlin/top/fatweb/oxygen/toolbox/ui/tool/ToolStoreViewModel.kt b/app/src/main/kotlin/top/fatweb/oxygen/toolbox/ui/tool/ToolStoreViewModel.kt index 1a19c50..b381a95 100644 --- a/app/src/main/kotlin/top/fatweb/oxygen/toolbox/ui/tool/ToolStoreViewModel.kt +++ b/app/src/main/kotlin/top/fatweb/oxygen/toolbox/ui/tool/ToolStoreViewModel.kt @@ -57,13 +57,17 @@ class ToolStoreViewModel @Inject constructor( is Result.Success -> { when (installInfo.value.type) { - ToolStoreUiState.InstallInfo.Type.Install -> toolRepository.saveTool( - result.data - ) + ToolStoreUiState.InstallInfo.Type.Install -> { + toolRepository.saveTool( + result.data + ) + toolEntity.isInstalled = true + } ToolStoreUiState.InstallInfo.Type.Upgrade -> { toolRepository.removeTool(toolEntity) toolRepository.saveTool(result.data) + toolEntity.upgrade = null } }