Преглед изворни кода

Merge pull request #2076 from 821938089/compatible-custom-webdav

优化自建webdav
kunfei пре 4 година
родитељ
комит
a6b3102153

+ 7 - 4
app/src/main/java/io/legado/app/lib/webdav/WebDav.kt

@@ -70,10 +70,13 @@ open class WebDav(val path: String, val authorization: Authorization) {
     }
     private val webDavClient by lazy {
         val authInterceptor = Interceptor { chain ->
-            val request = chain.request()
-                .newBuilder()
-                .header(authorization.name, authorization.data)
-                .build()
+            var request = chain.request()
+            if (request.url.host == host) {
+                request = request
+                    .newBuilder()
+                    .header(authorization.name, authorization.data)
+                    .build()
+            }
             chain.proceed(request)
         }
         okHttpClient.newBuilder().run {

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/remote/RemoteBookActivity.kt

@@ -151,7 +151,7 @@ class RemoteBookActivity : VMBaseActivity<ActivityImportBookBinding, RemoteBookV
         viewModel.dataCallback?.clear()
         adapter.selected.clear()
         viewModel.loadRemoteBookList(
-            viewModel.dirList.lastOrNull()?.path ?: RemoteBookWebDav.rootBookUrl
+            viewModel.dirList.lastOrNull()?.path
         ) {
             if (it) {
                 waitDialog.show()

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

@@ -74,9 +74,10 @@ class RemoteBookViewModel(application: Application) : BaseViewModel(application)
         }
     }
 
-    fun loadRemoteBookList(path: String, loadCallback: (loading: Boolean) -> Unit) {
+    fun loadRemoteBookList(path: String?, loadCallback: (loading: Boolean) -> Unit) {
         execute {
             dataCallback?.clear()
+            val path = path ?: RemoteBookWebDav.rootBookUrl
             val bookList = RemoteBookWebDav.getRemoteBookList(path)
             dataCallback?.setItems(bookList)
         }.onError {

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

@@ -286,7 +286,7 @@ class BackupConfigFragment : PreferenceFragment(),
     }
 
     fun restore() {
-        Coroutine.async(context = Main) {
+        Coroutine.async {
             AppWebDav.showRestoreDialog(requireContext())
         }.onError {
             alert {