diff --git a/app/src/main/java/com/example/hposregistration/data/user/UserData.kt b/app/src/main/java/com/example/hposregistration/data/user/UserData.kt
index a7c07bf..65c5dc2 100644
--- a/app/src/main/java/com/example/hposregistration/data/user/UserData.kt
+++ b/app/src/main/java/com/example/hposregistration/data/user/UserData.kt
@@ -27,7 +27,7 @@ data class UserData(
var isUnderTransfusion: Boolean? = false,
var sickleCellHistory: String? = "",
var userImageURL: String = "",
- var createdBy: String? = "",
+ var registeredBy: String? = "",
var createdAt: String? = "",
var registrationCenterName: String? = "",
){
diff --git a/app/src/main/java/com/example/hposregistration/ui/fragments/UserListFragment.kt b/app/src/main/java/com/example/hposregistration/ui/fragments/UserListFragment.kt
index d47d341..258e7cc 100644
--- a/app/src/main/java/com/example/hposregistration/ui/fragments/UserListFragment.kt
+++ b/app/src/main/java/com/example/hposregistration/ui/fragments/UserListFragment.kt
@@ -3,6 +3,7 @@ package com.example.hposregistration.ui.fragments
import android.app.AlertDialog
import android.content.Context
import android.content.DialogInterface
+import android.content.SharedPreferences
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
@@ -12,6 +13,7 @@ import androidx.fragment.app.viewModels
import androidx.navigation.fragment.findNavController
import com.example.hposregistration.adapters.UserListOfflineAdapter
import com.example.hposregistration.adapters.UserListOnlineAdapter
+import com.example.hposregistration.data.Constant
import com.example.hposregistration.data.user.UserData
import com.example.hposregistration.ui.viewmodels.RegistrationViewModel
import com.firebase.ui.firestore.FirestoreRecyclerOptions
@@ -31,10 +33,13 @@ class UserListFragment : BaseFragment() {
private var isOnline = false
+ private lateinit var sharedPreference: SharedPreferences
+
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
): View {
_binding = FragmentUserListBinding.inflate(inflater, container, false)
+ sharedPreference = requireContext().getSharedPreferences("PREFERENCE_NAME", Context.MODE_PRIVATE)
setupViews()
return binding.root
}
@@ -53,6 +58,9 @@ class UserListFragment : BaseFragment() {
binding.btnRegisterUser.setOnClickListener {
findNavController().navigate(R.id.action_userListFragment_to_registrationFragment)
}
+ binding.btnLogout.setOnClickListener {
+ logoutUser(requireContext())
+ }
}
private fun init() {
@@ -72,6 +80,33 @@ class UserListFragment : BaseFragment() {
}
}
+ private fun logoutUser(context: Context) {
+ val builder = AlertDialog.Builder(context)
+ builder.setTitle("Log Out")
+ builder.setMessage("Do you want to LogOut the Application?")
+
+ // Positive button
+ builder.setPositiveButton("Yes") { dialog, _ ->
+ saveUserId("")
+ findNavController().navigate(R.id.action_userListFragment_to_loginFragment)
+ dialog.dismiss()
+ }
+
+ // Negative button
+ builder.setNegativeButton("No") { dialog, _ ->
+ dialog.dismiss()
+ }
+
+ val dialog = builder.create()
+ dialog.show()
+ }
+
+ private fun saveUserId(userId: String) {
+ with(sharedPreference.edit()) {
+ putString(Constant.USER_ID, userId)
+ apply()
+ }
+ }
private fun showUploadDialog(context: Context) {
val builder = AlertDialog.Builder(context)
builder.setTitle("Upload DB Registration")
diff --git a/app/src/main/java/com/example/hposregistration/ui/fragments/registration/ReviewDetailsRegistrationFragment.kt b/app/src/main/java/com/example/hposregistration/ui/fragments/registration/ReviewDetailsRegistrationFragment.kt
index b4ccd09..775860a 100644
--- a/app/src/main/java/com/example/hposregistration/ui/fragments/registration/ReviewDetailsRegistrationFragment.kt
+++ b/app/src/main/java/com/example/hposregistration/ui/fragments/registration/ReviewDetailsRegistrationFragment.kt
@@ -98,7 +98,7 @@ class ReviewDetailsRegistrationFragment : BaseFragment() {
userData.createdAt = SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss", Locale.getDefault()
).format(Calendar.getInstance().time)
- userData.createdBy = sharedPreference.getString(Constant.USER_ID, "")
+ userData.registeredBy = sharedPreference.getString(Constant.USER_ID, "")
viewModel.addUserToDatabase(userData)
viewModel.deleteById(args.userId)
}
diff --git a/app/src/main/res/drawable/ic_logout.xml b/app/src/main/res/drawable/ic_logout.xml
new file mode 100644
index 0000000..e180e4d
--- /dev/null
+++ b/app/src/main/res/drawable/ic_logout.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/app/src/main/res/layout/fragment_user_list.xml b/app/src/main/res/layout/fragment_user_list.xml
index 41fc25c..85be202 100644
--- a/app/src/main/res/layout/fragment_user_list.xml
+++ b/app/src/main/res/layout/fragment_user_list.xml
@@ -1,11 +1,11 @@
+ android:padding="24dp"
+ tools:context="com.example.hposregistration.ui.fragments.UserListFragment">
+
+
+ tools:listitem="@layout/user_item_view" />
+ app:layout_constraintEnd_toEndOf="parent" />
\ No newline at end of file