mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-10 14:20:55 +00:00
Merge branch 'master' into bug2977
Conflicts: java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/state/racingprocedure/impl/BaseRacingProcedure.java
This commit is contained in:
commit
09013efb0c
105 files changed
+933
-520
No files matched your search
@@ -24,10 +24,19 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_margin="@dimen/default_margin_half"
|
||||
android:layout_marginTop="@dimen/default_margin_half"
|
||||
android:text="@string/finishing_started"
|
||||
android:textAppearance="?textNormal"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/first_vessel_since"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginBottom="@dimen/default_margin_half"
|
||||
android:text="@string/finishing_started_since"
|
||||
android:textAppearance="?textNormal"/>
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
@@ -353,7 +353,8 @@
|
||||
<string name="race_summary_wind_direction_value">aus %.0f°</string>
|
||||
<string name="race_summary_wind_speed">Durchschnittliche Windgeschwindigkeit</string>
|
||||
<string name="record_voice">Stimme aufzeichnen</string>
|
||||
<string name="finishing_started">Erstes Schiff im Ziel um #TIME#</string>
|
||||
<string name="finishing_started">Erstes Schiff im Ziel um %s</string>
|
||||
<string name="finishing_started_since">(%s)</string>
|
||||
<string name="finishing_done">Jetzt runter</string>
|
||||
<string name="finished_edit">Liste bearbeiten</string>
|
||||
<string name="finished_list">Zielliste</string>
|
||||
|
||||
@@ -370,7 +370,8 @@
|
||||
<string name="race_summary_individual_recalls">Individual Recalls</string>
|
||||
<string name="race_summary_time" translatable="false">%s min</string>
|
||||
<string name="record_voice">Record Voice</string>
|
||||
<string name="finishing_started">First vessel in finish at #TIME#</string>
|
||||
<string name="finishing_started">First vessel in finish at %s</string>
|
||||
<string name="finishing_started_since">(%s)</string>
|
||||
<string name="finishing_done">Down now</string>
|
||||
|
||||
<string name="finished_recording">Recording</string>
|
||||
|
||||
+23
-18
@@ -16,6 +16,7 @@ import com.sap.sailing.racecommittee.app.ui.activities.PreferenceActivity;
|
||||
import com.sap.sailing.racecommittee.app.ui.activities.SettingsActivity;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -109,54 +110,58 @@ public class RegattaPreferenceFragment extends BasePreferenceFragment {
|
||||
private void setupRacingProcedureTypePreference() {
|
||||
final ListPreference startProcedurePreference = findPreference(R.string.preference_racing_procedure_override_key);
|
||||
|
||||
List<CharSequence> entries = new ArrayList<CharSequence>();
|
||||
List<CharSequence> entryValues = new ArrayList<CharSequence>();
|
||||
List<String> entries = new ArrayList<>();
|
||||
List<String> entryValues = new ArrayList<>();
|
||||
for (RacingProcedureType type : RacingProcedureType.validValues()) {
|
||||
entries.add(type.toString());
|
||||
entryValues.add(type.name());
|
||||
}
|
||||
|
||||
startProcedurePreference.setEntries(entries.toArray(new CharSequence[entries.size()]));
|
||||
startProcedurePreference.setEntryValues(entryValues.toArray(new CharSequence[entryValues.size()]));
|
||||
startProcedurePreference.setEntries(entries.toArray(new String[entries.size()]));
|
||||
startProcedurePreference.setEntryValues(entryValues.toArray(new String[entryValues.size()]));
|
||||
|
||||
bindPreferenceSummaryToValue(startProcedurePreference);
|
||||
}
|
||||
|
||||
private void setupCourseDesignerTypePreference() {
|
||||
final ListPreference courseDesignerPreference = findPreference(R.string.preference_course_designer_override_key);
|
||||
final ListPreference preference = findPreference(R.string.preference_course_designer_override_key);
|
||||
|
||||
List<CharSequence> entries = new ArrayList<CharSequence>();
|
||||
List<CharSequence> entryValues = new ArrayList<CharSequence>();
|
||||
List<String> entries = new ArrayList<>();
|
||||
List<String> entryValues = new ArrayList<>();
|
||||
for (CourseDesignerMode type : CourseDesignerMode.validValues()) {
|
||||
entries.add(type.toString());
|
||||
entryValues.add(type.name());
|
||||
}
|
||||
|
||||
courseDesignerPreference.setEntries(entries.toArray(new CharSequence[0]));
|
||||
courseDesignerPreference.setEntryValues(entryValues.toArray(new CharSequence[0]));
|
||||
preference.setEntries(entries.toArray(new String[entries.size()]));
|
||||
preference.setEntryValues(entryValues.toArray(new String[entryValues.size()]));
|
||||
|
||||
bindPreferenceSummaryToValue(courseDesignerPreference);
|
||||
bindPreferenceSummaryToValue(preference);
|
||||
}
|
||||
|
||||
private void setupRRS26StartmodeFlagsList() {
|
||||
MultiSelectListPreference listPreference = findPreference(R.string.preference_racing_procedure_rrs26_startmode_flags_key);
|
||||
List<String> flags = new ArrayList<String>();
|
||||
MultiSelectListPreference preference = findPreference(R.string.preference_racing_procedure_rrs26_startmode_flags_key);
|
||||
List<String> flags = new ArrayList<>();
|
||||
for (Flags flag : Flags.validValues()) {
|
||||
flags.add(flag.name());
|
||||
}
|
||||
listPreference.setEntries(flags.toArray(new String[flags.size()]));
|
||||
listPreference.setEntryValues(flags.toArray(new String[flags.size()]));
|
||||
|
||||
Collections.sort(flags);
|
||||
preference.setEntries(flags.toArray(new String[flags.size()]));
|
||||
preference.setEntryValues(flags.toArray(new String[flags.size()]));
|
||||
}
|
||||
|
||||
private void setupClassFlagList(ListPreference preference) {
|
||||
List<CharSequence> entries = new ArrayList<CharSequence>();
|
||||
List<CharSequence> entryValues = new ArrayList<CharSequence>();
|
||||
List<String> entries = new ArrayList<>();
|
||||
List<String> entryValues = new ArrayList<>();
|
||||
for (Flags flag : Flags.validValues()) {
|
||||
entries.add(flag.toString());
|
||||
entryValues.add(flag.name());
|
||||
}
|
||||
|
||||
preference.setEntries(entries.toArray(new CharSequence[entries.size()]));
|
||||
preference.setEntryValues(entryValues.toArray(new CharSequence[entryValues.size()]));
|
||||
Collections.sort(entries);
|
||||
Collections.sort(entryValues);
|
||||
preference.setEntries(entries.toArray(new String[entries.size()]));
|
||||
preference.setEntryValues(entryValues.toArray(new String[entryValues.size()]));
|
||||
}
|
||||
}
|
||||
+23
-7
@@ -1,7 +1,5 @@
|
||||
package com.sap.sailing.racecommittee.app.ui.fragments.raceinfo;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.view.LayoutInflater;
|
||||
@@ -10,14 +8,21 @@ import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.sap.sailing.android.shared.util.ViewHolder;
|
||||
import com.sap.sailing.domain.common.racelog.Flags;
|
||||
import com.sap.sailing.racecommittee.app.R;
|
||||
import com.sap.sailing.racecommittee.app.ui.utils.FlagsResources;
|
||||
import com.sap.sailing.racecommittee.app.utils.TimeUtils;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
|
||||
public class RaceFinishingFragment extends BaseFragment {
|
||||
|
||||
private SimpleDateFormat mDateFormat;
|
||||
private TextView mFinishingSince;
|
||||
|
||||
public static RaceFinishingFragment newInstance() {
|
||||
RaceFinishingFragment fragment = new RaceFinishingFragment();
|
||||
Bundle args = new Bundle();
|
||||
@@ -30,6 +35,9 @@ public class RaceFinishingFragment extends BaseFragment {
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
View layout = inflater.inflate(R.layout.race_finishing, container, false);
|
||||
|
||||
mDateFormat = new SimpleDateFormat("HH:mm:ss", getResources().getConfiguration().locale);
|
||||
mFinishingSince = ViewHolder.get(layout, R.id.first_vessel_since);
|
||||
|
||||
ImageView flag = ViewHolder.get(layout, R.id.flag);
|
||||
if (flag != null) {
|
||||
flag.setImageDrawable(FlagsResources.getFlagDrawable(getActivity(), Flags.BLUE.name(), 96));
|
||||
@@ -55,11 +63,19 @@ public class RaceFinishingFragment extends BaseFragment {
|
||||
if (getView() != null) {
|
||||
TextView first_vessel = ViewHolder.get(getView(), R.id.first_vessel);
|
||||
if (first_vessel != null && getRaceState() != null && getRaceState().getFinishingTime() != null) {
|
||||
String vessel_time = getString(R.string.finishing_started);
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss", getResources().getConfiguration().locale);
|
||||
vessel_time = vessel_time.replace("#TIME#", dateFormat.format(getRaceState().getFinishingTime().asDate()));
|
||||
first_vessel.setText(vessel_time);
|
||||
first_vessel.setText(getString(R.string.finishing_started, mDateFormat.format(getRaceState().getFinishingTime().asDate())));
|
||||
}
|
||||
}
|
||||
notifyTick(MillisecondsTimePoint.now());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void notifyTick(TimePoint now) {
|
||||
super.notifyTick(now);
|
||||
|
||||
if (mFinishingSince != null) {
|
||||
String timeDiff = TimeUtils.formatDurationSince(now.minus(getRaceState().getFinishingTime().asMillis()).asMillis());
|
||||
mFinishingSince.setText(getString(R.string.finishing_started_since, timeDiff));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user