Skip to content

Commit 1594716

Browse files
authored
Merge pull request TeamNewPipe#8635 from Isira-Seneviratne/Use_stream_sort
Use stream sorting.
2 parents ae369ec + e772244 commit 1594716

2 files changed

Lines changed: 8 additions & 19 deletions

File tree

app/src/main/java/org/schabi/newpipe/database/playlist/PlaylistLocalItem.java

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,20 @@
33
import org.schabi.newpipe.database.LocalItem;
44
import org.schabi.newpipe.database.playlist.model.PlaylistRemoteEntity;
55

6-
import java.util.ArrayList;
7-
import java.util.Collections;
86
import java.util.Comparator;
97
import java.util.List;
8+
import java.util.stream.Collectors;
9+
import java.util.stream.Stream;
1010

1111
public interface PlaylistLocalItem extends LocalItem {
1212
String getOrderingName();
1313

1414
static List<PlaylistLocalItem> merge(
1515
final List<PlaylistMetadataEntry> localPlaylists,
1616
final List<PlaylistRemoteEntity> remotePlaylists) {
17-
final List<PlaylistLocalItem> items = new ArrayList<>(
18-
localPlaylists.size() + remotePlaylists.size());
19-
items.addAll(localPlaylists);
20-
items.addAll(remotePlaylists);
21-
22-
Collections.sort(items, Comparator.comparing(PlaylistLocalItem::getOrderingName,
23-
Comparator.nullsLast(String.CASE_INSENSITIVE_ORDER)));
24-
25-
return items;
17+
return Stream.concat(localPlaylists.stream(), remotePlaylists.stream())
18+
.sorted(Comparator.comparing(PlaylistLocalItem::getOrderingName,
19+
Comparator.nullsLast(String.CASE_INSENSITIVE_ORDER)))
20+
.collect(Collectors.toList());
2621
}
2722
}

app/src/main/java/org/schabi/newpipe/fragments/detail/DescriptionFragment.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,6 @@
3030
import org.schabi.newpipe.util.external_communication.ShareUtils;
3131
import org.schabi.newpipe.util.external_communication.TextLinkifier;
3232

33-
import java.util.ArrayList;
34-
import java.util.Collections;
35-
import java.util.List;
36-
3733
import icepick.State;
3834
import io.reactivex.rxjava3.disposables.CompositeDisposable;
3935

@@ -209,16 +205,14 @@ private void addTagsMetadataItem(final LayoutInflater inflater, final LinearLayo
209205
final ItemMetadataTagsBinding itemBinding =
210206
ItemMetadataTagsBinding.inflate(inflater, layout, false);
211207

212-
final List<String> tags = new ArrayList<>(streamInfo.getTags());
213-
Collections.sort(tags);
214-
for (final String tag : tags) {
208+
streamInfo.getTags().stream().sorted().forEach(tag -> {
215209
final Chip chip = (Chip) inflater.inflate(R.layout.chip,
216210
itemBinding.metadataTagsChips, false);
217211
chip.setText(tag);
218212
chip.setOnClickListener(this::onTagClick);
219213
chip.setOnLongClickListener(this::onTagLongClick);
220214
itemBinding.metadataTagsChips.addView(chip);
221-
}
215+
});
222216

223217
layout.addView(itemBinding.getRoot());
224218
}

0 commit comments

Comments
 (0)