From f02927262d1f6b04a739aa760387ff3377e65331 Mon Sep 17 00:00:00 2001 From: CappielloAntonio Date: Mon, 6 Dec 2021 11:28:55 +0100 Subject: [PATCH] Fixed resetting user information upon quit --- .../play/ui/activity/MainActivity.java | 40 ++++++++++++------- .../ui/dialog/ServerUnreachableDialog.java | 2 +- .../play/ui/fragment/SettingsFragment.java | 8 ---- 3 files changed, 27 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/com/cappielloantonio/play/ui/activity/MainActivity.java b/app/src/main/java/com/cappielloantonio/play/ui/activity/MainActivity.java index c95f1660..55a0bdbe 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/activity/MainActivity.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/activity/MainActivity.java @@ -188,8 +188,11 @@ public class MainActivity extends BaseActivity { playerBottomSheetFragment.scrollPager(song, 0, false); } - // NAVIGATION - public void goToLogin() { + public void collapseBottomSheet() { + bottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED); + } + + private void goToLogin() { setBottomNavigationBarVisibility(false); setBottomSheetVisibility(false); @@ -202,7 +205,7 @@ public class MainActivity extends BaseActivity { } } - public void goToHome() { + private void goToHome() { bottomNavigationView.setVisibility(View.VISIBLE); if (Objects.requireNonNull(navController.getCurrentDestination()).getId() == R.id.landingFragment) { @@ -217,21 +220,30 @@ public class MainActivity extends BaseActivity { goToHome(); } - public void clearViewModel() { - this.getViewModelStore().clear(); - } - public void quit() { - QueueRepository queueRepository = new QueueRepository(App.getInstance()); - queueRepository.deleteAll(); - - MusicPlayerRemote.quitPlaying(); - clearViewModel(); + resetUserSession(); + resetMusicSession(); + resetViewModel(); goToLogin(); } - public void collapseBottomSheet() { - bottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED); + private void resetUserSession() { + PreferenceUtil.getInstance(this).setUser(null); + PreferenceUtil.getInstance(this).setServer(null); + PreferenceUtil.getInstance(this).setPassword(null); + PreferenceUtil.getInstance(this).setToken(null); + PreferenceUtil.getInstance(this).setSalt(null); + PreferenceUtil.getInstance(this).setServerId(null); + } + + private void resetMusicSession() { + QueueRepository queueRepository = new QueueRepository(App.getInstance()); + queueRepository.deleteAll(); + MusicPlayerRemote.quitPlaying(); + } + + private void resetViewModel() { + this.getViewModelStore().clear(); } @Override diff --git a/app/src/main/java/com/cappielloantonio/play/ui/dialog/ServerUnreachableDialog.java b/app/src/main/java/com/cappielloantonio/play/ui/dialog/ServerUnreachableDialog.java index 52365caa..c146fd5f 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/dialog/ServerUnreachableDialog.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/dialog/ServerUnreachableDialog.java @@ -57,7 +57,7 @@ public class ServerUnreachableDialog extends DialogFragment { MainActivity activity = (MainActivity) getActivity(); if (activity != null) { - activity.goToLogin(); + activity.quit(); } Objects.requireNonNull(getDialog()).dismiss(); diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/SettingsFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/SettingsFragment.java index ac9957a6..7bf7cd23 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/SettingsFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/SettingsFragment.java @@ -67,15 +67,7 @@ public class SettingsFragment extends PreferenceFragmentCompat { super.onResume(); findPreference("logout").setOnPreferenceClickListener(preference -> { - PreferenceUtil.getInstance(requireContext()).setUser(null); - PreferenceUtil.getInstance(requireContext()).setServer(null); - PreferenceUtil.getInstance(requireContext()).setPassword(null); - PreferenceUtil.getInstance(requireContext()).setToken(null); - PreferenceUtil.getInstance(requireContext()).setSalt(null); - PreferenceUtil.getInstance(requireContext()).setServerId(null); - activity.quit(); - return true; });