Closed dvorapa closed 4 years ago
Try:
Stream<List<SongInfo>> _songStream = Stream.fromFuture(audioQuery.getSongs()); _songStream.listen((List<SongInfo> _songList) { _songList.sort(); });
Error thrown in my code:
I/flutter (23594): ══╡ EXCEPTION CAUGHT BY GESTURE ╞═══════════════════════════════════════════════════════════════════ I/flutter (23594): The following assertion was thrown while handling a gesture: I/flutter (23594): type 'SongInfo' is not a subtype of type 'Comparable<dynamic>' I/flutter (23594): Either the assertion indicates an error in the framework itself, or we should provide substantially I/flutter (23594): more information in this error message to help you determine and fix the underlying cause. I/flutter (23594): In either case, please report this assertion by filing a bug on GitHub: I/flutter (23594): https://github.com/flutter/flutter/issues/new?template=BUG.md I/flutter (23594): When the exception was thrown, this was the stack: I/flutter (23594): #0 ListMixin._compareAny (dart:collection/list.dart:341:31) I/flutter (23594): #1 Sort._insertionSort (dart:_internal/sort.dart:69:36) I/flutter (23594): #2 Sort._doSort (dart:_internal/sort.dart:58:7) I/flutter (23594): #3 Sort.sort (dart:_internal/sort.dart:33:5) I/flutter (23594): #4 ListMixin.sort (dart:collection/list.dart:335:10) I/flutter (23594): #5 _PlayerState.onSet (package:stepslow/main.dart:379:15) I/flutter (23594): #6 _PlayerState.build.<anonymous closure>.<anonymous closure> (package:stepslow/main.dart:1039:45) I/flutter (23594): #7 _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:654:14) I/flutter (23594): #8 _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:729:32) I/flutter (23594): #9 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24) I/flutter (23594): #10 TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:365:11) I/flutter (23594): #11 TapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:312:7) I/flutter (23594): #12 GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:156:27) I/flutter (23594): #13 GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:222:20) I/flutter (23594): #14 GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:198:22) I/flutter (23594): #15 GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:156:7) I/flutter (23594): #16 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:102:7) I/flutter (23594): #17 GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:86:7) I/flutter (23594): #21 _invoke1 (dart:ui/hooks.dart:263:10) I/flutter (23594): #22 _dispatchPointerDataPacket (dart:ui/hooks.dart:172:5) I/flutter (23594): (elided 3 frames from package dart:async) I/flutter (23594): Handler: "onTap" I/flutter (23594): Recognizer: I/flutter (23594): TapGestureRecognizer#e9d0d I/flutter (23594): ════════════════════════════════════════════════════════════════════════════════════════════════════
Recommended patch:
class SongInfo implements Comparable<SongInfo> {
or maybe:
class DataModel implements Comparable<DataModel> {
instead of:
class SongInfo {
A possible workaround until a solution would be:
_songList.sort((a, b) => a.filePath.compareTo(b.filePath));
Closed as solved or closed as wontfix?
Try:
Error thrown in my code:
Recommended patch:
or maybe:
instead of: