diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a4912c4..42dc662 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -66,9 +66,6 @@ - - navigatePageTo() 3 -> uploadEvent() 4 -> completionMarker() - 5 -> { - Intent(this@MainActivity, RtkConfigActivity::class.java).also { - rtkConfigLauncher.launch(it) - } - } - + 5 -> showRtkConfigDialog() 6 -> navigatePageTo() } } @@ -393,14 +387,16 @@ } } - private val rtkConfigLauncher = - registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { - if (it.resultCode == Activity.RESULT_OK) { - val referenceHandler = NtripConnectService.weakReferenceHandler - ?: return@registerForActivityResult - referenceHandler.sendEmptyMessage(2024082201) + private fun showRtkConfigDialog() { + RtkConfigDialog(this).setOnDialogButtonClickListener(object : + RtkConfigDialog.OnDialogButtonClickListener { + override fun onConfirmClick() { + NtripConnectService.weakReferenceHandler?.apply { + sendEmptyMessage(2024082201) + } } - } + }).show() + } private fun uploadTask(taskId: String, taskCode: String, state: String) { if (isNetworkConnected()) { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a4912c4..42dc662 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -66,9 +66,6 @@ - navigatePageTo() 3 -> uploadEvent() 4 -> completionMarker() - 5 -> { - Intent(this@MainActivity, RtkConfigActivity::class.java).also { - rtkConfigLauncher.launch(it) - } - } - + 5 -> showRtkConfigDialog() 6 -> navigatePageTo() } } @@ -393,14 +387,16 @@ } } - private val rtkConfigLauncher = - registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { - if (it.resultCode == Activity.RESULT_OK) { - val referenceHandler = NtripConnectService.weakReferenceHandler - ?: return@registerForActivityResult - referenceHandler.sendEmptyMessage(2024082201) + private fun showRtkConfigDialog() { + RtkConfigDialog(this).setOnDialogButtonClickListener(object : + RtkConfigDialog.OnDialogButtonClickListener { + override fun onConfirmClick() { + NtripConnectService.weakReferenceHandler?.apply { + sendEmptyMessage(2024082201) + } } - } + }).show() + } private fun uploadTask(taskId: String, taskCode: String, state: String) { if (isNetworkConnected()) { diff --git a/app/src/main/java/com/casic/common/detector/gd/view/RtkConfigActivity.kt b/app/src/main/java/com/casic/common/detector/gd/view/RtkConfigActivity.kt deleted file mode 100644 index 158a525..0000000 --- a/app/src/main/java/com/casic/common/detector/gd/view/RtkConfigActivity.kt +++ /dev/null @@ -1,89 +0,0 @@ -package com.casic.common.detector.gd.view - -import android.content.Intent -import android.os.Bundle -import com.casic.common.detector.gd.databinding.ActivityRtkConfigBinding -import com.casic.common.detector.gd.utils.LocaleConstant -import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.extensions.show -import com.pengxh.kt.lite.utils.SaveKeyValues -import com.pengxh.kt.lite.widget.TitleBarView - -class RtkConfigActivity : KotlinBaseActivity() { - - override fun initEvent() { - binding.saveButton.setOnClickListener { - val account = binding.accountView.text.toString().trim() - if (account.isBlank()) { - "请输入差分定位服务账号!".show(this) - return@setOnClickListener - } - - val password = binding.passwordView.text.toString().trim() - if (password.isBlank()) { - "请输入密码!".show(this) - return@setOnClickListener - } - - val ip = binding.serverIpView.text.toString().trim() - if (ip.isBlank()) { - "请输入差分定位服务器IP!".show(this) - return@setOnClickListener - } - - val port = binding.serverPortView.text.toString().trim() - if (port.isBlank()) { - "请输入差分定位服务器端口号!".show(this) - return@setOnClickListener - } - - SaveKeyValues.putValue(LocaleConstant.ACK, account) - SaveKeyValues.putValue(LocaleConstant.ACS, password) - SaveKeyValues.putValue(LocaleConstant.RTK_SERVER, ip) - SaveKeyValues.putValue(LocaleConstant.RTK_PORT, port) - - Intent().also { - setResult(RESULT_OK, it) - } - finish() - } - } - - override fun initOnCreate(savedInstanceState: Bundle?) { - binding.accountView.setText( - SaveKeyValues.getValue(LocaleConstant.ACK, "qxcorsh00176734") as String - ) - - binding.passwordView.setText( - SaveKeyValues.getValue(LocaleConstant.ACS, "86128d9") as String - ) - - binding.serverIpView.setText( - SaveKeyValues.getValue(LocaleConstant.RTK_SERVER, "203.107.45.154") as String - ) - - binding.serverPortView.setText( - SaveKeyValues.getValue(LocaleConstant.RTK_PORT, "8003") as String - ) - } - - override fun initViewBinding(): ActivityRtkConfigBinding { - return ActivityRtkConfigBinding.inflate(layoutInflater) - } - - override fun observeRequestState() { - - } - - override fun setupTopBarLayout() { - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - - } - - override fun onRightClick() { - finish() - } - }) - } -} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a4912c4..42dc662 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -66,9 +66,6 @@ - navigatePageTo() 3 -> uploadEvent() 4 -> completionMarker() - 5 -> { - Intent(this@MainActivity, RtkConfigActivity::class.java).also { - rtkConfigLauncher.launch(it) - } - } - + 5 -> showRtkConfigDialog() 6 -> navigatePageTo() } } @@ -393,14 +387,16 @@ } } - private val rtkConfigLauncher = - registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { - if (it.resultCode == Activity.RESULT_OK) { - val referenceHandler = NtripConnectService.weakReferenceHandler - ?: return@registerForActivityResult - referenceHandler.sendEmptyMessage(2024082201) + private fun showRtkConfigDialog() { + RtkConfigDialog(this).setOnDialogButtonClickListener(object : + RtkConfigDialog.OnDialogButtonClickListener { + override fun onConfirmClick() { + NtripConnectService.weakReferenceHandler?.apply { + sendEmptyMessage(2024082201) + } } - } + }).show() + } private fun uploadTask(taskId: String, taskCode: String, state: String) { if (isNetworkConnected()) { diff --git a/app/src/main/java/com/casic/common/detector/gd/view/RtkConfigActivity.kt b/app/src/main/java/com/casic/common/detector/gd/view/RtkConfigActivity.kt deleted file mode 100644 index 158a525..0000000 --- a/app/src/main/java/com/casic/common/detector/gd/view/RtkConfigActivity.kt +++ /dev/null @@ -1,89 +0,0 @@ -package com.casic.common.detector.gd.view - -import android.content.Intent -import android.os.Bundle -import com.casic.common.detector.gd.databinding.ActivityRtkConfigBinding -import com.casic.common.detector.gd.utils.LocaleConstant -import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.extensions.show -import com.pengxh.kt.lite.utils.SaveKeyValues -import com.pengxh.kt.lite.widget.TitleBarView - -class RtkConfigActivity : KotlinBaseActivity() { - - override fun initEvent() { - binding.saveButton.setOnClickListener { - val account = binding.accountView.text.toString().trim() - if (account.isBlank()) { - "请输入差分定位服务账号!".show(this) - return@setOnClickListener - } - - val password = binding.passwordView.text.toString().trim() - if (password.isBlank()) { - "请输入密码!".show(this) - return@setOnClickListener - } - - val ip = binding.serverIpView.text.toString().trim() - if (ip.isBlank()) { - "请输入差分定位服务器IP!".show(this) - return@setOnClickListener - } - - val port = binding.serverPortView.text.toString().trim() - if (port.isBlank()) { - "请输入差分定位服务器端口号!".show(this) - return@setOnClickListener - } - - SaveKeyValues.putValue(LocaleConstant.ACK, account) - SaveKeyValues.putValue(LocaleConstant.ACS, password) - SaveKeyValues.putValue(LocaleConstant.RTK_SERVER, ip) - SaveKeyValues.putValue(LocaleConstant.RTK_PORT, port) - - Intent().also { - setResult(RESULT_OK, it) - } - finish() - } - } - - override fun initOnCreate(savedInstanceState: Bundle?) { - binding.accountView.setText( - SaveKeyValues.getValue(LocaleConstant.ACK, "qxcorsh00176734") as String - ) - - binding.passwordView.setText( - SaveKeyValues.getValue(LocaleConstant.ACS, "86128d9") as String - ) - - binding.serverIpView.setText( - SaveKeyValues.getValue(LocaleConstant.RTK_SERVER, "203.107.45.154") as String - ) - - binding.serverPortView.setText( - SaveKeyValues.getValue(LocaleConstant.RTK_PORT, "8003") as String - ) - } - - override fun initViewBinding(): ActivityRtkConfigBinding { - return ActivityRtkConfigBinding.inflate(layoutInflater) - } - - override fun observeRequestState() { - - } - - override fun setupTopBarLayout() { - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - - } - - override fun onRightClick() { - finish() - } - }) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/common/detector/gd/widgets/RtkConfigDialog.kt b/app/src/main/java/com/casic/common/detector/gd/widgets/RtkConfigDialog.kt new file mode 100644 index 0000000..1bda78e --- /dev/null +++ b/app/src/main/java/com/casic/common/detector/gd/widgets/RtkConfigDialog.kt @@ -0,0 +1,91 @@ +package com.casic.common.detector.gd.widgets + +import android.app.Dialog +import android.content.Context +import android.os.Bundle +import com.casic.common.detector.gd.R +import com.casic.common.detector.gd.databinding.DialogRtkConfigBinding +import com.casic.common.detector.gd.utils.LocaleConstant +import com.pengxh.kt.lite.extensions.binding +import com.pengxh.kt.lite.extensions.initDialogLayoutParams +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.SaveKeyValues + +class RtkConfigDialog(private val context: Context) : + Dialog(context, R.style.UserDefinedDialogStyle) { + + private val binding: DialogRtkConfigBinding by binding() + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + this.initDialogLayoutParams(0.8f) + setCancelable(false) + setCanceledOnTouchOutside(false) + binding.accountView.setText( + SaveKeyValues.getValue(LocaleConstant.ACK, "qxcorsh00176734") as String + ) + + binding.passwordView.setText( + SaveKeyValues.getValue(LocaleConstant.ACS, "86128d9") as String + ) + + binding.serverIpView.setText( + SaveKeyValues.getValue(LocaleConstant.RTK_SERVER, "203.107.45.154") as String + ) + + binding.serverPortView.setText( + SaveKeyValues.getValue(LocaleConstant.RTK_PORT, "8003") as String + ) + + initEvent() + } + + fun initEvent() { + binding.dialogCancelButton.setOnClickListener { dismiss() } + + binding.dialogConfirmButton.setOnClickListener { + val account = binding.accountView.text.toString().trim() + if (account.isBlank()) { + "请输入差分定位服务账号!".show(context) + return@setOnClickListener + } + + val password = binding.passwordView.text.toString().trim() + if (password.isBlank()) { + "请输入密码!".show(context) + return@setOnClickListener + } + + val ip = binding.serverIpView.text.toString().trim() + if (ip.isBlank()) { + "请输入差分定位服务器IP!".show(context) + return@setOnClickListener + } + + val port = binding.serverPortView.text.toString().trim() + if (port.isBlank()) { + "请输入差分定位服务器端口号!".show(context) + return@setOnClickListener + } + + SaveKeyValues.putValue(LocaleConstant.ACK, account) + SaveKeyValues.putValue(LocaleConstant.ACS, password) + SaveKeyValues.putValue(LocaleConstant.RTK_SERVER, ip) + SaveKeyValues.putValue(LocaleConstant.RTK_PORT, port) + + dismiss() + listener?.onConfirmClick() + } + } + + private var listener: OnDialogButtonClickListener? = null + + fun setOnDialogButtonClickListener(listener: OnDialogButtonClickListener): RtkConfigDialog { + this.listener = listener + return this + } + + interface OnDialogButtonClickListener { + fun onConfirmClick() + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a4912c4..42dc662 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -66,9 +66,6 @@ - navigatePageTo() 3 -> uploadEvent() 4 -> completionMarker() - 5 -> { - Intent(this@MainActivity, RtkConfigActivity::class.java).also { - rtkConfigLauncher.launch(it) - } - } - + 5 -> showRtkConfigDialog() 6 -> navigatePageTo() } } @@ -393,14 +387,16 @@ } } - private val rtkConfigLauncher = - registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { - if (it.resultCode == Activity.RESULT_OK) { - val referenceHandler = NtripConnectService.weakReferenceHandler - ?: return@registerForActivityResult - referenceHandler.sendEmptyMessage(2024082201) + private fun showRtkConfigDialog() { + RtkConfigDialog(this).setOnDialogButtonClickListener(object : + RtkConfigDialog.OnDialogButtonClickListener { + override fun onConfirmClick() { + NtripConnectService.weakReferenceHandler?.apply { + sendEmptyMessage(2024082201) + } } - } + }).show() + } private fun uploadTask(taskId: String, taskCode: String, state: String) { if (isNetworkConnected()) { diff --git a/app/src/main/java/com/casic/common/detector/gd/view/RtkConfigActivity.kt b/app/src/main/java/com/casic/common/detector/gd/view/RtkConfigActivity.kt deleted file mode 100644 index 158a525..0000000 --- a/app/src/main/java/com/casic/common/detector/gd/view/RtkConfigActivity.kt +++ /dev/null @@ -1,89 +0,0 @@ -package com.casic.common.detector.gd.view - -import android.content.Intent -import android.os.Bundle -import com.casic.common.detector.gd.databinding.ActivityRtkConfigBinding -import com.casic.common.detector.gd.utils.LocaleConstant -import com.pengxh.kt.lite.base.KotlinBaseActivity -import com.pengxh.kt.lite.extensions.show -import com.pengxh.kt.lite.utils.SaveKeyValues -import com.pengxh.kt.lite.widget.TitleBarView - -class RtkConfigActivity : KotlinBaseActivity() { - - override fun initEvent() { - binding.saveButton.setOnClickListener { - val account = binding.accountView.text.toString().trim() - if (account.isBlank()) { - "请输入差分定位服务账号!".show(this) - return@setOnClickListener - } - - val password = binding.passwordView.text.toString().trim() - if (password.isBlank()) { - "请输入密码!".show(this) - return@setOnClickListener - } - - val ip = binding.serverIpView.text.toString().trim() - if (ip.isBlank()) { - "请输入差分定位服务器IP!".show(this) - return@setOnClickListener - } - - val port = binding.serverPortView.text.toString().trim() - if (port.isBlank()) { - "请输入差分定位服务器端口号!".show(this) - return@setOnClickListener - } - - SaveKeyValues.putValue(LocaleConstant.ACK, account) - SaveKeyValues.putValue(LocaleConstant.ACS, password) - SaveKeyValues.putValue(LocaleConstant.RTK_SERVER, ip) - SaveKeyValues.putValue(LocaleConstant.RTK_PORT, port) - - Intent().also { - setResult(RESULT_OK, it) - } - finish() - } - } - - override fun initOnCreate(savedInstanceState: Bundle?) { - binding.accountView.setText( - SaveKeyValues.getValue(LocaleConstant.ACK, "qxcorsh00176734") as String - ) - - binding.passwordView.setText( - SaveKeyValues.getValue(LocaleConstant.ACS, "86128d9") as String - ) - - binding.serverIpView.setText( - SaveKeyValues.getValue(LocaleConstant.RTK_SERVER, "203.107.45.154") as String - ) - - binding.serverPortView.setText( - SaveKeyValues.getValue(LocaleConstant.RTK_PORT, "8003") as String - ) - } - - override fun initViewBinding(): ActivityRtkConfigBinding { - return ActivityRtkConfigBinding.inflate(layoutInflater) - } - - override fun observeRequestState() { - - } - - override fun setupTopBarLayout() { - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - - } - - override fun onRightClick() { - finish() - } - }) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/common/detector/gd/widgets/RtkConfigDialog.kt b/app/src/main/java/com/casic/common/detector/gd/widgets/RtkConfigDialog.kt new file mode 100644 index 0000000..1bda78e --- /dev/null +++ b/app/src/main/java/com/casic/common/detector/gd/widgets/RtkConfigDialog.kt @@ -0,0 +1,91 @@ +package com.casic.common.detector.gd.widgets + +import android.app.Dialog +import android.content.Context +import android.os.Bundle +import com.casic.common.detector.gd.R +import com.casic.common.detector.gd.databinding.DialogRtkConfigBinding +import com.casic.common.detector.gd.utils.LocaleConstant +import com.pengxh.kt.lite.extensions.binding +import com.pengxh.kt.lite.extensions.initDialogLayoutParams +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.SaveKeyValues + +class RtkConfigDialog(private val context: Context) : + Dialog(context, R.style.UserDefinedDialogStyle) { + + private val binding: DialogRtkConfigBinding by binding() + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + this.initDialogLayoutParams(0.8f) + setCancelable(false) + setCanceledOnTouchOutside(false) + binding.accountView.setText( + SaveKeyValues.getValue(LocaleConstant.ACK, "qxcorsh00176734") as String + ) + + binding.passwordView.setText( + SaveKeyValues.getValue(LocaleConstant.ACS, "86128d9") as String + ) + + binding.serverIpView.setText( + SaveKeyValues.getValue(LocaleConstant.RTK_SERVER, "203.107.45.154") as String + ) + + binding.serverPortView.setText( + SaveKeyValues.getValue(LocaleConstant.RTK_PORT, "8003") as String + ) + + initEvent() + } + + fun initEvent() { + binding.dialogCancelButton.setOnClickListener { dismiss() } + + binding.dialogConfirmButton.setOnClickListener { + val account = binding.accountView.text.toString().trim() + if (account.isBlank()) { + "请输入差分定位服务账号!".show(context) + return@setOnClickListener + } + + val password = binding.passwordView.text.toString().trim() + if (password.isBlank()) { + "请输入密码!".show(context) + return@setOnClickListener + } + + val ip = binding.serverIpView.text.toString().trim() + if (ip.isBlank()) { + "请输入差分定位服务器IP!".show(context) + return@setOnClickListener + } + + val port = binding.serverPortView.text.toString().trim() + if (port.isBlank()) { + "请输入差分定位服务器端口号!".show(context) + return@setOnClickListener + } + + SaveKeyValues.putValue(LocaleConstant.ACK, account) + SaveKeyValues.putValue(LocaleConstant.ACS, password) + SaveKeyValues.putValue(LocaleConstant.RTK_SERVER, ip) + SaveKeyValues.putValue(LocaleConstant.RTK_PORT, port) + + dismiss() + listener?.onConfirmClick() + } + } + + private var listener: OnDialogButtonClickListener? = null + + fun setOnDialogButtonClickListener(listener: OnDialogButtonClickListener): RtkConfigDialog { + this.listener = listener + return this + } + + interface OnDialogButtonClickListener { + fun onConfirmClick() + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_rtk_config.xml b/app/src/main/res/layout/activity_rtk_config.xml deleted file mode 100644 index 56dfe75..0000000 --- a/app/src/main/res/layout/activity_rtk_config.xml +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -