Fix crash when putting app in background (#3523)

This commit is contained in:
AntsyLich
2026-07-05 11:51:10 +06:00
committed by GitHub
parent 94b3b5eaa2
commit c3bf7a78c0
2 changed files with 22 additions and 2 deletions
+1
View File
@@ -19,6 +19,7 @@ The format is a modified version of [Keep a Changelog](https://keepachangelog.co
### Fixed ### Fixed
- Fix Shikimori tracking not working ([@MajorTanya](https://github.com/MajorTanya)) ([#3497](https://github.com/mihonapp/mihon/pull/3497)) - Fix Shikimori tracking not working ([@MajorTanya](https://github.com/MajorTanya)) ([#3497](https://github.com/mihonapp/mihon/pull/3497))
- Fix crash trying to select text in notes screen ([@AntsyLich](https://github.com/AntsyLich)) ([#3516](https://github.com/mihonapp/mihon/pull/3516)) - Fix crash trying to select text in notes screen ([@AntsyLich](https://github.com/AntsyLich)) ([#3516](https://github.com/mihonapp/mihon/pull/3516))
- Fix crash when putting app in background ([@AntsyLich](https://github.com/AntsyLich)) ([#3523](https://github.com/mihonapp/mihon/pull/3523))
## [v0.20.0] - 2026-06-27 ## [v0.20.0] - 2026-06-27
### Added ### Added
@@ -1,14 +1,20 @@
package tachiyomi.domain.manga.model package tachiyomi.domain.manga.model
import android.annotation.SuppressLint
import androidx.compose.runtime.Immutable import androidx.compose.runtime.Immutable
import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.model.SManga
import eu.kanade.tachiyomi.source.model.UpdateStrategy import eu.kanade.tachiyomi.source.model.UpdateStrategy
import kotlinx.serialization.Serializable
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.JsonObject import kotlinx.serialization.json.JsonObject
import mihon.core.common.extensions.EMPTY import mihon.core.common.extensions.EMPTY
import tachiyomi.core.common.preference.TriState import tachiyomi.core.common.preference.TriState
import java.io.Serializable import java.io.ObjectStreamException
import java.time.Instant import java.time.Instant
import java.io.Serializable as JavaSerializable
@SuppressLint("UnsafeOptInUsageError")
@Serializable
@Immutable @Immutable
data class Manga( data class Manga(
val id: Long, val id: Long,
@@ -36,7 +42,7 @@ data class Manga(
val version: Long, val version: Long,
val notes: String, val notes: String,
val memo: JsonObject, val memo: JsonObject,
) : Serializable { ) : JavaSerializable {
val expectedNextUpdate: Instant? val expectedNextUpdate: Instant?
get() = nextUpdate get() = nextUpdate
@@ -134,4 +140,17 @@ data class Manga(
memo = JsonObject.EMPTY, memo = JsonObject.EMPTY,
) )
} }
@Throws(ObjectStreamException::class)
private fun writeReplace(): Any {
return JavaToKotlinXSerializable(Json.encodeToString<Manga>(this))
}
class JavaToKotlinXSerializable(private val data: String) : JavaSerializable {
@Throws(ObjectStreamException::class)
private fun readResolve(): Any {
return Json.decodeFromString<Manga>(data)
}
}
} }