Updted the string, added the sutosmbt button in settings
This commit is contained in:
@@ -22,7 +22,7 @@ android {
|
||||
minSdk 30
|
||||
targetSdk 34
|
||||
versionCode 138
|
||||
versionName "2.1.133.3"
|
||||
versionName "2.1.133"
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
|
||||
@@ -24,6 +24,7 @@ import android.widget.AdapterView
|
||||
import android.widget.ArrayAdapter
|
||||
import android.widget.Toast
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.content.edit
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.preference.ListPreference
|
||||
import androidx.preference.Preference
|
||||
@@ -58,7 +59,6 @@ class SlideshowFragment : Fragment() {
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
binding.nameEditText.setText(sharedPreferences.getString(Constants.LABNAME, ""))
|
||||
selectedItem = sharedPreferences.getString(Constants.CUVETTE_SIZE, "10mm").toString()
|
||||
binding.btnGo.setOnClickListener {
|
||||
@@ -120,6 +120,7 @@ class PrefsFragment : PreferenceFragmentCompat() {
|
||||
private lateinit var serverPreference: Preference
|
||||
private lateinit var currentServerPreference: Preference
|
||||
lateinit var firebaseManager: FirebaseManager
|
||||
var autoSmbtValue = false
|
||||
private var topDevMode = false
|
||||
lateinit var databaseRepository: DatabaseRepository
|
||||
|
||||
@@ -130,6 +131,7 @@ class PrefsFragment : PreferenceFragmentCompat() {
|
||||
topDevMode = firebaseManager.getDevMode()
|
||||
val sharedPreference =
|
||||
requireContext().getSharedPreferences("HEMOCUBE", Context.MODE_PRIVATE)
|
||||
autoSmbtValue = sharedPreference.getBoolean("AutSmbt", false)
|
||||
val preferenceScreen = preferenceManager.createPreferenceScreen(requireContext())
|
||||
val currentServer = firebaseManager.getLastSelectedServer().serverName
|
||||
|
||||
@@ -200,6 +202,24 @@ class PrefsFragment : PreferenceFragmentCompat() {
|
||||
}
|
||||
}
|
||||
|
||||
val autosmbt = SwitchPreferenceCompat(requireContext()).apply {
|
||||
title = "Auto submit"
|
||||
summary = "Enable or disable Auto submit"
|
||||
icon =
|
||||
ContextCompat.getDrawable(requireContext(), R.drawable.baseline_developer_mode_24)
|
||||
key = "auto_submit_key" // Unique key for SharedPreferences
|
||||
|
||||
// Load toggle state from SharedPreferences
|
||||
isChecked = autoSmbtValue
|
||||
setOnPreferenceChangeListener { _, newValue ->
|
||||
val isEnabled = newValue as Boolean
|
||||
sharedPreference.edit {
|
||||
putBoolean("AutSmbt",isEnabled)
|
||||
}
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
val appVersionPreference = Preference(requireContext()).apply {
|
||||
title = "App Version"
|
||||
summary =
|
||||
@@ -218,6 +238,8 @@ class PrefsFragment : PreferenceFragmentCompat() {
|
||||
|
||||
if (preferenceScreen.findPreference<SwitchPreferenceCompat>("developer_options") == null) {
|
||||
preferenceScreen.addPreference(developerToggle)
|
||||
preferenceScreen.addPreference(autosmbt)
|
||||
|
||||
}
|
||||
if (preferenceScreen.findPreference<ListPreference>("server_preference") == null) {
|
||||
preferenceScreen.addPreference(serverSelectorPreference)
|
||||
@@ -234,6 +256,7 @@ class PrefsFragment : PreferenceFragmentCompat() {
|
||||
if (firebaseManager.getDevMode()) {
|
||||
developerToggle.isChecked = true // Ensure it's checked
|
||||
preferenceScreen.addPreference(developerToggle)
|
||||
preferenceScreen.addPreference(autosmbt)
|
||||
preferenceScreen.addPreference(serverSelectorPreference)
|
||||
}
|
||||
|
||||
|
||||
@@ -55,8 +55,11 @@ import kotlin.math.log10
|
||||
import kotlin.random.Random
|
||||
//This is TrueHemeTestFragment, where actual tests are done first buffer check and then sample check
|
||||
//and finally on submit test data to database if online or store in offline database
|
||||
|
||||
|
||||
@Suppress("MemberVisibilityCanBePrivate")
|
||||
class TrueHemeTestFragment : Fragment() {
|
||||
private var doWeNeedAutoSmbt = false
|
||||
private var positiveBoderLine10mm1=Constants.positiveBoderLineMetricCheck10mmMin
|
||||
private var positiveBoderLine10mm2=Constants.positiveBoderLineMetricCheck10mmMax
|
||||
private var negativeBoderLine10mm1=Constants.negativeBoderLineMetricCheck10mmMin
|
||||
@@ -90,6 +93,7 @@ class TrueHemeTestFragment : Fragment() {
|
||||
private var temperature=""
|
||||
private var cuvetteSizeSP = "10mm"
|
||||
private var checkCuvette = false
|
||||
private var checkCuvettePresent = false
|
||||
private var checkRefreshCuvette = false
|
||||
private var checkCuvetteSam = false
|
||||
private var checkSubmit = false
|
||||
@@ -137,7 +141,7 @@ class TrueHemeTestFragment : Fragment() {
|
||||
binding = FragmentHemoCubeReferenceBinding.inflate(inflater, container, false)
|
||||
sharedPreferences =
|
||||
requireContext().getSharedPreferences("HEMOCUBE", Context.MODE_PRIVATE)
|
||||
|
||||
doWeNeedAutoSmbt = sharedPreferences.getBoolean("AutSmbt", false)
|
||||
cuvetteSizeSP = sharedPreferences.getString(Constants.CUVETTE_SIZE,"10mm").toString()
|
||||
|
||||
testState = TestState(
|
||||
@@ -163,9 +167,11 @@ class TrueHemeTestFragment : Fragment() {
|
||||
lifecycleScope.launch {
|
||||
delay(100)
|
||||
}
|
||||
checkCuvettePresence()
|
||||
lifecycleScope.launch {
|
||||
delay(3000)
|
||||
}
|
||||
activity?.runOnUiThread {
|
||||
|
||||
if (checkSubmit) {
|
||||
with(sharedPreferences.edit()) {
|
||||
putBoolean(Constants.QUICK_CAPTURE, false)
|
||||
apply()
|
||||
@@ -186,15 +192,9 @@ class TrueHemeTestFragment : Fragment() {
|
||||
sharedPreferences.getString(Constants.KIT_NUMBER, ""),
|
||||
quickCapture
|
||||
)
|
||||
Toast.makeText(requireContext(), "Auto Sumbitted", Toast.LENGTH_SHORT).show()
|
||||
} else {
|
||||
checkCuvettePresence()
|
||||
binding.btnSubmit.isEnabled = true
|
||||
binding.btnSubmit.isClickable = true
|
||||
Toast.makeText(requireContext(), "Auto Sumbit Failed ", Toast.LENGTH_SHORT).show()
|
||||
binding.btnSubmit.visibility = View.VISIBLE
|
||||
}
|
||||
Toast.makeText(requireContext(), "Auto Submitted", Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
@@ -394,11 +394,32 @@ class TrueHemeTestFragment : Fragment() {
|
||||
}
|
||||
if (result == "Local") {
|
||||
showToast(R.string.internt_not_local)
|
||||
startActivity(Intent(requireActivity(), DashboardActivity::class.java))
|
||||
//got it
|
||||
if (doWeNeedAutoSmbt) {
|
||||
if (!checkCuvettePresent) {
|
||||
Toast.makeText(context, "Gooing back 2", Toast.LENGTH_SHORT).show()
|
||||
startActivity(Intent(requireActivity(), DashboardActivity::class.java))
|
||||
}else{
|
||||
Toast.makeText(context, "Remove Cuvette", Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
}else{
|
||||
startActivity(Intent(requireActivity(), DashboardActivity::class.java))
|
||||
|
||||
}
|
||||
}
|
||||
if (result == "Error") {
|
||||
showToast(R.string.error_local)
|
||||
startActivity(Intent(requireActivity(), DashboardActivity::class.java))
|
||||
//got it
|
||||
if (doWeNeedAutoSmbt) {
|
||||
if (!checkCuvettePresent) {
|
||||
Toast.makeText(context, "Gooing back", Toast.LENGTH_SHORT).show()
|
||||
startActivity(Intent(requireActivity(), DashboardActivity::class.java))
|
||||
}else{
|
||||
Toast.makeText(context, "Remove Cuvette", Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
}else{
|
||||
startActivity(Intent(requireActivity(), DashboardActivity::class.java))
|
||||
}
|
||||
}
|
||||
|
||||
binding.progressBar.visibility = View.GONE
|
||||
@@ -443,7 +464,17 @@ class TrueHemeTestFragment : Fragment() {
|
||||
val i = Intent(
|
||||
requireContext().applicationContext, DashboardActivity::class.java
|
||||
)
|
||||
startActivity(i)
|
||||
//got it
|
||||
if (doWeNeedAutoSmbt){
|
||||
if (!checkCuvettePresent){
|
||||
Toast.makeText(context, "Gooing back 3", Toast.LENGTH_SHORT).show()
|
||||
startActivity(i)
|
||||
}else{
|
||||
Toast.makeText(context, "Remove Cuvette", Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
}else {
|
||||
startActivity(i)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
trueHemeTestViewModel.messages.postValue("Reading $repeatReadingCount completed")
|
||||
@@ -652,6 +683,7 @@ class TrueHemeTestFragment : Fragment() {
|
||||
}
|
||||
}
|
||||
resultData.contains("#AIN") && sampleClick && this.testStatusCode <= TestStatus.CUVETTE_ABSENTS.code -> {
|
||||
checkCuvettePresent = false
|
||||
trueHemeTestViewModel.messages.postValue(getString(R.string.cuvette_absent))
|
||||
this.testStatusCode = TestStatus.CUVETTE_ABSENTS.code
|
||||
activity?.runOnUiThread {
|
||||
@@ -664,6 +696,7 @@ class TrueHemeTestFragment : Fragment() {
|
||||
this.testStatusCode = TestStatus.CUVETTE_PRESENTR.code
|
||||
activity?.runOnUiThread {
|
||||
checkRefreshCuvette = true
|
||||
checkCuvettePresent =true
|
||||
binding.testing.visibility = View.GONE
|
||||
binding.btnRetryCheckCuvette.visibility = View.GONE
|
||||
binding.btnPlaceRefreshbuffer.visibility = View.VISIBLE
|
||||
@@ -674,6 +707,7 @@ class TrueHemeTestFragment : Fragment() {
|
||||
}
|
||||
}
|
||||
resultData.contains("#AIN") && refreshClick && this.testStatusCode <= TestStatus.CUVETTE_ABSENTR.code -> {
|
||||
checkCuvettePresent = false
|
||||
trueHemeTestViewModel.messages.postValue(getString(R.string.cuvette_absent))
|
||||
this.testStatusCode = TestStatus.CUVETTE_ABSENTR.code
|
||||
activity?.runOnUiThread {
|
||||
@@ -684,6 +718,7 @@ class TrueHemeTestFragment : Fragment() {
|
||||
showRetryButtonForCuvette()
|
||||
}
|
||||
resultData.contains("#CIN") && this.testStatusCode < TestStatus.CUVETTE_PRESENT.code -> {
|
||||
checkCuvettePresent = true
|
||||
trueHemeTestViewModel.messages.postValue(getString(R.string.cuvette_present))
|
||||
this.testStatusCode = TestStatus.CUVETTE_PRESENT.code
|
||||
activity?.runOnUiThread {
|
||||
@@ -697,6 +732,7 @@ class TrueHemeTestFragment : Fragment() {
|
||||
}
|
||||
}
|
||||
resultData.contains("#AIN") && this.testStatusCode <= TestStatus.CUVETTE_ABSENT.code -> {
|
||||
checkCuvettePresent = false
|
||||
trueHemeTestViewModel.messages.postValue(getString(R.string.cuvette_absent))
|
||||
this.testStatusCode = TestStatus.CUVETTE_ABSENT.code
|
||||
activity?.runOnUiThread {
|
||||
@@ -709,7 +745,12 @@ class TrueHemeTestFragment : Fragment() {
|
||||
|
||||
//need to change where check submit
|
||||
resultData.contains("#CIN") && this.submitClick && this.testStatusCode < TestStatus.CUVETTE_PRESENTT.code -> {
|
||||
trueHemeTestViewModel.messages.postValue(getString(R.string.cuvette_presentt))
|
||||
checkCuvettePresent = true
|
||||
if (doWeNeedAutoSmbt){
|
||||
trueHemeTestViewModel.messages.postValue(getString(R.string.cuvette_presentnt))
|
||||
}else {
|
||||
trueHemeTestViewModel.messages.postValue(getString(R.string.cuvette_presentt))
|
||||
}
|
||||
this.testStatusCode = TestStatus.CUVETTE_PRESENTT.code
|
||||
activity?.runOnUiThread {
|
||||
binding.testing.visibility = View.GONE
|
||||
@@ -718,6 +759,7 @@ class TrueHemeTestFragment : Fragment() {
|
||||
|
||||
|
||||
resultData.contains("#AIN") && this.submitClick && this.testStatusCode <= TestStatus.CUVETTE_ABSENTT.code -> {
|
||||
checkCuvettePresent = false
|
||||
trueHemeTestViewModel.messages.postValue(getString(R.string.cuvette_absentt))
|
||||
this.testStatusCode = TestStatus.CUVETTE_ABSENTT.code
|
||||
activity?.runOnUiThread {
|
||||
@@ -1011,11 +1053,14 @@ class TrueHemeTestFragment : Fragment() {
|
||||
activity?.runOnUiThread {
|
||||
|
||||
//changing to invisible
|
||||
binding.btnSubmit.visibility = View.GONE
|
||||
binding.btnSubmit.visibility = View.VISIBLE
|
||||
// binding.btnSubmit.isEnabled = true
|
||||
// binding.btnSubmit.isClickable = true
|
||||
// binding.clParent.setBackgroundColor(Color.parseColor("#edfffd"))
|
||||
autoSmbt(true)
|
||||
if (doWeNeedAutoSmbt) {
|
||||
binding.btnSubmit.visibility = View.GONE
|
||||
autoSmbt(doWeNeedAutoSmbt)
|
||||
}
|
||||
binding.ivCheck.visibility = View.VISIBLE
|
||||
|
||||
}
|
||||
@@ -1703,7 +1748,6 @@ class TrueHemeTestFragment : Fragment() {
|
||||
(activity as TrueHemeTestActivity).mService.sendAndListenToHemoCube(HemoCubeCommands.CHECK_CUVETTE_COMMAND,
|
||||
object : UsbServiceListener {
|
||||
override fun onUsbRead(data: ByteArray?) {}
|
||||
|
||||
override fun onUsbError(e: Exception?) {
|
||||
trueHemeTestViewModel.progressBar.postValue(false)
|
||||
}
|
||||
@@ -1723,7 +1767,15 @@ class TrueHemeTestFragment : Fragment() {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
fun goback(){
|
||||
checkCuvettePresence()
|
||||
lifecycleScope.launch {
|
||||
delay(4000)
|
||||
}
|
||||
if (!checkCuvettePresent) {
|
||||
startActivity(Intent(requireActivity(), DashboardActivity::class.java))
|
||||
}
|
||||
}
|
||||
private fun startSampleProcess() {
|
||||
trueHemeTestViewModel.progressBar.postValue(true)
|
||||
|
||||
|
||||
@@ -307,5 +307,6 @@
|
||||
<string name="calibrate_device">Calibrate the device</string>
|
||||
<string name="cuvette_presentt">Cuvette Present , Please Remove Cuvette And Try Again</string>
|
||||
<string name="cuvette_absentt">Cuvette Absent,Now You Can Submit</string>
|
||||
<string name="cuvette_presentnt">Test Done, Cuvette Present, Please Remove Cuvette And Goback</string>
|
||||
|
||||
</resources>
|
||||
@@ -306,7 +306,7 @@
|
||||
<string name="calibrate_device">ಸಾಧನವನ್ನು ಮಾಪನಾಂಕ ಮಾಡಿ</string>
|
||||
<string name="cuvette_presentt">Cuvette Present , Please Remove Cuvette And Try Again</string>
|
||||
<string name="cuvette_absentt">Cuvette Absent,Now You Can Submit</string>
|
||||
|
||||
<string name="cuvette_presentnt">Test Done, Cuvette Present, Please Remove Cuvette And Goback</string>
|
||||
<!-- Add translations for other strings -->
|
||||
|
||||
</resources>
|
||||
@@ -306,6 +306,7 @@
|
||||
<string name="reset_password_for_this_device">Reset password for this device</string>
|
||||
<string name="calibrate_device">Calibrate Device</string>
|
||||
<string name="cuvette_presentt">Cuvette Present , Please Remove Cuvette And Try Again</string>
|
||||
<string name="cuvette_presentnt">Test Done, Cuvette Present, Please Remove Cuvette And Goback</string>
|
||||
<string name="cuvette_absentt">Cuvette Absent,Now You Can Submit</string>
|
||||
|
||||
</resources>
|
||||
Reference in New Issue
Block a user