mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-04 10:09:42 +00:00
bug 3639: generalizing how PassingInstruction values are offered and processed
Change-Id: If894f4f5250e927788bc90a5f382c149c539fd91
This commit is contained in:
1 parent
7f5d8ae024
commit
bd0b929505
4 files changed
+69
-18
No files matched your search
@@ -78,13 +78,14 @@
|
||||
<string name="pick_a_rounding_direction">Wenderichtung auswählen</string>
|
||||
<string name="select_penalty_reason">Strafe auswählen</string>
|
||||
|
||||
<string-array name="rounding_directions">
|
||||
<item>Backbord</item>
|
||||
<item>Steuerbord</item>
|
||||
<item>Gate</item>
|
||||
<item>Linie</item>
|
||||
<item>Ablauf</item>
|
||||
</string-array>
|
||||
<string name="passing_instruction_none">Leer</string>
|
||||
<string name="passing_instruction_port">Backbord</string>
|
||||
<string name="passing_instruction_starboard">Steuerbord</string>
|
||||
<string name="passing_instruction_single_unknown">Einzel, unbekannt</string>
|
||||
<string name="passing_instruction_gate">Gate</string>
|
||||
<string name="passing_instruction_line">Linie</string>
|
||||
<string name="passing_instruction_offset">Ablauf</string>
|
||||
<string name="passing_instruction_fixed_bearing">Feste Peilung</string>
|
||||
|
||||
<string name="publish">Veröffentlichen</string>
|
||||
<string name="unpublish">Zurücknehmen</string>
|
||||
|
||||
@@ -91,13 +91,14 @@
|
||||
<string name="pick_a_rounding_direction">Pick a rounding direction</string>
|
||||
<string name="select_penalty_reason">Select penalty reason</string>
|
||||
|
||||
<string-array name="rounding_directions">
|
||||
<item>Port</item>
|
||||
<item>Starboard</item>
|
||||
<item>Gate</item>
|
||||
<item>Line</item>
|
||||
<item>Offset</item>
|
||||
</string-array>
|
||||
<string name="passing_instruction_none">None</string>
|
||||
<string name="passing_instruction_port">Port</string>
|
||||
<string name="passing_instruction_starboard">Starboard</string>
|
||||
<string name="passing_instruction_single_unknown">Single, Unknown</string>
|
||||
<string name="passing_instruction_gate">Gate</string>
|
||||
<string name="passing_instruction_line">Line</string>
|
||||
<string name="passing_instruction_offset">Offset</string>
|
||||
<string name="passing_instruction_fixed_bearing">Fixed Bearing</string>
|
||||
|
||||
<string name="publish">Publish</string>
|
||||
<string name="unpublish">Unpublish</string>
|
||||
|
||||
+43
-1
@@ -453,7 +453,9 @@ public class CourseFragmentMarks extends CourseFragment implements CourseMarkAda
|
||||
|
||||
private void createPassingInstructionDialog(final CourseListDataElementWithIdImpl courseElement) {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity(), R.style.AppTheme_AlertDialog);
|
||||
builder.setTitle(R.string.pick_a_rounding_direction).setItems(R.array.rounding_directions, new DialogInterface.OnClickListener() {
|
||||
final PassingInstruction[] passingInstructionsRelevantForUserEntry = PassingInstruction.relevantValues();
|
||||
final CharSequence[] i18NPassingInstructions = getI18NPassingInstructions(passingInstructionsRelevantForUserEntry);
|
||||
builder.setTitle(R.string.pick_a_rounding_direction).setItems(i18NPassingInstructions, new DialogInterface.OnClickListener() {
|
||||
public void onClick(DialogInterface dialog, int position) {
|
||||
PassingInstruction pickedDirection = PassingInstruction.relevantValues()[position];
|
||||
onPassingInstructionPicked(courseElement, pickedDirection);
|
||||
@@ -462,6 +464,46 @@ public class CourseFragmentMarks extends CourseFragment implements CourseMarkAda
|
||||
builder.create().show();
|
||||
}
|
||||
|
||||
private CharSequence[] getI18NPassingInstructions(PassingInstruction[] passingInstructionsRelevantForUserEntry) {
|
||||
final CharSequence[] result = new CharSequence[passingInstructionsRelevantForUserEntry.length];
|
||||
int i=0;
|
||||
for (final PassingInstruction passingInstruction : passingInstructionsRelevantForUserEntry) {
|
||||
result[i++] = getI18NPassingInstruction(passingInstruction);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private CharSequence getI18NPassingInstruction(PassingInstruction passingInstruction) {
|
||||
CharSequence result = "";
|
||||
switch (passingInstruction) {
|
||||
case FixedBearing:
|
||||
result = getString(R.string.passing_instruction_fixed_bearing);
|
||||
break;
|
||||
case Gate:
|
||||
result = getString(R.string.passing_instruction_gate);
|
||||
break;
|
||||
case Line:
|
||||
result = getString(R.string.passing_instruction_line);
|
||||
break;
|
||||
case None:
|
||||
result = getString(R.string.passing_instruction_none);
|
||||
break;
|
||||
case Offset:
|
||||
result = getString(R.string.passing_instruction_offset);
|
||||
break;
|
||||
case Port:
|
||||
result = getString(R.string.passing_instruction_port);
|
||||
break;
|
||||
case Single_Unknown:
|
||||
result = getString(R.string.passing_instruction_single_unknown);
|
||||
break;
|
||||
case Starboard:
|
||||
result = getString(R.string.passing_instruction_starboard);
|
||||
break;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
protected void onPassingInstructionPicked(CourseListDataElementWithIdImpl courseElement, PassingInstruction pickedDirection) {
|
||||
courseElement.setPassingInstructions(pickedDirection);
|
||||
if (!PassingInstruction.Gate.equals(pickedDirection) && !PassingInstruction.Line.equals(pickedDirection)) {
|
||||
|
||||
Reference in new issue
Block a user