Skip to content

Commit 79f4f71

Browse files
committed
Merge branch 'dev' of https://github.com/TeamNewPipe/NewPipe into add_proxy_settings
# Conflicts: # app/src/main/java/org/schabi/newpipe/App.java # app/src/main/java/org/schabi/newpipe/util/image/PicassoHelper.java # app/src/main/res/values-ru/strings.xml # app/src/main/res/values/strings.xml
2 parents c37c4ef + 515bb6e commit 79f4f71

377 files changed

Lines changed: 5158 additions & 5464 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

app/build.gradle.kts

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@ import com.android.build.api.dsl.ApplicationExtension
77

88
plugins {
99
alias(libs.plugins.android.application)
10-
alias(libs.plugins.android.legacy.kapt)
10+
alias(libs.plugins.jetbrains.kotlin.android)
11+
alias(libs.plugins.jetbrains.kotlin.kapt)
1112
alias(libs.plugins.google.ksp)
1213
alias(libs.plugins.jetbrains.kotlin.parcelize)
14+
alias(libs.plugins.jetbrains.kotlinx.serialization)
1315
alias(libs.plugins.sonarqube)
1416
checkstyle
1517
}
@@ -43,9 +45,9 @@ configure<ApplicationExtension> {
4345
minSdk = 21
4446
targetSdk = 35
4547

46-
versionCode = System.getProperty("versionCodeOverride")?.toInt() ?: 1007
48+
versionCode = System.getProperty("versionCodeOverride")?.toInt() ?: 1009
4749

48-
versionName = "0.28.2"
50+
versionName = "0.28.4"
4951
System.getProperty("versionNameSuffix")?.let { versionNameSuffix = it }
5052

5153
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
@@ -78,7 +80,7 @@ configure<ApplicationExtension> {
7880
resValue("string", "app_name", "NewPipe $suffix")
7981
}
8082
isMinifyEnabled = true
81-
isShrinkResources = false // disabled to fix F-Droid"s reproducible build
83+
isShrinkResources = true
8284
proguardFiles(
8385
getDefaultProguardFile("proguard-android-optimize.txt"),
8486
"proguard-rules.pro"
@@ -87,13 +89,9 @@ configure<ApplicationExtension> {
8789
}
8890

8991
lint {
90-
checkReleaseBuilds = false
91-
// Or, if you prefer, you can continue to check for errors in release builds,
92-
// but continue the build even when errors are found:
92+
lintConfig = file("lint.xml")
93+
// Continue the debug build even when errors are found
9394
abortOnError = false
94-
// suppress false warning ("Resource IDs will be non-final in Android Gradle Plugin version
95-
// 5.0, avoid using them in switch case statements"), which affects only library projects
96-
disable += "NonConstantResourceId"
9795
}
9896

9997
compileOptions {
@@ -249,6 +247,12 @@ dependencies {
249247
implementation(libs.google.android.material)
250248
implementation(libs.androidx.webkit)
251249

250+
// Coroutines interop
251+
implementation(libs.kotlinx.coroutines.rx3)
252+
253+
// Kotlinx Serialization
254+
implementation(libs.kotlinx.serialization.json)
255+
252256
/** Third-party libraries **/
253257
implementation(libs.livefront.bridge)
254258
implementation(libs.evernote.statesaver.core)
@@ -275,7 +279,8 @@ dependencies {
275279
implementation(libs.lisawray.groupie.viewbinding)
276280

277281
// Image loading
278-
implementation(libs.squareup.picasso)
282+
implementation(libs.coil.compose)
283+
implementation(libs.coil.network.okhttp)
279284

280285
// Markdown library for Android
281286
implementation(libs.noties.markwon.core)

app/lint.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
~ SPDX-FileCopyrightText: 2026 NewPipe e.V. <https://newpipe-ev.de>
4+
~ SPDX-License-Identifier: GPL-3.0-or-later
5+
-->
6+
<lint>
7+
<issue id="MissingTranslation" severity="ignore" />
8+
<issue id="MissingQuantity" severity="ignore" />
9+
<issue id="ImpliedQuantity" severity="ignore" />
10+
</lint>

app/proguard-rules.pro

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,3 +39,23 @@
3939

4040
## For some reason NotificationModeConfigFragment wasn't kept (only referenced in a preference xml)
4141
-keep class org.schabi.newpipe.settings.notifications.** { *; }
42+
43+
# Prevent R8 from stripping or renaming Protobuf internal fields
44+
-keepclassmembers class * extends com.google.protobuf.GeneratedMessageLite {
45+
<fields>;
46+
}
47+
48+
## Keep Kotlinx Serialization classes
49+
-keepclassmembers class kotlinx.serialization.json.** {
50+
*** Companion;
51+
}
52+
-keepclasseswithmembers class kotlinx.serialization.json.** {
53+
kotlinx.serialization.KSerializer serializer(...);
54+
}
55+
-keep,includedescriptorclasses class org.schabi.newpipe.**$$serializer { *; }
56+
-keepclassmembers class org.schabi.newpipe.** {
57+
*** Companion;
58+
}
59+
-keepclasseswithmembers class org.schabi.newpipe.** {
60+
kotlinx.serialization.KSerializer serializer(...);
61+
}

app/src/main/AndroidManifest.xml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -96,14 +96,6 @@
9696
android:exported="false"
9797
android:label="@string/title_activity_about" />
9898

99-
<service
100-
android:name=".local.subscription.services.SubscriptionsImportService"
101-
android:foregroundServiceType="dataSync" />
102-
103-
<service
104-
android:name=".local.subscription.services.SubscriptionsExportService"
105-
android:foregroundServiceType="dataSync" />
106-
10799
<service
108100
android:name=".local.feed.service.FeedLoadService"
109101
android:foregroundServiceType="dataSync" />

0 commit comments

Comments
 (0)