Merge pull request #8635 from Isira-Seneviratne/Use_stream_sort

Use stream sorting.
This commit is contained in:
Stypox 2022-07-20 11:06:56 +02:00 committed by GitHub
commit 15947161e6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 19 deletions

View File

@ -3,10 +3,10 @@ package org.schabi.newpipe.database.playlist;
import org.schabi.newpipe.database.LocalItem; import org.schabi.newpipe.database.LocalItem;
import org.schabi.newpipe.database.playlist.model.PlaylistRemoteEntity; import org.schabi.newpipe.database.playlist.model.PlaylistRemoteEntity;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public interface PlaylistLocalItem extends LocalItem { public interface PlaylistLocalItem extends LocalItem {
String getOrderingName(); String getOrderingName();
@ -14,14 +14,9 @@ public interface PlaylistLocalItem extends LocalItem {
static List<PlaylistLocalItem> merge( static List<PlaylistLocalItem> merge(
final List<PlaylistMetadataEntry> localPlaylists, final List<PlaylistMetadataEntry> localPlaylists,
final List<PlaylistRemoteEntity> remotePlaylists) { final List<PlaylistRemoteEntity> remotePlaylists) {
final List<PlaylistLocalItem> items = new ArrayList<>( return Stream.concat(localPlaylists.stream(), remotePlaylists.stream())
localPlaylists.size() + remotePlaylists.size()); .sorted(Comparator.comparing(PlaylistLocalItem::getOrderingName,
items.addAll(localPlaylists); Comparator.nullsLast(String.CASE_INSENSITIVE_ORDER)))
items.addAll(remotePlaylists); .collect(Collectors.toList());
Collections.sort(items, Comparator.comparing(PlaylistLocalItem::getOrderingName,
Comparator.nullsLast(String.CASE_INSENSITIVE_ORDER)));
return items;
} }
} }

View File

@ -30,10 +30,6 @@ import org.schabi.newpipe.util.NavigationHelper;
import org.schabi.newpipe.util.external_communication.ShareUtils; import org.schabi.newpipe.util.external_communication.ShareUtils;
import org.schabi.newpipe.util.external_communication.TextLinkifier; import org.schabi.newpipe.util.external_communication.TextLinkifier;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import icepick.State; import icepick.State;
import io.reactivex.rxjava3.disposables.CompositeDisposable; import io.reactivex.rxjava3.disposables.CompositeDisposable;
@ -209,16 +205,14 @@ public class DescriptionFragment extends BaseFragment {
final ItemMetadataTagsBinding itemBinding = final ItemMetadataTagsBinding itemBinding =
ItemMetadataTagsBinding.inflate(inflater, layout, false); ItemMetadataTagsBinding.inflate(inflater, layout, false);
final List<String> tags = new ArrayList<>(streamInfo.getTags()); streamInfo.getTags().stream().sorted().forEach(tag -> {
Collections.sort(tags);
for (final String tag : tags) {
final Chip chip = (Chip) inflater.inflate(R.layout.chip, final Chip chip = (Chip) inflater.inflate(R.layout.chip,
itemBinding.metadataTagsChips, false); itemBinding.metadataTagsChips, false);
chip.setText(tag); chip.setText(tag);
chip.setOnClickListener(this::onTagClick); chip.setOnClickListener(this::onTagClick);
chip.setOnLongClickListener(this::onTagLongClick); chip.setOnLongClickListener(this::onTagLongClick);
itemBinding.metadataTagsChips.addView(chip); itemBinding.metadataTagsChips.addView(chip);
} });
layout.addView(itemBinding.getRoot()); layout.addView(itemBinding.getRoot());
} }