Show reverse progress and chapters in lists #904
parent
607785dcd4
commit
5363719643
@ -0,0 +1,6 @@
|
||||
package org.koitharu.kotatsu.core.prefs
|
||||
|
||||
enum class ProgressIndicatorMode {
|
||||
|
||||
NONE, PERCENT_READ, PERCENT_LEFT, CHAPTERS_READ, CHAPTERS_LEFT;
|
||||
}
|
||||
@ -0,0 +1,35 @@
|
||||
package org.koitharu.kotatsu.list.domain
|
||||
|
||||
import org.koitharu.kotatsu.core.prefs.ProgressIndicatorMode
|
||||
import org.koitharu.kotatsu.core.prefs.ProgressIndicatorMode.CHAPTERS_LEFT
|
||||
import org.koitharu.kotatsu.core.prefs.ProgressIndicatorMode.CHAPTERS_READ
|
||||
import org.koitharu.kotatsu.core.prefs.ProgressIndicatorMode.NONE
|
||||
import org.koitharu.kotatsu.core.prefs.ProgressIndicatorMode.PERCENT_LEFT
|
||||
import org.koitharu.kotatsu.core.prefs.ProgressIndicatorMode.PERCENT_READ
|
||||
|
||||
data class ReadingProgress(
|
||||
val percent: Float,
|
||||
val totalChapters: Int,
|
||||
val mode: ProgressIndicatorMode,
|
||||
) {
|
||||
|
||||
val percentLeft: Float
|
||||
get() = 1f - percent
|
||||
|
||||
val chapters: Int
|
||||
get() = (totalChapters * percent).toInt()
|
||||
|
||||
val chaptersLeft: Int
|
||||
get() = (totalChapters * percentLeft).toInt()
|
||||
|
||||
fun isValid() = when (mode) {
|
||||
NONE -> false
|
||||
PERCENT_READ,
|
||||
PERCENT_LEFT -> percent in 0f..1f
|
||||
|
||||
CHAPTERS_READ,
|
||||
CHAPTERS_LEFT -> totalChapters > 0 && percent in 0f..1f
|
||||
}
|
||||
|
||||
fun isReversed() = mode == PERCENT_LEFT || mode == CHAPTERS_LEFT
|
||||
}
|
||||
Loading…
Reference in New Issue