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 b497b52dd65..5580597fe3e 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,11 +1,30 @@
+
+
+
+
+
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ 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:textColorHint="@color/dialog_color_text" />
@@ -90,7 +109,7 @@
android:layout_height="wrap_content"
android:paddingBottom="8dp"
android:text="@string/finishing_time"
- android:textColor="@color/dialog_color_text"/>
+ android:textColor="@color/dialog_color_text" />
+ android:textColorHint="@color/dialog_color_text" />
\ 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 a3035b363c7..7d1cae96233 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
@@ -537,4 +537,6 @@
Wiederholen
Beenden
+ Dieser Teilnehmer wurde an einem anderen Gerät verändert und hat überschneidende Änderungen. Bitte stellen Sie sicher, dass die Daten korrekt sind.
+
\ No newline at end of file
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 66b0f293925..cd8ec47c008 100644
--- a/mobile/com.sap.sailing.racecommittee.app/res/values/strings.xml
+++ b/mobile/com.sap.sailing.racecommittee.app/res/values/strings.xml
@@ -566,4 +566,6 @@
Retry
Exit
+ This competitor was changed from another device and you have changed the same data. Please be sure, that this data is correct now.
+
\ No newline at end of file
diff --git a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/PenaltyFragment.java b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/PenaltyFragment.java
index 222a9047c3f..020f9dcb044 100644
--- a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/PenaltyFragment.java
+++ b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/PenaltyFragment.java
@@ -679,7 +679,7 @@ public class PenaltyFragment extends BaseFragment implements PopupMenu.OnMenuIte
builder.setTitle(item.getCompetitorDisplayName());
final CompetitorEditLayout layout = new CompetitorEditLayout(getActivity(), item, mCompetitorResults.getFirstRankZeroPosition() +
/* allow for setting rank as the new last in the list in case the competitor did not have a rank so far */
- (item.getOneBasedRank() == 0 ? 1 : 0));
+ (item.getOneBasedRank() == 0 ? 1 : 0), competitor.getMergeState() == MergeState.ERROR);
builder.setView(layout);
builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
diff --git a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/TrackingListFragment.java b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/TrackingListFragment.java
index bbcd9b48591..25ea2a93083 100644
--- a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/TrackingListFragment.java
+++ b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/TrackingListFragment.java
@@ -730,7 +730,7 @@ public class TrackingListFragment extends BaseFragment
final CompetitorEditLayout layout = new CompetitorEditLayout(getActivity(), getRace().getState().getFinishingTime(), item,
mAdapter.getFirstRankZeroPosition() +
/* allow for setting rank as the new last in the list in case the competitor did not have a rank so far */
- (item.getOneBasedRank() == 0 ? 1 : 0), false);
+ (item.getOneBasedRank() == 0 ? 1 : 0), false, item.getMergeState() == MergeState.ERROR);
builder.setView(layout);
builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
diff --git a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/layouts/CompetitorEditLayout.java b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/layouts/CompetitorEditLayout.java
index 47783ba628a..97fc67436ba 100644
--- a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/layouts/CompetitorEditLayout.java
+++ b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/layouts/CompetitorEditLayout.java
@@ -49,12 +49,12 @@ public class CompetitorEditLayout extends ScrollView implements DatePickerDialog
private boolean mRestricted;
- public CompetitorEditLayout(Context context, CompetitorResultWithIdImpl competitor, int maxPos) {
- this(context, null, competitor, maxPos, true);
+ public CompetitorEditLayout(Context context, CompetitorResultWithIdImpl competitor, int maxPos, boolean hasWarning) {
+ this(context, null, competitor, maxPos, true, hasWarning);
}
public CompetitorEditLayout(final Context context, final TimePoint startTime, CompetitorResultWithIdImpl competitor, int maxPos,
- boolean restrictedView) {
+ boolean restrictedView, boolean hasWarning) {
super(context);
mRestricted = restrictedView;
@@ -74,6 +74,10 @@ public class CompetitorEditLayout extends ScrollView implements DatePickerDialog
if (position != null) {
position.setVisibility(restrictedView ? GONE : VISIBLE);
}
+ View warning = ViewHelper.get(layout, R.id.competitor_warning_message);
+ if (warning != null) {
+ warning.setVisibility(hasWarning ? VISIBLE : GONE);
+ }
mCalendar = (GregorianCalendar) GregorianCalendar.getInstance();
if (mCompetitor.getFinishingTime() != null) {
@@ -216,8 +220,7 @@ public class CompetitorEditLayout extends ScrollView implements DatePickerDialog
comment = mComment.getText().toString();
}
CompetitorResult result = new CompetitorResultImpl(mCompetitor.getCompetitorId(), mCompetitor
- .getCompetitorDisplayName(), oneBaseRank, maxPointsReason, score, finishingTime, comment,
- MergeState.OK);
+ .getCompetitorDisplayName(), oneBaseRank, maxPointsReason, score, finishingTime, comment, MergeState.OK);
return new CompetitorResultWithIdImpl(mCompetitor.getId(), result);
}