From ee1e0d4267e1b6ed0fa5b63b790e3f466bec4e39 Mon Sep 17 00:00:00 2001 From: Karim Abou Zeid Date: Thu, 24 Dec 2015 21:57:31 +0100 Subject: [PATCH] Probably finally fixed the double notification bug. --- .../gramophone/helper/PlayingNotificationHelper.java | 6 ++++-- .../java/com/kabouzeid/gramophone/service/MusicService.java | 6 +++++- .../ui/activities/base/AbsSlidingMusicPanelActivity.java | 6 ++---- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/kabouzeid/gramophone/helper/PlayingNotificationHelper.java b/app/src/main/java/com/kabouzeid/gramophone/helper/PlayingNotificationHelper.java index ff2ea1a2..ea49ec31 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/helper/PlayingNotificationHelper.java +++ b/app/src/main/java/com/kabouzeid/gramophone/helper/PlayingNotificationHelper.java @@ -45,7 +45,7 @@ public class PlayingNotificationHelper { private final NotificationManager notificationManager; private Notification notification; - private int notificationId = hashCode(); + private int notificationId = 1; private RemoteViews notificationLayout; private RemoteViews notificationLayoutBig; @@ -262,7 +262,9 @@ public class PlayingNotificationHelper { if (notificationLayoutBig != null) { notificationLayoutBig.setImageViewResource(R.id.action_play_pause, playPauseRes); } - notificationManager.notify(notificationId, notification); + if (notification != null) { + notificationManager.notify(notificationId, notification); + } } private void setNotificationTextDark(boolean setDark) { diff --git a/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java b/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java index 5caea2ff..67d58191 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java +++ b/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java @@ -879,7 +879,11 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP break; case QUEUE_CHANGED: saveState(); - prepareNext(); + if (playingQueue.size() > 0) { + prepareNext(); + } else { + playingNotificationHelper.killNotification(); + } break; } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsSlidingMusicPanelActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsSlidingMusicPanelActivity.java index fa9de670..9f3a871b 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsSlidingMusicPanelActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsSlidingMusicPanelActivity.java @@ -153,14 +153,12 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi @Override public void run() { if (hide) { + playerFragment.onBackPressed(); slidingUpPanelLayout.setPanelHeight(0); - if (slidingUpPanelLayout.getPanelState() != SlidingUpPanelLayout.PanelState.COLLAPSED) { - slidingUpPanelLayout.setPanelState(SlidingUpPanelLayout.PanelState.COLLAPSED); - } + slidingUpPanelLayout.setPanelState(SlidingUpPanelLayout.PanelState.COLLAPSED); } else { slidingUpPanelLayout.setPanelHeight(getResources().getDimensionPixelSize(R.dimen.mini_player_height)); } - } }); }