Avoid passing manga chapters via extras
parent
8df7fa2729
commit
ca47c475d3
@ -0,0 +1,42 @@
|
|||||||
|
package org.koitharu.kotatsu.core.model.parcelable
|
||||||
|
|
||||||
|
import android.os.Parcel
|
||||||
|
import android.os.Parcelable
|
||||||
|
import kotlinx.parcelize.Parceler
|
||||||
|
import kotlinx.parcelize.Parcelize
|
||||||
|
import org.koitharu.kotatsu.core.util.ext.readSerializableCompat
|
||||||
|
import org.koitharu.kotatsu.parsers.model.MangaChapter
|
||||||
|
import org.koitharu.kotatsu.parsers.model.MangaSource
|
||||||
|
|
||||||
|
@Parcelize
|
||||||
|
data class ParcelableChapter(
|
||||||
|
val chapter: MangaChapter,
|
||||||
|
) : Parcelable {
|
||||||
|
|
||||||
|
companion object : Parceler<ParcelableChapter> {
|
||||||
|
|
||||||
|
override fun create(parcel: Parcel) = ParcelableChapter(
|
||||||
|
MangaChapter(
|
||||||
|
id = parcel.readLong(),
|
||||||
|
name = parcel.readString().orEmpty(),
|
||||||
|
number = parcel.readInt(),
|
||||||
|
url = parcel.readString().orEmpty(),
|
||||||
|
scanlator = parcel.readString(),
|
||||||
|
uploadDate = parcel.readLong(),
|
||||||
|
branch = parcel.readString(),
|
||||||
|
source = parcel.readSerializableCompat() ?: MangaSource.DUMMY,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
override fun ParcelableChapter.write(parcel: Parcel, flags: Int) = with(chapter) {
|
||||||
|
parcel.writeLong(id)
|
||||||
|
parcel.writeString(name)
|
||||||
|
parcel.writeInt(number)
|
||||||
|
parcel.writeString(url)
|
||||||
|
parcel.writeString(scanlator)
|
||||||
|
parcel.writeLong(uploadDate)
|
||||||
|
parcel.writeString(branch)
|
||||||
|
parcel.writeSerializable(source)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,37 +0,0 @@
|
|||||||
package org.koitharu.kotatsu.core.model.parcelable
|
|
||||||
|
|
||||||
import android.os.Parcel
|
|
||||||
import android.os.Parcelable
|
|
||||||
import kotlinx.parcelize.Parceler
|
|
||||||
import kotlinx.parcelize.Parcelize
|
|
||||||
import kotlinx.parcelize.TypeParceler
|
|
||||||
import org.koitharu.kotatsu.core.util.ext.readSerializableCompat
|
|
||||||
import org.koitharu.kotatsu.parsers.model.MangaChapter
|
|
||||||
|
|
||||||
object MangaChapterParceler : Parceler<MangaChapter> {
|
|
||||||
override fun create(parcel: Parcel) = MangaChapter(
|
|
||||||
id = parcel.readLong(),
|
|
||||||
name = requireNotNull(parcel.readString()),
|
|
||||||
number = parcel.readInt(),
|
|
||||||
url = requireNotNull(parcel.readString()),
|
|
||||||
scanlator = parcel.readString(),
|
|
||||||
uploadDate = parcel.readLong(),
|
|
||||||
branch = parcel.readString(),
|
|
||||||
source = requireNotNull(parcel.readSerializableCompat()),
|
|
||||||
)
|
|
||||||
|
|
||||||
override fun MangaChapter.write(parcel: Parcel, flags: Int) {
|
|
||||||
parcel.writeLong(id)
|
|
||||||
parcel.writeString(name)
|
|
||||||
parcel.writeInt(number)
|
|
||||||
parcel.writeString(url)
|
|
||||||
parcel.writeString(scanlator)
|
|
||||||
parcel.writeLong(uploadDate)
|
|
||||||
parcel.writeString(branch)
|
|
||||||
parcel.writeSerializable(source)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Parcelize
|
|
||||||
@TypeParceler<MangaChapter, MangaChapterParceler>
|
|
||||||
data class ParcelableMangaChapters(val chapters: List<MangaChapter>) : Parcelable
|
|
||||||
Loading…
Reference in New Issue