From bf36151a4a610da2dfaacfa93c770456e9ef2389 Mon Sep 17 00:00:00 2001 From: Fabian Tschirschnitz Date: Mon, 13 May 2013 01:38:59 +0200 Subject: [PATCH] fixed bug in individual recall of ess startprocedure. xray can not be displayed several times anymore. --- .../ExtremeSailingSeriesStartProcedure.java | 13 ++++++++++++- .../raceinfo/EssRunningRaceFragment.java | 19 ++++++++++++++++--- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/domain/startprocedure/impl/ExtremeSailingSeriesStartProcedure.java b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/domain/startprocedure/impl/ExtremeSailingSeriesStartProcedure.java index d9a52be6c28..711df82d7e6 100644 --- a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/domain/startprocedure/impl/ExtremeSailingSeriesStartProcedure.java +++ b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/domain/startprocedure/impl/ExtremeSailingSeriesStartProcedure.java @@ -316,7 +316,18 @@ public class ExtremeSailingSeriesStartProcedure implements StartProcedure { } return true; } - else return false; + return false; + } + + public boolean getIndividualRecallRemoved() { + if(this.individualRecallFinder.getIndividualRecallDisplayedTime()!=null){ + if(this.individualRecallFinder.getIndividualRecallDisplayedRemovalTime()!=null){ + if(this.individualRecallFinder.getIndividualRecallDisplayedRemovalTime().after(this.individualRecallFinder.getIndividualRecallDisplayedTime())){ + return true; + } + } + } + return false; } @Override diff --git a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/EssRunningRaceFragment.java b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/EssRunningRaceFragment.java index 47c2626ede7..d54a1d8a75d 100644 --- a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/EssRunningRaceFragment.java +++ b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/EssRunningRaceFragment.java @@ -30,6 +30,7 @@ public class EssRunningRaceFragment extends RaceFragment implements EssRunningRa private ImageView individualRecallFlag; private TextView individualRecallLabel; ImageButton abortingFlagButton; + ImageButton individualRecallButton; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { @@ -67,7 +68,7 @@ public class EssRunningRaceFragment extends RaceFragment implements EssRunningRa }); - ImageButton individualRecallButton = (ImageButton) getView().findViewById(R.id.individualRecallButton); + individualRecallButton = (ImageButton) getView().findViewById(R.id.individualRecallButton); individualRecallButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { TimePoint now = MillisecondsTimePoint.now(); @@ -81,6 +82,16 @@ public class EssRunningRaceFragment extends RaceFragment implements EssRunningRa } } }); + + if (getRace().getState().getStartProcedure() instanceof ExtremeSailingSeriesStartProcedure) { + ExtremeSailingSeriesStartProcedure essStartProcedure = ((ExtremeSailingSeriesStartProcedure) getRace() + .getState().getStartProcedure()); + if (essStartProcedure.getIndividualRecallDisplayed()) { + setIndividualRecallDisplayedInView(); + } else if(essStartProcedure.getIndividualRecallRemoved()){ + setIndividualRecallRemovedInView(); + } + } } private void showDisplayGeneralRecallDialog() { @@ -186,8 +197,10 @@ public class EssRunningRaceFragment extends RaceFragment implements EssRunningRa private void setIndividualRecallRemovedInView() { moveImageDown(individualRecallFlag); //setXrayCountdownLabel(); - String setIndividualRecallUp = getActivity().getResources().getString(R.string.choose_xray_flag_up); - individualRecallLabel.setText(setIndividualRecallUp); + //String setIndividualRecallUp = getActivity().getResources().getString(R.string.choose_xray_flag_up); + //individualRecallLabel.setText(setIndividualRecallUp); + individualRecallLabel.setVisibility(View.GONE); + individualRecallButton.setVisibility(View.GONE); } protected void moveImageUp(ImageView image) {