getPostponedUpdate method

_PostponedUpdate? getPostponedUpdate(
  1. List<_PostponedUpdate> postponedUpdates,
  2. int posInList,
  3. bool removal
)

Implementation

_PostponedUpdate? getPostponedUpdate(
    List<_PostponedUpdate> postponedUpdates, int posInList, bool removal) {
  _PostponedUpdate? postponedUpdate;

  int i = 0;

  while (i < postponedUpdates.length) {
    final update = postponedUpdates.elementAt(i);
    if (update.posInOwnerList == posInList && update.removal == removal) {
      postponedUpdate = update;
      postponedUpdates.removeAt(i);
      break;
    }
    i++;
  }
  while (i < postponedUpdates.length) {
    // re-offset all others
    final update = postponedUpdates.elementAt(i);
    if (removal) {
      update.currentPos--;
    } else {
      update.currentPos++;
    }
    i++;
  }
  return postponedUpdate;
}