diff --git a/app/src/main/java/com/casic/common/detector/gd/service/NtripConnectService.kt b/app/src/main/java/com/casic/common/detector/gd/service/NtripConnectService.kt index 20e1a6a..a598465 100644 --- a/app/src/main/java/com/casic/common/detector/gd/service/NtripConnectService.kt +++ b/app/src/main/java/com/casic/common/detector/gd/service/NtripConnectService.kt @@ -35,6 +35,12 @@ private val kTag = "NtripConnectService" private val socketClient by lazy { TcpClient(this) } + private var account = SaveKeyValues.getValue(LocaleConstant.ACK, "qxtmcr00109891") as String + private var pwd = SaveKeyValues.getValue(LocaleConstant.ACS, "217ad58") as String + private var remoteHost = SaveKeyValues.getValue( + LocaleConstant.RTK_SERVER, "203.107.45.154" + ) as String + private var remotePort = SaveKeyValues.getValue(LocaleConstant.RTK_PORT, "8003") as String private var outStream: OutputStream? = null private val serviceScope = CoroutineScope(Dispatchers.Main + Job()) // 创建一个独立的CoroutineScope @@ -44,11 +50,28 @@ override fun handleMessage(msg: Message): Boolean { if (msg.what == 2024082201) { + socketClient.stop(false) + + val array = msg.obj as Array<*> + account = array[0] as String + pwd = array[1] as String + remoteHost = array[2] as String + remotePort = array[3] as String connectQianXunServer() } return true } + private fun connectQianXunServer() { + if (socketClient.isRunning()) { + return + } + + serviceScope.launch(Dispatchers.IO) { + socketClient.start(remoteHost, remotePort.toInt()) + } + } + override fun onCreate() { super.onCreate() weakReferenceHandler = WeakReferenceHandler(this) @@ -72,10 +95,6 @@ * 这二步是连续的,要不然服务器就会拒绝,显示一连就失败 * */ override fun onConnected() { - //连接成功就发送千寻请求报文 - val account = SaveKeyValues.getValue(LocaleConstant.ACK, "qxcorsh00176734") as String - val pwd = SaveKeyValues.getValue(LocaleConstant.ACS, "86128d9") as String - // base64加密用户名和密码 val byteArray = "$account:$pwd".toByteArray() val base64 = Base64.encodeToString(byteArray, Base64.DEFAULT) @@ -147,22 +166,4 @@ } } } - - private fun connectQianXunServer() { - //取缓存 - val remoteHost = SaveKeyValues.getValue( - LocaleConstant.RTK_SERVER, "203.107.45.154" - ) as String - val remotePort = SaveKeyValues.getValue( - LocaleConstant.RTK_PORT, "8003" - ) as String - - if (socketClient.isRunning()) { - return - } - - serviceScope.launch(Dispatchers.IO) { - socketClient.start(remoteHost, remotePort.toInt()) - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/common/detector/gd/service/NtripConnectService.kt b/app/src/main/java/com/casic/common/detector/gd/service/NtripConnectService.kt index 20e1a6a..a598465 100644 --- a/app/src/main/java/com/casic/common/detector/gd/service/NtripConnectService.kt +++ b/app/src/main/java/com/casic/common/detector/gd/service/NtripConnectService.kt @@ -35,6 +35,12 @@ private val kTag = "NtripConnectService" private val socketClient by lazy { TcpClient(this) } + private var account = SaveKeyValues.getValue(LocaleConstant.ACK, "qxtmcr00109891") as String + private var pwd = SaveKeyValues.getValue(LocaleConstant.ACS, "217ad58") as String + private var remoteHost = SaveKeyValues.getValue( + LocaleConstant.RTK_SERVER, "203.107.45.154" + ) as String + private var remotePort = SaveKeyValues.getValue(LocaleConstant.RTK_PORT, "8003") as String private var outStream: OutputStream? = null private val serviceScope = CoroutineScope(Dispatchers.Main + Job()) // 创建一个独立的CoroutineScope @@ -44,11 +50,28 @@ override fun handleMessage(msg: Message): Boolean { if (msg.what == 2024082201) { + socketClient.stop(false) + + val array = msg.obj as Array<*> + account = array[0] as String + pwd = array[1] as String + remoteHost = array[2] as String + remotePort = array[3] as String connectQianXunServer() } return true } + private fun connectQianXunServer() { + if (socketClient.isRunning()) { + return + } + + serviceScope.launch(Dispatchers.IO) { + socketClient.start(remoteHost, remotePort.toInt()) + } + } + override fun onCreate() { super.onCreate() weakReferenceHandler = WeakReferenceHandler(this) @@ -72,10 +95,6 @@ * 这二步是连续的,要不然服务器就会拒绝,显示一连就失败 * */ override fun onConnected() { - //连接成功就发送千寻请求报文 - val account = SaveKeyValues.getValue(LocaleConstant.ACK, "qxcorsh00176734") as String - val pwd = SaveKeyValues.getValue(LocaleConstant.ACS, "86128d9") as String - // base64加密用户名和密码 val byteArray = "$account:$pwd".toByteArray() val base64 = Base64.encodeToString(byteArray, Base64.DEFAULT) @@ -147,22 +166,4 @@ } } } - - private fun connectQianXunServer() { - //取缓存 - val remoteHost = SaveKeyValues.getValue( - LocaleConstant.RTK_SERVER, "203.107.45.154" - ) as String - val remotePort = SaveKeyValues.getValue( - LocaleConstant.RTK_PORT, "8003" - ) as String - - if (socketClient.isRunning()) { - return - } - - serviceScope.launch(Dispatchers.IO) { - socketClient.start(remoteHost, remotePort.toInt()) - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/common/detector/gd/utils/LocaleConstant.kt b/app/src/main/java/com/casic/common/detector/gd/utils/LocaleConstant.kt index 9b5582c..e772432 100644 --- a/app/src/main/java/com/casic/common/detector/gd/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/common/detector/gd/utils/LocaleConstant.kt @@ -28,7 +28,6 @@ const val TASK_CODE = "TASK_CODE" const val SERVER_IP = "SERVER_IP" const val SERVER_PORT = "SERVER_PORT" - const val APP_AUTHORITY = "com.casic.detector.fileprovider" const val QX_RTK_HOST = "rtk.ntrip.qxwz.com" const val ACK = "Application_Access_Key" const val ACS = "Application_Access_Secret" diff --git a/app/src/main/java/com/casic/common/detector/gd/service/NtripConnectService.kt b/app/src/main/java/com/casic/common/detector/gd/service/NtripConnectService.kt index 20e1a6a..a598465 100644 --- a/app/src/main/java/com/casic/common/detector/gd/service/NtripConnectService.kt +++ b/app/src/main/java/com/casic/common/detector/gd/service/NtripConnectService.kt @@ -35,6 +35,12 @@ private val kTag = "NtripConnectService" private val socketClient by lazy { TcpClient(this) } + private var account = SaveKeyValues.getValue(LocaleConstant.ACK, "qxtmcr00109891") as String + private var pwd = SaveKeyValues.getValue(LocaleConstant.ACS, "217ad58") as String + private var remoteHost = SaveKeyValues.getValue( + LocaleConstant.RTK_SERVER, "203.107.45.154" + ) as String + private var remotePort = SaveKeyValues.getValue(LocaleConstant.RTK_PORT, "8003") as String private var outStream: OutputStream? = null private val serviceScope = CoroutineScope(Dispatchers.Main + Job()) // 创建一个独立的CoroutineScope @@ -44,11 +50,28 @@ override fun handleMessage(msg: Message): Boolean { if (msg.what == 2024082201) { + socketClient.stop(false) + + val array = msg.obj as Array<*> + account = array[0] as String + pwd = array[1] as String + remoteHost = array[2] as String + remotePort = array[3] as String connectQianXunServer() } return true } + private fun connectQianXunServer() { + if (socketClient.isRunning()) { + return + } + + serviceScope.launch(Dispatchers.IO) { + socketClient.start(remoteHost, remotePort.toInt()) + } + } + override fun onCreate() { super.onCreate() weakReferenceHandler = WeakReferenceHandler(this) @@ -72,10 +95,6 @@ * 这二步是连续的,要不然服务器就会拒绝,显示一连就失败 * */ override fun onConnected() { - //连接成功就发送千寻请求报文 - val account = SaveKeyValues.getValue(LocaleConstant.ACK, "qxcorsh00176734") as String - val pwd = SaveKeyValues.getValue(LocaleConstant.ACS, "86128d9") as String - // base64加密用户名和密码 val byteArray = "$account:$pwd".toByteArray() val base64 = Base64.encodeToString(byteArray, Base64.DEFAULT) @@ -147,22 +166,4 @@ } } } - - private fun connectQianXunServer() { - //取缓存 - val remoteHost = SaveKeyValues.getValue( - LocaleConstant.RTK_SERVER, "203.107.45.154" - ) as String - val remotePort = SaveKeyValues.getValue( - LocaleConstant.RTK_PORT, "8003" - ) as String - - if (socketClient.isRunning()) { - return - } - - serviceScope.launch(Dispatchers.IO) { - socketClient.start(remoteHost, remotePort.toInt()) - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/common/detector/gd/utils/LocaleConstant.kt b/app/src/main/java/com/casic/common/detector/gd/utils/LocaleConstant.kt index 9b5582c..e772432 100644 --- a/app/src/main/java/com/casic/common/detector/gd/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/common/detector/gd/utils/LocaleConstant.kt @@ -28,7 +28,6 @@ const val TASK_CODE = "TASK_CODE" const val SERVER_IP = "SERVER_IP" const val SERVER_PORT = "SERVER_PORT" - const val APP_AUTHORITY = "com.casic.detector.fileprovider" const val QX_RTK_HOST = "rtk.ntrip.qxwz.com" const val ACK = "Application_Access_Key" const val ACS = "Application_Access_Secret" diff --git a/app/src/main/java/com/casic/common/detector/gd/view/MainActivity.kt b/app/src/main/java/com/casic/common/detector/gd/view/MainActivity.kt index 0bc8b5d..bbdba29 100644 --- a/app/src/main/java/com/casic/common/detector/gd/view/MainActivity.kt +++ b/app/src/main/java/com/casic/common/detector/gd/view/MainActivity.kt @@ -1,5 +1,6 @@ package com.casic.common.detector.gd.view +import android.content.Intent import android.graphics.BitmapFactory import android.graphics.Color import android.media.AudioAttributes @@ -107,9 +108,9 @@ //地图初始化 initMapConfig(savedInstanceState) -// Intent(this, NtripConnectService::class.java).apply { -// startService(this) -// } + Intent(this, NtripConnectService::class.java).apply { + startService(this) + } soundResourceId = soundPool.load(this, R.raw.ring3, 1) //右上角菜单 @@ -327,8 +328,15 @@ private fun showRtkConfigDialog() { RtkConfigDialog(this).setOnDialogButtonClickListener(object : RtkConfigDialog.OnDialogButtonClickListener { - override fun onConfirmClick() { - NtripConnectService.weakReferenceHandler?.sendEmptyMessage(2024082201) + override fun onConfirmClick( + account: String, password: String, ip: String, port: String + ) { + NtripConnectService.weakReferenceHandler?.let { + val message = it.obtainMessage() + message.what = 2024082201 + message.obj = arrayOf(account, password, ip, port) + it.sendMessage(message) + } } }).show() } diff --git a/app/src/main/java/com/casic/common/detector/gd/service/NtripConnectService.kt b/app/src/main/java/com/casic/common/detector/gd/service/NtripConnectService.kt index 20e1a6a..a598465 100644 --- a/app/src/main/java/com/casic/common/detector/gd/service/NtripConnectService.kt +++ b/app/src/main/java/com/casic/common/detector/gd/service/NtripConnectService.kt @@ -35,6 +35,12 @@ private val kTag = "NtripConnectService" private val socketClient by lazy { TcpClient(this) } + private var account = SaveKeyValues.getValue(LocaleConstant.ACK, "qxtmcr00109891") as String + private var pwd = SaveKeyValues.getValue(LocaleConstant.ACS, "217ad58") as String + private var remoteHost = SaveKeyValues.getValue( + LocaleConstant.RTK_SERVER, "203.107.45.154" + ) as String + private var remotePort = SaveKeyValues.getValue(LocaleConstant.RTK_PORT, "8003") as String private var outStream: OutputStream? = null private val serviceScope = CoroutineScope(Dispatchers.Main + Job()) // 创建一个独立的CoroutineScope @@ -44,11 +50,28 @@ override fun handleMessage(msg: Message): Boolean { if (msg.what == 2024082201) { + socketClient.stop(false) + + val array = msg.obj as Array<*> + account = array[0] as String + pwd = array[1] as String + remoteHost = array[2] as String + remotePort = array[3] as String connectQianXunServer() } return true } + private fun connectQianXunServer() { + if (socketClient.isRunning()) { + return + } + + serviceScope.launch(Dispatchers.IO) { + socketClient.start(remoteHost, remotePort.toInt()) + } + } + override fun onCreate() { super.onCreate() weakReferenceHandler = WeakReferenceHandler(this) @@ -72,10 +95,6 @@ * 这二步是连续的,要不然服务器就会拒绝,显示一连就失败 * */ override fun onConnected() { - //连接成功就发送千寻请求报文 - val account = SaveKeyValues.getValue(LocaleConstant.ACK, "qxcorsh00176734") as String - val pwd = SaveKeyValues.getValue(LocaleConstant.ACS, "86128d9") as String - // base64加密用户名和密码 val byteArray = "$account:$pwd".toByteArray() val base64 = Base64.encodeToString(byteArray, Base64.DEFAULT) @@ -147,22 +166,4 @@ } } } - - private fun connectQianXunServer() { - //取缓存 - val remoteHost = SaveKeyValues.getValue( - LocaleConstant.RTK_SERVER, "203.107.45.154" - ) as String - val remotePort = SaveKeyValues.getValue( - LocaleConstant.RTK_PORT, "8003" - ) as String - - if (socketClient.isRunning()) { - return - } - - serviceScope.launch(Dispatchers.IO) { - socketClient.start(remoteHost, remotePort.toInt()) - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/common/detector/gd/utils/LocaleConstant.kt b/app/src/main/java/com/casic/common/detector/gd/utils/LocaleConstant.kt index 9b5582c..e772432 100644 --- a/app/src/main/java/com/casic/common/detector/gd/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/common/detector/gd/utils/LocaleConstant.kt @@ -28,7 +28,6 @@ const val TASK_CODE = "TASK_CODE" const val SERVER_IP = "SERVER_IP" const val SERVER_PORT = "SERVER_PORT" - const val APP_AUTHORITY = "com.casic.detector.fileprovider" const val QX_RTK_HOST = "rtk.ntrip.qxwz.com" const val ACK = "Application_Access_Key" const val ACS = "Application_Access_Secret" diff --git a/app/src/main/java/com/casic/common/detector/gd/view/MainActivity.kt b/app/src/main/java/com/casic/common/detector/gd/view/MainActivity.kt index 0bc8b5d..bbdba29 100644 --- a/app/src/main/java/com/casic/common/detector/gd/view/MainActivity.kt +++ b/app/src/main/java/com/casic/common/detector/gd/view/MainActivity.kt @@ -1,5 +1,6 @@ package com.casic.common.detector.gd.view +import android.content.Intent import android.graphics.BitmapFactory import android.graphics.Color import android.media.AudioAttributes @@ -107,9 +108,9 @@ //地图初始化 initMapConfig(savedInstanceState) -// Intent(this, NtripConnectService::class.java).apply { -// startService(this) -// } + Intent(this, NtripConnectService::class.java).apply { + startService(this) + } soundResourceId = soundPool.load(this, R.raw.ring3, 1) //右上角菜单 @@ -327,8 +328,15 @@ private fun showRtkConfigDialog() { RtkConfigDialog(this).setOnDialogButtonClickListener(object : RtkConfigDialog.OnDialogButtonClickListener { - override fun onConfirmClick() { - NtripConnectService.weakReferenceHandler?.sendEmptyMessage(2024082201) + override fun onConfirmClick( + account: String, password: String, ip: String, port: String + ) { + NtripConnectService.weakReferenceHandler?.let { + val message = it.obtainMessage() + message.what = 2024082201 + message.obj = arrayOf(account, password, ip, port) + it.sendMessage(message) + } } }).show() } 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 index 149cac1..66b04ab 100644 --- 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 @@ -20,11 +20,11 @@ setCancelable(false) setCanceledOnTouchOutside(false) binding.accountView.setText( - SaveKeyValues.getValue(LocaleConstant.ACK, "qxcorsh00176734") as String + SaveKeyValues.getValue(LocaleConstant.ACK, "qxtmcr00109891") as String ) binding.passwordView.setText( - SaveKeyValues.getValue(LocaleConstant.ACS, "86128d9") as String + SaveKeyValues.getValue(LocaleConstant.ACS, "217ad58") as String ) binding.serverIpView.setText( @@ -70,9 +70,8 @@ SaveKeyValues.putValue(LocaleConstant.ACS, password) SaveKeyValues.putValue(LocaleConstant.RTK_SERVER, ip) SaveKeyValues.putValue(LocaleConstant.RTK_PORT, port) - + listener?.onConfirmClick(account, password, ip, port) dismiss() - listener?.onConfirmClick() } } @@ -84,6 +83,6 @@ } interface OnDialogButtonClickListener { - fun onConfirmClick() + fun onConfirmClick(account: String, password: String, ip: String, port: String) } } \ No newline at end of file