diff --git a/app/src/main/java/org/yameida/worktool/activity/SettingsAdvanceActivity.kt b/app/src/main/java/org/yameida/worktool/activity/SettingsAdvanceActivity.kt index a70a2fb..52732b0 100644 --- a/app/src/main/java/org/yameida/worktool/activity/SettingsAdvanceActivity.kt +++ b/app/src/main/java/org/yameida/worktool/activity/SettingsAdvanceActivity.kt @@ -78,6 +78,8 @@ class SettingsAdvanceActivity : AppCompatActivity() { ll_corp_param.visibility = if (Constant.customLink) View.VISIBLE else View.GONE rl_username.visibility = if (Constant.customMP) View.VISIBLE else View.GONE rl_qa_url.setOnClickListener { showQaUrlDialog() } + rl_host.setOnClickListener { showHostDialog() } + tv_select_host.text = Constant.host rl_corp_name.setOnClickListener { showCorpNameDialog() } rl_corp.setOnClickListener { showCorpIdDialog() } rl_agent.setOnClickListener { showAgentIdDialog() } @@ -117,6 +119,32 @@ class SettingsAdvanceActivity : AppCompatActivity() { .create(R.style.QMUI_Dialog).show() } + private fun showHostDialog() { + val builder = QMUIDialog.EditTextDialogBuilder(this) + builder.setTitle("服务器地址") + .setPlaceholder("请输入WebSocket服务器地址") + .setDefaultText(Constant.host) + .setInputType(InputType.TYPE_CLASS_TEXT) + .addAction(getString(R.string.cancel)) { dialog, index -> dialog.dismiss() } + .addAction(getString(R.string.add)) { dialog, index -> + val text = builder.editText.text + if (text != null && text.isNotEmpty()) { + val host = text.toString().trim() + if (host.matches("wss?://[^:]+:\\d+".toRegex())) { + dialog.dismiss() + Constant.host = host + tv_select_host.text = host + ToastUtils.showLong("服务器地址已更新") + } else { + ToastUtils.showLong("格式异常!示例: ws://192.168.1.1:18680") + } + } else { + ToastUtils.showLong("请勿为空!") + } + } + .create(R.style.QMUI_Dialog).show() + } + private fun updateRobotQaUrl(callbackUrl: String) { try { val json = hashMapOf() diff --git a/app/src/main/res/layout/activity_settings_advance.xml b/app/src/main/res/layout/activity_settings_advance.xml index 116a89b..66d4f4b 100644 --- a/app/src/main/res/layout/activity_settings_advance.xml +++ b/app/src/main/res/layout/activity_settings_advance.xml @@ -317,6 +317,53 @@ + + + + + + + + + + + + +