diff --git a/app/src/main/java/io/legado/app/ui/book/import/remote/ServerConfigDialog.kt b/app/src/main/java/io/legado/app/ui/book/import/remote/ServerConfigDialog.kt index de8d97dc40d9..ba4f91f47973 100644 --- a/app/src/main/java/io/legado/app/ui/book/import/remote/ServerConfigDialog.kt +++ b/app/src/main/java/io/legado/app/ui/book/import/remote/ServerConfigDialog.kt @@ -1,6 +1,5 @@ package io.legado.app.ui.book.import.remote -import android.content.DialogInterface import android.os.Bundle import android.text.InputType import android.view.MenuItem @@ -18,7 +17,6 @@ import io.legado.app.lib.theme.primaryColor import io.legado.app.utils.GSON import io.legado.app.utils.applyTint import io.legado.app.utils.setLayout -import io.legado.app.utils.toastOnUi import io.legado.app.utils.viewbindingdelegate.viewBinding import org.json.JSONObject @@ -57,7 +55,7 @@ class ServerConfigDialog() : BaseDialogFragment(R.layout.dialog_webdav_server, t override fun onMenuItemClick(item: MenuItem): Boolean { when (item.itemId) { - R.id.menu_save -> getServer()?.let { + R.id.menu_save -> getServer().let { viewModel.save(it) { dismissAllowingStateLoss() } @@ -107,7 +105,7 @@ class ServerConfigDialog() : BaseDialogFragment(R.layout.dialog_webdav_server, t } } - private fun getServer(): Server? { + private fun getServer(): Server { val server = viewModel.mServer?.copy() ?: Server() server.name = binding.etName.text.toString() server.type = when (binding.spType.selectedItemPosition) { @@ -130,16 +128,4 @@ class ServerConfigDialog() : BaseDialogFragment(R.layout.dialog_webdav_server, t return data } - - // override fun onDismiss(dialog: DialogInterface) { - // super.onDismiss(dialog) - // ((parentFragment as? Callback) ?: (activity as? Callback)) - // ?.onDialogDismiss("serverConfig") - // } - - // interface Callback { - - // fun onDialogDismiss(tag: String) - - // } } \ No newline at end of file diff --git a/app/src/main/java/io/legado/app/ui/book/import/remote/ServerConfigViewModel.kt b/app/src/main/java/io/legado/app/ui/book/import/remote/ServerConfigViewModel.kt index 01b8ff863105..d23eeadbd65d 100644 --- a/app/src/main/java/io/legado/app/ui/book/import/remote/ServerConfigViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/book/import/remote/ServerConfigViewModel.kt @@ -11,12 +11,13 @@ class ServerConfigViewModel(application: Application): BaseViewModel(application var mServer: Server? = null fun init(id: Long?, onSuccess: () -> Unit) { + //mServer不为空可能是旋转屏幕界面重新创建,不用更新数据 + if (mServer != null) return execute { - if (mServer == null && id != null) { + if (id != null) { mServer = appDb.serverDao.get(id) - mServer } else { - null + mServer = Server() } }.onSuccess { onSuccess.invoke() diff --git a/app/src/main/res/layout/dialog_webdav_server.xml b/app/src/main/res/layout/dialog_webdav_server.xml index 08d332ea040c..fac35ed2f557 100644 --- a/app/src/main/res/layout/dialog_webdav_server.xml +++ b/app/src/main/res/layout/dialog_webdav_server.xml @@ -19,6 +19,7 @@ android:id="@+id/tool_bar" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_marginBottom="3dp" android:background="@color/background_menu" android:elevation="5dp" android:theme="?attr/actionBarStyle"