diff --git a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/analyzing/test/ConfirmedFinishPositioningListFinderTest.java b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/analyzing/test/ConfirmedFinishPositioningListFinderTest.java index bada0503c17..178e8dc026d 100644 --- a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/analyzing/test/ConfirmedFinishPositioningListFinderTest.java +++ b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/analyzing/test/ConfirmedFinishPositioningListFinderTest.java @@ -2,19 +2,25 @@ package com.sap.sailing.domain.racelog.analyzing.test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; -import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; import org.junit.Test; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; +import com.sap.sailing.domain.abstractlog.race.CompetitorResult; import com.sap.sailing.domain.abstractlog.race.CompetitorResults; import com.sap.sailing.domain.abstractlog.race.RaceLog; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogFinishPositioningConfirmedEvent; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.ConfirmedFinishPositioningListFinder; +import com.sap.sailing.domain.abstractlog.race.impl.CompetitorResultImpl; +import com.sap.sailing.domain.abstractlog.race.impl.CompetitorResultsImpl; +import com.sap.sailing.domain.common.MaxPointsReason; +import com.sap.sse.common.Util; public class ConfirmedFinishPositioningListFinderTest extends PassAwareRaceLogAnalyzerTest { @@ -27,9 +33,17 @@ public class ConfirmedFinishPositioningListFinderTest extends @Override protected TargetPair getTargetEventsAndResultForPassAwareTests(int passId, AbstractLogEventAuthor author) { RaceLogFinishPositioningConfirmedEvent event = createEvent(RaceLogFinishPositioningConfirmedEvent.class, 1, passId, author); - when(event.getPositionedCompetitorsIDsNamesMaxPointsReasons()).thenReturn(mock(CompetitorResults.class)); + when(event.getPositionedCompetitorsIDsNamesMaxPointsReasons()).thenReturn(mockCompetitorResults()); return new TargetPair(Arrays.asList(event), event.getPositionedCompetitorsIDsNamesMaxPointsReasons()); } + + private CompetitorResults mockCompetitorResults(CompetitorResult... results) { + final CompetitorResultsImpl result = new CompetitorResultsImpl(); + for (final CompetitorResult r : results) { + result.add(r); + } + return result; + } @Test public void testNullForNone() { @@ -42,11 +56,58 @@ public class ConfirmedFinishPositioningListFinderTest extends public void testMostRecent() { RaceLogFinishPositioningConfirmedEvent event1 = createEvent(RaceLogFinishPositioningConfirmedEvent.class, 1); RaceLogFinishPositioningConfirmedEvent event2 = createEvent(RaceLogFinishPositioningConfirmedEvent.class, 2); - when(event2.getPositionedCompetitorsIDsNamesMaxPointsReasons()).thenReturn(mock(CompetitorResults.class)); - + final CompetitorResultImpl oldResultC1 = new CompetitorResultImpl("Comp1", "Comp 1", 1, MaxPointsReason.NONE, 1.0, /* finishing time */ null, /* comment */ null); + final CompetitorResultImpl oldResultC2 = new CompetitorResultImpl("Comp2", "Comp 2", 2, MaxPointsReason.NONE, 2.0, /* finishing time */ null, /* comment */ null); + final CompetitorResults olderResults = mockCompetitorResults(oldResultC1, oldResultC2); + final CompetitorResultImpl newResultC2 = new CompetitorResultImpl("Comp2", "Comp 2", 2, MaxPointsReason.DNF, 3.0, /* finishing time */ null, /* comment */ null); + final CompetitorResults newerResults = mockCompetitorResults(newResultC2); + when(event1.getPositionedCompetitorsIDsNamesMaxPointsReasons()).thenReturn(olderResults); + when(event2.getPositionedCompetitorsIDsNamesMaxPointsReasons()).thenReturn(newerResults); raceLog.add(event1); raceLog.add(event2); + assertCompetitorResultsEquals(mockCompetitorResults(oldResultC1, newResultC2), analyzer.analyze()); + } + + @Test + public void testMixtureOfPartialResultsOfDifferentPriority() { + RaceLogFinishPositioningConfirmedEvent event1 = createEvent(/* priority */ 1, RaceLogFinishPositioningConfirmedEvent.class, 1); + RaceLogFinishPositioningConfirmedEvent event2 = createEvent(/* priority */ 1, RaceLogFinishPositioningConfirmedEvent.class, 2); + RaceLogFinishPositioningConfirmedEvent event3 = createEvent(/* priority */ 2, RaceLogFinishPositioningConfirmedEvent.class, 3); + RaceLogFinishPositioningConfirmedEvent event4 = createEvent(/* priority */ 1, RaceLogFinishPositioningConfirmedEvent.class, 4); + final CompetitorResultImpl e1ResultC1 = new CompetitorResultImpl("Comp1", "Comp 1", 1, MaxPointsReason.DNC, 6.0, /* finishing time */ null, /* comment */ null); + final CompetitorResultImpl e1ResultC2 = new CompetitorResultImpl("Comp2", "Comp 2", 2, MaxPointsReason.NONE, 2.0, /* finishing time */ null, /* comment */ null); + final CompetitorResults e1Results = mockCompetitorResults(e1ResultC1, e1ResultC2); + final CompetitorResultImpl e2ResultC2 = new CompetitorResultImpl("Comp2", "Comp 2", 2, MaxPointsReason.DNF, 3.0, /* finishing time */ null, /* comment */ null); + final CompetitorResults e2Results = mockCompetitorResults(e2ResultC2); + final CompetitorResultImpl e3ResultC2 = new CompetitorResultImpl("Comp2", "Comp 2", 2, MaxPointsReason.DSQ, 6.0, /* finishing time */ null, /* comment */ null); + final CompetitorResultImpl e3ResultC3 = new CompetitorResultImpl("Comp3", "Comp 3", 2, MaxPointsReason.DNF, 3.0, /* finishing time */ null, /* comment */ null); + final CompetitorResults e3Results = mockCompetitorResults(e3ResultC2, e3ResultC3); + final CompetitorResultImpl e4ResultC1 = new CompetitorResultImpl("Comp1", "Comp 1", 1, /* maxPointsReason */ null, /* score */ null, /* finishing time */ null, /* comment */ null); + final CompetitorResultImpl e4ResultC4 = new CompetitorResultImpl("Comp4", "Comp 4", 2, MaxPointsReason.DNF, 3.0, /* finishing time */ null, /* comment */ null); + final CompetitorResults e4Results = mockCompetitorResults(e4ResultC1, e4ResultC4); + when(event1.getPositionedCompetitorsIDsNamesMaxPointsReasons()).thenReturn(e1Results); + when(event2.getPositionedCompetitorsIDsNamesMaxPointsReasons()).thenReturn(e2Results); + when(event3.getPositionedCompetitorsIDsNamesMaxPointsReasons()).thenReturn(e3Results); + when(event4.getPositionedCompetitorsIDsNamesMaxPointsReasons()).thenReturn(e4Results); + // insert in more or less random order + raceLog.add(event4); + raceLog.add(event2); + raceLog.add(event1); + raceLog.add(event3); + // e1ResultC1 is expected to be overruled by e4ResultC1 because the latter has the same priority and comes later + // e1ResultC2 is expected to be overruled by e2ResultC2 due to same priority but later time; and e3ResultC2 has less priority + // e3ResultC3 and e4ResultC4 stand by themselves; they are not overruled by anything + assertCompetitorResultsEquals(mockCompetitorResults(e4ResultC1, e2ResultC2, e3ResultC3, e4ResultC4), analyzer.analyze()); + } - assertEquals(event2.getPositionedCompetitorsIDsNamesMaxPointsReasons(), analyzer.analyze()); + /** + * Results are considered equal if they contain equal sets of {@link CompetitorResult}s. + */ + private void assertCompetitorResultsEquals(CompetitorResults o1, CompetitorResults o2) { + Set o1Results = new HashSet<>(); + Util.addAll(o1, o1Results); + Set o2Results = new HashSet<>(); + Util.addAll(o2, o2Results); + assertEquals(o1Results, o2Results); } } diff --git a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/analyzing/test/RaceLogAnalyzerTest.java b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/analyzing/test/RaceLogAnalyzerTest.java index fea4c927df6..a40cda33219 100644 --- a/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/analyzing/test/RaceLogAnalyzerTest.java +++ b/java/com.sap.sailing.domain.shared.android.test/src/com/sap/sailing/domain/racelog/analyzing/test/RaceLogAnalyzerTest.java @@ -9,6 +9,7 @@ import java.util.UUID; import org.junit.Before; import com.sap.sailing.domain.abstractlog.AbstractLogEventAuthor; +import com.sap.sailing.domain.abstractlog.impl.LogEventAuthorImpl; import com.sap.sailing.domain.abstractlog.race.RaceLog; import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogAnalyzer; @@ -29,7 +30,11 @@ public abstract class RaceLogAnalyzerTest T createEvent(Class type, long milliseconds) { - return createEvent(type, milliseconds, 0, UUID.randomUUID()); + return createEvent(/* priority */ 0, type, milliseconds); + } + + protected static T createEvent(int priority, Class type, long milliseconds) { + return createEvent(priority, type, milliseconds, 0, UUID.randomUUID()); } protected static T createEvent(Class type, long milliseconds, Serializable id) { @@ -41,7 +46,12 @@ public abstract class RaceLogAnalyzerTest T createEvent(Class type, long milliseconds, int passId, Serializable id) { - return createEvent(type, milliseconds, passId, id, mock(AbstractLogEventAuthor.class)); + return createEvent(/* priority */ 0, type, milliseconds, passId, id); + } + + protected static T createEvent(int priority, Class type, long milliseconds, int passId, Serializable id) { + final AbstractLogEventAuthor author = new LogEventAuthorImpl("Author", priority); + return createEvent(type, milliseconds, passId, id, author); } protected static T createEvent(Class type, long milliseconds, int passId, AbstractLogEventAuthor author) { diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/CompetitorResults.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/CompetitorResults.java index 9abbcae0b33..b248d2bf176 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/CompetitorResults.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/CompetitorResults.java @@ -7,4 +7,13 @@ package com.sap.sailing.domain.abstractlog.race; */ public interface CompetitorResults extends Iterable { boolean add(CompetitorResult result); + + /** + * @return {@code true} if there are more than one {@link CompetitorResult} contained with equal + * {@link CompetitorResult#getOneBasedRank() rank}. A client can take this as an indicator that + * there may be an inconsistency, caused, e.g., by merging results entered on different devices + * concurrently. The client shall use the {@link #iterator()} method to enumerate the + * {@link CompetitorResult} objects, finding the conflicting elements. + */ + boolean hasConflicts(); } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/analyzing/impl/AbstractFinishPositioningListFinder.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/analyzing/impl/AbstractFinishPositioningListFinder.java new file mode 100755 index 00000000000..14ad1d00d2f --- /dev/null +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/analyzing/impl/AbstractFinishPositioningListFinder.java @@ -0,0 +1,60 @@ +package com.sap.sailing.domain.abstractlog.race.analyzing.impl; + +import java.io.Serializable; +import java.util.HashMap; +import java.util.Map; + +import com.sap.sailing.domain.abstractlog.race.CompetitorResult; +import com.sap.sailing.domain.abstractlog.race.CompetitorResults; +import com.sap.sailing.domain.abstractlog.race.RaceLog; +import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; +import com.sap.sailing.domain.abstractlog.race.RaceLogFinishPositioningEvent; +import com.sap.sailing.domain.abstractlog.race.impl.CompetitorResultsImpl; + +/** + * Fetches competitor results from the current pass in a {@link RaceLog}. Results may be provided in multiple, partial + * race log events, all of potentially different priority, with time stamps and potential overlaps, providing different + * results for the same competitor at different times, with different priorities. This finder merges all these results + * from the current pass and prefers higher priorities (numerically less) over lower priorities (numerically greater), + * and later results over earlier results with equal priority. It can therefore rely on the order in which race log + * events are produced by {@link #getPassEventsDescending()}.

+ * + * The analyzer will return {@code null} if no result has been found at all. + * + * @author Axel Uhl (D043530) + * + */ +public class AbstractFinishPositioningListFinder extends RaceLogAnalyzer { + /** + * The type of event we're looking for in the log + */ + private final Class clz; + + public AbstractFinishPositioningListFinder(RaceLog raceLog, Class clz) { + super(raceLog); + this.clz = clz; + } + + @Override + protected CompetitorResults performAnalysis() { + boolean resultFound = false; + final Map resultsByCompetitor = new HashMap<>(); + for (RaceLogEvent event : getPassEventsDescending()) { + if (clz.isInstance(event)) { + RaceLogFinishPositioningEvent finishPositioningEvent = (RaceLogFinishPositioningEvent) event; + final CompetitorResults positionedCompetitorsIDsNamesMaxPointsReasons = finishPositioningEvent.getPositionedCompetitorsIDsNamesMaxPointsReasons(); + if (positionedCompetitorsIDsNamesMaxPointsReasons != null) { + resultFound = true; + for (final CompetitorResult r : positionedCompetitorsIDsNamesMaxPointsReasons) { + if (!resultsByCompetitor.containsKey(r.getCompetitorId())) { + resultsByCompetitor.put(r.getCompetitorId(), r); + } + } + } + } + } + final CompetitorResultsImpl result = new CompetitorResultsImpl(); + result.addAll(resultsByCompetitor.values()); + return resultFound ? result : null; + } +} diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/analyzing/impl/ConfirmedFinishPositioningListFinder.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/analyzing/impl/ConfirmedFinishPositioningListFinder.java index 381df5b1c36..5afc4304be9 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/analyzing/impl/ConfirmedFinishPositioningListFinder.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/analyzing/impl/ConfirmedFinishPositioningListFinder.java @@ -1,24 +1,10 @@ package com.sap.sailing.domain.abstractlog.race.analyzing.impl; -import com.sap.sailing.domain.abstractlog.race.CompetitorResults; import com.sap.sailing.domain.abstractlog.race.RaceLog; -import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogFinishPositioningConfirmedEvent; -public class ConfirmedFinishPositioningListFinder extends RaceLogAnalyzer { - +public class ConfirmedFinishPositioningListFinder extends AbstractFinishPositioningListFinder { public ConfirmedFinishPositioningListFinder(RaceLog raceLog) { - super(raceLog); - } - - @Override - protected CompetitorResults performAnalysis() { - for (RaceLogEvent event : getPassEventsDescending()) { - if (event instanceof RaceLogFinishPositioningConfirmedEvent) { - RaceLogFinishPositioningConfirmedEvent finishPositioningEvent = (RaceLogFinishPositioningConfirmedEvent) event; - return finishPositioningEvent.getPositionedCompetitorsIDsNamesMaxPointsReasons(); - } - } - return null; + super(raceLog, RaceLogFinishPositioningConfirmedEvent.class); } } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/analyzing/impl/FinishPositioningListFinder.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/analyzing/impl/FinishPositioningListFinder.java index 890748da8fa..5e51c98f0d0 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/analyzing/impl/FinishPositioningListFinder.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/analyzing/impl/FinishPositioningListFinder.java @@ -1,25 +1,10 @@ package com.sap.sailing.domain.abstractlog.race.analyzing.impl; -import com.sap.sailing.domain.abstractlog.race.CompetitorResults; import com.sap.sailing.domain.abstractlog.race.RaceLog; -import com.sap.sailing.domain.abstractlog.race.RaceLogEvent; import com.sap.sailing.domain.abstractlog.race.RaceLogFinishPositioningListChangedEvent; -public class FinishPositioningListFinder extends RaceLogAnalyzer { - +public class FinishPositioningListFinder extends AbstractFinishPositioningListFinder { public FinishPositioningListFinder(RaceLog raceLog) { - super(raceLog); - } - - @Override - protected CompetitorResults performAnalysis() { - for (RaceLogEvent event : getPassEventsDescending()) { - if (event instanceof RaceLogFinishPositioningListChangedEvent) { - RaceLogFinishPositioningListChangedEvent finishPositioningEvent = (RaceLogFinishPositioningListChangedEvent) event; - return finishPositioningEvent.getPositionedCompetitorsIDsNamesMaxPointsReasons(); - } - } - - return null; + super(raceLog, RaceLogFinishPositioningListChangedEvent.class); } } diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/CompetitorResultsImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/CompetitorResultsImpl.java index 67b4e6cd896..0d60d044dec 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/CompetitorResultsImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/race/impl/CompetitorResultsImpl.java @@ -1,10 +1,26 @@ package com.sap.sailing.domain.abstractlog.race.impl; import java.util.ArrayList; +import java.util.HashSet; +import java.util.Set; import com.sap.sailing.domain.abstractlog.race.CompetitorResult; import com.sap.sailing.domain.abstractlog.race.CompetitorResults; public class CompetitorResultsImpl extends ArrayList implements CompetitorResults { private static final long serialVersionUID = 4928351242700897387L; + + @Override + public boolean hasConflicts() { + final Set oneBasedRanks = new HashSet<>(); + for (final CompetitorResult r : this) { + final int oneBasedRank = r.getOneBasedRank(); + if (oneBasedRank != 0) { + if (!oneBasedRanks.add(oneBasedRank)) { + return true; + } + } + } + return false; + } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/whatsnew/resources/RaceCommitteeAppNotes.html b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/whatsnew/resources/RaceCommitteeAppNotes.html index a971fc83311..9f758ed9201 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/whatsnew/resources/RaceCommitteeAppNotes.html +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/desktop/places/whatsnew/resources/RaceCommitteeAppNotes.html @@ -4,6 +4,11 @@

What's New - SAP Sailing Race Manager

+
August 2018
+
    +
  • The result list can now be edited without a finish time.
  • +
+
June 2017
  • It is now possible to capture results during any phase of a race, diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/ic_delete_grey_24dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/ic_delete_grey_24dp.png new file mode 100644 index 00000000000..2ba0664aa4e Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/ic_delete_grey_24dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/ic_delete_grey_36dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/ic_delete_grey_36dp.png new file mode 100644 index 00000000000..f478fa79219 Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/ic_delete_grey_36dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/ic_warning_yellow_18dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/ic_warning_yellow_18dp.png new file mode 100644 index 00000000000..8a375c9cb60 Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/ic_warning_yellow_18dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/ic_warning_yellow_24dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/ic_warning_yellow_24dp.png new file mode 100644 index 00000000000..db54febf67d Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/ic_warning_yellow_24dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/ic_warning_yellow_36dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/ic_warning_yellow_36dp.png new file mode 100644 index 00000000000..0e457b4756a Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/ic_warning_yellow_36dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/ic_warning_yellow_48dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/ic_warning_yellow_48dp.png new file mode 100644 index 00000000000..380837b12f4 Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/ic_warning_yellow_48dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/ic_warning_yellow_64dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/ic_warning_yellow_64dp.png new file mode 100644 index 00000000000..2a464ae47c9 Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/ic_warning_yellow_64dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/ic_warning_yellow_96dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/ic_warning_yellow_96dp.png new file mode 100644 index 00000000000..65223c85a10 Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-hdpi/ic_warning_yellow_96dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/ic_delete_grey_24dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/ic_delete_grey_24dp.png new file mode 100644 index 00000000000..aa3f2c37e29 Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/ic_delete_grey_24dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/ic_delete_grey_36dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/ic_delete_grey_36dp.png new file mode 100644 index 00000000000..2ba0664aa4e Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/ic_delete_grey_36dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/ic_warning_yellow_18dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/ic_warning_yellow_18dp.png new file mode 100644 index 00000000000..cf66000f6f8 Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/ic_warning_yellow_18dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/ic_warning_yellow_24dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/ic_warning_yellow_24dp.png new file mode 100644 index 00000000000..62041317831 Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/ic_warning_yellow_24dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/ic_warning_yellow_36dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/ic_warning_yellow_36dp.png new file mode 100644 index 00000000000..db54febf67d Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/ic_warning_yellow_36dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/ic_warning_yellow_48dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/ic_warning_yellow_48dp.png new file mode 100644 index 00000000000..3efd8b901e9 Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/ic_warning_yellow_48dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/ic_warning_yellow_64dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/ic_warning_yellow_64dp.png new file mode 100644 index 00000000000..8763bed8f8e Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/ic_warning_yellow_64dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/ic_warning_yellow_96dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/ic_warning_yellow_96dp.png new file mode 100644 index 00000000000..2a464ae47c9 Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-mdpi/ic_warning_yellow_96dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-sw720dp/ic_warning_yellow.xml b/mobile/com.sap.sailing.racecommittee.app/res/drawable-sw720dp/ic_warning_yellow.xml new file mode 100644 index 00000000000..4d2900f46d9 --- /dev/null +++ b/mobile/com.sap.sailing.racecommittee.app/res/drawable-sw720dp/ic_warning_yellow.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-sw720dp/ic_warning_yellow_small.xml b/mobile/com.sap.sailing.racecommittee.app/res/drawable-sw720dp/ic_warning_yellow_small.xml new file mode 100644 index 00000000000..926833e2a7f --- /dev/null +++ b/mobile/com.sap.sailing.racecommittee.app/res/drawable-sw720dp/ic_warning_yellow_small.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/ic_delete_grey_24dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/ic_delete_grey_24dp.png new file mode 100644 index 00000000000..2325f3c7298 Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/ic_delete_grey_24dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/ic_delete_grey_36dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/ic_delete_grey_36dp.png new file mode 100644 index 00000000000..899083cd46c Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/ic_delete_grey_36dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/ic_warning_yellow_18dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/ic_warning_yellow_18dp.png new file mode 100644 index 00000000000..6442294f342 Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/ic_warning_yellow_18dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/ic_warning_yellow_24dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/ic_warning_yellow_24dp.png new file mode 100644 index 00000000000..3efd8b901e9 Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/ic_warning_yellow_24dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/ic_warning_yellow_36dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/ic_warning_yellow_36dp.png new file mode 100644 index 00000000000..380837b12f4 Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/ic_warning_yellow_36dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/ic_warning_yellow_48dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/ic_warning_yellow_48dp.png new file mode 100644 index 00000000000..2a464ae47c9 Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/ic_warning_yellow_48dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/ic_warning_yellow_64dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/ic_warning_yellow_64dp.png new file mode 100644 index 00000000000..65bcbee071b Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/ic_warning_yellow_64dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/ic_warning_yellow_96dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/ic_warning_yellow_96dp.png new file mode 100644 index 00000000000..fb3eb640fa9 Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xhdpi/ic_warning_yellow_96dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/ic_delete_grey_24dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/ic_delete_grey_24dp.png new file mode 100644 index 00000000000..899083cd46c Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/ic_delete_grey_24dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/ic_delete_grey_36dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/ic_delete_grey_36dp.png new file mode 100644 index 00000000000..2ef0c0f1d20 Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/ic_delete_grey_36dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/ic_warning_yellow_18dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/ic_warning_yellow_18dp.png new file mode 100644 index 00000000000..29311c736dd Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/ic_warning_yellow_18dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/ic_warning_yellow_24dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/ic_warning_yellow_24dp.png new file mode 100644 index 00000000000..380837b12f4 Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/ic_warning_yellow_24dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/ic_warning_yellow_36dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/ic_warning_yellow_36dp.png new file mode 100644 index 00000000000..385088042a7 Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/ic_warning_yellow_36dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/ic_warning_yellow_48dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/ic_warning_yellow_48dp.png new file mode 100644 index 00000000000..65223c85a10 Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/ic_warning_yellow_48dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/ic_warning_yellow_64dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/ic_warning_yellow_64dp.png new file mode 100644 index 00000000000..fb3eb640fa9 Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/ic_warning_yellow_64dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/ic_warning_yellow_96dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/ic_warning_yellow_96dp.png new file mode 100644 index 00000000000..e4d2c90cc1f Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxhdpi/ic_warning_yellow_96dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/ic_delete_grey_24dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/ic_delete_grey_24dp.png new file mode 100644 index 00000000000..21673d61ee7 Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/ic_delete_grey_24dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/ic_delete_grey_36dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/ic_delete_grey_36dp.png new file mode 100644 index 00000000000..73563b69021 Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/ic_delete_grey_36dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/ic_warning_yellow_18dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/ic_warning_yellow_18dp.png new file mode 100644 index 00000000000..5bcb3731f91 Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/ic_warning_yellow_18dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/ic_warning_yellow_24dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/ic_warning_yellow_24dp.png new file mode 100644 index 00000000000..2a464ae47c9 Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/ic_warning_yellow_24dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/ic_warning_yellow_36dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/ic_warning_yellow_36dp.png new file mode 100644 index 00000000000..65223c85a10 Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/ic_warning_yellow_36dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/ic_warning_yellow_48dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/ic_warning_yellow_48dp.png new file mode 100644 index 00000000000..fb3eb640fa9 Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/ic_warning_yellow_48dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/ic_warning_yellow_64dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/ic_warning_yellow_64dp.png new file mode 100644 index 00000000000..62bb915c521 Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/ic_warning_yellow_64dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/ic_warning_yellow_96dp.png b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/ic_warning_yellow_96dp.png new file mode 100644 index 00000000000..69ed5f75d81 Binary files /dev/null and b/mobile/com.sap.sailing.racecommittee.app/res/drawable-xxxhdpi/ic_warning_yellow_96dp.png differ diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable/ic_delete_24dp.xml b/mobile/com.sap.sailing.racecommittee.app/res/drawable/ic_delete_24dp.xml index 355fca3854a..c04dc177ee2 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/drawable/ic_delete_24dp.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/drawable/ic_delete_24dp.xml @@ -4,6 +4,9 @@ + + + diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable/ic_warning_yellow.xml b/mobile/com.sap.sailing.racecommittee.app/res/drawable/ic_warning_yellow.xml new file mode 100644 index 00000000000..926833e2a7f --- /dev/null +++ b/mobile/com.sap.sailing.racecommittee.app/res/drawable/ic_warning_yellow.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/drawable/ic_warning_yellow_small.xml b/mobile/com.sap.sailing.racecommittee.app/res/drawable/ic_warning_yellow_small.xml new file mode 100644 index 00000000000..7135a338d77 --- /dev/null +++ b/mobile/com.sap.sailing.racecommittee.app/res/drawable/ic_warning_yellow_small.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/layout/panel_button_setup.xml b/mobile/com.sap.sailing.racecommittee.app/res/layout/panel_button_setup.xml index 266481c360a..52cb32f10da 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/layout/panel_button_setup.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/layout/panel_button_setup.xml @@ -44,15 +44,29 @@ android:layout_above="@id/panel_button_footer" android:layout_below="@id/panel_button_header"> - + android:layout_centerInParent="true"> + + + + + + tools:visibility="gone" /> + android:textSize="@dimen/textSize_18" /> - + android:layout_centerInParent="true"> + + + + + + + + + + + \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_list_area_header.xml b/mobile/com.sap.sailing.racecommittee.app/res/layout/race_list_area_header.xml index 24bf97cfafd..c4bab9bc4a0 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_list_area_header.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/layout/race_list_area_header.xml @@ -13,13 +13,26 @@ android:layout_centerVertical="true" android:orientation="vertical"> - + android:layout_height="wrap_content"> + + + + + + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="@dimen/navigation_drawer_cell_height"> + tools:text="13:36" /> + android:textAppearance="?attr/textXSmall" /> + android:textAppearance="?attr/textXSmall" /> + android:visibility="gone" /> + tools:visibility="visible" /> + + + android:src="?attr/marker_race" /> + tools:visibility="visible" /> + tools:src="@drawable/flag_alpha_64dp" /> + tools:text="01:12" /> @@ -141,7 +151,7 @@ android:ellipsize="middle" android:maxLines="1" android:textAppearance="?attr/textNormal" - tools:text="Race 3"/> + tools:text="Race 3" /> + tools:visibility="visible" /> @@ -164,11 +174,11 @@ android:background="?attr/factor_background" android:textAppearance="?attr/textXSmall" android:textColor="?attr/white_invert" - tools:text="x 3.5"/> + tools:text="x 3.5" /> + android:background="?attr/black" /> \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_panel_time_normal.xml b/mobile/com.sap.sailing.racecommittee.app/res/layout/race_panel_time_normal.xml index 00bd2762048..39dc9a033fc 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_panel_time_normal.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/layout/race_panel_time_normal.xml @@ -1,9 +1,9 @@ + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent"> + tools:text="@string/time" /> + android:src="?attr/marker" /> + tools:text="@string/time_start" /> + tools:visibility="visible" /> + tools:visibility="visible" /> @@ -114,7 +114,7 @@ android:textSize="@dimen/panel_button_caption_size" android:visibility="invisible" tools:text="@string/time" - tools:visibility="visible"/> + tools:visibility="visible" /> @@ -126,13 +126,14 @@ android:layout_height="match_parent" android:layout_weight="10" android:visibility="gone" + app:buttonAdditionalImage="@drawable/ic_warning_yellow_24dp" app:buttonCaption="@string/competitor_list" app:buttonImage="?attr/competitor_list" app:buttonType="typeImage" app:captionPosition="bottom" app:imageSize="48dp" app:linePosition="left" - tools:visibility="visible"/> + tools:visibility="visible" /> \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_panel_time_xlarge.xml b/mobile/com.sap.sailing.racecommittee.app/res/layout/race_panel_time_xlarge.xml index 0b7886b51e3..c654a422f09 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_panel_time_xlarge.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/layout/race_panel_time_xlarge.xml @@ -1,9 +1,9 @@ + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent"> + tools:text="@string/time" /> + android:src="?attr/marker" /> + tools:text="@string/time_start" /> + tools:visibility="visible" /> + tools:visibility="visible" /> @@ -107,7 +107,7 @@ android:textAppearance="?attr/textSmall" android:visibility="invisible" tools:text="@string/time" - tools:visibility="visible"/> + tools:visibility="visible" /> @@ -118,13 +118,14 @@ android:layout_height="match_parent" android:layout_weight="1" android:visibility="gone" + app:buttonAdditionalImage="@drawable/ic_warning_yellow_36dp" app:buttonCaption="@string/competitor_list" app:buttonImage="?attr/competitor_list" app:buttonType="typeImage" app:captionPosition="bottom" app:imageSize="64dp" app:linePosition="left" - tools:visibility="visible"/> + tools:visibility="visible" /> \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_tracking_list_competitor_edit_normal.xml b/mobile/com.sap.sailing.racecommittee.app/res/layout/race_tracking_list_competitor_edit_normal.xml index 0a75a7d902e..b497b52dd65 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_tracking_list_competitor_edit_normal.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/layout/race_tracking_list_competitor_edit_normal.xml @@ -1,10 +1,10 @@ + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" + android:paddingLeft="24dp" + android:paddingRight="24dp"> + android:textColor="@color/dialog_color_text" /> + android:spinnerMode="dropdown" /> + android:textColor="@color/dialog_color_text" /> + android:spinnerMode="dropdown" /> + android:textColor="@color/dialog_color_text" /> + android:textColor="?attr/white" /> - - - - - - - - + android:layout_height="wrap_content"> + + + + + + + + + + + + - - - - - - - - - - - + android:textColor="@color/dialog_color_text" /> + + android:textColor="@color/dialog_color_text" /> + android:textColor="?attr/white" /> \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_tracking_list_competitor_edit_small.xml b/mobile/com.sap.sailing.racecommittee.app/res/layout/race_tracking_list_competitor_edit_small.xml index 55e760840d4..9d7a41d44d3 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/layout/race_tracking_list_competitor_edit_small.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/layout/race_tracking_list_competitor_edit_small.xml @@ -8,6 +8,7 @@ android:paddingRight="24dp"> - - - - - - - - + android:layout_gravity="center_vertical" + android:layout_weight="1" + android:background="?attr/editTextBackground" + android:gravity="center_vertical" + android:inputType="none" + android:textAppearance="?android:attr/textAppearanceMediumInverse" + android:textColor="?attr/white" /> - + android:layout_gravity="center_vertical" + android:layout_marginLeft="@dimen/default_margin_half" + android:layout_weight="1" + android:background="?attr/editTextBackground" + android:gravity="center_vertical" + android:inputType="none" + android:textAppearance="?android:attr/textAppearanceMediumInverse" + android:textColor="?attr/white" /> - + + + + + + + + + + + + + \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/res/values-de/strings.xml b/mobile/com.sap.sailing.racecommittee.app/res/values-de/strings.xml index a769c85ec69..fb9e2c488f7 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/values-de/strings.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/values-de/strings.xml @@ -192,8 +192,8 @@ Einzelrückruf entfernen - Als Startschiff-Wettfahrtleiter anmelden - Als Zielschiff-Wettfahrtleiter anmelden + Als Superuser anmelden + Als Wettfahrtleiter auf dem Boot anmelden Als Regattaleitung an Land anmelden Gate Launch stoppt nach %dmin Kursdesigner @@ -425,10 +425,10 @@ Fehler Bitte geben Sie einen Wert zwischen 0 und 360 an. - Startschiff-Wettfahrtleiter - Zielschiff-Wettfahrtleiter + Wettfahrtleiter auf Wasser Regattaleitung an Land Demo-Modus + Superuser fortfahren Abbrechen Nach den Wettfahrtregeln sind diese Daten im aktuellen Rennenstatus nicht veränderbar.\nSie könnten jedoch die falschen Eingaben korrigieren. diff --git a/mobile/com.sap.sailing.racecommittee.app/res/values/attrs_custom_views.xml b/mobile/com.sap.sailing.racecommittee.app/res/values/attrs_custom_views.xml index ee46c34419f..ce54f0401cc 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/values/attrs_custom_views.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/values/attrs_custom_views.xml @@ -17,6 +17,7 @@ + @@ -32,7 +33,7 @@ - + diff --git a/mobile/com.sap.sailing.racecommittee.app/res/values/dimens.xml b/mobile/com.sap.sailing.racecommittee.app/res/values/dimens.xml index bdb09c69cab..7e29f1c2078 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/values/dimens.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/values/dimens.xml @@ -73,7 +73,8 @@ 64dp 420dp - 200dp + 270dp + 200dp 24dp 215dp @@ -95,6 +96,7 @@ @dimen/textSize_18 13dp + 24dp 55dp diff --git a/mobile/com.sap.sailing.racecommittee.app/res/values/strings.xml b/mobile/com.sap.sailing.racecommittee.app/res/values/strings.xml index f9464026172..8928c046105 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/values/strings.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/values/strings.xml @@ -48,8 +48,8 @@ Regatta Area Position - Login as race officer on the selected course\'s start vessel. - Login as race officer on the selected course\'s finish vessel. + Login as super user + Login as race officer on a vessel. Login as shore control. Login as view-only (demo mode) user. Not yet scheduled @@ -450,10 +450,10 @@ Error Please provide a value between 0 and 360 - Race Officer on Start Vessel - Race Officer on Finish Vessel + Race Officer on Vessel Shore Control - Viewer + Demo Mode + Super user Proceed Cancel According to the race rules this data is not changeable in the current\nrace state. You may proceed nevertheless to correct wrong inputs. diff --git a/mobile/com.sap.sailing.racecommittee.app/res/values/styles.xml b/mobile/com.sap.sailing.racecommittee.app/res/values/styles.xml index f4c0bcecdf0..ade66c47b4e 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/values/styles.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/values/styles.xml @@ -17,6 +17,10 @@ false + +