diff --git a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt index 40d670b..a7e1bee 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt @@ -91,6 +91,8 @@ delay(1000) } + delay(1000) + while (!isGetTemperature) { SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.QUERY_CPU_TEMPERATURE_CODE) delay(1100) diff --git a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt index 40d670b..a7e1bee 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt @@ -91,6 +91,8 @@ delay(1000) } + delay(1000) + while (!isGetTemperature) { SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.QUERY_CPU_TEMPERATURE_CODE) delay(1100) diff --git a/app/src/main/java/com/casic/app/safetreecontroller/fragments/VoiceSettingsFragment.kt b/app/src/main/java/com/casic/app/safetreecontroller/fragments/VoiceSettingsFragment.kt index 617d511..b7af4be 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/fragments/VoiceSettingsFragment.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/fragments/VoiceSettingsFragment.kt @@ -36,6 +36,7 @@ private var isVisibleToUser = false private var isGetVoiceValue = false private var isGetVoiceMode = false + private var isGetAlarmMode = false override fun initOnCreate(savedInstanceState: Bundle?) { weakReferenceHandler = WeakReferenceHandler(this) @@ -65,10 +66,19 @@ delay(1200) } + delay(1000) + while (!isGetVoiceMode) { SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.QUERY_VOICE_MODE_CODE) delay(1300) } + + delay(1000) + + while (!isGetAlarmMode) { + SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.QUERY_ALARM_MODE_CODE) + delay(1400) + } } } } @@ -90,16 +100,12 @@ SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.OPEN_REMOTE_MODE_CODE) } - binding.alarmRadioGroup.setOnCheckedChangeListener { _, checkedId -> - if (isVisibleToUser) { - val weakReferenceHandler = SocketConnectionService.weakReferenceHandler - ?: return@setOnCheckedChangeListener - if (checkedId == R.id.openAlarmRadioButton) { - weakReferenceHandler.sendEmptyMessage(LocaleConstant.OPEN_METHANE_ALARM_CODE) - } else if (checkedId == R.id.closeAlarmRadioButton) { - weakReferenceHandler.sendEmptyMessage(LocaleConstant.CLOSE_METHANE_ALARM_CODE) - } - } + binding.openAlarmRadioButton.setOnClickListener { + SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.OPEN_METHANE_ALARM_CODE) + } + + binding.closeAlarmRadioButton.setOnClickListener { + SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.CLOSE_METHANE_ALARM_CODE) } binding.deviceRadioGroup.setOnCheckedChangeListener { _, checkedId -> @@ -130,19 +136,21 @@ binding.remoteRadioButton.isChecked = true } } + + LocaleConstant.QUERY_ALARM_MODE_RESPONSE_CODE -> { + isGetAlarmMode = true + if ((msg.obj as Int) == 1) { + binding.openAlarmRadioButton.isChecked = true + } else { + binding.closeAlarmRadioButton.isChecked = true + } + } } return true } override fun onResume() { super.onResume() - val openAlarm = SaveKeyValues.getValue(LocaleConstant.OPEN_ALARM_KEY, true) as Boolean - if (openAlarm) { - binding.openAlarmRadioButton.isChecked = true - } else { - binding.closeAlarmRadioButton.isChecked = true - } - val openVoice = SaveKeyValues.getValue(LocaleConstant.OPEN_VOICE_KEY, true) as Boolean if (openVoice) { binding.openVoiceRadioButton.isChecked = true diff --git a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt index 40d670b..a7e1bee 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt @@ -91,6 +91,8 @@ delay(1000) } + delay(1000) + while (!isGetTemperature) { SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.QUERY_CPU_TEMPERATURE_CODE) delay(1100) diff --git a/app/src/main/java/com/casic/app/safetreecontroller/fragments/VoiceSettingsFragment.kt b/app/src/main/java/com/casic/app/safetreecontroller/fragments/VoiceSettingsFragment.kt index 617d511..b7af4be 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/fragments/VoiceSettingsFragment.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/fragments/VoiceSettingsFragment.kt @@ -36,6 +36,7 @@ private var isVisibleToUser = false private var isGetVoiceValue = false private var isGetVoiceMode = false + private var isGetAlarmMode = false override fun initOnCreate(savedInstanceState: Bundle?) { weakReferenceHandler = WeakReferenceHandler(this) @@ -65,10 +66,19 @@ delay(1200) } + delay(1000) + while (!isGetVoiceMode) { SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.QUERY_VOICE_MODE_CODE) delay(1300) } + + delay(1000) + + while (!isGetAlarmMode) { + SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.QUERY_ALARM_MODE_CODE) + delay(1400) + } } } } @@ -90,16 +100,12 @@ SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.OPEN_REMOTE_MODE_CODE) } - binding.alarmRadioGroup.setOnCheckedChangeListener { _, checkedId -> - if (isVisibleToUser) { - val weakReferenceHandler = SocketConnectionService.weakReferenceHandler - ?: return@setOnCheckedChangeListener - if (checkedId == R.id.openAlarmRadioButton) { - weakReferenceHandler.sendEmptyMessage(LocaleConstant.OPEN_METHANE_ALARM_CODE) - } else if (checkedId == R.id.closeAlarmRadioButton) { - weakReferenceHandler.sendEmptyMessage(LocaleConstant.CLOSE_METHANE_ALARM_CODE) - } - } + binding.openAlarmRadioButton.setOnClickListener { + SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.OPEN_METHANE_ALARM_CODE) + } + + binding.closeAlarmRadioButton.setOnClickListener { + SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.CLOSE_METHANE_ALARM_CODE) } binding.deviceRadioGroup.setOnCheckedChangeListener { _, checkedId -> @@ -130,19 +136,21 @@ binding.remoteRadioButton.isChecked = true } } + + LocaleConstant.QUERY_ALARM_MODE_RESPONSE_CODE -> { + isGetAlarmMode = true + if ((msg.obj as Int) == 1) { + binding.openAlarmRadioButton.isChecked = true + } else { + binding.closeAlarmRadioButton.isChecked = true + } + } } return true } override fun onResume() { super.onResume() - val openAlarm = SaveKeyValues.getValue(LocaleConstant.OPEN_ALARM_KEY, true) as Boolean - if (openAlarm) { - binding.openAlarmRadioButton.isChecked = true - } else { - binding.closeAlarmRadioButton.isChecked = true - } - val openVoice = SaveKeyValues.getValue(LocaleConstant.OPEN_VOICE_KEY, true) as Boolean if (openVoice) { binding.openVoiceRadioButton.isChecked = true diff --git a/app/src/main/java/com/casic/app/safetreecontroller/service/SocketConnectionService.kt b/app/src/main/java/com/casic/app/safetreecontroller/service/SocketConnectionService.kt index 71354b7..06b6a68 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/service/SocketConnectionService.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/service/SocketConnectionService.kt @@ -77,6 +77,10 @@ tcpClient.sendMessage(CommandCreator.openRemoteMode()) } + LocaleConstant.QUERY_ALARM_MODE_CODE -> { + tcpClient.sendMessage(CommandCreator.queryAlarmMode()) + } + LocaleConstant.OPEN_METHANE_ALARM_CODE -> { tcpClient.sendMessage(CommandCreator.openMethaneAlarm()) } @@ -316,11 +320,12 @@ "92" -> { //燃气报警开关 - if (bytes[10].toInt() == 1) { - SaveKeyValues.putValue(LocaleConstant.OPEN_ALARM_KEY, true) - } else { - SaveKeyValues.putValue(LocaleConstant.OPEN_ALARM_KEY, false) - } + val weakReferenceHandler = VoiceSettingsFragment.weakReferenceHandler + ?: return + val message = weakReferenceHandler.obtainMessage() + message.what = LocaleConstant.QUERY_ALARM_MODE_RESPONSE_CODE + message.obj = bytes[10].toInt() + weakReferenceHandler.sendMessage(message) } "97" -> { diff --git a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt index 40d670b..a7e1bee 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt @@ -91,6 +91,8 @@ delay(1000) } + delay(1000) + while (!isGetTemperature) { SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.QUERY_CPU_TEMPERATURE_CODE) delay(1100) diff --git a/app/src/main/java/com/casic/app/safetreecontroller/fragments/VoiceSettingsFragment.kt b/app/src/main/java/com/casic/app/safetreecontroller/fragments/VoiceSettingsFragment.kt index 617d511..b7af4be 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/fragments/VoiceSettingsFragment.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/fragments/VoiceSettingsFragment.kt @@ -36,6 +36,7 @@ private var isVisibleToUser = false private var isGetVoiceValue = false private var isGetVoiceMode = false + private var isGetAlarmMode = false override fun initOnCreate(savedInstanceState: Bundle?) { weakReferenceHandler = WeakReferenceHandler(this) @@ -65,10 +66,19 @@ delay(1200) } + delay(1000) + while (!isGetVoiceMode) { SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.QUERY_VOICE_MODE_CODE) delay(1300) } + + delay(1000) + + while (!isGetAlarmMode) { + SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.QUERY_ALARM_MODE_CODE) + delay(1400) + } } } } @@ -90,16 +100,12 @@ SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.OPEN_REMOTE_MODE_CODE) } - binding.alarmRadioGroup.setOnCheckedChangeListener { _, checkedId -> - if (isVisibleToUser) { - val weakReferenceHandler = SocketConnectionService.weakReferenceHandler - ?: return@setOnCheckedChangeListener - if (checkedId == R.id.openAlarmRadioButton) { - weakReferenceHandler.sendEmptyMessage(LocaleConstant.OPEN_METHANE_ALARM_CODE) - } else if (checkedId == R.id.closeAlarmRadioButton) { - weakReferenceHandler.sendEmptyMessage(LocaleConstant.CLOSE_METHANE_ALARM_CODE) - } - } + binding.openAlarmRadioButton.setOnClickListener { + SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.OPEN_METHANE_ALARM_CODE) + } + + binding.closeAlarmRadioButton.setOnClickListener { + SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.CLOSE_METHANE_ALARM_CODE) } binding.deviceRadioGroup.setOnCheckedChangeListener { _, checkedId -> @@ -130,19 +136,21 @@ binding.remoteRadioButton.isChecked = true } } + + LocaleConstant.QUERY_ALARM_MODE_RESPONSE_CODE -> { + isGetAlarmMode = true + if ((msg.obj as Int) == 1) { + binding.openAlarmRadioButton.isChecked = true + } else { + binding.closeAlarmRadioButton.isChecked = true + } + } } return true } override fun onResume() { super.onResume() - val openAlarm = SaveKeyValues.getValue(LocaleConstant.OPEN_ALARM_KEY, true) as Boolean - if (openAlarm) { - binding.openAlarmRadioButton.isChecked = true - } else { - binding.closeAlarmRadioButton.isChecked = true - } - val openVoice = SaveKeyValues.getValue(LocaleConstant.OPEN_VOICE_KEY, true) as Boolean if (openVoice) { binding.openVoiceRadioButton.isChecked = true diff --git a/app/src/main/java/com/casic/app/safetreecontroller/service/SocketConnectionService.kt b/app/src/main/java/com/casic/app/safetreecontroller/service/SocketConnectionService.kt index 71354b7..06b6a68 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/service/SocketConnectionService.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/service/SocketConnectionService.kt @@ -77,6 +77,10 @@ tcpClient.sendMessage(CommandCreator.openRemoteMode()) } + LocaleConstant.QUERY_ALARM_MODE_CODE -> { + tcpClient.sendMessage(CommandCreator.queryAlarmMode()) + } + LocaleConstant.OPEN_METHANE_ALARM_CODE -> { tcpClient.sendMessage(CommandCreator.openMethaneAlarm()) } @@ -316,11 +320,12 @@ "92" -> { //燃气报警开关 - if (bytes[10].toInt() == 1) { - SaveKeyValues.putValue(LocaleConstant.OPEN_ALARM_KEY, true) - } else { - SaveKeyValues.putValue(LocaleConstant.OPEN_ALARM_KEY, false) - } + val weakReferenceHandler = VoiceSettingsFragment.weakReferenceHandler + ?: return + val message = weakReferenceHandler.obtainMessage() + message.what = LocaleConstant.QUERY_ALARM_MODE_RESPONSE_CODE + message.obj = bytes[10].toInt() + weakReferenceHandler.sendMessage(message) } "97" -> { diff --git a/app/src/main/java/com/casic/app/safetreecontroller/utils/CommandCreator.kt b/app/src/main/java/com/casic/app/safetreecontroller/utils/CommandCreator.kt index 24432f0..c786581 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/utils/CommandCreator.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/utils/CommandCreator.kt @@ -151,6 +151,13 @@ } /** + * 查询语音报警状态指令 + * */ + fun queryAlarmMode(): ByteArray { + return byteArrayOf(0xAA.toByte(), 0x01, 0x01, 0x92.toByte(), 0x00, 0x00, 0x94.toByte()) + } + + /** * 打开燃气报警指令 */ fun openMethaneAlarm(): ByteArray { diff --git a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt index 40d670b..a7e1bee 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt @@ -91,6 +91,8 @@ delay(1000) } + delay(1000) + while (!isGetTemperature) { SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.QUERY_CPU_TEMPERATURE_CODE) delay(1100) diff --git a/app/src/main/java/com/casic/app/safetreecontroller/fragments/VoiceSettingsFragment.kt b/app/src/main/java/com/casic/app/safetreecontroller/fragments/VoiceSettingsFragment.kt index 617d511..b7af4be 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/fragments/VoiceSettingsFragment.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/fragments/VoiceSettingsFragment.kt @@ -36,6 +36,7 @@ private var isVisibleToUser = false private var isGetVoiceValue = false private var isGetVoiceMode = false + private var isGetAlarmMode = false override fun initOnCreate(savedInstanceState: Bundle?) { weakReferenceHandler = WeakReferenceHandler(this) @@ -65,10 +66,19 @@ delay(1200) } + delay(1000) + while (!isGetVoiceMode) { SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.QUERY_VOICE_MODE_CODE) delay(1300) } + + delay(1000) + + while (!isGetAlarmMode) { + SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.QUERY_ALARM_MODE_CODE) + delay(1400) + } } } } @@ -90,16 +100,12 @@ SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.OPEN_REMOTE_MODE_CODE) } - binding.alarmRadioGroup.setOnCheckedChangeListener { _, checkedId -> - if (isVisibleToUser) { - val weakReferenceHandler = SocketConnectionService.weakReferenceHandler - ?: return@setOnCheckedChangeListener - if (checkedId == R.id.openAlarmRadioButton) { - weakReferenceHandler.sendEmptyMessage(LocaleConstant.OPEN_METHANE_ALARM_CODE) - } else if (checkedId == R.id.closeAlarmRadioButton) { - weakReferenceHandler.sendEmptyMessage(LocaleConstant.CLOSE_METHANE_ALARM_CODE) - } - } + binding.openAlarmRadioButton.setOnClickListener { + SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.OPEN_METHANE_ALARM_CODE) + } + + binding.closeAlarmRadioButton.setOnClickListener { + SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.CLOSE_METHANE_ALARM_CODE) } binding.deviceRadioGroup.setOnCheckedChangeListener { _, checkedId -> @@ -130,19 +136,21 @@ binding.remoteRadioButton.isChecked = true } } + + LocaleConstant.QUERY_ALARM_MODE_RESPONSE_CODE -> { + isGetAlarmMode = true + if ((msg.obj as Int) == 1) { + binding.openAlarmRadioButton.isChecked = true + } else { + binding.closeAlarmRadioButton.isChecked = true + } + } } return true } override fun onResume() { super.onResume() - val openAlarm = SaveKeyValues.getValue(LocaleConstant.OPEN_ALARM_KEY, true) as Boolean - if (openAlarm) { - binding.openAlarmRadioButton.isChecked = true - } else { - binding.closeAlarmRadioButton.isChecked = true - } - val openVoice = SaveKeyValues.getValue(LocaleConstant.OPEN_VOICE_KEY, true) as Boolean if (openVoice) { binding.openVoiceRadioButton.isChecked = true diff --git a/app/src/main/java/com/casic/app/safetreecontroller/service/SocketConnectionService.kt b/app/src/main/java/com/casic/app/safetreecontroller/service/SocketConnectionService.kt index 71354b7..06b6a68 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/service/SocketConnectionService.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/service/SocketConnectionService.kt @@ -77,6 +77,10 @@ tcpClient.sendMessage(CommandCreator.openRemoteMode()) } + LocaleConstant.QUERY_ALARM_MODE_CODE -> { + tcpClient.sendMessage(CommandCreator.queryAlarmMode()) + } + LocaleConstant.OPEN_METHANE_ALARM_CODE -> { tcpClient.sendMessage(CommandCreator.openMethaneAlarm()) } @@ -316,11 +320,12 @@ "92" -> { //燃气报警开关 - if (bytes[10].toInt() == 1) { - SaveKeyValues.putValue(LocaleConstant.OPEN_ALARM_KEY, true) - } else { - SaveKeyValues.putValue(LocaleConstant.OPEN_ALARM_KEY, false) - } + val weakReferenceHandler = VoiceSettingsFragment.weakReferenceHandler + ?: return + val message = weakReferenceHandler.obtainMessage() + message.what = LocaleConstant.QUERY_ALARM_MODE_RESPONSE_CODE + message.obj = bytes[10].toInt() + weakReferenceHandler.sendMessage(message) } "97" -> { diff --git a/app/src/main/java/com/casic/app/safetreecontroller/utils/CommandCreator.kt b/app/src/main/java/com/casic/app/safetreecontroller/utils/CommandCreator.kt index 24432f0..c786581 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/utils/CommandCreator.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/utils/CommandCreator.kt @@ -151,6 +151,13 @@ } /** + * 查询语音报警状态指令 + * */ + fun queryAlarmMode(): ByteArray { + return byteArrayOf(0xAA.toByte(), 0x01, 0x01, 0x92.toByte(), 0x00, 0x00, 0x94.toByte()) + } + + /** * 打开燃气报警指令 */ fun openMethaneAlarm(): ByteArray { diff --git a/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt b/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt index 32d46be..d6d1a34 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt @@ -25,15 +25,16 @@ const val REDUCE_VOICE_CODE = 20240009 const val OPEN_LOCALE_MODE_CODE = 20240010 const val OPEN_REMOTE_MODE_CODE = 20240011 - const val OPEN_METHANE_ALARM_CODE = 20240012 - const val CLOSE_METHANE_ALARM_CODE = 20240013 - const val OPEN_DEVICE_STATE_TIPS_CODE = 20240014 - const val CLOSE_DEVICE_STATE_TIPS_CODE = 20240015 - const val QUERY_BOARD_CONFIG_CODE = 20240016 - const val QUERY_IS_USE_AI_CODE = 20240017 - const val QUERY_SERVER_CONFIG_CODE = 20240018 - const val SET_BOARD_WIFI_CONFIG_CODE = 20240019 - const val SET_BOARD_SERVER_CONFIG_CODE = 20240020 + const val QUERY_ALARM_MODE_CODE = 20240012 + const val OPEN_METHANE_ALARM_CODE = 20240013 + const val CLOSE_METHANE_ALARM_CODE = 20240014 + const val OPEN_DEVICE_STATE_TIPS_CODE = 20240015 + const val CLOSE_DEVICE_STATE_TIPS_CODE = 20240016 + const val QUERY_BOARD_CONFIG_CODE = 20240017 + const val QUERY_IS_USE_AI_CODE = 20240018 + const val QUERY_SERVER_CONFIG_CODE = 20240019 + const val SET_BOARD_WIFI_CONFIG_CODE = 20240020 + const val SET_BOARD_SERVER_CONFIG_CODE = 20240021 /** * Handler Response Code @@ -43,18 +44,18 @@ const val QUERY_METHANE_RESPONSE_CODE = 20241003 const val QUERY_VOICE_VALUE_RESPONSE_CODE = 20241004 const val QUERY_VOICE_MODE_RESPONSE_CODE = 20241005 - const val DEVICE_RESPONSE_CODE = 20241006 - const val BOARD_CONFIG_RESPONSE_CODE = 20241007 - const val QUERY_IS_USE_AI_RESPONSE_CODE = 20241008 - const val SERVER_CONFIG_RESPONSE_CODE = 20241009 - const val SET_BOARD_WIFI_CONFIG_RESPONSE_CODE = 20241010 - const val SET_BOARD_SERVER_CONFIG_RESPONSE_CODE = 20241011 + const val QUERY_ALARM_MODE_RESPONSE_CODE = 20241006 + const val DEVICE_RESPONSE_CODE = 20241007 + const val BOARD_CONFIG_RESPONSE_CODE = 20241008 + const val QUERY_IS_USE_AI_RESPONSE_CODE = 20241009 + const val SERVER_CONFIG_RESPONSE_CODE = 20241010 + const val SET_BOARD_WIFI_CONFIG_RESPONSE_CODE = 20241011 + const val SET_BOARD_SERVER_CONFIG_RESPONSE_CODE = 20241012 /*** * SP Key * */ const val DEVICE_CONTROL_SERVER_CONFIG_KEY = "Key_1" - const val OPEN_ALARM_KEY = "Key_5" const val OPEN_VOICE_KEY = "Key_6" const val METHANE_DEFAULT_VALUE_KEY = "Key_7" const val SAFE_TREE_CAMERA_IP_KEY = "Key_9" diff --git a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt index 40d670b..a7e1bee 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt @@ -91,6 +91,8 @@ delay(1000) } + delay(1000) + while (!isGetTemperature) { SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.QUERY_CPU_TEMPERATURE_CODE) delay(1100) diff --git a/app/src/main/java/com/casic/app/safetreecontroller/fragments/VoiceSettingsFragment.kt b/app/src/main/java/com/casic/app/safetreecontroller/fragments/VoiceSettingsFragment.kt index 617d511..b7af4be 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/fragments/VoiceSettingsFragment.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/fragments/VoiceSettingsFragment.kt @@ -36,6 +36,7 @@ private var isVisibleToUser = false private var isGetVoiceValue = false private var isGetVoiceMode = false + private var isGetAlarmMode = false override fun initOnCreate(savedInstanceState: Bundle?) { weakReferenceHandler = WeakReferenceHandler(this) @@ -65,10 +66,19 @@ delay(1200) } + delay(1000) + while (!isGetVoiceMode) { SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.QUERY_VOICE_MODE_CODE) delay(1300) } + + delay(1000) + + while (!isGetAlarmMode) { + SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.QUERY_ALARM_MODE_CODE) + delay(1400) + } } } } @@ -90,16 +100,12 @@ SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.OPEN_REMOTE_MODE_CODE) } - binding.alarmRadioGroup.setOnCheckedChangeListener { _, checkedId -> - if (isVisibleToUser) { - val weakReferenceHandler = SocketConnectionService.weakReferenceHandler - ?: return@setOnCheckedChangeListener - if (checkedId == R.id.openAlarmRadioButton) { - weakReferenceHandler.sendEmptyMessage(LocaleConstant.OPEN_METHANE_ALARM_CODE) - } else if (checkedId == R.id.closeAlarmRadioButton) { - weakReferenceHandler.sendEmptyMessage(LocaleConstant.CLOSE_METHANE_ALARM_CODE) - } - } + binding.openAlarmRadioButton.setOnClickListener { + SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.OPEN_METHANE_ALARM_CODE) + } + + binding.closeAlarmRadioButton.setOnClickListener { + SocketConnectionService.weakReferenceHandler?.sendEmptyMessage(LocaleConstant.CLOSE_METHANE_ALARM_CODE) } binding.deviceRadioGroup.setOnCheckedChangeListener { _, checkedId -> @@ -130,19 +136,21 @@ binding.remoteRadioButton.isChecked = true } } + + LocaleConstant.QUERY_ALARM_MODE_RESPONSE_CODE -> { + isGetAlarmMode = true + if ((msg.obj as Int) == 1) { + binding.openAlarmRadioButton.isChecked = true + } else { + binding.closeAlarmRadioButton.isChecked = true + } + } } return true } override fun onResume() { super.onResume() - val openAlarm = SaveKeyValues.getValue(LocaleConstant.OPEN_ALARM_KEY, true) as Boolean - if (openAlarm) { - binding.openAlarmRadioButton.isChecked = true - } else { - binding.closeAlarmRadioButton.isChecked = true - } - val openVoice = SaveKeyValues.getValue(LocaleConstant.OPEN_VOICE_KEY, true) as Boolean if (openVoice) { binding.openVoiceRadioButton.isChecked = true diff --git a/app/src/main/java/com/casic/app/safetreecontroller/service/SocketConnectionService.kt b/app/src/main/java/com/casic/app/safetreecontroller/service/SocketConnectionService.kt index 71354b7..06b6a68 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/service/SocketConnectionService.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/service/SocketConnectionService.kt @@ -77,6 +77,10 @@ tcpClient.sendMessage(CommandCreator.openRemoteMode()) } + LocaleConstant.QUERY_ALARM_MODE_CODE -> { + tcpClient.sendMessage(CommandCreator.queryAlarmMode()) + } + LocaleConstant.OPEN_METHANE_ALARM_CODE -> { tcpClient.sendMessage(CommandCreator.openMethaneAlarm()) } @@ -316,11 +320,12 @@ "92" -> { //燃气报警开关 - if (bytes[10].toInt() == 1) { - SaveKeyValues.putValue(LocaleConstant.OPEN_ALARM_KEY, true) - } else { - SaveKeyValues.putValue(LocaleConstant.OPEN_ALARM_KEY, false) - } + val weakReferenceHandler = VoiceSettingsFragment.weakReferenceHandler + ?: return + val message = weakReferenceHandler.obtainMessage() + message.what = LocaleConstant.QUERY_ALARM_MODE_RESPONSE_CODE + message.obj = bytes[10].toInt() + weakReferenceHandler.sendMessage(message) } "97" -> { diff --git a/app/src/main/java/com/casic/app/safetreecontroller/utils/CommandCreator.kt b/app/src/main/java/com/casic/app/safetreecontroller/utils/CommandCreator.kt index 24432f0..c786581 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/utils/CommandCreator.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/utils/CommandCreator.kt @@ -151,6 +151,13 @@ } /** + * 查询语音报警状态指令 + * */ + fun queryAlarmMode(): ByteArray { + return byteArrayOf(0xAA.toByte(), 0x01, 0x01, 0x92.toByte(), 0x00, 0x00, 0x94.toByte()) + } + + /** * 打开燃气报警指令 */ fun openMethaneAlarm(): ByteArray { diff --git a/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt b/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt index 32d46be..d6d1a34 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt @@ -25,15 +25,16 @@ const val REDUCE_VOICE_CODE = 20240009 const val OPEN_LOCALE_MODE_CODE = 20240010 const val OPEN_REMOTE_MODE_CODE = 20240011 - const val OPEN_METHANE_ALARM_CODE = 20240012 - const val CLOSE_METHANE_ALARM_CODE = 20240013 - const val OPEN_DEVICE_STATE_TIPS_CODE = 20240014 - const val CLOSE_DEVICE_STATE_TIPS_CODE = 20240015 - const val QUERY_BOARD_CONFIG_CODE = 20240016 - const val QUERY_IS_USE_AI_CODE = 20240017 - const val QUERY_SERVER_CONFIG_CODE = 20240018 - const val SET_BOARD_WIFI_CONFIG_CODE = 20240019 - const val SET_BOARD_SERVER_CONFIG_CODE = 20240020 + const val QUERY_ALARM_MODE_CODE = 20240012 + const val OPEN_METHANE_ALARM_CODE = 20240013 + const val CLOSE_METHANE_ALARM_CODE = 20240014 + const val OPEN_DEVICE_STATE_TIPS_CODE = 20240015 + const val CLOSE_DEVICE_STATE_TIPS_CODE = 20240016 + const val QUERY_BOARD_CONFIG_CODE = 20240017 + const val QUERY_IS_USE_AI_CODE = 20240018 + const val QUERY_SERVER_CONFIG_CODE = 20240019 + const val SET_BOARD_WIFI_CONFIG_CODE = 20240020 + const val SET_BOARD_SERVER_CONFIG_CODE = 20240021 /** * Handler Response Code @@ -43,18 +44,18 @@ const val QUERY_METHANE_RESPONSE_CODE = 20241003 const val QUERY_VOICE_VALUE_RESPONSE_CODE = 20241004 const val QUERY_VOICE_MODE_RESPONSE_CODE = 20241005 - const val DEVICE_RESPONSE_CODE = 20241006 - const val BOARD_CONFIG_RESPONSE_CODE = 20241007 - const val QUERY_IS_USE_AI_RESPONSE_CODE = 20241008 - const val SERVER_CONFIG_RESPONSE_CODE = 20241009 - const val SET_BOARD_WIFI_CONFIG_RESPONSE_CODE = 20241010 - const val SET_BOARD_SERVER_CONFIG_RESPONSE_CODE = 20241011 + const val QUERY_ALARM_MODE_RESPONSE_CODE = 20241006 + const val DEVICE_RESPONSE_CODE = 20241007 + const val BOARD_CONFIG_RESPONSE_CODE = 20241008 + const val QUERY_IS_USE_AI_RESPONSE_CODE = 20241009 + const val SERVER_CONFIG_RESPONSE_CODE = 20241010 + const val SET_BOARD_WIFI_CONFIG_RESPONSE_CODE = 20241011 + const val SET_BOARD_SERVER_CONFIG_RESPONSE_CODE = 20241012 /*** * SP Key * */ const val DEVICE_CONTROL_SERVER_CONFIG_KEY = "Key_1" - const val OPEN_ALARM_KEY = "Key_5" const val OPEN_VOICE_KEY = "Key_6" const val METHANE_DEFAULT_VALUE_KEY = "Key_7" const val SAFE_TREE_CAMERA_IP_KEY = "Key_9" diff --git a/app/src/main/res/layout/fragment_voice_settings.xml b/app/src/main/res/layout/fragment_voice_settings.xml index 7dbb432..964bd1a 100644 --- a/app/src/main/res/layout/fragment_voice_settings.xml +++ b/app/src/main/res/layout/fragment_voice_settings.xml @@ -117,7 +117,6 @@ android:textSize="@dimen/sp_16" />