Skip to content

Commit

Permalink
fix scripts installed version not updating if existing temp apk is re…
Browse files Browse the repository at this point in the history
…used while patching
  • Loading branch information
solrudev committed Dec 16, 2023
1 parent 20bd705 commit 6bf49fe
Showing 1 changed file with 7 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ package ru.solrudev.okkeipatcher.domain.game.gamefile.english

import ru.solrudev.okkeipatcher.R
import ru.solrudev.okkeipatcher.domain.core.operation.Operation
import ru.solrudev.okkeipatcher.domain.core.operation.aggregateOperation
import ru.solrudev.okkeipatcher.domain.core.operation.operation
import ru.solrudev.okkeipatcher.domain.core.operation.status
import ru.solrudev.okkeipatcher.domain.game.gamefile.Apk
Expand All @@ -41,29 +40,23 @@ class DefaultApk @Inject constructor(
private val scripts = patchRepository.scripts
private val scriptsPatchOperation = scriptsPatchOperationFactory.create(scripts)

override fun patch(): Operation<Unit> {
val installPatchedOperation = installPatched(updating = false)
override fun patch() = patch(updating = false)
override fun update() = patch(updating = true)

private fun patch(updating: Boolean): Operation<Unit> {
val installPatchedOperation = installPatched(updating)
return operation(scriptsPatchOperation, installPatchedOperation) {
status(R.string.status_comparing_apk)
if (apkRepository.verifyTemp()) {
progressDelta(scriptsPatchOperation.progressMax)
installPatchedOperation()
scripts.updateInstalledVersion()
return@operation
}
apkRepository.deleteTemp()
scriptsPatchOperation()
installPatchedOperation()
scripts.updateInstalledVersion()
}
}

override fun update() = aggregateOperation(
operation {
apkRepository.deleteTemp()
},
scriptsPatchOperation,
installPatched(updating = true),
operation {
scripts.updateInstalledVersion()
}
)
}

0 comments on commit 6bf49fe

Please sign in to comment.