Delete queue on logout

This commit is contained in:
CappielloAntonio
2021-08-09 00:23:09 +02:00
parent 78a4006ed6
commit af60a4a3eb
12 changed files with 60 additions and 43 deletions

View File

@@ -13,10 +13,12 @@ import androidx.navigation.NavController;
import androidx.navigation.fragment.NavHostFragment;
import androidx.navigation.ui.NavigationUI;
import com.cappielloantonio.play.App;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.broadcast.receiver.ConnectivityStatusBroadcastReceiver;
import com.cappielloantonio.play.databinding.ActivityMainBinding;
import com.cappielloantonio.play.model.Song;
import com.cappielloantonio.play.repository.QueueRepository;
import com.cappielloantonio.play.service.MusicPlayerRemote;
import com.cappielloantonio.play.ui.activity.base.BaseActivity;
import com.cappielloantonio.play.ui.fragment.PlayerBottomSheetFragment;
@@ -179,6 +181,9 @@ public class MainActivity extends BaseActivity {
// NAVIGATION
public void goToLogin() {
setBottomNavigationBarVisibility(false);
setBottomSheetVisibility(false);
if (Objects.requireNonNull(navController.getCurrentDestination()).getId() == R.id.landingFragment) {
navController.navigate(R.id.action_landingFragment_to_loginFragment);
} else if(Objects.requireNonNull(navController.getCurrentDestination()).getId() == R.id.settingsFragment) {
@@ -197,9 +202,23 @@ public class MainActivity extends BaseActivity {
}
public void goFromLogin() {
isBottomSheetInPeek(mainViewModel.isQueueLoaded());
goToHome();
}
public void clearViewModel() {
this.getViewModelStore().clear();
}
public void quit() {
QueueRepository queueRepository = new QueueRepository(App.getInstance());
queueRepository.deleteAll();
MusicPlayerRemote.quitPlaying();
clearViewModel();
goToLogin();
}
@Override
public void onBackPressed() {
if (bottomSheetBehavior.getState() == BottomSheetBehavior.STATE_EXPANDED)

View File

@@ -9,8 +9,10 @@ import androidx.preference.ListPreference;
import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
import com.cappielloantonio.play.App;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.helper.ThemeHelper;
import com.cappielloantonio.play.repository.QueueRepository;
import com.cappielloantonio.play.ui.activity.MainActivity;
import com.cappielloantonio.play.util.PreferenceUtil;
@@ -50,7 +52,7 @@ public class SettingsFragment extends PreferenceFragmentCompat {
PreferenceUtil.getInstance(requireContext()).setSalt(null);
PreferenceUtil.getInstance(requireContext()).setServerId(null);
activity.goToLogin();
activity.quit();
return true;
});