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 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) {

View file

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

View file

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