Hide (and not reset) music player on bottomSheet hiding

This commit is contained in:
CappielloAntonio 2022-01-11 12:51:10 +01:00
parent df5f050b2c
commit 6675549ca6
2 changed files with 10 additions and 5 deletions

View file

@ -28,10 +28,11 @@ public class MediaManager {
if (mediaBrowserListenableFuture.isDone()) { if (mediaBrowserListenableFuture.isDone()) {
if (mediaBrowserListenableFuture.get().isPlaying()) { if (mediaBrowserListenableFuture.get().isPlaying()) {
mediaBrowserListenableFuture.get().pause(); mediaBrowserListenableFuture.get().pause();
mediaBrowserListenableFuture.get().stop();
mediaBrowserListenableFuture.get().clearMediaItems();
clearDatabase();
} }
mediaBrowserListenableFuture.get().stop();
mediaBrowserListenableFuture.get().clearMediaItems();
clearDatabase();
} }
} catch (ExecutionException | InterruptedException e) { } catch (ExecutionException | InterruptedException e) {
Log.e(TAG, e.getMessage()); Log.e(TAG, e.getMessage());
@ -40,7 +41,7 @@ public class MediaManager {
} }
} }
public static void quit(ListenableFuture<MediaBrowser> mediaBrowserListenableFuture) { public static void hide(ListenableFuture<MediaBrowser> mediaBrowserListenableFuture) {
if (mediaBrowserListenableFuture != null) { if (mediaBrowserListenableFuture != null) {
mediaBrowserListenableFuture.addListener(() -> { mediaBrowserListenableFuture.addListener(() -> {
try { try {

View file

@ -145,7 +145,7 @@ public class MainActivity extends BaseActivity {
switch (state) { switch (state) {
case BottomSheetBehavior.STATE_HIDDEN: case BottomSheetBehavior.STATE_HIDDEN:
resetMusicSession(); hideMusicSession();
break; break;
case BottomSheetBehavior.STATE_COLLAPSED: case BottomSheetBehavior.STATE_COLLAPSED:
if (playerBottomSheetFragment != null) { if (playerBottomSheetFragment != null) {
@ -268,6 +268,10 @@ public class MainActivity extends BaseActivity {
MediaManager.reset(getMediaBrowserListenableFuture()); MediaManager.reset(getMediaBrowserListenableFuture());
} }
private void hideMusicSession() {
MediaManager.hide(getMediaBrowserListenableFuture());
}
private void resetViewModel() { private void resetViewModel() {
this.getViewModelStore().clear(); this.getViewModelStore().clear();
} }