feat: 优化代码

pull/115/head
kunfei 5 years ago
parent 3aa9b034d5
commit 2480af6ba8
  1. 7
      app/src/main/java/io/legado/app/ui/book/read/page/DataSource.kt
  2. 11
      app/src/main/java/io/legado/app/ui/book/read/page/PageView.kt
  3. 12
      app/src/main/java/io/legado/app/ui/book/read/page/TextPageFactory.kt

@ -1,14 +1,11 @@
package io.legado.app.ui.book.read.page
import io.legado.app.service.help.ReadBook
import io.legado.app.ui.book.read.page.entities.TextChapter
interface DataSource {
val pageIndex: Int
fun setPageIndex(pageIndex: Int)
fun getChapterPosition(): Int
val pageIndex: Int get() = ReadBook.durChapterPos()
fun getCurrentChapter(): TextChapter?

@ -163,17 +163,6 @@ class PageView(context: Context, attrs: AttributeSet) :
nextPage.upBattery(battery)
}
override val pageIndex: Int
get() = ReadBook.durChapterPos()
override fun setPageIndex(pageIndex: Int) {
ReadBook.setPageIndex(pageIndex)
}
override fun getChapterPosition(): Int {
return ReadBook.durChapterIndex
}
override fun getCurrentChapter(): TextChapter? {
return if (callBack.isInitFinish) ReadBook.textChapter(0) else null
}

@ -14,17 +14,17 @@ class TextPageFactory(dataSource: DataSource) : PageFactory<TextPage>(dataSource
}
override fun moveToFirst() {
dataSource.setPageIndex(0)
ReadBook.setPageIndex(0)
}
override fun moveToLast() = with(dataSource) {
getCurrentChapter()?.let {
if (it.pageSize() == 0) {
setPageIndex(0)
ReadBook.setPageIndex(0)
} else {
setPageIndex(it.pageSize().minus(1))
ReadBook.setPageIndex(it.pageSize().minus(1))
}
} ?: setPageIndex(0)
} ?: ReadBook.setPageIndex(0)
}
override fun moveToNext(): Boolean = with(dataSource) {
@ -32,7 +32,7 @@ class TextPageFactory(dataSource: DataSource) : PageFactory<TextPage>(dataSource
if (getCurrentChapter()?.isLastIndex(pageIndex) == true) {
ReadBook.moveToNextChapter(false)
} else {
setPageIndex(pageIndex.plus(1))
ReadBook.setPageIndex(pageIndex.plus(1))
}
true
} else
@ -44,7 +44,7 @@ class TextPageFactory(dataSource: DataSource) : PageFactory<TextPage>(dataSource
if (pageIndex <= 0) {
ReadBook.moveToPrevChapter(false)
} else {
setPageIndex(pageIndex.minus(1))
ReadBook.setPageIndex(pageIndex.minus(1))
}
true
} else

Loading…
Cancel
Save