mirror of
https://github.com/gedoor/legado.git
synced 2025-08-10 00:52:30 +00:00
Merge pull request #2076 from 821938089/compatible-custom-webdav
优化自建webdav
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -286,7 +286,7 @@ class BackupConfigFragment : PreferenceFragment(),
|
||||
}
|
||||
|
||||
fun restore() {
|
||||
Coroutine.async(context = Main) {
|
||||
Coroutine.async {
|
||||
AppWebDav.showRestoreDialog(requireContext())
|
||||
}.onError {
|
||||
alert {
|
||||
|
||||
Reference in New Issue
Block a user