remove prefix based pattern search in deviceid
This commit is contained in:
@@ -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, "")
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user