As the player can be null in some cases, we have to make sure that the player
is not null, by using Optionals on the player itself instead of its methods
returning Optionals.
If the player is null, the play queue audio track menu will now be hidden.
As the fragment context can be null in some cases, we have to make sure that
the context is not null before calling
DeviceUtils.hasAnimationsAnimatorDurationEnabled.
If the context is null, the button will now not be hidden automatically.
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Serbian)
Currently translated at 17.1% (13 of 76 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Arabic (Libya))
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Finnish)
Currently translated at 98.0% (711 of 725 strings)
Translated using Weblate (French)
Currently translated at 98.2% (712 of 725 strings)
Translated using Weblate (Indonesian)
Currently translated at 94.7% (72 of 76 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (76 of 76 strings)
Translated using Weblate (Hebrew)
Currently translated at 51.3% (39 of 76 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (76 of 76 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (76 of 76 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (76 of 76 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (76 of 76 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (76 of 76 strings)
Translated using Weblate (Polish)
Currently translated at 61.8% (47 of 76 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (76 of 76 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: ButterflyOfFire <boffire@users.noreply.hosted.weblate.org>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: GET100PERCENT <eraofphysics@yahoo.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: Linerly <linerly@proton.me>
Co-authored-by: NEXI <nexiphotographer@gmail.com>
Co-authored-by: Random <random-r@users.noreply.hosted.weblate.org>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: Åzze <laitinen.jere222@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/
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/he/
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/pa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translation: NewPipe/Metadata
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Thai)
Currently translated at 29.3% (213 of 725 strings)
Translated using Weblate (Belarusian)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 95.0% (689 of 725 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (ryu (generated) (ryu))
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Odia)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Sardinian)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Portuguese)
Currently translated at 99.7% (723 of 725 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (German)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Odia)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Portuguese)
Currently translated at 95.2% (685 of 719 strings)
Translated using Weblate (Odia)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Arabic (Libya))
Currently translated at 99.1% (713 of 719 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (ryu (generated) (ryu))
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (German)
Currently translated at 81.3% (61 of 75 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (French)
Currently translated at 98.4% (708 of 719 strings)
Translated using Weblate (German)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Arabic (Libya))
Currently translated at 99.3% (714 of 719 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Indonesian)
Currently translated at 99.8% (718 of 719 strings)
Translated using Weblate (French)
Currently translated at 97.7% (703 of 719 strings)
Translated using Weblate (German)
Currently translated at 99.4% (715 of 719 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Czech)
Currently translated at 95.5% (687 of 719 strings)
Translated using Weblate (Greek)
Currently translated at 99.8% (718 of 719 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (719 of 719 strings)
Translated using Weblate (German)
Currently translated at 99.3% (714 of 719 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Alexthegib <traducoes@skiff.com>
Co-authored-by: AudricV <AudricV@users.noreply.hosted.weblate.org>
Co-authored-by: ButterflyOfFire <boffire@users.noreply.hosted.weblate.org>
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: GET100PERCENT <eraofphysics@yahoo.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: NEXI <nexiphotographer@gmail.com>
Co-authored-by: Nidi <nizamismidov4@gmail.com>
Co-authored-by: Peter Dave Hello <hsu@peterdavehello.org>
Co-authored-by: Philip Goto <philip.goto@gmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Random <random-r@users.noreply.hosted.weblate.org>
Co-authored-by: Retrial <giwrgosmant@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Sergio Marques <so.boston.android@gmail.com>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: TobiGr <tobigr@mail.de>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <VfBFan@users.noreply.hosted.weblate.org>
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: kuragehime <kuragehime641@gmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: zmni <zmni@outlook.com>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translation: NewPipe/Metadata
- Currently, only a list of videos separated by newline are added in
the share content.
- This makes it difficult to identify a specific video in a list of
Urls.
- Used string resources for the sharing content formats.
- Added a confirmation dialog for users to choose between sharing
playlist formats.
- Added Playlist name as the header and corresponding video name for
each video url in following format.
Playlist
- Music1: https://media-url1
- Music2: https://media-url2
- Music3: https://media-url3
Co-authored-by: TobiGr <tobigr@users.noreply.github.com>
Instead of searching for the first audio stream matching a compatible media
format, this change makes SecondaryStreamHelper.getAudioStreamFor use methods
isLimitingDataUsage, getAudioFormatComparator and getAudioIndexByHighestRank of
ListHelper to get an audio stream which can be muxed into a video-only stream,
if available.
This allows users to download videos with the highest audio quality available
if no resolution limit on mobile data usage has been set.
The order of formats used to search a compatible audio stream has been kept.
Do not restore last opened license after a rotation change when the license was closed earlier.
This commit adds onCancelListener and onDismissListener to the AlertDialogs which are used to display the licenses.
Currently translated at 0.5% (4 of 702 strings)
Translated using Weblate (Kazakh)
Currently translated at 6.6% (5 of 75 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (702 of 702 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (702 of 702 strings)
Merge branch 'origin/dev' into Weblate.
Translated using Weblate (Spanish)
Currently translated at 100.0% (702 of 702 strings)
Translated using Weblate (ryu (generated) (ryu))
Currently translated at 100.0% (702 of 702 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (702 of 702 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (702 of 702 strings)
Translated using Weblate (Greek)
Currently translated at 99.8% (701 of 702 strings)
Translated using Weblate (Japanese)
Currently translated at 98.2% (690 of 702 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (702 of 702 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (702 of 702 strings)
Translated using Weblate (German)
Currently translated at 80.0% (60 of 75 strings)
Translated using Weblate (German)
Currently translated at 100.0% (702 of 702 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (702 of 702 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (702 of 702 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (702 of 702 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (702 of 702 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (702 of 702 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (702 of 702 strings)
Translated using Weblate (Greek)
Currently translated at 97.8% (687 of 702 strings)
Translated using Weblate (Serbian)
Currently translated at 98.5% (692 of 702 strings)
Translated using Weblate (German)
Currently translated at 99.5% (699 of 702 strings)
Translated using Weblate (Odia)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Indonesian)
Currently translated at 99.8% (685 of 686 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Odia)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Hungarian)
Currently translated at 99.7% (684 of 686 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Hindi)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Serbian)
Currently translated at 16.0% (12 of 75 strings)
Translated using Weblate (Galician)
Currently translated at 99.5% (683 of 686 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Serbian)
Currently translated at 16.0% (12 of 75 strings)
Translated using Weblate (Bengali)
Currently translated at 83.8% (575 of 686 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (686 of 686 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (686 of 686 strings)
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Aidos <goldenbit.kz@yandex.kz>
Co-authored-by: Daniel Rozario <rozario@tuta.io>
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: GET100PERCENT <eraofphysics@yahoo.com>
Co-authored-by: GnuPGを使うべきだ <dieeeazpnnqbpddh@cock.email>
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: NEXI <nexiphotographer@gmail.com>
Co-authored-by: Nidi <nizamismidov4@gmail.com>
Co-authored-by: Philip Goto <philip.goto@gmail.com>
Co-authored-by: Random <random-r@users.noreply.hosted.weblate.org>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Subham Jena <subhamjena8465@gmail.com>
Co-authored-by: Tibor Botfai (gidano) <gidano@gmail.com>
Co-authored-by: TobiGr <tobigr@mail.de>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <VfBFan@users.noreply.hosted.weblate.org>
Co-authored-by: WB <dln0@proton.me>
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: nexi <nexiphotographer@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: zmni <zmni@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/kk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sr/
Translation: NewPipe/Metadata
imageListToDbUrl should be used if the URL is going to be saved to the database, to avoid saving nothing in case at the moment of saving the user preference is to not show images.
Add the separate utility class PlayButtonHelper to handle the initialization of the listeners.
The ClickListeners on playlist controls had different behaviours. This commit fixes that.
The commit also refactors the way how the app determines whether it is started for the first time. The previous version was not clean and recent in this PR caused it to fail.
The breakage of these tests is related to the channel tabs changes.
The testRememberRecentStreams test method has been removed, as it doesn't seem
to be relevant anymore to managing subscriptions.
YouTube's "Desktop Max" thumbnails are 2560x423, while our previous placeholder banner was 2550x427. The extractor actually returns a lower resolution "Desktop Max" banner at 1060x175, but the ratio wrt 2560x423 is off by ~0.1%
The PNG was optimized with OptiPNG
The previous "main" tab is now just a normal tab returned in getTabs().
Various part of the code that used to handle channels as ListInfo now either take the first (playable, i.e. with streams) tab (e.g. the ChannelTabPlayQueue), or take all of them combined (e.g. the feed).