pull/1296/head
gedoor 4 years ago
parent e12850f7d3
commit 42f4cd698d
  1. 8
      app/src/main/java/io/legado/app/data/dao/BookChapterDao.kt
  2. 11
      app/src/main/java/io/legado/app/model/AudioPlay.kt

@ -1,9 +1,6 @@
package io.legado.app.data.dao package io.legado.app.data.dao
import androidx.room.Dao import androidx.room.*
import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
import io.legado.app.data.entities.BookChapter import io.legado.app.data.entities.BookChapter
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
@ -34,6 +31,9 @@ interface BookChapterDao {
@Insert(onConflict = OnConflictStrategy.REPLACE) @Insert(onConflict = OnConflictStrategy.REPLACE)
fun insert(vararg bookChapter: BookChapter) fun insert(vararg bookChapter: BookChapter)
@Update
fun upDate(vararg bookChapter: BookChapter)
@Query("delete from chapters where bookUrl = :bookUrl") @Query("delete from chapters where bookUrl = :bookUrl")
fun delByBook(bookUrl: String) fun delByBook(bookUrl: String)

@ -29,6 +29,9 @@ object AudioPlay {
return bookSource?.getHeaderMap() return bookSource?.getHeaderMap()
} }
/**
* 播放当前章节
*/
fun play(context: Context) { fun play(context: Context) {
book?.let { book?.let {
if (durChapter == null) { if (durChapter == null) {
@ -42,6 +45,9 @@ object AudioPlay {
} }
} }
/**
* 更新当前章节
*/
fun upDurChapter(book: Book) { fun upDurChapter(book: Book) {
durChapter = appDb.bookChapterDao.getChapter(book.bookUrl, book.durChapterIndex) durChapter = appDb.bookChapterDao.getChapter(book.bookUrl, book.durChapterIndex)
postEvent(EventBus.AUDIO_SUB_TITLE, durChapter?.title ?: "") postEvent(EventBus.AUDIO_SUB_TITLE, durChapter?.title ?: "")
@ -148,11 +154,14 @@ object AudioPlay {
} }
} }
/**
* 保存章节长度
*/
fun saveDurChapter(audioSize: Long) { fun saveDurChapter(audioSize: Long) {
Coroutine.async { Coroutine.async {
durChapter?.let { durChapter?.let {
it.end = audioSize it.end = audioSize
appDb.bookChapterDao.insert(it) appDb.bookChapterDao.upDate(it)
} }
} }
} }

Loading…
Cancel
Save