diff --git a/app/src/main/java/com/example/hpostesting/data/constant/Constants.kt b/app/src/main/java/com/example/hpostesting/data/constant/Constants.kt index 3ad5305..b6e7449 100644 --- a/app/src/main/java/com/example/hpostesting/data/constant/Constants.kt +++ b/app/src/main/java/com/example/hpostesting/data/constant/Constants.kt @@ -44,4 +44,8 @@ object Constants { ) const val password = "SMI@12345" + + const val KIT_NUMBER = "KitNumber" + + const val KIT_COUNT = "KitCount" } \ No newline at end of file diff --git a/app/src/main/java/com/example/hpostesting/presentation/KitScanActivity.kt b/app/src/main/java/com/example/hpostesting/presentation/KitScanActivity.kt index 9ad6a39..2422dfd 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/KitScanActivity.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/KitScanActivity.kt @@ -1,6 +1,8 @@ package com.example.hpostesting.presentation +import android.content.Context import android.content.Intent +import android.content.SharedPreferences import android.os.Bundle import android.util.Log import android.widget.Toast @@ -21,6 +23,8 @@ class KitScanActivity : AppCompatActivity() { private val TAG = "KitScanActivity" private lateinit var binding: ActivityKitScanBinding + private lateinit var sharedPreference: SharedPreferences + private val barcodeLauncher = registerForActivityResult( ScanContract() ) { result: ScanIntentResult -> @@ -40,13 +44,19 @@ class KitScanActivity : AppCompatActivity() { super.onCreate(savedInstanceState) binding = ActivityKitScanBinding.inflate(layoutInflater) + sharedPreference = this.getSharedPreferences("PREFERENCE_NAME", Context.MODE_PRIVATE) setContentView(binding.root) - if (DataHolder.sampleReadCounter <= Constants.MAXIMUM_TEST_ALLOWED_BEFORE_REFERENCE && DataHolder.isReferenceTaken){ + if (DataHolder.sampleReadCounter <= Constants.MAXIMUM_TEST_ALLOWED_BEFORE_REFERENCE && DataHolder.isReferenceTaken) { DataHolder.selectedTest!!.kitSerial = DataHolder.kitSerial moveToNext() } + if (checkHemoCubeKitData()) { + DataHolder.selectedTest!!.kitSerial = + sharedPreference.getString(Constants.KIT_NUMBER, "").toString() + } + binding.nameEditText.setText("SMI/SC/") setSupportActionBar(binding.toolbar) @@ -61,6 +71,11 @@ class KitScanActivity : AppCompatActivity() { if (serialNumber.isNotEmpty() && checkDataNotNull() && isSerialValid(serialNumber)) { DataHolder.kitSerial = binding.nameEditText.text.toString() DataHolder.selectedTest?.kitSerial = binding.nameEditText.text.toString() + with(sharedPreference.edit()) { + putString(Constants.KIT_NUMBER, binding.nameEditText.text.toString()) + putInt(Constants.KIT_COUNT, 1) + apply() + } moveToNext() } else { Toast.makeText(this, "Invalid KIT Number", Toast.LENGTH_LONG).show() @@ -68,8 +83,13 @@ class KitScanActivity : AppCompatActivity() { } } + private fun checkHemoCubeKitData(): Boolean { + return sharedPreference.getString(Constants.KIT_NUMBER, "") + ?.isNotBlank() == true || sharedPreference.getInt(Constants.KIT_COUNT, 0) > 0 + } + private fun isSerialValid(s: String): Boolean { - if (s.length != 17){ + if (s.length != 17) { binding.nameEditText.error = getString(R.string.invalid_kit) return false } @@ -84,6 +104,7 @@ class KitScanActivity : AppCompatActivity() { val i = Intent(applicationContext, HemocubeActivity::class.java) startActivity(i) } + Constants.DEVICE_TYPE_TEST_RIGHT -> { val i = Intent(applicationContext, TestRightActivity::class.java) startActivity(i) @@ -111,9 +132,7 @@ class KitScanActivity : AppCompatActivity() { private fun checkDataNotNull(): Boolean { return if (DataHolder.selectedTest?._id == null) { Toast.makeText( - applicationContext, - "Please Select patient before starting test", - Toast.LENGTH_SHORT + applicationContext, "Please Select patient before starting test", Toast.LENGTH_SHORT ).show() val i = Intent(applicationContext, DashboardActivity::class.java) diff --git a/app/src/main/java/com/example/hpostesting/presentation/MainActivity.kt b/app/src/main/java/com/example/hpostesting/presentation/MainActivity.kt index 83f1346..b573edb 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/MainActivity.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/MainActivity.kt @@ -70,10 +70,10 @@ class MainActivity : AppCompatActivity() { DataHolder.deviceType.observe(this) { deviceType -> with(binding) { if (deviceType == Constants.DEVICE_TYPE_HOMOCUBE) { - binding.cvItem1.visibility = View.VISIBLE - binding.cvItem3.visibility = View.VISIBLE - binding.cvItem2.visibility = View.GONE - binding.cvItem4.visibility = View.GONE + cvItem1.visibility = View.VISIBLE + cvItem3.visibility = View.VISIBLE + cvItem2.visibility = View.GONE + cvItem4.visibility = View.GONE } DataHolder.usbConnected.value = true }