From 6cfee4d923dd710a3beb8d4bd27b9865c8354fbf Mon Sep 17 00:00:00 2001 From: FineFindus Date: Wed, 9 Apr 2025 09:05:21 +0200 Subject: [PATCH 1/2] build: use NewPipeExtractor fork Switches from the official NewPipeExtractor versions to a soft fork, allowing fixes and other improvements that have not yet been merged upstream. For now, it just contains a fix for working with newer YT player versions and checks if a video is available. Ref: https://github.com/TeamNewPipe/NewPipeExtractor/pull/1290 Ref: https://github.com/libre-tube/LibreTube/pull/7113 Ref: https://github.com/libre-tube/NewPipeExtractor --- gradle/libs.versions.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 2f09ba32b..4496a968c 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -10,7 +10,7 @@ constraintlayout = "2.2.1" loggingInterceptor = "4.12.0" material = "1.12.0" navigation = "2.8.9" -newpipeextractor = "v0.24.5" +newpipeextractor = "bc9a5a220e" preference = "1.2.1" extJunit = "1.2.1" espresso = "3.6.1" @@ -60,7 +60,7 @@ androidx-media3-exoplayer-hls = { group = "androidx.media3", name="media3-exopla androidx-media3-exoplayer-dash = { group = "androidx.media3", name="media3-exoplayer-dash", version.ref="media3" } androidx-media3-session = { group="androidx.media3", name="media3-session", version.ref="media3" } androidx-media3-ui = { group="androidx.media3", name="media3-ui", version.ref="media3" } -newpipeextractor = { module = "com.github.TeamNewPipe:NewPipeExtractor", version.ref = "newpipeextractor" } +newpipeextractor = { module = "com.github.libre-tube:NewPipeExtractor", version.ref = "newpipeextractor" } square-retrofit = { group = "com.squareup.retrofit2", name = "retrofit", version.ref = "retrofit" } converter-kotlinx-serialization = { group = "com.squareup.retrofit2", name = "converter-kotlinx-serialization", version.ref = "retrofit" } desugaring = { group = "com.android.tools", name = "desugar_jdk_libs_nio", version.ref = "desugaring" } From d317c8d361951b7ef1374b43a4860e2c3bc2889e Mon Sep 17 00:00:00 2001 From: FineFindus Date: Sat, 5 Apr 2025 08:21:40 +0200 Subject: [PATCH 2/2] build: add new proguard-rules for NewPipeExtractor --- app/proguard-rules.pro | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 2b4d95749..abeeea494 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -118,8 +118,13 @@ ## Rules for NewPipeExtractor -keep class org.schabi.newpipe.extractor.timeago.patterns.** { *; } -keep class org.mozilla.javascript.** { *; } --keep class org.mozilla.classfile.ClassFileWriter +-keep class org.mozilla.javascript.engine.** { *; } +-dontwarn org.mozilla.javascript.JavaToJSONConverters -dontwarn org.mozilla.javascript.tools.** +-keep class javax.script.** { *; } +-dontwarn javax.script.** +-keep class jdk.dynalink.** { *; } +-dontwarn jdk.dynalink.** # This is generated automatically by the Android Gradle plugin. -dontwarn java.beans.BeanDescriptor