|
|
|
@ -17,6 +17,7 @@ import io.legado.app.lib.webdav.WebDav |
|
|
|
|
import io.legado.app.utils.* |
|
|
|
|
import kotlinx.coroutines.Dispatchers.IO |
|
|
|
|
import kotlinx.coroutines.Dispatchers.Main |
|
|
|
|
import kotlinx.coroutines.runBlocking |
|
|
|
|
import kotlinx.coroutines.withContext |
|
|
|
|
import splitties.init.appCtx |
|
|
|
|
import java.io.File |
|
|
|
@ -30,6 +31,12 @@ object AppWebDav { |
|
|
|
|
|
|
|
|
|
var isOk = false |
|
|
|
|
|
|
|
|
|
init { |
|
|
|
|
runBlocking { |
|
|
|
|
initConfig() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private val rootWebDavUrl: String |
|
|
|
|
get() { |
|
|
|
|
val configUrl = appCtx.getPrefString(PreferKey.webDavUrl)?.trim() |
|
|
|
@ -50,14 +57,15 @@ object AppWebDav { |
|
|
|
|
return "backup${backupDate}.zip" |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Throws(Exception::class) |
|
|
|
|
suspend fun initConfig() { |
|
|
|
|
isOk = false |
|
|
|
|
val account = appCtx.getPrefString(PreferKey.webDavAccount) |
|
|
|
|
val password = appCtx.getPrefString(PreferKey.webDavPassword) |
|
|
|
|
if (!account.isNullOrBlank() && !password.isNullOrBlank()) { |
|
|
|
|
HttpAuth.auth = HttpAuth.Auth(account, password) |
|
|
|
|
isOk = WebDav(rootWebDavUrl).makeAsDir() && WebDav(bookProgressUrl).makeAsDir() |
|
|
|
|
kotlin.runCatching { |
|
|
|
|
isOk = false |
|
|
|
|
val account = appCtx.getPrefString(PreferKey.webDavAccount) |
|
|
|
|
val password = appCtx.getPrefString(PreferKey.webDavPassword) |
|
|
|
|
if (!account.isNullOrBlank() && !password.isNullOrBlank()) { |
|
|
|
|
HttpAuth.auth = HttpAuth.Auth(account, password) |
|
|
|
|
isOk = WebDav(rootWebDavUrl).makeAsDir() && WebDav(bookProgressUrl).makeAsDir() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|