diff --git a/app/build.gradle b/app/build.gradle index 924f244..908b1f8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -19,7 +19,7 @@ android { minSdk 21 targetSdk 34 versionCode 20 - versionName "2.1.20" + versionName "2.1.21" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } 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 964895a..807942c 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 @@ -22,7 +22,7 @@ import java.util.Date import java.util.Locale class UserListAdapter( - options: FirestoreRecyclerOptions, private val view: View + options: FirestoreRecyclerOptions, private val view: View, private val batLevel: Int ) : FirestoreRecyclerAdapter(options) { class OrderItemViewHolder(val binding: UserItemViewBinding) : @@ -46,8 +46,7 @@ class UserListAdapter( "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() + "yyyy-MM-dd HH:mm:ss", Locale.getDefault() ).parse(model.incubationTime)!! ) }" @@ -84,6 +83,14 @@ class UserListAdapter( } } userCard.setOnClickListener { + if (batLevel < 40) { + Toast.makeText( + view.context, + "Battery level is low then 40%, please charge the device to continue testing", + Toast.LENGTH_SHORT + ).show() + return@setOnClickListener + } if (model.testStatus != null) { if (model.testStatus!!) { Toast.makeText( 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 50c342e..7644cff 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 @@ -2,9 +2,11 @@ package com.example.hpostesting.presentation.dashboard import android.app.AlertDialog import android.content.Context +import android.content.Context.BATTERY_SERVICE import android.content.DialogInterface import android.content.Intent import android.content.SharedPreferences +import android.os.BatteryManager import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -12,7 +14,6 @@ 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 @@ -30,7 +31,6 @@ 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 @@ -85,10 +85,15 @@ class HomeFragment : Fragment() { } hemoCubeViewModel.fireBaseBulkUpload.observe(viewLifecycleOwner) { result -> if (result == "Success") { - Toast.makeText(requireContext(), "Test Results Uploaded Successfully", Toast.LENGTH_SHORT).show() + 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() + Toast.makeText(requireContext(), "Test Results Upload Failed", Toast.LENGTH_SHORT) + .show() } } binding.btnLogout.setOnClickListener { @@ -142,7 +147,11 @@ class HomeFragment : Fragment() { val recyclerViewOptions = FirestoreRecyclerOptions.Builder().setQuery(query, UserData::class.java) .build() - rvAdapter = UserListAdapter(recyclerViewOptions, binding.root) + + val bm = requireContext().getSystemService(BATTERY_SERVICE) as BatteryManager + val batLevel: Int = bm.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY) + + rvAdapter = UserListAdapter(recyclerViewOptions, binding.root, batLevel) binding.rvOrder.adapter = rvAdapter rvAdapter.startListening() } catch (e: Exception) { @@ -186,7 +195,11 @@ class HomeFragment : Fragment() { val recyclerViewOptions = FirestoreRecyclerOptions.Builder().setQuery(query, UserData::class.java) .build() - rvAdapter = UserListAdapter(recyclerViewOptions, binding.root) + + val bm = requireContext().getSystemService(BATTERY_SERVICE) as BatteryManager + val batLevel: Int = bm.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY) + + rvAdapter = UserListAdapter(recyclerViewOptions, binding.root, batLevel) binding.rvOrder.adapter = rvAdapter rvAdapter.startListening() }