Retain candidate metadata across updater states
This commit is contained in:
parent
152dac97c0
commit
7a0cbdf909
2 changed files with 9 additions and 1 deletions
|
|
@ -9,16 +9,22 @@ class FakeUpdateController(
|
||||||
initialState: UpdateUiState = UpdateUiState.Idle,
|
initialState: UpdateUiState = UpdateUiState.Idle,
|
||||||
initialAutoCheck: Boolean = true,
|
initialAutoCheck: Boolean = true,
|
||||||
initialVersion: InstalledVersion = InstalledVersion("1.1.1", 100001),
|
initialVersion: InstalledVersion = InstalledVersion("1.1.1", 100001),
|
||||||
|
initialRelease: UpdateUiState.Available? = initialState as? UpdateUiState.Available,
|
||||||
) : UpdateController {
|
) : UpdateController {
|
||||||
private val mutableState = MutableStateFlow(initialState)
|
private val mutableState = MutableStateFlow(initialState)
|
||||||
private val mutableAutoCheck = MutableStateFlow(initialAutoCheck)
|
private val mutableAutoCheck = MutableStateFlow(initialAutoCheck)
|
||||||
private val mutableVersion = MutableStateFlow(initialVersion)
|
private val mutableVersion = MutableStateFlow(initialVersion)
|
||||||
|
private val mutableRelease = MutableStateFlow(initialRelease)
|
||||||
override val state = mutableState.asStateFlow()
|
override val state = mutableState.asStateFlow()
|
||||||
override val autoCheck = mutableAutoCheck.asStateFlow()
|
override val autoCheck = mutableAutoCheck.asStateFlow()
|
||||||
override val installedVersion = mutableVersion.asStateFlow()
|
override val installedVersion = mutableVersion.asStateFlow()
|
||||||
|
override val release = mutableRelease.asStateFlow()
|
||||||
val actions = mutableListOf<String>()
|
val actions = mutableListOf<String>()
|
||||||
|
|
||||||
fun show(state: UpdateUiState) { mutableState.value = state }
|
fun show(state: UpdateUiState) {
|
||||||
|
if (state is UpdateUiState.Available) mutableRelease.value = state
|
||||||
|
mutableState.value = state
|
||||||
|
}
|
||||||
fun showInstalled(version: InstalledVersion) { mutableVersion.value = version }
|
fun showInstalled(version: InstalledVersion) { mutableVersion.value = version }
|
||||||
override fun check(manual: Boolean) { actions += "check:$manual" }
|
override fun check(manual: Boolean) { actions += "check:$manual" }
|
||||||
override fun download() { actions += "download" }
|
override fun download() { actions += "download" }
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,8 @@ interface UpdateController {
|
||||||
val state: StateFlow<UpdateUiState>
|
val state: StateFlow<UpdateUiState>
|
||||||
val autoCheck: StateFlow<Boolean>
|
val autoCheck: StateFlow<Boolean>
|
||||||
val installedVersion: StateFlow<InstalledVersion>
|
val installedVersion: StateFlow<InstalledVersion>
|
||||||
|
/** Candidate facts survive download/installer transitions and verified-file restoration. */
|
||||||
|
val release: StateFlow<UpdateUiState.Available?>
|
||||||
|
|
||||||
fun check(manual: Boolean)
|
fun check(manual: Boolean)
|
||||||
fun download()
|
fun download()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue