Horis 1 سال پیش
والد
کامیت
31a3918361

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

@@ -211,7 +211,10 @@ open class WebDav(
                                 .toInstant(ZoneOffset.of("+8")).toEpochMilli()
                         }
                 }.getOrNull() ?: 0
-                val fullURL = NetworkUtils.getAbsoluteURL(baseUrl, hrefDecode)
+                var fullURL = NetworkUtils.getAbsoluteURL(baseUrl, hrefDecode)
+                if (WebDavFile.isDir(contentType, resourceType) && !fullURL.endsWith("/")) {
+                    fullURL += "/"
+                }
                 webDavFile = WebDavFile(
                     fullURL,
                     authorization,

+ 8 - 1
app/src/main/java/io/legado/app/lib/webdav/WebDavFile.kt

@@ -16,7 +16,14 @@ class WebDavFile(
 ) : WebDav(urlStr, authorization) {
 
     val isDir by lazy {
-        contentType == "httpd/unix-directory" || resourceType.lowercase().contains("collection")
+        isDir(contentType, resourceType)
+    }
+
+    companion object {
+        fun isDir(contentType: String, resourceType: String): Boolean {
+            return contentType == "httpd/unix-directory"
+                    || resourceType.lowercase().contains("collection")
+        }
     }
 
 }