fix: 远程webDav初始化时服务器id错误 默认webDavId为-1
This commit is contained in:
@@ -25,6 +25,8 @@ object AppConst {
|
|||||||
|
|
||||||
const val MAX_THREAD = 9
|
const val MAX_THREAD = 9
|
||||||
|
|
||||||
|
const val DEFAULT_WEBDAV_ID = -1
|
||||||
|
|
||||||
val SCRIPT_ENGINE: RhinoScriptEngine by lazy {
|
val SCRIPT_ENGINE: RhinoScriptEngine by lazy {
|
||||||
RhinoScriptEngine()
|
RhinoScriptEngine()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package io.legado.app.lib.webdav
|
package io.legado.app.lib.webdav
|
||||||
|
|
||||||
import io.legado.app.data.appDb
|
import io.legado.app.data.appDb
|
||||||
|
import io.legado.app.data.entities.Server.WebDavConfig
|
||||||
import io.legado.app.exception.NoStackTraceException
|
import io.legado.app.exception.NoStackTraceException
|
||||||
import okhttp3.Credentials
|
import okhttp3.Credentials
|
||||||
import java.nio.charset.Charset
|
import java.nio.charset.Charset
|
||||||
@@ -29,4 +30,6 @@ data class Authorization(
|
|||||||
} ?: throw WebDavException("Unexpected WebDav Authorization")
|
} ?: throw WebDavException("Unexpected WebDav Authorization")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
constructor(webDavConfig: WebDavConfig): this(webDavConfig.username, webDavConfig.password)
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -30,7 +30,8 @@ import java.io.File
|
|||||||
class RemoteBookActivity : BaseImportBookActivity<ActivityImportBookBinding, RemoteBookViewModel>(),
|
class RemoteBookActivity : BaseImportBookActivity<ActivityImportBookBinding, RemoteBookViewModel>(),
|
||||||
RemoteBookAdapter.CallBack,
|
RemoteBookAdapter.CallBack,
|
||||||
SelectActionBar.CallBack,
|
SelectActionBar.CallBack,
|
||||||
ServerConfigDialog.Callback {
|
ServerConfigDialog.Callback,
|
||||||
|
ServersDialog.Callback {
|
||||||
override val binding by viewBinding(ActivityImportBookBinding::inflate)
|
override val binding by viewBinding(ActivityImportBookBinding::inflate)
|
||||||
override val viewModel by viewModels<RemoteBookViewModel>()
|
override val viewModel by viewModels<RemoteBookViewModel>()
|
||||||
private val adapter by lazy { RemoteBookAdapter(this, this) }
|
private val adapter by lazy { RemoteBookAdapter(this, this) }
|
||||||
|
|||||||
@@ -80,18 +80,11 @@ class RemoteBookViewModel(application: Application) : BaseViewModel(application)
|
|||||||
|
|
||||||
fun initData(onSuccess: () -> Unit) {
|
fun initData(onSuccess: () -> Unit) {
|
||||||
execute {
|
execute {
|
||||||
val server = appDb.serverDao.get(AppConfig.remoteServerId)
|
appDb.serverDao.get(AppConfig.remoteServerId)?.getWebDavConfig()?.let {
|
||||||
val serverConfig = server?.getConfigJsonObject()
|
val authorization = Authorization(it)
|
||||||
if (serverConfig != null && serverConfig.has("url")) {
|
remoteBookWebDav = RemoteBookWebDav(it.url, authorization, AppConfig.remoteServerId)
|
||||||
val url = serverConfig.getString("url")
|
|
||||||
if (url.isNotBlank()) {
|
|
||||||
val user = serverConfig.getString("user")
|
|
||||||
val password = serverConfig.getString("password")
|
|
||||||
val authorization = Authorization(user, password)
|
|
||||||
remoteBookWebDav = RemoteBookWebDav(url, authorization, 10001)
|
|
||||||
return@execute
|
return@execute
|
||||||
}
|
}
|
||||||
}
|
|
||||||
remoteBookWebDav = AppWebDav.defaultBookWebDav
|
remoteBookWebDav = AppWebDav.defaultBookWebDav
|
||||||
?: throw NoStackTraceException("webDav没有配置")
|
?: throw NoStackTraceException("webDav没有配置")
|
||||||
}.onError {
|
}.onError {
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import androidx.appcompat.widget.Toolbar
|
|||||||
import androidx.fragment.app.viewModels
|
import androidx.fragment.app.viewModels
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import io.legado.app.R
|
import io.legado.app.R
|
||||||
|
import io.legado.app.constant.AppConst.DEFAULT_WEBDAV_ID
|
||||||
import io.legado.app.base.BaseDialogFragment
|
import io.legado.app.base.BaseDialogFragment
|
||||||
import io.legado.app.base.adapter.ItemViewHolder
|
import io.legado.app.base.adapter.ItemViewHolder
|
||||||
import io.legado.app.base.adapter.RecyclerAdapter
|
import io.legado.app.base.adapter.RecyclerAdapter
|
||||||
@@ -61,7 +62,7 @@ class ServersDialog : BaseDialogFragment(R.layout.dialog_recycler_view),
|
|||||||
binding.tvFooterLeft.text = getString(R.string.text_default)
|
binding.tvFooterLeft.text = getString(R.string.text_default)
|
||||||
binding.tvFooterLeft.visible()
|
binding.tvFooterLeft.visible()
|
||||||
binding.tvFooterLeft.setOnClickListener {
|
binding.tvFooterLeft.setOnClickListener {
|
||||||
AppConfig.remoteServerId = 0
|
AppConfig.remoteServerId = DEFAULT_WEBDAV_ID
|
||||||
dismissAllowingStateLoss()
|
dismissAllowingStateLoss()
|
||||||
}
|
}
|
||||||
binding.tvCancel.visible()
|
binding.tvCancel.visible()
|
||||||
|
|||||||
Reference in New Issue
Block a user