From 07ccab3616cbc3bd89d5b6d8e53fa3dd34a1b49f Mon Sep 17 00:00:00 2001 From: Adrian Ulrich Date: Fri, 14 Aug 2015 17:46:26 +0200 Subject: [PATCH] update playcounts in background thread --- src/ch/blinkenlights/android/vanilla/PlaybackService.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/ch/blinkenlights/android/vanilla/PlaybackService.java b/src/ch/blinkenlights/android/vanilla/PlaybackService.java index a733c094..a66113f4 100644 --- a/src/ch/blinkenlights/android/vanilla/PlaybackService.java +++ b/src/ch/blinkenlights/android/vanilla/PlaybackService.java @@ -1303,7 +1303,8 @@ public final class PlaybackService extends Service // Count this song as played Song song = mTimeline.getSong(0); - mPlayCounts.countSong(song); + mHandler.sendMessage(mHandler.obtainMessage(MSG_UPDATE_PLAYCOUNTS, song)); + if (finishAction(mState) == SongTimeline.FINISH_REPEAT_CURRENT) { setCurrentSong(0); @@ -1409,6 +1410,7 @@ public final class PlaybackService extends Service private static final int PROCESS_STATE = 14; private static final int SKIP_BROKEN_SONG = 15; private static final int GAPLESS_UPDATE = 16; + private static final int MSG_UPDATE_PLAYCOUNTS = 17; @Override public boolean handleMessage(Message message) @@ -1472,6 +1474,10 @@ public final class PlaybackService extends Service case GAPLESS_UPDATE: triggerGaplessUpdate(); break; + case MSG_UPDATE_PLAYCOUNTS: + Song song = (Song)message.obj; + mPlayCounts.countSong(song); + break; default: return false; }