mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-16 10:48:47 +00:00
bug6251: correct behavior of global and local start tracking button is implemented
This commit is contained in:
+4
-1
@@ -61,7 +61,10 @@ public class RaceLogTrackingEventManagementRaceImagesBarCell extends ImagesBarCe
|
||||
result.add(new ImageSpec(ACTION_SET_TRACKING_TIMES, stringMessages.setTrackingTimes(), makeImagePrototype(resources.setTrackingTimes())));
|
||||
final boolean trackerExists = object.getA().getRaceLogTrackingInfo(object.getB()).raceLogTrackerExists;
|
||||
final RaceLogTrackingState trackingState = object.getA().getRaceLogTrackingInfo(object.getB()).raceLogTrackingState;
|
||||
if (trackingState == RaceLogTrackingState.AWAITING_RACE_DEFINITION || (trackingState == RaceLogTrackingState.TRACKING && !trackerExists)) {
|
||||
// bug6251: also suppress "Start Tracking" when a tracked race is already linked to the slot (e.g. FINISHED after
|
||||
// stopping tracking) — starting would fail on the server because the tracked race would need to be removed first.
|
||||
final boolean trackedRaceLinked = object.getA().isTrackedRace(object.getB());
|
||||
if (!trackedRaceLinked && (trackingState == RaceLogTrackingState.AWAITING_RACE_DEFINITION || (trackingState == RaceLogTrackingState.TRACKING && !trackerExists))) {
|
||||
result.add(new ImageSpec(ACTION_START_TRACKING, stringMessages.startTracking(), makeImagePrototype(resources.startRaceLogTracking())));
|
||||
} else if (trackingState == RaceLogTrackingState.TRACKING && trackerExists) {
|
||||
result.add(new ImageSpec(ACTION_STOP_TRACKING, stringMessages.stopTracking(), makeImagePrototype(resources.stopRaceLogTracking())));
|
||||
|
||||
+5
@@ -602,6 +602,11 @@ public class SmartphoneTrackingEventManagementPanel extends AbstractLeaderboardC
|
||||
} else if (!getTrackingState(race).isForTracking()) {
|
||||
allCanStart = false;
|
||||
allCanStop = false;
|
||||
// bug6251: a linked tracked race (e.g. FINISHED) has no active tracker but cannot be tracked again
|
||||
// until the existing tracked race is removed first — disable "Start Tracking" in that case.
|
||||
} else if (race.getA().isTrackedRace(race.getB())) {
|
||||
allCanStart = false;
|
||||
allCanStop = false;
|
||||
} else {
|
||||
allCanStop = false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user