Skip to content

Commit 02919e3

Browse files
xenonnn4wdavid-allison
authored andcommitted
fix: make TemplateChange serializable to prevent Android 15 crash
Fixes crash on Android 15 (SDK 35) when adding a card template and pressing Home/Back button. Android 15 enforces stricter Bundle serialization - TemplateChange objects must implement Serializable to be saved in onSaveInstanceState. Error: IllegalArgumentException: Parcel: unknown type for value TemplateChange(ordinal=1, type=ADD) Issue 19571
1 parent 5457f48 commit 02919e3

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

AnkiDroid/src/main/java/com/ichi2/anki/CardTemplateNotetype.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import android.os.Parcel
2323
import android.os.Parcelable
2424
import androidx.core.os.bundleOf
2525
import com.ichi2.anki.CollectionManager.withCol
26+
import com.ichi2.anki.common.annotations.NeedsTest
2627
import com.ichi2.anki.libanki.CardTemplate
2728
import com.ichi2.anki.libanki.NoteTypeId
2829
import com.ichi2.anki.libanki.NotetypeJson
@@ -44,10 +45,11 @@ class CardTemplateNotetype(
4445
DELETE,
4546
}
4647

48+
@NeedsTest("serialization on Android 15+ - regression test for crash when TemplateChange wasn't serializable")
4749
data class TemplateChange(
4850
var ordinal: Int,
4951
val type: ChangeType,
50-
)
52+
) : java.io.Serializable
5153

5254
var templateChanges = ArrayList<TemplateChange>()
5355
private set

0 commit comments

Comments
 (0)