From c7dc525157961a1720c32f0709cb8a19fb8a4fd9 Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Sun, 24 May 2026 10:58:46 -0400 Subject: [PATCH] fix(android): use explicit serializer form for encodeToString MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adding `` to encodeToString made it bind to the wrong overload — the compiler picked `encodeToString(SerializationStrategy, T)` and tried to treat `payload` as the serializer. Switched to the explicit form: json.encodeToString(ResumePayload.serializer(), payload) Always unambiguous. (Decode is fine — `decodeFromString(String)` isn't overloaded the same way.) Co-Authored-By: Claude Opus 4.7 (1M context) --- .../java/com/fabledsword/minstrel/player/ResumeController.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/android/app/src/main/java/com/fabledsword/minstrel/player/ResumeController.kt b/android/app/src/main/java/com/fabledsword/minstrel/player/ResumeController.kt index 8c1076cd..1f666738 100644 --- a/android/app/src/main/java/com/fabledsword/minstrel/player/ResumeController.kt +++ b/android/app/src/main/java/com/fabledsword/minstrel/player/ResumeController.kt @@ -88,7 +88,9 @@ class ResumeController @Inject constructor( positionMs = state.positionMs, ) dao.upsert( - CachedResumeStateEntity(json = json.encodeToString(payload)), + CachedResumeStateEntity( + json = json.encodeToString(ResumePayload.serializer(), payload), + ), ) } }