@@ -82,35 +82,50 @@ class SiblingTracksSheet extends HookConsumerWidget {
82
82
if (searchTerm.trim ().isEmpty) {
83
83
return < SourceInfo > [];
84
84
}
85
-
86
- final resultsYt = await youtubeClient.search.search (searchTerm.trim ());
87
- final resultsJioSaavn =
88
- await jiosaavnClient.search.songs (searchTerm.trim ());
89
-
90
- final searchResults = await Future .wait ([
91
- ...resultsJioSaavn.results.mapIndexed ((i, song) async {
85
+ if (preferences.audioSource == AudioSource .jiosaavn) {
86
+ final resultsJioSaavn =
87
+ await jiosaavnClient.search.songs (searchTerm.trim ());
88
+ final results = await Future .wait (
89
+ resultsJioSaavn.results.mapIndexed ((i, song) async {
92
90
final siblingType = JioSaavnSourcedTrack .toSiblingType (song);
93
91
return siblingType.info;
94
- }),
95
- ...resultsYt
96
- .map (YoutubeVideoInfo .fromVideo)
97
- .mapIndexed ((i, video) async {
98
- final siblingType = await YoutubeSourcedTrack .toSiblingType (i, video);
99
- return siblingType.info;
100
- }),
101
- ]);
102
- final activeSourceInfo =
103
- (playlist.activeTrack! as SourcedTrack ).sourceInfo;
104
- return searchResults
105
- ..removeWhere ((element) => element.id == activeSourceInfo.id)
106
- ..insert (
107
- 0 ,
108
- activeSourceInfo,
92
+ }));
93
+
94
+ final activeSourceInfo =
95
+ (playlist.activeTrack! as SourcedTrack ).sourceInfo;
96
+
97
+ return results
98
+ ..removeWhere ((element) => element.id == activeSourceInfo.id)
99
+ ..insert (
100
+ 0 ,
101
+ activeSourceInfo,
102
+ );
103
+ } else {
104
+ final resultsYt = await youtubeClient.search.search (searchTerm.trim ());
105
+
106
+ final searchResults = await Future .wait (
107
+ resultsYt
108
+ .map (YoutubeVideoInfo .fromVideo)
109
+ .mapIndexed ((i, video) async {
110
+ final siblingType =
111
+ await YoutubeSourcedTrack .toSiblingType (i, video);
112
+ return siblingType.info;
113
+ }),
109
114
);
115
+ final activeSourceInfo =
116
+ (playlist.activeTrack! as SourcedTrack ).sourceInfo;
117
+ return searchResults
118
+ ..removeWhere ((element) => element.id == activeSourceInfo.id)
119
+ ..insert (
120
+ 0 ,
121
+ activeSourceInfo,
122
+ );
123
+ }
110
124
}, [
111
125
searchTerm,
112
126
searchMode.value,
113
127
playlist.activeTrack,
128
+ preferences.audioSource,
114
129
]);
115
130
116
131
final siblings = useMemoized (
0 commit comments