Skip to content
This repository was archived by the owner on Jan 21, 2024. It is now read-only.

Commit 5b3c971

Browse files
Merge branch 'master' into sponsorblock
# Conflicts: # .github/ISSUE_TEMPLATE/feature_request.yml # README.md # app/build.gradle # app/src/main/java/org/schabi/newpipe/DownloaderImpl.java # app/src/main/java/org/schabi/newpipe/error/ErrorActivity.java # app/src/main/java/org/schabi/newpipe/player/Player.java # app/src/main/res/values-es/strings.xml # app/src/main/res/values-so/strings.xml # app/src/main/res/values-zh-rTW/strings.xml # app/src/main/res/values/strings.xml
2 parents c2a1cc8 + 0c63950 commit 5b3c971

466 files changed

Lines changed: 9902 additions & 8944 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.

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: Bug report
22
description: Create a bug report to help us improve
3-
labels: [bug]
3+
labels: [bug, needs triage]
44
body:
55
- type: markdown
66
attributes:
@@ -20,6 +20,8 @@ body:
2020
required: true
2121
- label: "I made sure that there are *no existing issues* - [open](https://github.com/polymorphicshade/NewPipe/issues) or [closed](https://github.com/polymorphicshade/NewPipe/issues?q=is%3Aissue+is%3Aclosed) - which I could contribute my information to."
2222
required: true
23+
- label: "I have read the [FAQ](https://newpipe.net/FAQ/) and my problem isn't listed."
24+
required: true
2325
- label: "I have taken the time to fill in all the required details. I understand that the bug report will be dismissed otherwise."
2426
required: true
2527
- label: "This issue contains only one bug."
@@ -42,7 +44,7 @@ body:
4244
label: Steps to reproduce the bug
4345
description: |
4446
What did you do for the bug to show up?
45-
47+
4648
If you can't cause the bug to show up again reliably (and hence don't have a proper set of steps to give us), please still try to give as many details as possible on how you think you encountered the bug.
4749
placeholder: |
4850
1. Go to '...'
@@ -71,11 +73,11 @@ body:
7173
label: Screenshots/Screen recordings
7274
description: |
7375
A picture or video is worth a thousand words.
74-
76+
7577
If applicable, add screenshots or a screen recording to help explain your problem.
7678
GitHub supports uploading them directly in the text box.
7779
If your file is too big for Github to accept, try to compress it (ZIP-file) or feel free to paste a link to an image/video hoster here instead.
78-
80+
7981
:heavy_exclamation_mark: DON'T POST SCREENSHOTS OF THE ERROR PAGE.
8082
Instead, follow the instructions in the "Logs" section below.
8183

.github/ISSUE_TEMPLATE/feature_request.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,22 @@
11
name: Feature request
22
description: Suggest an idea for this project
3-
labels: [enhancement]
3+
labels: [enhancement, needs triage]
44
body:
55
- type: markdown
66
attributes:
77
value: |
88
Thank you for helping to make NewPipe better by suggesting a feature. :hugs:
99
1010
Your ideas are highly welcome! The app is made for you, the users, after all.
11-
1211
- type: checkboxes
1312
id: checklist
1413
attributes:
1514
label: "Checklist"
1615
options:
1716
- label: "I made sure that there are *no existing issues* - [open](https://github.com/polymorphicshade/NewPipe/issues) or [closed](https://github.com/polymorphicshade/NewPipe/issues?q=is%3Aissue+is%3Aclosed) - which I could contribute my information to."
1817
required: true
18+
- label: "I have read the [FAQ](https://newpipe.net/FAQ/) and my problem isn't listed."
19+
required: true
1920
- label: "I'm aware that this is a request for NewPipe itself and that requests for adding a new service need to be made at [NewPipeExtractor](https://github.com/TeamNewPipe/NewPipeExtractor/issues)."
2021
required: true
2122
- label: "I have taken the time to fill in all the required details. I understand that the feature request will be dismissed otherwise."
@@ -54,7 +55,7 @@ body:
5455
(This is not the place for stale upstream feature requests!)
5556
validations:
5657
required: true
57-
58+
5859
- type: textarea
5960
id: additional-information
6061
attributes:

.github/ISSUE_TEMPLATE/question.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: Question
22
description: Ask about anything NewPipe-related
3-
labels: [question]
3+
labels: [question, needs triage]
44
body:
55
- type: markdown
66
attributes:
@@ -16,6 +16,8 @@ body:
1616
options:
1717
- label: "I made sure that there are *no existing issues* - [open](https://github.com/TeamNewPipe/NewPipe/issues) or [closed](https://github.com/TeamNewPipe/NewPipe/issues?q=is%3Aissue+is%3Aclosed) - which I could contribute my information to."
1818
required: true
19+
- label: "I have read the [FAQ](https://newpipe.net/FAQ/) and my question isn't listed."
20+
required: true
1921
- label: "I have taken the time to fill in all the required details. I understand that the question will be dismissed otherwise."
2022
required: true
2123
- label: "I have read and understood the [contribution guidelines](https://github.com/TeamNewPipe/NewPipe/blob/dev/.github/CONTRIBUTING.md)."
@@ -27,7 +29,7 @@ body:
2729
label: What is/are your question(s)?
2830
validations:
2931
required: true
30-
32+
3133
- type: textarea
3234
id: additional-information
3335
attributes:

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
<!-- Delete this if it doesn't apply to your PR. -->
2626
-
2727

28-
#### APK testing
28+
#### APK testing
2929
<!-- Use a new, meaningfully named branch. The name is used as a suffix for the app ID to allow installing and testing multiple versions of NewPipe, e.g. "commentfix", if your PR implements a bugfix for comments. (No names like "patch-0" and "feature-1".) -->
3030
<!-- Remove the following line if you directly link the APK created by the CI pipeline. Directly linking is preferred if you need to let users test.-->
3131
The APK can be found by going to the "Checks" tab below the title. On the left pane, click on "CI", scroll down to "artifacts" and click "app" to download the zip file which contains the debug APK of this PR.

.github/workflows/ci.yml

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66
branches:
77
- dev
88
- master
9-
- release/**
9+
- release**
1010
paths-ignore:
1111
- 'README.md'
1212
- 'doc/**'
@@ -31,6 +31,10 @@ on:
3131
jobs:
3232
build-and-test-jvm:
3333
runs-on: ubuntu-latest
34+
35+
permissions:
36+
contents: read
37+
3438
steps:
3539
- uses: actions/checkout@v3
3640
- uses: gradle/wrapper-validation-action@v1
@@ -64,6 +68,10 @@ jobs:
6468
matrix:
6569
# api-level 19 is min sdk, but throws errors related to desugaring
6670
api-level: [ 21, 29 ]
71+
72+
permissions:
73+
contents: read
74+
6775
steps:
6876
- uses: actions/checkout@v3
6977

@@ -81,7 +89,7 @@ jobs:
8189
# workaround to emulator bug: https://github.com/ReactiveCircus/android-emulator-runner/issues/160
8290
emulator-build: 7425822
8391
script: ./gradlew connectedCheck --stacktrace
84-
92+
8593
- name: Upload test report when tests fail # because the printed out stacktrace (console) is too short, see also #7553
8694
uses: actions/upload-artifact@v3
8795
if: failure()
@@ -91,6 +99,10 @@ jobs:
9199

92100
sonar:
93101
runs-on: ubuntu-latest
102+
103+
permissions:
104+
contents: read
105+
94106
steps:
95107
- uses: actions/checkout@v3
96108
with:

.github/workflows/image-minimizer.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ on:
66
issues:
77
types: [opened, edited]
88

9+
permissions:
10+
issues: write
11+
pull-requests: write
12+
913
jobs:
1014
try-minimize:
1115
runs-on: ubuntu-latest

.github/workflows/no-response.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ on:
99
# Run daily at midnight.
1010
- cron: '0 0 * * *'
1111

12+
permissions:
13+
issues: write
14+
pull-requests: write
15+
1216
jobs:
1317
noResponse:
1418
runs-on: ubuntu-latest
@@ -17,4 +21,4 @@ jobs:
1721
with:
1822
token: ${{ github.token }}
1923
daysUntilClose: 14
20-
responseRequiredLabel: waiting-for-author
24+
responseRequiredLabel: waiting for author

app/build.gradle

Lines changed: 29 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,12 @@ android {
1414
defaultConfig {
1515
applicationId "org.polymorphicshade.newpipe"
1616
resValue "string", "app_name", "NewPipe SponsorBlock"
17-
minSdk 19
17+
minSdk 21
1818
targetSdk 29
19-
versionCode 989
20-
versionName "0.23.3"
21-
22-
multiDexEnabled true
19+
versionCode 990
20+
versionName "0.24.0"
2321

2422
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
25-
vectorDrawables.useSupportLibrary = true
2623

2724
javaCompileOptions {
2825
annotationProcessorOptions {
@@ -98,22 +95,22 @@ android {
9895
}
9996

10097
ext {
101-
checkstyleVersion = '10.0'
98+
checkstyleVersion = '10.3.1'
10299

103-
androidxLifecycleVersion = '2.3.1'
104-
androidxRoomVersion = '2.4.2'
100+
androidxLifecycleVersion = '2.5.1'
101+
androidxRoomVersion = '2.4.3'
105102
androidxWorkVersion = '2.7.1'
106103

107104
icepickVersion = '3.2.0'
108-
exoPlayerVersion = '2.17.1'
105+
exoPlayerVersion = '2.18.1'
109106
googleAutoServiceVersion = '1.0.1'
110107
groupieVersion = '2.10.1'
111108
markwonVersion = '4.6.2'
112109

113110
leakCanaryVersion = '2.5'
114111
stethoVersion = '1.6.0'
115112
mockitoVersion = '4.0.0'
116-
assertJVersion = '3.22.0'
113+
assertJVersion = '3.23.1'
117114
}
118115

119116
configurations {
@@ -182,35 +179,35 @@ sonarqube {
182179

183180
dependencies {
184181
/** Desugaring **/
185-
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
182+
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.6'
186183

187184
/** NewPipe libraries **/
188185
// You can use a local version by uncommenting a few lines in settings.gradle
189186
// Or you can use a commit you pushed to GitHub by just replacing TeamNewPipe with your GitHub
190187
// name and the commit hash with the commit hash of the (pushed) commit you want to test
191188
// This works thanks to JitPack: https://jitpack.io/
192189
implementation 'com.github.TeamNewPipe:nanojson:1d9e1aea9049fc9f85e68b43ba39fe7be1c1f751'
193-
implementation 'com.github.TeamNewPipe:NewPipeExtractor:6a858368c86bc9a55abee586eb6c733e86c26b97'
190+
implementation 'com.github.TeamNewPipe:NewPipeExtractor:5c710da160f488bb40ab2cf4469bec9bd4cefd38'
191+
implementation 'com.github.TeamNewPipe:NoNonsense-FilePicker:5.0.0'
194192

195193
/** Checkstyle **/
196194
checkstyle "com.puppycrawl.tools:checkstyle:${checkstyleVersion}"
197-
ktlint 'com.pinterest:ktlint:0.44.0'
195+
ktlint 'com.pinterest:ktlint:0.45.2'
198196

199197
/** Kotlin **/
200198
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:${kotlin_version}"
201199

202200
/** AndroidX **/
203-
implementation 'androidx.appcompat:appcompat:1.3.1'
201+
implementation 'androidx.appcompat:appcompat:1.4.2'
204202
implementation 'androidx.cardview:cardview:1.0.0'
205-
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
206-
implementation 'androidx.core:core-ktx:1.6.0'
203+
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
204+
implementation 'androidx.core:core-ktx:1.8.0'
207205
implementation 'androidx.documentfile:documentfile:1.0.1'
208-
implementation 'androidx.fragment:fragment-ktx:1.3.6'
209-
implementation "androidx.lifecycle:lifecycle-livedata:${androidxLifecycleVersion}"
210-
implementation "androidx.lifecycle:lifecycle-viewmodel:${androidxLifecycleVersion}"
206+
implementation 'androidx.fragment:fragment-ktx:1.4.1'
207+
implementation "androidx.lifecycle:lifecycle-livedata-ktx:${androidxLifecycleVersion}"
208+
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:${androidxLifecycleVersion}"
211209
implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.1.0'
212-
implementation 'androidx.media:media:1.5.0'
213-
implementation 'androidx.multidex:multidex:2.0.1'
210+
implementation 'androidx.media:media:1.6.0'
214211
implementation 'androidx.preference:preference:1.2.0'
215212
implementation 'androidx.recyclerview:recyclerview:1.2.1'
216213
implementation "androidx.room:room-runtime:${androidxRoomVersion}"
@@ -220,10 +217,9 @@ dependencies {
220217
// Newer version specified to prevent accessibility regressions with RecyclerView, see:
221218
// https://developer.android.com/jetpack/androidx/releases/viewpager2#1.1.0-alpha01
222219
implementation 'androidx.viewpager2:viewpager2:1.1.0-beta01'
223-
implementation 'androidx.webkit:webkit:1.4.0'
224220
implementation "androidx.work:work-runtime-ktx:${androidxWorkVersion}"
225221
implementation "androidx.work:work-rxjava3:${androidxWorkVersion}"
226-
implementation 'com.google.android.material:material:1.5.0'
222+
implementation 'com.google.android.material:material:1.6.1'
227223

228224
/** Third-party libraries **/
229225
// Instance state boilerplate elimination
@@ -234,11 +230,16 @@ dependencies {
234230
implementation "org.jsoup:jsoup:1.15.3"
235231

236232
// HTTP client
237-
//noinspection GradleDependency --> do not update okhttp to keep supporting Android 4.4 users
238-
implementation "com.squareup.okhttp3:okhttp:3.12.13"
233+
implementation "com.squareup.okhttp3:okhttp:4.10.0"
239234

240235
// Media player
241-
implementation "com.google.android.exoplayer:exoplayer:${exoPlayerVersion}"
236+
implementation "com.google.android.exoplayer:exoplayer-core:${exoPlayerVersion}"
237+
implementation "com.google.android.exoplayer:exoplayer-dash:${exoPlayerVersion}"
238+
implementation "com.google.android.exoplayer:exoplayer-database:${exoPlayerVersion}"
239+
implementation "com.google.android.exoplayer:exoplayer-datasource:${exoPlayerVersion}"
240+
implementation "com.google.android.exoplayer:exoplayer-hls:${exoPlayerVersion}"
241+
implementation "com.google.android.exoplayer:exoplayer-smoothstreaming:${exoPlayerVersion}"
242+
implementation "com.google.android.exoplayer:exoplayer-ui:${exoPlayerVersion}"
242243
implementation "com.google.android.exoplayer:extension-mediasession:${exoPlayerVersion}"
243244

244245
// Metadata generator for service descriptors
@@ -257,9 +258,6 @@ dependencies {
257258
implementation "io.noties.markwon:core:${markwonVersion}"
258259
implementation "io.noties.markwon:linkify:${markwonVersion}"
259260

260-
// File picker
261-
implementation "com.nononsenseapps:filepicker:4.2.1"
262-
263261
// Crash reporting
264262
implementation "ch.acra:acra-core:5.9.3"
265263

@@ -273,7 +271,7 @@ dependencies {
273271
implementation "com.jakewharton.rxbinding4:rxbinding:4.0.0"
274272

275273
// Date and time formatting
276-
implementation "org.ocpsoft.prettytime:prettytime:5.0.2.Final"
274+
implementation "org.ocpsoft.prettytime:prettytime:5.0.3.Final"
277275

278276
/** Debugging **/
279277
// Memory leak detection

app/proguard-rules.pro

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,13 @@
1818

1919
-dontobfuscate
2020
-keep class org.schabi.newpipe.extractor.timeago.patterns.** { *; }
21-
-keep class org.ocpsoft.prettytime.i18n.** { *; }
2221

2322
-keep class org.mozilla.javascript.** { *; }
2423

2524
-keep class org.mozilla.classfile.ClassFileWriter
2625
-keep class com.google.android.exoplayer2.** { *; }
2726

2827
-dontwarn org.mozilla.javascript.tools.**
29-
-dontwarn android.arch.util.paging.CountedDataSource
30-
-dontwarn android.arch.persistence.room.paging.LimitOffsetDataSource
31-
3228

3329
# Rules for icepick. Copy paste from https://github.com/frankiesardo/icepick
3430
-dontwarn icepick.**
@@ -39,12 +35,11 @@
3935
}
4036
-keepnames class * { @icepick.State *;}
4137

42-
# Rules for OkHttp. Copy paste from https://github.com/square/okhttp
38+
## Rules for OkHttp. Copy paste from https://github.com/square/okhttp
4339
-dontwarn okhttp3.**
4440
-dontwarn okio.**
45-
-dontwarn javax.annotation.**
46-
# A resource is loaded with a relative path so the package of this class must be preserved.
47-
-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase
41+
##
42+
4843
-keepclassmembers class * implements java.io.Serializable {
4944
static final long serialVersionUID;
5045
!static !transient <fields>;

app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
</receiver>
4545

4646
<service
47-
android:name=".player.MainPlayer"
47+
android:name=".player.PlayerService"
4848
android:exported="false"
4949
android:foregroundServiceType="mediaPlayback">
5050
<intent-filter>

0 commit comments

Comments
 (0)