فهرست منبع

refactor(硬件):
- 将硬件模式`MODBUS`重命名为`RS485`,并更新所有相关模块的引用。
- `SplashActivity`在启动时增加兼容性处理,自动将持久化的旧硬件模式`MODBUS`更新为`RS485`。
- 移除`ISCSApplication`中冗余的硬件连接逻辑。

周文健 1 ماه پیش
والد
کامیت
607476bc51

+ 0 - 4
app/src/main/java/com/grkj/iscs/ISCSApplication.kt

@@ -114,10 +114,6 @@ class ISCSApplication : Application() {
             DbReadyGate.await()
             LogicManager.init(this@ISCSApplication)
             initImageLoader()
-//            if (MMKVConstants.KEY_HARDWARE_MODE.getMMKVData("").isNotEmpty()){
-//                StartListenerEvent.sendStartListenerEvent()
-//                HardwareMode.getCurrentHardwareMode().connectAndAddListener()
-//            }
         }
     }
 

+ 3 - 3
app/src/main/java/com/grkj/iscs/features/init/fragment/InitDeviceRegistrationKeyAndLockFragment.kt

@@ -67,7 +67,7 @@ class InitDeviceRegistrationKeyAndLockFragment :
             }
         }
         binding.dockRv.apply {
-            if (MMKVConstants.KEY_HARDWARE_MODE.getMMKVData(HardwareMode.MODBUS.name) == HardwareMode.MODBUS.name) {
+            if (MMKVConstants.KEY_HARDWARE_MODE.getMMKVData(HardwareMode.RS485.name) == HardwareMode.RS485.name) {
                 linear()
             } else {
                 grid(2)
@@ -108,7 +108,7 @@ class InitDeviceRegistrationKeyAndLockFragment :
                 val newKeyDock = DockData.KeyDock()
                 newKeyDock.keyData.addAll(keyDatas)
                 val newKeyDockList = newKeyDock.keyData.let {
-                    if (MMKVConstants.KEY_HARDWARE_MODE.getMMKVData(HardwareMode.MODBUS.name) == HardwareMode.MODBUS.name) {
+                    if (MMKVConstants.KEY_HARDWARE_MODE.getMMKVData(HardwareMode.RS485.name) == HardwareMode.RS485.name) {
                         it.chunked(4)
                     }else{
                         it.chunked(2)
@@ -145,7 +145,7 @@ class InitDeviceRegistrationKeyAndLockFragment :
     ) {
         val itemBinding = getBinding<ItemDeviceRegistrationLockLayoutBinding>()
         itemBinding.rvLockLayout.apply {
-            if (MMKVConstants.KEY_HARDWARE_MODE.getMMKVData(HardwareMode.MODBUS.name) == HardwareMode.MODBUS.name) {
+            if (MMKVConstants.KEY_HARDWARE_MODE.getMMKVData(HardwareMode.RS485.name) == HardwareMode.RS485.name) {
                 grid(10)
             } else {
                 grid(5)

+ 2 - 2
app/src/main/java/com/grkj/iscs/features/init/fragment/InitWelcomeFragment.kt

@@ -46,8 +46,8 @@ class InitWelcomeFragment : BaseFragment<FragmentInitWelcomeBinding>() {
         }
         if (MMKVConstants.KEY_HARDWARE_MODE.getMMKVData("").isEmpty()) {
             binding.hardwareModeLayout.isVisible = true
-            binding.hardwareMode.text = HardwareMode.MODBUS.name
-            var hardwareMode = HardwareMode.MODBUS.name
+            binding.hardwareMode.text = HardwareMode.RS485.name
+            var hardwareMode = HardwareMode.RS485.name
             binding.hardwareMode.setDebouncedClickListener {
                 val hardwareModeData = HardwareMode.values()
                     .map { TextDropDownDialog.SimpleTextDropDownEntity(dataText = it.name) }

+ 2 - 2
app/src/main/java/com/grkj/iscs/features/main/fragment/hardware_manage/SlotsManageFragment.kt

@@ -56,7 +56,7 @@ class SlotsManageFragment : BaseFragment<FragmentSlotsManageBinding>() {
             navController.popBackStack()
         }
         binding.dockRv.apply {
-            if (MMKVConstants.KEY_HARDWARE_MODE.getMMKVData(HardwareMode.MODBUS.name) == HardwareMode.MODBUS.name) {
+            if (MMKVConstants.KEY_HARDWARE_MODE.getMMKVData(HardwareMode.RS485.name) == HardwareMode.RS485.name) {
                 linear()
             } else {
                 grid(2)
@@ -356,7 +356,7 @@ class SlotsManageFragment : BaseFragment<FragmentSlotsManageBinding>() {
     ) {
         val itemBinding = getBinding<ItemDeviceRegistrationLockLayoutBinding>()
         itemBinding.rvLockLayout.apply {
-            if (MMKVConstants.KEY_HARDWARE_MODE.getMMKVData(HardwareMode.MODBUS.name) == HardwareMode.MODBUS.name) {
+            if (MMKVConstants.KEY_HARDWARE_MODE.getMMKVData(HardwareMode.RS485.name) == HardwareMode.RS485.name) {
                 grid(10)
             } else {
                 grid(5)

+ 1 - 2
app/src/main/java/com/grkj/iscs/features/main/fragment/user_info/SettingsFragment.kt

@@ -1,7 +1,6 @@
 package com.grkj.iscs.features.main.fragment.user_info
 
 import androidx.core.view.isVisible
-import com.google.android.gms.common.internal.service.Common
 import com.grkj.data.config.ISCSConfig
 import com.grkj.data.data.CommonConstants
 import com.grkj.data.data.MMKVConstants
@@ -57,7 +56,7 @@ class SettingsFragment : BaseFragment<FragmentSettingsBinding>() {
             }"
         )
         binding.hardwareMode.text =
-            MMKVConstants.KEY_HARDWARE_MODE.getMMKVData(HardwareMode.MODBUS.name)
+            MMKVConstants.KEY_HARDWARE_MODE.getMMKVData(HardwareMode.RS485.name)
         binding.hardwareMode.setDebouncedClickListener {
             val hardwareModeData = HardwareMode.values()
                 .map { TextDropDownDialog.SimpleTextDropDownEntity(dataText = it.name) }

+ 2 - 2
app/src/main/java/com/grkj/iscs/features/main/viewmodel/MainViewModel.kt

@@ -91,7 +91,7 @@ class MainViewModel @Inject constructor(
      * 取消注册状态监听
      */
     fun unregisterStatusListener() {
-        if (MMKVConstants.KEY_HARDWARE_MODE.getMMKVData(HardwareMode.MODBUS.name) == HardwareMode.MODBUS.name) {
+        if (MMKVConstants.KEY_HARDWARE_MODE.getMMKVData(HardwareMode.RS485.name) == HardwareMode.RS485.name) {
             HardwareBusinessManager.unregisterListener(this)
         } else {
             HardwareBusinessManager.unregisterCanListener(this)
@@ -102,7 +102,7 @@ class MainViewModel @Inject constructor(
      * 注册状态监听
      */
     fun registerStatusListener() {
-        if (MMKVConstants.KEY_HARDWARE_MODE.getMMKVData(HardwareMode.MODBUS.name) == HardwareMode.MODBUS.name) {
+        if (MMKVConstants.KEY_HARDWARE_MODE.getMMKVData(HardwareMode.RS485.name) == HardwareMode.RS485.name) {
             HardwareBusinessManager.registerStatusListener(this) { dockBean ->
                 if (MainDomainData.userInfo == null || ISCSConfig.isDeviceRegistration) {
                     return@registerStatusListener

+ 1 - 1
app/src/main/java/com/grkj/iscs/features/main/viewmodel/hardware_manage/SlotsManageViewModel.kt

@@ -254,7 +254,7 @@ class SlotsManageViewModel @Inject constructor(
             val newKeyDock = DockData.KeyDock()
             newKeyDock.keyData.addAll(keyDatas)
             val newKeyDockList = newKeyDock.keyData.let {
-                if (MMKVConstants.KEY_HARDWARE_MODE.getMMKVData(HardwareMode.MODBUS.name) == HardwareMode.MODBUS.name) {
+                if (MMKVConstants.KEY_HARDWARE_MODE.getMMKVData(HardwareMode.RS485.name) == HardwareMode.RS485.name) {
                     it.chunked(4)
                 } else {
                     it.chunked(2)

+ 7 - 1
app/src/main/java/com/grkj/iscs/features/splash/activity/SplashActivity.kt

@@ -3,6 +3,7 @@ package com.grkj.iscs.features.splash.activity
 import android.content.Intent
 import android.view.Gravity
 import androidx.activity.viewModels
+import androidx.compose.ui.text.toUpperCase
 import androidx.lifecycle.lifecycleScope
 import com.grkj.data.data.MMKVConstants
 import com.grkj.data.database.BackupScheduler
@@ -28,6 +29,7 @@ import com.scwang.smart.refresh.footer.ClassicsFooter
 import com.scwang.smart.refresh.header.ClassicsHeader
 import com.sik.sikandroid.permission.PermissionUtils
 import com.sik.sikcore.extension.getMMKVData
+import com.sik.sikcore.extension.saveMMKVData
 import dagger.hilt.android.AndroidEntryPoint
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Dispatchers
@@ -83,7 +85,11 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>() {
         lifecycleScope.launch {
             BackupScheduler.applySaved(this@SplashActivity)
             DbReadyGate.await()
-            if (MMKVConstants.KEY_HARDWARE_MODE.getMMKVData("").isNotEmpty()) {
+            val hardwareMode = MMKVConstants.KEY_HARDWARE_MODE.getMMKVData("")
+            if (hardwareMode.isNotEmpty()) {
+                if (hardwareMode.uppercase() == "MODBUS") {
+                    MMKVConstants.KEY_HARDWARE_MODE.saveMMKVData(HardwareMode.RS485.name)
+                }
                 StartListenerEvent.sendStartListenerEvent()
                 HardwareMode.getCurrentHardwareMode()
                     .connectAndAddListener()

+ 2 - 2
data/src/main/java/com/grkj/data/enums/HardwareMode.kt

@@ -11,7 +11,7 @@ import com.sik.sikcore.extension.getMMKVData
  */
 enum class HardwareMode(val iHardwareHelper: IHardwareHelper) {
 
-    MODBUS(ModBusHardwareHelper()),
+    RS485(ModBusHardwareHelper()),
     CAN(CanHardwareHelper());
 
     companion object {
@@ -20,7 +20,7 @@ enum class HardwareMode(val iHardwareHelper: IHardwareHelper) {
          */
         fun getCurrentHardwareMode(): IHardwareHelper {
             val currentHardwareMode =
-                valueOf(MMKVConstants.KEY_HARDWARE_MODE.getMMKVData(MODBUS.name))
+                valueOf(MMKVConstants.KEY_HARDWARE_MODE.getMMKVData(RS485.name))
             return currentHardwareMode.iHardwareHelper
         }
     }

+ 1 - 2
ui-base/src/main/java/com/grkj/ui_base/business/HardwareBusinessManager.kt

@@ -7,7 +7,6 @@ import com.grkj.data.data.MMKVConstants
 import com.grkj.data.data.MainDomainData
 import com.grkj.data.di.LogicManager
 import com.grkj.data.enums.HardwareMode
-import com.grkj.data.hardware.ble.BleConnectionManager
 import com.grkj.data.hardware.ble.BleSendDispatcher
 import com.grkj.data.hardware.can.CanCommands
 import com.grkj.data.hardware.can.CanDeviceConst
@@ -872,7 +871,7 @@ object HardwareBusinessManager {
      * 总的监听,做预处理,其余的所有监听均使用本监听处理后的数据,只允许调用一次
      */
     fun registerMainListener() {
-        if (MMKVConstants.KEY_HARDWARE_MODE.getMMKVData(HardwareMode.MODBUS.name) == HardwareMode.MODBUS.name) {
+        if (MMKVConstants.KEY_HARDWARE_MODE.getMMKVData(HardwareMode.RS485.name) == HardwareMode.RS485.name) {
             ModBusController.registerStatusListener(this) { res ->
                 modbusDeviceStatusHandle(res)
             }