diff --git a/app/libs/thunder-release.aar b/app/libs/thunder-release.aar index d38bb51c4..816bb58cc 100644 Binary files a/app/libs/thunder-release.aar and b/app/libs/thunder-release.aar differ diff --git a/app/src/main/java/com/fongmi/android/tv/ui/adapter/BaseDiffAdapter.java b/app/src/main/java/com/fongmi/android/tv/ui/adapter/BaseDiffAdapter.java index 43a13808f..079df2ac8 100644 --- a/app/src/main/java/com/fongmi/android/tv/ui/adapter/BaseDiffAdapter.java +++ b/app/src/main/java/com/fongmi/android/tv/ui/adapter/BaseDiffAdapter.java @@ -83,7 +83,7 @@ public abstract class BaseDiffAdapter & Comparable current = Stream.concat(getItems().stream(), Stream.of(item)).distinct().sorted().collect(Collectors.toList()); + List current = Stream.concat(getItems().stream(), Stream.of(item)).distinct().sorted().toList(); setItems(current, runnable); } diff --git a/thunder/build.gradle b/thunder/build.gradle index 51d9bcbeb..e0319115f 100644 --- a/thunder/build.gradle +++ b/thunder/build.gradle @@ -15,8 +15,15 @@ android { minSdk 24 targetSdk 36 } + + compileOptions { + coreLibraryDesugaringEnabled true + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } } dependencies { implementation project(':catvod') + coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs_nio:2.1.5' } \ No newline at end of file diff --git a/thunder/src/main/java/com/xunlei/downloadlib/parameter/TorrentFileInfo.java b/thunder/src/main/java/com/xunlei/downloadlib/parameter/TorrentFileInfo.java index 73dccb7c4..5ba0d0ae4 100644 --- a/thunder/src/main/java/com/xunlei/downloadlib/parameter/TorrentFileInfo.java +++ b/thunder/src/main/java/com/xunlei/downloadlib/parameter/TorrentFileInfo.java @@ -9,7 +9,7 @@ import java.util.Collections; import java.util.Comparator; import java.util.List; -public class TorrentFileInfo { +public class TorrentFileInfo implements Comparable { public boolean isSelected; public String mFileName; @@ -52,16 +52,8 @@ public class TorrentFileInfo { return getFileName().contains(".") ? getFileName().substring(getFileName().lastIndexOf(".") + 1).toLowerCase() : ""; } - public static class Sorter implements Comparator { - - public static List sort(List items) { - if (items.size() > 1) Collections.sort(items, new Sorter()); - return items; - } - - @Override - public int compare(TorrentFileInfo o1, TorrentFileInfo o2) { - return o1.getFileName().compareTo(o2.getFileName()); - } + @Override + public int compareTo(TorrentFileInfo other) { + return this.getFileName().compareToIgnoreCase(other.getFileName()); } } diff --git a/thunder/src/main/java/com/xunlei/downloadlib/parameter/TorrentInfo.java b/thunder/src/main/java/com/xunlei/downloadlib/parameter/TorrentInfo.java index 1aa3aa450..d3ec1abd8 100644 --- a/thunder/src/main/java/com/xunlei/downloadlib/parameter/TorrentInfo.java +++ b/thunder/src/main/java/com/xunlei/downloadlib/parameter/TorrentInfo.java @@ -4,7 +4,10 @@ import com.xunlei.downloadlib.Util; import java.io.File; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; import java.util.List; +import java.util.stream.Collectors; public class TorrentInfo { @@ -23,14 +26,11 @@ public class TorrentInfo { return mFile; } - private TorrentFileInfo[] getSubFileInfo() { - return mSubFileInfo == null ? new TorrentFileInfo[0] : mSubFileInfo; + private List getSubFileList() { + return mSubFileInfo == null ? Collections.emptyList() : Arrays.asList(mSubFileInfo); } public List getMedias() { - List items = new ArrayList<>(); - for (TorrentFileInfo item : getSubFileInfo()) if (Util.isMedia(item.getExt(), item.getFileSize())) items.add(item.file(getFile())); - TorrentFileInfo.Sorter.sort(items); - return items; + return getSubFileList().stream().filter(item -> Util.isMedia(item.getExt(), item.getFileSize())).map(item -> item.file(getFile())).sorted().toList(); } }