mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-30 15:57:11 +00:00
# DetailFragment is only changed when there is a real change
# EssStartPhaseFragment recovers its own ui state
This commit is contained in:
1 parent
287c198f08
commit
1a847490f2
2 files changed
+34
-1
No files matched your search
+4
-1
@@ -105,7 +105,10 @@ public class RaceInfoFragment extends RaceFragment implements RaceStateChangedLi
|
||||
}
|
||||
|
||||
protected void switchToInfoFragment() {
|
||||
switchToInfoFragment(infoFragmentChooser.choose(getRace()));
|
||||
RaceFragment newInfoFragment = infoFragmentChooser.choose(getRace());
|
||||
if (infoFragment == null || !newInfoFragment.getClass().equals(infoFragment.getClass())) {
|
||||
switchToInfoFragment(newInfoFragment);
|
||||
}
|
||||
}
|
||||
|
||||
protected void switchToInfoFragment(RaceFragment choosenFragment) {
|
||||
|
||||
+30
@@ -12,9 +12,13 @@ import android.widget.ImageButton;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.sap.sailing.domain.base.impl.MillisecondsTimePoint;
|
||||
import com.sap.sailing.domain.common.TimePoint;
|
||||
import com.sap.sailing.domain.common.impl.Util.Pair;
|
||||
import com.sap.sailing.domain.common.racelog.Flags;
|
||||
import com.sap.sailing.domain.racelog.RaceLog;
|
||||
import com.sap.sailing.domain.racelog.RaceLogEvent;
|
||||
import com.sap.sailing.domain.racelog.RaceLogFlagEvent;
|
||||
import com.sap.sailing.racecommittee.app.AppConstants;
|
||||
import com.sap.sailing.racecommittee.app.R;
|
||||
import com.sap.sailing.racecommittee.app.domain.startprocedure.impl.EssStartPhaseEventListener;
|
||||
@@ -81,6 +85,32 @@ public class EssStartPhaseFragment extends RaceFragment implements EssStartPhase
|
||||
infoListener.onResetTime();
|
||||
}
|
||||
});
|
||||
|
||||
setupUi();
|
||||
}
|
||||
|
||||
private void setupUi() {
|
||||
RaceLog log = getRace().getState().getRaceLog();
|
||||
log.lockForRead();
|
||||
try {
|
||||
RaceLogEvent lastEvent = log.getLastFixAtOrBefore(MillisecondsTimePoint.now());
|
||||
if (lastEvent instanceof RaceLogFlagEvent) {
|
||||
RaceLogFlagEvent flagEvent = (RaceLogFlagEvent) lastEvent;
|
||||
Flags flag = flagEvent.getUpperFlag();
|
||||
|
||||
if (!flagEvent.isDisplayed() && flag.equals(Flags.AP)) {
|
||||
onAPDown();
|
||||
} else if (flagEvent.isDisplayed() && flag.equals(Flags.ESSTHREE)) {
|
||||
onEssThreeUp();
|
||||
} else if (flagEvent.isDisplayed() && flag.equals(Flags.ESSTWO)) {
|
||||
onEssTwoUp();
|
||||
} else if (flagEvent.isDisplayed() && flag.equals(Flags.ESSONE)) {
|
||||
onEssOneUp();
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
log.unlockAfterRead();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in new issue
Block a user