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 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 import io.legado.app.ui.book.read.page.entities.TextChapter
interface DataSource { interface DataSource {
val pageIndex: Int val pageIndex: Int get() = ReadBook.durChapterPos()
fun setPageIndex(pageIndex: Int)
fun getChapterPosition(): Int
fun getCurrentChapter(): TextChapter? fun getCurrentChapter(): TextChapter?

@ -163,17 +163,6 @@ class PageView(context: Context, attrs: AttributeSet) :
nextPage.upBattery(battery) 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? { override fun getCurrentChapter(): TextChapter? {
return if (callBack.isInitFinish) ReadBook.textChapter(0) else null return if (callBack.isInitFinish) ReadBook.textChapter(0) else null
} }

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

Loading…
Cancel
Save