Disable loading all tabs at once, since there can be many of them, and use default strategy of only keeping in memory the two tabs adjacent to the current tab.
Reduced memory footprint of FeedUpdateInfo objects. Those objects might stay around for a while and accumulate (up to BUFFER_COUNT_BEFORE_INSERT = 20 at the moment), so in order not to fill up the memory it's better to keep as little data as possible.
Previously ChannelInfo data was stored, causing ReadyChannelTabLinkHandler objects to be also stored uselessly (and those channel tabs contain prefetched JSON data which used ~700KB of memory).
The fix just involves removing some really outdated code (6 years ago) added in 33e29be7db (diff-38bd2cf1b92659b499c08e1cf6ac9ef384c7e13381b906f2f98c57cbb758756dR778) (blame: 9318bb5306/app/src/main/java/org/schabi/newpipe/detail/VideoItemDetailActivity.java (L778)).
What that code did was setting the 'buddy' image to the uploader avatar as a placeholder, and then setting the actual image if it existed and after it had loaded.
That code remained there up until now, but now it doesn't make sense anymore, since Picasso already takes care of setting placeholders.
The problem is, starting from #10066 the actual uploader image is set before (not after) those lines of code, making them do the wrong thing, i.e. always overwrite the currently set image.
But then why did the channel avatar image work normally sometimes?
My guess is that since Picasso loads images in the background, when opening a video from scratch setting the placeholder still happened before Picasso finished loading the image.
However when the image is already cached it's loaded much faster and therefore setting the placeholder happens after, effectively hiding the loaded image.
Currently translated at 78.7% (571 of 725 strings)
Translated using Weblate (Basque)
Currently translated at 95.0% (689 of 725 strings)
Translated using Weblate (Turkish)
Currently translated at 43.4% (33 of 76 strings)
Translated using Weblate (Lithuanian)
Currently translated at 92.9% (674 of 725 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 30.2% (23 of 76 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.8% (724 of 725 strings)
Translated using Weblate (Interlingua)
Currently translated at 32.0% (232 of 725 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 94.6% (686 of 725 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 94.6% (686 of 725 strings)
Translated using Weblate (Romanian)
Currently translated at 89.3% (648 of 725 strings)
Translated using Weblate (German)
Currently translated at 81.5% (62 of 76 strings)
Translated using Weblate (German)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Filipino)
Currently translated at 32.1% (233 of 725 strings)
Translated using Weblate (Filipino)
Currently translated at 32.1% (233 of 725 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Swedish)
Currently translated at 72.3% (55 of 76 strings)
Translated using Weblate (Esperanto)
Currently translated at 3.9% (3 of 76 strings)
Translated using Weblate (Swedish)
Currently translated at 99.7% (723 of 725 strings)
Translated using Weblate (Esperanto)
Currently translated at 71.0% (515 of 725 strings)
Translated using Weblate (Esperanto)
Currently translated at 2.6% (2 of 76 strings)
Translated using Weblate (Tigrinya)
Currently translated at 8.4% (61 of 725 strings)
Translated using Weblate (Vietnamese)
Currently translated at 43.4% (33 of 76 strings)
Translated using Weblate (German)
Currently translated at 81.5% (62 of 76 strings)
Translated using Weblate (Finnish)
Currently translated at 98.3% (713 of 725 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Esperanto)
Currently translated at 70.0% (508 of 725 strings)
Added translation using Weblate (English (Old))
Added translation using Weblate (Aymara)
Added translation using Weblate (English (Middle))
Added translation using Weblate (Arabic (Najdi))
Added translation using Weblate (German (Low))
Added translation using Weblate (Sicilian)
Added translation using Weblate (Kashmiri)
Added translation using Weblate (Burmese)
Translated using Weblate (Tigrinya)
Currently translated at 3.5% (26 of 725 strings)
Translated using Weblate (Georgian)
Currently translated at 91.1% (661 of 725 strings)
Translated using Weblate (French)
Currently translated at 98.8% (717 of 725 strings)
Translated using Weblate (Vietnamese)
Currently translated at 42.1% (32 of 76 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Interlingua)
Currently translated at 31.3% (227 of 725 strings)
Translated using Weblate (Vietnamese)
Currently translated at 35.5% (27 of 76 strings)
Translated using Weblate (Esperanto)
Currently translated at 69.2% (502 of 725 strings)
Translated using Weblate (Esperanto)
Currently translated at 69.2% (502 of 725 strings)
Translated using Weblate (German)
Currently translated at 81.5% (62 of 76 strings)
Translated using Weblate (Punjabi)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Bulgarian)
Currently translated at 63.8% (463 of 725 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Esperanto)
Currently translated at 66.3% (481 of 725 strings)
Translated using Weblate (French)
Currently translated at 98.6% (715 of 725 strings)
Translated using Weblate (Vietnamese)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Turkish)
Currently translated at 31.5% (24 of 76 strings)
Translated using Weblate (Vietnamese)
Currently translated at 97.3% (706 of 725 strings)
Translated using Weblate (Swedish)
Currently translated at 98.4% (714 of 725 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (76 of 76 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (76 of 76 strings)
Translated using Weblate (Vietnamese)
Currently translated at 94.6% (686 of 725 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (76 of 76 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 21.0% (16 of 76 strings)
Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 100.0% (725 of 725 strings)
Translated using Weblate (French)
Currently translated at 98.2% (712 of 725 strings)
Deleted translation using Weblate (English (Middle))
Co-authored-by: /dev/urandom <dev.urandom@posteo.org>
Co-authored-by: A <ogloppi@mailbox.org>
Co-authored-by: Aitor Salaberria <trslbrr@gmail.com>
Co-authored-by: Alexthegib <traducoes@skiff.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Ans Virlis <tddakk@yahoo.com>
Co-authored-by: AudricV <AudricV@users.noreply.hosted.weblate.org>
Co-authored-by: Cem TÜRKER <cemburbut@gmail.com>
Co-authored-by: Edward <edwardchirita@mailbox.org>
Co-authored-by: Erik Matson <erik@nextleveltranslation.com>
Co-authored-by: Giorgi Taba K'obakhidze <t@gtk.ge>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Jener Gomes <jenerg1@gmail.com>
Co-authored-by: Kristoffer Grundström <swedishsailfishosuser@tutanota.com>
Co-authored-by: LiftedStarfish <liftedstarfish@protonmail.com>
Co-authored-by: Napstaguy04 <brokenscreen3@gmail.com>
Co-authored-by: P.O <rasmusson.mikael@protonmail.com>
Co-authored-by: PiryusQ <piryusq@gmail.com>
Co-authored-by: Ray <ray@users.noreply.hosted.weblate.org>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Software In Interlingua <softinterlingua@gmail.com>
Co-authored-by: TXRdev Archive <lckphanaf9999@gmail.com>
Co-authored-by: TobiGr <TobiGr@users.noreply.github.com>
Co-authored-by: Translator <kvb@tuta.io>
Co-authored-by: VfBFan <VfBFan@users.noreply.hosted.weblate.org>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: bittin1ddc447d824349b2 <bittin@reimu.nl>
Co-authored-by: ferarilalon <ferarilalongpt@gmail.com>
Co-authored-by: fsbat0 <fsbat@duck.com>
Co-authored-by: ngocanhtve <ngocanh.tve@gmail.com>
Co-authored-by: notlin4 <iamnotlin4@gmail.com>
Co-authored-by: sum1tookshoe <gamingwithshoe@gmail.com>
Co-authored-by: trunars <trunars@gmail.com>
Co-authored-by: İbrahim Dinç <woltytherespectful@gmail.com>
Co-authored-by: Макар Разин <makarrazin14@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/eo/
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/ru/
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/vi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
This format is not supported by ExoPlayer when returned as HLS streams, so we
can't play streams using this format and this delivery method.
Also improve the Javadoc of ListHelper.getPlayableStreams.
This behavior was present before 0.24.0 and the player UI separation and
avoided crashes for which their exception contained
"Context.startForegroundService() did not then call Service.startForeground()".
Some player nullability checks have been also added, and the player service is
now stopped when it has been started from a media button and there is nothing
to play.
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.