Xwite 3 лет назад
Родитель
Сommit
f990711e60

+ 2 - 9
app/src/main/java/io/legado/app/lib/webdav/WebDav.kt

@@ -34,15 +34,14 @@ import java.time.format.DateTimeFormatter
 @Suppress("unused", "MemberVisibilityCanBePrivate")
 open class WebDav(
     val path: String,
-    val authorization: Authorization,
-    private val serverID: Long? = null
+    val authorization: Authorization
 ) {
     companion object {
 
         fun fromPath(path: String): WebDav {
             val id = AnalyzeUrl(path).serverID
             val authorization = Authorization(id)
-            return WebDav(path, authorization, id)
+            return WebDav(path, authorization)
         }
 
         @SuppressLint("DateTimeFormatter")
@@ -402,10 +401,4 @@ open class WebDav(
         }
     }
 
-    override fun toString(): String {
-        val url = httpUrl ?: return ""
-        serverID ?: return url
-        return  "$url,{serverID:$serverID}"
-    }
-
 }

+ 5 - 2
app/src/main/java/io/legado/app/model/remote/RemoteBookWebDav.kt

@@ -9,6 +9,7 @@ import io.legado.app.help.config.AppConfig
 import io.legado.app.lib.webdav.Authorization
 import io.legado.app.lib.webdav.WebDav
 import io.legado.app.lib.webdav.WebDavFile
+import io.legado.app.model.analyzeRule.CustomUrl
 import io.legado.app.model.localBook.LocalBook
 import io.legado.app.utils.NetworkUtils
 import io.legado.app.utils.isContentScheme
@@ -67,7 +68,7 @@ class RemoteBookWebDav(
         if (!NetworkUtils.isAvailable()) throw NoStackTraceException("网络不可用")
         val localBookUri = Uri.parse(book.bookUrl)
         val putUrl = "$rootBookUrl${File.separator}${book.originName}"
-        val webDav =  WebDav(putUrl, authorization, serverID)
+        val webDav =  WebDav(putUrl, authorization)
         if (localBookUri.isContentScheme()) {
             webDav.upload(
                 byteArray = localBookUri.readBytes(appCtx),
@@ -76,7 +77,9 @@ class RemoteBookWebDav(
         } else {
             webDav.upload(localBookUri.path!!)
         }
-        book.origin = BookType.webDavTag + webDav.toString()
+        book.origin = BookType.webDavTag + CustomUrl(putUrl)
+          .putAttribute("serverID", serverID)
+          .toString()
         book.save()
     }