Fixed resetting user information upon quit

This commit is contained in:
CappielloAntonio 2021-12-06 11:28:55 +01:00
parent 478ecdd3bb
commit f02927262d
3 changed files with 27 additions and 23 deletions

View file

@ -188,8 +188,11 @@ public class MainActivity extends BaseActivity {
playerBottomSheetFragment.scrollPager(song, 0, false); playerBottomSheetFragment.scrollPager(song, 0, false);
} }
// NAVIGATION public void collapseBottomSheet() {
public void goToLogin() { bottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
}
private void goToLogin() {
setBottomNavigationBarVisibility(false); setBottomNavigationBarVisibility(false);
setBottomSheetVisibility(false); setBottomSheetVisibility(false);
@ -202,7 +205,7 @@ public class MainActivity extends BaseActivity {
} }
} }
public void goToHome() { private void goToHome() {
bottomNavigationView.setVisibility(View.VISIBLE); bottomNavigationView.setVisibility(View.VISIBLE);
if (Objects.requireNonNull(navController.getCurrentDestination()).getId() == R.id.landingFragment) { if (Objects.requireNonNull(navController.getCurrentDestination()).getId() == R.id.landingFragment) {
@ -217,21 +220,30 @@ public class MainActivity extends BaseActivity {
goToHome(); goToHome();
} }
public void clearViewModel() {
this.getViewModelStore().clear();
}
public void quit() { public void quit() {
QueueRepository queueRepository = new QueueRepository(App.getInstance()); resetUserSession();
queueRepository.deleteAll(); resetMusicSession();
resetViewModel();
MusicPlayerRemote.quitPlaying();
clearViewModel();
goToLogin(); goToLogin();
} }
public void collapseBottomSheet() { private void resetUserSession() {
bottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED); 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 @Override

View file

@ -57,7 +57,7 @@ public class ServerUnreachableDialog extends DialogFragment {
MainActivity activity = (MainActivity) getActivity(); MainActivity activity = (MainActivity) getActivity();
if (activity != null) { if (activity != null) {
activity.goToLogin(); activity.quit();
} }
Objects.requireNonNull(getDialog()).dismiss(); Objects.requireNonNull(getDialog()).dismiss();

View file

@ -67,15 +67,7 @@ public class SettingsFragment extends PreferenceFragmentCompat {
super.onResume(); super.onResume();
findPreference("logout").setOnPreferenceClickListener(preference -> { 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(); activity.quit();
return true; return true;
}); });