- 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).