فهرست منبع

更新时检测webDav书籍是否比本地新,自动重新下载

kunfei 4 سال پیش
والد
کامیت
cbdf447ecb
33فایلهای تغییر یافته به همراه46 افزوده شده و 47 حذف شده
  1. 1 1
      app/src/main/java/io/legado/app/api/controller/BookController.kt
  2. 2 2
      app/src/main/java/io/legado/app/data/entities/Book.kt
  3. 1 1
      app/src/main/java/io/legado/app/help/book/BookExtensions.kt
  4. 0 3
      app/src/main/java/io/legado/app/help/book/BookHelp.kt
  5. 1 1
      app/src/main/java/io/legado/app/help/storage/Restore.kt
  6. 1 1
      app/src/main/java/io/legado/app/model/CacheBook.kt
  7. 1 1
      app/src/main/java/io/legado/app/model/ReadBook.kt
  8. 2 2
      app/src/main/java/io/legado/app/model/localBook/LocalBook.kt
  9. 7 0
      app/src/main/java/io/legado/app/model/remote/RemoteBookManager.kt
  10. 0 7
      app/src/main/java/io/legado/app/model/remote/RemoteBookWebDav.kt
  11. 1 1
      app/src/main/java/io/legado/app/model/webBook/BookList.kt
  12. 1 1
      app/src/main/java/io/legado/app/model/webBook/WebBook.kt
  13. 1 1
      app/src/main/java/io/legado/app/ui/book/audio/AudioPlayActivity.kt
  14. 1 1
      app/src/main/java/io/legado/app/ui/book/cache/CacheActivity.kt
  15. 1 1
      app/src/main/java/io/legado/app/ui/book/cache/CacheAdapter.kt
  16. 3 3
      app/src/main/java/io/legado/app/ui/book/info/BookInfoActivity.kt
  17. 1 1
      app/src/main/java/io/legado/app/ui/book/info/BookInfoViewModel.kt
  18. 3 3
      app/src/main/java/io/legado/app/ui/book/info/edit/BookInfoEditActivity.kt
  19. 1 1
      app/src/main/java/io/legado/app/ui/book/manage/BookAdapter.kt
  20. 1 1
      app/src/main/java/io/legado/app/ui/book/manage/BookshelfManageViewModel.kt
  21. 1 1
      app/src/main/java/io/legado/app/ui/book/read/ContentEditDialog.kt
  22. 4 2
      app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt
  23. 1 1
      app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt
  24. 1 1
      app/src/main/java/io/legado/app/ui/book/read/page/provider/ImageProvider.kt
  25. 1 1
      app/src/main/java/io/legado/app/ui/book/searchContent/SearchContentActivity.kt
  26. 1 1
      app/src/main/java/io/legado/app/ui/book/toc/ChapterListFragment.kt
  27. 1 1
      app/src/main/java/io/legado/app/ui/main/MainViewModel.kt
  28. 1 1
      app/src/main/java/io/legado/app/ui/main/bookshelf/style1/books/BooksAdapterGrid.kt
  29. 1 1
      app/src/main/java/io/legado/app/ui/main/bookshelf/style1/books/BooksAdapterList.kt
  30. 1 1
      app/src/main/java/io/legado/app/ui/main/bookshelf/style1/books/BooksFragment.kt
  31. 1 1
      app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BooksAdapterGrid.kt
  32. 1 1
      app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BooksAdapterList.kt
  33. 1 1
      app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BookshelfFragment2.kt

+ 1 - 1
app/src/main/java/io/legado/app/api/controller/BookController.kt

@@ -11,8 +11,8 @@ import io.legado.app.help.AppWebDav
 import io.legado.app.help.CacheManager
 import io.legado.app.help.book.BookHelp
 import io.legado.app.help.book.ContentProcessor
+import io.legado.app.help.book.isLocal
 import io.legado.app.help.glide.ImageLoader
-import io.legado.app.help.isLocal
 import io.legado.app.model.BookCover
 import io.legado.app.model.localBook.LocalBook
 import io.legado.app.model.webBook.WebBook

+ 2 - 2
app/src/main/java/io/legado/app/data/entities/Book.kt

@@ -8,10 +8,10 @@ import io.legado.app.constant.PageAnim
 import io.legado.app.data.appDb
 import io.legado.app.help.book.BookHelp
 import io.legado.app.help.book.ContentProcessor
+import io.legado.app.help.book.isEpub
+import io.legado.app.help.book.isImage
 import io.legado.app.help.config.AppConfig
 import io.legado.app.help.config.ReadBookConfig
-import io.legado.app.help.isEpub
-import io.legado.app.help.isImage
 import io.legado.app.model.ReadBook
 import io.legado.app.utils.GSON
 import io.legado.app.utils.MD5Utils

+ 1 - 1
app/src/main/java/io/legado/app/help/book/BookExtensions.kt

@@ -1,4 +1,4 @@
-package io.legado.app.help
+package io.legado.app.help.book
 
 import io.legado.app.constant.BookSourceType
 import io.legado.app.constant.BookType

+ 0 - 3
app/src/main/java/io/legado/app/help/book/BookHelp.kt

@@ -9,9 +9,6 @@ import io.legado.app.data.appDb
 import io.legado.app.data.entities.Book
 import io.legado.app.data.entities.BookChapter
 import io.legado.app.data.entities.BookSource
-import io.legado.app.help.isEpub
-import io.legado.app.help.isLocal
-import io.legado.app.help.isLocalTxt
 import io.legado.app.model.analyzeRule.AnalyzeUrl
 import io.legado.app.model.localBook.LocalBook
 import io.legado.app.utils.*

+ 1 - 1
app/src/main/java/io/legado/app/help/storage/Restore.kt

@@ -13,10 +13,10 @@ import io.legado.app.data.appDb
 import io.legado.app.data.entities.*
 import io.legado.app.help.DirectLinkUpload
 import io.legado.app.help.LauncherIconHelp
+import io.legado.app.help.book.upType
 import io.legado.app.help.config.LocalConfig
 import io.legado.app.help.config.ReadBookConfig
 import io.legado.app.help.config.ThemeConfig
-import io.legado.app.help.upType
 import io.legado.app.utils.*
 import kotlinx.coroutines.Dispatchers.IO
 import kotlinx.coroutines.Dispatchers.Main

+ 1 - 1
app/src/main/java/io/legado/app/model/CacheBook.kt

@@ -10,7 +10,7 @@ import io.legado.app.data.entities.BookChapter
 import io.legado.app.data.entities.BookSource
 import io.legado.app.exception.ConcurrentException
 import io.legado.app.help.book.BookHelp
-import io.legado.app.help.isLocal
+import io.legado.app.help.book.isLocal
 import io.legado.app.model.webBook.WebBook
 import io.legado.app.service.CacheBookService
 import io.legado.app.utils.postEvent

+ 1 - 1
app/src/main/java/io/legado/app/model/ReadBook.kt

@@ -6,10 +6,10 @@ import io.legado.app.data.entities.*
 import io.legado.app.help.AppWebDav
 import io.legado.app.help.book.BookHelp
 import io.legado.app.help.book.ContentProcessor
+import io.legado.app.help.book.isLocal
 import io.legado.app.help.config.AppConfig
 import io.legado.app.help.config.ReadBookConfig
 import io.legado.app.help.coroutine.Coroutine
-import io.legado.app.help.isLocal
 import io.legado.app.model.webBook.WebBook
 import io.legado.app.service.BaseReadAloudService
 import io.legado.app.ui.book.read.page.entities.TextChapter

+ 2 - 2
app/src/main/java/io/legado/app/model/localBook/LocalBook.kt

@@ -16,9 +16,9 @@ import io.legado.app.exception.NoStackTraceException
 import io.legado.app.exception.TocEmptyException
 import io.legado.app.help.AppWebDav
 import io.legado.app.help.book.BookHelp
+import io.legado.app.help.book.isEpub
+import io.legado.app.help.book.isUmd
 import io.legado.app.help.config.AppConfig
-import io.legado.app.help.isEpub
-import io.legado.app.help.isUmd
 import io.legado.app.lib.webdav.WebDav
 import io.legado.app.model.analyzeRule.AnalyzeUrl
 import io.legado.app.utils.*

+ 7 - 0
app/src/main/java/io/legado/app/model/remote/RemoteBookManager.kt

@@ -2,10 +2,17 @@ package io.legado.app.model.remote
 
 import android.net.Uri
 import io.legado.app.data.entities.Book
+import kotlinx.coroutines.runBlocking
 
 abstract class RemoteBookManager {
     protected val remoteBookFolder: String = "books"
 
+    init {
+        runBlocking {
+            initRemoteContext()
+        }
+    }
+
     abstract suspend fun initRemoteContext()
 
     /**

+ 0 - 7
app/src/main/java/io/legado/app/model/remote/RemoteBookWebDav.kt

@@ -12,19 +12,12 @@ import io.legado.app.model.localBook.LocalBook
 import io.legado.app.utils.NetworkUtils
 import io.legado.app.utils.isContentScheme
 import io.legado.app.utils.readBytes
-import kotlinx.coroutines.runBlocking
 import splitties.init.appCtx
 import java.io.File
 
 object RemoteBookWebDav : RemoteBookManager() {
     val rootBookUrl get() = "${AppWebDav.rootWebDavUrl}${remoteBookFolder}"
 
-    init {
-        runBlocking {
-            initRemoteContext()
-        }
-    }
-
     override suspend fun initRemoteContext() {
         AppWebDav.authorization?.let {
             WebDav(rootBookUrl, it).makeAsDir()

+ 1 - 1
app/src/main/java/io/legado/app/model/webBook/BookList.kt

@@ -7,7 +7,7 @@ import io.legado.app.data.entities.SearchBook
 import io.legado.app.data.entities.rule.BookListRule
 import io.legado.app.exception.NoStackTraceException
 import io.legado.app.help.book.BookHelp
-import io.legado.app.help.getBookType
+import io.legado.app.help.book.getBookType
 import io.legado.app.model.Debug
 import io.legado.app.model.analyzeRule.AnalyzeRule
 import io.legado.app.model.analyzeRule.AnalyzeUrl

+ 1 - 1
app/src/main/java/io/legado/app/model/webBook/WebBook.kt

@@ -5,8 +5,8 @@ import io.legado.app.data.entities.BookChapter
 import io.legado.app.data.entities.BookSource
 import io.legado.app.data.entities.SearchBook
 import io.legado.app.exception.NoStackTraceException
+import io.legado.app.help.book.getBookType
 import io.legado.app.help.coroutine.Coroutine
-import io.legado.app.help.getBookType
 import io.legado.app.help.http.StrResponse
 import io.legado.app.model.Debug
 import io.legado.app.model.analyzeRule.AnalyzeUrl

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/audio/AudioPlayActivity.kt

@@ -20,8 +20,8 @@ import io.legado.app.data.entities.Book
 import io.legado.app.data.entities.BookChapter
 import io.legado.app.data.entities.BookSource
 import io.legado.app.databinding.ActivityAudioPlayBinding
+import io.legado.app.help.book.isAudio
 import io.legado.app.help.config.AppConfig
-import io.legado.app.help.isAudio
 import io.legado.app.lib.dialogs.alert
 import io.legado.app.model.AudioPlay
 import io.legado.app.model.BookCover

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/cache/CacheActivity.kt

@@ -19,8 +19,8 @@ import io.legado.app.data.entities.BookGroup
 import io.legado.app.databinding.ActivityCacheBookBinding
 import io.legado.app.databinding.DialogEditTextBinding
 import io.legado.app.help.book.BookHelp
+import io.legado.app.help.book.isAudio
 import io.legado.app.help.config.AppConfig
-import io.legado.app.help.isAudio
 import io.legado.app.lib.dialogs.SelectItem
 import io.legado.app.lib.dialogs.alert
 import io.legado.app.lib.dialogs.selector

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/cache/CacheAdapter.kt

@@ -10,7 +10,7 @@ import io.legado.app.base.adapter.ItemViewHolder
 import io.legado.app.base.adapter.RecyclerAdapter
 import io.legado.app.data.entities.Book
 import io.legado.app.databinding.ItemDownloadBinding
-import io.legado.app.help.isLocal
+import io.legado.app.help.book.isLocal
 import io.legado.app.model.CacheBook
 import io.legado.app.utils.gone
 import io.legado.app.utils.visible

+ 3 - 3
app/src/main/java/io/legado/app/ui/book/info/BookInfoActivity.kt

@@ -19,10 +19,10 @@ import io.legado.app.data.entities.BookChapter
 import io.legado.app.data.entities.BookSource
 import io.legado.app.databinding.ActivityBookInfoBinding
 import io.legado.app.databinding.DialogEditTextBinding
+import io.legado.app.help.book.isAudio
+import io.legado.app.help.book.isLocal
+import io.legado.app.help.book.isLocalTxt
 import io.legado.app.help.config.AppConfig
-import io.legado.app.help.isAudio
-import io.legado.app.help.isLocal
-import io.legado.app.help.isLocalTxt
 import io.legado.app.lib.dialogs.alert
 import io.legado.app.lib.theme.backgroundColor
 import io.legado.app.lib.theme.bottomBackground

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/info/BookInfoViewModel.kt

@@ -15,8 +15,8 @@ import io.legado.app.data.entities.BookChapter
 import io.legado.app.data.entities.BookSource
 import io.legado.app.exception.NoStackTraceException
 import io.legado.app.help.book.BookHelp
+import io.legado.app.help.book.isLocal
 import io.legado.app.help.coroutine.Coroutine
-import io.legado.app.help.isLocal
 import io.legado.app.model.BookCover
 import io.legado.app.model.ReadBook
 import io.legado.app.model.analyzeRule.AnalyzeRule

+ 3 - 3
app/src/main/java/io/legado/app/ui/book/info/edit/BookInfoEditActivity.kt

@@ -11,9 +11,9 @@ import io.legado.app.base.VMBaseActivity
 import io.legado.app.constant.BookType
 import io.legado.app.data.entities.Book
 import io.legado.app.databinding.ActivityBookInfoEditBinding
-import io.legado.app.help.isAudio
-import io.legado.app.help.isImage
-import io.legado.app.help.isLocal
+import io.legado.app.help.book.isAudio
+import io.legado.app.help.book.isImage
+import io.legado.app.help.book.isLocal
 import io.legado.app.ui.book.changecover.ChangeCoverDialog
 import io.legado.app.utils.*
 import io.legado.app.utils.viewbindingdelegate.viewBinding

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/manage/BookAdapter.kt

@@ -12,7 +12,7 @@ import io.legado.app.base.adapter.RecyclerAdapter
 import io.legado.app.data.entities.Book
 import io.legado.app.data.entities.BookGroup
 import io.legado.app.databinding.ItemArrangeBookBinding
-import io.legado.app.help.isLocal
+import io.legado.app.help.book.isLocal
 import io.legado.app.lib.theme.backgroundColor
 import io.legado.app.ui.widget.recycler.DragSelectTouchHelper
 import io.legado.app.ui.widget.recycler.ItemTouchCallback

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/manage/BookshelfManageViewModel.kt

@@ -6,8 +6,8 @@ import io.legado.app.base.BaseViewModel
 import io.legado.app.data.appDb
 import io.legado.app.data.entities.Book
 import io.legado.app.data.entities.BookSource
+import io.legado.app.help.book.isLocal
 import io.legado.app.help.coroutine.Coroutine
-import io.legado.app.help.isLocal
 import io.legado.app.model.webBook.WebBook
 import io.legado.app.utils.toastOnUi
 

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/read/ContentEditDialog.kt

@@ -14,7 +14,7 @@ import io.legado.app.databinding.DialogContentEditBinding
 import io.legado.app.databinding.DialogEditTextBinding
 import io.legado.app.help.book.BookHelp
 import io.legado.app.help.book.ContentProcessor
-import io.legado.app.help.isLocal
+import io.legado.app.help.book.isLocal
 import io.legado.app.lib.dialogs.alert
 import io.legado.app.lib.theme.primaryColor
 import io.legado.app.model.ReadBook

+ 4 - 2
app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt

@@ -22,8 +22,10 @@ import io.legado.app.data.entities.BookChapter
 import io.legado.app.data.entities.BookProgress
 import io.legado.app.data.entities.BookSource
 import io.legado.app.exception.NoStackTraceException
-import io.legado.app.help.*
-import io.legado.app.help.book.BookHelp
+import io.legado.app.help.AppWebDav
+import io.legado.app.help.IntentData
+import io.legado.app.help.TTS
+import io.legado.app.help.book.*
 import io.legado.app.help.config.AppConfig
 import io.legado.app.help.config.ReadBookConfig
 import io.legado.app.help.config.ReadTipConfig

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt

@@ -18,9 +18,9 @@ import io.legado.app.exception.NoStackTraceException
 import io.legado.app.help.AppWebDav
 import io.legado.app.help.book.BookHelp
 import io.legado.app.help.book.ContentProcessor
+import io.legado.app.help.book.isLocal
 import io.legado.app.help.config.AppConfig
 import io.legado.app.help.coroutine.Coroutine
-import io.legado.app.help.isLocal
 import io.legado.app.model.ReadAloud
 import io.legado.app.model.ReadBook
 import io.legado.app.model.analyzeRule.AnalyzeRule

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/read/page/provider/ImageProvider.kt

@@ -11,9 +11,9 @@ import io.legado.app.data.entities.Book
 import io.legado.app.data.entities.BookSource
 import io.legado.app.exception.NoStackTraceException
 import io.legado.app.help.book.BookHelp
+import io.legado.app.help.book.isEpub
 import io.legado.app.help.config.AppConfig
 import io.legado.app.help.coroutine.Coroutine
-import io.legado.app.help.isEpub
 import io.legado.app.model.ReadBook
 import io.legado.app.model.localBook.EpubFile
 import io.legado.app.utils.BitmapUtils

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/searchContent/SearchContentActivity.kt

@@ -15,7 +15,7 @@ import io.legado.app.data.entities.BookChapter
 import io.legado.app.databinding.ActivitySearchContentBinding
 import io.legado.app.help.IntentData
 import io.legado.app.help.book.BookHelp
-import io.legado.app.help.isLocal
+import io.legado.app.help.book.isLocal
 import io.legado.app.lib.theme.bottomBackground
 import io.legado.app.lib.theme.getPrimaryTextColor
 import io.legado.app.lib.theme.primaryTextColor

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/toc/ChapterListFragment.kt

@@ -15,7 +15,7 @@ import io.legado.app.data.entities.Book
 import io.legado.app.data.entities.BookChapter
 import io.legado.app.databinding.FragmentChapterListBinding
 import io.legado.app.help.book.BookHelp
-import io.legado.app.help.isLocal
+import io.legado.app.help.book.isLocal
 import io.legado.app.lib.theme.bottomBackground
 import io.legado.app.lib.theme.getPrimaryTextColor
 import io.legado.app.ui.widget.recycler.UpLinearLayoutManager

+ 1 - 1
app/src/main/java/io/legado/app/ui/main/MainViewModel.kt

@@ -12,9 +12,9 @@ import io.legado.app.data.entities.BookSource
 import io.legado.app.help.AppWebDav
 import io.legado.app.help.DefaultData
 import io.legado.app.help.book.BookHelp
+import io.legado.app.help.book.isLocal
 import io.legado.app.help.config.AppConfig
 import io.legado.app.help.config.LocalConfig
-import io.legado.app.help.isLocal
 import io.legado.app.model.CacheBook
 import io.legado.app.model.analyzeRule.AnalyzeRule
 import io.legado.app.model.webBook.WebBook

+ 1 - 1
app/src/main/java/io/legado/app/ui/main/bookshelf/style1/books/BooksAdapterGrid.kt

@@ -6,8 +6,8 @@ import android.view.ViewGroup
 import io.legado.app.base.adapter.ItemViewHolder
 import io.legado.app.data.entities.Book
 import io.legado.app.databinding.ItemBookshelfGridBinding
+import io.legado.app.help.book.isLocal
 import io.legado.app.help.config.AppConfig
-import io.legado.app.help.isLocal
 import io.legado.app.utils.invisible
 import splitties.views.onLongClick
 

+ 1 - 1
app/src/main/java/io/legado/app/ui/main/bookshelf/style1/books/BooksAdapterList.kt

@@ -6,8 +6,8 @@ import android.view.ViewGroup
 import io.legado.app.base.adapter.ItemViewHolder
 import io.legado.app.data.entities.Book
 import io.legado.app.databinding.ItemBookshelfListBinding
+import io.legado.app.help.book.isLocal
 import io.legado.app.help.config.AppConfig
-import io.legado.app.help.isLocal
 import io.legado.app.utils.invisible
 import splitties.views.onLongClick
 

+ 1 - 1
app/src/main/java/io/legado/app/ui/main/bookshelf/style1/books/BooksFragment.kt

@@ -17,8 +17,8 @@ import io.legado.app.constant.PreferKey
 import io.legado.app.data.appDb
 import io.legado.app.data.entities.Book
 import io.legado.app.databinding.FragmentBooksBinding
+import io.legado.app.help.book.isAudio
 import io.legado.app.help.config.AppConfig
-import io.legado.app.help.isAudio
 import io.legado.app.lib.theme.accentColor
 import io.legado.app.lib.theme.primaryColor
 import io.legado.app.ui.book.audio.AudioPlayActivity

+ 1 - 1
app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BooksAdapterGrid.kt

@@ -9,8 +9,8 @@ import io.legado.app.data.entities.Book
 import io.legado.app.data.entities.BookGroup
 import io.legado.app.databinding.ItemBookshelfGridBinding
 import io.legado.app.databinding.ItemBookshelfGridGroupBinding
+import io.legado.app.help.book.isLocal
 import io.legado.app.help.config.AppConfig
-import io.legado.app.help.isLocal
 import io.legado.app.utils.invisible
 import splitties.views.onLongClick
 

+ 1 - 1
app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BooksAdapterList.kt

@@ -9,8 +9,8 @@ import io.legado.app.data.entities.Book
 import io.legado.app.data.entities.BookGroup
 import io.legado.app.databinding.ItemBookshelfListBinding
 import io.legado.app.databinding.ItemBookshelfListGroupBinding
+import io.legado.app.help.book.isLocal
 import io.legado.app.help.config.AppConfig
-import io.legado.app.help.isLocal
 import io.legado.app.utils.gone
 import io.legado.app.utils.invisible
 import io.legado.app.utils.visible

+ 1 - 1
app/src/main/java/io/legado/app/ui/main/bookshelf/style2/BookshelfFragment2.kt

@@ -17,8 +17,8 @@ import io.legado.app.data.appDb
 import io.legado.app.data.entities.Book
 import io.legado.app.data.entities.BookGroup
 import io.legado.app.databinding.FragmentBookshelf1Binding
+import io.legado.app.help.book.isAudio
 import io.legado.app.help.config.AppConfig
-import io.legado.app.help.isAudio
 import io.legado.app.lib.theme.accentColor
 import io.legado.app.lib.theme.primaryColor
 import io.legado.app.ui.book.audio.AudioPlayActivity