From e7d6e5f1b19e4d82945136cd7513d9356117231c Mon Sep 17 00:00:00 2001 From: "Moch. Sofyan Firdaus" <13521083@std.stei.itb.ac.id> Date: Wed, 3 Apr 2024 19:03:22 +0700 Subject: [PATCH] feat: add alert dialog when signing out --- .../bondoman/ui/settings/SettingsFragment.kt | 22 +++++++++++++++---- app/src/main/res/values/strings.xml | 5 +++++ 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/onionsquad/bondoman/ui/settings/SettingsFragment.kt b/app/src/main/java/com/onionsquad/bondoman/ui/settings/SettingsFragment.kt index ca0aa81..8599805 100644 --- a/app/src/main/java/com/onionsquad/bondoman/ui/settings/SettingsFragment.kt +++ b/app/src/main/java/com/onionsquad/bondoman/ui/settings/SettingsFragment.kt @@ -1,5 +1,6 @@ package com.onionsquad.bondoman.ui.settings +import android.app.AlertDialog import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -28,10 +29,16 @@ class SettingsFragment : Fragment() { binding.apply { logoutButton.setOnClickListener { - sessionManager.deleteAuthToken() - Toast.makeText(requireContext(), "Log out success", Toast.LENGTH_SHORT).show() - findNavController().popBackStack(R.id.navigation_transaction, true) - requireActivity().recreate() + val alertBuilder = AlertDialog.Builder(requireContext()) + alertBuilder.setTitle(R.string.title_alert_logout) + alertBuilder.setMessage(R.string.message_alert_logout) + alertBuilder.setPositiveButton(R.string.yes) { _, _ -> + logout(sessionManager) + } + alertBuilder.setNegativeButton(R.string.no) { dialog, _ -> + dialog.cancel() + } + alertBuilder.show() } } @@ -42,4 +49,11 @@ class SettingsFragment : Fragment() { super.onDestroyView() _binding = null } + + private fun logout(sessionManager: SessionManager) { + sessionManager.deleteAuthToken() + Toast.makeText(requireContext(), R.string.log_out_success, Toast.LENGTH_SHORT).show() + findNavController().popBackStack(R.id.navigation_transaction, true) + requireActivity().recreate() + } } \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index dfc80c0..311f02b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -13,4 +13,9 @@ <string name="login_failed">"Login failed"</string> <string name="preference_file_key">BondomanSharedPrefs</string> <string name="action_sign_out">Sign out</string> + <string name="title_alert_logout">Confirm sign out</string> + <string name="message_alert_logout">Are you sure you want to sign out?</string> + <string name="log_out_success">Log out success</string> + <string name="yes">Yes</string> + <string name="no">No</string> </resources> \ No newline at end of file -- GitLab