Probably finally fixed the double notification bug.

This commit is contained in:
Karim Abou Zeid 2015-12-24 21:57:31 +01:00
commit ee1e0d4267
3 changed files with 11 additions and 7 deletions

View file

@ -45,7 +45,7 @@ public class PlayingNotificationHelper {
private final NotificationManager notificationManager; private final NotificationManager notificationManager;
private Notification notification; private Notification notification;
private int notificationId = hashCode(); private int notificationId = 1;
private RemoteViews notificationLayout; private RemoteViews notificationLayout;
private RemoteViews notificationLayoutBig; private RemoteViews notificationLayoutBig;
@ -262,8 +262,10 @@ public class PlayingNotificationHelper {
if (notificationLayoutBig != null) { if (notificationLayoutBig != null) {
notificationLayoutBig.setImageViewResource(R.id.action_play_pause, playPauseRes); notificationLayoutBig.setImageViewResource(R.id.action_play_pause, playPauseRes);
} }
if (notification != null) {
notificationManager.notify(notificationId, notification); notificationManager.notify(notificationId, notification);
} }
}
private void setNotificationTextDark(boolean setDark) { private void setNotificationTextDark(boolean setDark) {
isDark = setDark; isDark = setDark;

View file

@ -879,7 +879,11 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP
break; break;
case QUEUE_CHANGED: case QUEUE_CHANGED:
saveState(); saveState();
if (playingQueue.size() > 0) {
prepareNext(); prepareNext();
} else {
playingNotificationHelper.killNotification();
}
break; break;
} }
} }

View file

@ -153,14 +153,12 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
@Override @Override
public void run() { public void run() {
if (hide) { if (hide) {
playerFragment.onBackPressed();
slidingUpPanelLayout.setPanelHeight(0); slidingUpPanelLayout.setPanelHeight(0);
if (slidingUpPanelLayout.getPanelState() != SlidingUpPanelLayout.PanelState.COLLAPSED) {
slidingUpPanelLayout.setPanelState(SlidingUpPanelLayout.PanelState.COLLAPSED); slidingUpPanelLayout.setPanelState(SlidingUpPanelLayout.PanelState.COLLAPSED);
}
} else { } else {
slidingUpPanelLayout.setPanelHeight(getResources().getDimensionPixelSize(R.dimen.mini_player_height)); slidingUpPanelLayout.setPanelHeight(getResources().getDimensionPixelSize(R.dimen.mini_player_height));
} }
} }
}); });
} }