|
|
@@ -90,14 +90,17 @@ class RemoteBookViewModel(application: Application) : BaseViewModel(application)
|
|
|
}.flowOn(Dispatchers.IO)
|
|
|
|
|
|
private var remoteBookWebDav: RemoteBookWebDav? = null
|
|
|
+ var isDefaultWebdav = false
|
|
|
|
|
|
fun initData(onSuccess: () -> Unit) {
|
|
|
execute {
|
|
|
+ isDefaultWebdav = false
|
|
|
appDb.serverDao.get(AppConfig.remoteServerId)?.getWebDavConfig()?.let {
|
|
|
val authorization = Authorization(it)
|
|
|
remoteBookWebDav = RemoteBookWebDav(it.url, authorization, AppConfig.remoteServerId)
|
|
|
return@execute
|
|
|
}
|
|
|
+ isDefaultWebdav = true
|
|
|
remoteBookWebDav = AppWebDav.defaultBookWebDav
|
|
|
?: throw NoStackTraceException("webDav没有配置")
|
|
|
}.onError {
|
|
|
@@ -108,7 +111,7 @@ class RemoteBookViewModel(application: Application) : BaseViewModel(application)
|
|
|
}
|
|
|
|
|
|
fun loadRemoteBookList(path: String?, loadCallback: (loading: Boolean) -> Unit) {
|
|
|
- execute {
|
|
|
+ executeLazy {
|
|
|
val bookWebDav = remoteBookWebDav
|
|
|
?: throw NoStackTraceException("没有配置webDav")
|
|
|
dataCallback?.clear()
|
|
|
@@ -122,7 +125,7 @@ class RemoteBookViewModel(application: Application) : BaseViewModel(application)
|
|
|
loadCallback.invoke(true)
|
|
|
}.onFinally {
|
|
|
loadCallback.invoke(false)
|
|
|
- }
|
|
|
+ }.start()
|
|
|
}
|
|
|
|
|
|
fun addToBookshelf(remoteBooks: HashSet<RemoteBook>, finally: () -> Unit) {
|