From 875ca02126919406b25f38cc8002bd2c904ce2de Mon Sep 17 00:00:00 2001 From: 2dust <31833384+2dust@users.noreply.github.com> Date: Fri, 8 Nov 2024 10:43:13 +0800 Subject: [PATCH] Bug fix https://github.com/2dust/v2rayNG/issues/3900 --- .../com/v2ray/ang/ui/ServerCustomConfigActivity.kt | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/ui/ServerCustomConfigActivity.kt b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/ui/ServerCustomConfigActivity.kt index 2cd9890f..9d8e3305 100644 --- a/V2rayNG/app/src/main/kotlin/com/v2ray/ang/ui/ServerCustomConfigActivity.kt +++ b/V2rayNG/app/src/main/kotlin/com/v2ray/ang/ui/ServerCustomConfigActivity.kt @@ -12,10 +12,9 @@ import com.v2ray.ang.R import com.v2ray.ang.databinding.ActivityServerCustomConfigBinding import com.v2ray.ang.dto.EConfigType import com.v2ray.ang.dto.ProfileItem -import com.v2ray.ang.dto.V2rayConfig import com.v2ray.ang.extension.toast +import com.v2ray.ang.fmt.CustomFmt import com.v2ray.ang.handler.MmkvManager -import com.v2ray.ang.util.JsonUtil import com.v2ray.ang.util.Utils import me.drakeet.support.toast.ToastCompat @@ -75,8 +74,8 @@ class ServerCustomConfigActivity : BaseActivity() { return false } - val v2rayConfig = try { - JsonUtil.fromJson(binding.editor.text.toString(), V2rayConfig::class.java) + val profileItem = try { + CustomFmt.parse(binding.editor.text.toString()) } catch (e: Exception) { e.printStackTrace() ToastCompat.makeText(this, "${getString(R.string.toast_malformed_josn)} ${e.cause?.message}", Toast.LENGTH_LONG).show() @@ -84,7 +83,11 @@ class ServerCustomConfigActivity : BaseActivity() { } val config = MmkvManager.decodeServerConfig(editGuid) ?: ProfileItem.create(EConfigType.CUSTOM) - config.remarks = if (binding.etRemarks.text.isNullOrEmpty()) v2rayConfig.remarks.orEmpty() else binding.etRemarks.text.toString() + binding.etRemarks.text.let { + config.remarks = if (it.isNullOrEmpty()) profileItem?.remarks.orEmpty() else it.toString() + } + config.server = profileItem?.server + config.serverPort = profileItem?.serverPort MmkvManager.encodeServerConfig(editGuid, config) MmkvManager.encodeServerRaw(editGuid, binding.editor.text.toString())