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);
}
// 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

View file

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

View file

@ -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;
});