Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,9 @@ android {
}

compileOptions {
// Flag to enable support for the new language APIs
coreLibraryDesugaringEnabled true

sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
encoding 'utf-8'
Expand Down Expand Up @@ -144,6 +147,8 @@ afterEvaluate {
}

dependencies {
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.10'

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"

implementation "frankiesardo:icepick:${icepickVersion}"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@

import java.io.Serializable;
import java.util.Arrays;
import java.util.Comparator;

/**
* Fragment containing the software licenses.
Expand Down Expand Up @@ -64,7 +65,7 @@ public void onCreate(@Nullable final Bundle savedInstanceState) {
}
}
// Sort components by name
Arrays.sort(softwareComponents, (o1, o2) -> o1.getName().compareTo(o2.getName()));
Arrays.sort(softwareComponents, Comparator.comparing(SoftwareComponent::getName));
}

@Nullable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public interface PlaylistLocalItem extends LocalItem {
Expand All @@ -18,15 +19,8 @@ static List<PlaylistLocalItem> merge(
items.addAll(localPlaylists);
items.addAll(remotePlaylists);

Collections.sort(items, (left, right) -> {
final String on1 = left.getOrderingName();
final String on2 = right.getOrderingName();
if (on1 == null) {
return on2 == null ? 0 : 1;
} else {
return on2 == null ? -1 : on1.compareToIgnoreCase(on2);
}
});
Collections.sort(items, Comparator.comparing(PlaylistLocalItem::getOrderingName,
Comparator.nullsLast(String.CASE_INSENSITIVE_ORDER)));

return items;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@
import org.schabi.newpipe.util.ThemeHelper;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.TimeUnit;

Expand Down Expand Up @@ -495,13 +494,12 @@ public void handleResult(@NonNull final ChannelInfo result) {

// handling ContentNotSupportedException not to show the error but an appropriate string
// so that crashes won't be sent uselessly and the user will understand what happened
for (Iterator<Throwable> it = errors.iterator(); it.hasNext();) {
final Throwable throwable = it.next();
errors.removeIf(throwable -> {
if (throwable instanceof ContentNotSupportedException) {
showContentNotSupported();
it.remove();
}
}
return throwable instanceof ContentNotSupportedException;
});

if (!errors.isEmpty()) {
showSnackBarError(errors, UserAction.REQUESTED_CHANNEL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Queue;
Expand Down Expand Up @@ -758,16 +757,9 @@ private void initSuggestionObserver() {
}

// Remove duplicates
final Iterator<SuggestionItem> iterator = networkResult.iterator();
while (iterator.hasNext() && localResult.size() > 0) {
final SuggestionItem next = iterator.next();
for (final SuggestionItem item : localResult) {
if (item.query.equals(next.query)) {
iterator.remove();
break;
}
}
}
networkResult.removeIf(networkItem ->
localResult.stream().anyMatch(localItem ->
localItem.query.equals(networkItem.query)));

if (networkResult.size() > 0) {
result.addAll(networkResult);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

import icepick.State;
Expand All @@ -68,18 +69,19 @@ public class StatisticsPlaylistFragment
private HistoryRecordManager recordManager;

private List<StreamStatisticsEntry> processResult(final List<StreamStatisticsEntry> results) {
final Comparator<StreamStatisticsEntry> comparator;
switch (sortMode) {
case LAST_PLAYED:
Collections.sort(results, (left, right) ->
right.getLatestAccessDate().compareTo(left.getLatestAccessDate()));
return results;
comparator = Comparator.comparing(StreamStatisticsEntry::getLatestAccessDate);
break;
case MOST_PLAYED:
Collections.sort(results, (left, right) ->
Long.compare(right.getWatchCount(), left.getWatchCount()));
return results;
comparator = Comparator.comparingLong(StreamStatisticsEntry::getWatchCount);
break;
default:
return null;
}
Collections.sort(results, comparator.reversed());
return results;
}

///////////////////////////////////////////////////////////////////////////
Expand Down
7 changes: 3 additions & 4 deletions app/src/main/java/org/schabi/newpipe/util/ListHelper.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;

Expand Down Expand Up @@ -265,10 +266,8 @@ static List<VideoStream> getSortedStreamVideosList(final MediaFormat defaultForm
*/
private static void sortStreamList(final List<VideoStream> videoStreams,
final boolean ascendingOrder) {
Collections.sort(videoStreams, (o1, o2) -> {
final int result = compareVideoStreamResolution(o1, o2);
return result == 0 ? 0 : (ascendingOrder ? result : -result);
});
final Comparator<VideoStream> comparator = ListHelper::compareVideoStreamResolution;
Collections.sort(videoStreams, ascendingOrder ? comparator : comparator.reversed());
}

/**
Expand Down
4 changes: 4 additions & 0 deletions app/src/main/java/us/shandian/giga/get/Mission.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@ public abstract class Mission implements Serializable {
*/
public StoredFileHelper storage;

public long getTimestamp() {
return timestamp;
}

/**
* Delete the downloaded file
*
Expand Down
13 changes: 5 additions & 8 deletions app/src/main/java/us/shandian/giga/service/DownloadManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.Comparator;
import java.util.List;

import us.shandian.giga.get.DownloadMission;
import us.shandian.giga.get.FinishedMission;
Expand Down Expand Up @@ -198,7 +199,7 @@ private void loadPendingMissions(Context ctx) {
}

if (mMissionsPending.size() > 1)
Collections.sort(mMissionsPending, (mission1, mission2) -> Long.compare(mission1.timestamp, mission2.timestamp));
Collections.sort(mMissionsPending, Comparator.comparingLong(Mission::getTimestamp));
}

/**
Expand Down Expand Up @@ -563,14 +564,10 @@ private ArrayList<Object> getSpecialItems() {
synchronized (DownloadManager.this) {
ArrayList<Mission> pending = new ArrayList<>(mMissionsPending);
ArrayList<Mission> finished = new ArrayList<>(mMissionsFinished);
ArrayList<Mission> remove = new ArrayList<>(hidden);
List<Mission> remove = new ArrayList<>(hidden);

// hide missions (if required)
Iterator<Mission> iterator = remove.iterator();
while (iterator.hasNext()) {
Mission mission = iterator.next();
if (pending.remove(mission) || finished.remove(mission)) iterator.remove();
}
remove.removeIf(mission -> pending.remove(mission) || finished.remove(mission));

int fakeTotal = pending.size();
if (fakeTotal > 0) fakeTotal++;
Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ buildscript {
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.6.3'
classpath 'com.android.tools.build:gradle:4.1.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

// NOTE: Do not place your application dependencies here; they belong
Expand Down
2 changes: 1 addition & 1 deletion checkstyle-suppressions.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

<suppress checks="FinalParameters"
files="ListHelper.java"
lines="282,314"/>
lines="281,313"/>

<!-- org.schabi.newpipe.streams -->
<suppress checks="LineLength"
Expand Down
4 changes: 2 additions & 2 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#Fri May 01 19:39:41 CEST 2020
#Sat Oct 17 06:10:46 IST 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip