List reorderList(List old, int oldIndex, int newIndex) { List tmp = [...old]; int newIndexCalc = newIndex - 1; if (newIndex < oldIndex) { newIndexCalc = newIndex; } if (newIndex == old.length) { newIndexCalc = old.length - 1; } if (newIndex == 0) { newIndexCalc = 0; } String oldItem = tmp.removeAt(oldIndex); tmp.insert(newIndexCalc, oldItem); return tmp; }