kunfei %!s(int64=3) %!d(string=hai) anos
pai
achega
cadd6e304e

+ 12 - 14
app/src/main/java/io/legado/app/ui/book/import/remote/RemoteBookActivity.kt

@@ -44,8 +44,19 @@ class RemoteBookActivity : BaseImportBookActivity<ActivityImportBookBinding, Rem
                 return@launch
                 return@launch
             }
             }
             initView()
             initView()
-            initData()
             initEvent()
             initEvent()
+            launch {
+                viewModel.dataFlow.conflate().collect { sortedRemoteBooks ->
+                    binding.refreshProgressBar.isAutoLoading = false
+                    binding.tvEmptyMsg.isGone = sortedRemoteBooks.isNotEmpty()
+                    adapter.setItems(sortedRemoteBooks)
+                    delay(500)
+                }
+            }
+            viewModel.initData {
+                binding.refreshProgressBar.isAutoLoading = true
+                upPath()
+            }
         }
         }
     }
     }
 
 
@@ -69,19 +80,6 @@ class RemoteBookActivity : BaseImportBookActivity<ActivityImportBookBinding, Rem
         }
         }
     }
     }
 
 
-    private fun initData() {
-        binding.refreshProgressBar.isAutoLoading = true
-        launch {
-            viewModel.dataFlow.conflate().collect { sortedRemoteBooks ->
-                binding.refreshProgressBar.isAutoLoading = false
-                binding.tvEmptyMsg.isGone = sortedRemoteBooks.isNotEmpty()
-                adapter.setItems(sortedRemoteBooks)
-                delay(500)
-            }
-        }
-        upPath()
-    }
-
     private fun initEvent() {
     private fun initEvent() {
         binding.tvGoBack.setOnClickListener {
         binding.tvGoBack.setOnClickListener {
             goBackDir()
             goBackDir()

+ 3 - 1
app/src/main/java/io/legado/app/ui/book/import/remote/RemoteBookViewModel.kt

@@ -74,7 +74,7 @@ class RemoteBookViewModel(application: Application) : BaseViewModel(application)
 
 
     private var remoteBookWebDav: RemoteBookWebDav? = null
     private var remoteBookWebDav: RemoteBookWebDav? = null
 
 
-    init {
+    fun initData(onSuccess: () -> Unit) {
         execute {
         execute {
             val rootUrl = "${AppWebDav.rootWebDavUrl}books"
             val rootUrl = "${AppWebDav.rootWebDavUrl}books"
             val authorization = AppWebDav.authorization
             val authorization = AppWebDav.authorization
@@ -82,6 +82,8 @@ class RemoteBookViewModel(application: Application) : BaseViewModel(application)
             remoteBookWebDav = RemoteBookWebDav(rootUrl, authorization)
             remoteBookWebDav = RemoteBookWebDav(rootUrl, authorization)
         }.onError {
         }.onError {
             context.toastOnUi("初始化webDav出错:${it.localizedMessage}")
             context.toastOnUi("初始化webDav出错:${it.localizedMessage}")
+        }.onSuccess {
+            onSuccess.invoke()
         }
         }
     }
     }