Фикс вечной кнопки

This commit is contained in:
2026-03-17 18:20:12 +07:00
parent a3fdc9559b
commit 74d5db3f05

View File

@@ -298,6 +298,12 @@ object UpdateManager {
}
context.startActivity(intent)
// Сбрасываем состояние — установщик запущен, баннер больше не нужен
activeApkPath = null
activeApkVersion = null
persistState(context)
_updateState.value = UpdateState.Idle
_downloadProgress.value = 0
} catch (e: Exception) {
Log.e(TAG, "Failed to launch installer", e)
_updateState.value = UpdateState.Error("Failed to open installer: ${e.message}")
@@ -390,8 +396,19 @@ object UpdateManager {
if (!restoredPath.isNullOrBlank()) {
val apk = File(restoredPath)
if (apk.exists()) {
_downloadProgress.value = 100
_updateState.value = UpdateState.ReadyToInstall(apk.absolutePath)
// Показываем баннер только если сохранённая версия НОВЕЕ текущей
val isNewer = !restoredVersion.isNullOrBlank() &&
compareVersions(restoredVersion, appVersion) > 0
if (isNewer) {
_downloadProgress.value = 100
_updateState.value = UpdateState.ReadyToInstall(apk.absolutePath)
} else {
// APK уже устарел (юзер обновился или скачал ту же версию) — удаляем
apk.delete()
activeApkPath = null
activeApkVersion = null
persistState(context)
}
} else {
activeApkPath = null
activeApkVersion = null