From b9af09ba5d7f847a90f9b2e86228ecb18e3cb160 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 22 Feb 2012 20:02:06 +0100 Subject: [PATCH] fixed live button enablement --- .../com/sap/sailing/gwt/ui/client/RaceTimePanel.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/RaceTimePanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/RaceTimePanel.java index 7c72fe697e2..273080195bc 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/RaceTimePanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/RaceTimePanel.java @@ -94,7 +94,9 @@ public class RaceTimePanel extends TimePanel implements R if (raceTimesInfo.startOfTracking != null && raceTimesInfo.timePointOfNewestEvent != null) { // we set here the min and max of the time slider, the start and end of the race as well as the known // leg markers - setLiveGenerallyPossible(isLiveModeToBeMadePossible()); + boolean liveModeToBeMadePossible = isLiveModeToBeMadePossible(); + setLiveGenerallyPossible(liveModeToBeMadePossible); + setJumpToLiveEnablement(liveModeToBeMadePossible && timer.getPlayMode() != PlayModes.Live); boolean timerAlreadyInitialized = getMin() != null && getMax() != null && sliderBar.getCurrentValue() != null; initMinMax(raceTimesInfo); if (!timerAlreadyInitialized) { @@ -113,8 +115,11 @@ public class RaceTimePanel extends TimePanel implements R long livePlayDelayInMillis = timer.getLivePlayDelayInMillis(); long eventTimeoutTolerance = 30 * 1000; // 30s long liveTimePointInMillis = System.currentTimeMillis() - livePlayDelayInMillis; - return (liveTimePointInMillis < lastRaceTimesInfo.timePointOfNewestEvent.getTime() + eventTimeoutTolerance - && liveTimePointInMillis > lastRaceTimesInfo.startOfTracking.getTime()); + return lastRaceTimesInfo != null && + lastRaceTimesInfo.timePointOfNewestEvent != null && + liveTimePointInMillis < lastRaceTimesInfo.timePointOfNewestEvent.getTime() + eventTimeoutTolerance && + lastRaceTimesInfo.startOfTracking != null && + liveTimePointInMillis > lastRaceTimesInfo.startOfTracking.getTime(); } @Override