Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
167 commits
Select commit Hold shift + click to select a range
e6daf45
[DescriptionFragment] Fix thumbnail size: width x height
TobiGr Feb 6, 2026
e358867
Use dedicated constants for unknown image dimensions in ImageStrategy
TobiGr Feb 7, 2026
0020a02
Apply suggestion
Mar 2, 2026
0cdf40c
Merge pull request #13298 from dustdfg/shareutils_kao
Stypox Mar 2, 2026
9f45aa5
Remove freedroidwarn license
Mar 4, 2026
e173bf4
Add Sign in confirm not a bot issue URL to the exception error message
absurdlylongusername Mar 6, 2026
b8ec9bf
Maybe this fix ktlint errors?
absurdlylongusername Mar 6, 2026
dda219a
Translated using Weblate (Latvian)
weblate Mar 6, 2026
521f60a
Change URL to FAQ
absurdlylongusername Mar 7, 2026
3b3348e
Change to FAQ entry instead
absurdlylongusername Mar 7, 2026
47624a5
Complete sentence.
TobiGr Mar 8, 2026
05f09c9
Merge pull request #13310 from absurdlylongusername/add-issue-url-sig…
TobiGr Mar 8, 2026
d5f941f
Translated using Weblate (Vietnamese)
weblate Mar 8, 2026
79767f9
Merge branch 'master' into dev
TobiGr Mar 8, 2026
9cc6f9f
Merge pull request #13305 from dustdfg/remove_freedroid_license
theimpulson Mar 15, 2026
0d65733
Merge pull request #13207 from TobiGr/small-fixes
theimpulson Mar 15, 2026
6fa97e1
subscription: Port subscription import-export to workers from refactor
theimpulson Mar 15, 2026
bfcc31e
BackupRestoreSettingsFragment: add UI options to import/export subscr…
evermind-zz Feb 13, 2026
668af4f
Merge pull request #13347 from theimpulson/subscriptions
theimpulson Mar 16, 2026
223b240
Refactor zip import/export using Path
Isira-Seneviratne Jul 7, 2025
ebb9379
Fix DB import/export issue
Isira-Seneviratne Jul 7, 2025
71a3bf2
Use InputStream#transferTo()
Isira-Seneviratne Jul 7, 2025
aba2a38
Inline variable
Isira-Seneviratne Jul 8, 2025
5f1a270
Fix database import
Isira-Seneviratne Aug 25, 2025
f1c608b
Merge pull request #13352 from theimpulson/path
theimpulson Mar 18, 2026
3490008
Update dependencies and Gradle to latest stable release
theimpulson Mar 18, 2026
515bb6e
Merge pull request #13363 from theimpulson/depUpdate
TobiGr Mar 18, 2026
fbf3b7a
Translated using Weblate (Galician)
weblate Mar 27, 2026
831425a
Deleted translation using Weblate (Arabic (Najdi))
TobiGr Mar 27, 2026
08326c6
Deleted translation using Weblate (English (Middle))
TobiGr Mar 27, 2026
2fec3a3
Deleted translation using Weblate (English (Old))
TobiGr Mar 27, 2026
3f8d26d
Deleted translation using Weblate (German (Low))
TobiGr Mar 27, 2026
fa6412a
Deleted translation using Weblate (French (Louisiana))
TobiGr Mar 27, 2026
179a713
Deleted translation using Weblate (Arabic (Tunisian))
TobiGr Mar 27, 2026
80a47be
Deleted translation using Weblate (Gaelic)
TobiGr Mar 27, 2026
db61af1
Deleted translation using Weblate (Corsican)
TobiGr Mar 27, 2026
b0f2d50
Deleted translation using Weblate (Romany)
TobiGr Mar 27, 2026
cf0d701
Deleted translation using Weblate (Yiddish)
TobiGr Mar 27, 2026
3112eef
Deleted translation using Weblate (Luri (Bakhtiari))
TobiGr Mar 27, 2026
2dda392
Deleted translation using Weblate (Aymara)
TobiGr Mar 27, 2026
09c9615
Deleted translation using Weblate (Sicilian)
TobiGr Mar 27, 2026
af08ddc
Deleted translation using Weblate (Kashmiri)
TobiGr Mar 27, 2026
949f0f3
Deleted translation using Weblate (Azerbaijani (Southern))
TobiGr Mar 27, 2026
f8c9ab8
Deleted translation using Weblate (Azerbaijani (Southern))
TobiGr Mar 27, 2026
6d50fe7
Deleted translation using Weblate (Mainfränkisch)
TobiGr Mar 27, 2026
75ba70a
Deleted translation using Weblate (Aymara (Southern))
TobiGr Mar 27, 2026
da76ddb
Remove French (Lousiana) frc from app locales
TobiGr Mar 27, 2026
07a2ab2
Fix NullPointerException in enqueue actions by using Application Context
arjun1194 Mar 28, 2026
b7c339c
Merge pull request #13382 from TeamNewPipe/weblate
theimpulson Mar 29, 2026
50e8189
Merge pull request #13385 from arjun1194/fix/use-application-context-…
TobiGr Mar 29, 2026
db8edd3
Fix SecurityException when opening downloaded files in other app
TobiGr Mar 29, 2026
3aa74f1
Update extractor to latest commit
litetex Apr 8, 2026
2f14473
Merge pull request #13403 from litetex/update-extractor
TobiGr Apr 8, 2026
df6ec44
Translated using Weblate (Polish)
weblate Apr 10, 2026
0ce141f
Add changelog for NewPipe 0.28.5 (1010)
TobiGr Apr 10, 2026
148b6f7
Update NewPipe Extractor to v0.26.1
TobiGr Apr 10, 2026
24abbb8
Translated using Weblate (Chinese (Simplified Han script))
weblate Apr 10, 2026
1ce1dbe
Bump NewPipe version to 0.28.5 (1010)
TobiGr Apr 10, 2026
3e297fd
Merge pull request #13391 from TobiGr/fix/downloaderPermission
TobiGr Apr 14, 2026
4effcad
libs: Update checkstyle to latest release and fix violations
theimpulson Apr 16, 2026
2682f23
libs: Update kotlinx.serialization to latest release
theimpulson Apr 16, 2026
7a3d1d9
libs: Bump minSdk to API 23
theimpulson Apr 16, 2026
aa094bc
libs: Bump all libs stuck due to minSdk to latest release
theimpulson Apr 16, 2026
5836f3a
Merge pull request #13425 from TeamNewPipe/depUpdate
Stypox Apr 19, 2026
c4a6bdd
Remove non-required API M version checks
theimpulson Jan 19, 2026
0533326
Merge pull request #13441 from TeamNewPipe/apiMChanges
theimpulson Apr 19, 2026
a719b89
Fix playback not working after player enters idle state
priomsrb Apr 1, 2026
936d5d2
Merge pull request #13390 from priomsrb/fix-playback-after-idle
TobiGr Apr 20, 2026
bdebc92
Update extractor
TobiGr Apr 20, 2026
ec81b6b
Remove proguard rules for optional jsoup classes
TobiGr Apr 20, 2026
c169232
Merge pull request #13444 from TobiGr/extractor
theimpulson Apr 21, 2026
6740af2
Fix video playback when exiting popup to main screen (#13437)
Y2kz Apr 25, 2026
8805c9e
Translated using Weblate (Swedish)
weblate Apr 25, 2026
ff597f8
Update dependencies to latest stable releases
theimpulson Apr 26, 2026
ad7f8ba
gradle: Build with JDK 21
theimpulson Apr 21, 2026
5698245
Merge pull request #13455 from TeamNewPipe/weblate
TobiGr Apr 26, 2026
9360d2f
Cleanup KeepAndroidOpen dialog code
Stypox Apr 29, 2026
6d52522
Add popup for NewPipe dropping support for Android 5
Stypox Apr 29, 2026
6e3b858
Merge pull request #13458 from Stypox/minsdk-23-popup
Stypox May 1, 2026
9373a6c
Add changelog for v0.28.6 (1011)
Stypox May 1, 2026
d4941c4
Release v0.28.6 (1011)
Stypox May 1, 2026
6c65949
Merge pull request #13462 from Stypox/release-0.28.6
Stypox May 1, 2026
07b4fa7
Merge branch 'master' into dev
TobiGr May 1, 2026
cd171da
Merge pull request #13454 from TeamNewPipe/depUpdate
TobiGr May 3, 2026
18d54b6
Fix repeat mode UI out-of-sync when switching videos
laiosg May 16, 2026
6cd63dc
Upgrade AGP to 9.2.0
theimpulson May 4, 2026
6419b6b
Update Gradle and wrapper to 9.5.1
theimpulson May 16, 2026
c2ead90
Update libs to latest stable releases
theimpulson May 16, 2026
b6a2167
Merge pull request #13505 from theimpulson/depUpdate
TobiGr May 16, 2026
9dd0f19
Replace if-else with switch
TobiGr May 16, 2026
6f3f421
Merge pull request #13504 from laiosg/repeatmode-ui-fix
TobiGr May 16, 2026
238124c
Translated using Weblate (Russian)
weblate May 16, 2026
ef85e56
Update NewPIpe Extractor to the latest version
TobiGr May 16, 2026
cc74ac8
Initial support for compose multiplatform
theimpulson Jan 7, 2026
909bd34
Setup multiplatform settings with KMP and theme
theimpulson Mar 20, 2026
89d55ed
Initial setup for navigation display with nav3
theimpulson May 3, 2026
53f3615
Switch to new syntax for declaring SDK versions
theimpulson May 7, 2026
d1bc8c2
Better share version information between modules
theimpulson May 11, 2026
dfc3f4b
Merge pull request #13507 from theimpulson/cmp
theimpulson May 21, 2026
abf9740
proguard-rules: Keep resource classes for prettytime
theimpulson May 22, 2026
aa48a76
Merge pull request #13524 from TeamNewPipe/proguard
TobiGr May 22, 2026
0f2bbf1
shared: Add top app bar composable to reflect different active services
theimpulson May 22, 2026
01e3742
shared: Add missing settings implementation
theimpulson May 22, 2026
d4698f9
Merge pull request #13525 from theimpulson/cmp
Idadelveloper May 23, 2026
82e3e71
Update NewPipe Extractor to v0.26.2
TobiGr May 23, 2026
2865447
Add changelog for NewPipe 0.28.7 (1012)
TobiGr May 23, 2026
45af64a
Release NewPipe 0.28.7 (1012)
TobiGr May 23, 2026
d3d6b02
Merge branch 'master' into dev
TobiGr May 23, 2026
94005cf
Translated using Weblate (Dutch)
weblate May 23, 2026
50925a1
libs: Bump dependencies to latest releases
theimpulson May 24, 2026
a4abadd
gradle: Format build scripts with ktlint
theimpulson May 24, 2026
df6786c
Merge pull request #13531 from TeamNewPipe/misc
theimpulson May 24, 2026
860a900
Import and generate BOM using about libraries plugin
theimpulson May 26, 2026
0d06dd9
shared: Add composables for displaying library and link information
theimpulson May 27, 2026
43dca2b
shared: Switch to reading licenses directly
theimpulson Jun 2, 2026
8392cd5
app: Switch to compose implementation of AboutActivity
theimpulson Jun 2, 2026
ac180ce
app: Drop about activity implementation
theimpulson Jun 2, 2026
5f55717
shared: composable: Increase LinkListItem's padding
theimpulson Jun 2, 2026
dbe64a8
shared: Fix UI tests
theimpulson Jun 2, 2026
0de0114
shared: Optimize imports using ktlint
theimpulson Jun 2, 2026
ae42026
shared: Fix AboutScreen preview
theimpulson Jun 2, 2026
8c295a3
shared: composable: Ensure library's developers and licenses are avai…
theimpulson Jun 4, 2026
6208f9a
shared: Address review feedback
theimpulson Jun 6, 2026
fdb28cd
shared: Inject navigation using Koin as well
theimpulson Jun 8, 2026
b3d3f54
shared: Store license information in seaprate variable
theimpulson Jun 8, 2026
f1e145f
shared: Remove app_name from string resources
theimpulson Jun 8, 2026
2f14079
shared: Remove non-required escape characters
theimpulson Jun 8, 2026
f102205
Merge pull request #13486 from TeamNewPipe/cmp
theimpulson Jun 8, 2026
8d48431
app: Register a build variant with optimizations enabled
theimpulson Jun 9, 2026
c7e4681
gradle: Configure project's name to resolve type-safe accessor warnings
theimpulson Jun 9, 2026
30c86ab
Update NewPipe Extractor to 0.26.3
TobiGr Jun 9, 2026
4f7fd37
Add changelog for NewPipe 0.28.8 (1013)
TobiGr Jun 9, 2026
1058370
Release NewPipe 0.28.8 (1013)
TobiGr Jun 9, 2026
058810f
[YouTube] Support new client in YoutubeHttpDataSource
AudricV Jun 7, 2026
84d7db5
Merge pull request #13591 from AudricV/yt_support_properly_sabr_worka…
TobiGr Jun 9, 2026
d927f44
Merge branch 'master' into dev
TobiGr Jun 10, 2026
18d6ba3
Fix crash when seeking to the end of special videos (again)
Thompson3142 Jun 11, 2026
cf49cc4
ci: Build and test new variant with optimizations enabled
theimpulson Jun 9, 2026
87e06a4
gradle: Set continuous as the default build type
theimpulson Jun 9, 2026
192dc99
gradle: Also append git branch name to continuous builds
theimpulson Jun 11, 2026
8dc1315
Merge pull request #13590 from TeamNewPipe/misc
TobiGr Jun 12, 2026
64b09e5
Merge pull request #13594 from Thompson3142/#13450-fix_seekbar_crash
TobiGr Jun 13, 2026
ddceb10
Translated using Weblate (Somali)
weblate Jun 13, 2026
bb02927
Merge pull request #13588 from weblate/weblate-newpipe-compose
TobiGr Jun 13, 2026
9e3e8a8
Translated using Weblate (German)
weblate Jun 13, 2026
e2a659d
Merge pull request #13589 from weblate/weblate-newpipe-strings
TobiGr Jun 13, 2026
f74e7e9
update pr template
Idadelveloper Jun 13, 2026
c2c846f
Apply review suggestions
theimpulson Jun 14, 2026
b259b76
README: Remove mentions of refactor
theimpulson Jun 14, 2026
e08a9be
app: Acess themes by resource IDs instead of names
theimpulson Jun 14, 2026
ebcc72a
Merge pull request #13601 from theimpulson/theme
theimpulson Jun 14, 2026
cd48198
github: Mention PRs should be opened against dev branch
theimpulson Jun 15, 2026
20ce6d7
Merge pull request #13599 from TeamNewPipe/update-readme
TobiGr Jun 15, 2026
09cc776
Update dependencies to latest stable releases
theimpulson Jun 16, 2026
3037e51
Translated using Weblate (Korean)
weblate Jun 16, 2026
b67a715
Translated using Weblate (Chinese (Simplified Han script))
weblate Jun 16, 2026
8dcb553
Merge pull request #13611 from TeamNewPipe/depUpdate
TobiGr Jun 16, 2026
8deb2fe
Fix: Restore keyboard dismissal logic for non-touch devices
KartikeyTripathi469 Mar 27, 2026
46a5964
Merge pull request #13373 from KartikeyTripathi469/fix/keyboard-regre…
TobiGr Jun 20, 2026
c09f8af
Merge remote-tracking branch 'upstream/dev'
ChrisRed255 Jun 24, 2026
d080842
Used local copy of TubularExtractor
ChrisRed255 Jun 24, 2026
075ea22
Updated minSdk version to 23
ChrisRed255 Jun 24, 2026
64cbb0a
Fixed issues with a drawable value that was ic_newpipe_white.... to i…
ChrisRed255 Jun 24, 2026
f8085e3
Added missing api23 string values
ChrisRed255 Jun 24, 2026
72ae782
Added missing variable forceFullscreen
ChrisRed255 Jun 24, 2026
0bc372c
Removed unused imports causing source code issues when compiled
ChrisRed255 Jun 24, 2026
c946ec6
Updated app name to Tubular instead of NewPipe
ChrisRed255 Jun 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/build-release-apk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
mv app/build/outputs/apk/release/*.apk "app/build/outputs/apk/release/NewPipe_v$VERSION_NAME.apk"

- name: "Upload APK"
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: app
path: app/build/outputs/apk/release/*.apk
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ jobs:
permissions: write-all

steps:
- name: Checkout
uses: actions/checkout@v6
- uses: actions/checkout@v6
- uses: gradle/actions/wrapper-validation@v6

- name: Set up JDK 21
uses: actions/setup-java@v5
Expand All @@ -45,10 +45,10 @@ jobs:
cache: 'gradle'

- name: Build debug APK and run jvm tests
run: ./gradlew assembleDebug lintDebug testDebugUnitTest --stacktrace -DskipFormatKtlint
run: ./gradlew assembleContinuous lintContinuous testDebugUnitTest --stacktrace -DskipFormatKtlint

- name: Upload APK
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: app
path: app/build/outputs/apk/debug/*.apk
15 changes: 14 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
.gradle/
local.properties
.DS_Store
build/
**/build/
!src/**/build/
captures/
.idea/
*.iml
Expand All @@ -19,3 +20,15 @@ app/release/
bin/
.vscode/
*.code-workspace

# xcode files
xcuserdata
.externalNativeBuild
.cxx
node_modules/
*.xcodeproj/*
!*.xcodeproj/project.pbxproj
!*.xcodeproj/xcshareddata/
!*.xcodeproj/project.xcworkspace/
!*.xcworkspace/contents.xcworkspacedata
**/xcshareddata/WorkspaceSettings.xcsettings
101 changes: 66 additions & 35 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,31 @@
*/

import com.android.build.api.dsl.ApplicationExtension
import com.mikepenz.aboutlibraries.plugin.DuplicateMode
import java.util.regex.Pattern

plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.jetbrains.kotlin.android)
alias(libs.plugins.jetbrains.kotlin.kapt)
alias(libs.plugins.android.legacy.kapt)
alias(libs.plugins.google.ksp)
alias(libs.plugins.jetbrains.kotlin.parcelize)
alias(libs.plugins.jetbrains.kotlinx.serialization)
alias(libs.plugins.sonarqube)
alias(libs.plugins.about.libraries)
checkstyle
}

val gitWorkingBranch = providers.exec {
commandLine("git", "rev-parse", "--abbrev-ref", "HEAD")
}.standardOutput.asText.map { it.trim() }

java {
toolchain {
languageVersion = JavaLanguageVersion.of(17)
}
}
val defaultBranches = listOf("master", "dev")
val workingBranch = gitWorkingBranch.getOrElse("")
val normalizedWorkingBranch = workingBranch
.replaceFirst("^[^A-Za-z]+".toRegex(), "")
.replace("[^0-9A-Za-z]+".toRegex(), "")

kotlin {
jvmToolchain(21)
compilerOptions {
// TODO: Drop annotation default target when it is stable
freeCompilerArgs.addAll(
Expand All @@ -35,18 +38,22 @@ kotlin {
}

configure<ApplicationExtension> {
compileSdk = 36
namespace = "org.schabi.newpipe"
compileSdk {
version = release(NEWPIPE_VERSION_SDK_COMPILE_MAJOR) {
minorApiLevel = NEWPIPE_VERSION_SDK_COMPILE_MINOR
}
}
namespace = NEWPIPE_APPLICATION_ID_OLD

defaultConfig {
applicationId = "org.polymorphicshade.tubular"
resValue("string", "app_name", "Tubular")
minSdk = 21
minSdk = 23
targetSdk = 35

versionCode = System.getProperty("versionCodeOverride")?.toInt() ?: 1009
versionCode = System.getProperty("versionCodeOverride")?.toInt() ?: NEWPIPE_VERSION_CODE

versionName = "0.28.4"
versionName = NEWPIPE_VERSION_NAME
System.getProperty("versionNameSuffix")?.let { versionNameSuffix = it }

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
Expand All @@ -57,14 +64,7 @@ configure<ApplicationExtension> {
isDebuggable = true

// suffix the app id and the app name with git branch name
val defaultBranches = listOf("master", "dev")
val workingBranch = gitWorkingBranch.getOrElse("")
val normalizedWorkingBranch = workingBranch
.replaceFirst("^[^A-Za-z]+".toRegex(), "")
.replace("[^0-9A-Za-z]+".toRegex(), "")

if (normalizedWorkingBranch.isEmpty() || workingBranch in defaultBranches) {
// default values when branch name could not be determined or is master or dev
applicationIdSuffix = ".debug"
resValue("string", "app_name", "Tubular Debug")
} else {
Expand All @@ -85,6 +85,21 @@ configure<ApplicationExtension> {
"proguard-rules.pro"
)
}

register("continuous") {
initWith(getByName("release"))
signingConfig = signingConfigs.getByName("debug")
isDefault = true

// suffix the app id and the app name with git branch name
if (normalizedWorkingBranch.isEmpty() || workingBranch in defaultBranches) {
applicationIdSuffix = ".continuous"
resValue("string", "app_name", "Tubular")
} else {
applicationIdSuffix = ".continuous.$normalizedWorkingBranch"
resValue("string", "app_name", "Tubular $workingBranch")
}
}
}

lint {
Expand Down Expand Up @@ -136,13 +151,6 @@ ksp {
// Custom dependency configuration for ktlint
val ktlint by configurations.creating

// https://checkstyle.org/#JRE_and_JDK
tasks.withType<Checkstyle>().configureEach {
javaLauncher = javaToolchains.launcherFor {
languageVersion = JavaLanguageVersion.of(21)
}
}

checkstyle {
configDirectory = rootProject.file("checkstyle")
isIgnoreFailures = false
Expand Down Expand Up @@ -211,19 +219,20 @@ sonar {
}

dependencies {
/** Desugaring **/
// Desugaring
coreLibraryDesugaring(libs.android.desugar)

/** NewPipe libraries **/
// NewPipe libraries
implementation(projects.shared)
implementation(libs.newpipe.nanojson)
implementation(libs.newpipe.extractor)
implementation(libs.newpipe.filepicker)

/** Checkstyle **/
// Checkstyle
checkstyle(libs.puppycrawl.checkstyle)
ktlint(libs.pinterest.ktlint)

/** AndroidX **/
// AndroidX
implementation(libs.androidx.appcompat)
implementation(libs.androidx.cardview)
implementation(libs.androidx.constraintlayout)
Expand All @@ -246,7 +255,13 @@ dependencies {
implementation(libs.google.android.material)
implementation(libs.androidx.webkit)

/** Third-party libraries **/
// Coroutines interop
implementation(libs.kotlinx.coroutines.rx3)

// Kotlinx Serialization
implementation(libs.kotlinx.serialization.json)

// Third-party libraries
implementation(libs.livefront.bridge)
implementation(libs.evernote.statesaver.core)
kapt(libs.evernote.statesaver.compiler)
Expand Down Expand Up @@ -296,16 +311,15 @@ dependencies {
// Date and time formatting
implementation(libs.ocpsoft.prettytime)

/** Debugging **/
// Memory leak detection
// Debugging and memory leak detection
debugImplementation(libs.squareup.leakcanary.watcher)
debugImplementation(libs.squareup.leakcanary.plumber)
debugImplementation(libs.squareup.leakcanary.core)
// Debug bridge for Android
debugImplementation(libs.facebook.stetho.core)
debugImplementation(libs.facebook.stetho.okhttp3)

/** Testing **/
// Testing
testImplementation(libs.junit)
testImplementation(libs.mockito.core)

Expand All @@ -314,3 +328,20 @@ dependencies {
androidTestImplementation(libs.androidx.room.testing)
androidTestImplementation(libs.assertj.core)
}

aboutLibraries {
collect {
configPath = file("../config/aboutlibraries")
}
export {
outputFile = file("../shared/src/androidMain/assets/aboutlibraries.json")
prettyPrint = true
excludeFields.addAll("organization", "scm", "funding")
}
library {
exclusionPatterns = listOf(
Pattern.compile("^com\\.github\\.TeamNewPipe:NewPipeExtractor$"),
Pattern.compile("^com\\.evernote:android-state$")
)
}
}
23 changes: 18 additions & 5 deletions app/proguard-rules.pro
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,6 @@
-dontwarn javax.script.**
-keep class jdk.dynalink.** { *; }
-dontwarn jdk.dynalink.**
# Rules for jsoup
# Ignore intended-to-be-optional re2j classes - only needed if using re2j for jsoup regex
# jsoup safely falls back to JDK regex if re2j not on classpath, but has concrete re2j refs
# See https://github.com/jhy/jsoup/issues/2459 - may be resolved in future, then this may be removed
-dontwarn com.google.re2j.**

## Rules for ExoPlayer
-keep class com.google.android.exoplayer2.** { *; }
Expand All @@ -44,3 +39,21 @@
-keepclassmembers class * extends com.google.protobuf.GeneratedMessageLite {
<fields>;
}

## Keep Kotlinx Serialization classes
-keepclassmembers class kotlinx.serialization.json.** {
*** Companion;
}
-keepclasseswithmembers class kotlinx.serialization.json.** {
kotlinx.serialization.KSerializer serializer(...);
}
-keep,includedescriptorclasses class org.schabi.newpipe.**$$serializer { *; }
-keepclassmembers class org.schabi.newpipe.** {
*** Companion;
}
-keepclasseswithmembers class org.schabi.newpipe.** {
kotlinx.serialization.KSerializer serializer(...);
}

# See https://github.com/TeamNewPipe/NewPipe/issues/13508
-keep class org.ocpsoft.prettytime.i18n.Resources* { *; }
8 changes: 0 additions & 8 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -96,14 +96,6 @@
android:exported="false"
android:label="@string/title_activity_about" />

<service
android:name=".local.subscription.services.SubscriptionsImportService"
android:foregroundServiceType="dataSync" />

<service
android:name=".local.subscription.services.SubscriptionsExportService"
android:foregroundServiceType="dataSync" />

<service
android:name=".local.feed.service.FeedLoadService"
android:foregroundServiceType="dataSync" />
Expand Down
Loading