diff --git a/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt index 91aaeb9..09e8d4c 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt @@ -22,6 +22,7 @@ import com.example.hpostesting.presentation.adapter.UserListAdapter import com.example.hpostesting.presentation.hemocube.HemoCubeViewModel import com.example.hpostesting.presentation.testRight.TestRightViewModel import com.firebase.ui.firestore.FirestoreRecyclerOptions +import com.google.firebase.crashlytics.ktx.crashlytics import com.google.firebase.firestore.Query import com.google.firebase.firestore.ktx.firestore import com.google.firebase.ktx.Firebase @@ -52,11 +53,13 @@ class HomeFragment : Fragment() { return super.onCreateView(inflater, container, savedInstanceState) } - sharedPreference = requireContext().getSharedPreferences("PREFERENCE_NAME", Context.MODE_PRIVATE) + sharedPreference = + requireContext().getSharedPreferences("PREFERENCE_NAME", Context.MODE_PRIVATE) DataHolder.selectedTest = null return binding.root } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) viewModel.allUserData.observe(viewLifecycleOwner) { userData -> @@ -94,6 +97,7 @@ class HomeFragment : Fragment() { requireActivity().finish() } } + private fun setUserId() { binding.btnSubmit.setOnClickListener { val userId = binding.userId.text.toString() @@ -108,6 +112,7 @@ class HomeFragment : Fragment() { } } } + private fun loadUserData() { try { val dateFormat = SimpleDateFormat("yyyy-MM-dd") @@ -134,12 +139,14 @@ class HomeFragment : Fragment() { Firebase.crashlytics.recordException(e) } } + private fun saveUserId(userId: String) { with(sharedPreference.edit()) { putString(Constants.USER_ID, userId) apply() } } + private fun logoutUser(context: Context) { val builder = AlertDialog.Builder(context) builder.setTitle("Log Out") @@ -156,6 +163,7 @@ class HomeFragment : Fragment() { val dialog = builder.create() dialog.show() } + private fun getData(search: String?, field: String) { search?.replaceFirstChar { if (search.lowercase() @@ -172,6 +180,7 @@ class HomeFragment : Fragment() { binding.rvOrder.adapter = rvAdapter rvAdapter.startListening() } + private fun setSearch() { binding.searchProduct.setOnQueryTextListener(object : androidx.appcompat.widget.SearchView.OnQueryTextListener { @@ -192,6 +201,7 @@ class HomeFragment : Fragment() { false } } + override fun onQueryTextChange(query: String?): Boolean { return if (!query.isNullOrEmpty()) { val field = when { @@ -209,6 +219,7 @@ class HomeFragment : Fragment() { } }) } + private fun checkForLocalDBData() { viewModel.allUserData.observe(viewLifecycleOwner) { userDataList -> val uploadDataVisibility = if (userDataList.isEmpty()) View.GONE else View.VISIBLE @@ -220,6 +231,7 @@ class HomeFragment : Fragment() { binding.uploadData.visibility = uploadDataVisibility } } + private fun showUploadDialog(context: Context) { val builder = AlertDialog.Builder(context) builder.setTitle(R.string.upload_db_registration_title) @@ -248,9 +260,7 @@ class HomeFragment : Fragment() { } dialog.dismiss() Toast.makeText( - requireContext(), - R.string.upload_success_message, - Toast.LENGTH_SHORT + requireContext(), R.string.upload_success_message, Toast.LENGTH_SHORT ).show() } } @@ -265,9 +275,7 @@ class HomeFragment : Fragment() { } dialog.dismiss() Toast.makeText( - requireContext(), - R.string.upload_success_message, - Toast.LENGTH_SHORT + requireContext(), R.string.upload_success_message, Toast.LENGTH_SHORT ).show() } } diff --git a/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeFragment.kt index 390663c..79743c0 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeFragment.kt @@ -67,7 +67,12 @@ class HemoCubeFragment : Fragment() { if (bloodGroupText.isEmpty()) { binding.etBloodGroup.error = "Please enter your blood group" } else { - fetchResult() + activity?.runOnUiThread { + binding.progressBar.visibility = View.VISIBLE + } + hemoCubeViewModel.uploadHemoCubeResultToDatabase( + isOnline, true, sharedPreferences.getString(Constants.KIT_NUMBER, "") + ) } } if (isTestOngoing) { @@ -287,6 +292,7 @@ class HemoCubeFragment : Fragment() { binding.btnSubmit.isEnabled = true binding.btnSubmit.isClickable = true } + fetchResult() } stringData.contains("RESULT") || resultData.contains("REND") -> { @@ -429,7 +435,7 @@ class HemoCubeFragment : Fragment() { activity?.runOnUiThread { binding.tvName.visibility = View.VISIBLE } - binding.tvName.text = this.name + binding.tvName.text = "Name: ${this.name}\n ID: ${this._id}" deviceId = deviceSerialNo led1Buffer = led1BufferForDevice led2Buffer = led2BufferForDevice @@ -450,12 +456,6 @@ class HemoCubeFragment : Fragment() { apply() } } - activity?.runOnUiThread { - binding.progressBar.visibility = View.VISIBLE - } - hemoCubeViewModel.uploadHemoCubeResultToDatabase( - isOnline, true, sharedPreferences.getString(Constants.KIT_NUMBER, "") - ) } } } catch (e: Exception) { diff --git a/app/src/main/res/layout/fragment_hemo_cube_reference.xml b/app/src/main/res/layout/fragment_hemo_cube_reference.xml index 2a8caba..29f4be5 100644 --- a/app/src/main/res/layout/fragment_hemo_cube_reference.xml +++ b/app/src/main/res/layout/fragment_hemo_cube_reference.xml @@ -32,29 +32,29 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/tv_title" /> + + + + + + + + + + + + - + app:layout_constraintTop_toBottomOf="@+id/btn_submit" /> + + app:layout_constraintTop_toBottomOf="@id/tv_subtitle2" /> + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + +