mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-22 03:53:56 +00:00
position can't be set between penalty item
This commit is contained in:
1 parent
88621e5905
commit
659a1b9de7
3 files changed
+11
-8
No files matched your search
+2
-2
@@ -105,7 +105,7 @@ public class FinishListAdapter extends BaseDraggableSwipeAdapter<FinishListAdapt
|
||||
@Override
|
||||
public ItemDraggableRange onGetItemDraggableRange(ViewHolder viewHolder, int position) {
|
||||
final int start = 0;
|
||||
final int end = getFirstPenalty() - 1;
|
||||
final int end = getFirstPenaltyPosition() - 1;
|
||||
|
||||
return new GroupPositionItemDraggableRange(start, end);
|
||||
}
|
||||
@@ -120,7 +120,7 @@ public class FinishListAdapter extends BaseDraggableSwipeAdapter<FinishListAdapt
|
||||
}
|
||||
}
|
||||
|
||||
public int getFirstPenalty() {
|
||||
public int getFirstPenaltyPosition() {
|
||||
int result = getItemCount();
|
||||
for (int i = 0; i < getItemCount(); i++) {
|
||||
if (!mCompetitor.get(i).getMaxPointsReason().equals(MaxPointsReason.NONE)) {
|
||||
|
||||
+6
-6
@@ -500,7 +500,7 @@ public class TrackingListFragment extends BaseFragment
|
||||
name += competitor.getBoat().getSailID();
|
||||
}
|
||||
name += " - " + competitor.getName();
|
||||
int pos = mAdapter.getFirstPenalty();
|
||||
int pos = mAdapter.getFirstPenaltyPosition();
|
||||
// FIXME mFinishedData.size()+1 also counts penalized competitors before which the competitor is to be inserted! I just wonder how the position shown in the app seems correct...
|
||||
int greatestOneBasedRankSoFar = 0;
|
||||
for (final CompetitorResultWithIdImpl result : mFinishedData) {
|
||||
@@ -601,7 +601,7 @@ public class TrackingListFragment extends BaseFragment
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(context, R.style.AppTheme_AlertDialog);
|
||||
builder.setTitle(item.getCompetitorDisplayName());
|
||||
final CompetitorEditLayout layout = new CompetitorEditLayout(getActivity(), getRace().getState()
|
||||
.getFinishingTime(), item, mFinishedAdapter.getItemCount(), false);
|
||||
.getFinishingTime(), item, mAdapter.getFirstPenaltyPosition(), false);
|
||||
builder.setView(layout);
|
||||
builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
@@ -616,11 +616,11 @@ public class TrackingListFragment extends BaseFragment
|
||||
replaceItemInPositioningList(index, item, newItem);
|
||||
onItemMove(mFinishedData.indexOf(newItem), newItem.getOneBasedRank() - 1);
|
||||
} else {
|
||||
onItemRemove(mFinishedData.indexOf(item));
|
||||
onItemRemove(index);
|
||||
}
|
||||
} else { // same rank
|
||||
if (newItem.getOneBasedRank() == 0) { // empty rank -> remove
|
||||
onItemRemove(mFinishedData.indexOf(item));
|
||||
onItemRemove(index);
|
||||
} else {
|
||||
replaceItemInPositioningList(index, item, newItem);
|
||||
}
|
||||
@@ -657,8 +657,8 @@ public class TrackingListFragment extends BaseFragment
|
||||
getRaceState().setFinishPositioningListChanged(MillisecondsTimePoint.now(), getCompetitorResults());
|
||||
}
|
||||
|
||||
private void replaceItemInPositioningList(int index, CompetitorResultWithIdImpl item, CompetitorResultWithIdImpl newItem) {
|
||||
mFinishedData.remove(item);
|
||||
private void replaceItemInPositioningList(int index, CompetitorResultWithIdImpl oldItem, CompetitorResultWithIdImpl newItem) {
|
||||
mFinishedData.remove(oldItem);
|
||||
mFinishedData.add(index, newItem);
|
||||
}
|
||||
|
||||
|
||||
+3
@@ -84,6 +84,9 @@ public class CompetitorEditLayout extends ScrollView {
|
||||
}
|
||||
|
||||
mCompetitor = competitor;
|
||||
if (!mCompetitor.getMaxPointsReason().equals(MaxPointsReason.NONE)) {
|
||||
maxPos++;
|
||||
}
|
||||
|
||||
mCalendar = (GregorianCalendar) GregorianCalendar.getInstance();
|
||||
if (mCompetitor.getFinishingTime() != null) {
|
||||
|
||||
Reference in new issue
Block a user