diff --git a/app/src/main/java/org/koitharu/kotatsu/details/ui/DetailsFragment.kt b/app/src/main/java/org/koitharu/kotatsu/details/ui/DetailsFragment.kt
index dfc427d99..acae5f2c4 100644
--- a/app/src/main/java/org/koitharu/kotatsu/details/ui/DetailsFragment.kt
+++ b/app/src/main/java/org/koitharu/kotatsu/details/ui/DetailsFragment.kt
@@ -32,6 +32,7 @@ import org.koitharu.kotatsu.bookmarks.ui.BookmarksAdapter
import org.koitharu.kotatsu.core.model.MangaHistory
import org.koitharu.kotatsu.databinding.FragmentDetailsBinding
import org.koitharu.kotatsu.favourites.ui.categories.select.FavouriteCategoriesBottomSheet
+import org.koitharu.kotatsu.history.domain.PROGRESS_NONE
import org.koitharu.kotatsu.image.ui.ImageActivity
import org.koitharu.kotatsu.parsers.model.Manga
import org.koitharu.kotatsu.parsers.model.MangaSource
@@ -176,6 +177,7 @@ class DetailsFragment :
setIconResource(R.drawable.ic_play)
}
}
+ binding.progressView.setPercent(history?.percent ?: PROGRESS_NONE, animate = true)
}
private fun onFavouriteChanged(isFavourite: Boolean) {
diff --git a/app/src/main/java/org/koitharu/kotatsu/history/ui/util/ReadingProgressDrawable.kt b/app/src/main/java/org/koitharu/kotatsu/history/ui/util/ReadingProgressDrawable.kt
index 531615c03..3500d9398 100644
--- a/app/src/main/java/org/koitharu/kotatsu/history/ui/util/ReadingProgressDrawable.kt
+++ b/app/src/main/java/org/koitharu/kotatsu/history/ui/util/ReadingProgressDrawable.kt
@@ -7,7 +7,6 @@ import androidx.annotation.StyleRes
import androidx.core.graphics.ColorUtils
import org.koitharu.kotatsu.R
import org.koitharu.kotatsu.history.domain.PROGRESS_NONE
-import kotlin.math.roundToInt
class ReadingProgressDrawable(
context: Context,
@@ -31,7 +30,7 @@ class ReadingProgressDrawable(
var progress: Float = PROGRESS_NONE
set(value) {
field = value
- text = textPattern.format((value * 100f).roundToInt().toString())
+ text = textPattern.format((value * 100f).toInt().toString())
paint.getTextBounds(text, 0, text.length, textBounds)
invalidateSelf()
}
diff --git a/app/src/main/java/org/koitharu/kotatsu/reader/ui/ReaderViewModel.kt b/app/src/main/java/org/koitharu/kotatsu/reader/ui/ReaderViewModel.kt
index 1fe633456..3ef07926b 100644
--- a/app/src/main/java/org/koitharu/kotatsu/reader/ui/ReaderViewModel.kt
+++ b/app/src/main/java/org/koitharu/kotatsu/reader/ui/ReaderViewModel.kt
@@ -20,6 +20,7 @@ import org.koitharu.kotatsu.core.os.ShortcutsRepository
import org.koitharu.kotatsu.core.parser.MangaRepository
import org.koitharu.kotatsu.core.prefs.*
import org.koitharu.kotatsu.history.domain.HistoryRepository
+import org.koitharu.kotatsu.history.domain.PROGRESS_NONE
import org.koitharu.kotatsu.parsers.model.Manga
import org.koitharu.kotatsu.parsers.model.MangaChapter
import org.koitharu.kotatsu.parsers.model.MangaPage
@@ -144,7 +145,7 @@ class ReaderViewModel(
historyRepository.saveStateAsync(
manga = mangaData.value ?: return,
state = readerState,
- percent = computePercent(readerState.chapterId, readerState.page)
+ percent = computePercent(readerState.chapterId, readerState.page),
)
}
@@ -371,17 +372,17 @@ class ReaderViewModel(
}
private fun computePercent(chapterId: Long, pageIndex: Int): Float {
- val chapters = manga?.chapters ?: return -1f
+ val chapters = manga?.chapters ?: return PROGRESS_NONE
val chaptersCount = chapters.size
val chapterIndex = chapters.indexOfFirst { x -> x.id == chapterId }
- val pages = content.value?.pages ?: return -1f
+ val pages = content.value?.pages ?: return PROGRESS_NONE
val pagesCount = pages.count { x -> x.chapterId == chapterId }
if (chaptersCount == 0 || pagesCount == 0) {
- return -1f
+ return PROGRESS_NONE
}
- val chapterPercent = (chapterIndex + 1) / chaptersCount.toFloat()
val pagePercent = (pageIndex + 1) / pagesCount.toFloat()
- return pagePercent * chapterPercent // FIXME
+ val ppc = 1f / chaptersCount
+ return ppc * chapterIndex + ppc * pagePercent
}
}
diff --git a/app/src/main/res/layout-w600dp/fragment_details.xml b/app/src/main/res/layout-w600dp/fragment_details.xml
index c691b4ea1..16eab6a18 100644
--- a/app/src/main/res/layout-w600dp/fragment_details.xml
+++ b/app/src/main/res/layout-w600dp/fragment_details.xml
@@ -31,6 +31,14 @@
tools:background="@tools:sample/backgrounds/scenic"
tools:ignore="ContentDescription,UnusedAttribute" />
+
+
+
+