diff --git a/src/main/java/pl/llp/aircasting/screens/stream/graph/GraphActivity.java b/src/main/java/pl/llp/aircasting/screens/stream/graph/GraphActivity.java index 35679ba9..f97fb113 100644 --- a/src/main/java/pl/llp/aircasting/screens/stream/graph/GraphActivity.java +++ b/src/main/java/pl/llp/aircasting/screens/stream/graph/GraphActivity.java @@ -52,6 +52,7 @@ import java.util.ArrayList; import java.util.Date; +import java.util.concurrent.atomic.AtomicBoolean; import static com.google.common.collect.Iterables.getLast; import static com.google.common.collect.Lists.newArrayList; @@ -75,6 +76,8 @@ public class GraphActivity extends AirCastingActivity implements View.OnClickLis @Inject ViewingSessionsManager viewingSessionsManager; @Inject FormatHelper mFormatHelper; + final AtomicBoolean noUpdateInProgress = new AtomicBoolean(true); + @Override protected void onCreate(Bundle savedInstanceState) { @@ -186,9 +189,18 @@ public void onMeasurement(Measurement measurement) {} @Override public void updateGauges() { - double peak = measurementPresenter.getTimelinePeak(); - double avg = measurementPresenter.getTimelineAvg(); - mGaugeHelper.updateGaugesFromTimeline(peak, avg); + if (noUpdateInProgress.get()) { + noUpdateInProgress.set(false); + runOnUiThread(new Runnable() { + @Override + public void run() { + double peak = measurementPresenter.getTimelinePeak(); + double avg = measurementPresenter.getTimelineAvg(); + mGaugeHelper.updateGaugesFromTimeline(peak, avg); + noUpdateInProgress.set(true); + } + }); + } } private void refresh() {