remove prefix based pattern search in deviceid

This commit is contained in:
Pritimay Sarkar
2024-01-16 23:59:35 +05:30
parent 0c004211c9
commit eb3f1a236d
2 changed files with 12 additions and 15 deletions

View File

@@ -334,7 +334,7 @@ class HomeFragment : Fragment() {
private fun createDeviceUpdateRequestData(): DeviceUpdateRequest { private fun createDeviceUpdateRequestData(): DeviceUpdateRequest {
return DeviceUpdateRequest( return DeviceUpdateRequest(
serial_no = "HPOS-000-3001" serial_no = sharedPreference.getString(Constants.DEVICE_ID, "")
) )
} }

View File

@@ -378,13 +378,7 @@ class HemoCubeFragment : Fragment() {
when { when {
resultData.contains("SNE") && this.testStatusCode < TestStatus.CONFIG_COMPLETED.code -> { resultData.contains("SNE") && this.testStatusCode < TestStatus.CONFIG_COMPLETED.code -> {
if (resultData.contains("HCV")) { processHardwareId(resultData)
processHardwareId(resultData, "HCV", 12)
}
if (resultData.contains("HPP")) {
processHardwareId(resultData, "HPP1", 14)
}
} }
resultData.contains("#BS") && this.testStatusCode < TestStatus.BUFFER_STARTED.code -> { resultData.contains("#BS") && this.testStatusCode < TestStatus.BUFFER_STARTED.code -> {
@@ -580,12 +574,10 @@ class HemoCubeFragment : Fragment() {
currentResultData = "" currentResultData = ""
} }
fun processHardwareId(resultData: String, prefix: String, expectedLength: Int) { fun processHardwareId(resultData: String) {
val pattern = Regex("$prefix-\\d{3,4}-\\d{4}") val hardwareId = extractMiddleString(resultData)
val matchResult = pattern.find(resultData)
val hardwareId = matchResult?.value
if (hardwareId?.length == expectedLength) { if (!hardwareId.isNullOrBlank()) {
updateDeviceId(hardwareId) updateDeviceId(hardwareId)
activity?.runOnUiThread { activity?.runOnUiThread {
binding.btnPlacebuffer.visibility = View.VISIBLE binding.btnPlacebuffer.visibility = View.VISIBLE
@@ -595,17 +587,22 @@ class HemoCubeFragment : Fragment() {
if (!Constants.DEVICE_CONFIGURATION.containsKey(deviceHardwareId)) { if (!Constants.DEVICE_CONFIGURATION.containsKey(deviceHardwareId)) {
deviceHardwareId = "HCV-000-3001" deviceHardwareId = "HCV-000-3001"
allErrorMessages += "Calibration configuration for this device id is not found\n" allErrorMessages += "Calibration configuration for this device id is not found\n"
// Toast.makeText(requireContext(), "Calibration configuration for this device id is not found", Toast.LENGTH_SHORT).show()
} }
if (!Constants.BUFFER_INTENSITY_THRESHOLDS.containsKey(deviceHardwareId)) { if (!Constants.BUFFER_INTENSITY_THRESHOLDS.containsKey(deviceHardwareId)) {
allErrorMessages += "ADC thresholds for this device id are not found\n" allErrorMessages += "ADC thresholds for this device id are not found\n"
// Toast.makeText(requireContext(), "ADC thresholds for this device id are not found", Toast.LENGTH_SHORT).show()
} }
} else { } else {
hemoCubeViewModel.messages.postValue("Config error") hemoCubeViewModel.messages.postValue("Config error")
} }
} }
fun extractMiddleString(input: String): String? {
val pattern = Regex("SNS\\s(.*?)\\sSNE")
val matchResult: MatchResult? = pattern.find(input)
return matchResult?.groups?.get(1)?.value
}
private fun updateDeviceId(hardwareId: String?) { private fun updateDeviceId(hardwareId: String?) {
hardwareId?.let { hardwareId?.let {
deviceHardwareId += it deviceHardwareId += it