Notify first page change

This commit is contained in:
len 2016-09-11 16:00:06 +02:00
parent 24bdee626f
commit 7c3cd10696
4 changed files with 19 additions and 22 deletions

View File

@ -20,6 +20,7 @@ import eu.kanade.tachiyomi.data.database.models.Chapter
import eu.kanade.tachiyomi.data.database.models.Manga import eu.kanade.tachiyomi.data.database.models.Manga
import eu.kanade.tachiyomi.data.preference.PreferencesHelper import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.data.preference.getOrDefault import eu.kanade.tachiyomi.data.preference.getOrDefault
import eu.kanade.tachiyomi.data.source.model.Page
import eu.kanade.tachiyomi.ui.base.activity.BaseRxActivity import eu.kanade.tachiyomi.ui.base.activity.BaseRxActivity
import eu.kanade.tachiyomi.ui.reader.viewer.base.BaseReader import eu.kanade.tachiyomi.ui.reader.viewer.base.BaseReader
import eu.kanade.tachiyomi.ui.reader.viewer.pager.horizontal.LeftToRightReader import eu.kanade.tachiyomi.ui.reader.viewer.pager.horizontal.LeftToRightReader
@ -308,15 +309,18 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() {
return fragment return fragment
} }
fun onPageChanged(currentPageIndex: Int, totalPages: Int) { fun onPageChanged(page: Page) {
val page = currentPageIndex + 1 presenter.onPageChanged(page)
page_number.text = "$page/$totalPages"
val pageNumber = page.pageNumber + 1
val pageCount = page.chapter.pages!!.size
page_number.text = "$pageNumber/$pageCount"
if (page_seekbar.rotation != 180f) { if (page_seekbar.rotation != 180f) {
left_page_text.text = "$page" left_page_text.text = "$pageNumber"
} else { } else {
right_page_text.text = "$page" right_page_text.text = "$pageNumber"
} }
page_seekbar.progress = currentPageIndex page_seekbar.progress = page.pageNumber
} }
fun gotoPageInCurrentChapter(pageIndex: Int) { fun gotoPageInCurrentChapter(pageIndex: Int) {
@ -326,7 +330,6 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>() {
val requestedPage = activePage.chapter.pages!![pageIndex] val requestedPage = activePage.chapter.pages!![pageIndex]
it.setActivePage(requestedPage) it.setActivePage(requestedPage)
} }
} }
} }

View File

@ -66,16 +66,6 @@ abstract class BaseReader : BaseFragment() {
*/ */
private var hasRequestedNextChapter: Boolean = false private var hasRequestedNextChapter: Boolean = false
/**
* Updates the reader activity with the active page.
*/
fun updatePageNumber() {
val activePage = getActivePage()
if (activePage != null) {
readerActivity.onPageChanged(activePage.pageNumber, activePage.chapter.pages!!.size)
}
}
/** /**
* Returns the active page. * Returns the active page.
*/ */
@ -91,11 +81,13 @@ abstract class BaseReader : BaseFragment() {
fun onPageChanged(position: Int) { fun onPageChanged(position: Int) {
val oldPage = pages[currentPage] val oldPage = pages[currentPage]
val newPage = pages[position] val newPage = pages[position]
readerActivity.presenter.onPageChanged(newPage)
val oldChapter = oldPage.chapter val oldChapter = oldPage.chapter
val newChapter = newPage.chapter val newChapter = newPage.chapter
// Update page indicator and seekbar
readerActivity.onPageChanged(newPage)
// Active chapter has changed. // Active chapter has changed.
if (oldChapter.id != newChapter.id) { if (oldChapter.id != newChapter.id) {
readerActivity.onEnterChapter(newPage.chapter, newPage.pageNumber) readerActivity.onEnterChapter(newPage.chapter, newPage.pageNumber)
@ -108,7 +100,6 @@ abstract class BaseReader : BaseFragment() {
} }
currentPage = position currentPage = position
updatePageNumber()
} }
/** /**

View File

@ -219,8 +219,11 @@ abstract class PagerReader : BaseReader() {
protected fun setPagesOnAdapter() { protected fun setPagesOnAdapter() {
if (pages.isNotEmpty()) { if (pages.isNotEmpty()) {
adapter.pages = pages adapter.pages = pages
if (currentPage == pager.currentItem) {
onPageChanged(currentPage)
} else {
setActivePage(currentPage) setActivePage(currentPage)
updatePageNumber() }
} }
} }

View File

@ -177,7 +177,7 @@ class WebtoonReader : BaseReader() {
if (pages.isNotEmpty()) { if (pages.isNotEmpty()) {
adapter.pages = pages adapter.pages = pages
recycler.adapter = adapter recycler.adapter = adapter
updatePageNumber() onPageChanged(currentPage)
} }
} }