AccountFragment: Ask for confirmation before logout
Avoid user clicking the logout button accidentally Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
@@ -29,7 +29,6 @@ import com.aurora.Constants.URL_LICENSE
|
||||
import com.aurora.Constants.URL_TOS
|
||||
import com.aurora.extensions.browse
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.data.providers.AccountProvider
|
||||
import com.aurora.store.data.providers.AuthProvider
|
||||
import com.aurora.store.databinding.FragmentAccountBinding
|
||||
import com.aurora.store.view.ui.commons.BaseFragment
|
||||
@@ -70,11 +69,7 @@ class AccountFragment : BaseFragment<FragmentAccountBinding>() {
|
||||
}
|
||||
|
||||
binding.btnLogout.addOnClickListener {
|
||||
binding.btnLogout.updateProgress(true)
|
||||
AccountProvider.with(view.context).logout()
|
||||
findNavController().navigate(
|
||||
AccountFragmentDirections.actionAccountFragmentToSplashFragment()
|
||||
)
|
||||
findNavController().navigate(R.id.logoutDialog)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.aurora.store.view.ui.account
|
||||
|
||||
import android.app.Dialog
|
||||
import android.os.Bundle
|
||||
import androidx.fragment.app.DialogFragment
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.data.providers.AccountProvider
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@AndroidEntryPoint
|
||||
class LogoutDialog: DialogFragment() {
|
||||
|
||||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||
return MaterialAlertDialogBuilder(requireContext())
|
||||
.setTitle(R.string.action_logout_confirmation_title)
|
||||
.setMessage(R.string.action_logout_confirmation_message)
|
||||
.setPositiveButton(getString(android.R.string.ok)) { _, _ -> logout() }
|
||||
.setNegativeButton(getString(android.R.string.cancel)) { _, _ -> dialog?.dismiss()}
|
||||
.create()
|
||||
}
|
||||
|
||||
private fun logout() {
|
||||
AccountProvider.with(requireContext()).logout()
|
||||
findNavController().navigate(LogoutDialogDirections.actionLogoutDialogToSplashFragment())
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user