1
mirror of https://github.com/TeamNewPipe/NewPipe synced 2025-09-19 23:40:51 +02:00

Compare commits

...

1205 Commits

Author SHA1 Message Date
Stypox
1e8efa7165 Merge pull request #10283 from TeamNewPipe/release/0.25.2
Release v0.25.2 (994)
2023-08-02 20:14:14 +02:00
Stypox
d4019f4b54 Update NewPipeExtractor to v0.22.7 2023-08-02 20:12:55 +02:00
TobiGr
3f0f66f106 Bump version to 0.25.2 (994) 2023-08-02 20:02:22 +02:00
Hosted Weblate
8f644e8aaf Translated using Weblate (Urdu)
Currently translated at 5.3% (4 of 75 strings)

Translated using Weblate (Urdu)

Currently translated at 73.2% (501 of 684 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (684 of 684 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (75 of 75 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (75 of 75 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (75 of 75 strings)

Translated using Weblate (Polish)

Currently translated at 61.3% (46 of 75 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (75 of 75 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (75 of 75 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (684 of 684 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (684 of 684 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (684 of 684 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (684 of 684 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (684 of 684 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (684 of 684 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (684 of 684 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (684 of 684 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (684 of 684 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (684 of 684 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (684 of 684 strings)

Translated using Weblate (German)

Currently translated at 100.0% (684 of 684 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Shifa Graphics <shifagraphix@gmail.com>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: random r <epsilin@yopmail.com>
Co-authored-by: rickeesingh <rickeesingh231@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ur/
Translation: NewPipe/Metadata
2023-08-02 19:57:41 +02:00
TobiGr
27f77518fe Update NewPipe Extractor to 39a911db9f 2023-07-31 23:59:28 +02:00
Hosted Weblate
b56f3b3324 Translated using Weblate (Punjabi)
Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (French)

Currently translated at 93.2% (69 of 74 strings)

Translated using Weblate (Toki Pona)

Currently translated at 6.5% (45 of 683 strings)

Translated using Weblate (Toki Pona)

Currently translated at 2.7% (2 of 74 strings)

Translated using Weblate (French)

Currently translated at 100.0% (683 of 683 strings)

Added translation using Weblate (Toki Pona)

Translated using Weblate (ryu (generated) (ryu))

Currently translated at 96.3% (658 of 683 strings)

Translated using Weblate (English (United Kingdom))

Currently translated at 8.3% (57 of 683 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (French)

Currently translated at 100.0% (683 of 683 strings)

Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: John Donne <akheron@zaclys.net>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: William <Electroboss@users.noreply.hosted.weblate.org>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: kuragehime <kuragehime641@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tok/
Translation: NewPipe/Metadata
2023-07-31 23:46:11 +02:00
TobiGr
0195655479 Add changelog for NewPipe 0.25.2 (994) 2023-07-31 23:43:41 +02:00
Tobi
3c91ec33ae Merge pull request #10122 from TeamNewPipe/fix/media-tunneling
Disable media tunneling by default on known unsupported devices
2023-07-31 23:30:24 +02:00
Tobi
6b3f51e5ea Merge pull request #10281 from TeamNewPipe/okio
Update com.squareup.okio:okio to 3.4.0
2023-07-31 23:29:39 +02:00
TobiGr
d6a1170ddb Replace settings migration with automatic check for device blacklist version 2023-07-31 23:00:54 +02:00
TobiGr
428a7d418b Update com.squareup.okio:okio to 3.4.0
Use okio 3.4.0 explicity to fix vulnerability introduced through okhttp3 (3.3.0).
See https://www.cve.org/CVERecord?id=CVE-2023-3635 for more details on the vulnerability.
2023-07-31 21:53:49 +02:00
TobiGr
40d102fcb5 Disable media tunneling by default on new devices
Sony BRAVIA_VH1, BRAVIA_VH2, BRAVIA_ATV2, BRAVIA_ATV3_4K
Phillips 4K (O)LED TV (PH7M_EU_5596)
Panasonic 4KTV-JUP (TX_50JXW834)
Bouygtel4K (HMB9213NW)
2023-07-29 22:08:51 +02:00
TobiGr
1db73370a7 Ensure that imports handle disabling media tunneling correctly
Store in preferences whether media tunneling was disabled automatically.
Show info in ExoPlayer settings if media tunneling was disabled autmatically.
2023-07-29 22:08:51 +02:00
TobiGr
8b63b437d8 Disable media tunneling if the device is known for not supporting it
Revert removing the Utils related to media tunneling.
2023-07-29 14:13:03 +02:00
TobiGr
78e577d260 Make some constants private and annotate params 2023-07-29 14:13:03 +02:00
Tobi
96a7cc2971 Merge pull request #10250 from kuragehimekurara1/dev
Added Uchinaguchi translation and README
2023-07-24 19:36:32 +02:00
TobiGr
9eedbae879 Fix ryu translation syntax 2023-07-24 19:33:27 +02:00
kuragehime
38d3b3c7ef Added Uchinaguchi (ryu) to language selector 2023-07-24 19:31:31 +02:00
kuragehime
e4d3b74f1b Added Uchinaguchi translation 2023-07-24 19:31:31 +02:00
TobiGr
54f3003a6f Added Uchinaguchi README
Co-authored-by:  kuragehime <kuragehime641@gmail.com>
2023-07-24 19:31:31 +02:00
TobiGr
cbc7b8ce18 Fix wrongly formatted string resource audio_track_name
Closes #10243
2023-07-24 19:14:00 +02:00
Hosted Weblate
ec7d01b794 Translated using Weblate (Swedish)
Currently translated at 72.9% (54 of 74 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (German)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Dutch)

Currently translated at 64.8% (48 of 74 strings)

Translated using Weblate (German)

Currently translated at 81.0% (60 of 74 strings)

Translated using Weblate (Albanian)

Currently translated at 81.0% (552 of 681 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (681 of 681 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (681 of 681 strings)

Translated using Weblate (French)

Currently translated at 93.2% (69 of 74 strings)

Translated using Weblate (Vietnamese)

Currently translated at 33.7% (25 of 74 strings)

Translated using Weblate (Bulgarian)

Currently translated at 66.5% (453 of 681 strings)

Translated using Weblate (Finnish)

Currently translated at 87.3% (595 of 681 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (681 of 681 strings)

Translated using Weblate (German)

Currently translated at 81.0% (60 of 74 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (681 of 681 strings)

Translated using Weblate (Japanese)

Currently translated at 12.1% (9 of 74 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (681 of 681 strings)

Translated using Weblate (Vietnamese)

Currently translated at 32.4% (24 of 74 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (681 of 681 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (681 of 681 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (681 of 681 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (74 of 74 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (681 of 681 strings)

Translated using Weblate (Romanian)

Currently translated at 96.0% (654 of 681 strings)

Translated using Weblate (Japanese)

Currently translated at 99.7% (679 of 681 strings)

Translated using Weblate (Korean)

Currently translated at 12.1% (9 of 74 strings)

Translated using Weblate (Korean)

Currently translated at 12.1% (9 of 74 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (681 of 681 strings)

Translated using Weblate (Korean)

Currently translated at 100.0% (681 of 681 strings)

Translated using Weblate (German)

Currently translated at 79.7% (59 of 74 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (681 of 681 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: AhHyeon An <toto1444@gmail.com>
Co-authored-by: AioiLight <info@aioilight.space>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Anonymous <deni76@tutanota.com>
Co-authored-by: Anxhelo Lushka <anxhelo1995@gmail.com>
Co-authored-by: Arsi Kiikka <arsikiikka20@gmail.com>
Co-authored-by: David Braz <davidbrazps2@gmail.com>
Co-authored-by: Edward <edwardchirita@mailbox.org>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Etienne Barrier <etienne.barrier@gmail.com>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Igor Rückert <igorruckert@yahoo.com.br>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: MJ Kim <faith@users.noreply.hosted.weblate.org>
Co-authored-by: Philip Goto <philip.goto@gmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: TXRdev Archive <lckphanaf9999@gmail.com>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: kuragehime <kuragehime641@gmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: ngocanhtve <ngocanh.tve@gmail.com>
Co-authored-by: random r <epsilin@yopmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: zmni <zmni@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ja/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ko/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/vi/
Translation: NewPipe/Metadata
2023-07-24 19:04:23 +02:00
Tobi
3edd4c012d Merge pull request #10195 from AudricV/player_refactor-renderers-activation-or-deactivation
Refactor Player.useVideoSource logic and improve its comments
2023-07-22 14:12:35 +02:00
Tobi
3243f97ff2 Merge pull request #10233 from TeamNewPipe/actions/mimmizer-pr
Minimize images in PR descriptions
2023-07-20 23:18:03 +02:00
Isira Seneviratne
c658f28b02 Merge pull request #10078 from Isira-Seneviratne/Improve_feed_notifications
Improve new stream notifications
2023-07-20 06:39:19 +05:30
AudricV
5ab3a4a9e0 Refactor Player.useVideoSource logic and improve its comments
- don't check for isAudioOnly == !videoEnabled, as this prevents enabling again
video and text tracks renderers in some cases;
- when reloading play queue manager if that's needed, disable or enable video
and text tracks renderers, as they may need to be enabled again in some cases
like starting a video in main player, opening play queue, switching to
background player on it and switching back to main player;
- disable or enable video renderers also for streams with AUDIO_STREAM
StreamType, as doing so doesn't raise any issue and simplifies code;
- reword and move some comments to make them easier to understand.
2023-07-19 22:52:18 +02:00
Isira Seneviratne
cb00c57009 Set channel icon for stream notifications 2023-07-19 05:52:59 +05:30
Tobi
cd2884d412 Merge pull request #10235 from TacoTheDank/bumpRoom
Update AndroidX Room library
2023-07-18 22:35:30 +02:00
Tobi
471137093a Merge pull request #9719 from Marius1501/tabs_on_bottom
Added bottom main-tabs feature
2023-07-18 22:03:47 +02:00
Tobi
57064479c8 Merge pull request #8456 from SydneyDrone/database_tests
Add database test for SubscriptionManager
2023-07-18 08:55:35 +02:00
Stypox
528bd502b4 Improve SubscriptionManager tests
- fix checkstyle errors
- tests do not run in order, so each one has to do its own assertions separately from what others did
- the uid of an entity in the database needn't be the same of the one created in-memory, since the uid gets assigned upon inserting in the database
- some database functions return a `Completable` that doesn't do anything until it is subscribed to or awaited, so I added `.awaitBlocking()` where needed
- the data of an entity in-memory does not get updated automatically when the corresponding entity in the database is changed, so some tests have been removed
- `manager.insertSubscription` only inserts recent streams, so they need to have a date set on them (I also made related items hardcoded and not dependent on what the channel is currently doing)
2023-07-18 08:36:29 +02:00
SydneyDrone
90bc1905f5 Create SubscriptionManagerTest.java 2023-07-18 08:36:29 +02:00
TacoTheDank
a01e59e9db Update AndroidX Room library 2023-07-17 21:09:44 -04:00
TacoTheDank
3f944c1bb2 Fix MigrationTestHelper deprecation 2023-07-17 21:09:21 -04:00
Tobi
43ef852117 Merge pull request #10230 from TeamNewPipe/fix/offline-stream-chooser
[Download] Fix audio stream selection
2023-07-17 23:47:21 +02:00
TobiGr
bf22515bcd Fix README 2023-07-17 22:18:08 +02:00
Tobi
4c17c7b45b Merge pull request #10240 from TeamNewPipe/readmes
Add translated READMEs
2023-07-17 22:08:31 +02:00
TobiGr
ec21200787 Add links to all READMEs 2023-07-17 21:38:26 +02:00
TobiGr
25fea73704 Add Russian README
Taken from #8711 with updated screenshots

Co-authored-by:  Vik <63919734+ViktorOn@users.noreply.github.com>
2023-07-17 21:38:26 +02:00
TobiGr
2377d85efb Add German README
Taken from #8712 with updated screenshots and applied reviews.

Co-authored-by: Nico Haas <nico.haas@aisec.fraunhofer.de>
Co-authored-by: poolitzer <github@poolitzer.eu>
Co-authered-by: TobiGr <tobigr@users.noreply.github.com>
2023-07-17 21:38:26 +02:00
TobiGr
ddef550637 Add French README
Taken from #9296 with updated screenshots

Co-authored-by: eze-kiel <hugoblanc@fastmail.com>
2023-07-17 21:38:26 +02:00
Tobi
2f0ed7f3b7 Merge pull request #10232 from Stypox/leakcanary-fix
Fix LeakCanary startup in debug builds and fix a memory leak
2023-07-17 19:42:24 +02:00
TobiGr
b6bdd359d6 Add Assamese README
Taken from #9618 with updated screenshots

Co-authored-by:  Abhilash <121420261+WirelessAlien@users.noreply.github.com>
2023-07-17 18:54:38 +02:00
TobiGr
a4453bc699 Add Punjabi README
Taken from #9621 with updated screenshots.

Co-authored-by:  K Gill <60492161+ShareASmile@users.noreply.github.com>
2023-07-17 18:54:38 +02:00
TobiGr
3e87c40856 Add Italian README
Taken from #10157

Co-authored-by:  Mirko Di <84203046+mirk0dex@users.noreply.github.com>
2023-07-17 18:54:38 +02:00
Tobi
d80e531a2e Merge pull request #9421 from seojun0924/patch-2
Update README.ko.md
2023-07-17 16:28:48 +02:00
Tobi
d25e84a461 Merge pull request #9897 from rogerjs93/patch-1
Update README.es.md
2023-07-17 01:40:17 +02:00
TobiGr
05cc520665 Fix pure logo
The previous version was not properly vertically aligned. The default alignement from the logo is used now.
2023-07-17 01:28:55 +02:00
TobiGr
eeec6fd002 Replace null check with use of NotificationManagerCompat.from 2023-07-17 01:28:55 +02:00
Isira Seneviratne
795bc82c7f Show number of new streams in the collapsed summary notification. 2023-07-17 01:28:55 +02:00
Isira Seneviratne
7742c40ac0 Create individual stream notifications for convenience on Android 7.0 and later. 2023-07-17 01:28:55 +02:00
TobiGr
d9e2ada369 Minimize images in PR descriptions 2023-07-15 02:33:53 +02:00
Stypox
5d6158ea76 No need to manually mark fragment as destroyed for LeakCanary
It already does so automatically.
2023-07-14 20:48:05 +02:00
Stypox
00257e969e Fix PlayerService leakead by Binder instance
Also see https://stackoverflow.com/q/63787707
2023-07-14 18:34:20 +02:00
Stypox
135f0f7249 Make all leak canary libs debugImplementation-only 2023-07-14 18:32:30 +02:00
Stypox
fdd8b76add Fix DebugApp doing unneeded AppWatcher.manualInstall 2023-07-14 18:32:04 +02:00
TobiGr
6b7ffbba4c [Download] Fix audio stream selection
Closes #10180
2023-07-14 17:06:12 +02:00
Tobi
8cfba4003d Merge pull request #10229 from Koitharu/bugfix/feed_crash
Fix crash after feed update
2023-07-14 15:31:12 +02:00
Koitharu
01b46edf1a Fix crash after feed update 2023-07-14 11:41:52 +03:00
Stypox
f8599d17c2 Merge pull request #10085 from TacoTheDank/bumpLeakCanary
Update LeakCanary library
2023-07-12 19:05:38 +02:00
Stypox
5c7a9a52f5 Merge pull request #10223 from TacoTheDank/cleanAlertDialogs
Clean up AlertDialogs
2023-07-12 19:02:57 +02:00
TacoTheDank
c1f0a945c0 Clean up AlertDialogs 2023-07-11 21:54:10 -04:00
TacoTheDank
db7de05f2b Update LeakCanary library 2023-07-11 20:32:29 -04:00
Stypox
e33bb676f9 Merge pull request #10219 from TeamNewPipe/PR-template-wiki-link
Add link to wiki page for APK download
2023-07-08 23:01:48 +02:00
Tobi
30724dbc50 Add link to wiki page for APK download 2023-07-08 22:49:10 +02:00
Stypox
e765343162 Merge pull request #10166 from TeamNewPipe/fix/image-workflow
Add support for new GitHub assets URLs in image minimizer workflow
2023-07-08 22:18:16 +02:00
Tobi
62ce0b0408 Merge pull request #10213 from Stypox/update-screenshots
Update screenshots
2023-07-08 12:33:59 +02:00
Stypox
3bbc606694 Update screenshots in translated READMEs 2023-07-07 20:57:42 +02:00
Stypox
56eec9fed1 Add separation between tablet and phone images 2023-07-07 20:57:42 +02:00
Stypox
ea0d798ea0 Update README screenshots 2023-07-07 20:57:41 +02:00
Stypox
5716d51112 Update screenshots 2023-07-07 20:57:41 +02:00
Tobi
d845a158f0 Merge pull request #10200 from TeamNewPipe/fix/acra
Update ACRA and Checkstyle to fix a dependency vulnerability
2023-07-02 00:16:54 +02:00
TobiGr
1a2fbd8122 Update acra and checkstyle fixing vulnerability in dependency com.google.guava
See https://app.snyk.io/org/thescrabi/project/27dc214e-7f4f-47bb-a77c-443201491254
2023-07-01 13:30:37 +02:00
TobiGr
8bdeed8f28 Add support for new GitHub assetes URLs in image minimizer workflow 2023-06-15 16:03:30 +02:00
Tobi
3c87462203 Merge pull request #10164 from TeamNewPipe/weblate
Update weblate & fix conflicts
2023-06-14 12:55:16 +02:00
TobiGr
3622438a9d Translated using Weblate (Arabic)
Currently translated at 55.4% (41 of 74 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Malayalam)

Currently translated at 83.7% (572 of 683 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (French)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Tigrinya)

Currently translated at 2.1% (15 of 683 strings)

Translated using Weblate (Tigrinya)

Currently translated at 4.0% (3 of 74 strings)

Translated using Weblate (Norwegian Nynorsk)

Currently translated at 22.2% (152 of 683 strings)

Translated using Weblate (Turkish)

Currently translated at 98.8% (675 of 683 strings)

Added translation using Weblate (Tigrinya)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (683 of 683 strings)

Added translation using Weblate (Kannada)

Translated using Weblate (Norwegian Nynorsk)

Currently translated at 13.4% (92 of 683 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Korean)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Korean)

Currently translated at 12.1% (9 of 74 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (683 of 683 strings)

Added translation using Weblate (English (Middle))

Added translation using Weblate (English (Old))

Added translation using Weblate (Sicilian)

Added translation using Weblate (Aymara)

Added translation using Weblate (Arabic (Najdi))

Added translation using Weblate (Kashmiri)

Added translation using Weblate (German (Low))

Translated using Weblate (Korean)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Latvian)

Currently translated at 93.7% (640 of 683 strings)

Translated using Weblate (Dutch)

Currently translated at 64.8% (48 of 74 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 95.9% (71 of 74 strings)

Translated using Weblate (German)

Currently translated at 74.3% (55 of 74 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Korean)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (683 of 683 strings)

Deleted translation using Weblate (Kashmiri)

Deleted translation using Weblate (Arabic (Najdi))

Deleted translation using Weblate (Aymara)

Deleted translation using Weblate (Sicilian)

Deleted translation using Weblate (English (Old))

Deleted translation using Weblate (English (Middle))

Deleted translation using Weblate (German (Low))

Translated using Weblate (Belarusian)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Slovak)

Currently translated at 17.5% (13 of 74 strings)

Translated using Weblate (French)

Currently translated at 90.5% (67 of 74 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Hebrew)

Currently translated at 99.2% (678 of 683 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Italian)

Currently translated at 97.2% (664 of 683 strings)

Translated using Weblate (Hungarian)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (French)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (German)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (German)

Currently translated at 100.0% (683 of 683 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: AhHyeon An <toto1444@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Alexthegib <jcwkgxc@nightorb.com>
Co-authored-by: Arnis Jaundzeikars <sangsatori@theradiant.space>
Co-authored-by: AudricV <AudricV@users.noreply.hosted.weblate.org>
Co-authored-by: Balázs Meskó <meskobalazs@mailbox.org>
Co-authored-by: Domokun <domokun@asdasd.nl>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Hoseok Seo <ddinghoya@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Marian Hanzel <marulinko@gmail.com>
Co-authored-by: Nidi <nizamismidov4@gmail.com>
Co-authored-by: Olivia Ng <uloo592@gmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: Surfoo <surfooo@gmail.com>
Co-authored-by: TobiGr <tobigr@mail.de>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: ai <woldu@duck.com>
Co-authored-by: atilluF <110931720+atilluF@users.noreply.github.com>
Co-authored-by: ctntt <pavlov_mainstreamed@slmail.me>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: gbpu <gui.beppu@gmail.com>
Co-authored-by: gymka <gymka@archlinux.lt>
Co-authored-by: jeffin-v <jeffin@posteo.net>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: random r <epsilin@yopmail.com>
Co-authored-by: thami simo <simo.azad@gmail.com>
Co-authored-by: tryvseu <tryvseu@tuta.io>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Co-authored-by: 이정희 <daemul72@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/az/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ko/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ti/
Translation: NewPipe/Metadata

Translated using Weblate (Hungarian)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Galician)

Currently translated at 99.7% (681 of 683 strings)

Translated using Weblate (Hungarian)

Currently translated at 17.5% (13 of 74 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hu/

Translated using Weblate (Hindi)

Currently translated at 100.0% (74 of 74 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/

Translated using Weblate (N’Ko)

Currently translated at 98.5% (673 of 683 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (683 of 683 strings)
2023-06-14 12:01:36 +02:00
Isira Seneviratne
1848892ff8 Merge pull request #10076 from Isira-Seneviratne/Remove_unused_resources
Remove unused resources
2023-06-09 12:49:45 +05:30
Tobi
72c6ed2804 Merge pull request #10066 from Stypox/swap-subchannel-avatar
Fix uploader and subchannel avatars being swapped and disable loading thumbnail message failure on content details page
2023-06-05 23:24:12 +02:00
Tobi
42de2c7033 Merge pull request #10141 from quarthex/add-peertube.stream
handle links to the PeerTube instance “peertube.stream”
2023-06-05 23:20:38 +02:00
Romain
6bcc8691fa handle links to the PeerTube instance “peertube.stream”
also sort the lines, because it will quickly become a mess otherwise
2023-06-05 20:34:55 +02:00
Isira Seneviratne
6cf13ed8fb Merge pull request #10087 from TacoTheDank/bumpLibraries
Update some libraries
2023-06-02 08:49:12 +05:30
Isira Seneviratne
ad75db40df Merge pull request #10088 from TacoTheDank/organizeProguard
Organize the proguard file
2023-06-02 06:00:22 +05:30
TacoTheDank
4e3bf3c2f9 Update some libraries 2023-05-30 12:22:05 -04:00
Stypox
1925687f18 Merge pull request #10089 from TacoTheDank/fixUnresolvedExtractor
Fix unresolved extractor
2023-05-26 11:55:41 +02:00
Stypox
577301c4eb Proper filename for questions discussion template 2023-05-26 11:52:26 +02:00
Tobi
c87b42de1c Merge pull request #10120 from Stypox/move-questions
Move questions to Discussions
2023-05-26 11:15:01 +02:00
Stypox
c8e8915c2e Move questions to Discussions 2023-05-26 11:05:32 +02:00
Stypox
17cdedfa85 Merge pull request #10119 from Stypox/rewrite-announcement
Add rewrite announcement to readme
2023-05-26 10:35:37 +02:00
Stypox
677bb4070f Add rewrite announcement to readme 2023-05-26 10:34:33 +02:00
TacoTheDank
fe82029dc7 Fix unresolved extractor 2023-05-12 01:12:12 -04:00
TacoTheDank
0ab9961908 Organize the proguard file 2023-05-12 01:09:08 -04:00
Isira Seneviratne
ecbf5d5ead Remove unused resources. 2023-05-08 06:27:41 +05:30
Tobi
df430badbc Merge pull request #10042 from MBKaba/patch-1
add language ߒߞߏ (nqo)
2023-05-06 23:28:55 +02:00
Tobi
8639972a54 Merge pull request #10074 from TeamNewPipe/weblate
Update translations
2023-05-06 23:03:54 +02:00
TobiGr
41038f452d Remove translations of previously deleted string brightness_gesture_control_summary 2023-05-06 02:01:54 +02:00
TobiGr
2f31ea8864 Remove translations of previously deleted string brightness_gesture_control_title 2023-05-06 01:58:33 +02:00
TobiGr
e831059162 Remove translations of previously deleted string volume_gesture_control_summary 2023-05-06 01:55:36 +02:00
TobiGr
e109e8cf1c Remove translations of previously deleted string volume_gesture_control_title 2023-05-06 01:52:31 +02:00
TobiGr
f1524b6aba Remove translations of previously deleted string feed_toggle_show_played_items 2023-05-06 01:48:16 +02:00
TobiGr
51ee6f87e0 Remove translations of previously deleted string feed_toggle_hide_played_items 2023-05-06 01:48:08 +02:00
TobiGr
0bb3e7cb86 Translated using Weblate (Belarusian)
Currently translated at 6.7% (5 of 74 strings)

Translated using Weblate (Belarusian)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (N’Ko)

Currently translated at 12.9% (86 of 664 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 99.3% (660 of 664 strings)

Translated using Weblate (Estonian)

Currently translated at 99.6% (662 of 664 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (German)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (N’Ko)

Currently translated at 0.0% (0 of 74 strings)

Translated using Weblate (N’Ko)

Currently translated at 8.9% (59 of 661 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Vietnamese)

Currently translated at 99.6% (659 of 661 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 100.0% (661 of 661 strings)

Added translation using Weblate (N’Ko)

Translated using Weblate (Bambara)

Currently translated at 0.1% (1 of 661 strings)

Translated using Weblate (Bambara)

Currently translated at 1.3% (1 of 74 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (74 of 74 strings)

Added translation using Weblate (Bambara)

Merge branch 'origin/dev' into Weblate.

Translated using Weblate (Estonian)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 100.0% (661 of 661 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Alexthegib <jcwkgxc@nightorb.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Bakary Kaba <mbkaba@live.fr>
Co-authored-by: Bdd55oo <giggzuv9z.eofjx@aleeas.com>
Co-authored-by: Edward <edwardchirita@mailbox.org>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Hoàng Lâm Lê <work.lehoanglam@gmail.com>
Co-authored-by: Igor Nedoboy <i.nedoboy@mail.ru>
Co-authored-by: Igor Rückert <igorruckert@yahoo.com.br>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Nidi <nizamismidov4@gmail.com>
Co-authored-by: Olivia Ng <uloo592@gmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: mono <monodevx@gmail.com>
Co-authored-by: random r <epsilin@yopmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/be/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bm/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/cs/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nqo/
Translation: NewPipe/Metadata

Translated using Weblate (German)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (French)

Currently translated at 99.3% (660 of 664 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Catalan)

Currently translated at 93.2% (619 of 664 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (N’Ko)

Currently translated at 41.4% (275 of 664 strings)

Translated using Weblate (N’Ko)

Currently translated at 4.0% (3 of 74 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nqo/

Translated using Weblate (Dutch)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Turkish)

Currently translated at 99.3% (660 of 664 strings)

Translated using Weblate (Georgian)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (N’Ko)

Currently translated at 67.9% (451 of 664 strings)

Translated using Weblate (French)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (French)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Odia)

Currently translated at 98.9% (657 of 664 strings)

Translated using Weblate (N’Ko)

Currently translated at 84.6% (562 of 664 strings)

Translated using Weblate (Odia)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Odia)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Turkish)

Currently translated at 99.5% (661 of 664 strings)

Translated using Weblate (Odia)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Odia)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (N’Ko)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (Odia)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (N’Ko)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (French)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (N’Ko)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (German)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (N’Ko)

Currently translated at 100.0% (664 of 664 strings)

Translated using Weblate (N’Ko)

Currently translated at 5.4% (4 of 74 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nqo/

Translated using Weblate (N’Ko)

Currently translated at 9.4% (7 of 74 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nqo/
2023-05-06 01:47:58 +02:00
Tobi
4bf063645a Merge pull request #10067 from Stypox/update-gradle-again
Update Android Gradle Plugin to 8.0.1
2023-05-04 10:33:57 +00:00
Stypox
9866eab60f Update Android Gradle Plugin to 8.0.1 2023-05-03 11:18:12 +02:00
Stypox
10c42de2f1 Fix uploader and subchannel avatars swapped 2023-05-03 10:35:28 +02:00
Stypox
e1fd25fb71 Merge pull request #10046 from Stypox/ktlint-java17
Fix ktlint formatter after upgrade to Java 17
2023-05-02 13:43:44 +02:00
Stypox
2315b082ff Merge pull request #9937 from Theta-Dev/alang-selector
Add support for multiple audio tracks
2023-05-02 10:07:21 +02:00
AudricV
023f6166ab Add Open in browser button to audio external players dialog
This change makes the dialog consistent with the video one.
2023-05-02 00:18:46 +02:00
AudricV
d89a3c6c4d Remove "default" from audio track already present message
We don't know if, on muxed video streams we get for all services which support
multiple audio languages, that the audio language returned is the original one
or not, even if it should be the case.

In order to avoid saying potential false information, this word has been
removed from the string resource (ID and value) and the corresponding layout ID
in the download dialog.
2023-05-02 00:11:09 +02:00
ThetaDev
fb00ee8cf9 [YouTube] Improve download speed (#9948) 2023-05-01 19:26:42 +02:00
ThetaDev
22671ca16c fix: audio stream cache key, code fmt 2023-05-01 00:04:04 +02:00
ThetaDev
4e837e838d fix docs in app/src/main/java/org/schabi/newpipe/util/Localization.java
Co-authored-by: Audric V. <74829229+AudricV@users.noreply.github.com>
2023-05-01 00:02:37 +02:00
Tobi
ed1781133c Merge pull request from GHSA-r3gv-6fw7-hc52
Fix CI command injection vulnerability
2023-04-27 22:51:54 +02:00
MBKaba
60fc662a26 Update settings_keys.xml
Add ߒߞߏ (nqo) language code to <string-array name="app_language_code">

Add ߒߞߏ (nqo) language name to <string-array name="app_language_name">
2023-04-27 12:21:59 +00:00
Stypox
43b0167a3a Fix CI command injection vulnerability
See https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions
2023-04-26 16:01:20 +02:00
Stypox
8519897089 Fix ktlint formatter after upgrade to Java 17
See https://github.com/pinterest/ktlint/issues/1195 and https://github.com/ScoopInstaller/Extras/issues/10313. Note that although this should have been fixed in the latest version of ktlint (we are using an old one), the fix doesn't seems to have worked for me.
2023-04-25 18:37:04 +02:00
MBKaba
60a5d02018 add language ߒߞߏ (nqo)
The translation is already done:
https://hosted.weblate.org/projects/newpipe/strings/nqo/
2023-04-24 10:44:26 +00:00
ThetaDev
c377ffbce8 Merge branch 'dev' of github.com:TeamNewPipe/NewPipe into alang-selector 2023-04-21 23:32:33 +02:00
ThetaDev
b567d428ad fix: small codestyle fixes 2023-04-21 23:15:37 +02:00
Stypox
da30e539df Merge pull request #9748 from TeamNewPipe/feat/av1-tags
Add whitelist to only retrieve supported YouTube itags/streams
2023-04-20 16:42:31 +02:00
Isira Seneviratne
f74d794b2a Merge pull request #10035 from Stypox/update-gradle
Upgrade Gradle and AGP from 7.x to 8.x and use Java 17
2023-04-20 19:55:31 +05:30
Stypox
69ef4a987e Update CI Java version 2023-04-20 15:42:33 +02:00
Stypox
78e1e0508e Fix gradle build for Java 17 and 19 2023-04-20 11:19:21 +02:00
Stypox
6d98ad7abc Further upgrade gradle to 8.1 2023-04-20 10:50:48 +02:00
Stypox
70b3ba310a Upgrade to Gradle 8.0 2023-04-20 10:36:23 +02:00
ThetaDev
2edc223e77 Merge branch 'dev' into alang-selector 2023-04-17 23:01:07 +02:00
TobiGr
e18a6b09f8 Apply new itag filter only to YouTube streams 2023-04-17 13:10:29 +02:00
TobiGr
f8c3ec4be7 Use a whitelist to filter all streams retrieved by the extractor.
NewPipe Extractor now extracts all YouTube Itags and therefore only those which can be handled by the player need to be retrieved from the list of all available streams.
2023-04-17 13:00:11 +02:00
Stypox
ba3afd1e35 Merge pull request #10021 from Isira-Seneviratne/PendingIntentCompat
Switch to AndroidX's PendingIntentCompat.
2023-04-14 14:20:47 +02:00
Isira Seneviratne
20f0011921 Fix Sonar failure. 2023-04-13 10:53:46 +05:30
Isira Seneviratne
acebabd028 Use AndroidX's PendingIntentCompat class. 2023-04-13 10:53:46 +05:30
Stypox
6243f34946 Merge pull request #8875 from AudricV/exoplayer-settings
Add an ExoPlayer settings page
2023-04-10 17:40:33 +02:00
AudricV
787758a436 [Android 6+] Add ability to always use ExoPlayer's MediaVideoCodecRenderer setOutputSurface workaround
As some devices not present in ExoPlayer's list may not implement
MediaCodec.setOutputSurface(Surface) properly, this workaround could be useful
on these devices.

It forces ExoPlayer to fall back on releasing and re-instantiating video codec
instances, which is always used on Android 5 and lower due to addition of this
method in Android 6.

To do so, a CustomMediaCodecVideoRenderer, based on ExoPlayer's
MediaVideoCodecRenderer which always return true for the
codecNeedsSetOutputSurfaceWorkaround method has been added, which is used in
CustomRenderersFactory, a class based on DefaultRenderersFactory which always
returns our CustomMediaCodecVideoRenderer as the video renderers.

CustomRenderersFactory replaces DefaultRenderersFactory in the player, in the
case this setting is enabled.
2023-04-10 17:39:27 +02:00
AudricV
a02b92fd59 Update playback load interval size setting description
- Remove redundant player restart requirement note, as it is written on the
ExoPlayer settings description page;
- Add precision about the setting effect/limitation, as it only applies on
progressive contents/media sources and not on every content/media source;
- Remove translations of this description, to ensure that they will be updated
by translators.
2023-04-10 17:39:25 +02:00
AudricV
a6ff85a208 Move media tunneling setting to ExoPlayer settings and make this setting available on release builds
Media tunneling may be not supported by more devices than the ones we
whitelisted before.

As a matter of fact, the list of devices on which media tunneling is disabled
could be not maintainable in the future, especially if the list of devices
grows more and more.

A preferable solution is to allow users to configure this setting themselves,
allowing them to not wait for their device(s) to be whitelisted in a future
NewPipe update.

This solution has been applied in this commit and works on every build type.

The corresponding preference in the debug settings has been of course removed
and the code used to prevent media tunneling activation on specific devices has
been removed.
2023-04-10 17:37:30 +02:00
AudricV
41da8fc05f Add ability to use ExoPlayer's decoder fallback option
This option could help to avoid decoder initialization issues, which falls back
to lower-priority decoders if decoder initialization fails. This may result in
poor playback performance than when using primary decoders.

It is disabled by default, but can be enabled in ExoPlayer settings.
2023-04-10 17:37:30 +02:00
AudricV
a4a9957a15 Add ExoPlayerSettingsFragment and move playback load interval size setting into it
This fragment has been added into SettingsResourceRegistry, to allow searches
in its options.

It has been placed at the place of the previous playback load interval size
setting (so in Video and Audio settings).
2023-04-10 17:37:30 +02:00
Stypox
29318c64ed Merge pull request #10004 from TeamNewPipe/fix/apk-jsoup
Remove jsoup files from APK
2023-04-10 17:22:20 +02:00
Isira Seneviratne
74bd28cbd9 Update AndroidX Core to 1.10.0. 2023-04-09 18:45:57 +05:30
ThetaDev
365bb2d0e4 Merge branch 'dev' of github.com:TeamNewPipe/NewPipe into alang-selector 2023-04-05 14:06:14 +02:00
TobiGr
c08538d25d Remove jsoup files from APK
Two jsoup files slipped into the META-INF dir of the APK for some reason. README.md and CHANGES are removed automatically now.
2023-04-04 17:42:34 +02:00
Stypox
140ea8642c Merge pull request #10002 from Stypox/readme-notice
Add notice to README to not open feature PRs
2023-04-04 14:58:27 +02:00
Stypox
445d364193 Merge pull request #9708 from Marius1501/switch_setting_brightness_volume
Created a setting to switch the sides of volume and brightness
2023-04-04 14:19:08 +02:00
Stypox
4bb45c001d Fix settings migration 2023-04-04 11:06:20 +02:00
Stypox
7350b1f32e Add notice to README to not open feature PRs 2023-04-04 10:54:00 +02:00
Stypox
4a33ee6045 Merge pull request #10001 from Stypox/remove-exoplayer-from-changelogs
Remove "ExoPlayer settings" from 0.25.1 changelogs
2023-04-04 10:09:45 +02:00
Stypox
704e9bd7b6 Fix checkstyle 2023-04-04 10:02:01 +02:00
ge78fug
d2735607b8 Changed the default of the switches 2023-04-04 09:57:06 +02:00
Marius Wagner
3c72992c39 Update app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java
Co-authored-by: Stypox <stypox@pm.me>
2023-04-04 09:57:06 +02:00
ge78fug
7689d1d15c Added the migration 2023-04-04 09:57:06 +02:00
ge78fug
65d8589e7a Changed the naming 2023-04-04 09:57:06 +02:00
ge78fug
32cec6c9a7 Changed the naming 2023-04-04 09:57:06 +02:00
Marius Wagner
72ca52a29b Made the requested changes 2023-04-04 09:57:06 +02:00
ge78fug
2ded8c7cc1 Made two list options 2023-04-04 09:57:06 +02:00
ge78fug
759a9080a8 Fixed a bug 2023-04-04 09:57:06 +02:00
ge78fug
2ba649949f Updated the gesture-switch-toggle 2023-04-04 09:57:06 +02:00
ge78fug
c8d54ec6c7 Changed to val 2023-04-04 09:57:06 +02:00
Marius Wagner
96e9242431 Update app/src/main/java/org/schabi/newpipe/player/gesture/MainPlayerGestureListener.kt
Co-authored-by: Stypox <stypox@pm.me>
2023-04-04 09:57:06 +02:00
ge78fug
3c74cb3439 Created a setting to switch the sides of volume and brightness 2023-04-04 09:57:06 +02:00
Stypox
7a8116b2cf Remove "ExoPlayer settings" from 0.25.1 changelogs
Also remove "hi" changelog completely, as it was not really translated
2023-04-04 09:47:51 +02:00
ThetaDev
d010384c88 Merge branch 'dev' of github.com:TeamNewPipe/NewPipe into alang-selector 2023-04-03 22:13:16 +02:00
Stypox
07111d86d4 Merge pull request #9869 from TeamNewPipe/release-0.25.1
Release v0.25.1 (993)
2023-04-03 14:50:23 +02:00
Hosted Weblate
ec974a2b3d Translated using Weblate (Estonian)
Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 100.0% (661 of 661 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Nidi <nizamismidov4@gmail.com>
Co-authored-by: Olivia Ng <uloo592@gmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
2023-04-03 14:49:41 +02:00
Stypox
02906e8132 Merge pull request #9812 from TeamNewPipe/revert-8894-WindowCompat
Revert "Use WindowCompat."
2023-04-03 14:23:17 +02:00
Stypox
6f428d0c6b Merge pull request #9890 from Redirion/bumpexo184
Bump ExoPlayer to 2.18.5
2023-04-03 14:11:15 +02:00
TobiGr
41da2bfb00 Bump NewPipe Extractor to 0.22.6 2023-04-02 23:02:19 +02:00
TobiGr
746b1f7eb2 Merge branch 'dev' into release-0.25.1 2023-04-02 22:54:00 +02:00
Hosted Weblate
03fd286956 Translated using Weblate (Odia)
Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Swedish)

Currently translated at 59.4% (44 of 74 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (74 of 74 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (74 of 74 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (74 of 74 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 18.9% (14 of 74 strings)

Translated using Weblate (Danish)

Currently translated at 98.3% (650 of 661 strings)

Translated using Weblate (Belarusian)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Korean)

Currently translated at 99.8% (660 of 661 strings)

Translated using Weblate (French)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (German)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Indonesian)

Currently translated at 74.3% (55 of 74 strings)

Translated using Weblate (Czech)

Currently translated at 98.6% (73 of 74 strings)

Translated using Weblate (Ukrainian)

Currently translated at 98.6% (73 of 74 strings)

Translated using Weblate (Basque)

Currently translated at 43.2% (32 of 74 strings)

Translated using Weblate (Dutch (Belgium))

Currently translated at 85.6% (566 of 661 strings)

Translated using Weblate (Belarusian)

Currently translated at 92.7% (613 of 661 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Latvian)

Currently translated at 89.7% (593 of 661 strings)

Translated using Weblate (Malay)

Currently translated at 54.3% (359 of 661 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 98.3% (650 of 661 strings)

Translated using Weblate (Vietnamese)

Currently translated at 97.7% (646 of 661 strings)

Translated using Weblate (Lithuanian)

Currently translated at 97.4% (644 of 661 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Korean)

Currently translated at 99.8% (660 of 661 strings)

Translated using Weblate (Hungarian)

Currently translated at 97.4% (644 of 661 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (English)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Assamese)

Currently translated at 14.8% (98 of 661 strings)

Translated using Weblate (Georgian)

Currently translated at 96.6% (639 of 661 strings)

Translated using Weblate (Bosnian)

Currently translated at 17.8% (118 of 661 strings)

Translated using Weblate (Gujarati)

Currently translated at 9.9% (66 of 661 strings)

Translated using Weblate (Marathi)

Currently translated at 8.4% (56 of 661 strings)

Translated using Weblate (Odia)

Currently translated at 99.8% (660 of 661 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (74 of 74 strings)

Translated using Weblate (Bengali)

Currently translated at 87.7% (580 of 661 strings)

Translated using Weblate (Bengali (India))

Currently translated at 45.9% (304 of 661 strings)

Translated using Weblate (Filipino)

Currently translated at 34.9% (231 of 661 strings)

Translated using Weblate (Danish)

Currently translated at 97.5% (645 of 661 strings)

Translated using Weblate (Galician)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Belarusian)

Currently translated at 91.2% (603 of 661 strings)

Translated using Weblate (Belarusian)

Currently translated at 91.2% (603 of 661 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Albanian)

Currently translated at 83.9% (555 of 661 strings)

Translated using Weblate (Dutch (Belgium))

Currently translated at 85.3% (564 of 661 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Catalan)

Currently translated at 93.3% (617 of 661 strings)

Translated using Weblate (Bulgarian)

Currently translated at 68.9% (456 of 661 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Finnish)

Currently translated at 90.0% (595 of 661 strings)

Translated using Weblate (Croatian)

Currently translated at 96.2% (636 of 661 strings)

Translated using Weblate (Vietnamese)

Currently translated at 97.7% (646 of 661 strings)

Translated using Weblate (Hebrew)

Currently translated at 98.7% (653 of 661 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Asturian)

Currently translated at 71.5% (473 of 661 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Basque)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Dutch)

Currently translated at 98.3% (650 of 661 strings)

Translated using Weblate (French)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (German)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (English)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Korean)

Currently translated at 10.8% (8 of 74 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (74 of 74 strings)

Translated using Weblate (Belarusian)

Currently translated at 84.2% (557 of 661 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Korean)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 95.9% (71 of 74 strings)

Translated using Weblate (Belarusian)

Currently translated at 78.9% (522 of 661 strings)

Translated using Weblate (Persian)

Currently translated at 99.3% (657 of 661 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (74 of 74 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (74 of 74 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (74 of 74 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (74 of 74 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Filipino)

Currently translated at 34.9% (231 of 661 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Basque)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (French)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (74 of 74 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (74 of 74 strings)

Translated using Weblate (Russian)

Currently translated at 89.1% (66 of 74 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Galician)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Odia)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (74 of 74 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Sinhala)

Currently translated at 3.4% (23 of 661 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 64.8% (48 of 74 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (74 of 74 strings)

Translated using Weblate (Polish)

Currently translated at 60.8% (45 of 74 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (74 of 74 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (74 of 74 strings)

Translated using Weblate (Russian)

Currently translated at 78.3% (58 of 74 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 18.9% (14 of 74 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (661 of 661 strings)

Translated using Weblate (German)

Currently translated at 100.0% (661 of 661 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Alexthegib <jcwkgxc@nightorb.com>
Co-authored-by: Alfred Makne Poulsen <alfred@omj.dk>
Co-authored-by: Cyndaquissshhh <iversonbriones123@gmail.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: GET100PERCENT <eraofphysics@yahoo.com>
Co-authored-by: Gontzal Manuel Pujana Onaindia <thadahdenyse@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Igor Rückert <igorruckert@yahoo.com.br>
Co-authored-by: Igor Sorocean <sorocean.igor@gmail.com>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Maday <royalcoolness7898@gmail.com>
Co-authored-by: Nidi <nizamismidov4@gmail.com>
Co-authored-by: Olivia Ng <uloo592@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Rui Martins <martins.ro@gmail.com>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: Sean Minnaert <sean.minnaert@gmail.com>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Simon Nilsson <Observeramera@pm.me>
Co-authored-by: Subham Jena <subhamjena8465@gmail.com>
Co-authored-by: TXRdev Archive <lckphanaf9999@gmail.com>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: WB <dln0@proton.me>
Co-authored-by: Xəyyam Qocayev <xxmn77@gmail.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: fincent <fincentpm@protonmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: jc <jcwkgxc@nightorb.com>
Co-authored-by: komiratsu192 <502badgateway@duck.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: random r <epsilin@yopmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: tndsG <tharushtnds@gmail.com>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Co-authored-by: 모르것다 <jjs4809@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/az/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/cs/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/eu/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ko/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_PT/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ru/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
2023-04-02 22:48:15 +02:00
ThetaDev
39a5c8bdfb fix: reset video stream sizes on audio track selection 2023-03-29 13:39:29 +02:00
Audric V
fb1b1c5be1 Merge pull request #9968 from AudricV/fix-open-in-browser-without-browser
Use a system chooser when opening links in browser in the case there is no browser available
2023-03-26 12:41:42 +02:00
AudricV
1a8aa8b17e Use a system chooser when opening links in browser in the case there is no browser available
This change makes the app using the behavior when there is no default browser
on Android 11 and lower, by opening a system chooser when there is no browser
available (on all Android versions).

Also catch any exception when the system chooser cannot be opened and show the
"No app on your device can open this" toast in this case, as an
`ActivityNotFoundException` could be thrown if no app is available to open a
given web link.
2023-03-26 00:04:38 +01:00
Robin
2317864422 Bump ExoPlayer to 2.18.5 2023-03-23 15:03:07 +01:00
ThetaDev
694418d30d fix: update stream sizes when audio track changed 2023-03-21 16:58:36 +01:00
ThetaDev
ed06f559ae feat: add track selection to downloader 2023-03-20 21:41:28 +01:00
ThetaDev
fdd3b03fe5 fix: audio stream format selection 2023-03-19 23:47:33 +01:00
ThetaDev
dbd6e4d11f fix: sonarcloud lint 2023-03-19 22:55:37 +01:00
ThetaDev
61a14765f3 fix: ListHelper tests 2023-03-19 22:31:31 +01:00
ThetaDev
9b8ffdd2aa fix: improve track name localization 2023-03-19 21:20:21 +01:00
ThetaDev
ef0a4cf8b2 feat: add external audio playback language selector 2023-03-19 21:05:48 +01:00
ThetaDev
7aed2eed8a feat: add prefer original option, improve audio stream ordering 2023-03-19 20:40:27 +01:00
ThetaDev
87a88e4df7 feat: localized audio track names 2023-03-19 15:45:52 +01:00
ThetaDev
366c39d4c6 feat: add language selector to audio player 2023-03-19 01:15:36 +01:00
ThetaDev
77649d388c fix: reduce complexity 2023-03-18 16:29:22 +01:00
ThetaDev
dba53d23aa fix: remove todo 2023-03-18 16:14:07 +01:00
ThetaDev
208887d538 feat: improve audio track sorting, add prefer_descriptive_audio option 2023-03-18 14:50:19 +01:00
Isira Seneviratne
0cd1a86aa5 Merge pull request #9872 from TeamNewPipe/fix-lint
Remove wrong annotation
2023-03-18 15:00:34 +05:30
ThetaDev
de7872d8f2 feat: add audio language selector 2023-03-17 21:51:40 +01:00
Roger Salas
bb1f5d8f38 Update README.es.md 2023-03-08 19:27:13 +02:00
Robin
7c39421297 bump ExoPlayer to 2.18.4 2023-03-06 16:49:43 +01:00
TobiGr
d06cc862c8 Remove wrong annotation 2023-03-03 11:58:44 +01:00
Stypox
c5cf2f4514 Release v0.25.1 (993) 2023-03-01 10:52:05 +01:00
Stypox
3f8e44dc66 Update NewPipeExtractor 2023-03-01 10:51:17 +01:00
Stypox
d33229a3b8 Add changelog for v0.25.1 (993) 2023-03-01 10:45:25 +01:00
Hosted Weblate
bb57f9cc9d Merge branch 'origin/dev' into Weblate.
Translated using Weblate (Hindi)

Currently translated at 100.0% (73 of 73 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 99.8% (654 of 655 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (655 of 655 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (655 of 655 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (655 of 655 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (655 of 655 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (655 of 655 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (655 of 655 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (655 of 655 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (655 of 655 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (655 of 655 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (655 of 655 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (655 of 655 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (655 of 655 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (655 of 655 strings)

Translated using Weblate (Portuguese)

Currently translated at 99.8% (654 of 655 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (655 of 655 strings)

Translated using Weblate (German)

Currently translated at 100.0% (655 of 655 strings)

Translated using Weblate (Russian)

Currently translated at 75.3% (55 of 73 strings)

Translated using Weblate (Belarusian)

Currently translated at 74.4% (487 of 654 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 99.8% (653 of 654 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Vietnamese)

Currently translated at 99.2% (649 of 654 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Slovenian)

Currently translated at 64.2% (420 of 654 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (German)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (English)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Belarusian)

Currently translated at 6.8% (5 of 73 strings)

Translated using Weblate (Belarusian)

Currently translated at 74.3% (486 of 654 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (German)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Vietnamese)

Currently translated at 98.4% (644 of 654 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Korean)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Korean)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (German)

Currently translated at 100.0% (654 of 654 strings)

Merge branch 'origin/dev' into Weblate.

Translated using Weblate (Bengali)

Currently translated at 21.9% (16 of 73 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 69.8% (51 of 73 strings)

Translated using Weblate (Portuguese)

Currently translated at 69.8% (51 of 73 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Odia)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Dutch)

Currently translated at 65.7% (48 of 73 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (73 of 73 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 28.7% (21 of 73 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Galician)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Korean)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Japanese)

Currently translated at 99.8% (653 of 654 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (73 of 73 strings)

Translated using Weblate (Basque)

Currently translated at 45.2% (33 of 73 strings)

Translated using Weblate (German)

Currently translated at 73.9% (54 of 73 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Basque)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Portuguese)

Currently translated at 99.8% (653 of 654 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (French)

Currently translated at 99.6% (652 of 654 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (German)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 15.0% (11 of 73 strings)

Translated using Weblate (German)

Currently translated at 73.9% (54 of 73 strings)

Translated using Weblate (Thai)

Currently translated at 32.0% (209 of 652 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 15.0% (11 of 73 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (73 of 73 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 64.3% (47 of 73 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (73 of 73 strings)

Translated using Weblate (Indonesian)

Currently translated at 76.7% (56 of 73 strings)

Translated using Weblate (Polish)

Currently translated at 60.2% (44 of 73 strings)

Translated using Weblate (Hindi)

Currently translated at 21.9% (16 of 73 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (73 of 73 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (73 of 73 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (73 of 73 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 17.8% (13 of 73 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (652 of 652 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Aitor Salaberria <trslbrr@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Florian <flo.site@zaclys.net>
Co-authored-by: GET100PERCENT <eraofphysics@yahoo.com>
Co-authored-by: GnuPGを使うべきだ <dieeeazpnnqbpddh@cock.email>
Co-authored-by: Hoseok Seo <ddinghoya@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Igor Nedoboy <i.nedoboy@mail.ru>
Co-authored-by: Igor Rückert <igorruckert@yahoo.com.br>
Co-authored-by: Igor Sorocean <sorocean.igor@gmail.com>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Issa1553 <fairfull.playing@gmail.com>
Co-authored-by: JS Ahn <freirepublik@gmail.com>
Co-authored-by: JY3 <GeeyunJY3@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Jonatan Nyberg <jonatan@autistici.org>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Marian Hanzel <marulinko@gmail.com>
Co-authored-by: Massimo Pissarello <mapi68@gmail.com>
Co-authored-by: Mateus <mateusbernardo@protonmail.com>
Co-authored-by: Nidi <nizamismidov4@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Phahim Hasan <phahimhasanrakib@gmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: S3aBreeze <S3aBreeze@users.noreply.hosted.weblate.org>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Sierzh <my-email@tut.by>
Co-authored-by: TXRdev Archive <lckphanaf9999@gmail.com>
Co-authored-by: ThePsychoBuck <Thepsychobuck@protonmail.com>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: bowornsin <bowornsin@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: komiratsu19273240ad76c354986 <2011945@naver.com>
Co-authored-by: petlyh <88139840+petlyh@users.noreply.github.com>
Co-authored-by: phneutral26 <github@phileric.anonaddy.com>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: random r <epsilin@yopmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: Štefan Baebler <stefan.baebler@gmail.com>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/be/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bn/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/cs/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/eu/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_PT/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ru/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
2023-03-01 10:17:40 +01:00
Stypox
23a20712da Merge pull request #9707 from Jared234/1473_remove_duplicates_from_playlist
Remove duplicates from playlist feature
2023-02-28 22:14:01 +01:00
Stypox
43f46e29ad Update app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java 2023-02-28 21:40:11 +01:00
Stypox
7617f8cdc7 Update app/src/main/java/org/schabi/newpipe/local/playlist/LocalPlaylistFragment.java 2023-02-28 21:35:57 +01:00
Stypox
2e3490bce2 Merge pull request #9747 from Jared234/9126_remove_partially_watched_from_feed
Added option to remove partially watched videos from the 'Whats new' feed
2023-02-28 19:10:11 +01:00
Jared Fantaye
1dd0930b83 Fixed some small issues 2023-02-28 17:30:17 +01:00
Jared Fantaye
265de55a07 Merge remote-tracking branch 'origin/1473_remove_duplicates_from_playlist' into 1473_remove_duplicates_from_playlist 2023-02-28 16:44:13 +01:00
Jared Fantaye
d8ed2c8503 Refactoring removeDuplicates function and preventing concurrent calls. 2023-02-28 16:43:58 +01:00
Stypox
73aebc1110 Merge pull request #9847 from Redirion/exo183
Update to ExoPlayer 2.18.3
2023-02-26 19:16:25 +01:00
Stypox
3cb76e4c34 Merge pull request #9746 from NyanCatTW1/issue9745
Add an option to Ignore hardware media button events
2023-02-26 16:35:12 +01:00
Stypox
65680b2ccf Only update main tabs position when it changes 2023-02-26 15:58:09 +01:00
Stypox
c8ffe65acf Simplify code to set tab layout position 2023-02-26 15:42:49 +01:00
Stypox
a4767fc48a Listen to ignore hardware buttons pref changes 2023-02-26 14:28:57 +01:00
Nyan Cat
42d861688e Implement Ignore hardware media button events option 2023-02-26 14:02:50 +01:00
Stypox
2ee4c6e289 Merge pull request #9728 from mahendranv/channel_card
Larger channel cards in search results
2023-02-26 13:43:09 +01:00
Stypox
097c2368f4 Merge pull request #8180 from Trust04zh/fix-4053-8176
Make UI behavior for playback information display more consistent
2023-02-26 13:22:13 +01:00
Stypox
80e0c6ab0e Merge pull request #9755 from Jared234/9458_faulty_playlist_thumbnail_update
Fixed a bug that caused erroneous updates of the playlist thumbnails
2023-02-26 13:13:12 +01:00
Jared Fantaye
9067c770a7 Made some small code improvements 2023-02-25 22:14:49 +01:00
Stypox
f1a071b668 Merge pull request #9858 from Stypox/fit-more-grid-columns
Reduce the size of thumbnails on big screens to fit more grid columns
2023-02-25 20:42:36 +01:00
Stypox
8e888ebdf7 Reduce the size of thumbnails on big screens to fit more grid columns
Reverts part of #9310, which introduced bigger grid thumbnail sizes on big screens, because some users reported not being happy about having too few grid columns. See https://github.com/TeamNewPipe/NewPipe/pull/9310#discussion_r1070670806 .
2023-02-25 15:03:58 +01:00
Stypox
612122997b Merge pull request #9769 from pratyaksh1610/branch-9765
Fix progress bar scaling on thumbnail in playlists card view
2023-02-25 14:50:07 +01:00
Stypox
4b050c0dd8 Merge pull request #9850 from Stypox/fix-api33-links-again3
[Android 11+] Correctly open URLs in browser and fix opening downloads and external players
2023-02-25 14:33:41 +01:00
Stypox
be4f3d9d62 Improve javadocs in ShareUtils 2023-02-25 13:14:31 +01:00
Stypox
24ff6a4313 Rename videoURL to streamUrl 2023-02-25 13:14:31 +01:00
Stypox
c2968a3ff2 Use non-deprecated resolveActivity method on API 33+
But such method is not available before API 33
2023-02-25 13:14:31 +01:00
Stypox
671dd4afd3 Merge pull request #9777 from pratyaksh1610/branch-9774
[Bug] Crash fix when click on empty comment
2023-02-25 09:44:31 +01:00
Stypox
600ebdae18 Correctly open urls in browser on Android 11+
- Fix misconfiguration in manifest ('http|https|market' is not valid)
- Split ShareUtils functions taking a boolean parameter into pairs of functions with better names and less runtime checks
- Move all Kore-related functions to KoreUtils
- Remove the toast_no_player string
2023-02-25 09:13:59 +01:00
Robin
5560cea470 Update to ExoPlayer 2.18.3 2023-02-23 12:46:05 +01:00
Stypox
39c500f33c Revert "Use WindowCompat." 2023-02-14 08:27:04 +01:00
pratyaksh1610
624ad6a47c Prevent NPEs when comment text is null 2023-02-14 08:18:13 +01:00
Jared Fantaye
68ea99d6e6 Made some small code improvements 2023-02-09 23:17:36 +01:00
Jared Fantaye
bc29f40d69 Implemented the suggested changes 2023-02-09 21:18:21 +01:00
Jared234
42fb13f17a Merge branch 'dev' into 1473_remove_duplicates_from_playlist 2023-02-09 20:47:10 +01:00
Jared Fantaye
d5b54c85ed Made some small adjustments to the database query 2023-02-09 20:41:22 +01:00
pratyaksh1610
f0307b1b48 fix progress bar scaling in card view 2023-02-09 21:38:02 +05:30
Mahendran
75292e099c Larger channel cards in search results
- Thumbnail larger (100dp) than the usual (92dp) throughout the app
- Description lint count is 8 (normally 3)
2023-02-09 06:15:22 +05:30
Stypox
e0cb2892b8 Merge branch 'master' into dev 2023-02-08 22:48:14 +01:00
Stypox
831f36e18e Merge pull request #9711 from TeamNewPipe/release-0.25.0
Release v0.25.0 (992)
2023-02-08 22:47:32 +01:00
Stypox
d2f8f31d1f Update NewPipeExtractor again, because of JitPack problems 2023-02-08 22:37:17 +01:00
Stypox
8d43499e5b Update NewPipeExtractor again 2023-02-08 22:27:49 +01:00
Hosted Weblate
63375627e9 Translated using Weblate (Bengali)
Currently translated at 21.9% (16 of 73 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 69.8% (51 of 73 strings)

Translated using Weblate (Portuguese)

Currently translated at 69.8% (51 of 73 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Odia)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Dutch)

Currently translated at 65.7% (48 of 73 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (73 of 73 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 28.7% (21 of 73 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Galician)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Korean)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Japanese)

Currently translated at 99.8% (653 of 654 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (73 of 73 strings)

Translated using Weblate (Basque)

Currently translated at 45.2% (33 of 73 strings)

Translated using Weblate (German)

Currently translated at 73.9% (54 of 73 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Basque)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Portuguese)

Currently translated at 99.8% (653 of 654 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (French)

Currently translated at 99.6% (652 of 654 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (German)

Currently translated at 100.0% (654 of 654 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 15.0% (11 of 73 strings)

Translated using Weblate (German)

Currently translated at 73.9% (54 of 73 strings)

Translated using Weblate (Thai)

Currently translated at 32.0% (209 of 652 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 15.0% (11 of 73 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (73 of 73 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 64.3% (47 of 73 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (73 of 73 strings)

Translated using Weblate (Indonesian)

Currently translated at 76.7% (56 of 73 strings)

Translated using Weblate (Polish)

Currently translated at 60.2% (44 of 73 strings)

Translated using Weblate (Hindi)

Currently translated at 21.9% (16 of 73 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (73 of 73 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (73 of 73 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (73 of 73 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 17.8% (13 of 73 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (652 of 652 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Aitor Salaberria <trslbrr@gmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Florian <flo.site@zaclys.net>
Co-authored-by: GET100PERCENT <eraofphysics@yahoo.com>
Co-authored-by: GnuPGを使うべきだ <dieeeazpnnqbpddh@cock.email>
Co-authored-by: Hoseok Seo <ddinghoya@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Igor Nedoboy <i.nedoboy@mail.ru>
Co-authored-by: Igor Rückert <igorruckert@yahoo.com.br>
Co-authored-by: Igor Sorocean <sorocean.igor@gmail.com>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Issa1553 <fairfull.playing@gmail.com>
Co-authored-by: JY3 <GeeyunJY3@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Jonatan Nyberg <jonatan@autistici.org>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Marian Hanzel <marulinko@gmail.com>
Co-authored-by: Massimo Pissarello <mapi68@gmail.com>
Co-authored-by: Mateus <mateusbernardo@protonmail.com>
Co-authored-by: Nidi <nizamismidov4@gmail.com>
Co-authored-by: Phahim Hasan <phahimhasanrakib@gmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: S3aBreeze <S3aBreeze@users.noreply.hosted.weblate.org>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: bowornsin <bowornsin@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: petlyh <88139840+petlyh@users.noreply.github.com>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: random r <epsilin@yopmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bn/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/cs/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/eu/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_PT/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
2023-02-08 22:23:39 +01:00
Stypox
4903786b14 Merge pull request #9758 from Stypox/fix-api33-links-again
Fix opening links on Android 12+
2023-02-08 22:20:22 +01:00
Stypox
4cc653fdf1 Fix opening links on Android 12+ 2023-02-07 22:39:12 +01:00
Stypox
4c5c2a3d79 Merge pull request #9693 from Redirion/accelerometerfix
Orientation is locked if there is no sensor for it
2023-02-07 20:07:45 +01:00
ge78fug
26b29ca78d Made the requested color changes 2023-02-07 18:46:40 +01:00
Stypox
c85af7861a Merge pull request #9742 from TeamNewPipe/revert-9553-exo182
Revert PR #9553 "Update ExoPlayer to 2.18.2"
2023-02-07 10:48:18 +01:00
Stypox
dc1ecc19ed Merge pull request #9743 from TeamNewPipe/update-desugar-2.0.2
Update core library desugaring from 2.0.0 to 2.0.2
2023-02-07 10:44:15 +01:00
Trust_04zh
e947e86eae Make positions in list depend on watch history, remove confusing animations
The following is the list of all commits squashed together:

Regain function for option `Positions in lists`

use option `Resume playback` to control display of progress info in VideoDetailFragment, remove this (extra) function from option `Positions in lists`.
remove extra check for live streams, live streams updates just as non-live streams.

fix #8176 by eliminating exit delay

Regain function for option `Positions in lists`

update code with developer's comments

 apply static import to methods in util class DependentPreferenceHelper

Regain function for option `Positions in lists`

use option `Resume playback` to control display of progress info in VideoDetailFragment, remove this (extra) function from option `Positions in lists`.
remove extra check for live streams, live streams updates just as non-live streams.

fix behavior for displaying progress bar when autoplay off but video resume on

not to retrieve unnecessary states when position in lists disabled

fix mistake in code

simplify conditional logic

update doc comment and remove unused method

Fix not showing duration if position indicators disabled

Positions in lists only depends on watch history
2023-02-07 09:48:18 +01:00
Jared Fantaye
5d3955854e Fixed the merge conflict 2023-02-05 21:21:02 +01:00
Jared234
3ff4b713e8 Merge branch 'dev' into 9458_faulty_playlist_thumbnail_update 2023-02-05 20:45:44 +01:00
Jared Fantaye
68097568d5 Fixed the bug by replacing the thumbnail_url with the thumbnail_stream_id 2023-02-05 20:32:34 +01:00
Jared Fantaye
cd8d57040c Implemented the feature using multiple checkboxes 2023-02-04 18:48:27 +01:00
TobiGr
812efca08e Update core libraray desugaring libs from 2.0.0 to 2.0.2 2023-02-03 18:42:12 +01:00
Stypox
1db1a00581 Add snippet to ensure baseline.profm file is sorted
Thanks to obfusk, see https://issuetracker.google.com/issues/231837768 and #6486
2023-02-03 18:40:48 +01:00
Tobi
e0ba872b66 Revert "Update ExoPlayer to 2.18.2"
This commit reverts 1bb166a
2023-02-03 18:33:35 +01:00
Jared Fantaye
9c82441c19 Implemented the feature and fixed some small issues 2023-02-01 23:10:31 +01:00
ge78fug
38db0cc713 Changed the color 2023-01-31 16:07:57 +01:00
Marius Wagner
ee217eb9b7 Merge branch 'TeamNewPipe:dev' into tabs_on_bottom 2023-01-31 13:37:47 +01:00
Jared Fantaye
3d36eb5baf Fixed a small commit mistake 2023-01-30 22:39:16 +01:00
Jared Fantaye
d2d324f2dd First draft of the new feature 2023-01-30 22:37:24 +01:00
Marius Wagner
2b37721a6e Update app/src/main/res/values/strings.xml
Co-authored-by: Stypox <stypox@pm.me>
2023-01-29 19:37:46 +01:00
Stypox
353db0bc6c Merge pull request #9726 from Stypox/fix-api30+-links
Fix opening URLs in browser on API 30+
2023-01-29 18:08:25 +01:00
Stypox
d1aed94d27 Fix opening urls in browser on API 30+
See https://medium.com/androiddevelopers/package-visibility-in-android-11-cc857f221cd9 and https://github.com/TeamNewPipe/NewPipe/issues/9615
2023-01-29 11:38:34 +01:00
Stypox
281cdf65da Merge pull request #9725 from AudricV/yt_support-live-links
[YouTube] Add support for live links
2023-01-29 11:03:23 +01:00
AudricV
5af5c90492 [YouTube] Add support for live links
The addition of this support requires an extractor update.
2023-01-29 10:59:27 +01:00
Stypox
ca421c28a1 Merge pull request #9538 from Jared234/4186_warning_duplicates_in_playlist
Handle duplicate streams in the "Add to playlist" dialog
2023-01-29 10:36:31 +01:00
Stypox
711345eff7 Improve playlist duplicate indicator layout 2023-01-29 10:32:44 +01:00
Stypox
102975aeb3 Improve handling playlist duplicate indicator 2023-01-29 10:32:32 +01:00
Stypox
cd12503f99 Merge pull request #9631 from TeamNewPipe/update-npe
Update NewPipeExtractor and properly linkify comments
2023-01-28 22:40:19 +01:00
Stypox
1e724eba6c Merge pull request #9706 from Jared234/9131_bug_background_player
Fixed a bug that caused the background player to stop working
2023-01-28 21:56:00 +01:00
Jared Fantaye
c70ce791db Added the duplicate indicator explanation & removed some unnecessary functions 2023-01-27 15:37:33 +01:00
ge78fug
0821f6463a Added bottom main-tabs feature 2023-01-25 19:25:57 +01:00
Tobi
444ac5fe95 Merge pull request #9709 from Stypox/reproducible-build
Fix reproducible builds
2023-01-24 22:05:22 +01:00
Stypox
b9228df32c Release v0.25.0 (992) 2023-01-22 08:59:21 +01:00
Stypox
b6bf0ffc40 Add changelog for v0.25.0 (992) 2023-01-22 08:56:29 +01:00
Hosted Weblate
34e6e70be9 Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Lithuanian)

Currently translated at 99.3% (648 of 652 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Assamese)

Currently translated at 15.0% (98 of 652 strings)

Translated using Weblate (Odia)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Slovenian)

Currently translated at 2.7% (2 of 72 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Galician)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Lithuanian)

Currently translated at 99.3% (648 of 652 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Persian)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Japanese)

Currently translated at 99.8% (651 of 652 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (652 of 652 strings)

Translated using Weblate (German)

Currently translated at 100.0% (652 of 652 strings)

Co-authored-by: Abhilash <dev.abhilash.s@gmail.com>
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Ahmad0a <Ahmad3p@protonmail.com>
Co-authored-by: AioiLight <info@aioilight.space>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: ErnestasKaralius <ernis.karalius@gmail.com>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Francesco Saltori <francescosaltori@gmail.com>
Co-authored-by: GET100PERCENT <eraofphysics@yahoo.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: HudobniVolk <hudobni.volk@tuta.io>
Co-authored-by: Igor Nedoboy <i.nedoboy@mail.ru>
Co-authored-by: Igor Rückert <igorruckert@yahoo.com.br>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Nidi <nizamismidov4@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pieter van der Razemond <pietervanderrazemond@mailbox.org>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: RSoulwin <aapshergill1@gmail.com>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: random r <epsilin@yopmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sl/
Translation: NewPipe/Metadata
2023-01-22 05:12:39 +01:00
Jared Fantaye
5b3f8a3d30 Replaced the equals method 2023-01-21 14:56:55 +01:00
Sıla
fceec71ad3 Corrected language names 2023-01-21 12:13:15 +00:00
Stypox
a69f74f51b Add snippet to ensure baseline.profm file is sorted
Thanks to obfusk, see https://issuetracker.google.com/issues/231837768 and #6486
2023-01-20 18:39:16 +01:00
Jared Fantaye
e26c038565 Made some small adjustments 2023-01-20 11:55:50 +01:00
Jared Fantaye
52e39c3402 Fixed tests 2023-01-20 11:12:32 +01:00
Stypox
f2af168986 Merge pull request #9691 from Marius1501/change_the_chapter_icon
Changed the chapter icon
2023-01-20 08:16:45 +01:00
ge78fug
6e1ffb4e52 Centered the icon 2023-01-19 23:24:25 +01:00
ge78fug
f88c1e1e8b Changed the position 2023-01-19 21:15:09 +01:00
Jared Fantaye
ddda80a577 Fixed the bug 2023-01-17 22:31:22 +01:00
Tobi
d758e50634 Merge pull request #9696 from Stypox/fix-pref-npe
Fix NPEs after OnSharedPreferenceChangeListener changes
2023-01-17 13:01:09 +01:00
ge78fug
a6021730cd Removed format_list_numbered 2023-01-17 10:50:13 +01:00
TobiGr
e9fcad4787 Fix SonarLint 2023-01-16 23:20:50 +01:00
TobiGr
640d4b0280 Fix more NPEs after OnSharedPreferenceChangeListener changes 2023-01-16 23:05:29 +01:00
Stypox
b9378a7c1f Fix NPEs after OnSharedPreferenceChangeListener changes
Apps targeting {@link android.os.Build.VERSION_CODES#R} on devices running OS versions {@link android.os.Build.VERSION_CODES#R Android R} or later, will receive a {@code null} value when preferences are cleared.
2023-01-16 22:30:28 +01:00
ge78fug
abb6b4282d Chenged the chapter icon 2023-01-16 15:13:34 +01:00
Robin
9ecd5dff09 Orientation is locked if there is no sensor for it 2023-01-16 13:56:45 +01:00
Stypox
aa41fec466 Merge pull request #9686 from Isira-Seneviratne/Update_desugar
Update desugar_jdk_libs to 2.0.0.
2023-01-16 12:59:22 +01:00
Tobi
e4641cd427 Update translations (#9688)
* Translated using Weblate (Hebrew)

Currently translated at 100.0% (650 of 650 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (650 of 650 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (650 of 650 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (650 of 650 strings)

Translated using Weblate (German)

Currently translated at 100.0% (650 of 650 strings)

Added translation using Weblate (Assamese)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (650 of 650 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (650 of 650 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (650 of 650 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (650 of 650 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (650 of 650 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (650 of 650 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (650 of 650 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (650 of 650 strings)

Translated using Weblate (Korean)

Currently translated at 100.0% (650 of 650 strings)

Translated using Weblate (Odia)

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (German)

Currently translated at 72.2% (52 of 72 strings)

Translated using Weblate (Danish)

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (Catalan)

Currently translated at 95.5% (620 of 649 strings)

Translated using Weblate (Persian)

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (Norwegian Nynorsk)

Currently translated at 10.6% (69 of 649 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (Arabic)

Currently translated at 51.3% (37 of 72 strings)

Translated using Weblate (Bengali)

Currently translated at 89.9% (584 of 649 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (Thai)

Currently translated at 32.2% (209 of 649 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (Japanese)

Currently translated at 99.6% (647 of 649 strings)

Translated using Weblate (Odia)

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (German)

Currently translated at 66.6% (48 of 72 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (Galician)

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (French)

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (German)

Currently translated at 100.0% (649 of 649 strings)

Translated using Weblate (Hindi)

Currently translated at 19.4% (14 of 72 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (72 of 72 strings)

Translated using Weblate (Korean)

Currently translated at 100.0% (648 of 648 strings)

Co-authored-by: Abhilash <dev.abhilash.s@gmail.com>
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Ahmad0a <Ahmad3p@protonmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: ERYpTION <eryption.x6tf8@simplelogin.com>
Co-authored-by: Edward <edwardchirita@mailbox.org>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: GET100PERCENT <eraofphysics@yahoo.com>
Co-authored-by: GnuPGを使うべきだ <dieeeazpnnqbpddh@cock.email>
Co-authored-by: Hoseok Seo <ddinghoya@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: JY3 <GeeyunJY3@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Nidi <nizamismidov4@gmail.com>
Co-authored-by: Nikodem Zawirski <nikon96@gmail.com>
Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: RSoulwin <aapshergill1@gmail.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Ricardo <contatorms7@tutamail.com>
Co-authored-by: SalusVF <salus.vf@gmail.com>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: bowornsin <bowornsin@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: random r <epsilin@yopmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: tryvseu <tryvseu@tuta.io>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pa/
Translation: NewPipe/Metadata

* Translated using Weblate (Slovenian)

Currently translated at 63.6% (414 of 650 strings)

* Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (650 of 650 strings)

* Translated using Weblate (Assamese)

Currently translated at 3.6% (24 of 650 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Abhilash <dev.abhilash.s@gmail.com>
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Ahmad0a <Ahmad3p@protonmail.com>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: ERYpTION <eryption.x6tf8@simplelogin.com>
Co-authored-by: Edward <edwardchirita@mailbox.org>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: GET100PERCENT <eraofphysics@yahoo.com>
Co-authored-by: GnuPGを使うべきだ <dieeeazpnnqbpddh@cock.email>
Co-authored-by: Hoseok Seo <ddinghoya@gmail.com>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: JY3 <GeeyunJY3@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Nidi <nizamismidov4@gmail.com>
Co-authored-by: Nikodem Zawirski <nikon96@gmail.com>
Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: RSoulwin <aapshergill1@gmail.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Ricardo <contatorms7@tutamail.com>
Co-authored-by: SalusVF <salus.vf@gmail.com>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: bowornsin <bowornsin@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: random r <epsilin@yopmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: tryvseu <tryvseu@tuta.io>
Co-authored-by: HudobniVolk <hudobni.volk@tuta.io>
2023-01-15 21:53:52 +01:00
GET100PERCENT
dba24ec1f9 Added Odia language to language selector (#9651) 2023-01-15 21:24:01 +01:00
Stypox
abe6dfb99c Merge pull request #9671 from Stypox/fix-toast-crash-api33
Fix popup enablement toast crash on API 33
2023-01-15 21:05:05 +01:00
Stypox
d08d7cf31f Merge pull request #9310 from mahendranv/fr_larger_thumbs
FR: Full width thumbnails aka card view mode
2023-01-15 20:25:45 +01:00
Stypox
6e73c489de Improve ellipsizing comments 2023-01-15 19:28:01 +01:00
Stypox
489df0ed7d Update NewPipeExtractor and properly linkify comments 2023-01-15 19:27:56 +01:00
Mahendran
7924bb5b6b Thumbnails used in NewPipe are small (list/grid) mode. This PR facilitates full width thumbnails and dubbed as card mode. 2023-01-15 22:32:03 +05:30
Stypox
c47d1af5e3 Merge pull request #9555 from Marius1501/make_the_channel_images_bigger
Made the channel-images in the grid list bigger
2023-01-15 15:16:09 +01:00
Stypox
51af961e0d Merge pull request #8894 from Isira-Seneviratne/WindowCompat
Use WindowCompat.
2023-01-15 15:14:05 +01:00
Stypox
86997794ab Merge pull request #9678 from Marius1501/change_whats_new_icon
Changed the What's New icon
2023-01-15 15:12:26 +01:00
Stypox
2db29187f4 Merge pull request #7725 from AudricV/add-long-press-actions-on-hashtags-and-links-in-descriptions
Add long press action on hashtags and web links in descriptions
2023-01-15 14:06:32 +01:00
Stypox
22c201be39 Create text subpackage in util 2023-01-15 11:51:07 +01:00
AudricV
cdd5e89b86 Add ability to copy hashtags, URLs and timestamps in descriptions on long-press
This commit adds the ability to copy to clipboard hashtags, URLs and timestamps
when long-pressing them.

Some changes in our TextView class related to text setting have been required
and metadata items are now using a NewPipeTextView instead of a standard
TextView.

Six new classes have been added:

- a custom LinkMovementMethod class;
- a custom ClickableSpan class, LongPressClickableSpan, in order to set a long
  press event;
- a class to avoid code duplication in CommentTextOnTouchListener, TouchUtils;
- three implementations of LongPressClickableSpan used when linkifying text:
  - HashtagLongPressClickableSpan for hashtags;
  - TimestampLongPressClickableSpan for timestamps;
  - UrlLongPressClickableSpan for URLs.
2023-01-15 11:40:27 +01:00
ge78fug
764b6aa2b1 Made the channel-images in the grid list bigger
Also improved the handling of additional information (expanded description, video count, subscriber count)
2023-01-15 10:50:20 +01:00
Isira Seneviratne
f766ef2033 Replace the system UI visibility flags with WindowCompat calls. 2023-01-15 05:44:45 +05:30
Stypox
ef4a6238c8 See if playlists already contain a stream from db 2023-01-14 18:01:48 +01:00
Jared Fantaye
b3554a6a49 Added the number of duplicates to the toast text. 2023-01-14 18:01:48 +01:00
Jared Fantaye
5fb7b3266b Removed the duplicate dialog and added another toast option 2023-01-14 18:01:48 +01:00
Jared Fantaye
8b6e110635 Fixed the functionality, improved performance & general code cleanup 2023-01-14 18:01:47 +01:00
Jared Fantaye
f5a1f915be Continued working on a way to show that items are already in a playlist 2023-01-14 18:01:47 +01:00
Jared Fantaye
ac15339911 Started working on a way to show that items are already in a playlist 2023-01-14 18:01:47 +01:00
Jared Fantaye
fdfeac081a Implemented a warning before adding duplicate to playlist. 2023-01-14 18:01:46 +01:00
ge78fug
31396a632f Chenged the name of the icon 2023-01-14 09:21:37 +01:00
Isira Seneviratne
223150aa42 Update desugar_jdk_libs to 2.0.0. 2023-01-14 11:00:00 +05:30
Jared Fantaye
135fc08212 Implemented the "remove duplicates" feature. 2023-01-13 21:35:22 +01:00
ge78fug
5e3caf68a5 Chenged the What's New icon 2023-01-13 16:33:45 +01:00
Stypox
262b3a2945 Merge pull request #9664 from Marius1501/whats_new_section_to_default_tabs
Added the "What's New"-section to the default tabs
2023-01-13 13:25:02 +01:00
Stypox
e44d09208c Merge pull request #9642 from Jared234/8582_empty_playlists_not_shown
Fixed a bug that prevented the display of multiple empty playlists
2023-01-13 13:20:42 +01:00
Stypox
0546c9b9fc Merge pull request #9445 from Jared234/9122_remove_watched_bug
Fixed a bug that incorrectly removed videos from a playlist when using the "Remove Viewed" dialog
2023-01-12 23:45:48 +01:00
Jared Fantaye
38c4a1ed85 Fixed the "Remove Watched" bug
Reverted changes and fixed bug in a different way
2023-01-12 23:44:26 +01:00
Stypox
fd8e92cf77 Merge pull request #9523 from Jared234/9468_permanently_set_thumbnail
Allow the user to permanently set a thumbnail
2023-01-12 23:27:50 +01:00
Stypox
062570cc47 Merge pull request #8886 from Isira-Seneviratne/Remove_Runnable_variables
Remove Runnable variables for Handlers.
2023-01-12 15:34:12 +01:00
Isira Seneviratne
9514316be3 Remove Runnable variables for Handlers. 2023-01-12 15:30:19 +01:00
Stypox
a15a5adacc Merge pull request #9619 from Redirion/avoidreflectionifpossible
Check availability of Samsung DeX only on Samsung devices
2023-01-12 12:06:19 +01:00
Stypox
b6e6d39985 Fix toast crash on API 33
You shouldn't call getView() on toasts.
Also simplified some duplicate code.
2023-01-12 11:39:25 +01:00
Stypox
48ae830262 Merge pull request #9653 from petlyh/fix-popup-crash
Ask for permission when enqueuing in a popup
2023-01-12 11:24:21 +01:00
Stypox
03f5dd71a5 Merge pull request #9499 from pratyaksh1610/branch-9466
Added Language suffix for subtitle downloads
2023-01-11 19:46:51 +01:00
Stypox
2afbe58722 UX improvements: keep user edits & do not reset cursor 2023-01-11 19:45:55 +01:00
ge78fug
0a64eac778 Added the "What's New"-section to the default tabs 2023-01-11 16:06:11 +01:00
Stypox
ad605e2c5a Actually there is no need to use flatMap
`null` values returned in the lambda are converted to empty `Optional`s in the `map` method: https://developer.android.com/reference/java/util/Optional#map(java.util.function.Function%3C?%20super%20T,%20?%20extends%20U%3E)
2023-01-11 15:26:46 +01:00
Stypox
eed44b3231 Merge pull request #9135 from devlearner/routeractivity-screen-rotate
Improve screen rotation handling in Open action menu
2023-01-11 15:20:47 +01:00
Stypox
944e295ae7 Use Optional for simpler code 2023-01-11 15:14:18 +01:00
devlearner
28109fef38 Improve showing of toast
We provide visual feedback via a toast to the user that, well, they're supposed to wait; but with the benefit of the cache openAddToPlaylistDialog() may return (almost) immediately, which would render the toast otiose (if not a bit confusing). This commit improves that by cancelling the toast once the wait's over

... (by 'abusing' RxJava's ambWith();
ref on compose() and Transformer: https://blog.danlew.net/2015/03/02/dont-break-the-chain/
and for me, first time laying my hands at RxJava so kindly bear with me; open for suggestions)
2023-01-11 14:53:48 +01:00
devlearner
40442f3f82 Utilize Lifecycle observer
I thought it would have required an extra dependency; apparently that doesn't seem to be the case...
2023-01-11 14:53:48 +01:00
devlearner
61da167b4f Oops, added back missing return; 2023-01-11 14:53:48 +01:00
devlearner
c744f6756b Fix Sonar reported code smell 2023-01-11 14:53:48 +01:00
devlearner
de7057ac3a Skip REORDER_TO_FRONT trick which doesn't seem to work on newer Androids
probably due to background restrictions on Android 10+
2023-01-11 14:53:48 +01:00
devlearner
585bfff11d Utilize a retained fragment to safekeep network requests in flight
pending result for openAddToPlaylistDialog() and openDownloadDialog()
Despite marked deprecated, setRetainInstance(true) is probably our best bet (since a ViewModel is probably too overkill for our present purpose)
2023-01-11 14:53:48 +01:00
devlearner
0f9c20c986 Improve (un)registering FragmentLifecycleCallbacks
to avoid adding it multiple times and ensure proper cleanup
2023-01-11 14:53:48 +01:00
devlearner
f860392ae9 Address LayoutParams.FLAG_NOT_TOUCHABLE restriction on Andriod 12+ 2023-01-11 14:53:48 +01:00
devlearner
391830558e Ensure our transparent activity doesn't block touch events to underlying windows
so we won't hold up UI while fetching media info for Add to Playlist or Download actions
lest user might think it freezes when in fact a network request is underway
2023-01-11 14:53:48 +01:00
devlearner
c1f37d8591 Also show toast in openDownloadDialog()
and lengthened a bit to inform user to wait...
2023-01-11 14:53:48 +01:00
devlearner
b175774ad8 Try to amicably handle DialogFragment in FragmentManager when recreated from orientation change
- Handle finish() call instead of passing around callbacks to setOnDismissListener()
- Don't start over again if returning to DialogFragment before orientation change
2023-01-11 14:53:48 +01:00
devlearner
73e32889b6 Don't finish() to allow recreate
when orientation change is on foot
2023-01-11 14:53:48 +01:00
devlearner
400ee808e0 Set up theme/locale before super.create()
This seems to solve a bug where the Open action menu dialog does not appear the first time on cold start on older Android (8.0).
This is also the order of things in MainActivity and probably good practice.
2023-01-11 14:53:48 +01:00
Stypox
87976693f8 Merge pull request #9285 from Isira-Seneviratne/Optional_cleanup
Clean up Optional-related code.
2023-01-11 14:52:25 +01:00
Stypox
9c7ed80662 Use Optional.map correctly and other improvements 2023-01-11 14:47:53 +01:00
Jared Fantaye
eb3363d4dd Created the first draft. 2023-01-10 20:55:18 +01:00
petlyh
edff696ecc Ask for permission when enqueuing in a popup 2023-01-10 14:16:19 +01:00
Jared Fantaye
9c19e9813a Fixed a bug that caused multiple empty playlists to be not shown. 2023-01-08 11:53:42 +01:00
Jared Fantaye
2679a4bf1e Removed the "Unset Thumbnail" item if you can't use this feature 2023-01-04 16:21:16 +01:00
Isira Seneviratne
e8216b2e80 Apply code review suggestions. 2023-01-04 06:10:14 +05:30
Isira Seneviratne
e3062d7c66 Use Optional chaining. 2023-01-04 05:16:21 +05:30
Isira Seneviratne
fd55d85bbf Remove SimplifyOptionalCallChains. 2023-01-04 05:16:21 +05:30
Robin
f10d591462 Samsung DeX should only be checked on Samsung devices
Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
2023-01-03 15:12:02 +01:00
pratyaksh1610
3e15c77a05 move string to donottranslate.xml and fix nits 2023-01-03 14:07:28 +05:30
Stypox
1bb166a9e8 Merge pull request #9553 from Redirion/exo182
Update ExoPlayer to 2.18.2
2023-01-02 18:21:53 +01:00
Stypox
8fa949537b Merge pull request #8769 from Isira-Seneviratne/New_Utils_methods
Use new NPE UTF8 Utils methods
2023-01-02 17:59:26 +01:00
Stypox
7454b31788 Merge pull request #9562 from bravenewpipe/use-videostream-for-audio-only-background-playback
Support audio only background for services only supporting video streams
2023-01-02 17:51:10 +01:00
Stypox
b6488fe342 Merge pull request #8841 from Isira-Seneviratne/Notification_mode_ListAdapter
Use ListAdapter in NotificationModeConfigAdapter.
2023-01-02 14:47:25 +01:00
Stypox
b1d9080a0f Simplify disposables handling in notification mode settings 2023-01-02 14:45:11 +01:00
pratyaksh1610
50269d0f5e updated caption file name and clean code 2023-01-02 16:23:45 +05:30
Robin
f17155bb3f Merge branch 'TeamNewPipe:dev' into exo182 2023-01-02 10:35:20 +01:00
Isira Seneviratne
7988fe0c5a Use new NewPipe Extractor Utils methods. 2023-01-02 07:03:18 +05:30
evermind
f4a5b3bcbf set 'playback in background button' visible if there are videostreams 2023-01-01 21:55:03 +01:00
Stypox
cd0e585586 Merge pull request #9568 from pratyaksh1610/branch-add-play-all-icon
Added icon for "Play All"
2023-01-01 18:03:42 +01:00
Stypox
464247784d Merge pull request #9520 from Isira-Seneviratne/Update_RxJava
Update RxJava to 3.1.5.
2023-01-01 12:52:06 +01:00
Stypox
56800c24b9 Update rxandroid from 3.0.0 to 3.0.2 2023-01-01 12:46:56 +01:00
Stypox
6af2242d5d Merge pull request #9521 from pratyaksh1610/branch-9518
Fixes #9518: Crash fix when click "Add to playlist" while the current list is still loading
2022-12-31 23:31:58 +01:00
Stypox
d21fac658b Remove playlist details toasts 2022-12-31 23:30:17 +01:00
Stypox
27f6c3b634 Merge pull request #9502 from Jared234/8585_download_in_queue
Added option to download items in the queue
2022-12-31 19:34:07 +01:00
Stypox
b3bfec9505 Use correct fragment manager for download dialog
Tapping download on the long-press menu of queue items when the queue is shown inside the player would crash otherwise
2022-12-31 19:31:24 +01:00
Stypox
367ece8ffa Merge pull request #9496 from Jared234/9437_continue_playing_while_seeking
Seeking no longer pauses the played video
2022-12-31 19:19:21 +01:00
Stypox
661cd4c182 Merge pull request #9159 from Isira-Seneviratne/Refactor_VideoPlayerUi
Refactor VideoPlayerUi.
2022-12-31 19:01:19 +01:00
Stypox
be856f71c8 Merge pull request #8847 from Isira-Seneviratne/Refactor_VideoDetailFragment
Refactor VideoDetailFragment.
2022-12-31 18:41:06 +01:00
Stypox
97978033dd Activate on click listeners only when not loading
For consistency with long click listeners, in VideoDetailFragment
2022-12-31 17:49:10 +01:00
Stypox
413a1b504a Refactor constrolsTouchListener code 2022-12-31 17:47:57 +01:00
Stypox
8078620977 Merge pull request #9481 from TacoTheDank/bumpDesugaring
Update Desugaring to 1.1.8
2022-12-31 17:15:00 +01:00
Stypox
69e8e4d63e Merge pull request #9306 from Stypox/target-api-33
Set compileSdk and targetSdk to 33 (Android 13)
2022-12-31 14:49:30 +01:00
Isira Seneviratne
fb1360b72a Use ListAdapter in NotificationModeConfigAdapter. 2022-12-29 06:14:46 +05:30
Stypox
231e677b16 Merge pull request #8895 from Isira-Seneviratne/SparseArrayCompat
Use SparseArrayCompat.
2022-12-28 20:37:05 +01:00
Tobi
fcac53cdc0 Merge pull request #9488 from Jared234/9353_night_theme_selection
Disabling night theme selection if auto theme is not used
2022-12-25 22:19:02 +01:00
Tobi
b07f1a77aa Merge pull request #9596 from TeamNewPipe/update-localization
Update translations
2022-12-25 21:40:47 +01:00
TobiGr
c13b858f02 Add Nynorsk (nn) to the language chooser 2022-12-25 21:22:35 +01:00
Hosted Weblate
5d9bf8055e Translated using Weblate (French)
Currently translated at 93.0% (67 of 72 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (72 of 72 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (French)

Currently translated at 91.6% (66 of 72 strings)

Translated using Weblate (Urdu)

Currently translated at 66.9% (434 of 648 strings)

Translated using Weblate (Hungarian)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (72 of 72 strings)

Translated using Weblate (Telugu)

Currently translated at 6.9% (5 of 72 strings)

Translated using Weblate (Telugu)

Currently translated at 66.9% (434 of 648 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Tamil)

Currently translated at 54.0% (350 of 648 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 100.0% (648 of 648 strings)

Co-authored-by: Ahmad Raza <ahmadrazaxm@gmail.com>
Co-authored-by: Dan <denqwerta@gmail.com>
Co-authored-by: Florian <flo.site@zaclys.net>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Igor Nedoboy <i.nedoboy@mail.ru>
Co-authored-by: Igor Sorocean <sorocean.igor@gmail.com>
Co-authored-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>
Co-authored-by: Kiss Attila <gaxeco4855@pro5g.com>
Co-authored-by: Nidi <nizamismidov4@gmail.com>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Terry Louwers <t.louwers@gmail.com>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: subba raidu <raidu4u@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/te/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translation: NewPipe/Metadata
2022-12-25 21:22:19 +01:00
evermind
dfc46c3b6c Support audio only background for services only supporting video streams
Some services may only have video streams and no separate audio streams available.
This commit will add audio background playback support for those services.
It uses the video source as audio source for background playback.
2022-12-17 21:17:42 +01:00
pratyaksh1610
d255d3e376 added icon for play all 2022-12-17 17:41:57 +05:30
Robin
eea4f0f41c Update ExoPlayer to 2.18.2 2022-12-16 17:53:56 +01:00
Jared Fantaye
12796920a3 Removed the wasPlaying variable 2022-12-10 21:56:04 +01:00
Jared Fantaye
dfd6534a1c Added "6.json" 2022-12-10 17:32:02 +01:00
Jared Fantaye
fedc26e3cb Added migration to new database 2022-12-09 22:40:54 +01:00
Jared Fantaye
1ac62541a8 Formatting, renaming and small fixes 2022-12-09 12:01:59 +01:00
Tobi
5942add141 Merge pull request #9522 from TeamNewPipe/update-translations
Update translations
2022-12-09 11:35:18 +01:00
TobiGr
9eb72d5a86 Delete translation without default: progressive_load_interval_default 2022-12-09 10:42:45 +01:00
TobiGr
26579cc170 Delete translation without default: app_update_notification_content_title 2022-12-09 10:40:48 +01:00
TobiGr
d70b768031 Delete translation without default: app_update_notification_content_text 2022-12-09 10:39:49 +01:00
TobiGr
0c47fc7017 Delete translation without default: app_update_notification_content_text 2022-12-09 10:39:22 +01:00
pratyaksh1610
c537776826 Fixes #9518
- Crash fix on clicking on add to playlist.
- Added toast when clicked on share button for better UI.
2022-12-09 14:09:40 +05:30
Isira Seneviratne
7c5b4510af Update RxJava to 3.1.5. 2022-12-09 07:56:14 +05:30
Jared Fantaye
bf1ebf8733 Fixed some bugs and improved code quality 2022-12-08 23:31:20 +01:00
Hosted Weblate
8edfafcf09 Translated using Weblate (Spanish)
Currently translated at 100.0% (72 of 72 strings)

Translated using Weblate (Persian)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Esperanto)

Currently translated at 74.3% (482 of 648 strings)

Translated using Weblate (German)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (French)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (German)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (German)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Odia)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Galician)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (German)

Currently translated at 99.8% (647 of 648 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (648 of 648 strings)

Translated using Weblate (Greek)

Currently translated at 99.6% (646 of 648 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: BMN <weblate@yopmail.com>
Co-authored-by: C. Rüdinger <Mail-an-CR@web.de>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Eric <hamburger1024@duck.com>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Florian <flo.site@zaclys.net>
Co-authored-by: GET100PERCENT <eraofphysics@yahoo.com>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Igor Nedoboy <i.nedoboy@mail.ru>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Nidi <nizamismidov4@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Ricardo <contatorms7@tutamail.com>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Skarvinius <saab_samuel@hotmail.com>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: argonfilm <gradicchuck@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translation: NewPipe/Metadata
2022-12-08 22:43:11 +01:00
Jared Fantaye
10a5741f36 Tried to implement the feature 2022-12-07 02:32:53 +01:00
Isira Seneviratne
c7d392e77e Merge branch 'dev' into Refactor_VideoDetailFragment 2022-12-06 20:21:28 +05:30
Isira Seneviratne
161007fe92 Merge branch 'dev' into Refactor_VideoPlayerUi 2022-12-06 20:21:08 +05:30
Jared Fantaye
5fc85fa2e0 Implemented suggestions 2022-12-05 21:21:46 +01:00
Tobi
4a27d371e0 Merge pull request #9504 from dngray/pr-remove_privacytools
[PeerTube] Remove dead Privacy Tools instance
2022-12-05 13:32:38 +01:00
Daniel Gray
a4c9e0a35e Remove dead Privacy Tools instance (#9504) 2022-12-05 14:32:21 +10:30
Stypox
a6f57a8665 Merge pull request #9173 from Theta-Dev/video-sub-count
Show subscriber count on video details page
2022-12-04 20:50:13 +01:00
Stypox
0df696739f Make subscribers in video detail fragment dimmer 2022-12-04 20:45:10 +01:00
ThetaDev
86ee94eb04 show subscriber count on player page 2022-12-04 20:45:09 +01:00
Jared Fantaye
0923594e51 Added option to download items in the queue 2022-12-04 20:35:06 +01:00
Stypox
3bb51875bc Merge pull request #9501 from Stypox/import-subscriptions-hint
Add hint to improve discoverability of subscription import
2022-12-04 20:19:19 +01:00
Stypox
40225443ed Center text in empty views 2022-12-04 19:25:38 +01:00
Stypox
10977eaefa Show hint about how to import subscriptions when there are none 2022-12-04 19:16:47 +01:00
Stypox
3103fd7302 Rename list_empty_subtitle string 2022-12-04 18:59:14 +01:00
Stypox
281ac13eed Merge pull request #8883 from Douile/dev-enqueue-next-hide
Only show "Enqueue next" when in the middle of the queue
2022-12-04 18:43:45 +01:00
Douile
e5f30a07bf Only show "Enqueue next" when in the middle of the queue
Add a check that the queue position is not the last in the queue before
showing "Enqueue next".

Previously the "Enqueue next" action would always be shown if the queue
length was greater than one, this meant even if you were at the end of
the queue (when "Enqueue" would have the same effect as "Enqueue next")
the action would still be shown.
2022-12-04 18:20:50 +01:00
Stypox
9c4d5526f4 Merge pull request #8810 from Isira-Seneviratne/Math_floorDiv
Use Math.floorDiv().
2022-12-04 18:08:12 +01:00
Stypox
77737a5687 Merge pull request #9500 from pratyaksh1610/branch_9348
Rename `help` to `fast mode`
2022-12-04 17:45:23 +01:00
pratyaksh1610
869d46f15c rename help to fast mode 2022-12-04 19:11:38 +05:30
pratyaksh1610
1afb9cdba9 added Language suffix for subtitle downloads 2022-12-04 17:59:22 +05:30
Stypox
730664eefb Merge pull request #8668 from Isira-Seneviratne/Show_no_update_notification
Show toast when no updates are available.
2022-12-04 12:03:21 +01:00
Isira Seneviratne
6b210e1542 Apply ktlint formatting. 2022-12-04 12:01:57 +01:00
Isira Seneviratne
f1b15a95a4 Show toast when no updates are available.
Co-authored-by: Stypox <stypox@pm.me>
2022-12-04 12:01:56 +01:00
Hosted Weblate
1d53389ca9 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Hindi)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Korean)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (French)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Norwegian Nynorsk)

Currently translated at 9.1% (59 of 646 strings)

Translated using Weblate (Punjabi (Pakistan))

Currently translated at 19.6% (127 of 646 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 99.0% (640 of 646 strings)

Translated using Weblate (Arabic (Libya))

Currently translated at 5.5% (4 of 72 strings)

Translated using Weblate (Hindi)

Currently translated at 18.0% (13 of 72 strings)

Translated using Weblate (Hungarian)

Currently translated at 11.1% (8 of 72 strings)

Translated using Weblate (Portuguese)

Currently translated at 69.4% (50 of 72 strings)

Translated using Weblate (Filipino)

Currently translated at 5.5% (4 of 72 strings)

Translated using Weblate (Filipino)

Currently translated at 35.9% (232 of 646 strings)

Translated using Weblate (Catalan)

Currently translated at 95.9% (620 of 646 strings)

Translated using Weblate (Hindi)

Currently translated at 78.7% (509 of 646 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 69.4% (50 of 72 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (72 of 72 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Odia)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Persian)

Currently translated at 61.1% (44 of 72 strings)

Translated using Weblate (Russian)

Currently translated at 41.6% (30 of 72 strings)

Translated using Weblate (Persian)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Norwegian Nynorsk)

Currently translated at 6.1% (40 of 646 strings)

Translated using Weblate (Odia)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Odia)

Currently translated at 2.7% (2 of 72 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (French)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Odia)

Currently translated at 30.1% (195 of 646 strings)

Translated using Weblate (Russian)

Currently translated at 41.6% (30 of 72 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 92.2% (596 of 646 strings)

Translated using Weblate (Hindi)

Currently translated at 69.6% (450 of 646 strings)

Added translation using Weblate (Norwegian Nynorsk)

Translated using Weblate (Georgian)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Icelandic)

Currently translated at 99.0% (640 of 646 strings)

Translated using Weblate (Punjabi)

Currently translated at 6.9% (5 of 72 strings)

Translated using Weblate (German)

Currently translated at 62.5% (45 of 72 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Georgian)

Currently translated at 20.1% (130 of 646 strings)

Translated using Weblate (Georgian)

Currently translated at 98.6% (71 of 72 strings)

Added translation using Weblate (Georgian)

Co-authored-by: AudricV <avdivers84@gmail.com>
Co-authored-by: Boros Zsombor <zsombor2626@gmail.com>
Co-authored-by: Cyndaquissshhh <iversonbriones123@gmail.com>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: GET100PERCENT <eraofphysics@yahoo.com>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: Hoseok Seo <ddinghoya@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: JY3 <GeeyunJY3@gmail.com>
Co-authored-by: L-M-H <lars.magnus@herland.priv.no>
Co-authored-by: M. Ll <mklr95@gmail.com>
Co-authored-by: M4SK <themightyloki@free.fr>
Co-authored-by: Nahla Hamdi <nahlahamdi87@gmail.com>
Co-authored-by: Net <nizamismidov4@gmail.com>
Co-authored-by: Nikoloz <nukushatugushi@gmail.com>
Co-authored-by: Pedro Henrique Vilela do Nascimento <pedro.hvn@usp.br>
Co-authored-by: Platon Terekhov <gibbonsville_cowal@simplelogin.com>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Trendyne <eiko@chiru.no>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: bgo-eiu <huyaqoob+toolforge@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: qqqq1 <qqqq1@hi2.in>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: tryvseu <tryvseu@tuta.io>
Co-authored-by: Артём Нефедов <artem10397g@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar_LY/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fil/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hu/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ka/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/or/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_PT/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ru/
Translation: NewPipe/Metadata
2022-12-04 00:15:40 +01:00
Jared Fantaye
8fc5fa979d Added menu with tappable list items 2022-12-03 09:52:04 +01:00
TacoTheDank
074a8ff46a Update Desugaring to 1.1.8 2022-12-02 13:52:30 -05:00
Jared Fantaye
a2f2d562f6 Disabling night theme selection if auto theme is not used 2022-12-01 13:01:58 +01:00
Stypox
bd6b3c53c5 Merge pull request #9480 from TacoTheDank/bumpSonar
Update Sonarqube to 3.5
2022-11-30 00:14:33 +01:00
TacoTheDank
8282b8a6c0 Update Sonarqube to 3.5 2022-11-29 11:20:31 -05:00
Stypox
72a250b610 Merge pull request #9479 from Stypox/create-scaled-bitmap
Use smoother bitmap downscaling for thumbnails
2022-11-29 16:09:31 +01:00
Isira Seneviratne
b0516fbf1d Use BitmapCompat.createScaledBitmap(). 2022-11-29 15:56:19 +01:00
Stypox
05903502c5 Merge pull request #8743 from shivambeohar/8615-gap-at-miniplayer-close-button-fix
Remove padding from the end of the mini-player
2022-11-29 12:31:55 +01:00
Stypox
2bf58abb89 Make miniplayer close button area larger 2022-11-29 12:07:30 +01:00
Stypox
9d01d88eed Request permission to send notifications 2022-11-28 18:49:11 +01:00
Stypox
f07886fc5e Add notifications permission 2022-11-28 18:23:47 +01:00
Tobi
2984649106 Merge pull request #9471 from yashpalgoyal1304/set-width-image-minimizer
Set image-minimizer to specify image width ...
2022-11-28 14:32:09 +01:00
Stypox
60671c99ed Merge pull request #9474 from bravenewpipe/avoid-wrong-nullable-notnull-annotation-imports
Forbid wrong `@Nullable` and `@NotNull` annotation imports
2022-11-28 14:30:52 +01:00
Stypox
bce77aaec7 Block rxjava3 nullable/nonnull imports in checkstyle 2022-11-28 14:28:08 +01:00
evermind
f2e3020f9d checkstyle: declare org.jetbrains and javax.annotation Nullable's and NotNull/Nonnull as illegal imports 2022-11-28 13:33:50 +01:00
yashpalgoyal1304
e9ef9451e5 Minimize not-so-long images too 2022-11-27 03:22:37 +05:30
yashpalgoyal1304
7c1d06e023 Resolve scoping issue to get values of probeResult 2022-11-27 02:06:01 +05:30
AudricV
6b89b44dcd Merge pull request #8961 from dhruvpatidar359/Toast-Popup
Remove the redundant/overlapping toast "Copied to clipboard" for Android 13+
2022-11-26 21:33:12 +01:00
yashpalgoyal1304
225f69b75b Fix value of width 2022-11-27 01:56:53 +05:30
yashpalgoyal1304
44bc6bf069 Set image-minimizer to specify image width ...
Fix https://github.com/TeamNewPipe/NewPipe/issues/9469
for portrait like orientations
2022-11-26 23:29:11 +05:30
Jared Fantaye
e5af1c93ae Seeking no longer pauses the played video 2022-11-26 15:35:13 +01:00
Isira Seneviratne
d6617007d4 Use SparseArrayCompat instead of SparseArray in StreamItemAdapter.
Make additional small improvements as well.
2022-11-22 18:31:58 +05:30
Isira Seneviratne
8db90ba449 Use SparseArrayCompat for thumbnails. 2022-11-22 17:51:54 +05:30
seojun0924
16b0df69b1 Update README.ko.md
Updated Korean README with latest version of README
2022-11-19 01:03:18 +09:00
Stypox
048b0972de Set compileSdk and targetSdk to 33 (Android 13)
android:exported in now required in the manifest on all activities/services/receivers/providers. It was set to true for those that need to interact with outside apps or the OS, while others have exported=false.
This also required updating LeakCanary to the latest version as the older version being used was not using android:exported in AndroidManifest.xml.
2022-11-18 08:33:13 +01:00
Isira Seneviratne
a7989795e8 Merge branch 'dev' into Refactor_VideoPlayerUi 2022-11-14 08:59:03 +05:30
Isira Seneviratne
a40f035810 Merge branch 'dev' into Refactor_VideoDetailFragment 2022-11-14 08:58:45 +05:30
Isira Seneviratne
aad5e26f31 Merge pull request #8870 from Isira-Seneviratne/Locale_forLanguageTag
Use Locale.forLanguageTag().
2022-11-10 19:56:34 +05:30
Tobi
627c6e29a2 Merge pull request #8316 from han-sz/fix_video_mouse_hover_overlay
Fix persistent hover overlay when in desktop/DeX mode or using a mouse/non-touch input
2022-11-09 17:10:01 +01:00
TobiGr
95c32d6f4a Merge remote-tracking branch 'Weblate/dev' into dev 2022-11-09 16:48:12 +01:00
Coool (github.com/Coool)
747df59741 Translated using Weblate (Latvian)
Currently translated at 92.5% (598 of 646 strings)
2022-11-09 16:46:12 +01:00
Coool (github.com/Coool)
a4e883c119 Translated using Weblate (Latvian)
Currently translated at 4.1% (3 of 72 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/lv/
2022-11-09 16:46:12 +01:00
pjammo
289f9105d9 Translated using Weblate (Italian)
Currently translated at 100.0% (72 of 72 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
2022-11-09 16:46:12 +01:00
Fjuro
5804483c89 Translated using Weblate (Czech)
Currently translated at 100.0% (72 of 72 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/cs/
2022-11-09 16:46:09 +01:00
ShareASmile
16732905bf Translated using Weblate (Punjabi)
Currently translated at 100.0% (646 of 646 strings)
2022-11-09 16:46:07 +01:00
TobiGr
ef1e7e5b52 Merge branch 'master' into dev 2022-11-09 16:45:22 +01:00
AudricV
abf1cc536d Improve code of DeviceUtils.isDesktopMode
- Avoid NullPointerException crashes if there is no UiModeManager or desktop
system service mode
- Use final for every exception
- Suppress missing fields warnings
- Add missing NonNull annotation
2022-11-09 16:22:49 +01:00
cybersphinx
c38f150562 Remove now obsolete API check. 2022-11-09 15:50:09 +01:00
cybersphinx
d2b6bda7a2 Remove errant return. 2022-11-09 15:50:09 +01:00
cybersphinx
9e5c68c575 Add check for input devices with cursor. 2022-11-09 15:50:06 +01:00
Hanif Shersy
88eed6cc23 Add JSDoc comment and a performance note for isDesktopMode 2022-11-09 15:48:50 +01:00
Hanif Shersy
a1773d166f Fix JSDoc checkstyle warning 2022-11-09 15:44:36 +01:00
Hanif Shersy
5e2ef7ff0d Address review comments 2022-11-09 15:44:36 +01:00
Hanif Shersy
cfda073aa5 Fix DeX mode check 2022-11-09 15:44:36 +01:00
Hanif Shersy
ff774a1870 Fix persistent hover overlay when mouse connected 2022-11-09 15:44:27 +01:00
Isira Seneviratne
feb03f7e30 Use Math.floorDiv(). 2022-11-09 20:01:40 +05:30
Isira Seneviratne
95a65d5704 Merge pull request #9333 from Isira-Seneviratne/PendingIntent_mutability
Make PendingIntents immutable on Android 6.0 and later.
2022-11-09 08:58:16 +05:30
Isira Seneviratne
5c1af6d296 Group private Localization methods together. 2022-11-09 08:54:47 +05:30
Isira Seneviratne
6d812b86aa Use Locale.forLanguageTag(). 2022-11-09 08:51:12 +05:30
AudricV
7b7ab3f419 Remove Utility.copyToClipboard and use ShareUtils.copyToClipboard instead
This method is not needed anymore, as ShareUtils.copyToClipboard does
almost the same thing (no label is set on the ClipData used to copy text,
contrary to what Utility did, but using "text" as a ClipData label doesn't seem
useful).

It was used in MissionAdapter.handlePopupItem to copy the SHA1 or the MD5 of a
file.
2022-11-08 20:47:51 +01:00
dhruvpatidar359
ef35b36eba Remove the redundant/overlapping toast "Copied to clipboard" for Android 13+
Signed-off-by: dhruv <dhruvpatidar35@gmail.com>

Co-authored-by: Tobi <TobiGr@users.noreply.github.com>
Co-authored-by: AudricV <74829229+AudricV@users.noreply.github.com>
2022-11-08 20:47:50 +01:00
Hosted Weblate
bb83d2b489 Translated using Weblate (Odia)
Currently translated at 6.1% (40 of 646 strings)

Translated using Weblate (Santali)

Currently translated at 10.3% (67 of 646 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 63.8% (46 of 72 strings)

Translated using Weblate (Arabic)

Currently translated at 50.0% (36 of 72 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (72 of 72 strings)

Translated using Weblate (Portuguese)

Currently translated at 69.4% (50 of 72 strings)

Translated using Weblate (Bulgarian)

Currently translated at 4.1% (3 of 72 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 16.6% (12 of 72 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 92.2% (596 of 646 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Vietnamese)

Currently translated at 99.6% (644 of 646 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 99.8% (645 of 646 strings)

Translated using Weblate (Korean)

Currently translated at 99.8% (645 of 646 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Punjabi (Pakistan))

Currently translated at 18.4% (119 of 646 strings)

Translated using Weblate (Slovak)

Currently translated at 9.7% (7 of 72 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 97.2% (70 of 72 strings)

Translated using Weblate (Polish)

Currently translated at 59.7% (43 of 72 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (72 of 72 strings)

Translated using Weblate (Turkish)

Currently translated at 99.8% (645 of 646 strings)

Translated using Weblate (German)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Hungarian)

Currently translated at 9.8% (7 of 71 strings)

Translated using Weblate (Punjabi)

Currently translated at 5.6% (4 of 71 strings)

Translated using Weblate (Galician)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Vietnamese)

Currently translated at 99.6% (644 of 646 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Hungarian)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Asturian)

Currently translated at 2.8% (2 of 71 strings)

Translated using Weblate (Punjabi)

Currently translated at 99.6% (644 of 646 strings)

Translated using Weblate (Vietnamese)

Currently translated at 98.9% (639 of 646 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 99.5% (643 of 646 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (646 of 646 strings)

Added translation using Weblate (English (Middle))

Added translation using Weblate (English (Old))

Added translation using Weblate (Sicilian)

Added translation using Weblate (Arabic (Najdi))

Added translation using Weblate (Kashmiri)

Added translation using Weblate (German (Low))

Added translation using Weblate (Aymará)

Added translation using Weblate (Kazakh)

Translated using Weblate (Bulgarian)

Currently translated at 2.8% (2 of 71 strings)

Translated using Weblate (Bengali)

Currently translated at 90.5% (585 of 646 strings)

Translated using Weblate (Punjabi)

Currently translated at 99.6% (644 of 646 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (646 of 646 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Balázs Meskó <meskobalazs@mailbox.org>
Co-authored-by: Enol P <enolp@softastur.org>
Co-authored-by: Ergün Can Taş <erguntas1968@gmail.com>
Co-authored-by: GET100PERCENT <eraofphysics@yahoo.com>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: Giovanni Donisi <giovannidonisi0701@gmail.com>
Co-authored-by: Hoseok Seo <ddinghoya@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: L-M-H <lars.magnus@herland.priv.no>
Co-authored-by: Lyudmil Borisov <lyuskoborisov@abv.bg>
Co-authored-by: Marian Hanzel <marulinko@gmail.com>
Co-authored-by: Massimo Pissarello <mapi68@gmail.com>
Co-authored-by: Nizami <nizamismidov4@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Prasanta-Hembram <Prasantahembram720@gmail.com>
Co-authored-by: Preston Waters <masatox3@yahoo.com>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Rohan Deb Sarkar <rohandebsarkar+git@gmail.com>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: Sebi <stoican_sebi@yahoo.com>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: TXRdev Archive <lckphanaf9999@gmail.com>
Co-authored-by: Thọ Bùi Nguyễn Hoàng <buitho061997@gmail.com>
Co-authored-by: Vri 🌈 <weblate@vrifox.cc>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: bgo-eiu <huyaqoob+toolforge@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: thami simo <simo.azad@gmail.com>
Co-authored-by: zaioti <zaioti@tuta.io>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ast/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/az/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bg/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hu/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
2022-11-08 09:24:09 +01:00
Isira Seneviratne
3dc1adb69e Add helper methods for adding PendingIntent mutability. 2022-11-07 17:12:22 +05:30
Tobi
a95a5ed13e Merge pull request #9290 from TeamNewPipe/release/0.24.1
Release v0.24.1
2022-11-05 21:25:52 +01:00
Tobi
da61c9f915 Merge pull request #9298 from Stypox/fix-inconsistent-channel-groups
Fix inconsistent channel group list and items view mode
2022-11-05 21:11:51 +01:00
Stypox
9472c36cbd Merge pull request #9109 from TeamNewPipe/fix/overlayPlayQueueButton
Hide play queue button in VideoDetailsFragment when queue is empty
2022-11-05 20:28:14 +01:00
Stypox
49c12a31e9 Fix wrongly calculated channel groups span count 2022-11-05 20:05:59 +01:00
Stypox
fc061599f8 Fix inconsistent channel group list and item view mode 2022-11-04 18:21:35 +01:00
TobiGr
b066457ccf Update NewPipe to 0.24.1 (991) 2022-11-04 17:07:13 +01:00
Hosted Weblate
2c5c7dfe3a Translated using Weblate (Punjabi)
Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Punjabi (Pakistan))

Currently translated at 18.4% (119 of 646 strings)

Translated using Weblate (Slovak)

Currently translated at 9.7% (7 of 72 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 97.2% (70 of 72 strings)

Translated using Weblate (Polish)

Currently translated at 59.7% (43 of 72 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (72 of 72 strings)

Translated using Weblate (Turkish)

Currently translated at 99.8% (645 of 646 strings)

Translated using Weblate (German)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Hungarian)

Currently translated at 9.8% (7 of 71 strings)

Translated using Weblate (Punjabi)

Currently translated at 5.6% (4 of 71 strings)

Translated using Weblate (Galician)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Punjabi)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Vietnamese)

Currently translated at 99.6% (644 of 646 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Hungarian)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Asturian)

Currently translated at 2.8% (2 of 71 strings)

Translated using Weblate (Punjabi)

Currently translated at 99.6% (644 of 646 strings)

Translated using Weblate (Vietnamese)

Currently translated at 98.9% (639 of 646 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 99.5% (643 of 646 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (646 of 646 strings)

Added translation using Weblate (English (Middle))

Added translation using Weblate (English (Old))

Added translation using Weblate (Sicilian)

Added translation using Weblate (Arabic (Najdi))

Added translation using Weblate (Kashmiri)

Added translation using Weblate (German (Low))

Added translation using Weblate (Aymará)

Added translation using Weblate (Kazakh)

Translated using Weblate (Bulgarian)

Currently translated at 2.8% (2 of 71 strings)

Translated using Weblate (Bengali)

Currently translated at 90.5% (585 of 646 strings)

Translated using Weblate (Punjabi)

Currently translated at 99.6% (644 of 646 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (646 of 646 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Balázs Meskó <meskobalazs@mailbox.org>
Co-authored-by: Enol P <enolp@softastur.org>
Co-authored-by: Ergün Can Taş <erguntas1968@gmail.com>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: Giovanni Donisi <giovannidonisi0701@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Lyudmil Borisov <lyuskoborisov@abv.bg>
Co-authored-by: Marian Hanzel <marulinko@gmail.com>
Co-authored-by: Nizami <nizamismidov4@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Rohan Deb Sarkar <rohandebsarkar+git@gmail.com>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: TXRdev Archive <lckphanaf9999@gmail.com>
Co-authored-by: Thọ Bùi Nguyễn Hoàng <buitho061997@gmail.com>
Co-authored-by: Vri 🌈 <weblate@vrifox.cc>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: bgo-eiu <huyaqoob+toolforge@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: zaioti <zaioti@tuta.io>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ast/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/az/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bg/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hu/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translation: NewPipe/Metadata
2022-11-04 17:06:26 +01:00
Tobi
4573407fc7 Merge pull request #9291 from AudricV/support-yt-handles-and-update-extractor
Support YouTube handles and update NewPipe Extractor
2022-11-04 12:48:54 +01:00
AudricV
9912c11043 Update NewPipe Extractor to support handles 2022-11-04 12:26:42 +01:00
AudricV
231c5e515f [YouTube] Support opening handles from external apps 2022-11-04 12:26:42 +01:00
Tobi
e9870d9e1d Merge pull request #9286 from TeamNewPipe/changelog/0.24.1
Add changelog for 0.24.1 (991)
2022-11-03 19:56:43 +01:00
TobiGr
c274ee9873 Add changelog for 0.24.1 (991) 2022-11-03 17:28:22 +01:00
Tobi
c8caf48cda Merge pull request #9230 from Stypox/duplicate-feed-videos
Fix duplicate videos in feed group "All"
2022-11-03 17:23:05 +01:00
Tobi
1de662f779 Merge pull request #9272 from TeamNewPipe/prettytime
Update PrettyTime from 5.0.3 to 5.0.6 to include new localizations
2022-11-03 16:17:02 +01:00
Isira Seneviratne
e4f97465a4 Use lambdas for VideoDetailFragment listeners. 2022-11-03 20:15:17 +05:30
Isira Seneviratne
84887395f8 Merge pull request #8655 from Isira-Seneviratne/Use_TextViewCompat_setCompoundDrawableTIntList
Use TextViewCompat.setCompoundDrawableTintList().
2022-11-03 20:13:17 +05:30
Isira Seneviratne
e333197ed5 Use OnClickListener and OnLongClickListener lambdas in the player UIs. 2022-11-03 05:09:35 +05:30
TobiGr
bf766f1670 Update PrettyTime from 5.0.3 to 5.0.6 to include new localizations 2022-11-01 19:32:31 +01:00
Isira Seneviratne
51bdc30ed0 Use TextViewCompat.setCompoundDrawableTintList(). 2022-11-01 06:31:35 +05:30
Isira Seneviratne
4b892e2b30 Update AppCompat to 1.5.1. 2022-11-01 06:29:08 +05:30
Tobi
43b2176956 Merge pull request #9256 from TeamNewPipe/weblate
Update translations and remove empty localizations
2022-10-31 13:00:53 +01:00
TobiGr
00283fac30 Remove Kazakh from language picker 2022-10-31 12:20:40 +01:00
Hosted Weblate
78f6a86645 Translated using Weblate (Dutch (Middle))
Currently translated at 4.6% (30 of 646 strings)

Deleted translation using Weblate (Sicilian)

Deleted translation using Weblate (Kazakh)

Deleted translation using Weblate (Kashmiri)

Deleted translation using Weblate (German (Low))

Deleted translation using Weblate (English (Old))

Deleted translation using Weblate (English (Middle))

Deleted translation using Weblate (Aymará)

Deleted translation using Weblate (Arabic (Najdi))

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (French)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (German)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Hebrew)

Currently translated at 53.5% (38 of 71 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 99.5% (643 of 646 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (646 of 646 strings)

Translated using Weblate (Portuguese)

Currently translated at 69.0% (49 of 71 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (645 of 645 strings)

Translated using Weblate (Galician)

Currently translated at 100.0% (645 of 645 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (645 of 645 strings)

Translated using Weblate (Croatian)

Currently translated at 99.5% (642 of 645 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (645 of 645 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (645 of 645 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (645 of 645 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (645 of 645 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (645 of 645 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (645 of 645 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (645 of 645 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (645 of 645 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (645 of 645 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (645 of 645 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (645 of 645 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (645 of 645 strings)

Translated using Weblate (French)

Currently translated at 100.0% (645 of 645 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (645 of 645 strings)

Translated using Weblate (German)

Currently translated at 100.0% (645 of 645 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Igor Rückert <igorruckert@yahoo.com.br>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Nizami <nizamismidov4@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: Samuel Carvalho de Araújo <samuelnegro12345@gmail.com>
Co-authored-by: Terry Louwers <t.louwers@gmail.com>
Co-authored-by: TobiGr <tobigr@mail.de>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: William <eduardo.957@hotmail.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: bomzhellino <adm.bomzh@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: sonix-github <sonix.internet@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
Translation: NewPipe/Metadata
2022-10-31 12:10:21 +01:00
Stypox
9d2ab61993 Merge pull request #9203 from Callisto404/add-chapter-timestamp-share
Added timestamped link sharing from the start of a chapter with a long hold press
2022-10-30 22:31:09 +01:00
Stypox
8fdd828de4 Merge pull request #8739 from Isira-Seneviratne/Stream_average
Calculate search score using streams.
2022-10-30 22:09:55 +01:00
Stypox
25795c3a96 Merge pull request #8706 from Isira-Seneviratne/Improve_LocalPlaylistFragment
Refactor removeWatchedStreams() in LocalPlaylistFragment.
2022-10-30 22:03:39 +01:00
Daniel M
7f3da04fee Added an "isYouTube" check to start of long click handler 2022-10-30 13:48:03 +11:00
Stypox
7864521cb4 Merge pull request #8767 from Isira-Seneviratne/Use_ByteString
Use Okio's ByteString for download checksums.
2022-10-29 11:16:44 +02:00
Tobi
31b83ba47a Add info on date + time localization to contribution guidelines (#9229)
Dates and times are localized using PrettyTime. Added a note to guide translators to also localize that library to create a fully localized experience.

Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
2022-10-28 17:35:56 +02:00
Stypox
9524c6245d Merge pull request #8747 from Isira-Seneviratne/Range_limit
Use range-limiting methods in more places.
2022-10-28 10:34:04 +02:00
Stypox
57d2fe113a Fix duplicate videos in feed "All" 2022-10-27 23:43:39 +02:00
Stypox
2f6cb87bba Use GROUP_ALL_ID instead of hardcoded -1 2022-10-27 23:32:19 +02:00
Stypox
3cef7f3201 Merge pull request #9207 from cern1710/list-view-alt-alt-implementation
undefined
2022-10-27 22:48:03 +02:00
Tobi
2225933946 Merge pull request #9179 from OneGuitars/9094-add-translations
Added Icelandic, Latvian, Malayalam to language selector
2022-10-27 20:57:28 +02:00
Zhuojun Xiao
47259ef152 Added Icelandic, Latvian, Malayalam to language selector in alphabetical order 2022-10-27 20:26:37 +02:00
Zhuojun Xiao
b2eb631a97 Added Icelandic,Latvian,Malayalam to language selector 2022-10-27 20:26:37 +02:00
Hosted Weblate
9e0f37a2de Translated using Weblate (Greek)
Currently translated at 100.0% (645 of 645 strings)

Translated using Weblate (French)

Currently translated at 100.0% (645 of 645 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (645 of 645 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (645 of 645 strings)

Translated using Weblate (French)

Currently translated at 99.5% (642 of 645 strings)

Translated using Weblate (Greek)

Currently translated at 99.6% (643 of 645 strings)

Translated using Weblate (Icelandic)

Currently translated at 99.0% (636 of 642 strings)

Translated using Weblate (Polish)

Currently translated at 59.1% (42 of 71 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Icelandic)

Currently translated at 83.1% (534 of 642 strings)

Translated using Weblate (Punjabi (Pakistan))

Currently translated at 18.3% (118 of 642 strings)

Translated using Weblate (Punjabi (Pakistan))

Currently translated at 1.4% (1 of 71 strings)

Translated using Weblate (Icelandic)

Currently translated at 83.0% (533 of 642 strings)

Translated using Weblate (Aymara (Southern))

Currently translated at 0.1% (1 of 642 strings)

Translated using Weblate (Swedish)

Currently translated at 60.5% (43 of 71 strings)

Translated using Weblate (Russian)

Currently translated at 30.9% (22 of 71 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (French)

Currently translated at 100.0% (642 of 642 strings)

Added translation using Weblate (Punjabi (Pakistan))

Translated using Weblate (Icelandic)

Currently translated at 70.0% (450 of 642 strings)

Translated using Weblate (Undetermined)

Currently translated at 21.4% (138 of 642 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Undetermined)

Currently translated at 18.3% (118 of 642 strings)

Translated using Weblate (Icelandic)

Currently translated at 2.8% (2 of 71 strings)

Translated using Weblate (Icelandic)

Currently translated at 51.5% (331 of 642 strings)

Translated using Weblate (French)

Currently translated at 91.5% (65 of 71 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (71 of 71 strings)

Translated using Weblate (Italian)

Currently translated at 43.6% (31 of 71 strings)

Translated using Weblate (Basque)

Currently translated at 45.0% (32 of 71 strings)

Translated using Weblate (Punjabi)

Currently translated at 84.7% (544 of 642 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Tamil)

Currently translated at 54.8% (352 of 642 strings)

Translated using Weblate (Tamil)

Currently translated at 54.8% (352 of 642 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Korean)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (642 of 642 strings)

Added translation using Weblate (Undetermined)

Translated using Weblate (Icelandic)

Currently translated at 7.3% (47 of 642 strings)

Translated using Weblate (Icelandic)

Currently translated at 4.6% (30 of 642 strings)

Added translation using Weblate (Icelandic)

Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Chitraarasu <chitraarasu@kirshi.co>
Co-authored-by: Chitraarasu.k <kchitraarasu@gmail.com>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Florian <flo.site@zaclys.net>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: GnuPGを使うべきだ <dieeeazpnnqbpddh@cock.email>
Co-authored-by: Gontzal Manuel Pujana Onaindia <thadahdenyse@gmail.com>
Co-authored-by: Hoseok Seo <ddinghoya@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Mehmet Ali <2045uuttb@relay.firefox.com>
Co-authored-by: Nizami <nizamismidov4@gmail.com>
Co-authored-by: OneGuitars <xiaozhuojun1125@gmail.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: Trendyne <eiko@chiru.no>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: atilluF <atilluf@outlook.com>
Co-authored-by: bgo-eiu <huyaqoob+toolforge@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: julboudin <boudin.julie@orange.fr>
Co-authored-by: rehork <cooky@e.email>
Co-authored-by: Артём Нефедов <artem10397g@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/eu/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/is/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pa_PK/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ru/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translation: NewPipe/Metadata
2022-10-27 20:25:47 +02:00
Samuel Wu
f712ea34e0 Merge remote-tracking branch 'origin/list-view-alt-alt-implementation' into list-view-alt-alt-implementation 2022-10-28 04:54:42 +11:00
Samuel Wu
a44b7c9c9e Disabled animations for subscription fragment 2022-10-28 04:54:33 +11:00
Stypox
4b32890b5f Fix random crash in SubscriptionFragment 2022-10-27 18:45:06 +02:00
Stypox
a41aa01461 Solve two SonarCloud smells 2022-10-27 17:52:17 +02:00
Stypox
2ed6819e2c Make channel groups button sizes larger 2022-10-27 17:35:55 +02:00
Stypox
ea875c59af Deduplicate isGridLayout calls 2022-10-27 17:25:06 +02:00
YonghaoDeng
a22162ffac Add an Open in browser button on error panel (#9180)
* add a open in browser button

* Corrected a few things that needed to be changed

* Remove unneeded changes.

* Remove unneeded changes.

* Add showAndSetOpenInBrowserButtonAction function

* modify some codes
2022-10-27 14:38:08 +02:00
Stypox
83d16dc656 Fix flickering in channel groups list 2022-10-27 14:01:04 +02:00
Stypox
8ceefee1e3 Put "New feed group" item at the top 2022-10-27 13:51:56 +02:00
Samuel Wu
8f157be7e0 Revert changes 2022-10-27 12:15:36 +11:00
Stypox
38579e9a29 Merge pull request #9214 from Stypox/update-extractor
Update extractor to fix Jitpack failures in CI
2022-10-26 23:47:36 +02:00
Stypox
30a91f59ae Update extractor to fix Jitpack failures in CI
Jitpack seems to have deleted the previous commit form their servers (5c710da160f488bb40ab2cf4469bec9bd4cefd38)
2022-10-26 23:38:23 +02:00
Stypox
0e169951f7 Fix grid/list toggle implementation of feed 2022-10-26 23:20:32 +02:00
Samuel Wu
8b9db369f6 Resized add new item button 2022-10-26 21:23:50 +11:00
Samuel Wu
f7e10eb094 Fully working card and list view 2022-10-26 21:05:55 +11:00
Jfax510
0d73d193ad Added Toast Notification "Hold to enqueue" (#9196)
* Added Toast Notification "Hold to enqueue"

* Check if enqueue tips are enabled

* created function showHoldToAppendTipIfNeeded() for toast message
2022-10-26 11:35:03 +02:00
plasticanu
40815086ad Fix crash when the user clicks download then quits the history fragment (#9143)
* Fix crash when the user clicks download then quits the history fragment

* add a nonnull annotation to the context parameter in the DownloadDialog constructor.

* Revert "Merge branch 'TeamNewPipe:dev' into fix/HistoryFragmentDownloadDialogCrash"

This reverts commit 968d7a7603.

* Revert "Merge branch 'TeamNewPipe:dev' into fix/HistoryFragmentDownloadDialogCrash"

This reverts commit 968d7a7603, reversing
changes made to 52963ba37d.

Reverted merge

jlhzxc

* update project to the latest dev branch

* Revert "update project to the latest dev branch"

This reverts commit fb3ed83d51.

revert changes to build files

* Revert "Revert "Merge branch 'TeamNewPipe:dev' into fix/HistoryFragmentDownloadDialogCrash""

This reverts commit f9e1835e71.
2022-10-26 11:22:32 +02:00
Yuuu2990
16860603fd Add Link to FAQ in the app (#9164)
* Link to FAQ in the app #4447

* remove redundant comments produced by me.

* Update app/src/main/res/values/strings.xml

Update FAQ description

Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>

* Format the CodeStyle and readjust the layout.

* Update app/src/main/res/layout/fragment_about.xml

Remove redundant id.

Co-authored-by: Stypox <stypox@pm.me>

* Update app/src/main/res/layout/fragment_about.xml

Remove redundant id.

Co-authored-by: Stypox <stypox@pm.me>

* Update app/src/main/res/values/strings.xml

Keep the uppercase for consistency.

Co-authored-by: Stypox <stypox@pm.me>

* Update app/src/main/res/values/strings.xml

Modify the description of FAQ.

Co-authored-by: Stypox <stypox@pm.me>

Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
Co-authored-by: Stypox <stypox@pm.me>
2022-10-26 09:59:51 +02:00
Samuel Wu
c607089cbb Altered grid view similar to Youtube app layout 2022-10-26 00:06:48 +11:00
Samuel Wu
28464344c1 Finalized design for vertical card view and removed unneeded variables in SubscriptionFragment.kt 2022-10-25 11:43:25 +11:00
Samuel Wu
ed68e3bd46 Fully working toggle button that change between vertical and horizontal view 2022-10-25 10:54:27 +11:00
Samuel Wu
082d7a3f18 Added working binding for a "new" button that works in the list layout. 2022-10-25 02:38:31 +11:00
Samuel Wu
6eddaa0d38 Added boolean to handle feed groups. May need a better solution for this 2022-10-25 02:20:14 +11:00
Samuel Wu
1aa1a0287e Could toggle between list view and grid view...once. Requires bug fixing on refreshing 2022-10-25 02:01:57 +11:00
Samuel Wu
3bfcb16f9a Bug: SubscriptionViewModel.kt did not map values for FeedGroupCardVerticalItem in line 26 2022-10-25 00:32:21 +11:00
Samuel Wu
f37d869ea2 Button can be toggled but not all strings have been fed 2022-10-24 23:01:02 +11:00
Samuel Wu
78547b4fa4 Created a list view for channel group. 2022-10-24 18:55:08 +11:00
Samuel Wu
29e56b9f2d Created a button in SubscriptionFragment.kt that reads whether button is clicked 2022-10-24 16:55:12 +11:00
Daniel M
83357ca67e Added sharing a link with timestamp from a chapter into the long click for each chapter 2022-10-24 14:14:41 +11:00
Samuel Wu
8482bf9fed Created a non-functional button in HeaderWithMenuItem.kt 2022-10-23 23:43:52 +11:00
Tobi
2a98cca801 Merge pull request #8986 from Isira-Seneviratne/AGP_7.3
Update Android Gradle Plugin to 7.3.0.
2022-10-18 23:03:01 +02:00
Isira Seneviratne
6277d4981c Update Android Gradle Plugin to 7.3.0. 2022-10-15 04:09:08 +05:30
opusforlife2
02deaa0f1a Update label to 'feature request' 2022-10-14 19:40:04 +02:00
TobiGr
4a278ef102 Hide play queue button in VideoDetailsFragment mini player when the play queue is empty
Related PR introducing the button: #8946
2022-10-11 21:27:04 +02:00
Tobi
7ab8f9f112 Merge pull request #9079 from devlearner/fix-screen-rotate
Fix `DownloadDialog` crash on screen rotation
2022-10-10 11:18:50 +02:00
Tobi
7fca0e0786 Merge pull request #9065 from devlearner/fix-spannable-cast
Fix potential cast exception in comments text
2022-10-10 10:51:32 +02:00
Tobi
0b0dfd0a37 Merge pull request #9092 from TeamNewPipe/weblate
Update translations
2022-10-09 20:09:14 +02:00
Hosted Weblate
dd07bd91a4 Translated using Weblate (Korean)
Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Korean)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 67.6% (48 of 71 strings)

Translated using Weblate (Portuguese)

Currently translated at 67.6% (48 of 71 strings)

Translated using Weblate (Bengali)

Currently translated at 90.9% (584 of 642 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 99.8% (641 of 642 strings)

Translated using Weblate (Danish)

Currently translated at 91.4% (587 of 642 strings)

Translated using Weblate (Galician)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Bengali (Bangladesh))

Currently translated at 64.4% (414 of 642 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Portuguese)

Currently translated at 99.8% (641 of 642 strings)

Translated using Weblate (Korean)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Korean)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Korean)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (642 of 642 strings)

Added translation using Weblate (Aymara (Southern))

Added translation using Weblate (Aymará)

Translated using Weblate (Bengali)

Currently translated at 88.9% (571 of 642 strings)

Translated using Weblate (Portuguese)

Currently translated at 99.6% (640 of 642 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (71 of 71 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 28.1% (20 of 71 strings)

Translated using Weblate (Turkish)

Currently translated at 32.3% (23 of 71 strings)

Translated using Weblate (Galician)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Hindi)

Currently translated at 70.2% (451 of 642 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Persian)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Basque)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Japanese)

Currently translated at 99.6% (640 of 642 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Dutch)

Currently translated at 98.9% (635 of 642 strings)

Translated using Weblate (French)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Japanese)

Currently translated at 99.6% (640 of 642 strings)

Translated using Weblate (Japanese)

Currently translated at 99.6% (640 of 642 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (642 of 642 strings)

Translated using Weblate (Japanese)

Currently translated at 99.6% (640 of 642 strings)

Translated using Weblate (Japanese)

Currently translated at 99.6% (640 of 642 strings)

Translated using Weblate (German)

Currently translated at 100.0% (642 of 642 strings)

Merge branch 'origin/dev' into Weblate.

Translated using Weblate (Tamil)

Currently translated at 52.6% (337 of 640 strings)

Translated using Weblate (Vietnamese)

Currently translated at 99.5% (637 of 640 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Portuguese)

Currently translated at 60.5% (43 of 71 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Tamil)

Currently translated at 52.5% (336 of 640 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Slovak)

Currently translated at 8.4% (6 of 71 strings)

Translated using Weblate (Kurdish (Central))

Currently translated at 98.1% (628 of 640 strings)

Translated using Weblate (Galician)

Currently translated at 99.6% (638 of 640 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (German)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Spanish)

Currently translated at 88.7% (63 of 71 strings)

Translated using Weblate (Hindi)

Currently translated at 4.2% (3 of 71 strings)

Translated using Weblate (Portuguese)

Currently translated at 60.5% (43 of 71 strings)

Translated using Weblate (Hindi)

Currently translated at 68.7% (440 of 640 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Dutch)

Currently translated at 99.3% (636 of 640 strings)

Translated using Weblate (English)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (71 of 71 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 63.3% (45 of 71 strings)

Translated using Weblate (Swedish)

Currently translated at 47.8% (34 of 71 strings)

Translated using Weblate (French)

Currently translated at 90.1% (64 of 71 strings)

Translated using Weblate (Spanish)

Currently translated at 57.7% (41 of 71 strings)

Translated using Weblate (Polish)

Currently translated at 57.7% (41 of 71 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (71 of 71 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (71 of 71 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 15.4% (11 of 71 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Korean)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (French)

Currently translated at 100.0% (640 of 640 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: AioiLight <info@aioilight.space>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Allan Kimmer Jensen <mail@akj.io>
Co-authored-by: Andrew Boonin <catassasin331@gmail.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Denys Nykula <vegan@libre.net.ua>
Co-authored-by: Eduardo Malaspina <vaio0@swismail.com>
Co-authored-by: Elias Quispe Chura <ilaies_2012@hotmail.com>
Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: Error Specialist <errorspecialist02@gmail.com>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Florin Voicu <florin.bkk@gmail.com>
Co-authored-by: GnuPGを使うべきだ <dieeeazpnnqbpddh@cock.email>
Co-authored-by: Gontzal Manuel Pujana Onaindia <thadahdenyse@gmail.com>
Co-authored-by: Hasan <hasanyildiz0@yaani.com>
Co-authored-by: Hoseok Seo <ddinghoya@gmail.com>
Co-authored-by: Hossain Rizbi <rsajib387@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Igor Nedoboy <i.nedoboy@mail.ru>
Co-authored-by: Igor Rückert <igorruckert@yahoo.com.br>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: JS Ahn <freirepublik@gmail.com>
Co-authored-by: JY3 <GeeyunJY3@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Leonardo Brauna <leonardo_brauna@hotmail.com.br>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Maday <royalcoolness7898@gmail.com>
Co-authored-by: Marc Barten <mwbarten@hotmail.com>
Co-authored-by: Marian Hanzel <marulinko@gmail.com>
Co-authored-by: Max Xie <monyxie@gmail.com>
Co-authored-by: MohammedSR Vevo <mohammednajmidin@gmail.com>
Co-authored-by: NTFSynergy <ntfsynergy@gmail.com>
Co-authored-by: Nico Guo <fewis64883@herrain.com>
Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: S3aBreeze <paperwork@evilcorp.ltd>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: SEENUVASAN T <seenuthiruvpm@gmail.com>
Co-authored-by: TXRdev Archive <lckphanaf9999@gmail.com>
Co-authored-by: Terry Louwers <t.louwers@gmail.com>
Co-authored-by: TiA4f8R <avdivers84@gmail.com>
Co-authored-by: Tom Sawyer <weblate@grymkoll.se>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: Vas R <mrkomododragon1234@gmail.com>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: atilluF <atilluf@outlook.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: gonzalo <misctrashy@gmail.com>
Co-authored-by: komiratsu19273240ad76c354986 <2011945@naver.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: pitachips <hjkim3323@gmail.com>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: variable virus <variablevirus@gmail.com>
Co-authored-by: weughgh <ahmedhuntingpro@proton.me>
Co-authored-by: zaioti <zaioti@tuta.io>
Co-authored-by: zmni <zmni@outlook.com>
Co-authored-by: 이정희 <daemul72@gmail.com>
Co-authored-by: 정주찬 <ju1801@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/cs/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_PT/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
2022-10-09 19:53:02 +02:00
Tobi
ed4eb124e4 Merge pull request #8734 from Stypox/feed-group-factory
Improve `FeedGroupDialogViewModel` factory
2022-10-09 19:35:47 +02:00
Tobi
4070007c93 Merge pull request #9011 from TacoTheDank/useSimpleSummaryProvider
Utilize useSimpleSummaryProvider attribute
2022-10-09 19:23:26 +02:00
Tobi
5b213a19e4 Merge pull request #8934 from Isira-Seneviratne/LinkifyCompat
Use LinkifyCompat.
2022-10-09 12:07:50 +02:00
Tobi
34d81d3bf2 Merge pull request #8987 from Sandelinos/themed-icons
Add monochrome icon
2022-10-09 11:40:20 +02:00
Tobi
8bc8355b68 Merge pull request #8946 from HybridAU/add_play_queue_button_to_video_details_fragment
Add play queue button to video details fragment
2022-10-06 18:55:50 +02:00
devlearner
ab99c14fd2 Fix crash on screen rotation 2022-10-06 18:15:36 +08:00
devlearner
1047158a66 Fix potential cast exception
when casting to `Spannable` in `CommentTextOnTouchListener`
2022-10-04 17:31:35 +08:00
Stypox
0c63950429 Merge pull request #8889 from TeamNewPipe/release-0.24.0
Release v0.24.0 (990)
2022-09-25 13:56:20 +02:00
Stypox
aa9cd8c88f Update NewPipeExtractor again 2022-09-25 13:33:49 +02:00
Hosted Weblate
3110b08988 Translated using Weblate (Tamil)
Currently translated at 52.6% (337 of 640 strings)

Translated using Weblate (Vietnamese)

Currently translated at 99.5% (637 of 640 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Portuguese)

Currently translated at 60.5% (43 of 71 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Tamil)

Currently translated at 52.5% (336 of 640 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Slovak)

Currently translated at 8.4% (6 of 71 strings)

Translated using Weblate (Kurdish (Central))

Currently translated at 98.1% (628 of 640 strings)

Translated using Weblate (Galician)

Currently translated at 99.6% (638 of 640 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (German)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Spanish)

Currently translated at 88.7% (63 of 71 strings)

Translated using Weblate (Hindi)

Currently translated at 4.2% (3 of 71 strings)

Translated using Weblate (Portuguese)

Currently translated at 60.5% (43 of 71 strings)

Translated using Weblate (Hindi)

Currently translated at 68.7% (440 of 640 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Dutch)

Currently translated at 99.3% (636 of 640 strings)

Translated using Weblate (English)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (71 of 71 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 63.3% (45 of 71 strings)

Translated using Weblate (Swedish)

Currently translated at 47.8% (34 of 71 strings)

Translated using Weblate (French)

Currently translated at 90.1% (64 of 71 strings)

Translated using Weblate (Spanish)

Currently translated at 57.7% (41 of 71 strings)

Translated using Weblate (Polish)

Currently translated at 57.7% (41 of 71 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (71 of 71 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (71 of 71 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 15.4% (11 of 71 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Korean)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (French)

Currently translated at 100.0% (640 of 640 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Denys Nykula <vegan@libre.net.ua>
Co-authored-by: Eduardo Malaspina <vaio0@swismail.com>
Co-authored-by: Eric <hamburger1024@mailbox.org>
Co-authored-by: Error Specialist <errorspecialist02@gmail.com>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Hoseok Seo <ddinghoya@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Igor Nedoboy <i.nedoboy@mail.ru>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Leonardo Brauna <leonardo_brauna@hotmail.com.br>
Co-authored-by: Maday <royalcoolness7898@gmail.com>
Co-authored-by: Marc Barten <mwbarten@hotmail.com>
Co-authored-by: Max Xie <monyxie@gmail.com>
Co-authored-by: MohammedSR Vevo <mohammednajmidin@gmail.com>
Co-authored-by: NTFSynergy <ntfsynergy@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: SEENUVASAN T <seenuthiruvpm@gmail.com>
Co-authored-by: TXRdev Archive <lckphanaf9999@gmail.com>
Co-authored-by: Terry Louwers <t.louwers@gmail.com>
Co-authored-by: TiA4f8R <avdivers84@gmail.com>
Co-authored-by: Tom Sawyer <weblate@grymkoll.se>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: Vas R <mrkomododragon1234@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: atilluF <atilluf@outlook.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: weughgh <ahmedhuntingpro@proton.me>
Co-authored-by: zmni <zmni@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/cs/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
2022-09-25 13:31:17 +02:00
TacoTheDank
fe227d5b94 Utilize useSimpleSummaryProvider attribute 2022-09-23 01:46:34 -04:00
Stypox
489f052ef9 Fix feed menu tooltips (silly copy-paste error) 2022-09-19 11:21:42 +02:00
Stypox
8313f6bb51 Update NewPipeExtractor again 2022-09-19 09:17:25 +02:00
Stypox
bf55ed262f Merge pull request #8972 from Stypox/fix-suggestions-listadapter
Fix various issues in the search suggestions list
2022-09-19 08:54:55 +02:00
Stypox
f26bf33ead Merge pull request #8966 from Stypox/feed-menuitem-tooltip
Show correct tooltips for actions in feed
2022-09-19 08:54:06 +02:00
Stypox
ca29f6cc1f Merge pull request #8899 from Stypox/fix-player-thumbnail-handling
Fix wrong thumbnail in notification on Android 13
2022-09-19 08:49:39 +02:00
Sandelinos
cb80891a5f Add monochrome icon 2022-09-17 17:18:15 +03:00
HybridAU
9db0133a5b Add play queue button to video details fragment
* Add play queue button to video details fragment

* Use existing ic_list icon

* Still open play queue even when queue is empty

* Change app:srcCompat to android:src
2022-09-14 21:00:44 +08:00
Stypox
28b34f3796 Fix scroll issues in suggestion list
Before if the list before updating contained item 'test' at position 0 and after updating that value went to the bottom, the list would incorrectly scroll to the bottom to follow that item. Now the scrolling is done after the list is updated.
2022-09-14 14:39:32 +02:00
Stypox
1f57c87859 Disable suggestion list animations: not meaningful
The animations were just in the way and did not help in choosing items, since the suggestion items keep changing too much.
2022-09-14 14:04:22 +02:00
Stypox
fbf5549182 Fix wrong icons being set on suggestion items
The diff util wrongly considered as equal two items with the same text but with different `fromHistory` value
2022-09-14 14:01:59 +02:00
Stypox
051c572e7f Show correct tooltips for actions in feed 2022-09-13 15:26:04 +02:00
Isira Seneviratne
464a646671 Use LinkifyCompat. 2022-09-06 09:27:50 +05:30
Stypox
ed87465565 Only update notification large icon when it changes 2022-08-28 23:14:02 +02:00
Stypox
f9109ebc81 Use player.getThumbnail() instead of field in VideoPlayerUi 2022-08-28 18:35:21 +02:00
Stypox
4a7af6f9ac Remove thumbnail before sync, if outdated
Also refactor onPlaybackSynchronize and add comments
2022-08-28 18:32:27 +02:00
Stypox
7fbef35daa Unify onThumbnailLoaded calls to ensure UIs always updated 2022-08-28 17:24:51 +02:00
Stypox
e6391a860a Release v0.24.0 (990) 2022-08-27 14:52:49 +02:00
Stypox
ebce4c5b7e Add changelog for v0.24.0 (990) 2022-08-27 14:47:57 +02:00
Hosted Weblate
e7e61a0c4c Merge branch 'origin/dev' into Weblate. 2022-08-27 14:06:04 +02:00
Stypox
131f78c0c2 Merge pull request #8731 from Stypox/player-refactor-wrong-video-size
Fix surface view not resizing video correctly + other player fixes
2022-08-27 12:02:27 +02:00
Hosted Weblate
67b5de38b1 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (70 of 70 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (70 of 70 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (70 of 70 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (69 of 69 strings)

Translated using Weblate (Interlingua)

Currently translated at 35.0% (224 of 640 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 62.3% (43 of 69 strings)

Translated using Weblate (Korean)

Currently translated at 10.1% (7 of 69 strings)

Translated using Weblate (French)

Currently translated at 89.8% (62 of 69 strings)

Translated using Weblate (Hebrew)

Currently translated at 55.0% (38 of 69 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (69 of 69 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (69 of 69 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 13.0% (9 of 69 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Bengali (Bangladesh))

Currently translated at 5.8% (4 of 68 strings)

Translated using Weblate (French)

Currently translated at 89.7% (61 of 68 strings)

Translated using Weblate (French)

Currently translated at 89.7% (61 of 68 strings)

Translated using Weblate (Bengali)

Currently translated at 22.0% (15 of 68 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (French)

Currently translated at 73.5% (50 of 68 strings)

Translated using Weblate (Russian)

Currently translated at 30.8% (21 of 68 strings)

Translated using Weblate (German)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Hungarian)

Currently translated at 7.3% (5 of 68 strings)

Translated using Weblate (Croatian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Hungarian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Polish)

Currently translated at 58.8% (40 of 68 strings)

Translated using Weblate (Bengali)

Currently translated at 88.7% (568 of 640 strings)

Translated using Weblate (Malayalam)

Currently translated at 90.7% (581 of 640 strings)

Translated using Weblate (Interlingua)

Currently translated at 33.5% (215 of 640 strings)

Translated using Weblate (Croatian)

Currently translated at 98.1% (628 of 640 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Hungarian)

Currently translated at 93.9% (601 of 640 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Somali)

Currently translated at 89.0% (570 of 640 strings)

Translated using Weblate (German)

Currently translated at 66.1% (45 of 68 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Armenian)

Currently translated at 29.2% (187 of 640 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Spanish)

Currently translated at 99.5% (637 of 640 strings)

Translated using Weblate (Urdu)

Currently translated at 67.1% (430 of 640 strings)

Translated using Weblate (Croatian)

Currently translated at 97.5% (624 of 640 strings)

Translated using Weblate (Portuguese)

Currently translated at 61.7% (42 of 68 strings)

Translated using Weblate (Russian)

Currently translated at 22.0% (15 of 68 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (French)

Currently translated at 72.0% (49 of 68 strings)

Translated using Weblate (Italian)

Currently translated at 41.1% (28 of 68 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (68 of 68 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 99.6% (638 of 640 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Galician)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Bulgarian)

Currently translated at 72.0% (461 of 640 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Bengali (Bangladesh))

Currently translated at 64.6% (414 of 640 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Persian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Basque)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (French)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (German)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Slovak)

Currently translated at 8.8% (6 of 68 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (French)

Currently translated at 70.5% (48 of 68 strings)

Translated using Weblate (Filipino)

Currently translated at 36.8% (236 of 640 strings)

Translated using Weblate (Bulgarian)

Currently translated at 70.6% (452 of 640 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Turkish)

Currently translated at 32.3% (22 of 68 strings)

Translated using Weblate (Telugu)

Currently translated at 65.6% (420 of 640 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 97.1% (622 of 640 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Japanese)

Currently translated at 99.2% (635 of 640 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Davit Mayilyan <davit.mayilyan@protonmail.ch>
Co-authored-by: Edward <edwardchirita@mailbox.org>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Evghenii Botnari <botnarievgheniy@gmail.com>
Co-authored-by: Fjuro <fjuro@seznam.cz>
Co-authored-by: Francisco Ruiz <fjrbas@yahoo.es>
Co-authored-by: Giovanni Donisi <giovannidonisi0701@gmail.com>
Co-authored-by: GnuPGを使うべきだ <dieeeazpnnqbpddh@cock.email>
Co-authored-by: Gontzal Manuel Pujana Onaindia <thadahdenyse@gmail.com>
Co-authored-by: Hin Weisner <translatu.godwit@aleeas.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Igor Sorocean <sorocean.igor@gmail.com>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: JScocktail <yarbutt2005@gmail.com>
Co-authored-by: Jalaluddin <ju81@ymail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Josu <bi000@protonmail.com>
Co-authored-by: Karl Tammik <karltammik@protonmail.com>
Co-authored-by: Laura Vasconcelos Pereira Felippe <lauravpf@gmail.com>
Co-authored-by: Lenn Art <gitlab@wunstblog.de>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Louis V <michumadame1@gmail.com>
Co-authored-by: Marian Hanzel <marulinko@gmail.com>
Co-authored-by: MatthieuPh <matthieu.philippe@protonmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Mohammed Anas <triallax@tutanota.com>
Co-authored-by: MΛX <maxkorsov@protonmail.com>
Co-authored-by: Nadir Nour <dudethatwascool2@gmail.com>
Co-authored-by: Napstaguy04 <brokenscreen3@gmail.com>
Co-authored-by: Nizami <nizamismidov4@gmail.com>
Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Co-authored-by: Pieter van der Razemond <pietervanderrazemond@mailbox.org>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Ricardo <contatorms7@tutamail.com>
Co-authored-by: S3aBreeze <paperwork@evilcorp.ltd>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: STV <steeven.lombardi@gmail.com>
Co-authored-by: Samar Ali <samarali.dev@gmail.com>
Co-authored-by: Santhosh J <santhoshj296@gmail.com>
Co-authored-by: Software In Interlingua <softinterlingua@gmail.com>
Co-authored-by: TXRdev Archive <lckphanaf9999@gmail.com>
Co-authored-by: Tadeusz Dudek <t--o_o@outlook.com>
Co-authored-by: ThePlanetaryDroid <gmeyq5y0@duck.com>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Viktor <xasertop@gmail.com>
Co-authored-by: WB <dln0@proton.me>
Co-authored-by: Xəyyam Qocayev <xxmn77@gmail.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: Zoldtukor <emailekhez@gmail.com>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: i-am-SangWoo-Lee <i.am.sangwoo.lee@gmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: rakijagamer-2003 <rakijaisthebest@abv.bg>
Co-authored-by: remon-drk <omerdoruk005@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: subba raidu <raidu4u@gmail.com>
Co-authored-by: yunna <yunna.in@gmail.com>
Co-authored-by: Симеон Цветков <sicvetkov@uni-sofia.bg>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/az/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bn/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bn_BD/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/cs/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hu/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ko/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ru/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
2022-08-27 11:53:53 +02:00
Stypox
f9994abb94 Prevent tapping on thumbnail if video details are not loaded 2022-08-26 18:54:51 +02:00
Stypox
ca0f56eea8 Avoid setting invalid states to bottom sheet callback 2022-08-26 18:54:51 +02:00
Stypox
500acce178 Fix regression in screen rotation animation 2022-08-26 18:54:51 +02:00
Stypox
6805c75c9c Fix surface view not resizing video correctly
Also fix yet another random null pointer exception that could happen when adding the video player view
2022-08-26 18:54:51 +02:00
litetex
75917c7f61 Merge pull request #8678 from Stypox/media-session-ui
Create media session UI and fix player notification
2022-08-25 17:18:36 +02:00
litetex
59d1ded94e Fixed sonar detected problems
+ Automatically fixed code style (imports)
2022-08-25 17:02:53 +02:00
Stypox
973a966011 Review suggestions 2022-08-25 17:02:53 +02:00
Stypox
510efaae97 Keep strong reference to Picasso thumbnail loading target
Before the Target would sometimes be garbage collected before being called with the loaded thumbnail, since Picasso holds weak references to targets
2022-08-25 17:02:52 +02:00
Stypox
11bd2369e5 Merge MediaSessionManager into MediaSessionPlayerUi 2022-08-25 17:02:52 +02:00
Stypox
f80d1dc48d Let exoplayer decide when to update metadata
Though still make sure metadata is updated after the thumbnail is loaded.
This fixes the wrong seekbar properties (duration and current position) being shown in the notification sometimes.
2022-08-25 17:02:52 +02:00
Stypox
8bff445ec3 Remove useless checks before updating metadata
A while ago NewPipe called the metadata update function very often, so checks were needed to ensure not wasting time updating metadata if it were already up to date. Now, instead, the metadata update function is called exactly when needed, i.e. when metadata changes, so such checks are not needed anymore (and were probably also a little resource-heavy).
2022-08-25 17:02:51 +02:00
Stypox
d73ca41cfe Even when thumbnails should not be shown, set it to null in notification
This makes sure the thumbnail is removed from the notification if the user disables thumbnails
2022-08-25 17:02:51 +02:00
Stypox
f3a9b81b67 Fix sometimes seeing outdated thumbnail in notification
Before the thumbnail finishes loading for the new video the player is now playing, the old thumbnail was being used, leading to wrong thumbnails set in the media session and the notification.
2022-08-25 17:02:51 +02:00
Stypox
3cc43e9fb9 Fix thumbnail sometimes not set to media session metadata
The thumbnail was not being updated in the media session metadata after it was loaded, since there was no metadata update in that case, only a notification update.
2022-08-25 17:00:41 +02:00
Stypox
bc33322d4b Remove useless MediaSessionCallback
The player is now passed directly, it made no sense to wrap around it in a callback that was not really a callback but rather, actually, a wrapper.
2022-08-25 17:00:41 +02:00
Stypox
c054ea0737 Create MediaSessionPlayerUi 2022-08-25 17:00:41 +02:00
litetex
ce6f3ca5df Merge pull request #8677 from Stypox/fix-picasso-target
Keep strong references to Picasso notification icon loading targets
2022-08-25 16:55:31 +02:00
Stypox
52dbfdee00 Keep strong references to Picasso notification icon loading targets
Before the Target would sometimes be garbage collected before being called with the loaded channel icon, since Picasso holds weak references to targets. This meant that sometimes a new streams notification  would not be shown, because the lambda that should have shown it had already been garbage collected.
2022-08-25 16:41:51 +02:00
litetex
1e964a36a9 Merge pull request #8754 from mhmdanas/clarify-that-span-shouldnt-be-in-translated-readme
Clarify that span shouldn't be in translated READMEs
2022-08-25 16:27:16 +02:00
litetex
679e81e091 Merge pull request #8755 from mhmdanas/remove-whitespace
Remove extra whitespace from issue and PR templates
2022-08-25 16:26:31 +02:00
litetex
2e3e4f5a84 Merge pull request #8751 from TacoTheDank/bumpGradle
Update Gradle to 7.5.1
2022-08-25 16:25:32 +02:00
Stypox
208dde631f Merge branch 'master' into dev 2022-08-25 10:45:24 +02:00
Stypox
4227866fcf Improve changelog for v0.23.3 (989) 2022-08-25 10:44:29 +02:00
Stypox
335e682299 Merge pull request #8880 from TeamNewPipe/release-0.23.3
Hotfix release v0.23.3
2022-08-25 10:40:01 +02:00
Stypox
5c0ed22b09 Add changelog for v0.23.3 (989) 2022-08-25 10:23:09 +02:00
Stypox
e1b8a3fbdf Hotfix release v0.23.3 (989) 2022-08-25 10:16:56 +02:00
Stypox
1a432f2ee3 Update jsoup to 1.15.3
This fixes a vulnerability issue related to Cross Site Scripting
2022-08-25 10:15:30 +02:00
Stypox
db45042a56 Update NewPipeExtractor
This removes the usage of the SourceVersion class, which was not available on Android and caused issues such as #8876
2022-08-25 10:14:46 +02:00
opusforlife2
a50b9bd6ff Add FAQ entry to the template checklists (#8822)
Co-authored-by: Mohammed Anas <triallax@tutanota.com>
2022-08-21 20:39:57 +03:00
Taco
2089f3e54c Merge pull request #8719 from Isira-Seneviratne/Use_ListAdapter
Use ListAdapter for search predictions.
2022-08-19 15:50:41 -04:00
Isira Seneviratne
5e0788b99c Use ListAdapter in PreferenceSearchAdapter. 2022-08-18 19:52:51 +05:30
Isira Seneviratne
67669c286b Use ListAdapter in SuggestionListAdapter. 2022-08-18 19:52:51 +05:30
Isira Seneviratne
408a71cfdc Calculate search score using streams.
Co-authored-by: Stypox <stypox@pm.me>
2022-08-15 07:26:56 +05:30
Isira Seneviratne
6399e39507 Remove from playlist only upon selecting the option and not afterwards. 2022-08-15 07:26:36 +05:30
Isira Seneviratne
f9443f7421 Refactor removeWatchedStreams() in LocalPlaylistFragment. 2022-08-15 07:26:36 +05:30
Isira Seneviratne
4f6b5b3b89 Use ListAdapter in PeertubeInstanceListFragment. 2022-08-15 07:26:02 +05:30
Stypox
b9b09d325a Merge branch 'master' into dev 2022-08-14 17:23:30 +02:00
Tobi
50f3131f1a Merge pull request #8766 from TeamNewPipe/release-0.23.2
Release v0.23.2 (988)
2022-08-13 08:07:49 +02:00
Isira Seneviratne
697b8411df Use Okio's ByteString. 2022-08-13 08:27:55 +05:30
AudricV
fcaebc838e Release v0.23.2 (988) 2022-08-12 23:50:41 +02:00
AudricV
cde32a8aed Add changelog for v0.23.2 (988) 2022-08-12 23:49:07 +02:00
AudricV
ec3efea05a Update NewPipe Extractor to fix YouTube playback issues 2022-08-12 23:41:12 +02:00
Stypox
571bf397c5 Merge pull request #8666 from TacoTheDank/filepicker
Update FilePicker to our custom fork and disable Jetifier
2022-08-12 09:15:34 +02:00
mhmdanas
737a331c85 Remove extra whitespace from issue and PR templates 2022-08-11 19:34:23 +03:00
mhmdanas
2de33d8d07 Clarify that span shouldn't be in translated READMEs 2022-08-11 19:24:14 +03:00
TacoTheDank
7f21f6e80e Update AGP and clojars Maven URL 2022-08-09 19:19:17 -04:00
TacoTheDank
0b11afaf2f Update Gradle to 7.5.1 2022-08-08 19:32:21 -04:00
Isira Seneviratne
e136a6f915 Use range-limiting methods in more places. 2022-08-08 07:10:16 +05:30
Stypox
74921d3afa Merge pull request #8740 from Isira-Seneviratne/Cleanup_methods
Remove some unused methods.
2022-08-06 22:45:40 +02:00
Stypox
edd2b110b0 Merge pull request #8738 from Isira-Seneviratne/Collectors_joining
Use Collectors.joining().
2022-08-06 22:31:31 +02:00
Stypox
80fb21e031 Merge pull request #8728 from Isira-Seneviratne/Comparator_factory
Use Comparator factory methods.
2022-08-06 11:56:44 +02:00
Stypox
ebd06bdd24 Improve comment 2022-08-06 11:56:00 +02:00
Stypox
6f86e21605 Merge pull request #8724 from Isira-Seneviratne/toArray_improvements
Use toArray() with zero-length arrays.
2022-08-06 11:33:05 +02:00
Stypox
816154c7cb Merge pull request #8737 from Isira-Seneviratne/Fix_coerceIn
Replace coerceIn() with MathUtils.clamp().
2022-08-06 11:16:06 +02:00
Stypox
d9230c0103 Merge pull request #8708 from Isira-Seneviratne/Reduce_View.kt_size
Reduce View.kt size.
2022-08-06 10:59:10 +02:00
Isira Seneviratne
5c7dfd1d69 Remove unused method. 2022-08-06 06:54:21 +05:30
Isira Seneviratne
7aacaf8c38 Use Collectors.joining(). 2022-08-06 06:54:21 +05:30
Isira Seneviratne
ee6a279596 Remove unused methods in HistoryRecordManager. 2022-08-06 05:09:54 +05:30
Isira Seneviratne
a9af1dfdd2 Applied code review changes. 2022-08-05 06:54:03 +05:30
Isira Seneviratne
fc46233baf Use toArray() with zero-length arrays. 2022-08-05 06:50:55 +05:30
Isira Seneviratne
2eec2e9128 Replace coerceIn() with MathUtils.clamp(). 2022-08-05 06:19:06 +05:30
Isira Seneviratne
8024b437e9 Add reusable classes extending AnimatorListenerAdapter. 2022-08-05 06:08:13 +05:30
Isira Seneviratne
d1f3f15478 Use Comparator.comparingDouble(). 2022-08-05 05:36:39 +05:30
Isira Seneviratne
059cfcbad2 Use Comparator factory methods in ListHelper. 2022-08-05 05:36:21 +05:30
Stypox
1a8f396e77 Merge pull request #8721 from Isira-Seneviratne/OnClickGesture_interface
Make OnClickGesture an interface.
2022-08-04 16:15:54 +02:00
Stypox
5640365fbd Merge pull request #8682 from Isira-Seneviratne/Refactor_LicenseFragmentHelper
Refactor LicenseFragmentHelper.
2022-08-04 11:18:40 +02:00
Isira Seneviratne
4b7de86a92 Clean up getLicenseStylesheet(). 2022-08-04 11:17:30 +02:00
Stypox
24ec642181 Merge pull request #8669 from Isira-Seneviratne/Remove_setBottomSheetCallback
Remove uses of setBottomSheetCallback().
2022-08-04 11:03:57 +02:00
Stypox
8dce66d76f Improve FeedGroupDialogViewModel factory 2022-08-04 10:49:33 +02:00
Stypox
22d75f3ecb Merge pull request #8716 from TacoTheDank/bumpRoom
Update AndroidX Room to 2.4.3
2022-08-04 10:40:26 +02:00
Stypox
7972678fe6 Merge branch 'dev' into bumpRoom 2022-08-04 10:40:09 +02:00
Stypox
ffc1d9a212 Merge pull request #8656 from Isira-Seneviratne/Use_WindowMetrics
Use WindowMetrics API.
2022-08-04 10:12:32 +02:00
Isira Seneviratne
7f018b90db Merge branch 'dev' into OnClickGesture_interface 2022-08-04 06:10:39 +05:30
Stypox
8a774dc90d Merge pull request #8667 from Isira-Seneviratne/Update_AppCompat
Update AppCompat to 1.4.2.
2022-08-03 22:59:45 +02:00
Stypox
368c6c0ccb Merge pull request #8709 from Isira-Seneviratne/Tags_case_insensitive
Sort tags case-insensitively.
2022-08-03 22:43:50 +02:00
Stypox
5c4874b90f Merge pull request #8701 from Isira-Seneviratne/Use_stackTraceToString
Use Throwable.stackTraceToString().
2022-08-03 21:04:22 +02:00
Stypox
3420faab08 Merge pull request #8661 from Stypox/player-refactor-npe
Fix random NullPointerException when adding video player view
2022-08-02 11:09:50 +02:00
Stypox
a548b34811 Merge pull request #8692 from TacoTheDank/bumpMaterial
Update Google Material to 1.6.1
2022-08-02 11:05:24 +02:00
Stypox
56cbf3736b Merge pull request #8691 from TacoTheDank/bumpFragment
Update AndroidX Fragment to 1.4.1
2022-08-02 10:54:52 +02:00
Stypox
ad30eb809c Merge branch 'dev' into bumpFragment 2022-08-02 10:54:39 +02:00
Stypox
ee368452ae Merge pull request #8687 from TacoTheDank/bumpExoPlayer
Update ExoPlayer to 2.18.1
2022-08-02 10:34:58 +02:00
Isira Seneviratne
a9095ca2ad Make block parameter an extension lambda. 2022-08-01 08:29:59 +05:30
Isira Seneviratne
013522c376 Convert LicenseFragmentHelper methods to top-level declarations. 2022-08-01 08:27:09 +05:30
Isira Seneviratne
947242d913 Update AppCompat to 1.4.2. 2022-08-01 08:26:07 +05:30
Isira Seneviratne
8a896114c1 Apply code review change. 2022-08-01 08:25:24 +05:30
Isira Seneviratne
47f58040d1 Make OnClickGesture an interface. 2022-08-01 06:47:00 +05:30
Stypox
35a118a2a7 Merge pull request #8683 from Isira-Seneviratne/Update_Lifecycle
Update Lifecycle to 2.5.1.
2022-07-31 09:49:36 +02:00
TacoTheDank
582032f372 Update AndroidX Room to 2.4.3 2022-07-31 00:14:23 -04:00
Isira Seneviratne
311d392386 Use Application instead of Context in FeedViewModel. 2022-07-31 08:37:16 +05:30
Stypox
404c13d4c1 Improve FeedViewModel factory 2022-07-31 08:30:17 +05:30
Isira Seneviratne
5c68c8ece8 Update Lifecycle to 2.5.1. 2022-07-31 08:30:17 +05:30
Isira Seneviratne
4d7a6fb6de Use WindowMetrics API in VideoDetailFragment and PopupPlayerUi. 2022-07-30 19:22:39 +05:30
Isira Seneviratne
630558ed4f Use nested functions. 2022-07-30 07:59:36 +05:30
Isira Seneviratne
69942003f7 Sort tags case-insensitively. 2022-07-29 09:21:48 +05:30
Isira Seneviratne
af9c2bd59d Use stackTraceToString(). 2022-07-27 07:54:49 +05:30
Mohammed Anas
81c4b822e0 Add "needs triage" label to issue templates (#8643)
This label would make it easier for issue triagers to know what they
haven't triaged yet.
2022-07-26 23:29:43 +03:00
Isira Seneviratne
81fb44c45c Remove uses of setBottomSheetCallback(). 2022-07-25 18:44:30 +05:30
TacoTheDank
d66997c2ed Update Google Material to 1.6.1 2022-07-24 16:51:26 -04:00
TacoTheDank
d7a654fc27 Update AndroidX Fragment to 1.4.1 2022-07-24 15:35:33 -04:00
TacoTheDank
229422bfa9 Update ExoPlayer to 2.18.1 2022-07-24 14:11:31 -04:00
TacoTheDank
baabba1dea Disable Jetifier 2022-07-24 15:07:31 +02:00
TacoTheDank
8f5d564f84 Migrate NoNonsense-FilePicker to our updated fork 2022-07-24 15:07:31 +02:00
litetex
dcb332e08d Merge pull request #8624 from TacoTheDank/bumpOkhttp
Update OkHttp to 4.10.0
2022-07-24 15:02:08 +02:00
litetex
51e72d1a05 Removed the "(beta)"-tag from services (#8637) 2022-07-24 15:57:23 +03:00
litetex
8f37015dbb Merge pull request #8621 from Stypox/deduplicate-feed
Deduplicate SQL queries to get feed streams
2022-07-24 14:52:35 +02:00
Stypox
74df7fcd66 Merge pull request #8670 from Isira-Seneviratne/Update_FocusAwareCoordinator
Remove deprecated method calls in FocusAwareCoordinator.
2022-07-23 17:12:29 +02:00
Stypox
bfaf074f4e Merge pull request #8663 from Isira-Seneviratne/Remove_unnecessary_methods
Remove unnecessary methods.
2022-07-23 16:31:28 +02:00
Stypox
3281ed2ef1 Merge pull request #8648 from Isira-Seneviratne/Use_IO_extensions
Use IO extensions.
2022-07-22 18:30:51 +02:00
Stypox
b2c2570a85 Merge pull request #8676 from Stypox/fix-channel-placeholders
Fix wrong thumbnail used as placeholder for channel
2022-07-22 18:16:42 +02:00
Stypox
abf185c691 Merge pull request #8679 from Stypox/fix-listhelpertest
Fix ListHelperTest failure caused by immutable list being used
2022-07-22 18:15:39 +02:00
Stypox
f4fe5fcb16 Fix ListHelperTest failure caused by immutable list being used 2022-07-22 16:09:43 +02:00
Stypox
37275e8fe3 Fix wrong thumbnail used as placeholder for channel 2022-07-22 15:13:47 +02:00
Isira Seneviratne
f1dab11f1f Remove deprecated method calls in FocusAwareCoordinator. 2022-07-21 09:01:19 +05:30
Isira Seneviratne
6d1c61407d Remove unnecessary method in ChannelFragment. 2022-07-21 08:02:23 +05:30
Isira Seneviratne
8b400b48f7 Refactor notifying method in PlayQueue. 2022-07-21 08:02:23 +05:30
Isira Seneviratne
b845645b80 Use IO extensions.
Co-authored-by: Stypox <stypox@pm.me>
2022-07-21 05:15:39 +05:30
Stypox
cacce6d2d0 Merge pull request #8651 from Isira-Seneviratne/Use_limiting_methods
Use range-limiting methods.
2022-07-20 15:06:45 +02:00
Stypox
373ee53143 Improve code style 2022-07-20 15:05:25 +02:00
Stypox
344c33d9a1 Merge pull request #8631 from Isira-Seneviratne/Use_collection_factories
Use Java 9 collection factories.
2022-07-20 14:52:18 +02:00
Stypox
c5b970cca3 Improve code style in List.of() 2022-07-20 14:50:23 +02:00
Stypox
15947161e6 Merge pull request #8635 from Isira-Seneviratne/Use_stream_sort
Use stream sorting.
2022-07-20 11:06:56 +02:00
Isira Seneviratne
394eb92e71 Use coerceIn(). 2022-07-20 05:36:01 +05:30
Isira Seneviratne
d62cdc659f Use MathUtils.clamp().
Co-authored-by: Stypox <stypox@pm.me>
2022-07-20 05:36:01 +05:30
Isira Seneviratne
a6cc13845a Use Map.of(). 2022-07-20 04:39:11 +05:30
Isira Seneviratne
55a995c4cd Replace LinkedHashMap with List.of(). 2022-07-20 04:39:11 +05:30
Isira Seneviratne
ca26fcb0eb Use List.of(). 2022-07-20 04:39:11 +05:30
Stypox
4eddd2c3d1 Fix random NullPointerException when adding video player view 2022-07-19 20:01:46 +02:00
Isira Seneviratne
c53143ef4f Use Set.of(). 2022-07-19 08:53:15 +05:30
Isira Seneviratne
e772244440 Update app/src/main/java/org/schabi/newpipe/fragments/detail/DescriptionFragment.java
Co-authored-by: Stypox <stypox@pm.me>
2022-07-19 05:13:38 +05:30
Stypox
ae369ec9ba Merge pull request #8475 from TacoTheDank/bumpMiscLibraries
Update some misc libraries
2022-07-18 23:56:41 +02:00
Stypox
e8669d4ab5 Deduplicate SQL queries to get feed streams 2022-07-18 23:39:57 +02:00
Stypox
cd14096dbe Merge pull request #8633 from Isira-Seneviratne/Use_ViewCompat_setBackgroundTintList
Use ViewCompat.setBackgroundTintList().
2022-07-18 23:31:56 +02:00
Stypox
d9ff114e1a Merge pull request #8601 from litetex/checkstyle-assign-on-same-line
Checkstyle assign on same line
2022-07-18 16:39:02 +02:00
Mohammed Anas
a1c6f0073e Rename "waiting-for-author" label to "waiting for author" (#8642) 2022-07-17 20:37:15 +03:00
Isira Seneviratne
f1de353b74 Use stream sorting. 2022-07-16 08:34:04 +05:30
Isira Seneviratne
5da8d5fc73 Use ViewCompat.setBackgroundTintList(). 2022-07-16 05:49:52 +05:30
litetex
3ba04f179f Fixed conflicts/build 2022-07-15 20:00:08 +02:00
litetex
3890d0abdb Added note that explains that unused code was removed. 2022-07-15 19:55:19 +02:00
litetex
8b209df253 Changed the code accordingly
+ Removed some unused code
2022-07-15 19:55:19 +02:00
litetex
25a43b57b2 Updated checkstyle
So that the assign operators are used on the same branch
2022-07-15 19:54:32 +02:00
litetex
b7a44560f5 Merge pull request #8170 from Stypox/player-refactor
Refactor player and extract UI components
2022-07-15 19:41:23 +02:00
Stypox
0e8cc72b13 Fix random NullPointerException when adding video player view 2022-07-14 22:14:03 +02:00
Stypox
33e20766c9 Merge pull request #8530 from krlvm/improve_placeholder_images
Improve image placeholders
2022-07-14 15:55:36 +02:00
Stypox
9f993e0c49 Make video and playlist placeholder thumbnails 16:9
After making the playlist and video thumbnails' scaleType fitCenter, the 24dp*24dp thumbnails would appear as a square, which would be strange, since the image view is 16:9.
2022-07-14 14:47:54 +02:00
Stypox
6ea85e6380 Rename dummy_* and more to placeholder_* 2022-07-14 14:27:33 +02:00
Stypox
4d58026d06 Improve placeholder thumbnail SVGs and remove theme customization
Theme customization does not seem to work well with Picasso: square/picasso#1275
2022-07-14 14:14:33 +02:00
Stypox
7b9b9218dc Remove bottom-sheet-thumbnail placeholder, clear the image instead 2022-07-14 14:14:33 +02:00
krlvm
dff1adb1ad Fix swapped colors in video and playlist thumbnails 2022-07-14 14:14:32 +02:00
krlvm
35eeccd45a Rename buddy.xml to dummy_person.xml 2022-07-14 14:14:32 +02:00
krlvm
429f2536af Optimize thumbnail placeholder drawables 2022-07-14 14:14:32 +02:00
krlvm
7b41acb781 Use corresponding material icon in user profile thumbnail 2022-07-14 14:14:32 +02:00
krlvm
cc7a8fb1a6 Improve image placeholders
- Show placeholders until the image is loaded because timeout can be very long and missing profile pictures and video thumbnails make app inconvenient to use

- Adapt profile picture and video thumbnail placeholders to light theme

- Replace profile picture and video thumbnail placeholders with vector graphics
2022-07-14 14:14:32 +02:00
TacoTheDank
c1e78cf55b Update OkHttp to 4.x 2022-07-14 03:23:45 -04:00
TacoTheDank
4536e8b55b Update some miscellaneous libraries 2022-07-14 01:48:52 -04:00
Stypox
70e3c9805a Merge pull request #8542 from carmebar/share-playlist
Add 'Share playlist' option to Playlist fragment
2022-07-13 23:45:08 +02:00
Stypox
8187a3bc04 Move PlayerType into its own class and add documentation
Also replace some `isPlayerOpen` with direct `playerType == null` checks.
2022-07-13 23:33:18 +02:00
Stypox
4443c908cb Fix SonarLint java:S5320, restrict broadcasts to app package 2022-07-13 23:33:18 +02:00
Stypox
c03eac1dc9 Some SonarLint refactors 2022-07-13 23:33:18 +02:00
Stypox
61c1da144e Some refactorings after review comments 2022-07-13 23:33:18 +02:00
Stypox
3692858a3d Move popup layout param to PopupPlayerUi 2022-07-13 23:33:18 +02:00
Stypox
9c51fc3ade Move functions to get Android dimen to ThemeHelper 2022-07-13 23:33:18 +02:00
Stypox
1cf746f721 Fix volume gestures not working anymore 2022-07-13 23:33:18 +02:00
Stypox
4979f84e41 Solve some Sonarlint warnings 2022-07-13 23:33:16 +02:00
Stypox
a19073ec01 Restore checkstyle and solve its errors 2022-07-13 23:32:27 +02:00
Stypox
1b39b5376f Add some javadocs; move preparing player uis to PlayerUiList 2022-07-13 23:31:59 +02:00
Stypox
6559416bd8 Improve //region comments in player UIs 2022-07-13 23:30:30 +02:00
Stypox
fa25ecf521 Add comment about broadcast receiver 2022-07-13 23:27:24 +02:00
Stypox
6fb0256997 Remove unused PlayerServiceBinder 2022-07-13 23:27:24 +02:00
Stypox
8c26403e91 Remove unused PlayerState 2022-07-13 23:27:24 +02:00
Stypox
90a89f8ca5 Move player-notification files into their package 2022-07-13 23:27:24 +02:00
Stypox
0bba1d95de Move all notification-related calls to NotificationPlayerUi 2022-07-13 23:27:24 +02:00
Stypox
b3f99645a3 Fix some crashes / issues after player refactor 2022-07-13 23:27:23 +02:00
Stypox
76ced59b62 Refactor player: separate UIs and more 2022-07-13 23:25:26 +02:00
Stypox
bc3731265e Merge pull request #7613 from litetex/increase-minsdk
Bump minSdk to 21 - Android 5 / Lollipop
2022-07-13 19:09:05 +02:00
TacoTheDank
189c92affa More minSdk 21 cleanup 2022-07-13 19:03:47 +02:00
TacoTheDank
4ec9cbe379 Remove AndroidX Webkit 2022-07-13 19:03:47 +02:00
litetex
9648525ac1 Clean up pre-Lollipop theming 2022-07-13 19:03:47 +02:00
litetex
b125780991 Clean up pre-Lollipop compat attributes 2022-07-13 19:03:45 +02:00
litetex
99104fc11d Clean up pre-Lollipop checks 2022-07-13 19:02:24 +02:00
litetex
7cb137ae8d Remove MultiDex 2022-07-13 19:02:24 +02:00
litetex
e55e79bcca Bump minSdk to 21 (Android 5 / Lollipop) 2022-07-13 19:02:23 +02:00
Stypox
0b644fd794 Merge pull request #8569 from mhmdanas/add-workflow-permissions
Use minimum required permissions for GitHub workflows
2022-07-13 18:56:10 +02:00
Stypox
d5599ebfa3 Merge pull request #8573 from Stypox/better-thumbnails
Make thumbnails' `scaleType` `fitCenter`
2022-07-13 18:33:19 +02:00
Taco
f7d8781bac Specify used ExoPlayer libraries (#8469) 2022-07-13 17:57:14 +02:00
Alex
6f7298b9db Crop the notification thumbnail in 1:1 mode instead of stretching it (#8533)
Change square bitmap transformation strategy: change the bitmap transformation strategy when a 1:1 aspect ratio is
enabled to not stretch the bitmap but rather crop it.

On Android 11/12, the way the whole thumbnail was used for the
notification icon was not ideal, however the setting to toggle a 1:1
(as it states in settings) resulted in distortions.

Fix this by simply cropping the bitmap.

Also update the 1:1 mode strings to remove mentions of scaling or
distortions, as those no longer apply.
2022-07-13 17:19:44 +02:00
Carlos Melero
d0b6d95f1b Add Share option to local playlists
A newline-separated text is shared
2022-07-13 14:32:23 +02:00
Robin
93b913e14d Merge pull request #8536 from TacoTheDank/bumpExoPlayer
Update ExoPlayer to 2.18.0
2022-07-13 12:59:12 +02:00
Stypox
b96c8a0c2f Merge pull request #8545 from carmebar/hide-future-videos
Add option to hide future videos in feed
2022-07-13 11:07:38 +02:00
Stypox
a392a06cc0 Fix feed menu items order in category to leave space for search
The search menu item gets added in first place when the feed fragment is added as a tab to the main fragment. So the main fragment's menu items' orderInCategory should start from 2.
2022-07-13 11:04:40 +02:00
Stypox
d9af788514 Merge pull request #8397 from notaLonelyDay/add-download-to-longpress-menu
Add download to longpress menu
2022-07-06 11:47:50 +02:00
nikita.artikhovich
a4724fec4a Add download option to long-press menu 2022-07-06 11:42:57 +02:00
Stypox
0e5580390f Merge pull request #8468 from TacoTheDank/cleanProguard
Clean up proguard file
2022-07-06 11:18:03 +02:00
Stypox
acc34cb618 Merge pull request #8549 from chr56/langcode_zh-rCN
[Localization] Fix lang code for Chinese Simplified (again!)
2022-07-05 23:03:31 +02:00
chr_56
d033a6e40d Fix lang code 2/2: rename b+zh+HANS+CN to zh-rCN 2022-07-05 22:55:29 +02:00
chr_56
4fd8294b09 Fix lang code 1/2: remove localization zh-rCN 2022-07-05 22:55:29 +02:00
Hosted Weblate
8d26d9da46 Translated using Weblate (Greek)
Currently translated at 100.0% (640 of 640 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Andrij Mizyk <andmiz@proton.me>
Co-authored-by: D āvis <dlektauers@gmail.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: David Braz <davidbrazps2@gmail.com>
Co-authored-by: Davit Mayilyan <davit.mayilyan@protonmail.ch>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Erik J <ej_rostock@web.de>
Co-authored-by: Giovanni Donisi <giovannidonisi0701@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Julie WF <julie-99@live.no>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Nizami <nizamismidov4@gmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: ReVanced <revanced2022@gmail.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: S3aBreeze <paperwork@evilcorp.ltd>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: SameenAhnaf <sameenahnaf@yahoo.com>
Co-authored-by: Stypox <stypox@pm.me>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: Yeldar Kudaibergenov <mail@yeldar.org>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: patrik <jpekman@gmail.com>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: riveravaldez <riveravaldezmail@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: zica <9918800@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/az/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bn/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/kk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
2022-07-05 22:53:06 +02:00
Stypox
d81607c9d5 Merge branch 'master' into dev 2022-07-05 16:10:27 +02:00
Stypox
5ac71e0579 Merge pull request #8547 from TeamNewPipe/release-0.23.1
Release v0.23.1 (987)
2022-07-05 15:48:14 +02:00
Hosted Weblate
d04ecbcb0a Translated using Weblate (Kazakh)
Currently translated at 2.9% (2 of 68 strings)

Translated using Weblate (French)

Currently translated at 69.1% (47 of 68 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 99.8% (639 of 640 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 91.2% (584 of 640 strings)

Translated using Weblate (Armenian)

Currently translated at 28.7% (184 of 640 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (German)

Currently translated at 99.8% (639 of 640 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (640 of 640 strings)

Added translation using Weblate (Kazakh)

Translated using Weblate (Bengali)

Currently translated at 20.5% (14 of 68 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Swedish)

Currently translated at 99.3% (636 of 640 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Latvian)

Currently translated at 92.6% (593 of 640 strings)

Translated using Weblate (Bengali)

Currently translated at 19.1% (13 of 68 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 99.8% (639 of 640 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Portuguese)

Currently translated at 99.8% (639 of 640 strings)

Translated using Weblate (Russian)

Currently translated at 99.8% (639 of 640 strings)

Translated using Weblate (French)

Currently translated at 99.8% (639 of 640 strings)

Translated using Weblate (Spanish)

Currently translated at 99.8% (639 of 640 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (68 of 68 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (68 of 68 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 61.7% (42 of 68 strings)

Translated using Weblate (French)

Currently translated at 66.1% (45 of 68 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (68 of 68 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 11.7% (8 of 68 strings)

Translated using Weblate (Turkish)

Currently translated at 32.3% (22 of 68 strings)

Translated using Weblate (Bengali)

Currently translated at 88.9% (569 of 640 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 99.2% (635 of 640 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Persian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 97.1% (622 of 640 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (French)

Currently translated at 99.8% (639 of 640 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Italian)

Currently translated at 39.7% (27 of 68 strings)

Translated using Weblate (Polish)

Currently translated at 55.8% (38 of 68 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (68 of 68 strings)

Translated using Weblate (Persian)

Currently translated at 99.5% (637 of 640 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (German)

Currently translated at 66.1% (45 of 68 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (German)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (German)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (German)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (German)

Currently translated at 100.0% (640 of 640 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Andrij Mizyk <andmiz@proton.me>
Co-authored-by: D āvis <dlektauers@gmail.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: David Braz <davidbrazps2@gmail.com>
Co-authored-by: Davit Mayilyan <davit.mayilyan@protonmail.ch>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Erik J <ej_rostock@web.de>
Co-authored-by: Giovanni Donisi <giovannidonisi0701@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Julie WF <julie-99@live.no>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Nizami <nizamismidov4@gmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: ReVanced <revanced2022@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: S3aBreeze <paperwork@evilcorp.ltd>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: SameenAhnaf <sameenahnaf@yahoo.com>
Co-authored-by: Stypox <stypox@pm.me>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: Yeldar Kudaibergenov <mail@yeldar.org>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: patrik <jpekman@gmail.com>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: riveravaldez <riveravaldezmail@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: zica <9918800@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/az/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bn/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/kk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
2022-07-05 15:42:20 +02:00
Stypox
e4987d9a59 Update NewPipeExtractor again 2022-07-04 23:30:20 +02:00
litetex
155c6e94a3 Use correct `NonNull` 2022-07-04 23:19:41 +02:00
litetex
4e285a4e70 Fix compile errors 2022-07-04 23:19:41 +02:00
litetex
9c00e681bb Updated extractor to latest revision 2022-07-04 23:19:41 +02:00
Stypox
81369d7e04 Merge pull request #8531 from litetex/fix-extractor-compile-errors-846
Updated extractor to latest revision and fix compile errors
2022-07-04 23:16:55 +02:00
Stypox
160891592b Merge pull request #8564 from Stypox/fix-view-count
Actually fix history view count
2022-07-04 23:06:09 +02:00
Stypox
70b20f90cd Align playlist thumbnail to left for more visibility 2022-07-04 22:37:27 +02:00
Stypox
47a2adca96 Make thumbnails' scaleType fitCenter
Otherwise e.g. shorts thumbnails would be cropped too much
2022-07-04 21:43:31 +02:00
mhmdanas
a1f1acfbf9 Use minimum required permissions for GitHub workflows
This reduces the attack surface if the workflows are ever compromised.
2022-07-03 20:38:51 +03:00
TacoTheDank
00b9c082a3 Set setUsePlatformDiagnostics to false 2022-07-02 15:01:39 -04:00
Stypox
45d2492bcb Run CI on all release branches (#8565)
We don't seem to agree on which character to use as a separator between `release` and `X.X.X` in release branch names (e.g. `release-0.23.1` or `release/0.23.0`). All those names start with `release`, though, so let's use that to identify releases.
2022-07-02 00:08:44 +03:00
Stypox
085d1e0d38 Actually fix wrong view count 2022-07-01 16:07:19 +02:00
TacoTheDank
1404581e9b Update ExoPlayer to 2.18.0 2022-06-25 21:14:42 -04:00
opusforlife2
d5985be94a Made some much needed changes to the ReadMe (#8372)
Co-authored-by: Mohammed Anas <triallax@tutanota.com>
Co-authored-by: Poolitzer <github@poolitzer.eu>
2022-06-26 01:13:54 +03:00
Stypox
4ee1cd5826 Release v0.23.1 (987) 2022-06-24 19:01:37 +02:00
Stypox
dc7fce86a5 Add changelog for v0.23.1 (987) 2022-06-24 18:52:45 +02:00
Carlos Melero
f22417e7e7 Add option to hide future videos in feed 2022-06-24 18:03:48 +02:00
Hosted Weblate
10c9661369 Translated using Weblate (Bengali)
Currently translated at 89.0% (564 of 633 strings)

Translated using Weblate (Finnish)

Currently translated at 95.8% (607 of 633 strings)

Translated using Weblate (Bengali (Bangladesh))

Currently translated at 65.5% (415 of 633 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (French)

Currently translated at 100.0% (633 of 633 strings)

Added translation using Weblate (English (Old))

Translated using Weblate (French)

Currently translated at 65.6% (44 of 67 strings)

Translated using Weblate (Basque)

Currently translated at 25.3% (17 of 67 strings)

Translated using Weblate (Filipino)

Currently translated at 5.9% (4 of 67 strings)

Translated using Weblate (Bengali)

Currently translated at 88.3% (559 of 633 strings)

Translated using Weblate (Bengali (India))

Currently translated at 49.2% (312 of 633 strings)

Translated using Weblate (Bengali (India))

Currently translated at 49.2% (312 of 633 strings)

Translated using Weblate (Filipino)

Currently translated at 36.9% (234 of 633 strings)

Translated using Weblate (Galician)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Dutch (Belgium))

Currently translated at 90.5% (573 of 633 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (French)

Currently translated at 64.1% (43 of 67 strings)

Translated using Weblate (Dutch)

Currently translated at 70.1% (47 of 67 strings)

Translated using Weblate (Italian)

Currently translated at 38.8% (26 of 67 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (French)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (67 of 67 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Basque)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (67 of 67 strings)

Translated using Weblate (Turkish)

Currently translated at 31.3% (21 of 67 strings)

Translated using Weblate (Bengali)

Currently translated at 85.6% (542 of 633 strings)

Translated using Weblate (Kurdish (Central))

Currently translated at 99.8% (632 of 633 strings)

Translated using Weblate (Malayalam)

Currently translated at 92.1% (583 of 633 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (French)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Danish)

Currently translated at 93.0% (589 of 633 strings)

Translated using Weblate (Danish)

Currently translated at 4.4% (3 of 67 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Danish)

Currently translated at 75.0% (475 of 633 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Latvian)

Currently translated at 93.8% (594 of 633 strings)

Translated using Weblate (Latvian)

Currently translated at 93.8% (594 of 633 strings)

Translated using Weblate (Latvian)

Currently translated at 4.4% (3 of 67 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (67 of 67 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (67 of 67 strings)

Translated using Weblate (Belarusian)

Currently translated at 1.4% (1 of 67 strings)

Translated using Weblate (Bengali)

Currently translated at 84.9% (538 of 633 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Danish)

Currently translated at 50.3% (319 of 633 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Bengali (Bangladesh))

Currently translated at 63.8% (404 of 633 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Persian)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Serbian)

Currently translated at 92.4% (585 of 633 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (French)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Spanish)

Currently translated at 97.7% (619 of 633 strings)

Translated using Weblate (German)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (633 of 633 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: AioiLight <info@aioilight.space>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Cerins <cerins4141@gmail.com>
Co-authored-by: Corc <nizamismidov4@gmail.com>
Co-authored-by: Cyndaquissshhh <iversonbriones123@gmail.com>
Co-authored-by: Công Phúc <timnguyenaklc1133@gmail.com>
Co-authored-by: D āvis <dlektauers@gmail.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Digiwizkid <subhadiplayek@gmail.com>
Co-authored-by: Edward <edwardchirita@mailbox.org>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Giovanni Donisi <giovannidonisi0701@gmail.com>
Co-authored-by: Gontzal Manuel Pujana Onaindia <thadahdenyse@gmail.com>
Co-authored-by: Himadri Bhattacharjee <handhimadrink@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: JY3 <GeeyunJY3@gmail.com>
Co-authored-by: Jacob <axin6e7weujc@beconfidential.com>
Co-authored-by: Jalaluddin <ju81@ymail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Linkan Majumder <linkan469@gmail.com>
Co-authored-by: MS-PC <MSPCtranslator@gmail.com>
Co-authored-by: Marian Hanzel <marulinko@gmail.com>
Co-authored-by: Mathias Hamza Vedsted-Mirza <mathiashamzamirza@outlook.com>
Co-authored-by: Mohammed Anas <triallax@tutanota.com>
Co-authored-by: MohammedSR Vevo <mohammednajmidin@gmail.com>
Co-authored-by: Nicky Db <nickydbruyn@gmail.com>
Co-authored-by: Nikhil Anilkumar <rootshell348@gmail.com>
Co-authored-by: Nikodem Zawirski <nikon96@gmail.com>
Co-authored-by: Nizami <nizamismidov4@gmail.com>
Co-authored-by: Nizami semidov <revanced2022@gmail.com>
Co-authored-by: Onni <onnip@protonmail.com>
Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Ricardo <contatorms7@tutamail.com>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: Steven Felix <stevenfelix505@gmail.com>
Co-authored-by: TXRdev Archive <lckphanaf9999@gmail.com>
Co-authored-by: Terry Louwers <t.louwers@gmail.com>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: WB <web0nst@tuta.io>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: bomzhellino <adm.bomzh@gmail.com>
Co-authored-by: bruh <quangtrung02hn16@gmail.com>
Co-authored-by: jazzyjabroni <lordcarmack@tuta.io>
Co-authored-by: metezd <itoldyouthat@protonmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: random r <epsilin@yopmail.com>
Co-authored-by: translator <kvb@tuta.io>
Co-authored-by: vmisovic <vladimir.misovic03@gmail.com>
Co-authored-by: zeritti <woodenmo@posteo.de>
Co-authored-by: Éfrit <efrit@posteo.net>
Co-authored-by: Óscar Fernández Díaz <oscfdezdz@tuta.io>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/az/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/be/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/da/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/eu/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fil/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/lv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
Translation: NewPipe/Metadata
2022-06-24 15:12:07 +02:00
litetex
ad97b3d995 Use correct `NonNull` 2022-06-22 19:54:46 +02:00
litetex
04e8e03d8f Fix compile errors 2022-06-22 19:47:03 +02:00
litetex
bd19013771 Updated extractor to latest revision 2022-06-22 19:47:02 +02:00
Stypox
3901ffca17 Merge pull request #8153 from AudricV/delivery-methods-v2
Support delivery methods other than progressive HTTP
2022-06-22 11:21:52 +02:00
AudricV
cbd3308da6 Ensure that progressive contents are URL contents for playback
A ResolverException will be now thrown otherwise.
2022-06-19 15:41:29 +02:00
Stypox
0ad6b3b88e Improve download_dialog.xml unsupported streams notice 2022-06-18 19:16:36 +02:00
Stypox
4e87f5aabc Remove misleading first "Non" from getNonUrlAndNonTorrentStreams 2022-06-18 18:52:32 +02:00
Stypox
2019af831a Refactor PlaybackResolver and fix cacheKeyOf
In commonCacheKeyOf the result of an Objects.hash() was ignored
2022-06-18 18:41:44 +02:00
Stypox
1e076ea63d Wrap debug log in if(DEBUG) 2022-06-18 18:09:12 +02:00
Stypox
4863084fa2 Improve code in VideoDetailFragment 2022-06-18 17:49:04 +02:00
Stypox
7ba79171c7 Refactor creation of DownloadDialog 2022-06-18 17:40:22 +02:00
AudricV
e3c2aea3cc Fix playback of non-URI HLS streams
A custom HlsPlaylistParserFactory cannot be used anymore to play HLS streams.

This needs to be replaced by a custom HlsDataSourceFactory, which returns a ByteArrayDataSource (where the bytes of this DataSource correspond to the bytes of the playlist string) and a specified DataSource for other request types.

This model has two limitations:

- if media requests are relative, the URI from which the manifest comes from (either the manifest URI (preferred) or the master URI (if applicable)) must be returned, otherwise the content will be not playable, as it will be an invalid URL, or it may be treat as something unexpected, for instance as a file for DefaultDataSources;
- if the playlist is a master playlist, endless loops should be encountered because the DataSources created for media playlists will use the master playlist response instead of fetching the corresponding playlist. With the current model of HlsDataSourceFactory, there is no possibility to distinguish the playlist type or the URI that is requested.

If ExoPlayer provides a way to create HlsMediaSources with an HlsPlaylist in the future, it should be used instead of this solution.
2022-06-17 22:01:30 +02:00
AudricV
21c9530e8b Throw a dedicated exception when errors occur in PlaybackResolver
A new exception, ResolverException, a subclass of PlaybackResolver, is now thrown when errors occur in PlaybackResolver, instead of an IOException
2022-06-17 22:01:29 +02:00
AudricV
036196a487 Filter streams using Java 8 Stream's API instead of removing streams with list iterators and add a better toast when there is no audio stream for external players
This ensures to not remove streams from the StreamInfo lists themselves, and so to not have to create list copies.

The toast shown in RouterActivity, when there is no audio stream available for external players, is now shown, in the same case, when pressing the background button in VideoDetailFragment.
2022-06-17 22:01:29 +02:00
AudricV
73855cacb7 Use StreamTypeUtil where possible and add isAudio and isVideo to this utility class 2022-06-17 22:01:26 +02:00
Stypox
8dad6d7e1c Code improvements here and there 2022-06-17 22:00:53 +02:00
Stypox
e5ffa2aa09 Add comments to PlaybackResolver and remove useless @NonNull 2022-06-17 22:00:52 +02:00
Stypox
8445c381c5 Use DownloaderImpl.USER_AGENT directly
instead of passing it as a parameter
2022-06-17 22:00:52 +02:00
Stypox
fa46b7bf85 Add comments and use downloader user agent in YT data source
YoutubeHttpDataSource
2022-06-17 22:00:52 +02:00
Stypox
7ce2250d85 Improve CacheFactory and PlayerDataSource code 2022-06-17 22:00:51 +02:00
Stypox
ef20d9b91a Move stream's cache key generation in PlaybackResolver and improve PlaybackResolver's code 2022-06-17 22:00:51 +02:00
AudricV
fbee310261 Move SimpleCache creation in PlayerDataSource to avoid an IllegalStateException
This IllegalStateException, almost not reproducible, indicates that another SimpleCache instance uses the cache folder, which was so trying to be created at least twice.
Moving the SimpleCache creation in PlayerDataSource should avoid this exception.
2022-06-17 22:00:51 +02:00
AudricV
7d6bf4b0ca Improve dialog of streams for external players and fix use of the wrong codec in the list of available streams in it after a codec change in Video and Audio settings
The VideoDetailFragment will now get video streams dynamically instead of storing them as a field, so the good codec can be chosen by ListHelper.
To select a stream to play, user has now to select the quality in the list of available qualities and then press the new OK button in the alert dialog.
2022-06-17 22:00:50 +02:00
AudricV
210834fbe9 Add support of other delivery methods than progressive HTTP (in the player only)
Detailed changes:

- External players:

  - Add a message instruction about stream selection;
  - Add a message when there is no stream available for external players;
  - Return now HLS, DASH and SmoothStreaming URL contents, in addition to progressive HTTP ones.

- Player:

  - Support DASH, HLS and SmoothStreaming streams for videos, whether they are content URLs or the manifests themselves, in addition to progressive HTTP ones;
  - Use a custom HttpDataSource to play YouTube contents, based of ExoPlayer's default one, which allows better spoofing of official clients (custom user-agent and headers (depending of the client used), use of range and rn (set dynamically by the DataSource) parameters);
  - Fetch YouTube progressive contents as DASH streams, like official clients, support fully playback of livestreams which have ended recently and OTF streams;
  - Use ExoPlayer's default retries count for contents on non-fatal errors (instead of Integer.MAX_VALUE for non-live contents and 5 for live contents).

- Download dialog:

  - Add message about support of progressive HTTP streams only for downloading;
  - Remove several duplicated code and update relevant usages;
  - Support downloading of contents with an unknown media format.

- ListHelper:

  - Catch NumberFormatException when trying to compare two video streams between them.

- Tests:

  - Update ListHelperTest and StreamItemAdapterTest to fix breaking changes in the extractor.

- Other places:

  - Fixes deprecation of changes made in the extractor;
  - Improve some code related to the files changed.

- Issues fixed and/or improved with the changes:

  - Seeking of PeerTube HLS streams (the duration shown was the one from the stream duration and not the one parsed, incomplete because HLS streams are fragmented MP4s with multiple sidx boxes, for which seeking is not supported by ExoPlayer) (the app now uses the HLS manifest returned for each quality, in the master playlist (not fetched and computed by the extractor));
  - Crash when loading PeerTube streams with a separated audio;
  - Lack of some streams on some YouTube videos (OTF streams);
  - Loading times of YouTube streams, after a quality change or a playback start;
  - View count of YouTube ended livestreams interpreted as watching count (this type of streams is not interpreted anymore as livestreams);
  - Watchable time of YouTube ended livestreams;
  - Playback of SoundCloud HLS-only tracks (which cannot be downloaded anymore because the workaround which was used is being removed by SoundCloud, so it has been removed from the extractor).
2022-06-17 22:00:22 +02:00
TacoTheDank
24cf19710f Clean up proguard file 2022-06-09 11:34:57 -04:00
Stypox
a59660f421 Merge pull request #8340 from litetex/fix-add-to-playlist
Fix "Add to playlist" not working and cleanup "RouterActivity" choice handling
2022-06-05 11:47:51 +02:00
litetex
be5af0b777 Made statusbar color transparent for RouterActivity (Android 5+)
Fix for https://github.com/TeamNewPipe/NewPipe/pull/8332
2022-06-04 15:22:36 +02:00
Stypox
75e5fe7d27 Merge pull request #8404 from Isira-Seneviratne/Use_AppCompatResources
Use AppCompatResources.
2022-05-30 15:42:04 +02:00
litetex
2985258074 Bonus fix: Made `single_choice_dialog_view` scrollable + use viewbinding 2022-05-28 00:46:28 +02:00
litetex
911ac65d1e Code cleanup 2022-05-28 00:46:27 +02:00
litetex
d2967f514b Improved docs, format and code style 2022-05-28 00:46:27 +02:00
litetex
a68c6a2cfc Reworked incorrect choice handling and centralized it 2022-05-28 00:39:13 +02:00
litetex
733f6aae85 Fix add to playlist 2022-05-28 00:39:13 +02:00
Stypox
1daece3bee Merge pull request #8382 from Isira-Seneviratne/Remove_compat_methods
Remove unnecessary compat method calls.
2022-05-22 21:59:04 +02:00
Stypox
adddd48c1d Merge pull request #8391 from Isira-Seneviratne/Use_JvmOverloads
Use JvmOverloads.
2022-05-22 21:56:17 +02:00
Stypox
8c870cd3ca Merge pull request #8143 from TiA4f8R/image-preview-sharesheet
Add image preview of the content shared where possible in Android share sheet (for Android 10+ devices only)
2022-05-22 21:45:53 +02:00
Stypox
bd5eda92a7 Improvements to sharing content with thumbnail 2022-05-22 21:34:10 +02:00
Jorge Maldonado Ventura
cf09cef6d8 Spanish Readme fix (#8413) 2022-05-19 16:39:08 +03:00
litetex
b3f9f8275d Merge pull request #8406 from TacoTheDank/bumpPlugins
Update AGP and Kotlin
2022-05-18 19:56:32 +02:00
litetex
9597d474d0 Merge pull request #8407 from TacoTheDank/bumpACRAGroupie
Update Groupie and ACRA libraries
2022-05-18 19:56:09 +02:00
TacoTheDank
e6f2e9791c Update Groupie and ACRA libraries 2022-05-16 11:45:56 -04:00
TacoTheDank
31b1370270 Fix AndroidX library order 2022-05-16 10:54:44 -04:00
TacoTheDank
064a4ce798 Update AGP and Kotlin 2022-05-16 10:53:43 -04:00
Isira Seneviratne
ac5843edb0 Merge branch 'dev' into Use_JvmOverloads 2022-05-16 12:43:24 +05:30
Isira Seneviratne
a1f64e4774 Merge branch 'dev' into Remove_compat_methods 2022-05-16 12:36:46 +05:30
Isira Seneviratne
21d2ae709f Merge branch 'dev' into Use_AppCompatResources
# Conflicts:
#	app/src/main/java/org/schabi/newpipe/fragments/list/playlist/PlaylistFragment.java
2022-05-16 12:36:00 +05:30
Isira Seneviratne
c5e509f069 Use AppCompatResources. 2022-05-16 12:27:44 +05:30
TiA4f8R
761c0ff9ac [Android 10+] Add image preview of the content shared where possible
These previews will be only available for images cached in the cache used by Picasso.
The Bitmap of the content is compressed in JPEG 90 and saved inside the application cache folder under the name android_share_sheet_image_preview.jpg.
The current image will be, of course, always overwritten by the next one and cleared when the application cache is cleared.
2022-05-14 16:53:24 +02:00
Isira Seneviratne
ce8289e753 Use JvmOverloads. 2022-05-13 07:46:02 +05:30
Stypox
2dd4f8b04a Merge pull request #7458 from litetex/rework-subscription-import-export-ui
Moved subscription import/export options to (overflow) menu
2022-05-12 13:03:12 +02:00
Stypox
b4615f7655 Merge pull request #7355 from petlyh/append-remote-playlist
Add a "Add to playlist" item to the remote playlist menu
2022-05-12 12:03:58 +02:00
petlyh
fcaa787060 Add a "Add to playlist" item to the remote playlist menu 2022-05-10 08:48:21 +02:00
Isira Seneviratne
23c1fc3544 Remove unnecessary compat method calls. 2022-05-10 07:45:01 +05:30
Robin
a4037a8268 Merge pull request #8377 from iTrooz/vol_slider
Make volume progress bar match system volume when we start sliding
2022-05-10 00:33:29 +02:00
iTrooz_
61ee1c61df Make volume progress bar match system volume when we start sliding 2022-05-09 21:40:13 +02:00
litetex
69f95f4148 Use better way to get services 2022-05-09 20:58:10 +02:00
Saurmandal
212a413e93 HI translation to README.md (#8355)
* Add `hi` translation

* Update other Readmes

* lot of corrections (thanks @opusforlife2 !)
2022-05-08 11:39:30 +00:00
litetex
de4b5a8f0f Remove not required use of supplier
from code review
2022-05-07 15:08:38 +02:00
litetex
1228ce277f Removed placeholder prefix 2022-05-07 15:08:37 +02:00
litetex
bd6fdd625a Use material icon 2022-05-07 15:08:37 +02:00
litetex
7de17ad949 Icons for import/export 2022-05-07 15:08:36 +02:00
litetex
7ab11a8379 Used service icons for import 2022-05-07 15:08:36 +02:00
litetex
70e0085596 Converted placeholders to svg
* Required for SubscriptionFragment (otherwise the PopUp-menu uses half of the screen)
* Size reduction
* Fixed/Improved some images:
  * Bandcamp: Was facing in the wrong direction and used an incorrect logo
  * Media CCC: Update logo
  * YT: Added NewPipe logo so that it's not just a rectangle
2022-05-07 15:08:35 +02:00
litetex
f9ccc19df5 Fix popup-menu expand icon color 2022-05-07 15:08:35 +02:00
litetex
5c69568c7f Remove unused `dimens` 2022-05-07 15:08:35 +02:00
litetex
1d69bd48be Moved import/export options to menu 2022-05-07 15:08:34 +02:00
Stypox
5b435c586e Merge pull request #8192 from GGAutomaton/fix-6696
Fix crash when rotating device on unsupported channels
2022-05-06 10:58:59 +02:00
Stypox
71e46d1eca Do not call showContentNotSupportedIfNeeded multiple times 2022-05-06 10:40:08 +02:00
Stypox
238aff7c31 channelContentNotSupported false by default 2022-05-06 10:38:47 +02:00
Stypox
a1435bd566 Merge pull request #8259 from LingYinTianMeng/dev
Fix removing only fully watched videos from playlist
2022-05-05 18:08:41 +02:00
Stypox
59d8c570b7 Readd spaces 2022-05-05 18:04:33 +02:00
Robin
8f34f69397 Merge pull request #8332 from litetex/fix-routeractivity-theming
Fix Routeractivity theming
2022-05-05 14:08:01 +02:00
litetex
47af21d248 Merge pull request #8336 from Mamadou78130/fix8330
Fixed viewed counting
2022-05-04 19:33:36 +02:00
litetex
c2a3c1cb8f Add comment that explains why 0 is used
Co-authored-by: Stypox <stypox@pm.me>
2022-05-04 19:19:45 +02:00
litetex
1e2d76a686 Use non-static method 2022-05-04 19:09:41 +02:00
GGAutomaton
34468c16ad Show "content not supported" if needed 2022-05-04 23:34:07 +08:00
Robin
b84c6b4b32 Merge pull request #8315 from ktprograms/fix-media-button-hide-controls
Fix hiding player controls when playing from media button
2022-05-04 11:28:05 +02:00
Stypox
8395cf8d5a Merge pull request #8349 from litetex/fix-PlaybackParameterDialog-resetting
Fixed accidental reset of ``PlaybackParameterDialog`` on initialization
2022-05-04 09:12:59 +02:00
litetex
c2bf7f09ce Fixed accidental reset of `PlaybackParameterDialog` on initialization 2022-05-03 21:42:09 +02:00
LingYinTianMeng
c2762d3b5e Update LocalPlaylistFragment.java 2022-05-03 09:37:35 +08:00
LingYinTianMeng
01d996a5c0 Merge branch 'TeamNewPipe:dev' into dev 2022-05-03 09:26:32 +08:00
LingYinTianMeng
50739277c4 Update LocalPlaylistFragment.java 2022-05-03 09:21:43 +08:00
Hosted Weblate
0fef4e6e2e Translated using Weblate (Bengali (India))
Currently translated at 45.6% (289 of 633 strings)

Translated using Weblate (Danish)

Currently translated at 47.2% (299 of 633 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Basque)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Tagalog)

Currently translated at 9.4% (60 of 633 strings)

Translated using Weblate (Arabic (Libya))

Currently translated at 5.9% (4 of 67 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 14.9% (10 of 67 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (67 of 67 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 61.1% (41 of 67 strings)

Translated using Weblate (Slovak)

Currently translated at 7.4% (5 of 67 strings)

Translated using Weblate (Persian)

Currently translated at 62.6% (42 of 67 strings)

Translated using Weblate (Swedish)

Currently translated at 50.7% (34 of 67 strings)

Translated using Weblate (Spanish)

Currently translated at 59.7% (40 of 67 strings)

Translated using Weblate (Indonesian)

Currently translated at 79.1% (53 of 67 strings)

Translated using Weblate (Polish)

Currently translated at 55.2% (37 of 67 strings)

Translated using Weblate (Hebrew)

Currently translated at 55.2% (37 of 67 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (67 of 67 strings)

Translated using Weblate (Russian)

Currently translated at 17.9% (12 of 67 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 10.4% (7 of 67 strings)

Translated using Weblate (Turkish)

Currently translated at 28.3% (19 of 67 strings)

Translated using Weblate (German)

Currently translated at 65.6% (44 of 67 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Filipino)

Currently translated at 18.7% (119 of 633 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 97.6% (618 of 633 strings)

Translated using Weblate (Persian)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Slovak)

Currently translated at 98.5% (624 of 633 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 90.0% (570 of 633 strings)

Translated using Weblate (Basque)

Currently translated at 95.7% (606 of 633 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Korean)

Currently translated at 71.8% (455 of 633 strings)

Translated using Weblate (Japanese)

Currently translated at 99.5% (630 of 633 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (French)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (French)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Spanish)

Currently translated at 97.6% (618 of 633 strings)

Translated using Weblate (German)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (German)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (German)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.8% (632 of 633 strings)

Translated using Weblate (German)

Currently translated at 98.1% (621 of 633 strings)

Translated using Weblate (German)

Currently translated at 98.1% (621 of 633 strings)

Translated using Weblate (Swedish)

Currently translated at 99.6% (631 of 633 strings)

Translated using Weblate (Swedish)

Currently translated at 99.6% (631 of 633 strings)

Translated using Weblate (French)

Currently translated at 99.5% (630 of 633 strings)

Translated using Weblate (French)

Currently translated at 99.5% (630 of 633 strings)

Translated using Weblate (French)

Currently translated at 99.3% (629 of 633 strings)

Translated using Weblate (French)

Currently translated at 99.3% (629 of 633 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: AioiLight <info@aioilight.space>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alberto De Negri <scemottero@hotmail.it>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Andrés Paredes <andresparedeszaa@gmail.com>
Co-authored-by: Ayoub Rejal <ayoubrejal@gmail.com>
Co-authored-by: BurningKarl <karl.welzel@gmail.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: DanieLoche <danieloche@gmail.com>
Co-authored-by: DanieLoche <dloche+weblate@danlo.fr>
Co-authored-by: David Kovács <davidkovacs12321@gmail.com>
Co-authored-by: Deleted User <noreply+43355@weblate.org>
Co-authored-by: Digiwizkid <subhadiplayek@gmail.com>
Co-authored-by: Gontzal Manuel Pujana Onaindia <thadahdenyse@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: JS Ahn <freirepublik@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Jonatan Nyberg <jonatan@autistici.org>
Co-authored-by: Jonathan Soares <jpub@disroot.org>
Co-authored-by: Karl Tammik <karltammik@protonmail.com>
Co-authored-by: Lars <weblate.org@lehtrab.de>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Napstaguy04 <brokenscreen3@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Ricardo <contatorms7@tutamail.com>
Co-authored-by: Simon N <Observeramera@pm.me>
Co-authored-by: TiA4f8R <avdivers84@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: jazzyjabroni <lordcarmack@tuta.io>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: nzgha <nzgha.hw@runbox.com>
Co-authored-by: qqqq1 <qqqq1@hi2.in>
Co-authored-by: sal0max <msal.coding@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: Егор Ермаков <eg.ermakov2016@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar_LY/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ru/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata

Translated using Weblate (Spanish)

Currently translated at 97.6% (618 of 633 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 90.0% (570 of 633 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Croatian)

Currently translated at 98.4% (623 of 633 strings)

Translated using Weblate (Filipino)

Currently translated at 28.7% (182 of 633 strings)
2022-05-02 20:46:35 +02:00
Stypox
218012558a Merge pull request #8329 from litetex/cleanup-unused-strings
Removed unused ``strings.xml`` resources
2022-05-02 19:24:22 +02:00
Mamadou WAGUE
e40e86500b Fixed viewed counting 2022-05-02 14:52:43 +02:00
litetex
6f0942ac6e Make sure Routeractivity does the same as MainActivity 2022-05-01 21:59:00 +02:00
litetex
a67927c29c Fix dialogs having incorrect color when opened via RouterActivity 2022-05-01 21:56:49 +02:00
litetex
7e50eed95e Removed unused string resources 2022-05-01 20:50:37 +02:00
Stypox
173b6c3f00 Fix wrong NonNull 2022-04-30 21:46:06 +02:00
Stypox
7646c683b5 Merge pull request #7989 from litetex/refactor-playback-parameter-dialog
Rewrote ``PlaybackParameterDialog``
2022-04-30 17:53:26 +02:00
kt programs
047fe21c14 Fix hiding player controls when playing from media button
DefaultControlDispatcher was removed in ExoPlayer 2.16.0, so the class
extending it that handled play/pause was removed in #8020.

The new solution is to use an instance of ForwardingPlayer. Call
sessionConnector.setPlayer with an instance of ForwardingPlayer that
overrides play() and pause() and calls the callback methods.
2022-04-30 17:43:30 +08:00
Stypox
b59a601b52 Merge branch 'master' into dev 2022-04-29 16:41:18 +02:00
Stypox
ecb8ef6bb1 Merge pull request #8231 from TeamNewPipe/release/0.23.0
Release 0.23.0 (986)
2022-04-29 16:39:47 +02:00
Stypox
cd2eab6ba2 Merge pull request #8302 from Stypox/default-progressive-load-interval
Use 64 KiB as the default progressive load interval
2022-04-29 16:21:19 +02:00
Stypox
6a4d8329c3 Rename progressive_load_interval_exoplayer_default for all languages 2022-04-29 16:11:28 +02:00
Stypox
b8dbb3f073 Use 64 KiB as the default progressive load interval
This ensures a small value is used by default, solving buffering issues at the beginning of videos
2022-04-29 16:10:39 +02:00
Hosted Weblate
9a5decdb28 Translated using Weblate (Bengali (India))
Currently translated at 45.6% (289 of 633 strings)

Translated using Weblate (Danish)

Currently translated at 47.2% (299 of 633 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Basque)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Tagalog)

Currently translated at 9.4% (60 of 633 strings)

Translated using Weblate (Arabic (Libya))

Currently translated at 5.9% (4 of 67 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 14.9% (10 of 67 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (67 of 67 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 61.1% (41 of 67 strings)

Translated using Weblate (Slovak)

Currently translated at 7.4% (5 of 67 strings)

Translated using Weblate (Persian)

Currently translated at 62.6% (42 of 67 strings)

Translated using Weblate (Swedish)

Currently translated at 50.7% (34 of 67 strings)

Translated using Weblate (Spanish)

Currently translated at 59.7% (40 of 67 strings)

Translated using Weblate (Indonesian)

Currently translated at 79.1% (53 of 67 strings)

Translated using Weblate (Polish)

Currently translated at 55.2% (37 of 67 strings)

Translated using Weblate (Hebrew)

Currently translated at 55.2% (37 of 67 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (67 of 67 strings)

Translated using Weblate (Russian)

Currently translated at 17.9% (12 of 67 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 10.4% (7 of 67 strings)

Translated using Weblate (Turkish)

Currently translated at 28.3% (19 of 67 strings)

Translated using Weblate (German)

Currently translated at 65.6% (44 of 67 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Filipino)

Currently translated at 18.7% (119 of 633 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 97.6% (618 of 633 strings)

Translated using Weblate (Persian)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Slovak)

Currently translated at 98.5% (624 of 633 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 90.0% (570 of 633 strings)

Translated using Weblate (Basque)

Currently translated at 95.7% (606 of 633 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Korean)

Currently translated at 71.8% (455 of 633 strings)

Translated using Weblate (Japanese)

Currently translated at 99.5% (630 of 633 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (French)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (French)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Spanish)

Currently translated at 97.6% (618 of 633 strings)

Translated using Weblate (German)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (German)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (German)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.8% (632 of 633 strings)

Translated using Weblate (German)

Currently translated at 98.1% (621 of 633 strings)

Translated using Weblate (German)

Currently translated at 98.1% (621 of 633 strings)

Translated using Weblate (Swedish)

Currently translated at 99.6% (631 of 633 strings)

Translated using Weblate (Swedish)

Currently translated at 99.6% (631 of 633 strings)

Translated using Weblate (French)

Currently translated at 99.5% (630 of 633 strings)

Translated using Weblate (French)

Currently translated at 99.5% (630 of 633 strings)

Translated using Weblate (French)

Currently translated at 99.3% (629 of 633 strings)

Translated using Weblate (French)

Currently translated at 99.3% (629 of 633 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: AioiLight <info@aioilight.space>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alberto De Negri <scemottero@hotmail.it>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Andrés Paredes <andresparedeszaa@gmail.com>
Co-authored-by: Ayoub Rejal <ayoubrejal@gmail.com>
Co-authored-by: BurningKarl <karl.welzel@gmail.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: DanieLoche <danieloche@gmail.com>
Co-authored-by: DanieLoche <dloche+weblate@danlo.fr>
Co-authored-by: David Kovács <davidkovacs12321@gmail.com>
Co-authored-by: Deleted User <noreply+43355@weblate.org>
Co-authored-by: Digiwizkid <subhadiplayek@gmail.com>
Co-authored-by: Gontzal Manuel Pujana Onaindia <thadahdenyse@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: JS Ahn <freirepublik@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Jonatan Nyberg <jonatan@autistici.org>
Co-authored-by: Jonathan Soares <jpub@disroot.org>
Co-authored-by: Karl Tammik <karltammik@protonmail.com>
Co-authored-by: Lars <weblate.org@lehtrab.de>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Napstaguy04 <brokenscreen3@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Ricardo <contatorms7@tutamail.com>
Co-authored-by: Simon N <Observeramera@pm.me>
Co-authored-by: TiA4f8R <avdivers84@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: jazzyjabroni <lordcarmack@tuta.io>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: nzgha <nzgha.hw@runbox.com>
Co-authored-by: qqqq1 <qqqq1@hi2.in>
Co-authored-by: sal0max <msal.coding@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: Егор Ермаков <eg.ermakov2016@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar_LY/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ru/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
2022-04-28 11:52:53 +02:00
Stypox
31e762d921 Update NewPipeExtractor to 0.22.1 2022-04-28 11:09:04 +02:00
LingYinTianMeng
bb495f567c Merge branch 'TeamNewPipe:dev' into dev 2022-04-27 21:03:09 +08:00
litetex
aa1db617d5 Merge pull request #8269 from Nickoriginal/update_user_agent
Update User-Agent in Downloader
2022-04-23 20:44:05 +02:00
opusforlife2
9b3e43ffc1 Merge pull request #8279 from TiA4f8R/set-maximum-allowed-opacity-for-close-overlay-android-12-and-higher
Adapt opacity of popup close button to allow touches in other apps on Android >=12
2022-04-23 17:39:15 +00:00
TiA4f8R
d5a0f8f23c Set opacity of the popup close button to 0.8 on Android 12 and higher
Setting this opacity should allow touches outside NewPipe when using the popup player.

See https://developer.android.com/reference/android/view/WindowManager.LayoutParams#FLAG_NOT_TOUCHABLE for more details.
2022-04-22 15:09:20 +02:00
Nickoriginal
ec5cfe0019 Update USER_AGENT in DownloaderImpl 2022-04-20 16:15:27 +03:00
LingYinTianMeng
fd5626e9e2 Merge branch 'TeamNewPipe:dev' into dev 2022-04-19 16:36:42 +08:00
litetex
53bf3420e7 Merge pull request #8244 from seanzzy/issue-8058
Fix crash when open NewPipe from notification bar
2022-04-18 16:06:48 +02:00
Yingwei Zheng
127a27315e Fix keyboard showing after the search box acquiring focus (#8227)
* Fix keyboard showing after the search box acquiring focus
* Fix the underlying problem as described in the issue #7647
2022-04-18 16:05:42 +02:00
litetex
671441bdf8 Merge pull request #8206 from TacoTheDank/bumpACRA
Update ACRA library
2022-04-18 16:04:37 +02:00
litetex
5c6e2ed071 Merge pull request #8233 from Stypox/fix-notification-settings-2
Fix new streams notifications preference screen
2022-04-18 15:25:45 +02:00
litetex
254b276a54 Merge pull request #8236 from Stypox/fix-proguard-settings
Fix proguard for notification preference fragment
2022-04-18 15:25:38 +02:00
litetex
31df4e42d7 Merge pull request #8249 from karyogamy/caption-fix-2
Fix disabled caption to no longer automatically re-enable on new player instance
2022-04-18 15:25:29 +02:00
litetex
2b8eb7ed66 Also run CI when target is release branch 2022-04-18 14:28:56 +02:00
karyogamy
29fc0eff38 fixed: added comments for DefaultTrackSelector auto-select fix. 2022-04-17 18:34:31 -04:00
karyogamy
4917da2d2e fixed: disabled caption to no longer automatically re-enable on new player instance. 2022-04-17 13:26:39 -04:00
LingYinTianMeng
8ea98b64aa fix issue #7563 2022-04-17 22:23:03 +08:00
ZiyanZHANG
4904b48f5c Update PlayQueueActivity.java 2022-04-17 18:15:13 +08:00
Stypox
05d5ef602c Fix proguard rules to keep Notifications settings fragment 2022-04-16 21:26:25 +02:00
litetex
a311519314 Fix merge conflicts 2022-04-16 21:24:01 +02:00
litetex
1dc146322c Merged `DrawableResolver into ThemeHelper` 2022-04-16 21:21:57 +02:00
litetex
0f551baf37 Refactored code 2022-04-16 21:21:56 +02:00
litetex
b9190eddfe Update DrawableResolver.kt
Nicer import 😉
2022-04-16 21:21:55 +02:00
litetex
44dada9e60 Use better Kotlin syntax
From the PR review
2022-04-16 21:21:54 +02:00
litetex
1b8c517e3e Removed unused strings 2022-04-16 21:21:53 +02:00
litetex
20602889be Added some doc and abstracted more methods 2022-04-16 21:21:52 +02:00
litetex
4b06536582 Reworked switching to semitones
Using an expandable Tab-like component instead of a combobox
2022-04-16 21:21:51 +02:00
litetex
621b38c98b Code improvements regarding stepSize 2022-04-16 21:21:50 +02:00
litetex
321cf8bf7d Fine tuned dialog 2022-04-16 21:21:49 +02:00
litetex
762cdc812c Reworked/Implemented PlaybackParameterDialog functionallity
* Add support for semitones
* Fixed some minor bugs
* Improved some methods
2022-04-16 21:21:48 +02:00
litetex
dae5aa38a8 Fine tuned dialog (no scrollers in fullscreen on 5in phone) 2022-04-16 21:21:48 +02:00
litetex
7d42e50f5b Shrunk dialog a bit 2022-04-16 21:21:47 +02:00
litetex
a4c083e7f9 Rework dialog
* De-Duplicated some fields
* Use a container for the pitch controls
* Name pitch related elements correctly
2022-04-16 21:21:46 +02:00
litetex
e4f202834c Remove invalid parameters 2022-04-16 21:21:46 +02:00
litetex
6e0c380409 Remove redundant attributes 2022-04-16 21:21:46 +02:00
litetex
4cdf6eda2c Use viewbinding 2022-04-16 21:21:45 +02:00
litetex
652d50173e Major refactoring of PlaybackParameterDialog
* Removed/Renamed methods
* Use ``IcePick``
* Better structuring
* Keep skipSilence when rotating the device (PlayQueueActivity only)
2022-04-16 21:21:45 +02:00
Stypox
fa58a81852 Fix New streams settings snackbar not being hidden on exiting 2022-04-16 19:01:30 +02:00
Stypox
f2fc2cc24a Check whether to enable New streams settings in onCreate to prevent flickering 2022-04-16 19:00:51 +02:00
Stypox
0a2fc08706 Release v0.23.0 (986) 2022-04-16 18:28:23 +02:00
Stypox
6e81f2430b Merge remote-tracking branch 'weblate/dev' into dev 2022-04-16 18:02:49 +02:00
Stypox
509036f162 Add changelog for 0.23.0 2022-04-16 17:50:10 +02:00
Stypox
4040cb36bb Merge branch 'master' into dev 2022-04-15 20:23:14 +02:00
Stypox
0cf412efb3 Merge branch 'master' into dev 2022-04-15 18:46:16 +02:00
litetex
2c7977d3e8 Merge pull request #8199 from TacoTheDank/checklistIcon
Replace checklist drawable
2022-04-15 17:57:07 +02:00
litetex
85b5cb55de Merge pull request #8200 from TacoTheDank/drawerLayoutSimpler
Use simpler DrawerLayout method
2022-04-15 17:52:47 +02:00
litetex
6ed69d8ed8 Merge pull request #8204 from TacoTheDank/bumpPlugins
Update AGP, Gradle, and Kotlin
2022-04-15 17:51:22 +02:00
litetex
0a92ac97d4 Merge pull request #8198 from TacoTheDank/bumpWorkflow
Update action dependencies in workflows
2022-04-15 17:37:30 +02:00
TacoTheDank
248ca5ee12 Update ACRA library 2022-04-14 22:08:42 -04:00
TacoTheDank
7fb2973431 Update AGP, Gradle, and Kotlin 2022-04-14 21:10:29 -04:00
TacoTheDank
3a419126f3 Use simpler DrawerLayout method 2022-04-14 16:50:28 -04:00
TacoTheDank
ef5c71374b Replace checklist menu drawable 2022-04-14 15:52:14 -04:00
TacoTheDank
5ccf2d7bcc Reformat heart and seek-triangle drawables 2022-04-14 15:52:01 -04:00
TacoTheDank
c85936bb11 Update action dependencies in workflows 2022-04-14 15:43:56 -04:00
Robin
3fb5073feb Merge pull request #8150 from karyogamy/caption-fix
Fix caption auto-selection not reflected in player GUI
2022-04-14 10:10:53 +02:00
Robin
75df1fa3ac Merge pull request #8191 from litetex/update-extractor
Updated extractor to latest version of the dev-branch
2022-04-14 10:03:30 +02:00
Subham Jena
931906c9f3 Translated using Weblate (Odia)
Currently translated at 3.8% (24 of 617 strings)
2022-04-13 02:08:06 +02:00
WB
b6368b1296 Translated using Weblate (Galician)
Currently translated at 98.5% (608 of 617 strings)
2022-04-13 02:08:05 +02:00
Luciano dos Santos Gonzalez
cb1fa8b5ae Translated using Weblate (Portuguese)
Currently translated at 100.0% (617 of 617 strings)
2022-04-13 02:08:04 +02:00
litetex
601bc96734 Updated to latest version of the Extractor-dev-branch 2022-04-12 22:09:45 +02:00
Tobi
8441aff066 Merge pull request #8175 from Trust04zh/update-doc
Update CONTRIBUTING.md with current checkstyle.xml path
2022-04-12 17:33:40 +02:00
karyogamy
9818f179c4 fixed: auto-generated captions to have lower selection priority as manual captions. 2022-04-11 22:06:43 -04:00
Trust_04zh
91e1d35a10 update to current checkstyle.xml path 2022-04-11 19:59:14 +08:00
litetex
74c9a3dc50 Merge pull request #8146 from GGAutomaton/fix-7825
Use newInstance in PlaylistDialog
2022-04-10 15:04:12 +02:00
karyogamy
55fc3fc177 added: caption language stem utility to support language variant conversion between videos. 2022-04-08 18:21:30 -04:00
karyogamy
724eac9168 fixed: player caption auto-selection not reflected in gui.
fixed: player caption selection skipping on multiple language variants.
2022-04-07 20:02:56 -04:00
Robin
a528cee5f4 Merge pull request #8127 from litetex/fix-SparseItemUtil
Fix `SparseItemUtil` so we don't enqueue twice
2022-04-07 17:21:18 +02:00
Robin
e16917f63a Merge pull request #8139 from TiA4f8R/seamless-transition-video-subtitles-fetch-fix
Fix fetch of video streams (when switching between tracks in a play queue) and subtitles when using a seamless transition between background and video players
2022-04-07 17:13:09 +02:00
Napstaguy04
984d19a9a5 Translated using Weblate (Tagalog)
Currently translated at 9.5% (59 of 617 strings)
2022-04-07 12:11:17 +02:00
Napstaguy04
229481c89c Translated using Weblate (Filipino)
Currently translated at 19.1% (118 of 617 strings)
2022-04-07 12:11:15 +02:00
Muhammad Fahim Zunayed
f9af698521 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 51.3% (317 of 617 strings)
2022-04-07 12:11:15 +02:00
Éfrit
db96d5246f Translated using Weblate (French)
Currently translated at 100.0% (617 of 617 strings)
2022-04-07 12:11:15 +02:00
GGAutomaton
2e771cd65a Fix crash when rotating device on unsupported channels 2022-04-04 23:58:39 +08:00
GGAutomaton
638f227b51 Use newInstance in PlaylistDialog 2022-04-04 13:50:27 +08:00
Napstaguy04
0e73eb568e Added translation using Weblate (Tagalog) 2022-04-04 05:25:55 +02:00
TiA4f8R
3261855b8f Fix fetch of video streams (when switching between tracks in a play queue) and subtitles when using a seamless transition between background and video players
Make the use of the new method setDisabledTrackTypes in DefaultTrackSelector.ParametersBuilder, which disables selection of tracks type for every TrackGroup instead of the current group, which is the current behavior.
This removes the use of the deprecated of setSelectionOverride method.

Note that for progressive media, the content is still fetched, but only for initialization purposes (so requests are pretty small, most of times with a few kilobytes size).
2022-04-03 14:07:56 +02:00
Agnieszka C
3bbabb8416 Translated using Weblate (Polish)
Currently translated at 100.0% (617 of 617 strings)
2022-04-02 21:52:54 +02:00
litetex
629b685f5a Merge pull request #7516 from mauriciocolli/fix-download-dialog-selector
Fix download dialog selector layout
2022-04-02 16:04:21 +02:00
litetex
6b1a6d264b Better naming 2022-04-02 15:44:06 +02:00
litetex
79540a8b9c Fix tests 2022-04-02 15:43:50 +02:00
Mauricio Colli
99d62381b9 Fix download dialog selector layout and add some tests 2022-04-02 15:25:08 +02:00
litetex
860d28e16c Merge pull request #8020 from karyogamy/exo-update-v17
ExoPlayer 2.17.1 update and MediaSource management rework
2022-04-02 14:53:58 +02:00
Stypox
ac00c8f6ae Merge pull request #8115 from litetex/update-newpipe-extractor
Update NewpipeExtractor
2022-04-01 10:50:39 +02:00
litetex
b5fa93eda0 Fix SparseItemUtil loading
* Added a missing `return` statement
* `fetchUploaderUrlIfSparse` now has a similar layout to `fetchItemInfoIfSparse`
2022-03-30 21:11:15 +02:00
Bob
a8573f268b Translated using Weblate (Swahili)
Currently translated at 5.0% (31 of 617 strings)
2022-03-29 00:22:19 +02:00
ssantos
fa141e394b Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (617 of 617 strings)
2022-03-29 00:22:18 +02:00
TXRdev Archive
e72bb87cc1 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (617 of 617 strings)
2022-03-29 00:22:18 +02:00
zica
32b294f1f3 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (617 of 617 strings)
2022-03-29 00:22:17 +02:00
Linerly
70d4369d81 Translated using Weblate (Indonesian)
Currently translated at 100.0% (617 of 617 strings)
2022-03-29 00:22:16 +02:00
pjammo
75f601c154 Translated using Weblate (Italian)
Currently translated at 100.0% (617 of 617 strings)
2022-03-29 00:22:16 +02:00
translator
335cc234c8 Translated using Weblate (French)
Currently translated at 99.6% (615 of 617 strings)
2022-03-29 00:22:15 +02:00
cedspam
5343781e14 Translated using Weblate (French)
Currently translated at 99.6% (615 of 617 strings)
2022-03-29 00:22:15 +02:00
karyogamy
a00bc95acc updated: source loading error for FailedMediaSource to wait for 3 seconds before allowing retry.
updated: minor style fixes.
2022-03-27 13:24:37 -04:00
karyogamy
d289dc8a53 updated: onPlayerError to not catch unspecified source errors so notifications are created.
updated: Throwable usage to Exceptions.
updated: minor styles and documentations.
2022-03-26 20:17:52 -04:00
litetex
93deaa5687 Fixed test compilation 2022-03-26 21:44:16 +01:00
litetex
102c05e927 FIx breaking changes 2022-03-26 21:21:07 +01:00
litetex
cf598dc3cb Update extractor to latest dev-Version 2022-03-26 21:20:41 +01:00
litetex
1ecb0ca081 Merge pull request #7977 from Stypox/error-notification-kitkat
Fix error notification on KitKat
2022-03-25 20:00:48 +01:00
litetex
5459a55406 Merge pull request #8081 from Stypox/remove-pin-notifications-icons
Remove pin and notifications night icons
2022-03-20 17:57:43 +01:00
Stypox
fa1c11f5f9 Remove pin and notifications night icons
They were added by accident in PRs not properly rebased on top of #7518, they can be removed safely.
2022-03-20 11:12:45 +01:00
Stypox
2623f0e360 Merge pull request #2335 from nv95/feature/notifications
New streams notifications
2022-03-20 10:48:48 +01:00
karyogamy
b81eb35f3d added: documentations on lifecycles for FailedMediaSource and LoadedMediaSource.
fixed: onPlaybackSynchronize to rewind when not playing, which was incorrectly removed in previous commit.
fixed: sonar and checkstyle issues.
2022-03-19 22:40:32 -04:00
Stypox
66fffce87c Make "Player notification" PreferenceScreen searchable 2022-03-19 22:44:59 +01:00
Stypox
6e8c9f92cb Merge branch 'dev' into pr2335 2022-03-19 22:29:10 +01:00
litetex
fc61aae20a Merge pull request #8077 from litetex/delete-copyright-file
Delete copyright-file
2022-03-19 22:20:26 +01:00
Stypox
3d9d25df52 Remove backoff criteria: it never kicked in
It never kicked in since we are never returning a retry() Result, but always either success() or failure() (see createWork() function). Also, there is already a default (exponential backoff starting from 30 seconds), so no need to override it.
2022-03-19 21:55:00 +01:00
litetex
5f3db017af Delete copyright
was replaced by LICENSE
2022-03-19 21:39:33 +01:00
karyogamy
69646e5b5d added: documentations to MediaItemTags and Player.
fixed: checkStyle failures.
2022-03-19 15:56:45 -04:00
karyogamy
4e459b3383 updated: ExoPlayer to 2.17.1.
added: MediaItemTag for ManagedMediaSources.
added: silent track for FailedMediaSource.
added: keyframe fast forward at initial playback buffer.
added: error notification on silently skipped streams.
2022-03-19 15:56:45 -04:00
litetex
8c5e8bdf78 Merge pull request #8076 from litetex/update-license
Update license to latest version
2022-03-19 17:58:33 +01:00
litetex
6bc750cab7 Update license to latest version of https://www.gnu.org/licenses/gpl-3.0.txt 2022-03-19 17:39:06 +01:00
litetex
70d9a77e9b Merge pull request #8073 from Stypox/bump-checkstyle
Update checkstyle to 10.0 and fix various related issues
2022-03-19 14:37:52 +01:00
litetex
6d2b5d976d Merge pull request #8068 from TacoTheDank/lintCleaning
Some lint cleaning
2022-03-19 14:37:34 +01:00
litetex
57231382a6 Merge pull request #8066 from TacoTheDank/simpleSeekbarChange
Create stub implementation for OnSeekBarChangeListener
2022-03-19 14:37:10 +01:00
litetex
1f6fc0630d Merge pull request #8065 from TacoTheDank/aboutCleanup
Clean up the about package a bit
2022-03-19 14:36:53 +01:00
David
e5ee405971 Translated using Weblate (Chinese (Traditional))
Currently translated at 60.0% (39 of 65 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
2022-03-19 10:59:16 +01:00
NTFSynergy
5522a7a2e5 Translated using Weblate (Slovak)
Currently translated at 6.1% (4 of 65 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sk/
2022-03-19 10:59:14 +01:00
Filip Marek
cbc718437b Translated using Weblate (Czech)
Currently translated at 4.6% (3 of 65 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/cs/
2022-03-19 10:59:14 +01:00
Igor Sorocean
8ca701b882 Translated using Weblate (Romanian)
Currently translated at 9.2% (6 of 65 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ro/
2022-03-19 10:59:13 +01:00
AHOHNMYC
f5e253456c Translated using Weblate (Russian)
Currently translated at 16.9% (11 of 65 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ru/
2022-03-19 10:59:13 +01:00
Marco Santos
8cc29241e2 Translated using Weblate (Filipino)
Currently translated at 18.8% (116 of 617 strings)
2022-03-19 10:59:11 +01:00
subba raidu
4ea0d05c17 Translated using Weblate (Telugu)
Currently translated at 65.1% (402 of 617 strings)
2022-03-19 10:59:09 +01:00
Yaron Shahrabani
7898c33819 Translated using Weblate (Hebrew)
Currently translated at 100.0% (617 of 617 strings)
2022-03-19 10:59:09 +01:00
Danial Behzadi
d0ba87f7ee Translated using Weblate (Persian)
Currently translated at 100.0% (617 of 617 strings)
2022-03-19 10:59:08 +01:00
Agnieszka C
5ee961d3eb Translated using Weblate (Polish)
Currently translated at 100.0% (617 of 617 strings)
2022-03-19 10:59:08 +01:00
Mohammed Anas
ac10e15c15 Translated using Weblate (Arabic)
Currently translated at 100.0% (617 of 617 strings)
2022-03-19 10:59:08 +01:00
zenobit
71159cf0c8 Translated using Weblate (Czech)
Currently translated at 100.0% (617 of 617 strings)
2022-03-19 10:59:07 +01:00
Filip Marek
b2f22ac584 Translated using Weblate (Czech)
Currently translated at 100.0% (617 of 617 strings)
2022-03-19 10:59:07 +01:00
NTFSynergy
8c662c9d7b Translated using Weblate (Slovak)
Currently translated at 100.0% (617 of 617 strings)
2022-03-19 10:59:07 +01:00
bw4518
8cd3083e52 Translated using Weblate (Slovak)
Currently translated at 100.0% (617 of 617 strings)
2022-03-19 10:59:07 +01:00
Ray
06227d4514 Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 89.3% (551 of 617 strings)
2022-03-19 10:59:06 +01:00
Dar9586
f5ce228059 Translated using Weblate (Italian)
Currently translated at 99.8% (616 of 617 strings)
2022-03-19 10:59:05 +01:00
Stypox
53f8415e9b Use @SuppressWarnings for checkstyle suppressions & warnings
It's better to use @SuppressWarnings instead of the suppressions file, so that the warning suppression is at the place where it acts.
2022-03-18 23:57:11 +01:00
Stypox
710964b47d Update checkstyle to 10.0 and fix various related issues
- Put checkstyle files into checkstyle/ subfolder so that the gradle task does not implicitly depend on the whole project, fixing many warnings during build and possibly increasing build performance.
- Remove unused SuppressionXpathFilter from config file.
- Remove outdated suppressions from suppressions file.
2022-03-18 19:58:59 +01:00
TacoTheDank
4dafe424cf De-duplicate showLicense methods 2022-03-18 13:48:07 -04:00
TacoTheDank
bc4a0a575c Clean up the about package a bit 2022-03-18 13:18:23 -04:00
TacoTheDank
cf213affa2 Annotate some NonNulls, some lint cleaning 2022-03-18 13:15:44 -04:00
litetex
e29aaaf162 Merge pull request #8067 from TacoTheDank/removeUnusedCode
Delete some unused code
2022-03-18 16:22:18 +01:00
TacoTheDank
979a320347 Delete some unused code 2022-03-17 23:26:34 -04:00
TacoTheDank
20bddd8e47 Use Animator.addListener() KTX extension 2022-03-17 22:01:51 -04:00
TacoTheDank
86f335b01f Create stub implementation for OnSeekBarChangeListener 2022-03-17 21:49:04 -04:00
Stypox
102204e293 Merge pull request #8011 from XiangRongLin/extract_view_listeners
Extract view click listeners from Player
2022-03-16 22:28:01 +01:00
litetex
67651354d5 Fixed conflicts 2022-03-16 15:58:46 +01:00
litetex
cefb52471f Better naming 2022-03-16 15:52:30 +01:00
litetex
ee5e0e13b7 Made `onClick` less (cognitive) complex 2022-03-16 15:52:30 +01:00
litetex
30a8f25d52 Refactored code 2022-03-16 15:47:04 +01:00
XiangRongLin
d348c2099e stupid checkstyle 2022-03-16 15:47:04 +01:00
XiangRongLin
6a400dda7b delete unused methods 2022-03-16 15:47:03 +01:00
XiangRongLin
080c4ba680 Extract 2 view click listeners from Player 2022-03-16 15:47:03 +01:00
litetex
37aca3f1c7 Merge pull request #7981 from Stypox/sparse-items-deduplic
Deduplicate code for fetching stream info when sparse
2022-03-16 15:18:10 +01:00
litetex
0158f1363b Merge pull request #7518 from mauriciocolli/remove-icon-duplicates
Remove icon duplicates and fix some theming issues
2022-03-15 21:51:04 +01:00
litetex
f47f2d13fa Merge pull request #5878 from SpinHit/spinhit/addingDeleteConfirmation
Add a confirmation button when deleting all files in downloader
2022-03-15 21:49:46 +01:00
litetex
6fe6f4b3e0 Merge pull request #7978 from TacoTheDank/bumpSomeLibraries
Update some AndroidX libraries
2022-03-15 21:48:49 +01:00
litetex
00e4631b3b Merge pull request #7963 from Stypox/android-tv-player
Improve player UI and navigability for Android TV
2022-03-15 21:41:48 +01:00
litetex
2e7503ff78 Merge branch 'dev' into bumpSomeLibraries 2022-03-15 21:34:41 +01:00
ktprograms
02fa5aa0fa Implement appending queue to playlist in main player (#8008)
This also allows saving a remote playlist locally.

- Add an "Add to playlist" button to the queue menu in the Player.
- Move the appendAllToPlaylist functionality from PlayQueueActivity to
Player.

Fixes: #8004
2022-03-15 18:32:39 +01:00
Stypox
9b4a67276a Fix comments and rearrange code 2022-03-15 15:20:25 +01:00
Stypox
b607a09125 Merge pull request #7975 from TacoTheDank/updateCheckerRewrite
Migrate app update checker to AndroidX Work
2022-03-15 14:20:40 +01:00
Stypox
af89f05011 Merge pull request #7341 from ktprograms/external-play-hide-controls
Fix player controls not hiding if resumed from media button
2022-03-15 13:43:35 +01:00
Hosted Weblate
fed5161fc6 Translated using Weblate (Polish)
Currently translated at 100.0% (617 of 617 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 23.0% (15 of 65 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (617 of 617 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (617 of 617 strings)

Translated using Weblate (Bosnian)

Currently translated at 4.6% (3 of 65 strings)

Translated using Weblate (Bosnian)

Currently translated at 19.7% (122 of 617 strings)

Translated using Weblate (Croatian)

Currently translated at 98.2% (606 of 617 strings)

Translated using Weblate (Japanese)

Currently translated at 99.5% (614 of 617 strings)

Translated using Weblate (Serbian)

Currently translated at 94.9% (586 of 617 strings)

Translated using Weblate (Sardinian)

Currently translated at 99.6% (615 of 617 strings)

Translated using Weblate (Italian)

Currently translated at 99.5% (614 of 617 strings)

Translated using Weblate (German)

Currently translated at 100.0% (617 of 617 strings)

Translated using Weblate (Estonian)

Currently translated at 99.6% (615 of 617 strings)

Translated using Weblate (Tamil)

Currently translated at 55.2% (341 of 617 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (617 of 617 strings)

Translated using Weblate (Hebrew)

Currently translated at 99.8% (616 of 617 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (617 of 617 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (617 of 617 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (617 of 617 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (617 of 617 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (617 of 617 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (617 of 617 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (617 of 617 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (617 of 617 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 94.4% (583 of 617 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (617 of 617 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Japanese)

Currently translated at 10.7% (7 of 65 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (617 of 617 strings)

Translated using Weblate (Ukrainian)

Currently translated at 99.5% (614 of 617 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (615 of 615 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (615 of 615 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (615 of 615 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.6% (613 of 615 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (613 of 613 strings)

Added translation using Weblate (Bosnian)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Andrij Mizyk <andmizyk@gmail.com>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: GnuPGを使うべきだ <dieeeazpnnqbpddh@cock.email>
Co-authored-by: GobinathAL <gobinathal8@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Issa1553 <fairfull.playing@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Jonatan Nyberg <jonatan@autistici.org>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Ricardo <contatorms7@tutamail.com>
Co-authored-by: S3aBreeze <paperwork@evilcorp.ltd>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: Terry Louwers <t.louwers@gmail.com>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: Vitor Henrique <vitorhcl00@gmail.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: luciana <ludiazsp_182@live.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: sasukeiscool <jaflagasd@gmail.com>
Co-authored-by: Óscar Fernández Díaz <oscfdezdz@tuta.io>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bs/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ja/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translation: NewPipe/Metadata
2022-03-14 09:26:39 +01:00
TacoTheDank
b8b97fa6d4 Convert NewVersionWorker to Kotlin 2022-03-03 13:34:35 -05:00
TacoTheDank
71f141f3f8 Migrate CheckForNewAppVersion to Worker (and rename it) 2022-03-03 13:26:57 -05:00
TacoTheDank
81fef1be19 Migrate CheckForNewAppVersion to JobIntentService 2022-03-03 13:24:12 -05:00
TacoTheDank
0f175de599 Kotlin-ize ReleaseVersionUtil, merge with NewVersionManager 2022-03-03 13:21:50 -05:00
TacoTheDank
1602befc51 Move utility methods out of CheckForNewAppVersion 2022-03-03 13:19:06 -05:00
Stypox
162a838afc Deduplicate code for fetching stream info when sparse
Fixes #7941
2022-03-03 16:54:40 +01:00
Stypox
05a5e4372a Merge pull request #7976 from Stypox/remove-yes-string
Replace `R.string.yes` with `R.string.ok`
2022-03-03 10:17:54 +01:00
Stypox
e588abd4e7 Restore handling SPACE as play-pause only in fullscreen
When not in fullscreen SPACE should be not handled by the player, and hence result in a scroll down
2022-03-03 10:14:58 +01:00
TacoTheDank
f85b206bdf Update some AndroidX libraries 2022-03-02 11:01:01 -05:00
Stypox
5b3bbfce10 Fix playlist item not properly themed 2022-03-02 15:09:42 +01:00
Stypox
2a9733fbaf Fix error notification on KitKat
It was crashing due to a drawable icon being used; also use NotificationManagerCompat
2022-03-02 14:14:40 +01:00
Mauricio Colli
96185faca6 Remove manual menu creation from some fragments
Doing this programmatically is just a no-go when themes are being set
in some other places (the toolbar is using a custom theme, in this
case), so, instead of hunting down the proper theme, just let the
system do its work.
2022-03-02 12:37:44 +01:00
Mauricio Colli
af20b2ce0d Fix duplication of some icons used by the player 2022-03-02 12:33:01 +01:00
Mauricio Colli
919b92a0b5 Add missing tint on drawer image view 2022-03-02 12:31:41 +01:00
Mauricio Colli
3b0153ca7a Fix duplication of icon vectors 2022-03-02 12:31:41 +01:00
Stypox
5f16e4ef87 Replace R.string.yes with R.string.ok
Android doesn't use yes/no but ok/cancel usually, so this should be done here, too
2022-03-02 12:21:25 +01:00
Spinhit
483dc06ecb Add confirmation button before deleting all files.
Co-authored-by: TiA4f8R <74829229+TiA4f8R@users.noreply.github.com>
2022-03-02 11:31:52 +01:00
Stypox
b8e389c6e8 Merge pull request #7919 from karyogamy/progress-load-interval
Mitigating long buffering on initial video playback
2022-03-01 22:48:33 +01:00
litetex
cde4ee91f8 Minor rework
* Moved settings to a better section
* Made string a bit shorter
2022-03-01 20:14:53 +01:00
karyogamy
ab45efceab - added: variable load check interval for progressive stream.
- added: preferences to allow user setting of above.
2022-03-01 20:14:53 +01:00
Stypox
cbdcf5905f Merge pull request #7728 from ktprograms/remember-playback-adjustment-step-size
Remember adjustment step size for playback controls (speed and pitch)
2022-03-01 10:54:47 +01:00
kt programs
62c0e6605c Remember adjustment step size for playback controls (speed and pitch)
- Add adjustment_step_key to settings_keys.xml to be used when
saving/loading the step size.
- Remove the global stepSize variable and the code that saves it to
outState/loads it from savedInstanceState because it's now saved to
Shared Preferences.
- Move initially setting step size to setupStepSizeSelector to be
consistent with the other view setup methods, using the value loaded
from Shared Preferences.
- Save the step size to Shared Preferences inside setStepSize.

Fixes: #7031
2022-03-01 16:27:20 +08:00
litetex
f1c6988552 Merge pull request #7952 from TacoTheDank/bumpKotlin
Update Kotlin to 1.6.10
2022-02-28 19:42:38 +01:00
litetex
e1197f7253 Merge pull request #7954 from TacoTheDank/bumpInconsequential
Update ConstraintLayout, Room libraries
2022-02-28 19:42:19 +01:00
Stypox
146062d921 Fix player pop-ups not giving feedback on touch/focus 2022-02-27 18:49:16 +01:00
Stypox
96c4201929 Fix controls shown below queue/segments list when using DPAD
Also invert if
2022-02-27 18:49:16 +01:00
Stypox
a0bbcd2fee Fix player queue/segments list buttons not focusable with DPAD
Now the in-player play queue and the segments list are closeable
2022-02-27 18:49:16 +01:00
Stypox
627b4c8b14 Merge pull request #7894 from Stypox/delete-large-land-player
Remove large-land player layout: not actually used
2022-02-27 18:46:51 +01:00
litetex
fd6c352881 Merge pull request #7947 from TacoTheDank/bumpPluginsNGradle
Update AGP and Gradle
2022-02-27 17:48:22 +01:00
Stypox
3f7ba2e3d1 Merge pull request #7565 from haklc/dev
Change pitch by semitones
2022-02-27 09:58:38 +01:00
TacoTheDank
7c180727b9 Update ConstraintLayout, Room libraries 2022-02-26 21:13:52 -05:00
TacoTheDank
19d4e2224b Update Checkstyle to 9.3 2022-02-26 16:10:23 -05:00
TacoTheDank
678edb1846 Update ktlint to 0.44.0 2022-02-26 16:08:10 -05:00
TacoTheDank
ae2ba5771f Update Kotlin to 1.6.10 2022-02-26 16:07:33 -05:00
Stypox
cd9dd2e679 Merge pull request #7951 from TeamNewPipe/master
Merge master back into dev after release 0.22.1
2022-02-26 22:02:40 +01:00
Hosted Weblate
ffba1d5037 Translated using Weblate (Swedish)
Currently translated at 49.2% (32 of 65 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 58.4% (38 of 65 strings)

Translated using Weblate (Dutch (Belgium))

Currently translated at 23.0% (15 of 65 strings)

Translated using Weblate (French)

Currently translated at 66.1% (43 of 65 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 7.6% (5 of 65 strings)

Translated using Weblate (Italian)

Currently translated at 38.4% (25 of 65 strings)

Translated using Weblate (Polish)

Currently translated at 55.3% (36 of 65 strings)

Translated using Weblate (Hebrew)

Currently translated at 53.8% (35 of 65 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (65 of 65 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 7.6% (5 of 65 strings)

Translated using Weblate (German)

Currently translated at 66.1% (43 of 65 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (English)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (English)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (English)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (French)

Currently translated at 65.6% (42 of 64 strings)

Translated using Weblate (Dutch)

Currently translated at 71.8% (46 of 64 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Chinese (Traditional, Hong Kong))

Currently translated at 80.4% (493 of 613 strings)

Translated using Weblate (French)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (613 of 613 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Benedikt Freisen <b.freisen@gmx.net>
Co-authored-by: Corc <nizamismidov4@gmail.com>
Co-authored-by: Guillem <guillemglez@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Issa1553 <fairfull.playing@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Mohammed Anas <triallax@tutanota.com>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: Ray <ray.cfu@protonmail.com>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Stypox <stypox@pm.me>
Co-authored-by: TiA4f8R <avdivers84@gmail.com>
Co-authored-by: Vitor Henrique <vitorhcl00@gmail.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: mm4c <oldblue@vivaldi.net>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: zmni <zmni@outlook.com>
Co-authored-by: Éfrit <efrit@posteo.net>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/az/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl_BE/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
2022-02-26 18:46:02 +01:00
litetex
ccc3d38c45 Merge pull request #7910 from avently/equalscheck
Better equals check
2022-02-26 16:20:27 +01:00
litetex
37517c7dd1 Merge pull request #7570 from TeamNewPipe/improvement/infoItemDialogBuilder
Refactor generating InfoItemDialog's
2022-02-26 16:18:39 +01:00
litetex
a4dee77728 Merge pull request #7782 from Atemu/apple-silicon
Fix build on Apple Silicon macs
2022-02-26 16:17:02 +01:00
litetex
a95318a4f9 Merge pull request #7349 from TiA4f8R/seamless-transition-players
Add seamless transition between background and video players when putting the app in background (for video-only streams and audio-only streams only)
2022-02-26 16:16:18 +01:00
litetex
46fad32837 Merge pull request #7905 from Stypox/fix-room-unused-columns
Fix Room warning about unused columns during build
2022-02-26 16:15:01 +01:00
litetex
5be40f62f3 Merge pull request #7904 from Stypox/fix-raw-use-of-parameterized-class
Solve Java warning "Raw use of parameterized class"
2022-02-26 16:14:23 +01:00
litetex
fb75519ff8 Merge pull request #7925 from TacoTheDank/removeCircleImageView
Replace CircleImageView with ShapeableImageView
2022-02-26 16:13:13 +01:00
Stypox
5fea12d8eb Small code improvements
Removed some non-translatable strings and just hardcoded them in the code, like it's being done for other string separators. This also deduplicates some code by using Localization.
Used some Kotlin feature to reduce code.
2022-02-26 10:40:24 +01:00
TacoTheDank
8291098b6d Update AGP and Gradle 2022-02-25 19:36:06 -05:00
TacoTheDank
1a000fecd5 Replace CircleImageView with ShapeableImageView 2022-02-23 15:11:25 -05:00
Stypox
a0dc66abe7 Update android work library version to 2.7.1 2022-02-23 18:16:07 +01:00
Stypox
3d47d73ba9 Add changelog for NewPipe 0.22.1 (984) 2022-02-23 17:13:58 +01:00
Stypox
99379ede8a Remove useless title&channel text view focusability 2022-02-23 10:13:03 +01:00
Stypox
4871095a3e Automatically rearrange code in player.xml 2022-02-23 09:16:25 +01:00
Stypox
21dc988e45 Restore focus handling for TVs in player.xml 2022-02-23 09:15:11 +01:00
Avently
01e0dd50ad Added serviceId check while comparing PlayQueues 2022-02-23 00:53:39 +03:00
TobiGr
d3bc184971 Clarify that only StramInfoItems are accepted by the builder 2022-02-21 21:50:30 +01:00
TobiGr
ee477b25e5 Move StreamDialogEntry.openChannelFragment to NavigationHelper 2022-02-20 20:26:27 +01:00
TobiGr
277f21d5b2 Move Classes related to InfoItemDIalog into own package 2022-02-20 20:17:04 +01:00
TobiGr
a7d5d9a1d6 Fix rebase 2022-02-20 20:17:04 +01:00
TobiGr
fd0d76e866 Apply feedback
Return this in InfoIrtemDialog.Builder methoods.
Move null checks for InfoIrtemDialog.Builder into constructor.
Fix and add some more docs.
2022-02-20 20:17:04 +01:00
TobiGr
646d8f431c Use identical method names for creating the InfoItemDialog in Fragments 2022-02-20 20:17:04 +01:00
TobiGr
ef0d562702 Use ErrorActivity to notifiy about errors occourred while loading channel details 2022-02-20 20:17:04 +01:00
TobiGr
962fe9c36d Use Context instead of Activity
Improve docs
2022-02-20 20:17:04 +01:00
TobiGr
50e2385e82 Add default entries automatically 2022-02-20 20:17:04 +01:00
TobiGr
1cd3ef5dba Extract entries into beginning and end category 2022-02-20 20:17:04 +01:00
TobiGr
80157fc1be Refactor generating InfoItemDialog's
This commit refactors the way `InfoItemDialog`s are generated. This is necessary because the old way used  the `StreamDialogEntry` enum for most of the dialogs' content generation process. This required static variables and methods to store the entries which are used for the dialog to be build (See e.g.`enabledEntries` and methods like `generateCommands()`). In other words, `StreamDialogEntry` wasn't an enumeration anymore.

To address this issue, a `Builder` is introduced for the `InfoItemDialog`'s genration. The builder also comes with some default entries and and a specific order. Both can be used, but are not enforced. 

A second problem that introduced a structure which was atypical for an enumeration was the usage of non-final attributes within `StreamDialogEntry` instances. These were needed, because the default actions needed to overriden in some cases.

To address this problem, the `StreamDialogEntry` enumeration was renamed to `StreamDialogDefaultEntry` and a new `StreamDialogEntry` class is used instead.
2022-02-20 20:17:04 +01:00
TiA4f8R
c5fc37150d Update JavaDoc of VideoPlaybackResolver.getStreamSourceType() 2022-02-20 19:40:03 +01:00
TiA4f8R
8932adbf88 Apply suggested change and add a note about data consumption for HLS streams in background
ExoPlayer right now fetches HLS video tracks even if you disable them (with setRendererDisabled or setSelectionOverride).
See issue 9282 of ExoPlayer's issue tracker for more information.
2022-02-20 19:40:03 +01:00
TiA4f8R
d27d36b76a Adress requested changes 2022-02-20 19:40:02 +01:00
TiA4f8R
ba804c7d4a Use a enum to understand better what source type is used.
This commit also allows a seamless transition for livestreams.
2022-02-20 19:40:02 +01:00
TiA4f8R
3db37166b4 Apply suggestion 2022-02-20 19:40:02 +01:00
TiA4f8R
bf02a569ee Fix a NullPointerException when the current metadata is null
Reload the play queue manager and set the recovery in this case, like on the current behavior (without this PR).
2022-02-20 19:40:02 +01:00
litetex
015982bed4 Extended Tests for ListHelper#getSortedStreamVideosList
* Fixed expected and actual results. They were reversed...
* Added new method ``getSortedStreamVideosListWithPreferVideoOnlyStreamsTest``
2022-02-20 19:40:01 +01:00
TiA4f8R
a1c5c94753 Add some comments and a JavaDoc 2022-02-20 19:40:01 +01:00
litetex
7a356412d5 Fixed typo 2022-02-20 19:40:01 +01:00
litetex
1ea716a31f Updated checkstyle suppression
Removed fixed problems.
2022-02-20 19:39:58 +01:00
litetex
bb27bf9d34 Resolver: Cleaned up `isVideoStreamVideoOnly`
* Replaced by ``wasLastResolvedVideoAndAudioSeparated``
* Uses an ``Optional`` instead (we can't determine if the video and audio streams are separated when we did not fetch it)
2022-02-20 19:38:41 +01:00
litetex
a489f40b76 Fixed checkstyle problems
Unable to compile!

* Cleaned up ``getMostCompactAudioIndex`` and ``getHighestQualityAudioIndex`` into a new method ``getAudioIndexByHighestRank``
* Removed unreadable code and use Java Streams API
* Tests work as expected
2022-02-20 19:38:40 +01:00
litetex
8ed87e7fbb Improved `ListHelper#getSortedStreamVideosList` 2022-02-20 19:38:40 +01:00
TiA4f8R
cc96ac173c Apply suggestion 2022-02-20 19:38:40 +01:00
TiA4f8R
79f8270c35 Prefer video-only streams to video streams
Prefering video-only streams to video streams for our player will allow us to make seamless transitions on 360 and 720p qualities on YouTube.
External players and the downloader are not affected by this change.
2022-02-20 19:38:40 +01:00
TiA4f8R
336f9f3813 Add seamless transition between background player and video players (for video-only and audio-only streams only)
This is only available when playing video-only streams (and when there is no audio stream and only video streams with audio) and audio-only streams.
For more details about which conditions are required to get this transition, look at the changes in the useVideoSource(boolean) method of the Player class.
2022-02-20 19:38:39 +01:00
Avently
835c5e9d43 Better equals check
It ensures that queues are not the same. Without this check when you have multiple videos in the backstack and navigating back via Back button you'll get duplicated videos
2022-02-19 22:12:31 +03:00
Stypox
4789cf6c31 Use Java streams in AbstractInfoPlayQueue 2022-02-19 18:01:16 +01:00
Stypox
5f1f52b6ce Remove useless constructor in *PlayQueue
Also removes unused <> parameter in AbstractInfoPlayQueue and deduplicates constructor code in extending classes
2022-02-19 17:49:43 +01:00
Stypox
62abfa96b8 Solve Java warning "Raw use of parameterized class" 2022-02-19 17:30:38 +01:00
Stypox
a8a96b7631 Fix Room warning about unused columns during build
The warning was: "The query returns some columns [...] which are not used by ..."
2022-02-19 17:13:57 +01:00
TobiGr
bba0ea1255 Merge remote-tracking branch 'origin/dev' into feature/notifications 2022-02-19 12:47:47 +01:00
TobiGr
ff8e44e4f3 Merge branch 'dev' into feature/notifications 2022-02-19 12:34:44 +01:00
Stypox
7f846429cf Remove large-land player layout: not actually used 2022-02-18 14:05:34 +01:00
martin
ed2967ec7d Addressing layout comments 2022-02-17 10:28:50 +01:00
Martin
616fb47983 Merge branch 'TeamNewPipe:dev' into dev 2022-02-17 10:20:44 +01:00
Martin
9397ff8dd0 Merge branch 'TeamNewPipe:dev' into dev 2022-02-05 12:35:27 +01:00
martin
906ee75278 Fixed checkstyle violation 2022-02-05 12:31:07 +01:00
martin
4049abf2c0 Addressed comment in PR 2022-02-04 16:15:55 +01:00
martin
47798febed fetch and merge 2022-02-04 15:34:00 +01:00
Atemu
67b2503062 app/build.grade: androidxRoomVersion 2.3.0 -> 2.4.1
This version of Room includes a fix for building dependant apps such as NewPipe
on Apple Silicon devices (aarch64-darwin)
2022-02-04 09:56:56 +01:00
Atemu
3a9cdb28ab app/build.grade: compileSdk 30 -> 31
Required for newer versions of some dependencies
2022-02-03 13:59:41 +01:00
Stypox
d5cfcb28fc Merge branch 'dev' into pr2335 2022-01-24 10:25:07 +01:00
Stypox
40ea51e622 Add more checking frequencies, use DurationListPreference 2022-01-24 10:12:25 +01:00
litetex
0397a3120f Removed unused string 2022-01-05 15:55:55 +01:00
litetex
cc34734131 Refactored `initNotificationChannels` 2022-01-05 15:48:46 +01:00
litetex
6dcde96f85 Fixed some Sonarlint warnings 2022-01-05 15:31:55 +01:00
Stypox
ccbc3af964 Show error notification when new streams notifications failed 2021-12-31 20:04:56 +01:00
Stypox
cd95ec4e12 Merge branch 'dev' into pr2335 2021-12-31 19:20:18 +01:00
Stypox
fcd2d63df4 Don't show any channel notification thumbnail if it could not be loaded 2021-12-31 18:38:35 +01:00
Stypox
e68d49e7df Do not fetch all streams when disabling notifications for a channel 2021-12-31 18:34:02 +01:00
Martin
5134080f87 Merge branch 'TeamNewPipe:dev' into dev 2021-12-25 15:14:24 +01:00
Martin
3e44856d01 Merge branch 'TeamNewPipe:dev' into dev 2021-12-23 15:44:09 +01:00
Martin
bd1c0033eb Merge branch 'TeamNewPipe:dev' into dev 2021-12-22 10:47:13 +01:00
martin
5514616372 Change pitch by semitones 2021-12-21 18:17:48 +01:00
Stypox
01f3ed0e5e Fix loading icon in streams notifications 2021-12-12 20:18:16 +01:00
TobiGr
19fd7bc37e Reduce power consumption
Only schedule the chek for new streams if the user enaled the check. Cancel the worker when the user disables the notifications.
2021-12-10 23:52:37 +01:00
TobiGr
779d3dce6f Add app:singleLineTitle="false" to preferences 2021-12-08 21:14:32 +01:00
TobiGr
3ade2bb6ec Merge remote-tracking branch 'origin/dev' into notifications 2021-12-07 17:29:37 +01:00
TobiGr
fd1155928e Fix deciding which streams are new 2021-11-30 23:31:44 +01:00
TobiGr
a8fe2d7e83 Fix "unsage use" warnings 2021-11-28 17:09:20 +01:00
TobiGr
8ce996e065 Only check for new streams of subscriptions with enabled notifications automatically 2021-11-21 22:53:10 +01:00
TobiGr
892a1df280 Merge remote-tracking branch 'origin/dev' into notifications-1 2021-11-21 22:15:09 +01:00
litetex
44fa98497f Update app/src/main/res/values/strings.xml
Co-authored-by: Stypox <stypox@pm.me>
2021-11-21 19:42:41 +01:00
litetex
cfd5d7ae35 Update app/src/main/res/values/strings.xml
Removed "-"

Co-authored-by: TiA4f8R <74829229+TiA4f8R@users.noreply.github.com>
2021-11-06 21:51:33 +01:00
litetex
7b4e5dd107 Reworked player-notfication
* Fixed ``release`` ``main_settings.xml``
* Renamed "Notification" to "Player-Notification" (also reset all translations)
2021-11-05 14:10:53 +01:00
litetex
1289b1a283 Code cleanup 2021-11-05 13:17:33 +01:00
ktprograms
2934841152 Enable play/pause with space key even when not in fullscreen player 2021-11-03 08:26:13 +08:00
litetex
5ae72d1ed2 Removed unknown/unused file 2021-11-03 00:11:44 +01:00
litetex
bc68836c8d Reworked menu_channel.xml 2021-11-02 23:59:48 +01:00
litetex
f0112a2de2 Added some lines to improve code-readability 2021-11-02 23:36:46 +01:00
litetex
94219b78e7 Fixed typos 2021-11-02 23:22:59 +01:00
litetex
0f4b6d7d9f Improved code readablity 2021-11-02 23:22:52 +01:00
litetex
58418bcf46 Improved code readability 2021-11-02 22:57:31 +01:00
litetex
e4cd52060c Reformatted code so that it's better readable 2021-11-02 22:48:49 +01:00
litetex
4f8552835e Better naming for a test class that does database migrations 2021-11-02 22:43:23 +01:00
litetex
707f2835a8 Restructured build.gradle/androidxWorkVersion 2021-11-02 22:26:05 +01:00
TobiGr
1130aba7ca Merge remote-tracking branch 'origin/dev' into notifications-1 2021-11-02 07:56:09 +01:00
ktprograms
34ab93c9bd Fix player controls not hiding if resumed from media button 2021-11-01 11:50:33 +08:00
TobiGr
2d2b96420f Add comments and improve code formatting 2021-10-25 15:06:18 +02:00
TobiGr
77aaa15082 Fix toggling the system's settings for app notification
Do not open the setting for a specific notification channel (Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS), but the settings for all notifications by the app (Settings.ACTION_APP_NOTIFICATION_SETTINGS)
2021-10-25 13:59:55 +02:00
TobiGr
80bf47493e Fix check wether the app's notifications are disabled via system settings
Add comments
Rename a few methods
2021-10-22 21:24:43 +02:00
TobiGr
7d4c7718aa comments & rename 2021-10-18 13:11:50 +02:00
TobiGr
793ff1a728 Add a few comments and rename a few methods 2021-10-15 20:57:54 +02:00
Tobi
4f7cdcce55 Update app/src/main/java/org/schabi/newpipe/fragments/list/channel/ChannelFragment.java
Co-authored-by: litetex <40789489+litetex@users.noreply.github.com>
2021-10-15 20:22:12 +02:00
TobiGr
64a7978c7f Rename NotificationMode.ENABLED_DEFAULT to NotificationMode.ENABLED 2021-10-15 19:59:06 +02:00
TobiGr
7c6140b331 Remove unused code 2021-10-15 19:57:31 +02:00
TobiGr
16d4a034e2 Merge remote-tracking branch 'origin/dev' into notifications 2021-10-14 21:15:43 +02:00
TobiGr
55c51ad49d Rename isStreamExist -> doesStreamExist 2021-10-11 23:20:52 +02:00
TobiGr
cea14c9d0d Merge remote-tracking branch 'origin/dev' into notifications-1 2021-10-11 16:37:49 +02:00
Koitharu
fb0473da39 Merge branch 'dev' of https://github.com/TeamNewPipe/NewPipe into feature/notifications 2021-09-20 07:26:01 +03:00
Koitharu
9d249904bd Toggle all subscriptions notification mode 2021-09-07 13:30:26 +03:00
Koitharu
111dc4963d Ignore feed update threshold when run from NotificationWorker 2021-09-07 13:30:26 +03:00
Koitharu
5a6d0455ec Migrate NotificationIcon to Picasso 2021-09-07 13:30:26 +03:00
Koitharu
a5b9fe4c35 Refactor FeedLoadService to use it within the notification worker 2021-09-07 13:30:26 +03:00
Koitharu
c95aec9da6 Fix database test 2021-09-07 13:30:25 +03:00
Koitharu
e0c674bc9e Move player notification settings into appearance section 2021-09-07 13:30:25 +03:00
Vasiliy
da9bd1d420 Notifications about new streams 2021-09-07 13:30:16 +03:00
1755 changed files with 47660 additions and 20361 deletions

View File

@@ -1,3 +1,5 @@
### Please do **not** open pull requests for *new features* now, as we are planning to rewrite large chunks of the code. Only bugfix PRs will be accepted. More details will be announced soon!
NewPipe contribution guidelines
===============================
@@ -22,6 +24,7 @@ You'll see *exactly* what is sent, be able to add **your comments**, and then se
* NewPipe is translated via [Weblate](https://hosted.weblate.org/projects/newpipe/strings/). Log in there with your GitHub account, or register.
* Add the language you want to translate if it is not there already: see [How to add a new language](https://github.com/TeamNewPipe/NewPipe/wiki/How-to-add-a-new-language-to-NewPipe) in the wiki.
* NewPipe uses the [PrettyTime](https://github.com/ocpsoft/prettytime) library to display localized versions of dates and times. It needs to be translated, too. Read [these instructions to add a new language](https://www.ocpsoft.org/prettytime/#section-14) and [this issue](https://github.com/TeamNewPipe/NewPipe/issues/9134) for more info.
## Code contribution
@@ -68,7 +71,7 @@ The [checkStyle](https://github.com/checkstyle/checkstyle) plugin verifies that
- Go to `File -> Settings -> Plugins`, search for `checkstyle` and install `CheckStyle-IDEA`.
- Go to `File -> Settings -> Tools -> Checkstyle`.
- Add NewPipe's configuration file by clicking the `+` in the right toolbar of the "Configuration File" list.
- Under the "Use a local Checkstyle file" bullet, click on `Browse` and pick the file named `checkstyle.xml` in the project's root folder.
- Under the "Use a local Checkstyle file" bullet, click on `Browse` and, enter `checkstyle` folder under the project's root path and pick the file named `checkstyle.xml`.
- Enable "Store relative to project location" so that moving the directory around does not create issues.
- Insert a description in the top bar, then click `Next` and then `Finish`.
- Activate the configuration file you just added by enabling the checkbox on the left.

View File

@@ -5,7 +5,7 @@ body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this issue! :hugs:
Thanks for taking the time to fill out this form! :hugs:
Note that you can also ask questions on our [IRC channel](https://web.libera.chat/#newpipe).
@@ -14,7 +14,9 @@ body:
attributes:
label: "Checklist"
options:
- 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."
- label: "I made sure that there are *no existing issues or discussions* - [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."
required: true
- label: "I have read the [FAQ](https://newpipe.net/FAQ/) and my question isn't listed."
required: true
- label: "I have taken the time to fill in all the required details. I understand that the question will be dismissed otherwise."
required: true
@@ -27,7 +29,7 @@ body:
label: What is/are your question(s)?
validations:
required: true
- type: textarea
id: additional-information
attributes:

View File

@@ -1,6 +1,6 @@
name: Bug report
description: Create a bug report to help us improve
labels: [bug]
labels: [bug, needs triage]
body:
- type: markdown
attributes:
@@ -18,6 +18,8 @@ body:
required: true
- 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."
required: true
- label: "I have read the [FAQ](https://newpipe.net/FAQ/) and my problem isn't listed."
required: true
- label: "I have taken the time to fill in all the required details. I understand that the bug report will be dismissed otherwise."
required: true
- label: "This issue contains only one bug."
@@ -40,7 +42,7 @@ body:
label: Steps to reproduce the bug
description: |
What did you do for the bug to show up?
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.
placeholder: |
1. Go to '...'
@@ -69,11 +71,11 @@ body:
label: Screenshots/Screen recordings
description: |
A picture or video is worth a thousand words.
If applicable, add screenshots or a screen recording to help explain your problem.
GitHub supports uploading them directly in the text box.
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.
:heavy_exclamation_mark: DON'T POST SCREENSHOTS OF THE ERROR PAGE.
Instead, follow the instructions in the "Logs" section below.

View File

@@ -1,5 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: ❓ Question
url: https://github.com/TeamNewPipe/NewPipe/discussions/new?category=questions
about: Ask about anything NewPipe-related
- name: 💬 IRC
url: https://web.libera.chat/#newpipe
about: Chat with us via IRC for quick Q/A

View File

@@ -1,6 +1,6 @@
name: Feature request
description: Suggest an idea for this project
labels: [enhancement]
labels: [feature request, needs triage]
body:
- type: markdown
attributes:
@@ -8,7 +8,6 @@ body:
Thank you for helping to make NewPipe better by suggesting a feature. :hugs:
Your ideas are highly welcome! The app is made for you, the users, after all.
- type: checkboxes
id: checklist
attributes:
@@ -16,6 +15,8 @@ body:
options:
- 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."
required: true
- label: "I have read the [FAQ](https://newpipe.net/FAQ/) and my problem isn't listed."
required: true
- 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)."
required: true
- label: "I have taken the time to fill in all the required details. I understand that the feature request will be dismissed otherwise."
@@ -43,7 +44,7 @@ body:
Describe any problem or limitation you come across while using the app which would be solved by this feature.
validations:
required: true
- type: textarea
id: additional-information
attributes:

View File

@@ -25,10 +25,10 @@
<!-- Delete this if it doesn't apply to your PR. -->
-
#### APK testing
#### APK testing
<!-- 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".) -->
<!-- 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.-->
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.
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. You can find more info and a video demonstration [on this wiki page](https://github.com/TeamNewPipe/NewPipe/wiki/Download-APK-for-PR).
#### Due diligence
- [ ] I read the [contribution guidelines](https://github.com/TeamNewPipe/NewPipe/blob/HEAD/.github/CONTRIBUTING.md).

View File

@@ -6,6 +6,7 @@ on:
branches:
- dev
- master
- release**
paths-ignore:
- 'README.md'
- 'doc/**'
@@ -30,19 +31,25 @@ on:
jobs:
build-and-test-jvm:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- uses: gradle/wrapper-validation-action@v1
- name: create and checkout branch
# push events already checked out the branch
if: github.event_name == 'pull_request'
run: git checkout -B ${{ github.head_ref }}
env:
BRANCH: ${{ github.head_ref }}
run: git checkout -B "$BRANCH"
- name: set up JDK 11
uses: actions/setup-java@v2
- name: set up JDK 17
uses: actions/setup-java@v3
with:
java-version: 11
java-version: 17
distribution: "temurin"
cache: 'gradle'
@@ -50,7 +57,7 @@ jobs:
run: ./gradlew assembleDebug lintDebug testDebugUnitTest --stacktrace -DskipFormatKtlint
- name: Upload APK
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: app
path: app/build/outputs/apk/debug/*.apk
@@ -61,15 +68,24 @@ jobs:
timeout-minutes: 20
strategy:
matrix:
# api-level 19 is min sdk, but throws errors related to desugaring
api-level: [ 21, 29 ]
steps:
- uses: actions/checkout@v2
include:
- api-level: 21
target: default
arch: x86
- api-level: 33
target: google_apis # emulator API 33 only exists with Google APIs
arch: x86_64
- name: set up JDK 11
uses: actions/setup-java@v2
permissions:
contents: read
steps:
- uses: actions/checkout@v3
- name: set up JDK 17
uses: actions/setup-java@v3
with:
java-version: 11
java-version: 17
distribution: "temurin"
cache: 'gradle'
@@ -77,12 +93,12 @@ jobs:
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: ${{ matrix.api-level }}
# workaround to emulator bug: https://github.com/ReactiveCircus/android-emulator-runner/issues/160
emulator-build: 7425822
target: ${{ matrix.target }}
arch: ${{ matrix.arch }}
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@v2
uses: actions/upload-artifact@v3
if: failure()
with:
name: android-test-report-api${{ matrix.api-level }}
@@ -90,20 +106,24 @@ jobs:
sonar:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Set up JDK 11
uses: actions/setup-java@v2
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: 11 # Sonar requires JDK 11
java-version: 17
distribution: "temurin"
cache: 'gradle'
- name: Cache SonarCloud packages
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
@@ -113,4 +133,4 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: ./gradlew build sonarqube --info
run: ./gradlew build sonar --info

View File

@@ -17,6 +17,8 @@ module.exports = async ({github, context}) => {
initialBody = context.payload.comment.body;
} else if (context.eventName == 'issues') {
initialBody = context.payload.issue.body;
} else if (context.eventName == 'pull_request') {
initialBody = context.payload.pull_request.body;
} else {
console.log('Aborting: No body found');
return;
@@ -30,10 +32,12 @@ module.exports = async ({github, context}) => {
}
// Regex for finding images (simple variant) ![ALT_TEXT](https://*.githubusercontent.com/<number>/<variousHexStringsAnd->.<fileExtension>)
const REGEX_IMAGE_LOOKUP = /\!\[(.*)\]\((https:\/\/[-a-z0-9]+\.githubusercontent\.com\/\d+\/[-0-9a-f]{32,512}\.(jpg|gif|png))\)/gm;
const REGEX_USER_CONTENT_IMAGE_LOOKUP = /\!\[(.*)\]\((https:\/\/[-a-z0-9]+\.githubusercontent\.com\/\d+\/[-0-9a-f]{32,512}\.(jpg|gif|png))\)/gm;
const REGEX_ASSETS_IMAGE_LOCKUP = /\!\[(.*)\]\((https:\/\/github\.com\/[-\w\d]+\/[-\w\d]+\/assets\/\d+\/[\-0-9a-f]{32,512})\)/gm;
// Check if we found something
let foundSimpleImages = REGEX_IMAGE_LOOKUP.test(initialBody);
let foundSimpleImages = REGEX_USER_CONTENT_IMAGE_LOOKUP.test(initialBody)
|| REGEX_ASSETS_IMAGE_LOCKUP.test(initialBody);
if (!foundSimpleImages) {
console.log('Found no simple images to process');
return;
@@ -47,51 +51,8 @@ module.exports = async ({github, context}) => {
var wasMatchModified = false;
// Try to find and replace the images with minimized ones
let newBody = await replaceAsync(initialBody, REGEX_IMAGE_LOOKUP, async (match, g1, g2) => {
console.log(`Found match '${match}'`);
if (g1.endsWith(IGNORE_ALT_NAME_END)) {
console.log(`Ignoring match '${match}': IGNORE_ALT_NAME_END`);
return match;
}
let shouldModify = false;
try {
console.log(`Probing ${g2}`);
let probeResult = await probe(g2);
if (probeResult == null) {
throw 'No probeResult';
}
if (probeResult.hUnits != 'px') {
throw `Unexpected probeResult.hUnits (expected px but got ${probeResult.hUnits})`;
}
if (probeResult.height <= 0) {
throw `Unexpected probeResult.height (height is invalid: ${probeResult.height})`;
}
if (probeResult.wUnits != 'px') {
throw `Unexpected probeResult.wUnits (expected px but got ${probeResult.wUnits})`;
}
if (probeResult.width <= 0) {
throw `Unexpected probeResult.width (width is invalid: ${probeResult.width})`;
}
console.log(`Probing resulted in ${probeResult.width}x${probeResult.height}px`);
shouldModify = probeResult.height > IMG_MAX_HEIGHT_PX && (probeResult.width / probeResult.height) < MIN_ASPECT_RATIO;
} catch(e) {
console.log('Probing failed:', e);
// Immediately abort
return match;
}
if (shouldModify) {
wasMatchModified = true;
console.log(`Modifying match '${match}'`);
return `<img alt="${g1}" src="${g2}" height=${IMG_MAX_HEIGHT_PX} />`;
}
console.log(`Match '${match}' is ok/will not be modified`);
return match;
});
let newBody = await replaceAsync(initialBody, REGEX_USER_CONTENT_IMAGE_LOOKUP, minimizeAsync);
newBody = await replaceAsync(newBody, REGEX_ASSETS_IMAGE_LOCKUP, minimizeAsync);
if (!wasMatchModified) {
console.log('Nothing was modified. Skipping update');
@@ -115,6 +76,14 @@ module.exports = async ({github, context}) => {
repo: context.repo.repo,
body: newBody
});
} else if (context.eventName == 'pull_request') {
console.log('Updating pull request', context.payload.pull_request.number);
await github.rest.pulls.update({
pull_number: context.payload.pull_request.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: newBody
});
}
// Asnyc replace function from https://stackoverflow.com/a/48032528
@@ -127,4 +96,52 @@ module.exports = async ({github, context}) => {
const data = await Promise.all(promises);
return str.replace(regex, () => data.shift());
}
async function minimizeAsync(match, g1, g2) {
console.log(`Found match '${match}'`);
if (g1.endsWith(IGNORE_ALT_NAME_END)) {
console.log(`Ignoring match '${match}': IGNORE_ALT_NAME_END`);
return match;
}
let probeAspectRatio = 0;
let shouldModify = false;
try {
console.log(`Probing ${g2}`);
let probeResult = await probe(g2);
if (probeResult == null) {
throw 'No probeResult';
}
if (probeResult.hUnits != 'px') {
throw `Unexpected probeResult.hUnits (expected px but got ${probeResult.hUnits})`;
}
if (probeResult.height <= 0) {
throw `Unexpected probeResult.height (height is invalid: ${probeResult.height})`;
}
if (probeResult.wUnits != 'px') {
throw `Unexpected probeResult.wUnits (expected px but got ${probeResult.wUnits})`;
}
if (probeResult.width <= 0) {
throw `Unexpected probeResult.width (width is invalid: ${probeResult.width})`;
}
console.log(`Probing resulted in ${probeResult.width}x${probeResult.height}px`);
probeAspectRatio = probeResult.width / probeResult.height;
shouldModify = probeResult.height > IMG_MAX_HEIGHT_PX && probeAspectRatio < MIN_ASPECT_RATIO;
} catch(e) {
console.log('Probing failed:', e);
// Immediately abort
return match;
}
if (shouldModify) {
wasMatchModified = true;
console.log(`Modifying match '${match}'`);
return `<img alt="${g1}" src="${g2}" width=${Math.min(600, (IMG_MAX_HEIGHT_PX * probeAspectRatio).toFixed(0))} />`;
}
console.log(`Match '${match}' is ok/will not be modified`);
return match;
}
}

View File

@@ -5,15 +5,21 @@ on:
types: [created, edited]
issues:
types: [opened, edited]
pull_request:
types: [opened, edited]
permissions:
issues: write
pull-requests: write
jobs:
try-minimize:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- uses: actions/setup-node@v2
- uses: actions/setup-node@v3
with:
node-version: 16
@@ -21,7 +27,7 @@ jobs:
run: npm i probe-image-size@7.2.3 --ignore-scripts
- name: Minimize simple images
uses: actions/github-script@v5
uses: actions/github-script@v6
timeout-minutes: 3
with:
script: |

View File

@@ -9,6 +9,10 @@ on:
# Run daily at midnight.
- cron: '0 0 * * *'
permissions:
issues: write
pull-requests: write
jobs:
noResponse:
runs-on: ubuntu-latest
@@ -17,4 +21,4 @@ jobs:
with:
token: ${{ github.token }}
daysUntilClose: 14
responseRequiredLabel: waiting-for-author
responseRequiredLabel: waiting for author

View File

@@ -1,7 +1,7 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -645,7 +645,7 @@ the "copyright" line and a pointer to where the full notice is found.
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
@@ -664,11 +664,11 @@ might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
<https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
<https://www.gnu.org/licenses/why-not-lgpl.html>.

157
README.md

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -1,36 +1,18 @@
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in /home/the-scrabi/bin/Android/Sdk/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# Add any project specific keep options here:
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# https://developer.android.com/build/shrink-code
## Helps debug release versions
-dontobfuscate
## Rules for NewPipeExtractor
-keep class org.schabi.newpipe.extractor.timeago.patterns.** { *; }
-keep class org.ocpsoft.prettytime.i18n.** { *; }
-keep class org.mozilla.javascript.** { *; }
-keep class org.mozilla.classfile.ClassFileWriter
-dontwarn org.mozilla.javascript.tools.**
## Rules for ExoPlayer
-keep class com.google.android.exoplayer2.** { *; }
-dontwarn org.mozilla.javascript.tools.**
-dontwarn android.arch.util.paging.CountedDataSource
-dontwarn android.arch.persistence.room.paging.LimitOffsetDataSource
# Rules for icepick. Copy paste from https://github.com/frankiesardo/icepick
## Rules for Icepick. Copy pasted from https://github.com/frankiesardo/icepick
-dontwarn icepick.**
-keep class icepick.** { *; }
-keep class **$$Icepick { *; }
@@ -39,15 +21,17 @@
}
-keepnames class * { @icepick.State *;}
# Rules for OkHttp. Copy paste from https://github.com/square/okhttp
## Rules for OkHttp. Copy pasted from https://github.com/square/okhttp
-dontwarn okhttp3.**
-dontwarn okio.**
-dontwarn javax.annotation.**
# A resource is loaded with a relative path so the package of this class must be preserved.
-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase
## See https://github.com/TeamNewPipe/NewPipe/pull/1441
-keepclassmembers class * implements java.io.Serializable {
static final long serialVersionUID;
!static !transient <fields>;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
}
## For some reason NotificationModeConfigFragment wasn't kept (only referenced in a preference xml)
-keep class org.schabi.newpipe.settings.notifications.** { *; }

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,153 @@
package org.schabi.newpipe.database
import android.content.ContentValues
import android.database.sqlite.SQLiteDatabase
import androidx.room.Room
import androidx.room.testing.MigrationTestHelper
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.platform.app.InstrumentationRegistry
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNull
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.schabi.newpipe.extractor.stream.StreamType
@RunWith(AndroidJUnit4::class)
class DatabaseMigrationTest {
companion object {
private const val DEFAULT_SERVICE_ID = 0
private const val DEFAULT_URL = "https://www.youtube.com/watch?v=cDphUib5iG4"
private const val DEFAULT_TITLE = "Test Title"
private val DEFAULT_TYPE = StreamType.VIDEO_STREAM
private const val DEFAULT_DURATION = 480L
private const val DEFAULT_UPLOADER_NAME = "Uploader Test"
private const val DEFAULT_THUMBNAIL = "https://example.com/example.jpg"
private const val DEFAULT_SECOND_SERVICE_ID = 0
private const val DEFAULT_SECOND_URL = "https://www.youtube.com/watch?v=ncQU6iBn5Fc"
}
@get:Rule
val testHelper = MigrationTestHelper(
InstrumentationRegistry.getInstrumentation(),
AppDatabase::class.java
)
@Test
fun migrateDatabaseFrom2to3() {
val databaseInV2 = testHelper.createDatabase(AppDatabase.DATABASE_NAME, Migrations.DB_VER_2)
databaseInV2.run {
insert(
"streams",
SQLiteDatabase.CONFLICT_FAIL,
ContentValues().apply {
put("service_id", DEFAULT_SERVICE_ID)
put("url", DEFAULT_URL)
put("title", DEFAULT_TITLE)
put("stream_type", DEFAULT_TYPE.name)
put("duration", DEFAULT_DURATION)
put("uploader", DEFAULT_UPLOADER_NAME)
put("thumbnail_url", DEFAULT_THUMBNAIL)
}
)
insert(
"streams",
SQLiteDatabase.CONFLICT_FAIL,
ContentValues().apply {
put("service_id", DEFAULT_SECOND_SERVICE_ID)
put("url", DEFAULT_SECOND_URL)
}
)
insert(
"streams",
SQLiteDatabase.CONFLICT_FAIL,
ContentValues().apply {
put("service_id", DEFAULT_SERVICE_ID)
}
)
close()
}
testHelper.runMigrationsAndValidate(
AppDatabase.DATABASE_NAME,
Migrations.DB_VER_3,
true,
Migrations.MIGRATION_2_3
)
testHelper.runMigrationsAndValidate(
AppDatabase.DATABASE_NAME,
Migrations.DB_VER_4,
true,
Migrations.MIGRATION_3_4
)
testHelper.runMigrationsAndValidate(
AppDatabase.DATABASE_NAME,
Migrations.DB_VER_5,
true,
Migrations.MIGRATION_4_5
)
testHelper.runMigrationsAndValidate(
AppDatabase.DATABASE_NAME,
Migrations.DB_VER_6,
true,
Migrations.MIGRATION_5_6
)
testHelper.runMigrationsAndValidate(
AppDatabase.DATABASE_NAME,
Migrations.DB_VER_7,
true,
Migrations.MIGRATION_6_7
)
val migratedDatabaseV3 = getMigratedDatabase()
val listFromDB = migratedDatabaseV3.streamDAO().all.blockingFirst()
// Only expect 2, the one with the null url will be ignored
assertEquals(2, listFromDB.size)
val streamFromMigratedDatabase = listFromDB[0]
assertEquals(DEFAULT_SERVICE_ID, streamFromMigratedDatabase.serviceId)
assertEquals(DEFAULT_URL, streamFromMigratedDatabase.url)
assertEquals(DEFAULT_TITLE, streamFromMigratedDatabase.title)
assertEquals(DEFAULT_TYPE, streamFromMigratedDatabase.streamType)
assertEquals(DEFAULT_DURATION, streamFromMigratedDatabase.duration)
assertEquals(DEFAULT_UPLOADER_NAME, streamFromMigratedDatabase.uploader)
assertEquals(DEFAULT_THUMBNAIL, streamFromMigratedDatabase.thumbnailUrl)
assertNull(streamFromMigratedDatabase.viewCount)
assertNull(streamFromMigratedDatabase.textualUploadDate)
assertNull(streamFromMigratedDatabase.uploadDate)
assertNull(streamFromMigratedDatabase.isUploadDateApproximation)
val secondStreamFromMigratedDatabase = listFromDB[1]
assertEquals(DEFAULT_SECOND_SERVICE_ID, secondStreamFromMigratedDatabase.serviceId)
assertEquals(DEFAULT_SECOND_URL, secondStreamFromMigratedDatabase.url)
assertEquals("", secondStreamFromMigratedDatabase.title)
// Should fallback to VIDEO_STREAM
assertEquals(StreamType.VIDEO_STREAM, secondStreamFromMigratedDatabase.streamType)
assertEquals(0, secondStreamFromMigratedDatabase.duration)
assertEquals("", secondStreamFromMigratedDatabase.uploader)
assertEquals("", secondStreamFromMigratedDatabase.thumbnailUrl)
assertNull(secondStreamFromMigratedDatabase.viewCount)
assertNull(secondStreamFromMigratedDatabase.textualUploadDate)
assertNull(secondStreamFromMigratedDatabase.uploadDate)
assertNull(secondStreamFromMigratedDatabase.isUploadDateApproximation)
}
private fun getMigratedDatabase(): AppDatabase {
val database: AppDatabase = Room.databaseBuilder(
ApplicationProvider.getApplicationContext(),
AppDatabase::class.java,
AppDatabase.DATABASE_NAME
)
.build()
testHelper.closeWhenFinished(database)
return database
}
}

View File

@@ -0,0 +1,119 @@
package org.schabi.newpipe.local.subscription;
import static org.junit.Assert.assertEquals;
import androidx.test.core.app.ApplicationProvider;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.schabi.newpipe.database.AppDatabase;
import org.schabi.newpipe.database.feed.model.FeedGroupEntity;
import org.schabi.newpipe.database.stream.model.StreamEntity;
import org.schabi.newpipe.database.subscription.SubscriptionEntity;
import org.schabi.newpipe.extractor.channel.ChannelInfo;
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
import org.schabi.newpipe.extractor.localization.DateWrapper;
import org.schabi.newpipe.extractor.stream.StreamInfoItem;
import org.schabi.newpipe.extractor.stream.StreamType;
import org.schabi.newpipe.testUtil.TestDatabase;
import org.schabi.newpipe.testUtil.TrampolineSchedulerRule;
import java.io.IOException;
import java.time.OffsetDateTime;
import java.util.Comparator;
import java.util.List;
public class SubscriptionManagerTest {
private AppDatabase database;
private SubscriptionManager manager;
@Rule
public TrampolineSchedulerRule trampolineScheduler = new TrampolineSchedulerRule();
private SubscriptionEntity getAssertOneSubscriptionEntity() {
final List<SubscriptionEntity> entities = manager
.getSubscriptions(FeedGroupEntity.GROUP_ALL_ID, "", false)
.blockingFirst();
assertEquals(1, entities.size());
return entities.get(0);
}
@Before
public void setup() {
database = TestDatabase.Companion.createReplacingNewPipeDatabase();
manager = new SubscriptionManager(ApplicationProvider.getApplicationContext());
}
@After
public void cleanUp() {
database.close();
}
@Test
public void testInsert() throws ExtractionException, IOException {
final ChannelInfo info = ChannelInfo.getInfo("https://www.youtube.com/c/3blue1brown");
final SubscriptionEntity subscription = SubscriptionEntity.from(info);
manager.insertSubscription(subscription, info);
final SubscriptionEntity readSubscription = getAssertOneSubscriptionEntity();
// the uid has changed, since the uid is chosen upon inserting, but the rest should match
assertEquals(subscription.getServiceId(), readSubscription.getServiceId());
assertEquals(subscription.getUrl(), readSubscription.getUrl());
assertEquals(subscription.getName(), readSubscription.getName());
assertEquals(subscription.getAvatarUrl(), readSubscription.getAvatarUrl());
assertEquals(subscription.getSubscriberCount(), readSubscription.getSubscriberCount());
assertEquals(subscription.getDescription(), readSubscription.getDescription());
}
@Test
public void testUpdateNotificationMode() throws ExtractionException, IOException {
final ChannelInfo info = ChannelInfo.getInfo("https://www.youtube.com/c/veritasium");
final SubscriptionEntity subscription = SubscriptionEntity.from(info);
subscription.setNotificationMode(0);
manager.insertSubscription(subscription, info);
manager.updateNotificationMode(subscription.getServiceId(), subscription.getUrl(), 1)
.blockingAwait();
final SubscriptionEntity anotherSubscription = getAssertOneSubscriptionEntity();
assertEquals(0, subscription.getNotificationMode());
assertEquals(subscription.getUrl(), anotherSubscription.getUrl());
assertEquals(1, anotherSubscription.getNotificationMode());
}
@Test
public void testRememberRecentStreams() throws ExtractionException, IOException {
final ChannelInfo info = ChannelInfo.getInfo("https://www.youtube.com/c/Polyphia");
final List<StreamInfoItem> relatedItems = List.of(
new StreamInfoItem(0, "a", "b", StreamType.VIDEO_STREAM),
new StreamInfoItem(1, "c", "d", StreamType.AUDIO_STREAM),
new StreamInfoItem(2, "e", "f", StreamType.AUDIO_LIVE_STREAM),
new StreamInfoItem(3, "g", "h", StreamType.LIVE_STREAM));
relatedItems.forEach(item -> {
// these two fields must be non-null for the insert to succeed
item.setUploaderUrl(info.getUrl());
item.setUploaderName(info.getName());
// the upload date must not be too much in the past for the item to actually be inserted
item.setUploadDate(new DateWrapper(OffsetDateTime.now()));
});
info.setRelatedItems(relatedItems);
final SubscriptionEntity subscription = SubscriptionEntity.from(info);
manager.insertSubscription(subscription, info);
final List<StreamEntity> streams = database.streamDAO().getAll().blockingFirst();
assertEquals(4, streams.size());
streams.sort(Comparator.comparing(StreamEntity::getServiceId));
for (int i = 0; i < 4; i++) {
assertEquals(relatedItems.get(0).getServiceId(), streams.get(0).getServiceId());
assertEquals(relatedItems.get(0).getUrl(), streams.get(0).getUrl());
assertEquals(relatedItems.get(0).getName(), streams.get(0).getTitle());
assertEquals(relatedItems.get(0).getStreamType(), streams.get(0).getStreamType());
}
}
}

View File

@@ -0,0 +1,206 @@
package org.schabi.newpipe.util
import android.content.Context
import android.view.View
import android.view.View.GONE
import android.view.View.INVISIBLE
import android.view.View.VISIBLE
import android.widget.Spinner
import androidx.collection.SparseArrayCompat
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import androidx.test.internal.runner.junit4.statement.UiThreadStatement
import org.junit.Assert
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.schabi.newpipe.R
import org.schabi.newpipe.extractor.MediaFormat
import org.schabi.newpipe.extractor.stream.AudioStream
import org.schabi.newpipe.extractor.stream.Stream
import org.schabi.newpipe.extractor.stream.SubtitlesStream
import org.schabi.newpipe.extractor.stream.VideoStream
@MediumTest
@RunWith(AndroidJUnit4::class)
class StreamItemAdapterTest {
private lateinit var context: Context
private lateinit var spinner: Spinner
@Before
fun setUp() {
context = ApplicationProvider.getApplicationContext()
UiThreadStatement.runOnUiThread {
spinner = Spinner(context)
}
}
@Test
fun videoStreams_noSecondaryStream() {
val adapter = StreamItemAdapter<VideoStream, AudioStream>(
getVideoStreams(true, true, true, true)
)
spinner.adapter = adapter
assertIconVisibility(spinner, 0, VISIBLE, VISIBLE)
assertIconVisibility(spinner, 1, VISIBLE, VISIBLE)
assertIconVisibility(spinner, 2, VISIBLE, VISIBLE)
assertIconVisibility(spinner, 3, VISIBLE, VISIBLE)
}
@Test
fun videoStreams_hasSecondaryStream() {
val adapter = StreamItemAdapter(
getVideoStreams(false, true, false, true),
getAudioStreams(false, true, false, true)
)
spinner.adapter = adapter
assertIconVisibility(spinner, 0, GONE, GONE)
assertIconVisibility(spinner, 1, GONE, GONE)
assertIconVisibility(spinner, 2, GONE, GONE)
assertIconVisibility(spinner, 3, GONE, GONE)
}
@Test
fun videoStreams_Mixed() {
val adapter = StreamItemAdapter(
getVideoStreams(true, true, true, true, true, false, true, true),
getAudioStreams(false, true, false, false, false, true, true, true)
)
spinner.adapter = adapter
assertIconVisibility(spinner, 0, VISIBLE, VISIBLE)
assertIconVisibility(spinner, 1, GONE, INVISIBLE)
assertIconVisibility(spinner, 2, VISIBLE, VISIBLE)
assertIconVisibility(spinner, 3, VISIBLE, VISIBLE)
assertIconVisibility(spinner, 4, VISIBLE, VISIBLE)
assertIconVisibility(spinner, 5, GONE, INVISIBLE)
assertIconVisibility(spinner, 6, GONE, INVISIBLE)
assertIconVisibility(spinner, 7, GONE, INVISIBLE)
}
@Test
fun subtitleStreams_noIcon() {
val adapter = StreamItemAdapter<SubtitlesStream, Stream>(
StreamItemAdapter.StreamSizeWrapper(
(0 until 5).map {
SubtitlesStream.Builder()
.setContent("https://example.com", true)
.setMediaFormat(MediaFormat.SRT)
.setLanguageCode("pt-BR")
.setAutoGenerated(false)
.build()
},
context
)
)
spinner.adapter = adapter
for (i in 0 until spinner.count) {
assertIconVisibility(spinner, i, GONE, GONE)
}
}
@Test
fun audioStreams_noIcon() {
val adapter = StreamItemAdapter<AudioStream, Stream>(
StreamItemAdapter.StreamSizeWrapper(
(0 until 5).map {
AudioStream.Builder()
.setId(Stream.ID_UNKNOWN)
.setContent("https://example.com/$it", true)
.setMediaFormat(MediaFormat.OPUS)
.setAverageBitrate(192)
.build()
},
context
)
)
spinner.adapter = adapter
for (i in 0 until spinner.count) {
assertIconVisibility(spinner, i, GONE, GONE)
}
}
/**
* @return a list of video streams, in which their video only property mirrors the provided
* [videoOnly] vararg.
*/
private fun getVideoStreams(vararg videoOnly: Boolean) =
StreamItemAdapter.StreamSizeWrapper(
videoOnly.map {
VideoStream.Builder()
.setId(Stream.ID_UNKNOWN)
.setContent("https://example.com", true)
.setMediaFormat(MediaFormat.MPEG_4)
.setResolution("720p")
.setIsVideoOnly(it)
.build()
},
context
)
/**
* @return a list of audio streams, containing valid and null elements mirroring the provided
* [shouldBeValid] vararg.
*/
private fun getAudioStreams(vararg shouldBeValid: Boolean) =
getSecondaryStreamsFromList(
shouldBeValid.map {
if (it) {
AudioStream.Builder()
.setId(Stream.ID_UNKNOWN)
.setContent("https://example.com", true)
.setMediaFormat(MediaFormat.OPUS)
.setAverageBitrate(192)
.build()
} else {
null
}
}
)
/**
* Checks whether the item at [position] in the [spinner] has the correct icon visibility when
* it is shown in normal mode (selected) and in dropdown mode (user is choosing one of a list).
*/
private fun assertIconVisibility(
spinner: Spinner,
position: Int,
normalVisibility: Int,
dropDownVisibility: Int
) {
spinner.setSelection(position)
spinner.adapter.getView(position, null, spinner).run {
Assert.assertEquals(
"normal visibility (pos=[$position]) is not correct",
findViewById<View>(R.id.wo_sound_icon).visibility,
normalVisibility,
)
}
spinner.adapter.getDropDownView(position, null, spinner).run {
Assert.assertEquals(
"drop down visibility (pos=[$position]) is not correct",
findViewById<View>(R.id.wo_sound_icon).visibility,
dropDownVisibility
)
}
}
/**
* Helper function that builds a secondary stream list.
*/
private fun <T : Stream> getSecondaryStreamsFromList(streams: List<T?>) =
SparseArrayCompat<SecondaryStreamHelper<T>?>(streams.size).apply {
streams.forEachIndexed { index, stream ->
val secondaryStreamHelper: SecondaryStreamHelper<T>? = stream?.let {
SecondaryStreamHelper(
StreamItemAdapter.StreamSizeWrapper(streams, context),
it
)
}
put(index, secondaryStreamHelper)
}
}
}

View File

@@ -1,8 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="org.schabi.newpipe">
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<application
android:name=".DebugApp"

View File

@@ -3,7 +3,6 @@ package org.schabi.newpipe
import androidx.preference.PreferenceManager
import com.facebook.stetho.Stetho
import com.facebook.stetho.okhttp3.StethoInterceptor
import leakcanary.AppWatcher
import leakcanary.LeakCanary
import okhttp3.OkHttpClient
import org.schabi.newpipe.extractor.downloader.Downloader
@@ -13,8 +12,6 @@ class DebugApp : App() {
super.onCreate()
initStetho()
// Give each object 10 seconds to be GC'ed, before LeakCanary gets nosy on it
AppWatcher.config = AppWatcher.config.copy(watchDurationMillis = 10000)
LeakCanary.config = LeakCanary.config.copy(
dumpHeap = PreferenceManager
.getDefaultSharedPreferences(this).getBoolean(

View File

@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="org.schabi.newpipe"
android:installLocation="auto">
<uses-permission android:name="android.permission.INTERNET" />
@@ -10,10 +9,22 @@
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<!-- We need to be able to open links in the browser on API 30+ -->
<queries>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="http" />
</intent>
</queries>
<uses-feature
android:name="android.hardware.touchscreen"
android:required="false" />
<uses-feature
android:name="android.software.leanback"
android:required="false" />
<application
android:name=".App"
@@ -22,11 +33,12 @@
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:logo="@mipmap/ic_launcher"
android:theme="@style/OpeningTheme"
android:resizeableActivity="true"
android:theme="@style/OpeningTheme"
tools:ignore="AllowBackup">
<activity
android:name=".MainActivity"
android:exported="true"
android:label="@string/app_name"
android:launchMode="singleTask">
<intent-filter>
@@ -37,15 +49,17 @@
</intent-filter>
</activity>
<receiver android:name="androidx.media.session.MediaButtonReceiver">
<receiver
android:name="androidx.media.session.MediaButtonReceiver"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MEDIA_BUTTON" />
</intent-filter>
</receiver>
<service
android:name=".player.MainPlayer"
android:exported="false"
android:name=".player.PlayerService"
android:exported="true"
android:foregroundServiceType="mediaPlayback">
<intent-filter>
<action android:name="android.intent.action.MEDIA_BUTTON" />
@@ -54,15 +68,18 @@
<activity
android:name=".player.PlayQueueActivity"
android:exported="false"
android:label="@string/title_activity_play_queue"
android:launchMode="singleTask" />
<activity
android:name=".settings.SettingsActivity"
android:exported="false"
android:label="@string/settings" />
<activity
android:name=".about.AboutActivity"
android:exported="false"
android:label="@string/title_activity_about" />
<service android:name=".local.subscription.services.SubscriptionsImportService" />
@@ -71,6 +88,7 @@
<activity
android:name=".PanicResponderActivity"
android:exported="true"
android:launchMode="singleInstance"
android:noHistory="true"
android:theme="@android:style/Theme.NoDisplay">
@@ -83,13 +101,18 @@
<activity
android:name=".ExitActivity"
android:exported="false"
android:label="@string/general_error"
android:theme="@android:style/Theme.NoDisplay" />
<activity android:name=".error.ErrorActivity" />
<activity
android:name=".error.ErrorActivity"
android:exported="false" />
<!-- giga get related -->
<activity
android:name=".download.DownloadActivity"
android:exported="false"
android:label="@string/app_name"
android:launchMode="singleTask" />
@@ -97,6 +120,7 @@
<activity
android:name=".util.FilePickerActivityHelper"
android:exported="true"
android:label="@string/app_name"
android:theme="@style/FilePickerThemeDark">
<intent-filter>
@@ -107,6 +131,7 @@
<activity
android:name=".error.ReCaptchaActivity"
android:exported="false"
android:label="@string/recaptcha" />
<provider
@@ -122,6 +147,7 @@
<activity
android:name=".RouterActivity"
android:excludeFromRecents="true"
android:exported="true"
android:label="@string/preferred_open_action_share_menu_title"
android:taskAffinity=""
android:theme="@style/RouterActivityThemeDark">
@@ -147,10 +173,12 @@
<data android:pathPrefix="/watch" />
<data android:pathPrefix="/attribution_link" />
<data android:pathPrefix="/shorts/" />
<data android:pathPrefix="/live/" />
<!-- channel prefix -->
<data android:pathPrefix="/channel/" />
<data android:pathPrefix="/user/" />
<data android:pathPrefix="/c/" />
<data android:pathPrefix="/@" />
<!-- playlist prefix -->
<data android:pathPrefix="/playlist" />
</intent-filter>
@@ -329,16 +357,16 @@
<data android:host="eduvid.org" />
<data android:host="framatube.org" />
<data android:host="media.assassinate-you.net" />
<data android:host="media.fsfe.org" />
<data android:host="peertube.co.uk" />
<data android:host="peertube.cpy.re" />
<data android:host="peertube.mastodon.host" />
<data android:host="peertube.fr" />
<data android:host="tilvids.com" />
<data android:host="tube.privacytools.io" />
<data android:host="video.ploud.fr" />
<data android:host="video.lqdn.fr" />
<data android:host="peertube.mastodon.host" />
<data android:host="peertube.stream" />
<data android:host="skeptikon.fr" />
<data android:host="media.fsfe.org" />
<data android:host="tilvids.com" />
<data android:host="video.lqdn.fr" />
<data android:host="video.ploud.fr" />
<data android:pathPrefix="/videos/" /> <!-- it contains playlists -->
<data android:pathPrefix="/w/" /> <!-- short video URLs -->
@@ -351,46 +379,49 @@
<!-- Bandcamp filter for tracks, albums and playlists -->
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<action android:name="android.media.action.MEDIA_PLAY_FROM_SEARCH"/>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.media.action.MEDIA_PLAY_FROM_SEARCH" />
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http"/>
<data android:scheme="https"/>
<data android:host="*.bandcamp.com"/>
<data android:scheme="http" />
<data android:scheme="https" />
<data android:host="*.bandcamp.com" />
</intent-filter>
<!-- Bandcamp filter for radio -->
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<action android:name="android.media.action.MEDIA_PLAY_FROM_SEARCH"/>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.media.action.MEDIA_PLAY_FROM_SEARCH" />
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http"/>
<data android:scheme="https"/>
<data android:sspPattern="bandcamp.com/?show=*"/>
<data android:scheme="http" />
<data android:scheme="https" />
<data android:sspPattern="bandcamp.com/?show=*" />
</intent-filter>
</activity>
<service
android:name=".RouterActivity$FetcherService"
android:exported="false" />
<service
android:name=".CheckForNewAppVersion"
android:exported="false" />
<!-- opting out of sending metrics to Google in Android System WebView -->
<meta-data android:name="android.webkit.WebView.MetricsOptOut" android:value="true" />
<meta-data
android:name="android.webkit.WebView.MetricsOptOut"
android:value="true" />
<!-- see https://github.com/TeamNewPipe/NewPipe/issues/3947 -->
<!-- Version < 3.0. DeX Mode and Screen Mirroring support -->
<meta-data android:name="com.samsung.android.keepalive.density" android:value="true"/>
<meta-data
android:name="com.samsung.android.keepalive.density"
android:value="true" />
<!-- Version >= 3.0. DeX Dual Mode support -->
<meta-data android:name="com.samsung.android.multidisplay.keep_process_alive" android:value="true"/>
<meta-data
android:name="com.samsung.android.multidisplay.keep_process_alive"
android:value="true" />
</application>
</manifest>

View File

@@ -282,11 +282,9 @@ public abstract class FragmentStatePagerAdapterMenuWorkaround extends PagerAdapt
@Nullable
public Parcelable saveState() {
Bundle state = null;
if (mSavedState.size() > 0) {
if (!mSavedState.isEmpty()) {
state = new Bundle();
final Fragment.SavedState[] fss = new Fragment.SavedState[mSavedState.size()];
mSavedState.toArray(fss);
state.putParcelableArray("states", fss);
state.putParcelableArray("states", mSavedState.toArray(new Fragment.SavedState[0]));
}
for (int i = 0; i < mFragments.size(); i++) {
final Fragment f = mFragments.get(i);

View File

@@ -14,7 +14,6 @@ import androidx.coordinatorlayout.widget.CoordinatorLayout;
import org.schabi.newpipe.R;
import java.lang.reflect.Field;
import java.util.Arrays;
import java.util.List;
// See https://stackoverflow.com/questions/56849221#57997489
@@ -27,7 +26,7 @@ public final class FlingBehavior extends AppBarLayout.Behavior {
private boolean allowScroll = true;
private final Rect globalRect = new Rect();
private final List<Integer> skipInterceptionOfElements = Arrays.asList(
private final List<Integer> skipInterceptionOfElements = List.of(
R.id.itemsListPanel, R.id.playbackSeekBar,
R.id.playPauseButton, R.id.playPreviousButton, R.id.playNextButton);
@@ -67,7 +66,7 @@ public final class FlingBehavior extends AppBarLayout.Behavior {
public boolean onInterceptTouchEvent(@NonNull final CoordinatorLayout parent,
@NonNull final AppBarLayout child,
@NonNull final MotionEvent ev) {
for (final Integer element : skipInterceptionOfElements) {
for (final int element : skipInterceptionOfElements) {
final View view = child.findViewById(element);
if (view != null) {
final boolean visible = view.getGlobalVisibleRect(globalRect);
@@ -132,8 +131,8 @@ public final class FlingBehavior extends AppBarLayout.Behavior {
try {
final Class<?> headerBehaviorType = this.getClass().getSuperclass().getSuperclass();
if (headerBehaviorType != null) {
final Field field
= headerBehaviorType.getDeclaredField("lastNestedScrollingChildRef");
final Field field =
headerBehaviorType.getDeclaredField("lastNestedScrollingChildRef");
field.setAccessible(true);
return field;
}

View File

@@ -1,5 +1,6 @@
package org.schabi.newpipe;
import android.app.Application;
import android.content.Context;
import android.content.SharedPreferences;
import android.util.Log;
@@ -7,7 +8,6 @@ import android.util.Log;
import androidx.annotation.NonNull;
import androidx.core.app.NotificationChannelCompat;
import androidx.core.app.NotificationManagerCompat;
import androidx.multidex.MultiDexApplication;
import androidx.preference.PreferenceManager;
import com.jakewharton.processphoenix.ProcessPhoenix;
@@ -27,9 +27,8 @@ import org.schabi.newpipe.util.StateSaver;
import java.io.IOException;
import java.io.InterruptedIOException;
import java.net.SocketException;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import io.reactivex.rxjava3.exceptions.CompositeException;
import io.reactivex.rxjava3.exceptions.MissingBackpressureException;
@@ -56,7 +55,7 @@ import io.reactivex.rxjava3.plugins.RxJavaPlugins;
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
*/
public class App extends MultiDexApplication {
public class App extends Application {
public static final String PACKAGE_NAME = BuildConfig.APPLICATION_ID;
private static final String TAG = App.class.toString();
private static App app;
@@ -140,7 +139,7 @@ public class App extends MultiDexApplication {
if (throwable instanceof UndeliverableException) {
// As UndeliverableException is a wrapper,
// get the cause of it to get the "real" exception
actualThrowable = throwable.getCause();
actualThrowable = Objects.requireNonNull(throwable.getCause());
} else {
actualThrowable = throwable;
}
@@ -149,7 +148,7 @@ public class App extends MultiDexApplication {
if (actualThrowable instanceof CompositeException) {
errors = ((CompositeException) actualThrowable).getExceptions();
} else {
errors = Collections.singletonList(actualThrowable);
errors = List.of(actualThrowable);
}
for (final Throwable error : errors) {
@@ -205,7 +204,7 @@ public class App extends MultiDexApplication {
return;
}
final CoreConfigurationBuilder acraConfig = new CoreConfigurationBuilder(this)
final CoreConfigurationBuilder acraConfig = new CoreConfigurationBuilder()
.withBuildConfigClass(BuildConfig.class);
ACRA.init(this, acraConfig);
}
@@ -213,37 +212,40 @@ public class App extends MultiDexApplication {
private void initNotificationChannels() {
// Keep the importance below DEFAULT to avoid making noise on every notification update for
// the main and update channels
final NotificationChannelCompat mainChannel = new NotificationChannelCompat
.Builder(getString(R.string.notification_channel_id),
final List<NotificationChannelCompat> notificationChannelCompats = List.of(
new NotificationChannelCompat.Builder(getString(R.string.notification_channel_id),
NotificationManagerCompat.IMPORTANCE_LOW)
.setName(getString(R.string.notification_channel_name))
.setDescription(getString(R.string.notification_channel_description))
.build();
final NotificationChannelCompat appUpdateChannel = new NotificationChannelCompat
.Builder(getString(R.string.app_update_notification_channel_id),
.setName(getString(R.string.notification_channel_name))
.setDescription(getString(R.string.notification_channel_description))
.build(),
new NotificationChannelCompat
.Builder(getString(R.string.app_update_notification_channel_id),
NotificationManagerCompat.IMPORTANCE_LOW)
.setName(getString(R.string.app_update_notification_channel_name))
.setDescription(getString(R.string.app_update_notification_channel_description))
.build();
final NotificationChannelCompat hashChannel = new NotificationChannelCompat
.Builder(getString(R.string.hash_channel_id),
.setName(getString(R.string.app_update_notification_channel_name))
.setDescription(
getString(R.string.app_update_notification_channel_description))
.build(),
new NotificationChannelCompat.Builder(getString(R.string.hash_channel_id),
NotificationManagerCompat.IMPORTANCE_HIGH)
.setName(getString(R.string.hash_channel_name))
.setDescription(getString(R.string.hash_channel_description))
.build();
final NotificationChannelCompat errorReportChannel = new NotificationChannelCompat
.Builder(getString(R.string.error_report_channel_id),
.setName(getString(R.string.hash_channel_name))
.setDescription(getString(R.string.hash_channel_description))
.build(),
new NotificationChannelCompat.Builder(getString(R.string.error_report_channel_id),
NotificationManagerCompat.IMPORTANCE_LOW)
.setName(getString(R.string.error_report_channel_name))
.setDescription(getString(R.string.error_report_channel_description))
.build();
.setName(getString(R.string.error_report_channel_name))
.setDescription(getString(R.string.error_report_channel_description))
.build(),
new NotificationChannelCompat
.Builder(getString(R.string.streams_notification_channel_id),
NotificationManagerCompat.IMPORTANCE_DEFAULT)
.setName(getString(R.string.streams_notification_channel_name))
.setDescription(
getString(R.string.streams_notification_channel_description))
.build()
);
final NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
notificationManager.createNotificationChannelsCompat(Arrays.asList(mainChannel,
appUpdateChannel, hashChannel, errorReportChannel));
notificationManager.createNotificationChannelsCompat(notificationChannelCompats);
}
protected boolean isDisposedRxExceptionsReported() {

View File

@@ -12,7 +12,6 @@ import androidx.fragment.app.FragmentManager;
import icepick.Icepick;
import icepick.State;
import leakcanary.AppWatcher;
public abstract class BaseFragment extends Fragment {
protected final String TAG = getClass().getSimpleName() + "@" + Integer.toHexString(hashCode());
@@ -77,13 +76,6 @@ public abstract class BaseFragment extends Fragment {
protected void onRestoreInstanceState(@NonNull final Bundle savedInstanceState) {
}
@Override
public void onDestroy() {
super.onDestroy();
AppWatcher.INSTANCE.getObjectWatcher().watch(this);
}
/*//////////////////////////////////////////////////////////////////////////
// Init
//////////////////////////////////////////////////////////////////////////*/

View File

@@ -1,7 +1,6 @@
package org.schabi.newpipe;
import android.content.Context;
import android.os.Build;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -12,40 +11,27 @@ import org.schabi.newpipe.extractor.downloader.Downloader;
import org.schabi.newpipe.extractor.downloader.Request;
import org.schabi.newpipe.extractor.downloader.Response;
import org.schabi.newpipe.extractor.exceptions.ReCaptchaException;
import org.schabi.newpipe.util.CookieUtils;
import org.schabi.newpipe.util.InfoCache;
import org.schabi.newpipe.util.TLSSocketFactoryCompat;
import java.io.IOException;
import java.security.KeyManagementException;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;
import javax.net.ssl.TrustManagerFactory;
import javax.net.ssl.X509TrustManager;
import okhttp3.CipherSuite;
import okhttp3.ConnectionSpec;
import okhttp3.OkHttpClient;
import okhttp3.RequestBody;
import okhttp3.ResponseBody;
import static org.schabi.newpipe.MainActivity.DEBUG;
public final class DownloaderImpl extends Downloader {
public static final String USER_AGENT
= "Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0";
public static final String YOUTUBE_RESTRICTED_MODE_COOKIE_KEY
= "youtube_restricted_mode_key";
public static final String USER_AGENT =
"Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Firefox/91.0";
public static final String YOUTUBE_RESTRICTED_MODE_COOKIE_KEY =
"youtube_restricted_mode_key";
public static final String YOUTUBE_RESTRICTED_MODE_COOKIE = "PREF=f2=8000000";
public static final String YOUTUBE_DOMAIN = "youtube.com";
@@ -54,9 +40,6 @@ public final class DownloaderImpl extends Downloader {
private final OkHttpClient client;
private DownloaderImpl(final OkHttpClient.Builder builder) {
if (Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT) {
enableModernTLS(builder);
}
this.client = builder
.readTimeout(30, TimeUnit.SECONDS)
// .cache(new Cache(new File(context.getExternalCacheDir(), "okhttp"),
@@ -81,69 +64,16 @@ public final class DownloaderImpl extends Downloader {
return instance;
}
/**
* Enable TLS 1.2 and 1.1 on Android Kitkat. This function is mostly taken
* from the documentation of OkHttpClient.Builder.sslSocketFactory(_,_).
* <p>
* If there is an error, the function will safely fall back to doing nothing
* and printing the error to the console.
* </p>
*
* @param builder The HTTPClient Builder on which TLS is enabled on (will be modified in-place)
*/
private static void enableModernTLS(final OkHttpClient.Builder builder) {
try {
// get the default TrustManager
final TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(
TrustManagerFactory.getDefaultAlgorithm());
trustManagerFactory.init((KeyStore) null);
final TrustManager[] trustManagers = trustManagerFactory.getTrustManagers();
if (trustManagers.length != 1 || !(trustManagers[0] instanceof X509TrustManager)) {
throw new IllegalStateException("Unexpected default trust managers:"
+ Arrays.toString(trustManagers));
}
final X509TrustManager trustManager = (X509TrustManager) trustManagers[0];
// insert our own TLSSocketFactory
final SSLSocketFactory sslSocketFactory = TLSSocketFactoryCompat.getInstance();
builder.sslSocketFactory(sslSocketFactory, trustManager);
// This will try to enable all modern CipherSuites(+2 more)
// that are supported on the device.
// Necessary because some servers (e.g. Framatube.org)
// don't support the old cipher suites.
// https://github.com/square/okhttp/issues/4053#issuecomment-402579554
final List<CipherSuite> cipherSuites =
new ArrayList<>(ConnectionSpec.MODERN_TLS.cipherSuites());
cipherSuites.add(CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA);
cipherSuites.add(CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA);
final ConnectionSpec legacyTLS = new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
.cipherSuites(cipherSuites.toArray(new CipherSuite[0]))
.build();
builder.connectionSpecs(Arrays.asList(legacyTLS, ConnectionSpec.CLEARTEXT));
} catch (final KeyManagementException | NoSuchAlgorithmException | KeyStoreException e) {
if (DEBUG) {
e.printStackTrace();
}
}
}
public String getCookies(final String url) {
final List<String> resultCookies = new ArrayList<>();
if (url.contains(YOUTUBE_DOMAIN)) {
final String youtubeCookie = getCookie(YOUTUBE_RESTRICTED_MODE_COOKIE_KEY);
if (youtubeCookie != null) {
resultCookies.add(youtubeCookie);
}
}
final String youtubeCookie = url.contains(YOUTUBE_DOMAIN)
? getCookie(YOUTUBE_RESTRICTED_MODE_COOKIE_KEY) : null;
// Recaptcha cookie is always added TODO: not sure if this is necessary
final String recaptchaCookie = getCookie(ReCaptchaActivity.RECAPTCHA_COOKIES_KEY);
if (recaptchaCookie != null) {
resultCookies.add(recaptchaCookie);
}
return CookieUtils.concatCookies(resultCookies);
return Stream.of(youtubeCookie, getCookie(ReCaptchaActivity.RECAPTCHA_COOKIES_KEY))
.filter(Objects::nonNull)
.flatMap(cookies -> Arrays.stream(cookies.split("; *")))
.distinct()
.collect(Collectors.joining("; "));
}
public String getCookie(final String key) {
@@ -203,7 +133,7 @@ public final class DownloaderImpl extends Downloader {
RequestBody requestBody = null;
if (dataToSend != null) {
requestBody = RequestBody.create(null, dataToSend);
requestBody = RequestBody.create(dataToSend);
}
final okhttp3.Request.Builder requestBuilder = new okhttp3.Request.Builder()

View File

@@ -3,7 +3,6 @@ package org.schabi.newpipe;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import org.schabi.newpipe.util.NavigationHelper;
@@ -44,11 +43,7 @@ public class ExitActivity extends Activity {
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
finishAndRemoveTask();
} else {
finish();
}
finishAndRemoveTask();
NavigationHelper.restartApp(this);
}

View File

@@ -20,7 +20,6 @@
package org.schabi.newpipe;
import static org.schabi.newpipe.CheckForNewAppVersion.startNewVersionCheckService;
import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage;
import android.content.BroadcastReceiver;
@@ -29,7 +28,6 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
@@ -72,6 +70,7 @@ import org.schabi.newpipe.fragments.BackPressable;
import org.schabi.newpipe.fragments.MainFragment;
import org.schabi.newpipe.fragments.detail.VideoDetailFragment;
import org.schabi.newpipe.fragments.list.search.SearchFragment;
import org.schabi.newpipe.local.feed.notifications.NotificationWorker;
import org.schabi.newpipe.player.Player;
import org.schabi.newpipe.player.event.OnKeyDownListener;
import org.schabi.newpipe.player.helper.PlayerHolder;
@@ -86,7 +85,6 @@ import org.schabi.newpipe.util.PermissionHelper;
import org.schabi.newpipe.util.SerializedCache;
import org.schabi.newpipe.util.ServiceHelper;
import org.schabi.newpipe.util.StateSaver;
import org.schabi.newpipe.util.TLSSocketFactoryCompat;
import org.schabi.newpipe.util.ThemeHelper;
import org.schabi.newpipe.views.FocusOverlayView;
@@ -131,11 +129,6 @@ public class MainActivity extends AppCompatActivity {
+ "savedInstanceState = [" + savedInstanceState + "]");
}
// enable TLS1.1/1.2 for kitkat devices, to fix download and play for media.ccc.de sources
if (Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT) {
TLSSocketFactoryCompat.setAsDefault();
}
ThemeHelper.setDayNightMode(this);
ThemeHelper.setTheme(this, ServiceHelper.getSelectedServiceId(this));
@@ -159,11 +152,17 @@ public class MainActivity extends AppCompatActivity {
} catch (final Exception e) {
ErrorUtil.showUiErrorSnackbar(this, "Setting up drawer", e);
}
if (DeviceUtils.isTv(this)) {
FocusOverlayView.setupFocusObserver(this);
}
openMiniPlayerUponPlayerStarted();
if (PermissionHelper.checkPostNotificationsPermission(this,
PermissionHelper.POST_NOTIFICATIONS_REQUEST_CODE)) {
// Schedule worker for checking for new streams and creating corresponding notifications
// if this is enabled by the user.
NotificationWorker.initialize(this);
}
}
@Override
@@ -174,10 +173,9 @@ public class MainActivity extends AppCompatActivity {
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(app);
if (prefs.getBoolean(app.getString(R.string.update_app_key), true)) {
// Start the service which is checking all conditions
// Start the worker which is checking all conditions
// and eventually searching for a new version.
// The service searching for a new NewPipe version must not be started in background.
startNewVersionCheckService();
NewVersionWorker.enqueueNewVersionCheckingWork(app, false);
}
}
@@ -227,7 +225,7 @@ public class MainActivity extends AppCompatActivity {
drawerLayoutBinding.navigation.getMenu()
.add(R.id.menu_tabs_group, kioskId, 0, KioskTranslator
.getTranslatedKioskName(ks, this))
.setIcon(KioskTranslator.getKioskIcon(ks, this));
.setIcon(KioskTranslator.getKioskIcon(ks));
kioskId++;
}
@@ -237,7 +235,7 @@ public class MainActivity extends AppCompatActivity {
.setIcon(R.drawable.ic_tv);
drawerLayoutBinding.navigation.getMenu()
.add(R.id.menu_tabs_group, ITEM_ID_FEED, ORDER, R.string.fragment_feed_title)
.setIcon(R.drawable.ic_rss_feed);
.setIcon(R.drawable.ic_subscriptions);
drawerLayoutBinding.navigation.getMenu()
.add(R.id.menu_tabs_group, ITEM_ID_BOOKMARKS, ORDER, R.string.tab_bookmarks)
.setIcon(R.drawable.ic_bookmark);
@@ -379,8 +377,7 @@ public class MainActivity extends AppCompatActivity {
private void showServices() {
for (final StreamingService s : NewPipe.getServices()) {
final String title = s.getServiceInfo().getName()
+ (ServiceHelper.isBeta(s) ? " (beta)" : "");
final String title = s.getServiceInfo().getName();
final MenuItem menuItem = drawerLayoutBinding.navigation.getMenu()
.add(R.id.menu_services_group, s.getServiceId(), ORDER, title)
@@ -388,7 +385,7 @@ public class MainActivity extends AppCompatActivity {
// peertube specifics
if (s.getServiceId() == 3) {
enhancePeertubeMenu(s, menuItem);
enhancePeertubeMenu(menuItem);
}
}
drawerLayoutBinding.navigation.getMenu()
@@ -396,9 +393,9 @@ public class MainActivity extends AppCompatActivity {
.setChecked(true);
}
private void enhancePeertubeMenu(final StreamingService s, final MenuItem menuItem) {
private void enhancePeertubeMenu(final MenuItem menuItem) {
final PeertubeInstance currentInstance = PeertubeHelper.getCurrentInstance();
menuItem.setTitle(currentInstance.getName() + (ServiceHelper.isBeta(s) ? " (beta)" : ""));
menuItem.setTitle(currentInstance.getName());
final Spinner spinner = InstanceSpinnerLayoutBinding.inflate(LayoutInflater.from(this))
.getRoot();
final List<PeertubeInstance> instances = PeertubeHelper.getInstanceList(this);
@@ -478,8 +475,8 @@ public class MainActivity extends AppCompatActivity {
ErrorUtil.showUiErrorSnackbar(this, "Setting up service toggle", e);
}
final SharedPreferences sharedPreferences
= PreferenceManager.getDefaultSharedPreferences(this);
final SharedPreferences sharedPreferences =
PreferenceManager.getDefaultSharedPreferences(this);
if (sharedPreferences.getBoolean(Constants.KEY_THEME_CHANGE, false)) {
if (DEBUG) {
Log.d(TAG, "Theme has changed, recreating activity...");
@@ -605,6 +602,9 @@ public class MainActivity extends AppCompatActivity {
((VideoDetailFragment) fragment).openDownloadDialog();
}
break;
case PermissionHelper.POST_NOTIFICATIONS_REQUEST_CODE:
NotificationWorker.initialize(this);
break;
}
}
@@ -651,8 +651,8 @@ public class MainActivity extends AppCompatActivity {
}
super.onCreateOptionsMenu(menu);
final Fragment fragment
= getSupportFragmentManager().findFragmentById(R.id.fragment_holder);
final Fragment fragment =
getSupportFragmentManager().findFragmentById(R.id.fragment_holder);
if (!(fragment instanceof SearchFragment)) {
toolbarLayoutBinding.toolbarSearchContainer.getRoot().setVisibility(View.GONE);
}
@@ -719,7 +719,7 @@ public class MainActivity extends AppCompatActivity {
if (toggle != null) {
toggle.syncState();
toolbarLayoutBinding.toolbar.setNavigationOnClickListener(v -> mainBinding.getRoot()
.openDrawer(GravityCompat.START));
.open());
mainBinding.getRoot().setDrawerLockMode(DrawerLayout.LOCK_MODE_UNDEFINED);
}
} else {

Some files were not shown because too many files have changed in this diff Show More