Skip to content

Commit 859edf0

Browse files
committed
Fix reload chapter bug
1 parent 899481a commit 859edf0

File tree

5 files changed

+21
-7
lines changed

5 files changed

+21
-7
lines changed

app/src/main/java/com/lagradost/quicknovel/ReadActivityViewModel.kt

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -614,11 +614,12 @@ class ReadActivityViewModel : ViewModel() {
614614
private fun updateReadArea(seekToDesired: Boolean = false) {
615615
val cIndex = currentIndex
616616
val chapters = ArrayList<SpanDisplay>()
617+
val canReload = this.book.canReload
617618
when (readerType) {
618619
ReadingType.DEFAULT, ReadingType.INF_SCROLL -> {
619620
for (idx in cIndex - chapterPaddingBottom..cIndex + chapterPaddingTop) {
620621
if (idx < chaptersTitlesInternal.size && idx >= 0)
621-
chapters.add(ChapterStartSpanned(idx, 0, chaptersTitlesInternal[idx]))
622+
chapters.add(ChapterStartSpanned(idx, 0, chaptersTitlesInternal[idx], canReload))
622623
chapters.addAll(chapterIdxToSpanDisplay(idx))
623624
}
624625
}
@@ -629,7 +630,7 @@ class ReadActivityViewModel : ViewModel() {
629630
}
630631

631632
chaptersTitlesInternal.getOrNull(cIndex)?.let { text ->
632-
chapters.add(ChapterStartSpanned(cIndex, 0, text))
633+
chapters.add(ChapterStartSpanned(cIndex, 0, text, canReload))
633634
}
634635

635636
chapters.addAll(chapterIdxToSpanDisplay(cIndex))
@@ -645,7 +646,7 @@ class ReadActivityViewModel : ViewModel() {
645646
}
646647

647648
chaptersTitlesInternal.getOrNull(cIndex)?.let { text ->
648-
chapters.add(ChapterStartSpanned(cIndex, 0, text))
649+
chapters.add(ChapterStartSpanned(cIndex, 0, text, canReload))
649650
}
650651

651652
chapters.addAll(chapterIdxToSpanDisplay(cIndex))
@@ -1433,7 +1434,7 @@ class ReadActivityViewModel : ViewModel() {
14331434
currentTTSStatus != TTSHelper.TTSStatus.IsRunning || pendingTTSSkip != 0
14341435
}
14351436

1436-
if(!ttsSession.isValidTTS()) {
1437+
if (!ttsSession.isValidTTS()) {
14371438
currentTTSStatus = TTSHelper.TTSStatus.IsStopped
14381439
}
14391440

@@ -1684,14 +1685,14 @@ class ReadActivityViewModel : ViewModel() {
16841685
private var ttsSpeedKey by PreferenceDelegate(EPUB_TTS_SET_SPEED, 1.0f, Float::class)
16851686
private var ttsPitchKey by PreferenceDelegate(EPUB_TTS_SET_PITCH, 1.0f, Float::class)
16861687

1687-
var ttsSpeed : Float
1688+
var ttsSpeed: Float
16881689
get() = ttsSpeedKey
16891690
set(value) {
16901691
ttsSession.setSpeed(value)
16911692
ttsSpeedKey = value
16921693
}
16931694

1694-
var ttsPitch : Float
1695+
var ttsPitch: Float
16951696
get() = ttsPitchKey
16961697
set(value) {
16971698
ttsSession.setPitch(value)

app/src/main/java/com/lagradost/quicknovel/TTSHelper.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,8 @@ abstract class SpanDisplay {
348348
data class ChapterStartSpanned(
349349
override val index: Int,
350350
override val innerIndex: Int,
351-
val name: UiText
351+
val name: UiText,
352+
val canReload: Boolean,
352353
) : SpanDisplay() {
353354
override fun id(): Long {
354355
return generateId(1, index, 0, 0)

app/src/main/java/com/lagradost/quicknovel/ui/TextAdapter.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -709,6 +709,9 @@ class TextAdapter(
709709
viewModel.switchVisibility()
710710
}
711711
binding.root.setOnLongClickListener {
712+
if(!obj.canReload) {
713+
return@setOnLongClickListener true
714+
}
712715
it?.popupMenu(
713716
items = listOf(1 to R.string.reload_chapter),
714717
selectedItemId = -1

app/src/main/java/com/lagradost/quicknovel/ui/download/AnyAdapter.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,14 @@ class AnyAdapter(
4040
const val DOWNLOAD_DATA_LOADED: Int = 2
4141
}
4242

43+
override fun getItemId(position: Int): Long {
44+
return when(val item = getItem(position)) {
45+
is ResultCached -> item.id.toLong()
46+
is DownloadFragment.DownloadDataLoaded -> item.id.toLong()
47+
else -> throw NotImplementedError()
48+
}
49+
}
50+
4351
override fun onCreateCustomContent(parent: ViewGroup, viewType: Int): ViewHolderState<Any> {
4452
val compact = parent.context.getDownloadIsCompact()
4553
val binding = when (viewType) {

app/src/main/java/com/lagradost/quicknovel/ui/download/ViewpagerAdapter.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ class ViewpagerAdapter(
117117
this,
118118
downloadViewModel
119119
).apply {
120+
setHasStableIds(true)
120121
submitList(item.items)
121122
}
122123
}

0 commit comments

Comments
 (0)