diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/bookmarks/ui/sheet/BookmarksSheet.kt b/app/src/main/kotlin/org/koitharu/kotatsu/bookmarks/ui/sheet/BookmarksSheet.kt index 1d229a251..4fd65ebcd 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/bookmarks/ui/sheet/BookmarksSheet.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/bookmarks/ui/sheet/BookmarksSheet.kt @@ -162,7 +162,7 @@ class BookmarksSheet : fun show(fm: FragmentManager, manga: Manga) { BookmarksSheet().withArgs(1) { - putParcelable(ARG_MANGA, ParcelableManga(manga, withChapters = true)) + putParcelable(ARG_MANGA, ParcelableManga(manga)) }.showDistinct(fm, TAG) } } diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/core/AppModule.kt b/app/src/main/kotlin/org/koitharu/kotatsu/core/AppModule.kt index e19266023..8e1eaff43 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/core/AppModule.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/core/AppModule.kt @@ -30,7 +30,8 @@ import org.koitharu.kotatsu.core.cache.ContentCache import org.koitharu.kotatsu.core.cache.MemoryContentCache import org.koitharu.kotatsu.core.cache.StubContentCache import org.koitharu.kotatsu.core.db.MangaDatabase -import org.koitharu.kotatsu.core.network.* +import org.koitharu.kotatsu.core.network.ImageProxyInterceptor +import org.koitharu.kotatsu.core.network.MangaHttpClient import org.koitharu.kotatsu.core.os.AppShortcutManager import org.koitharu.kotatsu.core.os.NetworkState import org.koitharu.kotatsu.core.parser.MangaLoaderContextImpl @@ -40,7 +41,6 @@ import org.koitharu.kotatsu.core.ui.image.CoilImageGetter import org.koitharu.kotatsu.core.ui.util.ActivityRecreationHandle import org.koitharu.kotatsu.core.util.AcraScreenLogger import org.koitharu.kotatsu.core.util.IncognitoModeIndicator -import org.koitharu.kotatsu.core.util.ext.activityManager import org.koitharu.kotatsu.core.util.ext.connectivityManager import org.koitharu.kotatsu.core.util.ext.isLowRamDevice import org.koitharu.kotatsu.local.data.CacheDir @@ -161,7 +161,7 @@ interface AppModule { fun provideContentCache( application: Application, ): ContentCache { - return if (application.activityManager?.isLowRamDevice == true) { + return if (application.isLowRamDevice()) { StubContentCache() } else { MemoryContentCache(application) diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/core/model/parcelable/ParcelableChapter.kt b/app/src/main/kotlin/org/koitharu/kotatsu/core/model/parcelable/ParcelableChapter.kt new file mode 100644 index 000000000..190185bdd --- /dev/null +++ b/app/src/main/kotlin/org/koitharu/kotatsu/core/model/parcelable/ParcelableChapter.kt @@ -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 { + + 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) + } + } +} diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/core/model/parcelable/ParcelableManga.kt b/app/src/main/kotlin/org/koitharu/kotatsu/core/model/parcelable/ParcelableManga.kt index 81893cd4c..c4d19a593 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/core/model/parcelable/ParcelableManga.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/core/model/parcelable/ParcelableManga.kt @@ -9,55 +9,28 @@ import org.koitharu.kotatsu.core.util.ext.readParcelableCompat import org.koitharu.kotatsu.core.util.ext.readSerializableCompat import org.koitharu.kotatsu.parsers.model.Manga -// Limits to avoid TransactionTooLargeException -private const val MAX_SAFE_SIZE = 1024 * 100 // Assume that 100 kb is safe parcel size -private const val MAX_SAFE_CHAPTERS_COUNT = 24 // this is 100% safe - @Parcelize data class ParcelableManga( val manga: Manga, - private val withChapters: Boolean, ) : Parcelable { + companion object : Parceler { - private fun Manga.writeToParcel(out: Parcel, flags: Int, withChapters: Boolean) { - out.writeLong(id) - out.writeString(title) - out.writeString(altTitle) - out.writeString(url) - out.writeString(publicUrl) - out.writeFloat(rating) - ParcelCompat.writeBoolean(out, isNsfw) - out.writeString(coverUrl) - out.writeString(largeCoverUrl) - out.writeString(description) - out.writeParcelable(ParcelableMangaTags(tags), flags) - out.writeSerializable(state) - out.writeString(author) - val parcelableChapters = if (withChapters) null else chapters?.let(::ParcelableMangaChapters) - out.writeParcelable(parcelableChapters, flags) - out.writeSerializable(source) - } - override fun ParcelableManga.write(parcel: Parcel, flags: Int) { - val chapters = manga.chapters - if (!withChapters || chapters == null) { - manga.writeToParcel(parcel, flags, withChapters = false) - return - } - if (chapters.size <= MAX_SAFE_CHAPTERS_COUNT) { - // fast path - manga.writeToParcel(parcel, flags, withChapters = true) - return - } - val tempParcel = Parcel.obtain() - manga.writeToParcel(tempParcel, flags, withChapters = true) - val size = tempParcel.dataSize() - if (size < MAX_SAFE_SIZE) { - parcel.appendFrom(tempParcel, 0, size) - } else { - manga.writeToParcel(parcel, flags, withChapters = false) - } - tempParcel.recycle() + override fun ParcelableManga.write(parcel: Parcel, flags: Int) = with(manga) { + parcel.writeLong(id) + parcel.writeString(title) + parcel.writeString(altTitle) + parcel.writeString(url) + parcel.writeString(publicUrl) + parcel.writeFloat(rating) + ParcelCompat.writeBoolean(parcel, isNsfw) + parcel.writeString(coverUrl) + parcel.writeString(largeCoverUrl) + parcel.writeString(description) + parcel.writeParcelable(ParcelableMangaTags(tags), flags) + parcel.writeSerializable(state) + parcel.writeString(author) + parcel.writeSerializable(source) } override fun create(parcel: Parcel) = ParcelableManga( @@ -75,10 +48,9 @@ data class ParcelableManga( tags = requireNotNull(parcel.readParcelableCompat()).tags, state = parcel.readSerializableCompat(), author = parcel.readString(), - chapters = parcel.readParcelableCompat()?.chapters, + chapters = null, source = requireNotNull(parcel.readSerializableCompat()), - ), - withChapters = true + ) ) } } diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/core/model/parcelable/ParcelableMangaChapters.kt b/app/src/main/kotlin/org/koitharu/kotatsu/core/model/parcelable/ParcelableMangaChapters.kt deleted file mode 100644 index e080696cf..000000000 --- a/app/src/main/kotlin/org/koitharu/kotatsu/core/model/parcelable/ParcelableMangaChapters.kt +++ /dev/null @@ -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 { - 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 -data class ParcelableMangaChapters(val chapters: List) : Parcelable diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/details/service/MangaPrefetchService.kt b/app/src/main/kotlin/org/koitharu/kotatsu/details/service/MangaPrefetchService.kt index 0f0844c13..0debc76e2 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/details/service/MangaPrefetchService.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/details/service/MangaPrefetchService.kt @@ -5,8 +5,8 @@ import android.content.Intent import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.EntryPointAccessors import org.koitharu.kotatsu.core.cache.ContentCache +import org.koitharu.kotatsu.core.model.parcelable.ParcelableChapter import org.koitharu.kotatsu.core.model.parcelable.ParcelableManga -import org.koitharu.kotatsu.core.model.parcelable.ParcelableMangaChapters import org.koitharu.kotatsu.core.parser.MangaRepository import org.koitharu.kotatsu.core.ui.CoroutineIntentService import org.koitharu.kotatsu.core.util.ext.getParcelableExtraCompat @@ -34,12 +34,13 @@ class MangaPrefetchService : CoroutineIntentService() { override suspend fun processIntent(startId: Int, intent: Intent) { when (intent.action) { ACTION_PREFETCH_DETAILS -> prefetchDetails( - manga = intent.getParcelableExtraCompat(EXTRA_MANGA)?.manga ?: return, + manga = intent.getParcelableExtraCompat(EXTRA_MANGA)?.manga + ?: return, ) ACTION_PREFETCH_PAGES -> prefetchPages( - chapter = intent.getParcelableExtraCompat(EXTRA_CHAPTER) - ?.chapters?.singleOrNull() ?: return, + chapter = intent.getParcelableExtraCompat(EXTRA_CHAPTER)?.chapter + ?: return, ) ACTION_PREFETCH_LAST -> prefetchLast() @@ -88,7 +89,7 @@ class MangaPrefetchService : CoroutineIntentService() { if (!isPrefetchAvailable(context, manga.source)) return val intent = Intent(context, MangaPrefetchService::class.java) intent.action = ACTION_PREFETCH_DETAILS - intent.putExtra(EXTRA_MANGA, ParcelableManga(manga, withChapters = false)) + intent.putExtra(EXTRA_MANGA, ParcelableManga(manga)) context.startService(intent) } @@ -96,7 +97,7 @@ class MangaPrefetchService : CoroutineIntentService() { if (!isPrefetchAvailable(context, chapter.source)) return val intent = Intent(context, MangaPrefetchService::class.java) intent.action = ACTION_PREFETCH_PAGES - intent.putExtra(EXTRA_CHAPTER, ParcelableMangaChapters(listOf(chapter))) + intent.putExtra(EXTRA_CHAPTER, ParcelableChapter(chapter)) try { context.startService(intent) } catch (e: IllegalStateException) { @@ -119,7 +120,10 @@ class MangaPrefetchService : CoroutineIntentService() { if (context.isPowerSaveMode()) { return false } - val entryPoint = EntryPointAccessors.fromApplication(context, PrefetchCompanionEntryPoint::class.java) + val entryPoint = EntryPointAccessors.fromApplication( + context, + PrefetchCompanionEntryPoint::class.java + ) return entryPoint.contentCache.isCachingEnabled && entryPoint.settings.isContentPrefetchEnabled } } diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/details/ui/DetailsActivity.kt b/app/src/main/kotlin/org/koitharu/kotatsu/details/ui/DetailsActivity.kt index b03b19521..86b351120 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/details/ui/DetailsActivity.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/details/ui/DetailsActivity.kt @@ -369,7 +369,7 @@ class DetailsActivity : fun newIntent(context: Context, manga: Manga): Intent { return Intent(context, DetailsActivity::class.java) - .putExtra(MangaIntent.KEY_MANGA, ParcelableManga(manga, withChapters = true)) + .putExtra(MangaIntent.KEY_MANGA, ParcelableManga(manga)) } fun newIntent(context: Context, mangaId: Long): Intent { diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/details/ui/related/RelatedMangaActivity.kt b/app/src/main/kotlin/org/koitharu/kotatsu/details/ui/related/RelatedMangaActivity.kt index 49aca965c..fc8806f64 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/details/ui/related/RelatedMangaActivity.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/details/ui/related/RelatedMangaActivity.kt @@ -45,6 +45,6 @@ class RelatedMangaActivity : BaseActivity(), AppBarOwn companion object { fun newIntent(context: Context, seed: Manga) = Intent(context, RelatedMangaActivity::class.java) - .putExtra(MangaIntent.KEY_MANGA, ParcelableManga(seed, withChapters = false)) + .putExtra(MangaIntent.KEY_MANGA, ParcelableManga(seed)) } } diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/favourites/ui/categories/select/FavouriteSheet.kt b/app/src/main/kotlin/org/koitharu/kotatsu/favourites/ui/categories/select/FavouriteSheet.kt index e79f9fcf7..f35629c2b 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/favourites/ui/categories/select/FavouriteSheet.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/favourites/ui/categories/select/FavouriteSheet.kt @@ -76,10 +76,7 @@ class FavouriteSheet : putParcelableArrayList( KEY_MANGA_LIST, manga.mapTo(ArrayList(manga.size)) { - ParcelableManga( - it, - withChapters = false, - ) + ParcelableManga(it) }, ) }.showDistinct(fm, TAG) diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/local/ui/LocalChaptersRemoveService.kt b/app/src/main/kotlin/org/koitharu/kotatsu/local/ui/LocalChaptersRemoveService.kt index b26447821..b09d7180f 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/local/ui/LocalChaptersRemoveService.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/local/ui/LocalChaptersRemoveService.kt @@ -106,7 +106,7 @@ class LocalChaptersRemoveService : CoroutineIntentService() { return } val intent = Intent(context, LocalChaptersRemoveService::class.java) - intent.putExtra(EXTRA_MANGA, ParcelableManga(manga, withChapters = false)) + intent.putExtra(EXTRA_MANGA, ParcelableManga(manga)) intent.putExtra(EXTRA_CHAPTERS_IDS, chaptersIds.toLongArray()) ContextCompat.startForegroundService(context, intent) } diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ChaptersSheet.kt b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ChaptersSheet.kt index 1d30aebb9..6ccf620fd 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ChaptersSheet.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ChaptersSheet.kt @@ -5,16 +5,14 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.FragmentManager +import androidx.fragment.app.activityViewModels import dagger.hilt.android.AndroidEntryPoint import org.koitharu.kotatsu.R -import org.koitharu.kotatsu.core.model.parcelable.ParcelableMangaChapters import org.koitharu.kotatsu.core.prefs.AppSettings import org.koitharu.kotatsu.core.ui.list.OnListItemClickListener import org.koitharu.kotatsu.core.ui.sheet.BaseAdaptiveSheet import org.koitharu.kotatsu.core.util.RecyclerViewScrollCallback -import org.koitharu.kotatsu.core.util.ext.getParcelableCompat import org.koitharu.kotatsu.core.util.ext.showDistinct -import org.koitharu.kotatsu.core.util.ext.withArgs import org.koitharu.kotatsu.databinding.SheetChaptersBinding import org.koitharu.kotatsu.details.ui.adapter.ChaptersAdapter import org.koitharu.kotatsu.details.ui.model.ChapterListItem @@ -24,23 +22,29 @@ import javax.inject.Inject import kotlin.math.roundToInt @AndroidEntryPoint -class ChaptersSheet : BaseAdaptiveSheet(), OnListItemClickListener { +class ChaptersSheet : BaseAdaptiveSheet(), + OnListItemClickListener { @Inject lateinit var settings: AppSettings - override fun onCreateViewBinding(inflater: LayoutInflater, container: ViewGroup?): SheetChaptersBinding { + private val viewModel: ReaderViewModel by activityViewModels() + + override fun onCreateViewBinding( + inflater: LayoutInflater, + container: ViewGroup?, + ): SheetChaptersBinding { return SheetChaptersBinding.inflate(inflater, container, false) } override fun onViewBindingCreated(binding: SheetChaptersBinding, savedInstanceState: Bundle?) { super.onViewBindingCreated(binding, savedInstanceState) - val chapters = arguments?.getParcelableCompat(ARG_CHAPTERS)?.chapters + val chapters = viewModel.manga?.chapters if (chapters.isNullOrEmpty()) { dismissAllowingStateLoss() return } - val currentId = requireArguments().getLong(ARG_CURRENT_ID, 0L) + val currentId = viewModel.getCurrentState()?.chapterId ?: 0L val currentPosition = chapters.indexOfFirst { it.id == currentId } val items = chapters.mapIndexed { index, chapter -> chapter.toListItem( @@ -54,8 +58,11 @@ class ChaptersSheet : BaseAdaptiveSheet(), OnListItemClick binding.recyclerView.adapter = ChaptersAdapter(this).also { adapter -> if (currentPosition >= 0) { val targetPosition = (currentPosition - 1).coerceAtLeast(0) - val offset = (resources.getDimensionPixelSize(R.dimen.chapter_list_item_height) * 0.6).roundToInt() - adapter.setItems(items, RecyclerViewScrollCallback(binding.recyclerView, targetPosition, offset)) + val offset = + (resources.getDimensionPixelSize(R.dimen.chapter_list_item_height) * 0.6).roundToInt() + adapter.setItems( + items, RecyclerViewScrollCallback(binding.recyclerView, targetPosition, offset) + ) } else { adapter.items = items } @@ -63,7 +70,8 @@ class ChaptersSheet : BaseAdaptiveSheet(), OnListItemClick } override fun onItemClick(item: ChapterListItem, view: View) { - ((parentFragment as? OnChapterChangeListener) ?: (activity as? OnChapterChangeListener))?.let { + ((parentFragment as? OnChapterChangeListener) + ?: (activity as? OnChapterChangeListener))?.let { dismiss() it.onChapterChanged(item.chapter) } @@ -76,18 +84,8 @@ class ChaptersSheet : BaseAdaptiveSheet(), OnListItemClick companion object { - private const val ARG_CHAPTERS = "chapters" - private const val ARG_CURRENT_ID = "current_id" - private const val TAG = "ChaptersBottomSheet" - fun show( - fm: FragmentManager, - chapters: List, - currentId: Long, - ) = ChaptersSheet().withArgs(2) { - putParcelable(ARG_CHAPTERS, ParcelableMangaChapters(chapters)) - putLong(ARG_CURRENT_ID, currentId) - }.showDistinct(fm, TAG) + fun show(fm: FragmentManager) = ChaptersSheet().showDistinct(fm, TAG) } } diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderActivity.kt b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderActivity.kt index b9dbdc5e3..24997fe58 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderActivity.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/ReaderActivity.kt @@ -181,11 +181,7 @@ class ReaderActivity : } R.id.action_chapters -> { - ChaptersSheet.show( - supportFragmentManager, - viewModel.manga?.chapters.orEmpty(), - viewModel.getCurrentState()?.chapterId ?: 0L, - ) + ChaptersSheet.show(supportFragmentManager) } R.id.action_pages_thumbs -> { @@ -404,7 +400,7 @@ class ReaderActivity : .setAction(ACTION_MANGA_READ) fun manga(manga: Manga) = apply { - intent.putExtra(MangaIntent.KEY_MANGA, ParcelableManga(manga, withChapters = true)) + intent.putExtra(MangaIntent.KEY_MANGA, ParcelableManga(manga)) } fun mangaId(mangaId: Long) = apply { diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/colorfilter/ColorFilterConfigActivity.kt b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/colorfilter/ColorFilterConfigActivity.kt index 15a80a2a2..629d781d5 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/colorfilter/ColorFilterConfigActivity.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/colorfilter/ColorFilterConfigActivity.kt @@ -152,7 +152,7 @@ class ColorFilterConfigActivity : fun newIntent(context: Context, manga: Manga, page: MangaPage) = Intent(context, ColorFilterConfigActivity::class.java) - .putExtra(EXTRA_MANGA, ParcelableManga(manga, withChapters = false)) + .putExtra(EXTRA_MANGA, ParcelableManga(manga)) .putExtra(EXTRA_PAGES, ParcelableMangaPage(page)) } } diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/thumbnails/PagesThumbnailsSheet.kt b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/thumbnails/PagesThumbnailsSheet.kt index 8c31c4c25..d86f15d8b 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/thumbnails/PagesThumbnailsSheet.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/reader/ui/thumbnails/PagesThumbnailsSheet.kt @@ -190,7 +190,7 @@ class PagesThumbnailsSheet : fun show(fm: FragmentManager, manga: Manga, chapterId: Long, currentPage: Int = -1) { PagesThumbnailsSheet().withArgs(3) { - putParcelable(ARG_MANGA, ParcelableManga(manga, withChapters = true)) + putParcelable(ARG_MANGA, ParcelableManga(manga)) putLong(ARG_CHAPTER_ID, chapterId) putInt(ARG_CURRENT_PAGE, currentPage) }.showDistinct(fm, TAG) diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/scrobbling/common/ui/selector/ScrobblingSelectorSheet.kt b/app/src/main/kotlin/org/koitharu/kotatsu/scrobbling/common/ui/selector/ScrobblingSelectorSheet.kt index 72b434fba..3f098e3e0 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/scrobbling/common/ui/selector/ScrobblingSelectorSheet.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/scrobbling/common/ui/selector/ScrobblingSelectorSheet.kt @@ -204,7 +204,7 @@ class ScrobblingSelectorSheet : fun show(fm: FragmentManager, manga: Manga, scrobblerService: ScrobblerService?) = ScrobblingSelectorSheet().withArgs(2) { - putParcelable(MangaIntent.KEY_MANGA, ParcelableManga(manga, withChapters = false)) + putParcelable(MangaIntent.KEY_MANGA, ParcelableManga(manga)) if (scrobblerService != null) { putInt(ARG_SCROBBLER, scrobblerService.id) } diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/search/ui/MangaListActivity.kt b/app/src/main/kotlin/org/koitharu/kotatsu/search/ui/MangaListActivity.kt index 5b28f894a..074154d8c 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/search/ui/MangaListActivity.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/search/ui/MangaListActivity.kt @@ -102,7 +102,7 @@ class MangaListActivity : fun showPreview(manga: Manga): Boolean = setSideFragment( PreviewFragment::class.java, - bundleOf(MangaIntent.KEY_MANGA to ParcelableManga(manga, true)), + bundleOf(MangaIntent.KEY_MANGA to ParcelableManga(manga)), ) fun hidePreview() = setSideFragment(FilterSheetFragment::class.java, null)