From 37527e17ccad94e5670583673da8987ede3285dd Mon Sep 17 00:00:00 2001 From: Adrian Ulrich Date: Wed, 4 Nov 2015 13:04:12 +0100 Subject: [PATCH] Relex callback barrier The PlaybackService will notify GUI elements about state changes. However: These callbacks are async and the gui may already have updated its own state, so the code checks for 'old' RPCs. This fails on fast devices, where click -> service -> state-change -> callback takes less than 1ms The new code relexes this and accepts messages with the same timestamp --- src/ch/blinkenlights/android/vanilla/PlaybackActivity.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ch/blinkenlights/android/vanilla/PlaybackActivity.java b/src/ch/blinkenlights/android/vanilla/PlaybackActivity.java index c9e8de1a..13143307 100644 --- a/src/ch/blinkenlights/android/vanilla/PlaybackActivity.java +++ b/src/ch/blinkenlights/android/vanilla/PlaybackActivity.java @@ -257,7 +257,7 @@ public abstract class PlaybackActivity extends Activity */ public void setState(long uptime, int state) { - if (uptime > mLastStateEvent) + if (uptime >= mLastStateEvent) setState(state); } @@ -311,7 +311,7 @@ public abstract class PlaybackActivity extends Activity */ public void setSong(long uptime, Song song) { - if (uptime > mLastSongEvent) + if (uptime >= mLastSongEvent) setSong(song); }