Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v0.27.0 (997) #10929

Merged
merged 176 commits into from
Apr 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
176 commits
Select commit Hold shift + click to select a range
96d6b30
Migrate database
GGAutomaton Apr 13, 2022
c34549a
Update database migrations and getter/setter
GGAutomaton Apr 13, 2022
270a541
Implement algorithm to merge playlists
GGAutomaton Apr 13, 2022
813f551
Merge branch 'TeamNewPipe:dev' into feature-7870
GGAutomaton Apr 13, 2022
ba8370b
Save changes to the database and bugfix
GGAutomaton Apr 14, 2022
bfb56b4
UI design and behavior
GGAutomaton Apr 14, 2022
3c48825
Debounced saver & bugfix & clean code
GGAutomaton Apr 15, 2022
0aa08a5
Use new item holder
GGAutomaton Apr 15, 2022
c24aed0
Fix sonar warning and typo
GGAutomaton Apr 16, 2022
bd1aae8
Fix sonar warning
GGAutomaton Apr 16, 2022
bb5390d
Reuse DebounceSaver
GGAutomaton Apr 17, 2022
6526ff1
Add tests
GGAutomaton Apr 17, 2022
d32490a
Create sub-package and default interval for DebounceSaver & sort play…
GGAutomaton May 11, 2022
ba394a7
Update test and Javadoc
GGAutomaton May 11, 2022
9ecef6f
Add abstract methods in PlaylistLocalItem & rename setIsModified
GGAutomaton Jun 23, 2022
4e401bc
Update playlists in parallel
GGAutomaton Jun 23, 2022
898a936
Update index modification logic & redo sorting in the merge algorithm
GGAutomaton Jun 23, 2022
8ad7bf6
Delete saveImmediate warnings & add comments
GGAutomaton Jun 23, 2022
90f0809
Trim search string and remove duplicate records from the database
TobiGr Aug 16, 2023
4af5b5f
Fix database migration and string trimming
TobiGr Aug 16, 2023
881d04b
Refactor database migration test and string trimming
dtcxzyw May 4, 2022
ef40ac7
Fix a typo
dtcxzyw May 5, 2022
15fd47c
Apply review
TobiGr Aug 16, 2023
9118ecd
Remove unnecessary debug warning and use JDoc instead
TobiGr Aug 17, 2023
5d101e7
Added reset button but not working as intended.
vincetzr Oct 23, 2022
aa18471
Added reset button but slightly working as intended.
vincetzr Oct 25, 2022
58517d1
Added reset button but working as intended for theme.
vincetzr Oct 26, 2022
2103a04
Cleaned up xml files.
vincetzr Oct 26, 2022
076e9ee
Added alert dialogue and restarts the app when resetting settings.
vincetzr Oct 28, 2022
5c46412
Changed alert dialogue.
vincetzr Oct 28, 2022
23de9bf
clear shared preference xmls
plasticanu Oct 28, 2022
81ad50e
Added delete xml method inside the yes dialogue.
vincetzr Oct 28, 2022
06d2562
Revert changes made to dev.
vincetzr Oct 28, 2022
a239a26
Revert changes made to dev.
vincetzr Oct 28, 2022
25a7309
Revert changes made to dev.
vincetzr Oct 28, 2022
40a3e1b
Revert committed file change of settings key.
vincetzr Oct 28, 2022
d7ef9b1
Added strings to strings.xml to allow translation.
vincetzr Oct 29, 2022
ad0855a
Update app/src/main/res/xml/debug_settings.xml
vincetzr Oct 29, 2022
f2e3528
Create new settings category: Backup and restore
TobiGr Sep 17, 2023
ff1aca2
Remove strange change
TobiGr Sep 17, 2023
df2e0be
Add summary to reset preference
TobiGr Sep 17, 2023
8f4cd03
Remove mini variant and move upload date to top in comments
Stypox Apr 11, 2023
4c709b2
Use start/end instead of left/right in comment layout
Stypox Apr 11, 2023
059db6f
Add replies button to comments
Stypox Apr 11, 2023
5d350ae
Move RelatedItemInfo next to fragment using it
Stypox Apr 11, 2023
4f7b36c
Keep source list info in InfoItemBuilder
Stypox Apr 11, 2023
0dd4553
Load more items even if initial related items are empty
Stypox Apr 11, 2023
f9494a2
Implement CommentRepliesFragment
Stypox Apr 11, 2023
78cf9aa
Save and restore state in CommentRepliesFragment
Stypox Apr 11, 2023
591ed2e
Fix some code smells
Stypox Apr 11, 2023
94ea329
Always show comment replies in list mode
Stypox Apr 12, 2023
4b6392d
Set comment replies fragment title
Stypox Apr 12, 2023
ad68f78
Extract some utility methods from CommentInfoItemHolder
Stypox Apr 12, 2023
f41ab8b
Add comment replies fragment header
Stypox Apr 12, 2023
3f37e27
Add some documentation and javadocs
Stypox Apr 12, 2023
8c9287d
Revert relying on source ListInfo, use commentsInfoItem.getUrl() instead
Stypox Apr 12, 2023
5f32d00
Expand DetailFragment again when exiting the CommentRepliesFragment
TobiGr Aug 29, 2023
b4016c9
scroll last comment into view
TobiGr Aug 31, 2023
d76e9b0
Fix scrolling to correct comment after closing replies
Stypox Dec 22, 2023
aa84d6f
Add @NonNull annotations
Stypox Dec 22, 2023
2c1bb27
Merge pull request #10018 from Stypox/comment-replies
Stypox Dec 23, 2023
e4a0741
Update some AndroidX libraries
TacoTheDank Oct 31, 2023
00566ed
Fix AndroidX Work deprecation
TacoTheDank Oct 31, 2023
f3b458c
Bump compileSdk to 34
Isira-Seneviratne Oct 31, 2023
76f1e58
Utilize BundleCompat and IntentCompat methods
TacoTheDank Oct 31, 2023
f9fc1cd
Store/retrieve parcelable arrays as lists instead.
Isira-Seneviratne Oct 31, 2023
ee3455e
Merge pull request #10086 from TacoTheDank/bumpAndroidX
Stypox Dec 23, 2023
4a7fda9
Update miscellaneous libraries
TacoTheDank Nov 1, 2023
0f81a05
Use 'tasks.register' for Gradle tasks
TacoTheDank Nov 1, 2023
b31d383
Change Converters to class to fix build
TacoTheDank Nov 1, 2023
1e7e210
Exclude RxJava file from META-INF
TacoTheDank Nov 17, 2023
edd4f6b
Update Studio and desugaring versions
TacoTheDank Nov 17, 2023
5d09a88
Update more libraries
Stypox Dec 23, 2023
cda4b3f
Update AGP and Gradle
Stypox Dec 23, 2023
2b4357f
Merge pull request #10530 from TacoTheDank/bumpMiscLibraries
Stypox Dec 23, 2023
6c99557
Add playlist description to PlaylistFragment
TobiGr May 12, 2023
65eb631
Ellipsize playlist description if it is longer than 5 lines
TobiGr Jun 20, 2023
9ff1b52
Improve TextEllipsizer class
Stypox Dec 23, 2023
845e72b
Merge branch 'master' into dev
Stypox Dec 29, 2023
9220e32
Fix FeedDAOTest
Stypox Dec 29, 2023
8345f34
Merge pull request #10091 from TeamNewPipe/feat/playlist_description
Stypox Dec 29, 2023
5a4dae2
Fix settings_notification.xml indentation
Stypox Dec 29, 2023
30f0db1
Customize only 2 notification actions on Android 13+
Stypox Dec 29, 2023
aab6580
Extract NotificationSlot from NotificationActionsPreference
Stypox Dec 29, 2023
9fb8125
Allow each notification slot to contain any possible action
Stypox Dec 29, 2023
2c4c283
Extract NotificationActionData from NotificationUtil
Stypox Nov 16, 2023
5edafca
Implement notification actions via MediaSessionConnector on Android 13+
Stypox Nov 16, 2023
17e88f1
Do not update notification actions if nothing changed
Stypox Dec 29, 2023
4b1824e
Allow play/pausing from notification when buffering
Stypox Dec 29, 2023
f985486
Android 33 -> Android 13
Stypox Dec 30, 2023
1d8850d
Merge pull request #10712 from Stypox/notification-actions-api-33-2
Stypox Dec 30, 2023
04bdc1c
Base cache key on info type instead of item type
Stypox Dec 30, 2023
55373c9
Update NewPipeExtractor to include MediaCCC channel fix
Stypox Dec 30, 2023
66e8e2a
use GitHub markdown to emphasise warning in Readme
Roshanjossey Jan 1, 2024
575e809
Don't write defaultFormat setting, use default value
Profpatsch Jan 6, 2024
2051334
Bump GH actions
Goooler Jan 8, 2024
32d2606
BaseDescriptionFragment: Assert member is initialized
Profpatsch Jan 20, 2024
6dd6233
Update Matrix room URL to new link
opusforlife2 Jan 27, 2024
4aa0190
Merge pull request #10795 from TeamNewPipe/matrix_room_URL_change
AudricV Jan 28, 2024
27730a2
Update Jsoup to 1.17.2
Isira-Seneviratne Feb 5, 2024
bcd4626
Merge pull request #10817 from Isira-Seneviratne/Jsoup
AudricV Feb 5, 2024
6f7b905
Merge pull request #10740 from Goooler/gha
AudricV Feb 5, 2024
9d6ac67
Update TextLinkifier.java
eltociear Mar 18, 2024
de2a139
Merge pull request #10889 from eltociear/patch-1
TobiGr Mar 18, 2024
e6a4a3f
Translated using Weblate (Danish)
weblate Mar 18, 2024
7edd471
Merge pull request #10890 from TeamNewPipe/weblate
TobiGr Mar 18, 2024
bec18e1
Improve app signature check
Isira-Seneviratne Nov 27, 2023
2e53a99
Convert isReleaseApk to lazy value
Isira-Seneviratne Feb 5, 2024
5bdb6f1
Use hexToByteArray() extension
Isira-Seneviratne Mar 20, 2024
2e318b8
Added "free memory" check before downloading [Android N / API 24+] (#…
CloudyRowly Mar 21, 2024
206d1b6
Add separate message when download is rejected due to insufficient st…
TobiGr Mar 21, 2024
5cf3c58
Merge pull request #10732 from Profpatsch/dont-write-media-format
TobiGr Mar 25, 2024
b760419
Merge pull request #10896 from TeamNewPipe/storage-message
TobiGr Mar 26, 2024
bc7c3f4
Fix GitHub question discussion form
triallax Mar 26, 2024
f50cafb
Merge pull request #10905 from mhmdanas/fix-question-discussion-form
TobiGr Mar 26, 2024
1732584
Translated using Weblate (Danish)
weblate Mar 20, 2024
3134f5e
Don't add "question" label to question discussions (#10906)
triallax Mar 26, 2024
34a25d0
Merge pull request #10907 from TeamNewPipe/weblate
TobiGr Mar 26, 2024
0d4c1be
[CI] Update gradle/wrapper-validation-action to v2
TobiGr Mar 26, 2024
c34d30d
[CI] Update sonar job to use cache@v4
TobiGr Mar 26, 2024
434c4a5
Merge pull request #10908 from TeamNewPipe/node-20
Stypox Mar 27, 2024
b06a961
use GitHub markdown to emphasise warning in all READMEs
Stypox Mar 27, 2024
58ae7fb
Merge pull request #10724 from Roshanjossey/patch-1
Stypox Mar 27, 2024
3a014d8
Fix not considering nullability when comparing getAudioTrackType
Stypox Mar 27, 2024
bed3516
Fix non-desugared method being used
Stypox Mar 27, 2024
d8a5d55
Fix choosing audio format to mux with video-only download
Stypox Mar 28, 2024
d3afde8
Remove unused DownloadDialog.onDismissListener
Stypox Mar 28, 2024
5d9adce
Fix NPE, since dismissing a dialog still calls onViewCreated()
Stypox Mar 28, 2024
29e4135
Try to fix PR labeler
Stypox Mar 28, 2024
e0268a9
Merge pull request #10717 from Stypox/cache-key-type
Stypox Mar 28, 2024
81220f9
Merge pull request #10909 from Stypox/fix-getAudioTrackType-null
Stypox Mar 28, 2024
ddd6c8c
Changed the landscape layout of list card item
Mar 27, 2023
88c3af7
Merge pull request #9975 from Marius1501/landscape_card_mode_improve
Stypox Mar 28, 2024
e687eb5
Merge pull request #8242 from dtcxzyw/trim-search-string
Stypox Mar 28, 2024
37f7fa7
Merge branch 'dev' into pr9236
Stypox Mar 28, 2024
cefdefd
11111th commit
Stypox Mar 28, 2024
2af95cc
Merge pull request #9236 from vincetzr/Option-to-reset-settings
Stypox Mar 28, 2024
3f94e7b
Merge pull request #10912 from Stypox/download-fixes
Stypox Mar 28, 2024
b85f7a6
Some more slight improvements
Stypox Mar 28, 2024
10c57b1
Merge pull request #10781 from Profpatsch/BaseDescriptionFragment-ass…
Stypox Mar 28, 2024
1d3a69a
Move text from manual_update_title to check_for_updates
TobiGr Jan 25, 2024
a3bbbf0
Ask for consent before starting update checks
TobiGr Mar 27, 2024
3703fed
update_app_key default value should be false
Stypox Mar 29, 2024
9240268
Improve new version checks before running
Stypox Mar 29, 2024
f0beb66
Merge pull request #10790 from TeamNewPipe/update-check-consent
Stypox Mar 29, 2024
bef5907
show OverallDuration in Playlist
Apr 10, 2021
3c0a200
Merge pull request #6045 from bg172/showOverallDurationInPlaylist
Stypox Mar 29, 2024
e1ce3fe
Merge branch 'dev' into pr8221
Stypox Mar 29, 2024
4591c09
Apply review
Stypox Mar 29, 2024
92e9c3e
Fix DatabaseMigrationTest
Stypox Mar 29, 2024
e66e1b5
Also sort playlist duplicates by display index
Stypox Mar 29, 2024
90979e2
Fix PlaylistLocalItemTest
Stypox Mar 29, 2024
3cc0205
Fix inconsistencies when removing playlist
Stypox Mar 30, 2024
c9051d3
Fix warnings and allow moving only up and down even in grid
Stypox Mar 30, 2024
38d4887
Undo some unneeded changes to LocalPlaylistManager
Stypox Mar 30, 2024
4c82388
Merge pull request #8221 from GGAutomaton/feature-7870
Stypox Mar 30, 2024
5e7ad6f
Fix fragments without empty constructor
Stypox Mar 30, 2024
e42c9ab
moved player notification to notification section
pratyaksh1610 Dec 19, 2022
58f5ec0
Merge pull request #9580 from pratyaksh1610/branch-8232
Stypox Mar 30, 2024
974167f
Add comment that empty constructors are needed for IcePick
TobiGr Mar 30, 2024
0b28c68
Translated using Weblate (Estonian)
weblate Apr 1, 2024
c915b6e
Add changelog for v0.27.0 (997)
Stypox Apr 1, 2024
7abf0f4
Update NewPipeExtractor to YT comments fix PR
Stypox Apr 1, 2024
f704721
Release v0.27.0 (997)
Stypox Apr 1, 2024
13baaa3
add an intuitive prefix for the duration of lists on UI, and avoid us…
Apr 6, 2024
0ba73b1
Update NewPipeExtractor
Stypox Apr 7, 2024
3738e30
Fix NPE when avatarUrl is empty
Stypox Apr 9, 2024
67b41b9
Fix not saving comment replies state on config change
Stypox Apr 10, 2024
b3a6318
Merge pull request #10959 from Stypox/fix-comment-replies-state
AudricV Apr 10, 2024
d9da84c
Merge pull request #10957 from Stypox/fix-feed-npe
Stypox Apr 11, 2024
5bf7716
Merge pull request #10952 from bg172/release-0.27.0
Stypox Apr 11, 2024
00770fc
Update NewPipeExtractor
Stypox Apr 20, 2024
c3c39a7
Fix free storage space check for all APIs
Stypox Apr 23, 2024
caa3812
Ignore all errors when getting free storage space
Stypox Apr 23, 2024
b8daf16
Update app/src/main/java/org/schabi/newpipe/streams/io/StoredDirector…
Stypox Apr 23, 2024
d61b4b8
Merge pull request #10992 from Stypox/fix-download-nnfp
Stypox Apr 23, 2024
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
  •  
  •  
  •  
3 changes: 0 additions & 3 deletions .github/DISCUSSION_TEMPLATE/questions.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
name: Question
description: Ask about anything NewPipe-related
labels: [question]
body:
- type: markdown
attributes:
Expand Down
20 changes: 10 additions & 10 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ jobs:
contents: read

steps:
- uses: actions/checkout@v3
- uses: gradle/wrapper-validation-action@v1
- uses: actions/checkout@v4
- uses: gradle/wrapper-validation-action@v2

- name: create and checkout branch
# push events already checked out the branch
Expand All @@ -47,7 +47,7 @@ jobs:
run: git checkout -B "$BRANCH"

- name: set up JDK 17
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
java-version: 17
distribution: "temurin"
Expand All @@ -57,7 +57,7 @@ jobs:
run: ./gradlew assembleDebug lintDebug testDebugUnitTest --stacktrace -DskipFormatKtlint

- name: Upload APK
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: app
path: app/build/outputs/apk/debug/*.apk
Expand All @@ -80,10 +80,10 @@ jobs:
contents: read

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: set up JDK 17
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
java-version: 17
distribution: "temurin"
Expand All @@ -98,7 +98,7 @@ jobs:
script: ./gradlew connectedCheck --stacktrace

- name: Upload test report when tests fail # because the printed out stacktrace (console) is too short, see also #7553
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: failure()
with:
name: android-test-report-api${{ matrix.api-level }}
Expand All @@ -111,19 +111,19 @@ jobs:
contents: read

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis

- name: Set up JDK 17
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
java-version: 17
distribution: "temurin"
cache: 'gradle'

- name: Cache SonarCloud packages
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/image-minimizer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,17 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
node-version: 16

- name: Install probe-image-size
run: npm i [email protected] --ignore-scripts

- name: Minimize simple images
uses: actions/github-script@v6
uses: actions/github-script@v7
timeout-minutes: 3
with:
script: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr-labeler.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: "PR size labeler"
on: [pull_request]
on: [pull_request_target]
permissions:
contents: read
pull-requests: write
Expand Down
9 changes: 5 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<a href="https://github.com/TeamNewPipe/NewPipe/actions" alt="Build Status"><img src="https://github.com/TeamNewPipe/NewPipe/workflows/CI/badge.svg?branch=dev&event=push"></a>
<a href="https://hosted.weblate.org/engage/newpipe/" alt="Translation Status"><img src="https://hosted.weblate.org/widgets/newpipe/-/svg-badge.svg"></a>
<a href="https://web.libera.chat/#newpipe" alt="IRC channel: #newpipe"><img src="https://img.shields.io/badge/IRC%20chat-%23newpipe-brightgreen.svg"></a>
<a href="https://matrix.to/#/#newpipe:libera.chat" alt="Matrix channel: #newpipe"><img src="https://img.shields.io/badge/Matrix%20chat-%23newpipe-blue"></a>
<a href="https://matrix.to/#/#newpipe:matrix.newpipe-ev.de" alt="Matrix channel: #newpipe"><img src="https://img.shields.io/badge/Matrix%20chat-%23newpipe-blue"></a>
</p>
<hr>
<p align="center"><a href="#screenshots">Screenshots</a> &bull; <a href="#supported-services">Supported Services</a> &bull; <a href="#description">Description</a> &bull; <a href="#features">Features</a> &bull; <a href="#installation-and-updates">Installation and updates</a> &bull; <a href="#contribution">Contribution</a> &bull; <a href="#donate">Donate</a> &bull; <a href="#license">License</a></p>
Expand All @@ -22,9 +22,10 @@

*Read this document in other languages: [Deutsch](doc/README.de.md), [English](README.md), [Español](doc/README.es.md), [Français](doc/README.fr.md), [हिन्दी](doc/README.hi.md), [Italiano](doc/README.it.md), [한국어](doc/README.ko.md), [Português Brasil](doc/README.pt_BR.md), [Polski](doc/README.pl.md), [ਪੰਜਾਬੀ ](doc/README.pa.md), [日本語](doc/README.ja.md), [Română](doc/README.ro.md), [Soomaali](doc/README.so.md), [Türkçe](doc/README.tr.md), [正體中文](doc/README.zh_TW.md), [অসমীয়া](doc/README.asm.md), [Српски](doc/README.sr.md)*

<b>WARNING: THIS APP IS IN BETA, SO YOU MAY ENCOUNTER BUGS. IF YOU DO, OPEN AN ISSUE IN OUR GITHUB REPOSITORY BY FILLING OUT THE ISSUE TEMPLATE.</b>

<b>PUTTING NEWPIPE, OR ANY FORK OF IT, INTO THE GOOGLE PLAY STORE VIOLATES THEIR TERMS AND CONDITIONS.</b>
> [!warning]
> <b>THIS APP IS IN BETA, SO YOU MAY ENCOUNTER BUGS. IF YOU DO, OPEN AN ISSUE IN OUR GITHUB REPOSITORY BY FILLING OUT THE ISSUE TEMPLATE.</b>
>
> <b>PUTTING NEWPIPE, OR ANY FORK OF IT, INTO THE GOOGLE PLAY STORE VIOLATES THEIR TERMS AND CONDITIONS.</b>

## Screenshots

Expand Down
61 changes: 29 additions & 32 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,16 @@ plugins {
}

android {
compileSdk 33
compileSdk 34
namespace 'org.schabi.newpipe'

defaultConfig {
applicationId "org.schabi.newpipe"
resValue "string", "app_name", "NewPipe"
minSdk 21
targetSdk 33
versionCode 996
versionName "0.26.1"
versionCode 997
versionName "0.27.0"

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

Expand Down Expand Up @@ -98,17 +98,19 @@ android {
resources {
// remove two files which belong to jsoup
// no idea how they ended up in the META-INF dir...
excludes += ['META-INF/README.md', 'META-INF/CHANGES']
excludes += ['META-INF/README.md', 'META-INF/CHANGES',
// 'COPYRIGHT' belongs to RxJava...
'META-INF/COPYRIGHT']
}
}
}

ext {
checkstyleVersion = '10.12.1'

androidxLifecycleVersion = '2.5.1'
androidxRoomVersion = '2.5.2'
androidxWorkVersion = '2.7.1'
androidxLifecycleVersion = '2.6.2'
androidxRoomVersion = '2.6.1'
androidxWorkVersion = '2.8.1'

icepickVersion = '3.2.0'
exoPlayerVersion = '2.18.7'
Expand All @@ -118,7 +120,6 @@ ext {

leakCanaryVersion = '2.12'
stethoVersion = '1.6.0'
mockitoVersion = '4.0.0'
}

configurations {
Expand All @@ -133,7 +134,7 @@ checkstyle {
toolVersion = checkstyleVersion
}

task runCheckstyle(type: Checkstyle) {
tasks.register('runCheckstyle', Checkstyle) {
source 'src'
include '**/*.java'
exclude '**/gen/**'
Expand All @@ -154,7 +155,7 @@ task runCheckstyle(type: Checkstyle) {
def outputDir = "${project.buildDir}/reports/ktlint/"
def inputFiles = project.fileTree(dir: "src", include: "**/*.kt")

task runKtlint(type: JavaExec) {
tasks.register('runKtlint', JavaExec) {
inputs.files(inputFiles)
outputs.dir(outputDir)
getMainClass().set("com.pinterest.ktlint.Main")
Expand All @@ -163,7 +164,7 @@ task runKtlint(type: JavaExec) {
jvmArgs("--add-opens", "java.base/java.lang=ALL-UNNAMED")
}

task formatKtlint(type: JavaExec) {
tasks.register('formatKtlint', JavaExec) {
inputs.files(inputFiles)
outputs.dir(outputDir)
getMainClass().set("com.pinterest.ktlint.Main")
Expand All @@ -189,15 +190,15 @@ sonar {

dependencies {
/** Desugaring **/
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs_nio:2.0.3'
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs_nio:2.0.4'

/** NewPipe libraries **/
// You can use a local version by uncommenting a few lines in settings.gradle
// Or you can use a commit you pushed to GitHub by just replacing TeamNewPipe with your GitHub
// name and the commit hash with the commit hash of the (pushed) commit you want to test
// This works thanks to JitPack: https://jitpack.io/
implementation 'com.github.TeamNewPipe:nanojson:1d9e1aea9049fc9f85e68b43ba39fe7be1c1f751'
implementation 'com.github.TeamNewPipe:NewPipeExtractor:v0.23.1'
implementation 'com.github.TeamNewPipe:NewPipeExtractor:fbe9e6223aceac8d6f6b352afaed4cb61aed1c79'
implementation 'com.github.TeamNewPipe:NoNonsense-FilePicker:5.0.0'

/** Checkstyle **/
Expand All @@ -208,42 +209,39 @@ dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:${kotlin_version}"

/** AndroidX **/
implementation 'androidx.appcompat:appcompat:1.5.1'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.core:core-ktx:1.10.0'
implementation 'androidx.core:core-ktx:1.12.0'
implementation 'androidx.documentfile:documentfile:1.0.1'
implementation 'androidx.fragment:fragment-ktx:1.4.1'
implementation 'androidx.fragment:fragment-ktx:1.6.2'
implementation "androidx.lifecycle:lifecycle-livedata-ktx:${androidxLifecycleVersion}"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:${androidxLifecycleVersion}"
implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.1.0'
implementation 'androidx.media:media:1.6.0'
implementation 'androidx.preference:preference:1.2.0'
implementation 'androidx.recyclerview:recyclerview:1.2.1'
implementation 'androidx.media:media:1.7.0'
implementation 'androidx.preference:preference:1.2.1'
implementation 'androidx.recyclerview:recyclerview:1.3.2'
implementation "androidx.room:room-runtime:${androidxRoomVersion}"
implementation "androidx.room:room-rxjava3:${androidxRoomVersion}"
kapt "androidx.room:room-compiler:${androidxRoomVersion}"
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
// Newer version specified to prevent accessibility regressions with RecyclerView, see:
// https://developer.android.com/jetpack/androidx/releases/viewpager2#1.1.0-alpha01
implementation 'androidx.viewpager2:viewpager2:1.1.0-beta01'
implementation 'androidx.viewpager2:viewpager2:1.1.0-beta02'
implementation "androidx.work:work-runtime-ktx:${androidxWorkVersion}"
implementation "androidx.work:work-rxjava3:${androidxWorkVersion}"
implementation 'com.google.android.material:material:1.9.0'
implementation 'com.google.android.material:material:1.11.0'

/** Third-party libraries **/
// Instance state boilerplate elimination
implementation "frankiesardo:icepick:${icepickVersion}"
kapt "frankiesardo:icepick-processor:${icepickVersion}"

// HTML parser
implementation "org.jsoup:jsoup:1.16.1"
implementation "org.jsoup:jsoup:1.17.2"

// HTTP client
implementation "com.squareup.okhttp3:okhttp:4.11.0"
// okhttp3:4.11.0 introduces a vulnerability from com.squareup.okio:[email protected],
// remove com.squareup.okio:okio when updating okhttp
implementation "com.squareup.okio:okio:3.4.0"
implementation "com.squareup.okhttp3:okhttp:4.12.0"

// Media player
implementation "com.google.android.exoplayer:exoplayer-core:${exoPlayerVersion}"
Expand Down Expand Up @@ -272,19 +270,19 @@ dependencies {
implementation "io.noties.markwon:linkify:${markwonVersion}"

// Crash reporting
implementation "ch.acra:acra-core:5.10.1"
implementation "ch.acra:acra-core:5.11.3"

// Properly restarting
implementation 'com.jakewharton:process-phoenix:2.1.2'

// Reactive extensions for Java VM
implementation "io.reactivex.rxjava3:rxjava:3.1.6"
implementation "io.reactivex.rxjava3:rxjava:3.1.8"
implementation "io.reactivex.rxjava3:rxandroid:3.0.2"
// RxJava binding APIs for Android UI widgets
implementation "com.jakewharton.rxbinding4:rxbinding:4.0.0"

// Date and time formatting
implementation "org.ocpsoft.prettytime:prettytime:5.0.6.Final"
implementation "org.ocpsoft.prettytime:prettytime:5.0.7.Final"

/** Debugging **/
// Memory leak detection
Expand All @@ -297,13 +295,12 @@ dependencies {

/** Testing **/
testImplementation 'junit:junit:4.13.2'
testImplementation "org.mockito:mockito-core:${mockitoVersion}"
testImplementation "org.mockito:mockito-inline:${mockitoVersion}"
testImplementation 'org.mockito:mockito-core:5.6.0'

androidTestImplementation "androidx.test.ext:junit:1.1.5"
androidTestImplementation "androidx.test:runner:1.5.2"
androidTestImplementation "androidx.room:room-testing:${androidxRoomVersion}"
androidTestImplementation "org.assertj:assertj-core:3.23.1"
androidTestImplementation "org.assertj:assertj-core:3.24.2"
}

static String getGitWorkingBranch() {
Expand Down
Loading
Loading