diff --git a/app/src/main/java/com/casic/app/safetreecontroller/fragments/BaseSettingsFragment.kt b/app/src/main/java/com/casic/app/safetreecontroller/fragments/BaseSettingsFragment.kt index 2421ecd..ca057dd 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/fragments/BaseSettingsFragment.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/fragments/BaseSettingsFragment.kt @@ -9,6 +9,7 @@ import android.os.Bundle import android.os.Handler import android.os.Message +import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -121,28 +122,34 @@ override fun initEvent() { binding.configurationButton.setOnClickListener { + val password = binding.passwordView.text.toString() + if (password.isBlank()) { + "操作失败,WiFi密码为空!".show(requireContext()) + return@setOnClickListener + } + val weakReferenceHandler = SocketConnectionService.weakReferenceHandler ?: return@setOnClickListener lifecycleScope.launch(Dispatchers.IO) { if (isUseWithAI) { - //需要设置远程服务器IP、端口号、WiFi - val message = weakReferenceHandler.obtainMessage() - message.what = LocaleConstant.SET_BOARD_SERVER_CONFIG_CODE - message.obj = arrayOf( - binding.serverHostView.text.toString(), - binding.serverPortView.text.toString() - ) - weakReferenceHandler.sendMessage(message) - delay(1000) + val serverHost = binding.serverHostView.text.toString() + val serverPort = binding.serverPortView.text.toString() + if (serverHost.isNotBlank() && serverPort.isNotBlank()) { + //需要设置远程服务器IP、端口号、WiFi + val message = weakReferenceHandler.obtainMessage() + message.what = LocaleConstant.SET_BOARD_SERVER_CONFIG_CODE + message.obj = arrayOf(serverHost, serverPort) + weakReferenceHandler.sendMessage(message) + delay(1000) + } else { + Log.d(kTag, "initEvent: 服务器配置参数异常,跳过此项配置") + } } //不管什么模式,WiFi都可以设置 val message = weakReferenceHandler.obtainMessage() message.what = LocaleConstant.SET_BOARD_WIFI_CONFIG_CODE - message.obj = arrayOf( - binding.wifiNameView.text.toString(), - binding.passwordView.text.toString() - ) + message.obj = arrayOf(binding.wifiNameView.text.toString(), password) weakReferenceHandler.sendMessage(message) } } diff --git a/app/src/main/java/com/casic/app/safetreecontroller/fragments/BaseSettingsFragment.kt b/app/src/main/java/com/casic/app/safetreecontroller/fragments/BaseSettingsFragment.kt index 2421ecd..ca057dd 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/fragments/BaseSettingsFragment.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/fragments/BaseSettingsFragment.kt @@ -9,6 +9,7 @@ import android.os.Bundle import android.os.Handler import android.os.Message +import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -121,28 +122,34 @@ override fun initEvent() { binding.configurationButton.setOnClickListener { + val password = binding.passwordView.text.toString() + if (password.isBlank()) { + "操作失败,WiFi密码为空!".show(requireContext()) + return@setOnClickListener + } + val weakReferenceHandler = SocketConnectionService.weakReferenceHandler ?: return@setOnClickListener lifecycleScope.launch(Dispatchers.IO) { if (isUseWithAI) { - //需要设置远程服务器IP、端口号、WiFi - val message = weakReferenceHandler.obtainMessage() - message.what = LocaleConstant.SET_BOARD_SERVER_CONFIG_CODE - message.obj = arrayOf( - binding.serverHostView.text.toString(), - binding.serverPortView.text.toString() - ) - weakReferenceHandler.sendMessage(message) - delay(1000) + val serverHost = binding.serverHostView.text.toString() + val serverPort = binding.serverPortView.text.toString() + if (serverHost.isNotBlank() && serverPort.isNotBlank()) { + //需要设置远程服务器IP、端口号、WiFi + val message = weakReferenceHandler.obtainMessage() + message.what = LocaleConstant.SET_BOARD_SERVER_CONFIG_CODE + message.obj = arrayOf(serverHost, serverPort) + weakReferenceHandler.sendMessage(message) + delay(1000) + } else { + Log.d(kTag, "initEvent: 服务器配置参数异常,跳过此项配置") + } } //不管什么模式,WiFi都可以设置 val message = weakReferenceHandler.obtainMessage() message.what = LocaleConstant.SET_BOARD_WIFI_CONFIG_CODE - message.obj = arrayOf( - binding.wifiNameView.text.toString(), - binding.passwordView.text.toString() - ) + message.obj = arrayOf(binding.wifiNameView.text.toString(), password) weakReferenceHandler.sendMessage(message) } } diff --git a/app/src/main/res/layout/fragment_base_settings.xml b/app/src/main/res/layout/fragment_base_settings.xml index 21aed90..1d851d3 100644 --- a/app/src/main/res/layout/fragment_base_settings.xml +++ b/app/src/main/res/layout/fragment_base_settings.xml @@ -267,7 +267,8 @@ style="@style/Widget.MaterialComponents.Button.OutlinedButton" android:layout_width="match_parent" android:layout_height="@dimen/dp_55" - android:layout_margin="@dimen/dp_20" + android:layout_marginHorizontal="@dimen/dp_20" + android:layout_marginBottom="@dimen/dp_20" android:text="下发配置" /> \ No newline at end of file