From 118b17bee15330085ddcc72dde1e9c5138eb4eec Mon Sep 17 00:00:00 2001 From: mohamedkaif356 Date: Mon, 2 Oct 2023 17:28:24 +0530 Subject: [PATCH] Local upload, incubation time stamp and UI change --- .../presentation/adapter/UserListAdapter.kt | 9 ++++++++- .../presentation/dashboard/HomeFragment.kt | 13 ++++++++++--- .../presentation/hemocube/HemoCubeViewModel.kt | 7 +++++-- app/src/main/res/values/strings.xml | 2 +- 4 files changed, 24 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/example/hpostesting/presentation/adapter/UserListAdapter.kt b/app/src/main/java/com/example/hpostesting/presentation/adapter/UserListAdapter.kt index dd0f288..964895a 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/adapter/UserListAdapter.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/adapter/UserListAdapter.kt @@ -43,7 +43,14 @@ class UserListAdapter( btnStartIncubation.visibility = View.VISIBLE } else { userId.text = - "User ID:${model._id} \n Time: ${isBetween15And30Minutes(model.incubationTime)}" + "User ID:${model._id} \n Time: ${isBetween15And30Minutes(model.incubationTime)} \n Started at: ${ + SimpleDateFormat("HH:mm:ss").format( + SimpleDateFormat( + "yyyy-MM-dd HH:mm:ss", + Locale.getDefault() + ).parse(model.incubationTime)!! + ) + }" btnStartIncubation.visibility = View.GONE } 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 09e8d4c..50c342e 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 @@ -12,6 +12,7 @@ import android.view.ViewGroup import android.widget.Toast import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels +import androidx.lifecycle.lifecycleScope import androidx.navigation.fragment.findNavController import com.example.hpostesting.data.DataHolder import com.example.hpostesting.data.constant.Constants @@ -29,6 +30,7 @@ import com.google.firebase.ktx.Firebase import dagger.hilt.android.AndroidEntryPoint import `in`.sminnovations.hpostesting.R import `in`.sminnovations.hpostesting.databinding.FragmentHomeBinding +import kotlinx.coroutines.launch import java.text.SimpleDateFormat import java.util.Date import java.util.Locale @@ -81,6 +83,14 @@ class HomeFragment : Fragment() { setUserId() } } + hemoCubeViewModel.fireBaseBulkUpload.observe(viewLifecycleOwner) { result -> + if (result == "Success") { + Toast.makeText(requireContext(), "Test Results Uploaded Successfully", Toast.LENGTH_SHORT).show() + } + if (result == "Error") { + Toast.makeText(requireContext(), "Test Results Upload Failed", Toast.LENGTH_SHORT).show() + } + } binding.btnLogout.setOnClickListener { logoutUser(requireContext()) } @@ -274,9 +284,6 @@ class HomeFragment : Fragment() { hemoCubeViewModel.bulkAddResultTestToDb(userData) } dialog.dismiss() - Toast.makeText( - requireContext(), R.string.upload_success_message, Toast.LENGTH_SHORT - ).show() } } } diff --git a/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeViewModel.kt b/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeViewModel.kt index 1901e76..33cae71 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeViewModel.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeViewModel.kt @@ -44,6 +44,7 @@ class HemoCubeViewModel @Inject constructor( val networkStatusLiveData: LiveData get() = _networkStatusLiveData val fireBaseUpload = MutableLiveData() + val fireBaseBulkUpload = MutableLiveData() fun uploadHemoCubeResultToDatabase(isOnline: Boolean, testStatus: Boolean, kitSerial: String?) = viewModelScope.launch { if (kitSerial != null) { @@ -132,11 +133,13 @@ class HemoCubeViewModel @Inject constructor( ).format(Calendar.getInstance().time) when (repository.addTestToDatabase(userData)) { is Response.Success -> { - fireBaseUpload.postValue("Success") + fireBaseBulkUpload.postValue("Success") deleteById(userData._id) } - else -> {} + else -> { + fireBaseBulkUpload.postValue("Error") + } } } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 5ec2c82..1c90e88 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -192,7 +192,7 @@ Test Completed Select Blood Group All registered user are tested successfully - Start Incubation + Incubate Check Buffer \ No newline at end of file