mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-30 15:57:11 +00:00
added pathfinder functionality to ui. improved input behaviour a little bit.
This commit is contained in:
1 parent
d955b49ea7
commit
d9ab3c5379
9 files changed
+75
-11
No files matched your search
+2
@@ -14,4 +14,6 @@ public interface RaceStateChangedListener {
|
||||
void onIndividualRecallRemoval();
|
||||
|
||||
void onAutomaticRaceEnd(TimePoint automaticRaceEnd);
|
||||
|
||||
void onPathfinderSelected();
|
||||
}
|
||||
+11
-6
@@ -69,6 +69,7 @@ public class RaceStateImpl implements RaceState, RaceLogChangedListener {
|
||||
this.lastCourseDesignFinder = new LastPublishedCourseDesignFinder(raceLog);
|
||||
this.finishPositioningListFinder = new FinishPositioningListFinder(raceLog);
|
||||
this.individualRecallFinder = new IndividualRecallFinder(raceLog);
|
||||
this.pathfinderFinder = new PathfinderFinder(raceLog);
|
||||
updateStatus();
|
||||
}
|
||||
|
||||
@@ -276,17 +277,21 @@ public class RaceStateImpl implements RaceState, RaceLogChangedListener {
|
||||
|
||||
@Override
|
||||
public void setPathfinder(String sailingId) {
|
||||
|
||||
TimePoint eventTime = MillisecondsTimePoint.now();
|
||||
|
||||
RaceLogEvent event = RaceLogEventFactory.INSTANCE.createPathfinderEvent(eventTime, raceLog.getCurrentPassId(),
|
||||
sailingId);
|
||||
|
||||
/*RaceLogEvent event = RaceLogEventFactory.INSTANCE.createStartTimeEvent(eventTime, UUID.randomUUID(),
|
||||
Collections.<Competitor> emptyList(), raceLog.getCurrentPassId(), newStartTime);
|
||||
this.raceLog.add(event);*/
|
||||
|
||||
this.raceLog.add(event);
|
||||
|
||||
notifyListenersAboutPathFinderChange();
|
||||
}
|
||||
|
||||
private void notifyListenersAboutPathFinderChange() {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
for (RaceStateChangedListener listener : stateChangedListeners) {
|
||||
listener.onPathfinderSelected();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
+6
@@ -45,4 +45,10 @@ public class RaceStateListener implements RaceStateChangedListener {
|
||||
public void onAutomaticRaceEnd(TimePoint automaticRaceEnd) {
|
||||
service.handleAutomaticRaceEnd(race, automaticRaceEnd);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPathfinderSelected() {
|
||||
// do nothing
|
||||
|
||||
}
|
||||
}
|
||||
+8
@@ -25,6 +25,7 @@ import com.sap.sailing.racecommittee.app.logging.ExLog;
|
||||
import com.sap.sailing.racecommittee.app.ui.fragments.chooser.RaceInfoFragmentChooser;
|
||||
import com.sap.sailing.racecommittee.app.ui.fragments.dialogs.CourseDesignDialogFragment;
|
||||
import com.sap.sailing.racecommittee.app.ui.fragments.dialogs.IndividualRecallUiListener;
|
||||
import com.sap.sailing.racecommittee.app.ui.fragments.dialogs.PathfinderSelectedUiListener;
|
||||
import com.sap.sailing.racecommittee.app.ui.fragments.dialogs.RaceDialogFragment;
|
||||
import com.sap.sailing.racecommittee.app.ui.fragments.raceinfo.RaceInfoListener;
|
||||
import com.sap.sailing.racecommittee.app.ui.fragments.raceinfo.SetStartTimeRaceFragment;
|
||||
@@ -245,4 +246,11 @@ public class RaceInfoFragment extends RaceFragment implements RaceStateChangedLi
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPathfinderSelected() {
|
||||
if (infoFragment instanceof PathfinderSelectedUiListener) {
|
||||
((PathfinderSelectedUiListener) infoFragment).updatePathfinderLabel();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package com.sap.sailing.racecommittee.app.ui.fragments.dialogs;
|
||||
|
||||
public interface PathfinderSelectedUiListener {
|
||||
|
||||
public void updatePathfinderLabel();
|
||||
|
||||
}
|
||||
+23
-3
@@ -2,10 +2,14 @@ package com.sap.sailing.racecommittee.app.ui.fragments.dialogs;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.os.Bundle;
|
||||
import android.text.Editable;
|
||||
import android.text.TextWatcher;
|
||||
import android.util.Log;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.view.View.OnKeyListener;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
@@ -18,8 +22,6 @@ public class RaceChoosePathFinderDialog extends RaceDialogFragment {
|
||||
public void onPathfinderSelected();
|
||||
}
|
||||
|
||||
private PathfinderSelectionListener selectionListener;
|
||||
|
||||
private EditText sailingNationalityEditText;
|
||||
private EditText sailingNumberEditText;
|
||||
private Button chooseButton;
|
||||
@@ -43,6 +45,25 @@ public class RaceChoosePathFinderDialog extends RaceDialogFragment {
|
||||
|
||||
sailingNationalityEditText = (EditText) getView().findViewById(R.id.pathFinderNationality);
|
||||
sailingNumberEditText = (EditText) getView().findViewById(R.id.pathFinderNumber);
|
||||
|
||||
final EditText focusEditText = sailingNumberEditText;
|
||||
sailingNationalityEditText.addTextChangedListener(new TextWatcher() {
|
||||
|
||||
@Override
|
||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterTextChanged(Editable s) {
|
||||
if(s.length() == 3)
|
||||
focusEditText.requestFocus();
|
||||
}
|
||||
});
|
||||
|
||||
chooseButton = (Button) getDialog().findViewById(R.id.choosePathFinderButton);
|
||||
|
||||
chooseButton.setOnClickListener(new OnClickListener() {
|
||||
@@ -55,7 +76,6 @@ public class RaceChoosePathFinderDialog extends RaceDialogFragment {
|
||||
protected void onChooseClicked(View view) {
|
||||
String sailingId = sailingNationalityEditText.getText().toString() + " " + sailingNumberEditText.getText().toString();
|
||||
this.getRace().getState().setPathfinder(sailingId);
|
||||
selectionListener.onPathfinderSelected();
|
||||
Log.i("RACE_SET_PATHFINDER", sailingId);
|
||||
dismiss();
|
||||
}
|
||||
|
||||
+5
@@ -245,6 +245,11 @@ public class ManagedRaceListFragment extends ListFragment implements JuryFlagCli
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPathfinderSelected() {
|
||||
notifyDataChanged();
|
||||
}
|
||||
|
||||
/*
|
||||
*
|
||||
* public void notifyDataChanged() { List<RaceListDataType> list = adapter.getItems(); for (int i = 0; i <
|
||||
|
||||
+12
-1
@@ -25,13 +25,14 @@ import com.sap.sailing.racecommittee.app.domain.startprocedure.impl.GateStartPha
|
||||
import com.sap.sailing.racecommittee.app.logging.ExLog;
|
||||
import com.sap.sailing.racecommittee.app.ui.fragments.RaceFragment;
|
||||
import com.sap.sailing.racecommittee.app.ui.fragments.dialogs.AbortModeSelectionDialog;
|
||||
import com.sap.sailing.racecommittee.app.ui.fragments.dialogs.PathfinderSelectedUiListener;
|
||||
import com.sap.sailing.racecommittee.app.ui.fragments.dialogs.RaceChooseLineOpeningTimeDialog;
|
||||
import com.sap.sailing.racecommittee.app.ui.fragments.dialogs.RaceChoosePathFinderDialog;
|
||||
import com.sap.sailing.racecommittee.app.ui.fragments.dialogs.RaceDialogFragment;
|
||||
import com.sap.sailing.racecommittee.app.ui.fragments.raceinfo.RaceInfoListener;
|
||||
import com.sap.sailing.racecommittee.app.utils.TimeUtils;
|
||||
|
||||
public class GateStartPhaseFragment extends RaceFragment implements GateStartPhaseEventListener {
|
||||
public class GateStartPhaseFragment extends RaceFragment implements GateStartPhaseEventListener, PathfinderSelectedUiListener {
|
||||
|
||||
private RaceInfoListener infoListener;
|
||||
|
||||
@@ -94,6 +95,9 @@ public class GateStartPhaseFragment extends RaceFragment implements GateStartPha
|
||||
pathFinderButton = (Button) getView().findViewById(R.id.pathFinderButton);
|
||||
lineOpeningTimeButton = (Button) getView().findViewById(R.id.lineOpeningTimeButton);
|
||||
pathfinderLabel = (TextView) getView().findViewById(R.id.pathfinderLabel);
|
||||
if(getRace().getState().getPathfinder()!=null){
|
||||
pathfinderLabel.setText(getRace().getState().getPathfinder());
|
||||
}
|
||||
lineOpeningTimeLabel = (TextView) getView().findViewById(R.id.lineOpeningTimeLabel);
|
||||
|
||||
pathFinderButton.setOnClickListener(new OnClickListener() {
|
||||
@@ -254,4 +258,11 @@ public class GateStartPhaseFragment extends RaceFragment implements GateStartPha
|
||||
public void onPapaDown() {
|
||||
displayedFlag.setImageResource(R.drawable.fivehundred_five_over_golf_flag);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updatePathfinderLabel() {
|
||||
if(getRace().getState().getPathfinder()!=null){
|
||||
pathfinderLabel.setText(getRace().getState().getPathfinder());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user