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); }