moveInQueue method

Future<void> moveInQueue(
  1. int from,
  2. int to
)

Implementation

Future<void> moveInQueue(int from, int to) async {
  if (from < 0 || from >= _queue.length || to < 0 || to >= _queue.length) return;
  final UMediaSource source = _queue.removeAt(from);
  _queue.insert(to, source);
  if (_index == from) {
    _index = to;
  } else if (from < _index && to >= _index) {
    _index--;
  } else if (from > _index && to <= _index) {
    _index++;
  }
  _rebuildShuffle();
  _emit(value.copyWith(currentIndex: _index));
}