mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-19 20:25:31 +00:00
Merge branch 'ubilabs--ios--develop' of ssh://sapsailing.com/home/trac/git into ubilabs--ios--develop--signup
This commit is contained in:
@@ -1 +1 @@
|
||||
1.0.0
|
||||
1.0.21
|
||||
|
||||
@@ -8,3 +8,4 @@
|
||||
|
||||
"NSLocationAlwaysUsageDescription" = "In order to track your entire race your phone needs to continue tracking also when you switch off or lock the screen which helps save battery and avoids unintentionally stopping the tracking process.";
|
||||
"NSCameraUsageDescription" = "The camera is required to perform a check-in using QR code.";
|
||||
"NSPhotoLibraryUsageDescription" = "To replace the Team Photo the app requires access to the photo library.";
|
||||
|
||||
@@ -8,3 +8,4 @@
|
||||
|
||||
"NSLocationAlwaysUsageDescription" = "Um das ganze Rennen mit Deinem Gerät zu tracken, muss das Tracking auch dann fortgesetzt werden, wenn der Bildschirm abgeschaltet oder gesperrt wird. Das hilft, die Batterielaufzeit zu verlängern und versehentlich das Tracking zu stoppen.";
|
||||
"NSCameraUsageDescription" = "Die Kamera wird benötigt, um per QR-Code einen Check-In auszuführen.";
|
||||
"NSPhotoLibraryUsageDescription" = "Um das Team Photo zu ersetzen, benötigt die App den Zugriff auf ihr Fotoalbum.";
|
||||
|
||||
+1
-1
@@ -92,7 +92,7 @@ public enum BoatClassMasterdata {
|
||||
RS500 ("RS 500", true, 4.34, 1.58, BoatHullType.MONOHULL, true, "RS500", "RS_500"),
|
||||
RS800 ("RS 800", true, 4.80, 1.88, BoatHullType.MONOHULL, true, "RS800", "RS_800"),
|
||||
RS_AERO ("RS Aero", true, 4.00, 1.40, BoatHullType.MONOHULL, false, "RSAERO", "RS_Aero"),
|
||||
RS_X ("RS:X", true, 2.86, 0.93, BoatHullType.SURFERBOARD, false, "RS-X", "RSX", "RS:X", "RS:X Men", "RS:X Woman"),
|
||||
RS_X ("RS:X", true, 2.86, 0.93, BoatHullType.SURFERBOARD, false, "RS-X", "RSX", "RS:X", "RS:X Men", "RS:X Woman", "RS:X Women"),
|
||||
RS_FEVA ("RS Feva", true, 3.64, 1.42, BoatHullType.MONOHULL, true, "RSFeva"),
|
||||
SKUD_18 ("SKUD 18", true, 5.8, 2.29, BoatHullType.MONOHULL, true),
|
||||
SONAR ("Sonar", true, 7.01, 2.39, BoatHullType.MONOHULL, true),
|
||||
|
||||
+2
-2
@@ -26,11 +26,11 @@ public interface RaceType {
|
||||
_470_MEN("SAM005", "470", Gender.male),
|
||||
STAR("SAM007", "Star", Gender.male),
|
||||
_49ER("SAM009", "49er", Gender.male),
|
||||
_49ERFX("SAW009", "49erFX", Gender.female),
|
||||
_49ERFX("SAW019", "49erFX", Gender.female),
|
||||
ELLIOTT6M("SAW007", "Elliott 6M", Gender.female),
|
||||
RSX_WOMEN("SAW102", "RS:X", Gender.female),
|
||||
RSX_MEN("SAM102", "RS:X", Gender.male),
|
||||
NACRA17("SAX017", "Nacra 17", Gender.mixed),
|
||||
NACRA17("SAX016", "Nacra 17", Gender.mixed),
|
||||
LASER_RADIAL("SAW103", "Laser Radial", Gender.female);
|
||||
|
||||
enum Gender {
|
||||
|
||||
+13
-5
@@ -142,7 +142,7 @@ public class DomainFactoryImpl implements DomainFactory {
|
||||
/* dateOfBirth */ null, teamMemberName.trim()));
|
||||
}
|
||||
DynamicTeam team = new TeamImpl(competitor.getName(), teamMembers, /* coach */ null);
|
||||
result = baseDomainFactory.getCompetitorStore().getOrCreateCompetitor(getCompetitorID(competitor.getBoatID(), raceId, boatClass),
|
||||
result = baseDomainFactory.getCompetitorStore().getOrCreateCompetitor(getCompetitorID(competitor.getBoatID(), competitor.getName(), raceId, boatClass),
|
||||
competitor.getName(), null /*displayColor*/, null /*email*/, null, team, boat,
|
||||
/* timeOnTimeFactor */ null, /* timeOnDistanceAllowancePerNauticalMile */ null, null);
|
||||
return result;
|
||||
@@ -153,19 +153,27 @@ public class DomainFactoryImpl implements DomainFactory {
|
||||
return createCompetitorWithoutID(new CompetitorWithoutID(boatID, threeLetterIOCCode, name), raceId, boatClass);
|
||||
}
|
||||
|
||||
private String getCompetitorID(String boatID, String raceId, BoatClass boatClass) {
|
||||
private String getCompetitorID(String boatID, String name, String raceId, BoatClass boatClass) {
|
||||
String result = null;
|
||||
if(boatClass != null) {
|
||||
result = getCompetitorID(boatID, boatClass);
|
||||
if (boatClass != null) {
|
||||
result = getCompetitorID(boatID, name, boatClass);
|
||||
} else {
|
||||
RaceType raceType = getRaceTypeFromRaceID(raceId);
|
||||
if (raceType != null) {
|
||||
result = getCompetitorID(boatID, raceType);
|
||||
result = getCompetitorID(boatID, name, raceType);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private String getCompetitorID(String boatID, String name, BoatClass boatClass) {
|
||||
return getCompetitorID(boatID, boatClass) + "/" + name;
|
||||
}
|
||||
|
||||
private String getCompetitorID(String boatID, String name, RaceType raceType) {
|
||||
return getCompetitorID(boatID, raceType) + "/" + name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getCompetitorID(String boatID, RaceType raceType) {
|
||||
return boatID + "/" + raceType.getRaceCode();
|
||||
|
||||
+6
-6
@@ -281,11 +281,11 @@ public class SwissTimingRaceTrackerImpl extends AbstractRaceTrackerImpl
|
||||
case COMPETITOR:
|
||||
String boatID = fix.getBoatID();
|
||||
Competitor competitor = getCompetitorByBoatIDAndRaceIDOrBoatClass(boatID, raceID, boatClass);
|
||||
if(competitor == null) {
|
||||
// TODO: read startlist again from Manage2Sail
|
||||
// use competitorStore.isCompetitorToUpdateDuringGetOrCreate(result)
|
||||
if (competitor == null) {
|
||||
// TODO: read startlist again from Manage2Sail
|
||||
// use competitorStore.isCompetitorToUpdateDuringGetOrCreate(result)
|
||||
}
|
||||
if(competitor != null) {
|
||||
if (competitor != null) {
|
||||
DynamicGPSFixTrack<Competitor, GPSFixMoving> competitorTrack = trackedRace.getTrack(competitor);
|
||||
competitorTrack.addGPSFix(gpsFix);
|
||||
} else {
|
||||
@@ -321,8 +321,8 @@ public class SwissTimingRaceTrackerImpl extends AbstractRaceTrackerImpl
|
||||
Competitor result = null;
|
||||
// first look into the temp cache
|
||||
result = competitorsByBoatId.get(boatID);
|
||||
if(result == null) {
|
||||
if(boatClass != null) {
|
||||
if (result == null) {
|
||||
if (boatClass != null) {
|
||||
result = getCompetitorByBoatIDAndBoatClass(boatID, boatClass);
|
||||
} else {
|
||||
RaceType raceType = domainFactory.getRaceTypeFromRaceID(raceID);
|
||||
|
||||
-12
@@ -1,12 +0,0 @@
|
||||
package com.sap.sailing.gwt.ui.raceboard;
|
||||
|
||||
/**
|
||||
* This class contains convenience boolean flags to enable/ disable features in experimental phase.
|
||||
*/
|
||||
public class ExperimentalFeatures {
|
||||
|
||||
/**
|
||||
* Enables/disables user management on race board by showing/hiding the respective menu in the upper right corner.
|
||||
*/
|
||||
public static final boolean SHOW_USER_MANAGEMENT_ON_RACEBOARD = true;
|
||||
}
|
||||
-4
@@ -432,10 +432,6 @@ public class RaceBoardPanel
|
||||
FlyoutAuthenticationView display = new RaceBoardAuthenticationView();
|
||||
new GenericAuthentication(userService, userManagementMenuView, display,
|
||||
SailingAuthenticationEntryPointLinkFactory.INSTANCE, raceBoardResources);
|
||||
if (!ExperimentalFeatures.SHOW_USER_MANAGEMENT_ON_RACEBOARD) {
|
||||
regattaAndRaceTimeInformationHeader.getElement().getStyle().setRight(10, Unit.PX);
|
||||
userManagementMenuView.asWidget().removeFromParent();
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
|
||||
Reference in New Issue
Block a user