diff --git a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/PositioningFragment.java b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/PositioningFragment.java index e71912d064c..ede7a678876 100644 --- a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/PositioningFragment.java +++ b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/PositioningFragment.java @@ -3,6 +3,7 @@ package com.sap.sailing.racecommittee.app.ui.fragments.raceinfo; import java.io.Serializable; import java.util.ArrayList; import java.util.Collections; +import java.util.Comparator; import java.util.List; import android.app.AlertDialog; @@ -22,6 +23,7 @@ import com.mobeta.android.dslv.DragSortController; import com.mobeta.android.dslv.DragSortListView; import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.common.MaxPointsReason; +import com.sap.sailing.domain.common.Named; import com.sap.sailing.domain.common.impl.Util; import com.sap.sailing.domain.common.impl.Util.Triple; import com.sap.sailing.racecommittee.app.R; @@ -43,6 +45,7 @@ public class PositioningFragment extends RaceDialogFragment { protected List competitors; protected List> positionedCompetitors; + protected Comparator competitorComparator; private int dragStartMode = DragSortController.ON_DRAG; private boolean removeEnabled = true; @@ -80,9 +83,11 @@ public class PositioningFragment extends RaceDialogFragment { competitors = new ArrayList(); Util.addAll(getRace().getCompetitors(), competitors); - Collections.sort(competitors, new NamedComparator()); + competitorComparator = new NamedComparator(); + Collections.sort(competitors, competitorComparator); competitorsAdapter = new CompetitorsAdapter(getActivity(), R.layout.welter_grid_competitor_cell, competitors); + positionedCompetitors = initializeFinishPositioningList(); deletePositionedCompetitorsFromUnpositionedList(); positioningAdapter = new CompetitorPositioningListAdapter(getActivity(), R.layout.welter_positioning_item, positionedCompetitors); @@ -226,6 +231,7 @@ public class PositioningFragment extends RaceDialogFragment { protected void removeCompetitorFromGrid(Competitor competitor) { competitors.remove(competitor); + Collections.sort(competitors, competitorComparator); competitorsAdapter.notifyDataSetChanged(); } @@ -244,6 +250,7 @@ public class PositioningFragment extends RaceDialogFragment { private void addNewCompetitorToCompetitorList(Competitor competitor) { competitors.add(competitor); + Collections.sort(competitors, competitorComparator); competitorsAdapter.notifyDataSetChanged(); }