Merge pull request #8724 from Isira-Seneviratne/toArray_improvements

Use toArray() with zero-length arrays.
This commit is contained in:
Stypox 2022-08-06 11:33:05 +02:00 committed by GitHub
commit 6f86e21605
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 16 additions and 29 deletions

View File

@ -282,11 +282,9 @@ public abstract class FragmentStatePagerAdapterMenuWorkaround extends PagerAdapt
@Nullable @Nullable
public Parcelable saveState() { public Parcelable saveState() {
Bundle state = null; Bundle state = null;
if (mSavedState.size() > 0) { if (!mSavedState.isEmpty()) {
state = new Bundle(); state = new Bundle();
final Fragment.SavedState[] fss = new Fragment.SavedState[mSavedState.size()]; state.putParcelableArray("states", mSavedState.toArray(new Fragment.SavedState[0]));
mSavedState.toArray(fss);
state.putParcelableArray("states", fss);
} }
for (int i = 0; i < mFragments.size(); i++) { for (int i = 0; i < mFragments.size(); i++) {
final Fragment f = mFragments.get(i); final Fragment f = mFragments.get(i);

View File

@ -2167,12 +2167,8 @@ public final class VideoDetailFragment
} else { } else {
final int selectedVideoStreamIndexForExternalPlayers = final int selectedVideoStreamIndexForExternalPlayers =
ListHelper.getDefaultResolutionIndex(activity, videoStreamsForExternalPlayers); ListHelper.getDefaultResolutionIndex(activity, videoStreamsForExternalPlayers);
final CharSequence[] resolutions = final CharSequence[] resolutions = videoStreamsForExternalPlayers.stream()
new CharSequence[videoStreamsForExternalPlayers.size()]; .map(VideoStream::getResolution).toArray(CharSequence[]::new);
for (int i = 0; i < videoStreamsForExternalPlayers.size(); i++) {
resolutions[i] = videoStreamsForExternalPlayers.get(i).getResolution();
}
builder.setSingleChoiceItems(resolutions, selectedVideoStreamIndexForExternalPlayers, builder.setSingleChoiceItems(resolutions, selectedVideoStreamIndexForExternalPlayers,
null); null);

View File

@ -919,7 +919,7 @@ public class SearchFragment extends BaseListFragment<SearchInfo, ListExtractor.I
filterItemCheckedId = item.getItemId(); filterItemCheckedId = item.getItemId();
item.setChecked(true); item.setChecked(true);
contentFilter = new String[]{theContentFilter.get(0)}; contentFilter = theContentFilter.toArray(new String[0]);
if (!TextUtils.isEmpty(searchString)) { if (!TextUtils.isEmpty(searchString)) {
search(searchString, contentFilter, sortFilter); search(searchString, contentFilter, sortFilter);
@ -980,8 +980,7 @@ public class SearchFragment extends BaseListFragment<SearchInfo, ListExtractor.I
isCorrectedSearch = result.isCorrectedSearch(); isCorrectedSearch = result.isCorrectedSearch();
// List<MetaInfo> cannot be bundled without creating some containers // List<MetaInfo> cannot be bundled without creating some containers
metaInfo = new MetaInfo[result.getMetaInfo().size()]; metaInfo = result.getMetaInfo().toArray(new MetaInfo[0]);
metaInfo = result.getMetaInfo().toArray(metaInfo);
showMetaInfoInTextView(result.getMetaInfo(), searchBinding.searchMetaInfoTextView, showMetaInfoInTextView(result.getMetaInfo(), searchBinding.searchMetaInfoTextView,
searchBinding.searchMetaInfoSeparator, disposables); searchBinding.searchMetaInfoSeparator, disposables);

View File

@ -14,7 +14,6 @@ import org.schabi.newpipe.util.Localization;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.SortedSet; import java.util.SortedSet;
import java.util.TreeSet; import java.util.TreeSet;
@ -115,7 +114,7 @@ public final class NotificationConstants {
}; };
public static final Integer[] SLOT_COMPACT_DEFAULTS = {0, 1, 2}; public static final List<Integer> SLOT_COMPACT_DEFAULTS = List.of(0, 1, 2);
public static final int[] SLOT_COMPACT_PREF_KEYS = { public static final int[] SLOT_COMPACT_PREF_KEYS = {
R.string.notification_slot_compact_0_key, R.string.notification_slot_compact_0_key,
@ -181,7 +180,7 @@ public final class NotificationConstants {
if (compactSlot == Integer.MAX_VALUE) { if (compactSlot == Integer.MAX_VALUE) {
// settings not yet populated, return default values // settings not yet populated, return default values
return new ArrayList<>(Arrays.asList(SLOT_COMPACT_DEFAULTS)); return new ArrayList<>(SLOT_COMPACT_DEFAULTS);
} }
// a negative value (-1) is set when the user does not want a particular compact slot // a negative value (-1) is set when the user does not want a particular compact slot

View File

@ -99,10 +99,7 @@ public final class NotificationUtil {
// build the compact slot indices array (need code to convert from Integer... because Java) // build the compact slot indices array (need code to convert from Integer... because Java)
final List<Integer> compactSlotList = NotificationConstants.getCompactSlotsFromPreferences( final List<Integer> compactSlotList = NotificationConstants.getCompactSlotsFromPreferences(
player.getContext(), player.getPrefs(), nonNothingSlotCount); player.getContext(), player.getPrefs(), nonNothingSlotCount);
final int[] compactSlots = new int[compactSlotList.size()]; final int[] compactSlots = compactSlotList.stream().mapToInt(Integer::intValue).toArray();
for (int i = 0; i < compactSlotList.size(); i++) {
compactSlots[i] = compactSlotList.get(i);
}
builder.setStyle(new androidx.media.app.NotificationCompat.MediaStyle() builder.setStyle(new androidx.media.app.NotificationCompat.MediaStyle()
.setMediaSession(player.getMediaSessionManager().getSessionToken()) .setMediaSession(player.getMediaSessionManager().getSessionToken())

View File

@ -35,6 +35,7 @@ import org.schabi.newpipe.util.ThemeHelper;
import org.schabi.newpipe.views.FocusOverlayView; import org.schabi.newpipe.views.FocusOverlayView;
import java.util.List; import java.util.List;
import java.util.stream.IntStream;
public class NotificationActionsPreference extends Preference { public class NotificationActionsPreference extends Preference {
@ -74,13 +75,11 @@ public class NotificationActionsPreference extends Preference {
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
private void setupActions(@NonNull final View view) { private void setupActions(@NonNull final View view) {
compactSlots = compactSlots = NotificationConstants.getCompactSlotsFromPreferences(getContext(),
NotificationConstants.getCompactSlotsFromPreferences( getSharedPreferences(), 5);
getContext(), getSharedPreferences(), 5); notificationSlots = IntStream.range(0, 5)
notificationSlots = new NotificationSlot[5]; .mapToObj(i -> new NotificationSlot(i, view))
for (int i = 0; i < 5; i++) { .toArray(NotificationSlot[]::new);
notificationSlots[i] = new NotificationSlot(i, view);
}
} }

View File

@ -348,8 +348,7 @@ public class WebMReader {
ensure(elemTrackEntry); ensure(elemTrackEntry);
} }
final WebMTrack[] entries = new WebMTrack[trackEntries.size()]; final WebMTrack[] entries = trackEntries.toArray(new WebMTrack[0]);
trackEntries.toArray(entries);
for (final WebMTrack entry : entries) { for (final WebMTrack entry : entries) {
switch (entry.trackType) { switch (entry.trackType) {