Currently translated at 50.0% (43 of 86 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Spanish)
Currently translated at 98.6% (754 of 764 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Lombard)
Currently translated at 0.2% (2 of 764 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 72.0% (62 of 86 strings)
Added translation using Weblate (Lombard)
Translated using Weblate (Korean)
Currently translated at 97.6% (84 of 86 strings)
Translated using Weblate (Danish)
Currently translated at 97.9% (748 of 764 strings)
Translated using Weblate (Romanian)
Currently translated at 97.9% (748 of 764 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (86 of 86 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Latvian)
Currently translated at 95.6% (731 of 764 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 99.8% (763 of 764 strings)
Translated using Weblate (Dutch (Belgium))
Currently translated at 73.8% (564 of 764 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Portuguese)
Currently translated at 99.8% (763 of 764 strings)
Translated using Weblate (Georgian)
Currently translated at 92.8% (709 of 764 strings)
Translated using Weblate (Georgian)
Currently translated at 89.5% (77 of 86 strings)
Translated using Weblate (Thai)
Currently translated at 3.4% (3 of 86 strings)
Translated using Weblate (Thai)
Currently translated at 37.1% (284 of 764 strings)
Translated using Weblate (Catalan)
Currently translated at 96.3% (736 of 764 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Slovenian)
Currently translated at 53.0% (405 of 764 strings)
Translated using Weblate (Thai)
Currently translated at 36.7% (281 of 764 strings)
Translated using Weblate (Thai)
Currently translated at 2.3% (2 of 86 strings)
Translated using Weblate (Croatian)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Belarusian)
Currently translated at 98.9% (756 of 764 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Bulgarian)
Currently translated at 5.8% (5 of 86 strings)
Translated using Weblate (Bulgarian)
Currently translated at 5.8% (5 of 86 strings)
Translated using Weblate (Bosnian)
Currently translated at 100.0% (86 of 86 strings)
Translated using Weblate (Bosnian)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 90.6% (78 of 86 strings)
Translated using Weblate (Serbian)
Currently translated at 16.2% (14 of 86 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Croatian)
Currently translated at 95.4% (729 of 764 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Icelandic)
Currently translated at 98.4% (752 of 764 strings)
Translated using Weblate (Chinese (Traditional Han script, Hong Kong))
Currently translated at 36.0% (31 of 86 strings)
Translated using Weblate (German)
Currently translated at 100.0% (86 of 86 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 99.7% (762 of 764 strings)
Translated using Weblate (Belarusian)
Currently translated at 97.1% (742 of 764 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Bulgarian)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Hebrew)
Currently translated at 99.0% (757 of 764 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Portuguese)
Currently translated at 99.7% (762 of 764 strings)
Translated using Weblate (Korean)
Currently translated at 98.6% (754 of 764 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Serbian)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (French)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (German)
Currently translated at 100.0% (764 of 764 strings)
Translated using Weblate (French)
Currently translated at 100.0% (86 of 86 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (86 of 86 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 69.7% (60 of 86 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (759 of 759 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (759 of 759 strings)
Translated using Weblate (French)
Currently translated at 100.0% (759 of 759 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (759 of 759 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (759 of 759 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (759 of 759 strings)
Translated using Weblate (Bulgarian)
Currently translated at 100.0% (759 of 759 strings)
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (759 of 759 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (759 of 759 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (759 of 759 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (759 of 759 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (759 of 759 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (759 of 759 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (759 of 759 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (759 of 759 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (759 of 759 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (759 of 759 strings)
Translated using Weblate (French)
Currently translated at 100.0% (759 of 759 strings)
Translated using Weblate (German)
Currently translated at 100.0% (759 of 759 strings)
Translated using Weblate (Kabyle)
Currently translated at 28.1% (212 of 754 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Icelandic)
Currently translated at 99.2% (748 of 754 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (86 of 86 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (86 of 86 strings)
Translated using Weblate (German)
Currently translated at 100.0% (86 of 86 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Vietnamese)
Currently translated at 99.6% (751 of 754 strings)
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Vietnamese)
Currently translated at 99.6% (751 of 754 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Russian)
Currently translated at 99.3% (749 of 754 strings)
Translated using Weblate (Tigrinya)
Currently translated at 20.1% (152 of 754 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (86 of 86 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Tigrinya)
Currently translated at 18.1% (137 of 754 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (German)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (German)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Tigrinya)
Currently translated at 17.3% (131 of 754 strings)
Translated using Weblate (Bulgarian)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (French)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (French)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (German)
Currently translated at 99.8% (753 of 754 strings)
Translated using Weblate (German)
Currently translated at 99.8% (753 of 754 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Bulgarian)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Tigrinya)
Currently translated at 15.6% (118 of 754 strings)
Translated using Weblate (English (United Kingdom))
Currently translated at 9.3% (8 of 86 strings)
Translated using Weblate (English (United Kingdom))
Currently translated at 8.8% (67 of 754 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 98.8% (85 of 86 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (86 of 86 strings)
Translated using Weblate (Vietnamese)
Currently translated at 79.0% (68 of 86 strings)
Translated using Weblate (Portuguese)
Currently translated at 98.8% (85 of 86 strings)
Translated using Weblate (Greek)
Currently translated at 36.0% (31 of 86 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Sardinian)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Estonian)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Bulgarian)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Vietnamese)
Currently translated at 97.3% (734 of 754 strings)
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 99.2% (748 of 754 strings)
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Hungarian)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (French)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (754 of 754 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (86 of 86 strings)
Translated using Weblate (Azerbaijani)
Currently translated at 100.0% (748 of 748 strings)
Co-authored-by: 404px <limgu2010@gmail.com>
Co-authored-by: 439JBYL80IGQTF25UXNR0X1BG <439JBYL80IGQTF25UXNR0X1BG@users.noreply.hosted.weblate.org>
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: ButterflyOfFire <boffire@users.noreply.hosted.weblate.org>
Co-authored-by: CJ Montero <cristlad@proton.me>
Co-authored-by: DB L <deblm@tutamail.com>
Co-authored-by: Daniel Mantilla <danielmantilladiez@gmail.com>
Co-authored-by: Dizro <weblate.delirium794@passmail.net>
Co-authored-by: Drugi Sapog <dindrugi@users.noreply.hosted.weblate.org>
Co-authored-by: EESF-2 <eesf-2@users.noreply.hosted.weblate.org>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: Femini <nizamismidov4@gmail.com>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: FrederikFinckh <frederik.finckh@gmx.de>
Co-authored-by: Ghost of Sparta <makesocialfoss32@keemail.me>
Co-authored-by: Hasan <hasanyildiz0@yaani.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Hoàng Sơn <smgzk2000@gmail.com>
Co-authored-by: Igor Rückert <igorruckert@yahoo.com.br>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Linerly <linerly@proton.me>
Co-authored-by: MS-PC <MSPCtranslator@gmail.com>
Co-authored-by: Maria Dimitrova <mimidimitrova07@gmail.com>
Co-authored-by: Matija Šuklje <matija@suklje.name>
Co-authored-by: Mickaël Binos <mickaelbinos@outlook.com>
Co-authored-by: Milan <mobrcian@hotmail.com>
Co-authored-by: Mona Lisa <nickwick@users.noreply.hosted.weblate.org>
Co-authored-by: NEXI <nexiphotographer@gmail.com>
Co-authored-by: Nick Wick <NickWick@users.noreply.hosted.weblate.org>
Co-authored-by: Nikoloz <nukushatugushi@gmail.com>
Co-authored-by: Philip Goto <philip.goto@gmail.com>
Co-authored-by: Priit Jõerüüt <jrthwlate@users.noreply.hosted.weblate.org>
Co-authored-by: Random <random-r@users.noreply.hosted.weblate.org>
Co-authored-by: René <ninso112@proton.me>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Ricard Rodríguez <rcard@insicuri.net>
Co-authored-by: Sarah O <epigenetastic@gmail.com>
Co-authored-by: SecularSteve <fairfull.playing@gmail.com>
Co-authored-by: Sveinn í Felli <sv1@fellsnet.is>
Co-authored-by: ThaiWithNoBraincell <altofskgd@gmail.com>
Co-authored-by: The Cats <philosoph@danwin1210.de>
Co-authored-by: Trunars <trunars@abv.bg>
Co-authored-by: Tấn Lực Trương <september122022ios16@gmail.com>
Co-authored-by: Valer <122545522+Valer100@users.noreply.github.com>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: VisionR1 <25982450+VisionR1@users.noreply.github.com>
Co-authored-by: Xiao Ping <deceased-take-mold@duck.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: cat <catsnote@proton.me>
Co-authored-by: delvani <del.cidrak@gmail.com>
Co-authored-by: fool <thing-sauna-cussed@duck.com>
Co-authored-by: gbpu <gui.beppu@gmail.com>
Co-authored-by: ikanakova <ikanakova@users.noreply.hosted.weblate.org>
Co-authored-by: justcontributor <kty5663@gmail.com>
Co-authored-by: late <late@users.noreply.hosted.weblate.org>
Co-authored-by: nafanz <nafanz@mail.ru>
Co-authored-by: rehork <cooky@e.email>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: sudo-py-dev <sudopydev@gmail.com>
Co-authored-by: tct123 <tct1234@protonmail.com>
Co-authored-by: yummysheepouo <jerry88182821@gmail.com>
Co-authored-by: Максим Горпиніч <gorpinicmaksim0@gmail.com>
Co-authored-by: ℂ𝕠𝕠𝕠𝕝 (𝕘𝕚𝕥𝕙𝕦𝕓.𝕔𝕠𝕞/ℂ𝕠𝕠𝕠𝕝) <coool@mail.lv>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bg/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bs/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/el/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/en_GB/
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/id/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ka/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ko/
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/sr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/th/
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_Hans/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
Fixes [ksp] app/src/main/java/org/schabi/newpipe/database/playlist/dao/PlaylistStreamDAO.kt:140: The columns returned by the query does not have the fields [thumbnailUrl,isThumbnailPermanent,thumbnailStreamId,displayIndex,orderingName] in org.schabi.newpipe.database.playlist.PlaylistDuplicatesEntry even though they are annotated as non-null or primitive. Columns returned by the query: [uid,streamCount,timesStreamIsContained]
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
The defaults should be supplied to the image loading software not the database library.
This would also break when we shrink resources as that would rename the resources.
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
Room has been convereted into a KMP library in the latest stable releases and
annotation processing requires KSP which only generates kotlin classes
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
- update class header with proper technical references and remove author tag.
- update comments of replacing NBSP('\u00A0'), especially adding examples
of rendering incorrectly.
Updating checkstyle fixed a vulnerability and fixed a final class check in version 10.12.2 for local classes without constructor. Local classes without a constructor should be marked as final. That is done in this commit.
For more info see https://github.com/checkstyle/checkstyle/releases/tag/checkstyle-10.12.2
This fulfills the following:
* both should never push content outside of the view
* there should be no wasted space
* `audioTrackTextView` is always aligned to the right
* both should grow equally but also respect their respective contents size first
Caveats:
* Currently the layout weight is distributed using "NestedWeights" which require a widget to be measured twice. According to Android Studio this might cause an exponential performane impact, however there is currently just a single nested component so the effect should be not noticeable
- Replaced `text()` with `getWholeText()`:
- avoids losing whitespaces at the beginning, end, or within the text;
- avoids merging two or more consecutive spaces into a single space ' ';
- avoids converting '\r', '\n', and '\r\n' within the text into a single space ' ';
For subtitle conversion, the goal is to preserve every character exactly as intended by the subtitle author.
- Normalized tabs, line breaks, and other special characters for SRT-safe output.
- Added comprehensive unit tests in `SrtFromTtmlWriterTest.java`, including cases for simple and nested tags.
- audioTrackTextView: layout_width=0dp + layout_weight=1
- Make it singleLine with ellipsize="end"
- When not fullscreen, hide metadataView so an empty weighted container doesn’t reserve space
- Result: controls stay visible on small screens; longer labels can use space on larger screens
- The SubRip (.srt) specification requires subtitle numbering to begin from 1.
- Please refer to https://en.wikipedia.org/wiki/SubRip
- Previously numbering started from 0, which is accepted by most
players (tested on mpv, VLC, MPlayer, Totem) but not strictly compliant.
This commit fixes one way ghost notifications could be produced (although I don't know if there are other ways). This is the call chain that would lead to ghost notifications being created:
1. the system starts `PlayerService` to query information from it, without providing `SHOULD_START_FOREGROUND_EXTRA=true`, so NewPipe does not start the player nor show any notification, as expected
2. the `PlayerHolder::serviceConnection.onServiceConnected()` gets called by the system to inform `PlayerHolder` that the player started
3. `PlayerHolder` notifies `MainActivity` that the player has started (although in fact only the service has started), by sending a `ACTION_PLAYER_STARTED` broadcast
4. `MainActivity` receives the `ACTION_PLAYER_STARTED` broadcast and brings up the mini-player, but then also tries to make `PlayerHolder` bind to `PlayerService` just in case it was not bound yet, but does so using `PlayerHolder::startService()` instead of the more passive `PlayerHolder::tryBindIfNeeded()`
5. `PlayerHolder::startService()` sends an intent to the `PlayerService` again, this time with `startForegroundService` and with `SHOULD_START_FOREGROUND_EXTRA=true`
6. the `PlayerService` receives the intent and due to `SHOULD_START_FOREGROUND_EXTRA=true` decides to start up the player and show a dummy notification
Steps 3 and 4 are wrong, and this commit fixes them:
3. `PlayerHolder` will now broadcast `ACTION_PLAYER_STARTED` when the service connects, only if the player is not-null
4. `PlayerHolder::tryBindIfNeeded()` is now used to passively try to bind, instead of `PlayerHolder::startService()`
This was always a bit weird, that clicking a timestamp would
unconditionally switch to the popup player.
With the new enum, it’s trivial to change it to always stay at the
selected player now ;)