Compare commits

...

9433 Commits

Author SHA1 Message Date
Stypox
47f9ed08e9 Merge pull request #7934 from TeamNewPipe/release/0.22.1
Release 0.22.1
2022-02-26 22:01:30 +01:00
Hosted Weblate
ee3c06394d 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:52:17 +01:00
Stypox
443ebc46d6 Release 0.22.1 (984) 2022-02-23 15:16:37 +01:00
Tobi
c42f29446d Merge pull request #7924 from litetex/revert-7451
Revert "Respect cutouts when playing in MultiWindow"
2022-02-21 21:36:07 +01:00
litetex
1030e09fc1 Merge pull request #7901 from Stypox/player-small-refactor
Small refactor in player class
2022-02-21 20:48:03 +01:00
litetex
96b930cd07 Revert "Respect cutouts when playing in MultiWindow"
This reverts commit c92a90749e.
2022-02-21 20:30:56 +01:00
litetex
de08edb831 Merge pull request #7898 from Stypox/regression-arc
Have fast seek overlay arc go under system ui
2022-02-21 20:19:22 +01:00
Stypox
af80d96b9e Merge pull request #7659 from litetex/load-enough-initial-data
Load enough initial items (into BaseListFragment and descendants)
2022-02-19 15:43:13 +01:00
Stypox
3c23fb0b13 Small refactor in player class 2022-02-19 13:30:55 +01:00
Tobi
750490cd2f Merge pull request #7900 from Stypox/increment-compile-sdk
Change `compileSdk` from 30 to 31
2022-02-19 12:35:13 +01:00
Stypox
579b8611be Change compileSdk from 30 to 31
This will allow newer libraries to be used, see #7782 and #2335. This should have no changes on the app since the targetSdk stayed the same.
2022-02-19 12:00:04 +01:00
Stypox
da12b92d75 Fix fast seek arc not going under system ui 2022-02-19 11:29:33 +01:00
TobiGr
a3f99bd781 Merge branch 'master' into dev 2022-02-19 10:56:19 +01:00
Tobi
7ae908a466 Merge pull request #7858 from TeamNewPipe/release/0.22.0
Release 0.22.0
2022-02-19 10:51:52 +01:00
Stypox
00767f4bf3 Fix fast seek overlay arc not correctly centered
This happened in fullscreen player: while play-pause, brightness, volume, ... buttons were correctly centered in the app UI, the fast seek overlay was centered in the system UI, causing a mismatch between the two that looked ugly
2022-02-18 22:34:55 +01:00
TobiGr
54f0b3d8b3 Release NewPipe 0.22.0 (983) 2022-02-18 20:39:51 +01:00
Hosted Weblate
08eb70833d Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (64 of 64 strings)

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

Currently translated at 6.2% (4 of 64 strings)

Translated using Weblate (Malay)

Currently translated at 60.0% (368 of 613 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Finnish)

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 (Arabic)

Currently translated at 100.0% (613 of 613 strings)

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

Currently translated at 63.9% (392 of 613 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Dutch)

Currently translated at 64.0% (41 of 64 strings)

Translated using Weblate (Hebrew)

Currently translated at 53.1% (34 of 64 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Polish)

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 (Dutch)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (German)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Polish)

Currently translated at 54.6% (35 of 64 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (64 of 64 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 95.2% (584 of 613 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Slovak)

Currently translated at 98.0% (601 of 613 strings)

Translated using Weblate (Hungarian)

Currently translated at 99.5% (610 of 613 strings)

Translated using Weblate (English)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (63 of 63 strings)

Translated using Weblate (Dutch)

Currently translated at 46.0% (29 of 63 strings)

Translated using Weblate (Hebrew)

Currently translated at 52.3% (33 of 63 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (63 of 63 strings)

Translated using Weblate (Interlingua)

Currently translated at 35.0% (215 of 613 strings)

Translated using Weblate (Danish)

Currently translated at 49.1% (301 of 613 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 94.2% (578 of 613 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Finnish)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Arabic)

Currently translated at 99.6% (611 of 613 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Dutch)

Currently translated at 28.5% (18 of 63 strings)

Translated using Weblate (Dutch)

Currently translated at 28.5% (18 of 63 strings)

Translated using Weblate (Swedish)

Currently translated at 48.3% (30 of 62 strings)

Translated using Weblate (French)

Currently translated at 66.1% (41 of 62 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Estonian)

Currently translated at 99.8% (612 of 613 strings)

Translated using Weblate (Catalan)

Currently translated at 99.1% (608 of 613 strings)

Translated using Weblate (Tamil)

Currently translated at 55.4% (340 of 613 strings)

Translated using Weblate (Finnish)

Currently translated at 99.0% (607 of 613 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Armenian)

Currently translated at 19.0% (117 of 613 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Persian)

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 (Ukrainian)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Indonesian)

Currently translated at 99.8% (612 of 613 strings)

Translated using Weblate (Japanese)

Currently translated at 99.8% (612 of 613 strings)

Translated using Weblate (French)

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 (Sardinian)

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 (Portuguese (Portugal))

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Kurdish (Central))

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Catalan)

Currently translated at 99.3% (609 of 613 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Hebrew)

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 (Ukrainian)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (French)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (German)

Currently translated at 100.0% (613 of 613 strings)

Added translation using Weblate (German (Low))

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Polish)

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 (Russian)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Malay)

Currently translated at 4.8% (3 of 62 strings)

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

Currently translated at 4.8% (3 of 62 strings)

Translated using Weblate (Galician)

Currently translated at 94.9% (581 of 612 strings)

Translated using Weblate (Malay)

Currently translated at 60.1% (368 of 612 strings)

Translated using Weblate (Malay)

Currently translated at 60.1% (368 of 612 strings)

Translated using Weblate (Tamil)

Currently translated at 49.8% (305 of 612 strings)

Translated using Weblate (Finnish)

Currently translated at 97.2% (595 of 612 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (612 of 612 strings)

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

Currently translated at 57.1% (350 of 612 strings)

Translated using Weblate (French)

Currently translated at 99.6% (610 of 612 strings)

Translated using Weblate (English (United Kingdom))

Currently translated at 7.6% (47 of 612 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Tamil)

Currently translated at 44.6% (273 of 612 strings)

Translated using Weblate (Arabic)

Currently translated at 99.8% (611 of 612 strings)

Co-authored-by: A <ville.mourujarvi@hostedweblate.mail.kapsi.fi>
Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Albert Vila <vilacalvo.albert@gmail.com>
Co-authored-by: Alex25820 <alexs25820@gmail.com>
Co-authored-by: Alfonso Scarpino <alfonso.scarpino@gmail.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Davit Mayilyan <davit.mayilyan@protonmail.ch>
Co-authored-by: Denys Nykula <nykula@ukr.net>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: GnuPGを使うべきだ <dieeeazpnnqbpddh@cock.email>
Co-authored-by: GobinathAL <gobinathal8@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: JY3 <GeeyunJY3@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: John Smith <a@shatin.ml>
Co-authored-by: Karl Tammik <karltammik@protonmail.com>
Co-authored-by: Lim Jia Ming <jiaminglimjm@protonmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Marian Hanzel <marulinko@gmail.com>
Co-authored-by: Mark <theMurk@protonmail.com>
Co-authored-by: Mohammed Anas <6daf084a-8eaf-40fb-86c7-8500077c3b69@anonaddy.me>
Co-authored-by: Mohammed Anas <triallax@tutanota.com>
Co-authored-by: MohammedSR Vevo <mohammednajmidin@gmail.com>
Co-authored-by: My <quentin.lalle@gmail.com>
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: SamTada <SamLbttyw@protonmail.com>
Co-authored-by: Software In Interlingua <softinterlingua@gmail.com>
Co-authored-by: THANOS SIOURDAKIS <siourdakisthanos@gmail.com>
Co-authored-by: Thomas Frarke <goetzknecht23@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: Ville Rantanen <v.r@iki.fi>
Co-authored-by: WB <web0nst@tuta.io>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: gymka <gymka@archlinux.lt>
Co-authored-by: jojo <welwhazosky@gmail.com>
Co-authored-by: mm4c <oldblue@vivaldi.net>
Co-authored-by: nzgha <nzgha.hw@runbox.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: translator <kvb@tuta.io>
Co-authored-by: xainsworth <202120614015@ogr.balikesir.edu.tr>
Co-authored-by: Ács Zoltán <acszoltan111@gmail.com>
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/ms/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl/
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_Hans/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant_HK/
Translation: NewPipe/Metadata
2022-02-18 20:39:51 +01:00
TobiGr
42aafd3a2d Update NewPipe Extractor to v0.21.14 2022-02-18 20:39:51 +01:00
litetex
2acaefdb2a Fixed scrolling not working when rotating device 2022-02-17 20:59:41 +01:00
litetex
9c2cdd2513 Removed useless code
https://github.com/TeamNewPipe/NewPipe/pull/7659#discussion_r793752985
2022-02-17 20:59:40 +01:00
litetex
01683aa816 Code improvements 2022-02-17 20:59:39 +01:00
litetex
85f701b94e Fixed listener not re-registering after e.g. a new search is started 2022-02-17 20:59:38 +01:00
litetex
ff7cfe4715 Reverted to loading behavior of #7638 and improved it
The previous/reverted behavior caused unwanted data transmission:
* Removed loading via handleResults/loadMoreItems-callback because the RecyclerView is apparently not immediately updated in the UI when the data is set which causes one load of data to much.
2022-02-17 20:59:38 +01:00
litetex
d3cd3d62b4 Tried to repair #4475 and #3368
* Always recreate the footer so that it's not possible to attach the same instance twice
* Removed support for creating a custom footer as it's never used
* Supply the header with an supplier
  * This might not fix the problem completely as we currently can only create the header once inside Channel, Playlist and RelatedItems-Fragment - allowing creation of multiple headers might be done in the future if the issues still arise
* Other minor fixes
2022-02-17 20:59:36 +01:00
litetex
91c67b085b Code improvements
Removed - partial - stupid code.
2022-02-17 20:59:35 +01:00
litetex
cd8c7ec3c0 Removed InfoListAdapter from checkstyle-suppressions
because if you modify something in the code the suppressions-file no longer matches
2022-02-17 20:59:34 +01:00
litetex
2c51a7970d Improved InfoListAdapter
* Removed unused code
* Cleaned it up
* Made code more readable
2022-02-17 20:59:33 +01:00
litetex
fb362022f7 Load enough initial data into BaseListFragment 2022-02-17 20:59:33 +01:00
litetex
2814ae6d3c Merge pull request #7884 from litetex/improve-image-minimizer
Improved image-minimizer
2022-02-17 19:33:39 +01:00
litetex
7225199deb Fixed typo
It was late when I typed this 😆
2022-02-16 20:31:15 +01:00
litetex
c08a4e851b Improved image-minimizer
* Don't minimize images that are too wide -> they will get stretched otherwise
* Don't try to modify the issue/comment when nothing changed
* Fixed typo
2022-02-15 20:09:21 +01:00
Robin
9f8e8c0856 Merge pull request #7679 from TacoTheDank/reportSenderKotlin
Update ACRA library
2022-02-14 15:35:00 +01:00
litetex
e2a7b9ac56 Switch to GitHub issue forms (#7773)
* Switched to GitHub issue forms

See also
* https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#creating-issue-forms
* https://github.blog/changelog/2021-06-23-issues-forms-beta-for-public-repositories/

* Switched expected and actual behavior

* Improved/Reworked issue template

Credits to @TheAssassin

* CI: Ignore changes to issue-templates

* Improved/Reworked issue template

Credits to @opusforlife2 and @mhmdanas

* Further improved the issue templates

* Next round of review

Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
2022-02-12 19:34:08 +00:00
Tobi
5e593f687d Merge pull request #7860 from litetex/fix-settings-search-language
Use the correct app language when searching in the settings
2022-02-11 21:20:08 +01:00
litetex
3223ec04e3 Use the correct app language when searching in the settings 2022-02-11 20:58:44 +01:00
litetex
f388a1af67 Added image-minimizer (#7772)
Co-authored-by: Mohammed Anas <triallax@tutanota.com>
2022-02-11 19:54:12 +00:00
Tobi
c1fe5c8d07 Merge pull request #7852 from TiA4f8R/player-recovery-workaround-play-thumbnail
Set workaround for playback position reset when switching to main player with content thumbnail
2022-02-11 20:49:12 +01:00
TiA4f8R
608e73e2f2 Set workaround for playback position reset when switching to main player with content thumbnail
The workaround set before was not applied when switching to main player with content thumbnail from popup or background player. This commit fixes this by applying the workaround when switching to main player with content thumbnail from popup or background player.
2022-02-11 19:32:13 +01:00
Tobi
2e538b8959 Add changelog for NewPipe 0.22.0 (983) (#7810)
* Add changelog for NewPipe 0.22.0 (983)
Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
Co-authored-by: Mohammed Anas <triallax@tutanota.com>
2022-02-11 15:25:25 +01:00
litetex
1278fc27ae Merge pull request #7803 from mhmdanas/paths-ignore-doc-dir
Add some stuff to `paths-ignore`
2022-02-09 19:57:47 +01:00
litetex
be95d7fe0f Merge pull request #7704 from Stypox/fix-stream-menu-crash
Fix crash when long-pressing stream while player is starting
2022-02-09 19:53:09 +01:00
Mohammed Anas
377914f1d8 Small changes to license section of README (#7710)
Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
2022-02-04 18:26:37 +00:00
Poussinou
5bf439ad9e Update FUNDING.yml (#7682)
Co-authored-by: Mohammed Anas <triallax@tutanota.com>
2022-02-04 10:36:00 +00:00
Mohammed Anas
3b1b23ba2a Add FUNDING.yml to paths-ignore 2022-02-04 10:32:33 +00:00
Mohammed Anas
9274e6417a Add files in doc to paths-ignore 2022-02-04 10:13:10 +00:00
Mohammed Anas
dce6565af4 Merge pull request #7776 from litetex/merged-master-into-dev-v0.21.16
Merge ``master`` branch back into ``dev``
2022-02-03 23:41:20 +03:00
Alberto Mosconi
8b3aec5edb Move translated READMEs to subfolder (#7784) 2022-02-03 20:33:27 +00:00
litetex
b0e4f947ea Fixed merge conflict
Co-authored-by: Mohammed Anas <triallax@tutanota.com>
2022-02-03 21:06:25 +01:00
TacoTheDank
79060f0bfe Update ACRA library 2022-02-02 13:12:29 -05:00
litetex
91bcd8766a Merge remote-tracking branch 'upstream/master' into experimental 2022-02-01 22:05:19 +01:00
Mohammed Anas
4e633504a8 Merge pull request #7753 from TeamNewPipe/release/0.21.16
Release 0.21.16
2022-02-01 16:18:52 +03:00
TobiGr
144a10f7a6 Release 0.21.16 (982) 2022-02-01 13:44:19 +01:00
TobiGr
72a2644f25 Update NewPipe Extractor to 0.21.13 2022-02-01 13:41:12 +01:00
Robin
e865c4350e Merge pull request #7661 from TiA4f8R/livestreams-improvements
Increase playlist stuck target duration coefficient and catch BehindLiveWindowExceptions properly
2022-02-01 11:38:12 +01:00
TiA4f8R
52cc4a0a05 Add JavaDoc for PlayerDataSource.PLAYLIST_STUCK_TARGET_DURATION_COEFFICIENT 2022-01-30 20:42:02 +01:00
TiA4f8R
e103e4817c Apply suggested changes and remove the CustomHlsPlaylistTracker class 2022-01-30 20:42:02 +01:00
TiA4f8R
d0637a8832 Suppress SonarLint NullPointerException warnings in CustomHlsPlaylistTracker
They seem to be wrong, by looking at the class work and at the return of CustomHlsPlaylistTracker's methods.
2022-01-30 20:42:02 +01:00
TiA4f8R
94f774b82d Use a custom HlsPlaylistTracker, based on DefaultHlsPlaylistTracker to allow more stucking on HLS livestreams
ExoPlayer's default behavior is to use a multiplication of target segment by a coefficient (3,5).
This coefficient (and this behavior) cannot be customized without using a custom HlsPlaylistTracker right now.

New behavior is to wait 15 seconds before throwing a PlaylistStuckException.
This should improve a lot HLS live streaming on (very) low-latency livestreams with buffering issues, especially on YouTube with their HLS manifests.
2022-01-30 20:42:01 +01:00
TiA4f8R
651b79d3ed Catch properly BehindLiveWindowExceptions
Instead of trying to reload the play queue manager and then throwing an error, BehindLiveWindowExceptions now make the app seek to the default playback position, like recommended by ExoPlayer.
The buffering state is shown in this case.

Error handling of other exceptions is not changed.
2022-01-30 20:42:01 +01:00
Radplay
9e5b9ca326 Polish translation of README (#7694)
Co-authored-by: Mohammed Anas <triallax@tutanota.com>
2022-01-30 20:10:53 +03:00
litetex
dfa606ef49 Merge pull request #7586 from litetex/add-preference-search
Made preferences searchable
2022-01-30 17:08:04 +01:00
litetex
2886bc3b01 Merge pull request #4833 from vkay94/youtube-rewind-forward
YouTube's Fast Forward/Rewind behavior
2022-01-30 17:07:15 +01:00
Stypox
71c5aaa11e Do not show enqueue button if play queue not ready 2022-01-27 17:11:16 +01:00
Stypox
466db83375 Improve HistoryRecordManager tests (#7700)
* Improve HistoryRecordManager tests

* Improve shuffle as requested
2022-01-27 14:43:51 +01:00
Stypox
17c0fffd73 Merge pull request #7538 from ktprograms/fix-queue-channel-details-not-in-db
Load uploaderUrl when showing Channel Details from Play Queue
2022-01-26 09:58:32 +01:00
litetex
8a069b497f Code cleanup
Co-authored-by: Stypox <stypox@pm.me>
2022-01-25 20:47:53 +01:00
litetex
af79479716 Fixed "Changing the seeks duration does not update the displayed seconds" 2022-01-25 20:44:49 +01:00
litetex
8cfe8c17e3 Merge pull request #7693 from TiA4f8R/fix-first-item-play-queue-always-played
Fix first item always played in the play queue when reloading play queue manager
2022-01-25 19:55:10 +01:00
Stypox
5108d75682 Fix NPE and add some @Nullables
Fix NullPointerException in PlayerHolder.getQueueSize() and add `@Nullable` here and there so that the linter reports risks of NPEs
2022-01-25 17:37:20 +01:00
Stypox
ac53196dcc Merge pull request #7678 from TacoTheDank/gradleDeprecations
Fix some gradle deprecations
2022-01-25 10:17:09 +01:00
ktprograms
1e652b159e Load uploaderUrl when showing Channel Details from Play Queue
This checks if the uploaderUrl is in the database, if not it gets the
uploaderUrl and puts it in the database. This is similar to the fetching
of uploaderUrl when it doesn't exist done in #6919.

Also use createNotification when error occurs in getStreamInfo.
2022-01-25 11:00:34 +08:00
TiA4f8R
ea07d7751b Fix first item played in playlists when switching player type or resolution
The issue was caused by an ExoPlayer change, which when setting a media source, resets the current playback position and the current window index by default.

Also set player recovery in more places to fix playback position not propely set in some cases after a player type switch.
2022-01-24 21:40:16 +01:00
litetex
82de35d724 Use view binding inside `PreferenceViewHolder` 2022-01-24 21:08:52 +01:00
litetex
f55e8ea3aa Use ViewBinding 2022-01-24 21:08:52 +01:00
litetex
7067ebdd12 Fixed imports 2022-01-24 21:08:51 +01:00
litetex
03bb2123f2 Removed breadcrumbs customization 2022-01-24 21:08:51 +01:00
litetex
e2f449f0c8 Code improvements
* Renamed methods so that they are more understandable
* Removed ``SearchIndexItem``
2022-01-24 21:08:50 +01:00
litetex
b16e972710 Improved doc 2022-01-24 21:08:50 +01:00
litetex
37cd71328c Moved `FuzzyScore` to original Apache package 2022-01-24 21:08:49 +01:00
litetex
9b2c86a37b Improved documentation 2022-01-24 21:08:48 +01:00
litetex
ce4dd33eab Fixed problems with Android's lifecycle (restore) 2022-01-24 21:08:48 +01:00
litetex
8bbc3e531c Fixed gitignore and commited missing file 2022-01-24 21:08:47 +01:00
litetex
c5a06243a6 Fixed variable name 2022-01-24 21:08:47 +01:00
litetex
bebd2b449c Removed unused import 2022-01-24 21:08:46 +01:00
litetex
658168eb8d Fixed some sonar warnings 2022-01-24 21:08:45 +01:00
litetex
6b23df0659 Made debug settings searchable (debug only)
* Consolidated main-setttings into a single file
* Debug settings are only enabled in the DEBUG build
* Moved LeakCanary (debug) specific stuff into a small class that's only shipped with the debug build
* Other minor fixes
2022-01-24 21:08:45 +01:00
litetex
d59314801c Code rework 2022-01-24 21:08:44 +01:00
litetex
0f45c69388 Code cleanup + indexing improvements
* Removed unused method
* Only index all settings once -> Saves performance
* Fixed some SonarLint reported problems
2022-01-24 21:08:44 +01:00
litetex
52542e04e8 Added fuzzy searching + Some minor code refactoring 2022-01-24 21:08:43 +01:00
litetex
7fc0a3841a Fine tuning 2022-01-24 21:08:42 +01:00
litetex
22db4175f3 Moved reset-reCAPTCHA-cookie to cache tab and made it read-only
so that the search works as expected
2022-01-24 21:08:42 +01:00
litetex
8fc935b09d Added resource files
Forgot to commit them before...
2022-01-24 21:08:41 +01:00
litetex
07fb319e88 Applied code changes for preference search framework 2022-01-24 21:08:41 +01:00
litetex
12a78a826d Added preference search "framework" 2022-01-24 21:08:40 +01:00
litetex
4a061f20ed Code cleanup 2022-01-24 21:08:39 +01:00
litetex
f3be89b503 Abstracted methods for the Android keyboard 2022-01-24 21:08:39 +01:00
litetex
12acaf29dd Added credit to the project which inspired the preference search 2022-01-24 21:08:38 +01:00
litetex
683d9816cb Removed dead code 2022-01-24 21:08:38 +01:00
Tobi
8802582997 Merge pull request #7699 from litetex/sync-weblate-v2
Sync weblate v2
2022-01-24 20:42:20 +01:00
Ajeje Brazorf
983c98d262 Translated using Weblate (Sardinian)
Currently translated at 100.0% (640 of 640 strings)
2022-01-24 20:15:51 +01:00
Alex25820
c38389672a Translated using Weblate (Swedish)
Currently translated at 100.0% (640 of 640 strings)
2022-01-24 20:15:50 +01:00
litetex
93148400a2 Merge pull request #7689 from litetex/sync-weblate
Sync weblate
2022-01-24 19:59:44 +01:00
TobiGr
194e43f5cb Remove unused strings
report_player_errors_title and report_player_errors_summary were removed in #7482
2022-01-23 22:40:48 +01:00
retiolus
08c928e1d0 Translated using Weblate (Catalan)
Currently translated at 98.5% (631 of 640 strings)
2022-01-23 21:05:46 +01:00
subba raidu
69dacb34b9 Translated using Weblate (Telugu)
Currently translated at 66.0% (423 of 640 strings)
2022-01-23 21:05:45 +01:00
Danial Behzadi
60c3a2dc9c Translated using Weblate (Persian)
Currently translated at 100.0% (640 of 640 strings)
2022-01-23 21:05:45 +01:00
TiA4f8R
b8e5e036b2 Translated using Weblate (French)
Currently translated at 99.2% (635 of 640 strings)
2022-01-23 21:05:44 +01:00
VfBFan
2f87305f2d Translated using Weblate (German)
Currently translated at 100.0% (640 of 640 strings)
2022-01-23 21:05:43 +01:00
translator
15dc99f110 Translated using Weblate (French)
Currently translated at 99.2% (635 of 640 strings)
2022-01-23 21:05:42 +01:00
qqqq1
2d907706ea Translated using Weblate (Persian)
Currently translated at 100.0% (640 of 640 strings)
2022-01-23 21:05:40 +01:00
ssantos
f5dbb07893 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (640 of 640 strings)
2022-01-23 21:05:40 +01:00
Zi
a437672dc1 Translated using Weblate (Javanese)
Currently translated at 9.5% (61 of 640 strings)
2022-01-23 21:05:39 +01:00
Yaron Shahrabani
388a4860b5 Translated using Weblate (Hebrew)
Currently translated at 100.0% (640 of 640 strings)
2022-01-23 21:05:39 +01:00
Jeff Huang
4b72ee53b0 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (640 of 640 strings)
2022-01-23 21:05:39 +01:00
Agnieszka C
d77c23ed34 Translated using Weblate (Polish)
Currently translated at 100.0% (640 of 640 strings)
2022-01-23 21:05:39 +01:00
Rex_sa
31635c122e Translated using Weblate (Arabic)
Currently translated at 100.0% (640 of 640 strings)
2022-01-23 21:05:38 +01:00
Soare Robert Daniel
afef793fbb Translated using Weblate (Romanian)
Currently translated at 97.9% (627 of 640 strings)
2022-01-23 21:05:38 +01:00
Vasilis K
3bc2ec90ef Translated using Weblate (Greek)
Currently translated at 100.0% (640 of 640 strings)
2022-01-23 21:05:38 +01:00
Sergio Varela
a3e68c93f8 Translated using Weblate (Basque)
Currently translated at 100.0% (640 of 640 strings)
2022-01-23 21:05:37 +01:00
ssantos
15e6f1cb3b Translated using Weblate (Portuguese)
Currently translated at 100.0% (640 of 640 strings)
2022-01-23 21:05:37 +01:00
S3aBreeze
89c540c520 Translated using Weblate (Russian)
Currently translated at 100.0% (640 of 640 strings)
2022-01-23 21:05:37 +01:00
mm4c
6632720bc3 Translated using Weblate (Dutch)
Currently translated at 100.0% (640 of 640 strings)
2022-01-23 21:05:37 +01:00
TiA4f8R
b5662c2d07 Translated using Weblate (French)
Currently translated at 99.2% (635 of 640 strings)
2022-01-23 21:05:36 +01:00
ssantos
0f74c2463e Translated using Weblate (Portuguese (Portugal))
Currently translated at 99.8% (639 of 640 strings)
2022-01-23 21:05:36 +01:00
MohammedSR Vevo
fdfdf94cb9 Translated using Weblate (Kurdish (Central))
Currently translated at 99.2% (635 of 640 strings)
2022-01-23 21:05:36 +01:00
Mikkel
8595078053 Translated using Weblate (Danish)
Currently translated at 51.2% (328 of 640 strings)
2022-01-23 21:05:36 +01:00
Priit Jõerüüt
80be089ca9 Translated using Weblate (Estonian)
Currently translated at 100.0% (640 of 640 strings)
2022-01-23 21:05:35 +01:00
Karl Tammik
96ab2f855e Translated using Weblate (Estonian)
Currently translated at 100.0% (640 of 640 strings)
2022-01-23 21:05:35 +01:00
Ihor Hordiichuk
4206ae84c1 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (640 of 640 strings)
2022-01-23 21:05:35 +01:00
Mohammed Anas
2f21523da9 Translated using Weblate (Arabic)
Currently translated at 99.6% (638 of 640 strings)
2022-01-23 21:05:35 +01:00
Daniel
6c1222ea32 Translated using Weblate (Romanian)
Currently translated at 96.4% (617 of 640 strings)
2022-01-23 21:05:34 +01:00
ssantos
ba50de236c Translated using Weblate (Portuguese)
Currently translated at 99.8% (639 of 640 strings)
2022-01-23 21:05:34 +01:00
translator
bef8882a7c Translated using Weblate (French)
Currently translated at 99.2% (635 of 640 strings)
2022-01-23 21:05:34 +01:00
Allan Nordhøy
0d8b7e23e7 Translated using Weblate (English)
Currently translated at 100.0% (640 of 640 strings)
2022-01-23 21:05:34 +01:00
retiolus
864c19e7dc Translated using Weblate (Catalan)
Currently translated at 94.8% (607 of 640 strings)
2022-01-23 21:05:34 +01:00
subba raidu
4b0ed9de5d Translated using Weblate (Telugu)
Currently translated at 63.5% (407 of 640 strings)
2022-01-23 21:05:33 +01:00
ToldYouThat
d18a34b766 Translated using Weblate (Turkish)
Currently translated at 100.0% (640 of 640 strings)
2022-01-23 21:05:33 +01:00
zeritti
0cf24c5d36 Translated using Weblate (Czech)
Currently translated at 100.0% (640 of 640 strings)
2022-01-23 21:05:33 +01:00
Hosted Weblate
fa293e3415 Translated using Weblate (Telugu)
Currently translated at 58.4% (374 of 640 strings)

Translated using Weblate (Swedish)

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 (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 (Japanese)

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 (Sardinian)

Currently translated at 100.0% (640 of 640 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 94.8% (607 of 640 strings)

Translated using Weblate (Swedish)

Currently translated at 99.6% (638 of 640 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (640 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 (Ukrainian)

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 (Basque)

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 (Japanese)

Currently translated at 99.5% (637 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 (Spanish)

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 (Chinese (Simplified))

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Swedish)

Currently translated at 25.8% (16 of 62 strings)

Translated using Weblate (Portuguese)

Currently translated at 67.7% (42 of 62 strings)

Translated using Weblate (Ukrainian)

Currently translated at 82.2% (51 of 62 strings)

Translated using Weblate (Telugu)

Currently translated at 51.4% (328 of 638 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Czech)

Currently translated at 97.1% (620 of 638 strings)

Translated using Weblate (Japanese)

Currently translated at 99.2% (633 of 638 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (French)

Currently translated at 99.5% (635 of 638 strings)

Translated using Weblate (French)

Currently translated at 99.5% (635 of 638 strings)

Translated using Weblate (Santali)

Currently translated at 13.9% (89 of 638 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (62 of 62 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 59.6% (37 of 62 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 66.1% (41 of 62 strings)

Translated using Weblate (Persian)

Currently translated at 62.9% (39 of 62 strings)

Translated using Weblate (Spanish)

Currently translated at 58.0% (36 of 62 strings)

Translated using Weblate (Dutch)

Currently translated at 12.9% (8 of 62 strings)

Translated using Weblate (Hebrew)

Currently translated at 51.6% (32 of 62 strings)

Translated using Weblate (Portuguese)

Currently translated at 66.1% (41 of 62 strings)

Translated using Weblate (Ukrainian)

Currently translated at 80.6% (50 of 62 strings)

Translated using Weblate (Dutch)

Currently translated at 98.4% (628 of 638 strings)

Translated using Weblate (Hindi)

Currently translated at 4.9% (3 of 61 strings)

Translated using Weblate (Hungarian)

Currently translated at 6.5% (4 of 61 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Russian)

Currently translated at 99.8% (637 of 638 strings)

Translated using Weblate (Hungarian)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (French)

Currently translated at 99.3% (634 of 638 strings)

Translated using Weblate (Hungarian)

Currently translated at 6.5% (4 of 61 strings)

Translated using Weblate (Hungarian)

Currently translated at 6.5% (4 of 61 strings)

Translated using Weblate (Hungarian)

Currently translated at 4.9% (3 of 61 strings)

Translated using Weblate (Telugu)

Currently translated at 51.0% (326 of 638 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Swedish)

Currently translated at 24.5% (15 of 61 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Croatian)

Currently translated at 98.7% (630 of 638 strings)

Translated using Weblate (Vietnamese)

Currently translated at 99.8% (637 of 638 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 99.0% (632 of 638 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (638 of 638 strings)

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

Currently translated at 58.4% (373 of 638 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (638 of 638 strings)

Added translation using Weblate (English (Middle))

Translated using Weblate (Dutch)

Currently translated at 11.4% (7 of 61 strings)

Translated using Weblate (Telugu)

Currently translated at 50.6% (323 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 97.9% (625 of 638 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Persian)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Greek)

Currently translated at 99.8% (637 of 638 strings)

Translated using Weblate (Japanese)

Currently translated at 98.5% (629 of 638 strings)

Translated using Weblate (Russian)

Currently translated at 98.1% (626 of 638 strings)

Translated using Weblate (French)

Currently translated at 98.5% (629 of 638 strings)

Translated using Weblate (Spanish)

Currently translated at 99.0% (632 of 638 strings)

Translated using Weblate (German)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (English)

Currently translated at 100.0% (631 of 631 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (631 of 631 strings)

Translated using Weblate (French)

Currently translated at 99.6% (629 of 631 strings)

Translated using Weblate (Telugu)

Currently translated at 43.2% (273 of 631 strings)

Translated using Weblate (Japanese)

Currently translated at 99.8% (630 of 631 strings)

Translated using Weblate (French)

Currently translated at 99.6% (629 of 631 strings)

Co-authored-by: Abhishek Kumar <abhi7737-22@yahoo.com>
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: Alfonso Scarpino <alfonso.scarpino@gmail.com>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Andreas P <andreas.polnas93@hotmail.com>
Co-authored-by: Andrey F <firsan777@mail.ru>
Co-authored-by: Balázs Meskó <meskobalazs@mailbox.org>
Co-authored-by: Boros Zsombor <zsombor2626@gmail.com>
Co-authored-by: Calcitem <calcitem@outlook.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: Florian <flo.site@zaclys.net>
Co-authored-by: GnuPGを使うべきだ <dieeeazpnnqbpddh@cock.email>
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: JY3 <GeeyunJY3@gmail.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: Name Protected <notemailprotected@protonmail.com>
Co-authored-by: Prasanta-Hembram <Prasantahembram720@gmail.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: Ricardo <contatorms7@tutamail.com>
Co-authored-by: S3aBreeze <paperwork@evilcorp.ltd>
Co-authored-by: TiA4f8R <avdivers84@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: Yuki Monkey <ymonkey32@gmail.com>
Co-authored-by: bomzhellino <adm.bomzh@gmail.com>
Co-authored-by: bruh <quangtrung02hn16@gmail.com>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: evfjunior <evfjunior@protonmail.com>
Co-authored-by: mm4c <oldblue@vivaldi.net>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: ndrnry <ondernuray@gmail.com>
Co-authored-by: nzgha <nzgha@runbox.com>
Co-authored-by: nzgha <nzghafoss.ldxwe@slmail.me>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: subba raidu <raidu4u@gmail.com>
Co-authored-by: translator <kvb@tuta.io>
Co-authored-by: wmd arg <wmdarg3@gmail.com>
Co-authored-by: zmni <zmni@outlook.com>
Co-authored-by: 刘韬 <lyuutau@outlook.com>
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/hi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hu/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl/
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/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/
Translation: NewPipe/Metadata
2022-01-23 21:05:32 +01:00
Stypox
1531a5112c Merge pull request #7614 from litetex/revert-7568
Revert #7568
2022-01-23 15:54:55 +01:00
litetex
e127db6fa6 Simplified toast showing behavior
after feedback from the review
2022-01-23 15:34:11 +01:00
litetex
49b1649348 Revert "Merge pull request #7568 from vhouriet/vhouriet_feature_already-playing-in-backgroud"
This reverts commit ee19ea66b3, reversing
changes made to 6b490ee547.
2022-01-23 15:34:11 +01:00
Filip Czaplicki
9f503917c2 Android TV banner with text (#7566)
The banner was made by @AioiLight.
2022-01-22 20:29:12 +03:00
litetex
54ef604569 Improved docs 2022-01-21 22:49:25 +01:00
litetex
30ce906f72 Apply seek conditions based on direction
* When rewinding: Check if <0,5s
* When fast-forwarding: Check if player has completed or the current playback has ended

This allows rewinding on the endscreen
2022-01-21 22:49:25 +01:00
litetex
1c20eabb48 Code cleanup 2022-01-21 22:49:25 +01:00
litetex
f8c52c4dac Fixed SonarLint problems
* Removed alphaRelativeDuration as there is no use for it
2022-01-21 22:49:24 +01:00
litetex
345ba74d58 Fixed naming 2022-01-21 22:49:24 +01:00
litetex
d2aaf152a0 Removed related import 2022-01-21 22:49:24 +01:00
litetex
7bf1f3dba6 Removed unused field 2022-01-21 22:49:24 +01:00
litetex
452fe3a8e2 Respect disabled animations 2022-01-21 22:49:24 +01:00
litetex
c25e523df6 Removed all animations to be consistent with the current behavior 2022-01-21 22:49:23 +01:00
litetex
65bb1dcdbf Refactored code 2022-01-21 22:49:23 +01:00
litetex
fe42206e94 Code cleanup and minimization
* Deduplicated and simplified a lot of code
* Fixed ``invalidSeekConditions`` so that it's possible to seek while the player is loading (like currently the case)
2022-01-21 22:49:23 +01:00
TobiGr
dac47d9f52 Replace NotNull annotation with NonNull annotation 2022-01-21 22:49:23 +01:00
Stypox
83a3d11f38 Small improvements to player 2022-01-21 22:49:22 +01:00
Stypox
03d5372525 Fix buttons' selectable item background not working in player 2022-01-21 22:49:22 +01:00
Stypox
a454a41b51 Fix controls not hiding correctly when switching player 2022-01-21 22:49:22 +01:00
Stypox
95631dba46 Convert SecondsView from kotlin synthetics to view binding 2022-01-21 22:49:22 +01:00
Stypox
ee827407aa Fix seek triangles not visible on API 19 2022-01-21 22:49:22 +01:00
vkay94
3aebfa22e9 SeekOverlay: Switch to merge for SecondsView and other adjustments 2022-01-21 22:49:21 +01:00
vkay94
72eb3b4415 SeekOverlay: Add seek overlay logic to player 2022-01-21 22:49:21 +01:00
vkay94
3a40759cd2 SeekOverlay: Add Views 2022-01-21 22:49:21 +01:00
litetex
6f44ced7b6 Merge pull request #7672 from Stypox/fix-froid-icon
Add app icon to fastlane metadata
2022-01-21 22:35:48 +01:00
litetex
81843ddb6e Merge pull request #7670 from XiangRongLin/search_history_test
Ensure order of search history entries in tests
2022-01-21 22:34:48 +01:00
TacoTheDank
23d14ab443 Fix some gradle deprecations 2022-01-21 16:25:11 -05:00
litetex
3d3d94655b Fixed imports 2022-01-21 22:19:52 +01:00
litetex
a6515d5450 Moved timeout control from the tests to the CI pipeline
How fast a tests is executed on a shared CI pipeline is not predictable as the build might be throttled because other builds are running.
Therefore adding extremely short timeouts inside the tests - where they can't be changed - is a bad idea.
Removed them for now.
2022-01-21 22:15:34 +01:00
litetex
2d0da2c7a4 Merge pull request #7317 from TacoTheDank/ignoreStrings
Some untranslatable string improvements
2022-01-21 20:57:45 +01:00
akamayu-ouo
f05affa984 Add traditional Chinese README (#7618)
* Add traditional Chinese README
2022-01-21 20:56:14 +01:00
XiangRongLin
cd265fc31f Make SearchHistoryEntry.kt fields nullable to match java version (#7674) 2022-01-21 16:01:11 +00:00
XiangRongLin
3c21be8fa5 use constant instead of now 2022-01-20 19:14:47 +01:00
litetex
f681b0bb5a Merge pull request #7648 from mhmdanas/small-refactors
Fix false warning
2022-01-19 19:48:07 +01:00
XiangRongLin
d7fbddf6f8 Merge pull request #7668 from litetex/fix-video-reset-on-player-switch
Workaround: Set recovery before switching player
2022-01-19 16:45:10 +01:00
Stypox
993c34911a Add app icon to fastlane metadata
For some reason F-Droid decided not to grab it from Android metadata anymore
2022-01-19 12:03:46 +01:00
XiangRongLin
4a7cfd1a6c Ensure order of search history entries in tests 2022-01-18 18:36:43 +01:00
mhmdanas
402990dd9d Fix false warning 2022-01-18 07:40:59 +03:00
litetex
41faf70da1 Workaround: Set recovery before switching player
Quick fix
2022-01-17 20:52:07 +01:00
litetex
15e3b6301c Merge pull request #7662 from TiA4f8R/fix-npe-share-button-playlists
Fix crash when sharing a playlist which is loading
2022-01-16 19:47:55 +01:00
XiangRongLin
5b9c28b93b Replace JUnit asserts with AssertJ in HistoryRecordManagerTest (#7654)
* Replace JUnit asserts with AssertJ in HistoryRecordManagerTest

They provide a wider range of assertions, which allow for more detailed error messages.
Also convert SearchHistoryEntry to kotlin data class for better error messages, since toString() is implemented.

Co-authored-by: Mohammed Anas <triallax@tutanota.com>
2022-01-16 09:10:45 +01:00
TiA4f8R
6672169707 Fix NullPointerException when sharing a playlist which is loading
Prevent a NullPointerException by adding a null check for currentInfo when sharing a playlist.
2022-01-15 21:19:04 +01:00
XiangRongLin
9ff1baefde Merge pull request #7636 from litetex/show-ci-android-test-failures
CI: Upload test-report when an error occurs
2022-01-10 09:41:12 +01:00
litetex
552734faa5 CI: Upload test-report when an error occurs 2022-01-09 18:09:47 +01:00
TacoTheDank
7268e04361 Remove redundant XML attributes in settings_keys 2022-01-07 21:26:51 -05:00
TacoTheDank
45d8fef00c Update F-Droid VLC link 2022-01-07 21:24:25 -05:00
TacoTheDank
0f83497284 Move untranslatable strings to a donottranslate file 2022-01-07 21:24:01 -05:00
Stypox
1475ff805f Merge pull request #7619 from litetex/removed-list_thumbnail_view_description
Removed "list_thumbnail_view_description"
2022-01-07 22:10:27 +01:00
Stypox
7907182e7e Merge pull request #7036 from Douile/fix/queue-metadata
Load full stream info when enqueuing a stream
2022-01-07 21:57:30 +01:00
litetex
0f457127df Removed "list_thumbnail_view_description"
due to accessibility problems
2022-01-04 16:00:01 +01:00
Douile
064242d962 Remove unecessary interface InfoCallback
Co-authored-by: Stypox <stypox@pm.me>

Replace the unecessary callback interface InfoCallback in favour of the
standard type Consumer<SinglePlayQueue>
2022-01-03 17:52:27 +00:00
litetex
ddcbe27fd3 Fixed search not accepting key input after closing player overlay (#7607)
* Fixed search not accepting key input after closing player overlay

* Made comments easier to understand

* More comments
2022-01-03 11:52:08 +01:00
litetex
ee19ea66b3 Merge pull request #7568 from vhouriet/vhouriet_feature_already-playing-in-backgroud
Add Already playing in background toast
2021-12-31 14:54:05 +01:00
litetex
6b490ee547 Merge pull request #7582 from Jaspann/sub-channel-tumbnail-view-fix
Fixes view of sub-channel icon when not in use
2021-12-31 14:52:32 +01:00
litetex
e127697fff Merge pull request #7589 from litetex/bump-extractor
Updated NewPipeExtractor
2021-12-29 14:44:51 +01:00
Jaspann
558c9147a2 Move sub icon visibility line 2021-12-28 15:54:36 -05:00
litetex
4147c7c1d1 Updated NewPipeExtractor 2021-12-27 18:41:53 +01:00
Tobi
45ef9b0278 Merge pull request #7577 from dkramer95/feature/pinned-comment
Added ability to see pinned comment
2021-12-27 16:51:36 +01:00
litetex
fc0e709817 Fixed usage of wrong string 2021-12-27 00:14:04 +01:00
litetex
b67bf16d4f Minified code 2021-12-26 23:57:54 +01:00
William Parker
fb3be544ce Fixed code styling 2021-12-26 00:12:48 -05:00
Jaspann
53f5741317 Fixes view of sub-channel icon when not in use 2021-12-25 18:10:05 -05:00
David Kramer
07015973d2 Added ability to see pinned comment 2021-12-24 11:29:34 -06:00
Tobi
215880207e Merge pull request #7562 from TeamNewPipe/code-quality
Small improvements to code quality and readability
2021-12-23 23:54:29 +01:00
TobiGr
41c4ab5739 Merge branch 'master' into dev 2021-12-23 23:41:37 +01:00
TobiGr
ff8868f6a3 NewPipe version 0.21.15 (981) 2021-12-23 23:41:20 +01:00
Robin
8c6e37d1d1 Disable media tunneling on Philips QM16XE 2021-12-23 23:35:04 +01:00
litetex
c90237c14c Removed/Reverted MediaParser support (Android 11+) due to bugs 2021-12-23 23:33:55 +01:00
vhouriet
989bcbf895 Add Already playing in background toast 2021-12-23 22:12:38 +01:00
XiangRongLin
19dd9d266a Merge pull request #6855 from TeamNewPipe/fix/inspection
Fix readme link
2021-12-23 11:47:03 +01:00
XiangRongLin
05370dbb94 Merge pull request #7556 from Jaspann/improve-hashtags
Fixes hashtags that use non-English characters.
2021-12-23 11:45:52 +01:00
TobiGr
f3edc69897 Fix incorrect link in Japanese README 2021-12-22 21:16:45 +01:00
Robin
f6cad2d9cf Merge pull request #7555 from litetex/remove-mediaparser
Remove/Revert MediaParser support (Android 11+) due to bugs
2021-12-22 17:32:28 +01:00
XiangRongLin
dc67628ba5 Log test-android CI job in stacktrace mode 2021-12-22 09:55:16 +01:00
TobiGr
37b8a9375f Small improvements to code quality and readability
Add annotations to methods and parameters.
Replace Jetbrains' @NotNull with Androidx' @NonNull annotatiation.
Make class variables static if possible.
Use constants for some Strings.
Simplify if conditions.
2021-12-21 20:55:41 +01:00
TobiGr
d71af9a625 Introduce constants for some Strings that indicate no data in Tab class 2021-12-21 20:53:17 +01:00
TobiGr
a163d5461d Make PlayerHolder.bound private 2021-12-21 20:51:18 +01:00
Jaspann
a274baf5cd Adds comment to HASHTAGS_PATTERN 2021-12-20 14:13:40 -05:00
XiangRongLin
96eb1425f8 Merge pull request #7552 from XiangRongLin/readd_sonar
Readd sonar CI job
2021-12-20 03:32:28 -05:00
Jaspann
361760be0a Allows multilingual support in hashtags 2021-12-19 20:33:55 -05:00
litetex
eea2768633 Removed/Reverted MediaParser support (Android 11+) due to bugs 2021-12-19 20:16:10 +01:00
Robin
d3562c70f5 Merge pull request #7451 from Cheechaii/respect-cutout-in-multiwindow
Respect cutouts when playing in MultiWindow
2021-12-19 13:23:28 +01:00
XiangRongLin
e06342eacf Readd sonar CI job 2021-12-19 12:18:37 +01:00
litetex
e8d909553d Merge pull request #7499 from TacoTheDank/bumpVersions
Update a bunch of libraries
2021-12-18 22:52:11 +01:00
litetex
b21d231e3a Merge pull request #7452 from litetex/show-alert-when-file-manager-not-found
Show an alert-dialog when no appropriate file-manager was found
2021-12-14 20:01:02 +01:00
litetex
4058277b7a Merge pull request #7482 from TeamNewPipe/unify-error-reporting
Unify error reporting and add error notification
2021-12-14 19:58:41 +01:00
XiangRongLin
dd9772cde2 Merge pull request #7491 from Stypox/fix-search-order
Fix order of local search results
2021-12-14 09:07:17 -05:00
TacoTheDank
a924f819a9 Update a bunch of libraries 2021-12-12 21:26:59 -05:00
TacoTheDank
156bbad5b5 Update Gradle 2021-12-12 20:03:42 -05:00
Stypox
2963cd5c6e Add HistoryRecordManagerTest 2021-12-12 16:00:16 +01:00
Stypox
7d6688f497 Add DatabaseMocker to mock NewPipeDatabase 2021-12-12 15:59:04 +01:00
litetex
b056faa97f Merge pull request #7500 from TacoTheDank/bumpKtlint
Bump ktlint, Checkstyle, Java version
2021-12-12 15:07:24 +01:00
Douile
3ff00ff50e Fix lambda code formatting
Co-authored-by: Stypox <stypox@pm.me>
2021-12-12 13:04:32 +00:00
Tom
baee915db5 Remove unecessary line
Co-authored-by: Stypox <stypox@pm.me>
2021-12-12 12:51:01 +00:00
Tobi
4e6dcc693b Merge pull request #7524 from TeamNewPipe/master
Sync changes from ``master`` back to ``dev``
2021-12-11 17:32:29 +01:00
litetex
3750561b4d Merge pull request #7475 from litetex/release/v0.21.14
Release/v0.21.14
2021-12-11 17:06:29 +01:00
Hosted Weblate
6b026557d4 Translated using Weblate (French)
Currently translated at 99.5% (628 of 631 strings)

Translated using Weblate (Hungarian)

Currently translated at 3.2% (2 of 61 strings)

Translated using Weblate (Punjabi)

Currently translated at 4.9% (3 of 61 strings)

Translated using Weblate (Telugu)

Currently translated at 6.5% (4 of 61 strings)

Translated using Weblate (German)

Currently translated at 50.8% (31 of 61 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (631 of 631 strings)

Translated using Weblate (Punjabi)

Currently translated at 91.4% (577 of 631 strings)

Translated using Weblate (Telugu)

Currently translated at 38.1% (241 of 631 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (631 of 631 strings)

Translated using Weblate (Japanese)

Currently translated at 99.2% (626 of 631 strings)

Translated using Weblate (Russian)

Currently translated at 99.8% (630 of 631 strings)

Translated using Weblate (Serbian)

Currently translated at 96.5% (609 of 631 strings)

Translated using Weblate (German)

Currently translated at 100.0% (631 of 631 strings)

Translated using Weblate (Tamil)

Currently translated at 1.6% (1 of 61 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (61 of 61 strings)

Translated using Weblate (Polish)

Currently translated at 55.7% (34 of 61 strings)

Translated using Weblate (Hebrew)

Currently translated at 50.8% (31 of 61 strings)

Translated using Weblate (Ukrainian)

Currently translated at 80.3% (49 of 61 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (631 of 631 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (631 of 631 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (631 of 631 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (631 of 631 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (631 of 631 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (631 of 631 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (631 of 631 strings)

Translated using Weblate (Japanese)

Currently translated at 98.8% (624 of 631 strings)

Translated using Weblate (Dutch)

Currently translated at 99.8% (630 of 631 strings)

Translated using Weblate (French)

Currently translated at 99.0% (625 of 631 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (631 of 631 strings)

Translated using Weblate (German)

Currently translated at 100.0% (631 of 631 strings)

Translated using Weblate (English)

Currently translated at 100.0% (631 of 631 strings)

Translated using Weblate (English)

Currently translated at 100.0% (631 of 631 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Alex25820 <Alexander_sjogren@hotmail.se>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Balázs Meskó <meskobalazs@mailbox.org>
Co-authored-by: GnuPGを使うべきだ <dieeeazpnnqbpddh@cock.email>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Human Beeing <thankful_human@mailbox.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: JY3 <GeeyunJY3@gmail.com>
Co-authored-by: Linerly <linerly@protonmail.com>
Co-authored-by: Naveen <naveen.translator@protonmail.com>
Co-authored-by: Ricardo <contatorms7@tutamail.com>
Co-authored-by: Terry Louwers <t.louwers@gmail.com>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: nzgha <nzghafoss.ldxwe@slmail.me>
Co-authored-by: rickeesingh <rickeesingh231@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: subba raidu <raidu4u@gmail.com>
Co-authored-by: translator <kvb@tuta.io>
Co-authored-by: Даниил Морозюк <morozdan2003@gmail.com>
Co-authored-by: Саша Петровић <salepetronije@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
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/pa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ta/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/te/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translation: NewPipe/Metadata
2021-12-11 16:51:35 +01:00
litetex
1ee137bbda Updated to NewPipeExtractor to version `v0.21.12` 2021-12-11 16:21:34 +01:00
Cheechaii
c92a90749e Respect cutouts when playing in MultiWindow 2021-12-09 20:58:05 +01:00
litetex
e806f8c4e6 Android 10+ only allows SAF -> Respect that in the dialog 2021-12-08 20:22:26 +01:00
Stypox
8a5e2ffa57 Fix order of local search results 2021-12-08 13:59:32 +01:00
litetex
ad405d9e0b Merge pull request #7481 from mhmdanas/add-fsfe-tube-link-support
Add FSFE-Tube PeerTube instance
2021-12-07 21:55:17 +01:00
litetex
b9ee14ac30 Update string-resource
Co-authored-by: Stypox <stypox@pm.me>
2021-12-07 21:31:12 +01:00
Stypox
bb49b1cfb1 Add javadoc to ErrorUtil and ErrorActivity 2021-12-07 18:14:53 +01:00
litetex
4fc9443b4f Merge pull request #7497 from TeamNewPipe/fix-qm16xe
Disable media tunneling on Philips QM16XE
2021-12-06 20:54:07 +01:00
litetex
581ede022e Merge pull request #7498 from litetex/fix-get-it-on-fdroid
Updated/Fixed "Get it on F-Droid"
2021-12-06 20:35:45 +01:00
TacoTheDank
f86fc03c46 Update Checkstyle to 9.2 2021-12-04 21:30:23 -05:00
TacoTheDank
75db002369 Update ktlint to 0.43.2 2021-12-04 21:22:29 -05:00
TacoTheDank
dbfa4e554b Update Sonarqube to 3.3 2021-12-04 21:22:15 -05:00
TacoTheDank
84d87a2e60 Move plugins to the DSL block 2021-12-04 21:16:37 -05:00
litetex
9e3577e77b Updated/Fixed "Get it on F-Droid" 2021-12-04 23:46:40 +01:00
Robin
41a0dc1abd Disable media tunneling on Philips QM16XE 2021-12-04 22:23:09 +01:00
Stypox
950956ebf2 Also show a toast on error notification
since the notification is silent, also show a toast, otherwise the user is confused
2021-12-04 10:50:27 +01:00
Stypox
c000c1d455 Add debug prefs to show error snackbar/notification 2021-12-04 10:36:36 +01:00
Stypox
c8e2ab4c83 Remove PlayerErrorHandler and correctly set ErrorInfo msg 2021-12-04 10:36:36 +01:00
Stypox
397f93b079 Prevent exception from being serialized in ErrorInfo
The wrong @Decorator was put in the wrong place to mark the throwable fieldd as transient, now this is fixed and the exception is not serialized. So if a non-serializable throwable is passed, that's not an issue, since it's not going to be serialized. The need for EnsureExceptionSerializable is also gone.
2021-12-04 10:36:36 +01:00
Stypox
09d137f740 Add PendingIntent to ErrorUtil.createNotification 2021-12-04 10:36:36 +01:00
Stypox
81f740d409 Replace ErrorActivity with ErrorUtil 2021-12-04 10:36:36 +01:00
Stypox
1d2642f1e3 Create ErrorUtil class with three ways to report errors
Activity, snackbar and notification
2021-12-04 10:36:31 +01:00
Douile
7cd3603bbb Fetch sparse items when playing in background or popup 2021-12-03 22:38:03 +00:00
Douile
ec7de2a6dc Fix StreamType check, missing import, and styling errors 2021-12-03 21:53:36 +00:00
Tom
3d1a3606c9 Remove unused variable
Co-authored-by: Stypox <stypox@pm.me>
2021-12-03 21:30:26 +00:00
Douile
6472e9b6b6 Remove unused code 2021-12-03 21:29:34 +00:00
litetex
2c88e9d068 Updated version to 0.21.14 2021-12-01 21:07:57 +01:00
litetex
4825a0a35f Update changelog (#7476)
* Added changelog for 980

Co-authored-by: Mohammed Anas <triallax@tutanota.com>
2021-12-01 21:06:12 +01:00
mhmdanas
7adebbe989 Add FSFE-Tube PeerTube instance 2021-12-01 20:24:53 +03:00
Hosted Weblate
122b0b0de4 Translated using Weblate (Norwegian Bokmål)
Currently translated at 95.8% (605 of 631 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (631 of 631 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (631 of 631 strings)

Translated using Weblate (Persian)

Currently translated at 100.0% (631 of 631 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (631 of 631 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (631 of 631 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (631 of 631 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (631 of 631 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (631 of 631 strings)

Translated using Weblate (Russian)

Currently translated at 99.5% (628 of 631 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (631 of 631 strings)

Translated using Weblate (German)

Currently translated at 100.0% (631 of 631 strings)

Translated using Weblate (German)

Currently translated at 100.0% (631 of 631 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.3% (627 of 631 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (626 of 626 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 56.6% (34 of 60 strings)

Translated using Weblate (Portuguese)

Currently translated at 61.6% (37 of 60 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (626 of 626 strings)

Translated using Weblate (Arabic)

Currently translated at 99.8% (625 of 626 strings)

Translated using Weblate (Tamil)

Currently translated at 36.4% (228 of 626 strings)

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

Currently translated at 39.1% (245 of 626 strings)

Translated using Weblate (Hungarian)

Currently translated at 82.2% (515 of 626 strings)

Translated using Weblate (Hungarian)

Currently translated at 81.9% (513 of 626 strings)

Translated using Weblate (French)

Currently translated at 66.6% (40 of 60 strings)

Translated using Weblate (Bengali)

Currently translated at 88.0% (551 of 626 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (626 of 626 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (626 of 626 strings)

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

Currently translated at 35.4% (222 of 626 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (626 of 626 strings)

Translated using Weblate (French)

Currently translated at 100.0% (626 of 626 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (626 of 626 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (626 of 626 strings)

Translated using Weblate (Estonian)

Currently translated at 11.6% (7 of 60 strings)

Translated using Weblate (Portuguese)

Currently translated at 61.6% (37 of 60 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (626 of 626 strings)

Translated using Weblate (Hindi)

Currently translated at 77.3% (484 of 626 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (626 of 626 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (626 of 626 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (626 of 626 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (626 of 626 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (626 of 626 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (626 of 626 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (626 of 626 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (626 of 626 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (626 of 626 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (626 of 626 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (626 of 626 strings)

Translated using Weblate (French)

Currently translated at 100.0% (626 of 626 strings)

Translated using Weblate (German)

Currently translated at 100.0% (626 of 626 strings)

Translated using Weblate (Galician)

Currently translated at 3.3% (2 of 60 strings)

Translated using Weblate (Galician)

Currently translated at 94.4% (590 of 625 strings)

Translated using Weblate (Croatian)

Currently translated at 100.0% (625 of 625 strings)

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

Currently translated at 28.4% (178 of 625 strings)

Translated using Weblate (German)

Currently translated at 100.0% (625 of 625 strings)

Translated using Weblate (Arabic)

Currently translated at 60.0% (36 of 60 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (625 of 625 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (625 of 625 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (625 of 625 strings)

Translated using Weblate (Latvian)

Currently translated at 100.0% (625 of 625 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (625 of 625 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (625 of 625 strings)

Translated using Weblate (Finnish)

Currently translated at 100.0% (625 of 625 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (625 of 625 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (625 of 625 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (625 of 625 strings)

Translated using Weblate (Persian)

Currently translated at 100.0% (625 of 625 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (625 of 625 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (625 of 625 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (625 of 625 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (625 of 625 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (625 of 625 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (625 of 625 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (625 of 625 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (625 of 625 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (625 of 625 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (625 of 625 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (625 of 625 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (625 of 625 strings)

Translated using Weblate (Japanese)

Currently translated at 99.5% (622 of 625 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (625 of 625 strings)

Translated using Weblate (French)

Currently translated at 100.0% (625 of 625 strings)

Translated using Weblate (German)

Currently translated at 100.0% (625 of 625 strings)

Translated using Weblate (Spanish)

Currently translated at 58.3% (35 of 60 strings)

Translated using Weblate (Interlingua)

Currently translated at 1.6% (1 of 60 strings)

Translated using Weblate (Bulgarian)

Currently translated at 78.6% (489 of 622 strings)

Translated using Weblate (Tamil)

Currently translated at 34.0% (212 of 622 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Malayalam)

Currently translated at 99.0% (616 of 622 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Bulgarian)

Currently translated at 77.0% (479 of 622 strings)

Translated using Weblate (Bulgarian)

Currently translated at 58.5% (364 of 622 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (60 of 60 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Persian)

Currently translated at 63.3% (38 of 60 strings)

Translated using Weblate (French)

Currently translated at 66.6% (40 of 60 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 45.0% (280 of 622 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Croatian)

Currently translated at 98.8% (615 of 622 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Arabic)

Currently translated at 58.3% (35 of 60 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (60 of 60 strings)

Translated using Weblate (Swedish)

Currently translated at 23.3% (14 of 60 strings)

Translated using Weblate (Polish)

Currently translated at 55.0% (33 of 60 strings)

Translated using Weblate (Hebrew)

Currently translated at 50.0% (30 of 60 strings)

Translated using Weblate (Ukrainian)

Currently translated at 80.0% (48 of 60 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Estonian)

Currently translated at 10.1% (6 of 59 strings)

Translated using Weblate (Finnish)

Currently translated at 13.5% (8 of 59 strings)

Translated using Weblate (Esperanto)

Currently translated at 1.6% (1 of 59 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Finnish)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Esperanto)

Currently translated at 83.7% (521 of 622 strings)

Translated using Weblate (Esperanto)

Currently translated at 83.7% (521 of 622 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (French)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (German)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (59 of 59 strings)

Translated using Weblate (Swedish)

Currently translated at 22.0% (13 of 59 strings)

Translated using Weblate (German)

Currently translated at 52.5% (31 of 59 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 99.8% (621 of 622 strings)

Translated using Weblate (Kabyle)

Currently translated at 26.0% (162 of 622 strings)

Translated using Weblate (Catalan)

Currently translated at 97.5% (607 of 622 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Japanese)

Currently translated at 99.5% (619 of 622 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (English)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Swedish)

Currently translated at 16.9% (10 of 59 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Swedish)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Swedish)

Currently translated at 99.3% (618 of 622 strings)

Translated using Weblate (Swedish)

Currently translated at 99.3% (618 of 622 strings)

Translated using Weblate (Swedish)

Currently translated at 99.3% (618 of 622 strings)

Translated using Weblate (Swedish)

Currently translated at 99.3% (618 of 622 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (German)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (59 of 59 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Kurdish (Central))

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Persian)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (French)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (622 of 622 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Persian)

Currently translated at 62.7% (37 of 59 strings)

Translated using Weblate (French)

Currently translated at 66.1% (39 of 59 strings)

Translated using Weblate (Spanish)

Currently translated at 57.6% (34 of 59 strings)

Translated using Weblate (Polish)

Currently translated at 54.2% (32 of 59 strings)

Translated using Weblate (Hebrew)

Currently translated at 49.1% (29 of 59 strings)

Translated using Weblate (Ukrainian)

Currently translated at 79.6% (47 of 59 strings)

Translated using Weblate (Dutch (Belgium))

Currently translated at 93.0% (578 of 621 strings)

Translated using Weblate (Swedish)

Currently translated at 98.8% (614 of 621 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Indonesian)

Currently translated at 99.6% (619 of 621 strings)

Co-authored-by: ARtHryDr <sergivallsr@gmail.com>
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 <Alexander_sjogren@hotmail.se>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Andrij Mizyk <andmizyk@gmail.com>
Co-authored-by: Azizov Aga <895238489@e2t.link>
Co-authored-by: ButterflyOfFire <ButterflyOfFire@protonmail.com>
Co-authored-by: D D <keptawesome@gmail.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: Garden Hose <maxmammath@gmail.com>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: GnuPGを使うべきだ <dieeeazpnnqbpddh@cock.email>
Co-authored-by: GobinathAL <gobinathal8@gmail.com>
Co-authored-by: Ha Thang <tadi69835@gmail.com>
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: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Isak Holmström <isak@kajko.se>
Co-authored-by: JY3 <GeeyunJY3@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Joel A <joeax910@student.liu.se>
Co-authored-by: Karl Tammik <karltammik@protonmail.com>
Co-authored-by: Kim Nyberg <kim-nyberg@outlook.com>
Co-authored-by: Laura Arjona Reina <larjona@larjona.net>
Co-authored-by: Lavin Tom K Abraham <lavintom007@gmail.com>
Co-authored-by: Ldm Public <ldmpub@gmail.com>
Co-authored-by: Leander Coevoet <leandercoevoet1@gmail.com>
Co-authored-by: LiftedStarfish <liftedstarfish@protonmail.com>
Co-authored-by: Line <LineAirline@protonmail.com>
Co-authored-by: Marian Hanzel <marulinko@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Mohammed Anas <6daf084a-8eaf-40fb-86c7-8500077c3b69@anonaddy.me>
Co-authored-by: MohammedSR Vevo <mohammednajmidin@gmail.com>
Co-authored-by: Nachimuthu Easwaran <nachimuthu.gct@gmail.com>
Co-authored-by: Nekromanser <ari.taitto@protonmail.com>
Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: Philipp <philipp.steisslingen@web.de>
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: Ricardo <contatorms7@tutamail.com>
Co-authored-by: SC <lalocas@protonmail.com>
Co-authored-by: Software In Interlingua <softinterlingua@gmail.com>
Co-authored-by: Tanishq-Banyal <banyaltanishq@gmail.com>
Co-authored-by: TiA4f8R <avdivers84@gmail.com>
Co-authored-by: Toldi Balázs <tbazsalanszky@gmail.com>
Co-authored-by: Valdnet <valdnet@itvix.pl>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Ville Rantanen <v.r@iki.fi>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: Zampa Yayas <zampayayas@gmail.com>
Co-authored-by: bomzhellino <adm.bomzh@gmail.com>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: evfjunior <evfjunior@protonmail.com>
Co-authored-by: g <muziejusinfo@gmail.com>
Co-authored-by: inkhorn <inkhorn@hostux.ninja>
Co-authored-by: naofum <naofum@gmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: nzgha <nzghafoss.ldxwe@slmail.me>
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: sunu.wahyudhi <nopeholmes@gmail.com>
Co-authored-by: tdayris-perso <tdayris@tutanota.de>
Co-authored-by: translator <yasinoc375@advew.com>
Co-authored-by: whenwesober <naomi16i_1298q@cikuh.com>
Co-authored-by: zeritti <woodenmo@posteo.de>
Co-authored-by: zmni <zmni@outlook.com>
Co-authored-by: Ács Zoltán <acszoltan111@gmail.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/eo/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/et/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/gl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ia/
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/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translation: NewPipe/Metadata
2021-11-30 22:07:54 +01:00
litetex
744cfe5672 Removed unused import 2021-11-29 21:13:22 +01:00
litetex
17724a901c Removed annotations due to wrong warnings 2021-11-29 21:03:59 +01:00
litetex
7dc85af5fb Use latest NewPipeExtractor to fix parsing of YT's dislikes (#7467) 2021-11-29 19:59:18 +00:00
Stypox
c7daf32904 Merge pull request #7142 from litetex/better-player-error-handling
Better player error handling
2021-11-28 17:01:45 +01:00
litetex
b2323859e5 Refactoring + deduplicated code 2021-11-28 14:07:45 +01:00
litetex
4c8dca5300 Fixed NPE + Problems with context 2021-11-28 13:42:26 +01:00
litetex
68e7fcf8ee Fixed typos 2021-11-27 23:39:17 +01:00
litetex
f78983b16b Show an alert/dialog when no appropriate file-manager was found 2021-11-27 15:52:54 +01:00
Robin
ef91214085 Merge pull request #7442 from mhmdanas/fix-gradle-sha256
Fix Gradle checksum
2021-11-26 09:29:21 +01:00
mhmdanas
dc09a4621b Fix Gradle checksum 2021-11-26 10:50:07 +03:00
litetex
2f99a217c3 Fixed build 2021-11-23 20:21:59 +01:00
litetex
6992b2c308 Moved report_player_errors to debug 2021-11-23 20:16:01 +01:00
litetex
0d51eefbb9 Refactoring 2021-11-23 20:12:16 +01:00
litetex
aa28a85747 Added a workaround for not serializable exceptions 2021-11-23 20:12:14 +01:00
litetex
f18ee8e83d Added a bit more documentation 2021-11-23 20:12:13 +01:00
litetex
fb58967766 PlayerErrorHandler refactor + docs 2021-11-23 20:12:12 +01:00
litetex
c3f1478fde Support for debug option "Crash the player" on TVs 2021-11-23 20:12:11 +01:00
litetex
e5c00a7ef4 Added some doc 2021-11-23 20:12:10 +01:00
litetex
769791af7a Added a "Crash the player" debug option 2021-11-23 20:12:09 +01:00
litetex
e632fab4d0 Added option to report player errors
* Added a new setting so that player errors are reported (under Video and Audio > Player)
* Moved the player error logic to separate class specially created for this purpose
2021-11-23 20:12:07 +01:00
Tom
91611fcae4 Don't fetch uneeded stream info for live streams
Co-authored-by: Stypox <stypox@pm.me>
2021-11-23 15:22:11 +00:00
Stypox
6cd25d7e55 Merge pull request #7412 from litetex/code-cleanup
Some code cleanup(s)
2021-11-23 08:59:34 +01:00
litetex
c9488eb042 Removed useless lines 2021-11-22 19:49:52 +01:00
litetex
c8516a04dc Formatted code 2021-11-21 19:56:50 +01:00
litetex
02d1b98b1c Removed useless doc 2021-11-21 19:46:11 +01:00
litetex
d8236bbedd Merge pull request #7406 from Redirion/usedefaultloadcontrol
Use DefaultLoadcontrol
2021-11-21 15:11:21 +01:00
opusforlife2
1de21fb0c2 Merge pull request #7418 from TeamNewPipe/add-gradle-wrapper-Sha256
Add gradle wrapper Sha256
2021-11-21 08:25:55 +00:00
Robin
13cac07b8d Add gradle wrapper Sha256 2021-11-18 10:51:11 +01:00
XiangRongLin
bd9dcfb28a Merge pull request #7381 from litetex/prevent-automatic-replay-after-returning-from-background
Prevent automatic replay after returning from background
2021-11-17 09:38:09 +01:00
Robin
d5199eac3e Merge pull request #7050 from litetex/feed-refactor-new-items-handling
Rework feed new items handling
2021-11-15 23:20:07 +01:00
litetex
7638d229c0 Fixed typo 2021-11-15 20:24:40 +01:00
TacoTheDank
a641c5bb58 Update Groupie to 2.9.0 2021-11-15 20:24:39 +01:00
litetex
1e0c9f46ad Improved highlighting in FeedFragment
Now keeps the ``selectableItemBackground`` when highligthing an item.
2021-11-15 20:22:23 +01:00
litetex
4eb02f584e Fixed default visibility of "new feed items" button
Fixed/Avoid NPEs
2021-11-15 20:22:22 +01:00
litetex
700c1b4b25 Removed unnecessary layout
Moved the feed button up a bit
2021-11-15 20:22:21 +01:00
litetex
4b4337e078 Used more understandable kotlin methods 2021-11-15 20:22:20 +01:00
litetex
38ce800685 Fixed feed when animations are off
Introduced a check if corresponding animations on the devices are enabled
2021-11-15 20:22:20 +01:00
litetex
2310e8c1d6 Made `hideNewItemsLoaded` more null safe 2021-11-15 20:22:19 +01:00
litetex
1b2b3a4f88 Make new feed items bold 2021-11-15 20:22:18 +01:00
litetex
d11129a76b Fixed StackOverflow 2021-11-15 20:22:17 +01:00
litetex
02789122a0 Implemented UI highlighting and "new feed items"-notification
Fixed format
2021-11-15 20:22:17 +01:00
litetex
676bc02d52 No more reaction to unnecessary feed db-changes
This caused duplicate events (https://github.com/TeamNewPipe/NewPipe/pull/6686#issuecomment-909575283) and unnecessary processing of items
2021-11-15 20:21:23 +01:00
litetex
8b807b0706 Enhanced `View.slideUp` 2021-11-15 20:21:21 +01:00
Robin
72dfe974ab Merge pull request #7408 from Redirion/fixedautotransition2
Fixed Period Transition
2021-11-15 19:59:42 +01:00
litetex
316db0e4c6 setRecovery: Remove checks and use Math.min/max 2021-11-15 19:56:14 +01:00
litetex
010c607e40 Prevent automatic replay after returning from background
See also https://github.com/TeamNewPipe/NewPipe/pull/7195#issuecomment-962624380
2021-11-15 19:47:08 +01:00
Robin
3e099fb2a3 Fixed Period Transition 2021-11-14 21:19:36 +01:00
Robin
9c9730b152 Use DefaultLoadcontrol 2021-11-14 20:12:12 +01:00
Stypox
9e44053e22 Merge pull request #7160 from nschulzke/mark-as-watched-everywhere
Enable Mark as Watched in all the other playlist fragments.
2021-11-13 20:37:59 +01:00
Nathan Schulzke
dee32c3dc5 Factor out shouldAddMarkAsWatched as a shared function 2021-11-13 10:18:17 -07:00
Robin
344fbff59a Merge pull request #7363 from litetex/playback-speed-ctrls-simple-landscape-improvements
Simple playback-speed-controls improvements
2021-11-12 21:19:17 +01:00
litetex
e39a816bdc Merge pull request #5843 from TeamNewPipe/jcenter
Remove JCenter when possible
2021-11-12 20:53:29 +01:00
TobiGr
605b8fac5e Remove JCenter
All dependencies which were fetched from JCenter are now available via Maven Central. This source change is necessary becuase JCenter announced they werer going to be read-only starting at 31st March 2021 (https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter).
2021-11-12 20:38:50 +01:00
Robin
dfba10f8ae Merge pull request #7005 from Redirion/exo14
Update ExoPlayer to 2.14.2
2021-11-12 20:19:00 +01:00
litetex
48a1ab64b0 Refactored `PlaybackResolver`
* fixes the deprecation of ``setTag``
* makes the code more consistent
* de-duplicates some code
2021-11-12 20:14:39 +01:00
litetex
dd2cde3c1a De-duplicated PlayerDataSource-code 2021-11-12 19:40:00 +01:00
Robin
1b9c2b37c5 Use Android11+ extractors 2021-11-12 19:17:52 +01:00
Robin
eae1f8b597 Update ExoPlayer to 2.14.2 2021-11-12 19:17:51 +01:00
litetex
18ce86c2ed Merge pull request #7370 from iambaji/issue_7362
added show watched items toggle preference
2021-11-12 18:24:44 +01:00
litetex
d5f25e05d9 Merge pull request #7395 from litetex/gradle-replaced-with-with-using
Gradle: Replaced deprecated `with` with `using`
2021-11-12 18:17:41 +01:00
litetex
53303ac5d3 Replaced deprecated `with with using` 2021-11-11 20:17:54 +01:00
litetex
90cc8e2144 A feed settings-key better fits there 2021-11-11 19:49:46 +01:00
litetex
adf9badbf6 Fixed toggle not in sync with list after app restart + refactored the code a bit 2021-11-11 19:46:15 +01:00
Baji Shaik
c35fe4f3f1 moved preference key from viewmodel to settings_keys.xml 2021-11-10 16:16:17 -05:00
Baji Shaik
63291f8101 added show watched items toggle preference
default sharedpreference is used to persist and retrieve show watched menu option toggle state
2021-11-07 23:11:10 -05:00
litetex
62efb588ef Removed obvious title from the "Playback Speed Controls" 2021-11-07 13:51:43 +01:00
litetex
203ca9afc6 Removed unused imports 2021-11-06 21:07:00 +01:00
litetex
a23f941ac8 Simplified some code and added some comments 2021-11-05 19:07:56 +01:00
litetex
b0a10f0542 Merged extremely similar code together / parity between video and popup player
* Removed ``player.getPlayPauseButton().requestFocus();`` as there is no reason why it was introduced there documented
* Use the same delay to hide the controls on both players
2021-11-05 18:10:55 +01:00
litetex
478ad42977 De-Duplicated some code 2021-11-05 18:07:21 +01:00
litetex
0764983ac6 Why log double? 2021-11-05 18:06:32 +01:00
litetex
2b2f1ee8f5 Added some doc 2021-11-05 18:06:10 +01:00
litetex
28f167fd99 Removed dead code 2021-11-05 18:04:57 +01:00
litetex
272be36dd9 Removed `e.printStacktrace` and used an proper logger 2021-11-05 18:04:49 +01:00
litetex
f933db8117 Added a custom title
to also save some margin/padding/etc
2021-11-04 19:47:08 +01:00
litetex
cddb9bccb9 Reworked `dialog_playback_parameter`
* Removed dependency to @dimen/video_item_search_padding as it's unrelated
* Made the margins/paddings a bit smaller
* Put the checkboxes inside a layout
* Removed some useless attributes (maxLine)
2021-11-04 19:46:22 +01:00
litetex
b5ad24eb47 Merge pull request #7353 from B0pol/peertube-shortlinks
Support PeerTube short links
2021-11-04 16:31:16 +01:00
litetex
ad8f791f71 Changed extractor dependency back to TeamNewPipe
...as the required PR was merged.
2021-11-04 16:18:12 +01:00
litetex
2e862b4ccc Merge pull request #6844 from 0x416c6578/shuffle-mode-ui-fix
Fixed shuffle button opacity UI bug
2021-11-03 18:18:31 +01:00
litetex
ecac897e7b Fixed typo 2021-11-03 17:30:30 +01:00
bopol
702adb53a7 Support PeerTube short links 2021-11-03 14:49:17 +01:00
litetex
4ea962f523 Merge pull request #7348 from TiA4f8R/unrevert-pr6824
"Unrevert" changes from pull request 6824
2021-11-03 00:13:41 +01:00
TiA4f8R
acaf92d671 Unrevert PR 6824
PR 7061 reverted by mistake PR 6824 (it was a rebase issue). This commit unreverts this change and uses custom TextViews correctly in the file changed by PR 6824.
2021-11-02 17:53:27 +01:00
litetex
c673cb6157 Merge pull request #7304 from mhmdanas/add-y2ube-link-support
Add support for y2u.be links
2021-11-01 23:22:21 +01:00
litetex
c0f7b123a3 Merge pull request #7296 from vhouriet/vhouriet_feature_issue6049
Add "Check for updates" button in update settings
2021-11-01 23:17:25 +01:00
Douile
bc2f0f9f3e Update stream state in database after loading 2021-10-28 01:11:53 +01:00
litetex
e9e2afa61a Merge pull request #7061 from TiA4f8R/custom-textview-edittext
Use custom TextViews and EditTexts in all XML resources
2021-10-27 20:47:15 +02:00
litetex
403154b2e1 Less indents and code -> better readable
Also removed a useless variable
2021-10-26 20:47:15 +02:00
litetex
e5fd24b0d1 Make naming great again
When we build APKs in PRs it's also a GITHUB_APK...
2021-10-26 20:47:14 +02:00
litetex
8dc34274a1 Removed dead code 2021-10-26 20:47:13 +02:00
litetex
467bd21de2 Cleanup up some code 2021-10-26 20:47:13 +02:00
vhouriet
5c9705d94e Change check for updates button to trigger a version check 2021-10-26 20:47:12 +02:00
vhouriet
85fb5827aa Add Check for updates button 2021-10-26 20:47:11 +02:00
litetex
0bcc9bd3ba Try to fix jitpack not resolving dependency 2021-10-26 19:07:54 +02:00
litetex
25e120bec1 Changed extractor dependency back to TeamNewPipe
...as the required PR was merged.
2021-10-26 18:47:48 +02:00
litetex
7067deb328 Merge pull request #7261 from TacoTheDank/bumpRecyclerView
Update RecyclerView & Groupie libraries
2021-10-24 21:22:04 +02:00
Mohammed Anas
f6efd302dc Fix extractor dependency 2021-10-23 20:30:04 +00:00
mhmdanas
61972141ae Add support for y2u.be links 2021-10-23 23:14:25 +03:00
litetex
af936bc646 Always create a backup list when shuffling
The backup-list has to be created at all cost (even when current list size <= 2). Otherwise it's not possible to enter shuffle-mode (as ``isShuffled()`` always returns false)!
2021-10-23 17:35:42 +02:00
litetex
d66f933c69 Fixing the shuffle button on the UI is enough.
No need for doing the heavier method ``onShuffleModeEnabledChanged(false);``
2021-10-23 16:46:56 +02:00
0x416c6578
cf81c37683 Removed changes to the intent handler 2021-10-23 16:43:29 +02:00
0x416c6578
d2306b0fd7 Fixed shuffle button opacity bug
Parameterised shuffle state into initPlayback for potentially passing the shuffle state into the player in the future
2021-10-23 16:43:28 +02:00
litetex
94dfabf3dc Merge pull request #7263 from TacoTheDank/moreBumps
Update some libraries
2021-10-22 18:19:01 +02:00
TobiGr
5522dc10b8 Merge branch 'master' into dev 2021-10-21 21:17:32 +02:00
Mohammed Anas
0ae04b8ead Merge pull request #7291 from TeamNewPipe/release/0.21.13
Release/0.21.13
2021-10-21 22:11:54 +03:00
Tobi
44cad27d0a Merge pull request #7268 from TeamNewPipe/release/0.21.13
Release 0.21.13
- Fix playback resume
- Ensure that the service for new version checks is not started in background
2021-10-21 20:51:01 +02:00
TobiGr
5d59025b3c Update changelog 2021-10-21 20:30:10 +02:00
TobiGr
768bb0bbcd Start service for update checks in onPastCreate() 2021-10-20 23:55:18 +02:00
Stypox
ac071b383f Revert part of #6872 and fix playback resuming 2021-10-20 23:20:26 +02:00
litetex
e0b1a6b88b Merge pull request #7149 from TacoTheDank/updateFragWorkaround
Update pager workaround code to Fragment 1.3.6
2021-10-20 19:44:35 +02:00
TacoTheDank
ed86b1c572 Update pager workaround to Fragment 1.3.6 2021-10-19 17:39:38 -04:00
TacoTheDank
b6c2bade73 Update AndroidX Media library 2021-10-19 17:36:36 -04:00
TacoTheDank
b6b19b474e Update RecyclerView & Groupie 2021-10-19 17:31:59 -04:00
litetex
231b7492fb Merge pull request #7265 from TacoTheDank/userVisibleHintBGone
Remove deprecated setUserVisibleHint
2021-10-18 20:02:33 +02:00
TacoTheDank
b4950fcb2e Clean up .gitignore files 2021-10-17 13:22:05 +02:00
TobiGr
b79ea7b51b NewPipe 0.21.13 (979) 2021-10-17 12:55:06 +02:00
TobiGr
28c72e7f63 Fix new version check still occassionally started in background 2021-10-17 12:55:06 +02:00
TobiGr
5fcc3b4dab [Player] Fix resuming playback
This was caused by #6872
2021-10-17 12:13:38 +02:00
TacoTheDank
51837ce36f Get rid of setUserVisibleHint 2021-10-16 15:33:45 -04:00
TiA4f8R
ddaafb68c8 Adress new requested changes 2021-10-16 15:32:56 +02:00
TiA4f8R
a744775fe7 Adress requested changes and remove an unused return value in NewPipeTextViewHelper 2021-10-16 13:41:05 +02:00
TiA4f8R
50b85a7734 Simplify code 2021-10-16 13:41:05 +02:00
TiA4f8R
aab09c0c65 Merge the Share process of the two classes into one
A new class has been added in the util package: NewPipeTextViewHelper.
It shares the selected text of a TextView with ShareUtils#shareText (with the created shareSelectedTextWithShareUtils static method).
Only this static method can be used by other classes, other methods are private.
2021-10-16 13:41:04 +02:00
TiA4f8R
3ded6feddb Improve code of created views
Use the same logic as Android TextViews
2021-10-16 13:41:04 +02:00
TiA4f8R
c8802fe5d0 Add JavaDocs on created views 2021-10-16 13:41:04 +02:00
TiA4f8R
411b3129f9 Use a custom EditText everywhere to be able to share with ShareUtils the selected text
This EditText class extends the AppCompatEditText class from androidx.

These changes (only in XML ressources) allow us to share the selected text by using ShareUtils.shareText, which opens the Android system chooser instead of the Huawei system chooser on EMUI devices.
2021-10-16 13:41:03 +02:00
TiA4f8R
a55acd38df Use a custom TextView everywhere to be able to share with ShareUtils the selected text
This TextView class extends the AppCompatTextView class from androidx.

These changes (only in XML ressources) allow us to share the selected text by using ShareUtils.shareText, which opens the Android system chooser instead of the Huawei system chooser on EMUI devices.
2021-10-16 13:40:54 +02:00
TacoTheDank
e7773d8807 Update plugins 2021-10-15 16:48:44 -04:00
litetex
7edef8d5a2 Merge pull request #7222 from ktprograms/queue-menu-channel-details
Added the 'Show Channel Details' menu item to the Queue long press menu
2021-10-15 20:28:18 +02:00
litetex
03d2ca9f9f Fixed format of code 2021-10-15 20:18:52 +02:00
litetex
2271ea4281 Improved documentation 2021-10-15 20:16:34 +02:00
ktprograms
afc8db8f81 Add reasoning for separate openChannelFragmentUsingIntent method 2021-10-14 09:51:25 +08:00
litetex
4af49ee5a6 Merge pull request #7194 from KalleStruik/add-to-playlist-in-share
Add a "add to playlist" option in the share menu
2021-10-13 20:34:07 +02:00
TobiGr
d7b29aae5c Merge branch 'master' into dev 2021-10-12 20:03:42 +02:00
litetex
9f7a8407ca Merge pull request #7224 from vhouriet/vhouriet_fix_check-background-player-type
Check if background player already active before displaying player toast
2021-10-12 19:47:50 +02:00
Tobi
7eb13a9b93 Merge pull request #7232 from TeamNewPipe/release/0.21.12
Fix check for new Version and release 0.21.12
2021-10-12 19:15:19 +02:00
TobiGr
7c9896beaf Release NewPipe 0.21.12 (978) 2021-10-12 16:45:01 +02:00
TobiGr
54d3bff26d Move checking for new version to MainAcitvity
When the service is started from the Application class, the app might be still in the background. This is definetly not the case when MainActivity.onCreate() is called.

Fixes #7227
2021-10-12 16:45:01 +02:00
litetex
a2050a5211 Merge pull request #7215 from litetex/code-cleanup-drawer-main-activity
Deduplicated drawer code in MainActivity
2021-10-11 21:29:42 +02:00
litetex
048743c062 Merge pull request #7148 from TacoTheDank/androidxMediaBump
Update AndroidX Media library to 1.4.x
2021-10-11 21:28:49 +02:00
litetex
e9bd2934c3 Merge pull request #7202 from vhouriet/vhouriet_bug_issue-6662
Fix clicking timestamp shows Toast "Playing in popup mode"
2021-10-11 21:20:26 +02:00
vhouriet
50634eb2b3 Check player type before displaying background player toast 2021-10-11 19:41:22 +02:00
Tobi
08489b81fb Merge pull request #7220 from TeamNewPipe/code-improvements
Simplify code and add annotations
2021-10-11 16:36:13 +02:00
ktprograms
a2ff770afc Added the 'Show Channel Details' menu item to the Queue long press menu
Created a method in NavigationHelper that opens the channel fragment using an Intent to MainActivity instead of replacing fragments.
2021-10-11 14:47:37 +08:00
Tobi
e0ba9b3902 Merge pull request #7192 from TeamNewPipe/release/0.21.11
Release/0.21.11
2021-10-10 21:03:38 +02:00
TobiGr
f11b5ae7a1 Release NewPipep 0.21.11 (977) 2021-10-10 20:52:38 +02:00
Hosted Weblate
7baeb6eca7 Translated using Weblate (Indonesian)
Currently translated at 98.8% (614 of 621 strings)

Translated using Weblate (Persian)

Currently translated at 17.2% (10 of 58 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Ukrainian)

Currently translated at 79.3% (46 of 58 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (58 of 58 strings)

Translated using Weblate (Polish)

Currently translated at 53.4% (31 of 58 strings)

Translated using Weblate (Hebrew)

Currently translated at 48.2% (28 of 58 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (621 of 621 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Edward <edwardchirita@mailbox.org>
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: MS-PC <MSPCtranslator@gmail.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: zmni <zmni@outlook.com>
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/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translation: NewPipe/Metadata
2021-10-10 20:51:58 +02:00
TobiGr
658d988254 Simplify code and add annotations 2021-10-10 20:33:05 +02:00
Kalle Struik
9d7e9289bb Fix cursor color in PlaylistCreationDialog 2021-10-10 12:32:57 +02:00
Tobi
4e8519a1b9 Merge pull request #7213 from Redirion/npefix
Fix crash on missing title when sharing livestream
2021-10-09 23:35:50 +02:00
litetex
12aac09c7b Fixed typo 2021-10-09 18:56:10 +02:00
litetex
d7d87691cb Add to playlist - Showing toast that this may take a moment 2021-10-09 18:47:36 +02:00
litetex
731640997e Cleaned up PlaylistDialog-related code 2021-10-09 18:46:20 +02:00
litetex
64d7432852 Deduplicated drawer code in MainActivity 2021-10-09 16:37:34 +02:00
Robin
e6fffc0d5b Fix crash on missing title when sharing livestream 2021-10-08 21:42:01 +02:00
vhouriet
1c9f68bcae Fix clicking timestamp shows Toast "Playing in popup mode"
Fixes #6662
2021-10-05 18:15:36 +02:00
Kalle Struik
4fde62ff89 Reorder preferred open action menu 2021-10-04 21:23:56 +02:00
XiangRongLin
4c5fc7fa7c Merge pull request #7196 from litetex/use-correct-tag-NavigationHelper
Use the correct TAG in NavigationHelper
2021-10-04 08:40:41 +02:00
litetex
b633108a4c Use the correct TAG in NavigationHelper 2021-10-03 22:04:34 +02:00
Kalle Struik
ceb55d0ede Set the theme for PlaylistCreationDialog explicitly. 2021-10-03 14:25:50 +02:00
Kalle Struik
87c958b2e7 Rename the "append_playlist" string to "add_to_playlist" 2021-10-03 13:27:24 +02:00
Kalle Struik
d844e0aba6 Add a add to playlist option in the share menu. 2021-10-02 19:21:25 +02:00
Tobi
3d42da5ff5 Merge pull request #6642 from magicbrothers/add-eduvid
Add Tubus (Invidious) and EduVid (PeerTube)
2021-10-02 18:32:00 +02:00
TobiGr
1b869199f4 Update extractor to 0.21.11 2021-10-02 18:25:26 +02:00
CloverBadland
f3cd2f6c9d Update README.es.md (#7188) 2021-10-02 15:56:12 +00:00
opusforlife2
2e3e7f9bf2 Drastically simplify Feature Request template (#7165)
Making the experience of filling it out as hassle-free as possible would ensure fewer users ignore/misread the template.
2021-10-02 12:17:14 +03:00
TobiGr
92327dd9e3 Add changelog for NewPIpe 0.21.11 (977) 2021-10-02 10:17:57 +02:00
Hosted Weblate
d40b432f46 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (French)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Korean)

Currently translated at 73.7% (458 of 621 strings)

Translated using Weblate (French)

Currently translated at 66.6% (38 of 57 strings)

Translated using Weblate (Ukrainian)

Currently translated at 78.9% (45 of 57 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (French)

Currently translated at 99.8% (620 of 621 strings)

Translated using Weblate (Ukrainian)

Currently translated at 78.9% (45 of 57 strings)

Translated using Weblate (Vietnamese)

Currently translated at 99.8% (620 of 621 strings)

Translated using Weblate (Hungarian)

Currently translated at 0.0% (0 of 57 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Croatian)

Currently translated at 97.7% (607 of 621 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (German)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Turkish)

Currently translated at 99.6% (619 of 621 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Basque)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (621 of 621 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Andrij Mizyk <andmizyk@gmail.com>
Co-authored-by: Boros Zsombor <zsombor2626@gmail.com>
Co-authored-by: ButterflyOfFire <ButterflyOfFire@protonmail.com>
Co-authored-by: Eduardo Caron <eduardocaron10@gmail.com>
Co-authored-by: Edward <edwardchirita@mailbox.org>
Co-authored-by: Emin Tufan Çetin <etcetin@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: Krysa Czech <krysaczek@gmail.com>
Co-authored-by: Ldm Public <ldmpub@gmail.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: San Kang <devrivmt@gmail.com>
Co-authored-by: Sergio Varela <sergitroll9@gmail.com>
Co-authored-by: Sérgio Marques <smarquespt@gmail.com>
Co-authored-by: Terry Louwers <t.louwers@gmail.com>
Co-authored-by: ToldYouThat <itoldyouthat@protonmail.com>
Co-authored-by: bruh <quangtrung02hn16@gmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: nzgha <nzghafoss.ldxwe@slmail.me>
Co-authored-by: translator <yasinoc375@advew.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hu/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translation: NewPipe/Metadata
2021-10-02 09:50:04 +02:00
Tobi
5b3137093f Merge pull request #6824 from phigjm/player_queue_control_rearrangement
Swap seekbar position with player buttons in Queue screen
2021-10-02 09:47:25 +02:00
Tobi
4fc9f2e5fd Merge pull request #7176 from litetex/fix-progress-bar-end-not-synced
Fixed seekbar not completed after video end
2021-10-02 09:24:59 +02:00
Tobi
ce592f4baf Merge pull request #6980 from bravenewpipe/check-for-update-after-toggle-and-restart
resets the expire date for checking for updates
2021-10-02 09:07:05 +02:00
Tobi
2b3edcf2d1 Add a comment 2021-10-02 08:53:03 +02:00
ygz213
f165f97bd9 Update READMEs
* Change "Github" as "GitHub"
* Change translation of "Screenshots" with its more common translation (README.tr.md)
2021-10-02 08:38:57 +02:00
litetex
4ec572372e Merge pull request #7177 from tsiflimagas/minimized-player-buttons-clickable-area
Expand minimized player buttons clickable area
2021-10-01 18:05:59 +02:00
TacoTheDank
a953aab9b4 Update AndroidX Media to 1.4.x 2021-09-30 15:33:20 -04:00
litetex
672eb34049 Merge pull request #7150 from TacoTheDank/groupieBump
Update Groupie library to 2.9.0
2021-09-30 21:26:58 +02:00
Mohammed Anas
a0b042091b Add YouTube shorts path prefix to intent filter (#7181)
* Add YouTube shorts path prefix to intent filter
2021-09-29 21:44:47 +02:00
Tobi
b753705a84 Merge pull request #7178 from Redirion/dsblmdtnnelrealtekatv
Disable media tunneling on RealtekATV
2021-09-28 07:53:11 +02:00
Robin
f48ff610a3 Merge pull request #7166 from litetex/various-fixes-for-mediasession-player
Various fixes related to MediasessionManager
2021-09-27 23:45:38 +02:00
Robin
93aed9f34c Merge pull request #7169 from laksh-21/fixSettingsImport
Fix Settings import
2021-09-27 23:42:54 +02:00
Robin
3cf94382e6 Disable media tunneling on RealtekATV 2021-09-27 13:21:04 +02:00
Laksh
f52cb3bbe0 Make requested changes 2021-09-27 01:45:33 +05:30
litetex
d45182cb5c Referenced issue in code 2021-09-26 20:58:49 +02:00
litetex
22847c6c92 Fixed progress bar not completing after video end 2021-09-26 20:50:24 +02:00
Kostas Giapis
a70c51b71c Remove margins from minimized player buttons 2021-09-26 18:26:40 +03:00
Kostas Giapis
02d417476e Increase minimized player buttons clickable area 2021-09-26 18:23:11 +03:00
Laksh
bc3139e5f9 Fix Settings import 2021-09-25 15:37:07 +05:30
litetex
c1f7b2653c Merge pull request #7152 from TacoTheDank/regenDrawables
Regenerate some drawables to their latest design
2021-09-25 10:33:21 +02:00
litetex
72dbb9441e Improved streamType check and documentation 2021-09-25 10:31:42 +02:00
litetex
bbc13756f3 Removed useless check for livestreams 2021-09-25 00:04:53 +02:00
litetex
ba0876b43b Reformatted MediaSessionManager code 2021-09-24 23:55:06 +02:00
litetex
c0d41661e8 Fixed performance problems with mediaSessionManager
* Built on top of Redirons changes
* MediaSessionManager-Metadata get's only update when metadata changes - not every second as it only changes when the metadata changes
* Reworked mediasessionmanager
2021-09-24 23:40:12 +02:00
Robin
b2e2551e33 Two fixes for setMetadata 2021-09-24 23:28:55 +02:00
Robin
ac371e6fb4 Merge pull request #7156 from TacoTheDank/removeDeprecatedPrefTheme
Remove deprecated preferenceTheme style attribute
2021-09-24 22:36:15 +02:00
Nathan Schulzke
108af48b76 Enable Mark as Watched in all the other playlist fragments. 2021-09-23 21:39:47 -06:00
TacoTheDank
a225ac5deb Remove deprecated preferenceTheme style attribute 2021-09-23 15:09:37 -04:00
TacoTheDank
920695f90a Regenerate some drawables to their latest design 2021-09-22 23:38:01 -04:00
TacoTheDank
49fc57eee9 Remove unused drawables 2021-09-22 21:54:30 -04:00
TacoTheDank
b61d44aaa6 Update Groupie to 2.9.0 2021-09-22 19:08:03 -04:00
Jhon Baron
f36fd2f7b2 Simple Codebase Improvement (#7132)
* feat: it was added a string variable to avoid replication one.

* Update LocalPlaylistManagerTest.kt

* Update LocalPlaylistManagerTest.kt

* Update LocalPlaylistManagerTest.kt

Co-authored-by: Jhon Camilo Baron Berdugo <jbaron@mutualser.org>
2021-09-22 09:17:53 +02:00
Stypox
7e26748dc4 Merge branch 'master' into dev 2021-09-19 22:37:00 +02:00
Tobi
ba6fdecbae Merge pull request #7063 from TeamNewPipe/release/0.21.10
Release 0.21.10
2021-09-19 20:59:54 +02:00
Hosted Weblate
f791e83380 Translated using Weblate (Lithuanian)
Currently translated at 10.5% (6 of 57 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Persian)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (French)

Currently translated at 99.8% (620 of 621 strings)

Translated using Weblate (German)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Romanian)

Currently translated at 89.9% (557 of 619 strings)

Translated using Weblate (Basque)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Japanese)

Currently translated at 99.8% (618 of 619 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Javanese)

Currently translated at 10.5% (6 of 57 strings)

Translated using Weblate (Kurdish (Central))

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Javanese)

Currently translated at 9.8% (61 of 619 strings)

Translated using Weblate (Nepali)

Currently translated at 77.8% (482 of 619 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (619 of 619 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Ahmad Firdaus <rin.hikaru@gmail.com>
Co-authored-by: ButterflyOfFire <ButterflyOfFire@protonmail.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Edward <edwardchirita@mailbox.org>
Co-authored-by: Eric <spice2wolf@gmail.com>
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: 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: Marian Hanzel <marulinko@gmail.com>
Co-authored-by: MohammedSR Vevo <mohammednajmidin@gmail.com>
Co-authored-by: Prajwol Pradhan <076bei023.prajwol@pcampus.edu.np>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/jv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/lt/
Translation: NewPipe/Metadata
2021-09-19 20:35:19 +02:00
Hosted Weblate
dd7f914b8d Translated using Weblate (Lithuanian)
Currently translated at 10.5% (6 of 57 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Persian)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (French)

Currently translated at 99.8% (620 of 621 strings)

Translated using Weblate (German)

Currently translated at 100.0% (621 of 621 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Romanian)

Currently translated at 89.9% (557 of 619 strings)

Translated using Weblate (Basque)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Japanese)

Currently translated at 99.8% (618 of 619 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Javanese)

Currently translated at 10.5% (6 of 57 strings)

Translated using Weblate (Kurdish (Central))

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Javanese)

Currently translated at 9.8% (61 of 619 strings)

Translated using Weblate (Nepali)

Currently translated at 77.8% (482 of 619 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (619 of 619 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Ahmad Firdaus <rin.hikaru@gmail.com>
Co-authored-by: ButterflyOfFire <ButterflyOfFire@protonmail.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Edward <edwardchirita@mailbox.org>
Co-authored-by: Eric <spice2wolf@gmail.com>
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: 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: Marian Hanzel <marulinko@gmail.com>
Co-authored-by: MohammedSR Vevo <mohammednajmidin@gmail.com>
Co-authored-by: Prajwol Pradhan <076bei023.prajwol@pcampus.edu.np>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/jv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/lt/
Translation: NewPipe/Metadata
2021-09-19 20:31:36 +02:00
Stypox
7667b2ce59 Fix restoring orientation in onBack 2021-09-19 19:09:11 +02:00
Douile
62d36126ea Load full stream info when enqueuing a stream
This commit calls getStreamInfo causing a full network fetch of stream
info (I believe only if required) when adding a stream item to the
queue. This should prevent UI issues of missing metadata when queueing
videos that have been fast-loaded and are missing metadata.

Fixes #7035
2021-09-19 00:15:56 +01:00
Stypox
8272b2508b Make all buttons in player have selectable item background borderless (#7042)
Except buttons with long text or text that changes on click
2021-09-18 11:29:15 +02:00
z3r0r4
70354eb73e Add play next to long press menu & refactor enqueue methods (#6872)
* added mvp play next button in long press menu; new intent handling, new long press dialog entry, new dialog functions, new strings

* changed line length for checkstyle pass

* cleaned comments, moved strings

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

to make long press entry more descriptive

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

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

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

* replace redundant nextOnVideoPlayer methods

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

* add enqueueNextOnPlayer and enqueueOnPlayer without selectOnAppend and RESUME_PLAYBACK/ deprecate enqueueNextOn*Player and enqueueOn*Player methods
add getPlayerIntent, getPlayerEnqueueIntent and getPlayerEnqueueNextIntent without selectOnAppend and RESUME_PLAYBACK/ deprecate those with
add section comments

* removed deprecated methods
removed redundant methods

* removed deprecated methods
removed redundant methods

* replaced APPEND_ONLY, removed SELECT_ON_APPEND / replaced remaining enqueueOn*Player methods

* now works with playlists

* renamed dialog entry

* checking for >1 items in the queue using the PlayerHolder

* making enqueue*OnPlayer safe to call when no video is playing (defaulting to audio)

* corrected strings

* improve getQueueSize in PlayerHolder

* long press to enqueue only if queue isnt empty

* add Whitespace

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

* clarify comments / add spaces

* PlayerType as parameter of the enqueueOnPlayer method
add Helper method

* using the helper function everywhere (except for the background and popup long-press actions (also on playlists, history, ...)), so basically nowhere
/ passing checkstyle

* assimilated the enqueue*OnPlayer methods

* removed redundant comment, variable

* simplify code line

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

* move if

* replace workaround for isPlayerOpen()

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

* replaced workarounds (getType), corrected static access with getInstance

* remove unused imports

* changed method call to original, new method doesnt exist yet.

* Use getter method instead of property access syntax.

* improve conditional for play next entry

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

* show play next btn in feed fragment

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

* add play next to local playlist and statistics fragment

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

* formating

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

* correcting logic

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

* remove 2 year old unused string, formating

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

* correct enqueue (next) conditionals, default to background if no player is open. Dont generally default to background play.

* remove player open checks from button long press enqueue actions

* improve log msg

* Rename next to enqueue_next

* Refactor kotlin

Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
Co-authored-by: Stypox <stypox@pm.me>
2021-09-18 11:22:49 +02:00
XiangRongLin
63083ac0c3 Merge pull request #7098 from XiangRongLin/6420_package_suffix
Allow passing in package suffix for release builds through CLI param
2021-09-18 11:10:42 +02:00
TobiGr
9346f9b0f3 Update extractor version to 0.21.10 2021-09-13 16:47:40 +02:00
TobiGr
605e5d265c Fix syntax 2021-09-13 14:02:08 +02:00
TobiGr
25456b15e7 Fix duplicate dashes in string resource 2021-09-13 14:01:52 +02:00
TobiGr
ebbe7ef944 Fix Chinese plurals 2021-09-13 14:01:17 +02:00
Hosted Weblate
60a272e70a Translated using Weblate (Spanish)
Currently translated at 56.1% (32 of 57 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Vietnamese)

Currently translated at 99.8% (618 of 619 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Japanese)

Currently translated at 99.5% (616 of 619 strings)

Translated using Weblate (Ukrainian)

Currently translated at 77.1% (44 of 57 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Galician)

Currently translated at 94.9% (588 of 619 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Persian)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Slovak)

Currently translated at 96.2% (596 of 619 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (French)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (German)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (English)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Polish)

Currently translated at 52.6% (30 of 57 strings)

Translated using Weblate (Hebrew)

Currently translated at 47.3% (27 of 57 strings)

Translated using Weblate (Ukrainian)

Currently translated at 61.4% (35 of 57 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Portuguese)

Currently translated at 99.6% (617 of 619 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (57 of 57 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Persian)

Currently translated at 15.7% (9 of 57 strings)

Translated using Weblate (Ukrainian)

Currently translated at 54.3% (31 of 57 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (619 of 619 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: Danial Behzadi <dani.behzi@ubuntu.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: Jakub <online.reg1@pm.me>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
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: bruh <quangtrung02hn16@gmail.com>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: nzgha <nzghafoss.ldxwe@slmail.me>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: ssantos <ssantos@web.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/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translation: NewPipe/Metadata
2021-09-13 14:01:12 +02:00
TobiGr
672fcb9ce3 Fix syntax 2021-09-13 13:54:32 +02:00
TobiGr
870d50ebcd Fix duplicate dashes in string resource 2021-09-13 13:52:58 +02:00
TobiGr
b62b3e91a0 Fix Chinese plurals 2021-09-13 13:52:33 +02:00
Hosted Weblate
b022d90303 Translated using Weblate (Spanish)
Currently translated at 56.1% (32 of 57 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Vietnamese)

Currently translated at 99.8% (618 of 619 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Japanese)

Currently translated at 99.5% (616 of 619 strings)

Translated using Weblate (Ukrainian)

Currently translated at 77.1% (44 of 57 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Galician)

Currently translated at 94.9% (588 of 619 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Persian)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Slovak)

Currently translated at 96.2% (596 of 619 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (French)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (German)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (English)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Polish)

Currently translated at 52.6% (30 of 57 strings)

Translated using Weblate (Hebrew)

Currently translated at 47.3% (27 of 57 strings)

Translated using Weblate (Ukrainian)

Currently translated at 61.4% (35 of 57 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Portuguese)

Currently translated at 99.6% (617 of 619 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (57 of 57 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Persian)

Currently translated at 15.7% (9 of 57 strings)

Translated using Weblate (Ukrainian)

Currently translated at 54.3% (31 of 57 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (619 of 619 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (619 of 619 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: Danial Behzadi <dani.behzi@ubuntu.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: Jakub <online.reg1@pm.me>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
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: bruh <quangtrung02hn16@gmail.com>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: nzgha <nzghafoss.ldxwe@slmail.me>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: ssantos <ssantos@web.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/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translation: NewPipe/Metadata
2021-09-13 13:29:04 +02:00
Tobi
02af529551 Merge pull request #6974 from litetex/update-android-build-tools-gradle
Update Android Gradle Plugin to version 7.0.2
2021-09-13 13:13:57 +02:00
XiangRongLin
dd9cc619ed Add documentation for the custom gradle parameters 2021-09-12 20:43:28 +02:00
XiangRongLin
75c9e959de Allow passing in package suffix for release builds through CLI param 2021-09-12 20:19:45 +02:00
litetex
fb8afec1bf Updated `com.android.tools.build:gradle to 7.0.2` 2021-09-12 14:54:40 +02:00
Tobi
a2887034a6 Merge pull request #7068 from litetex/fix-restart
Fixed restarting not working properly
2021-09-11 12:51:38 +02:00
Tobi
7eb5aa1bc5 Merge pull request #7056 from TeamNewPipe/fix/playOnPopup
Fix handling exception in `playOnPopup` and toggle description tab
2021-09-10 18:21:41 +02:00
Tobi
08ebd7d39a Merge pull request #7085 from litetex/fix-splash-screen-navbar-color
Fixed the navbar color for darkmode
2021-09-09 22:35:51 +02:00
litetex
9ea263f72e Fixed the navbar color for darkmode 2021-09-09 21:39:40 +02:00
Tobi
e4a2d2f3c1 Merge pull request #7071 from thefalsedev/cpufix-1
Change player progress bar update from 500 ms to 1 s
2021-09-09 13:37:44 +02:00
thefalsedev
892b4a15f6 Change player progress bar update from 500 ms to 1 s
Just like in the issue 7062, https://github.com/TeamNewPipe/NewPipe/issues/7062, this doesn't affect UI as it updates every one second anyway, but reduces very heavy android widget progress bar high cpu usage. With every 500s there is 6% cpu usage and with 1s only 4%. However further changes will have to be made to disable updating of player progress bar when screen is off to further reduce power consumption. With this, total power savings would be 20% in mAh consumption.
2021-09-07 00:04:05 +02:00
litetex
fda0a550fd Fixed the app restarting not working properly
* Using [``process-phoenix``](https://github.com/JakeWharton/ProcessPhoenix)
2021-09-06 20:47:44 +02:00
TobiGr
638825cdff Release NewPipe 0.21.10 (976) 2021-09-05 21:47:28 +02:00
TobiGr
6a1d81fcf3 Add changelog for NewPipe 0.21.10 (976) 2021-09-05 21:47:19 +02:00
TobiGr
8afd44a72f Update extractor version 2021-09-05 21:31:39 +02:00
Tobi
22c5135740 Merge pull request #7055 from sauravrao637/7048
Added night variant for splash_background.xml
2021-09-05 20:42:32 +02:00
TobiGr
4d51ebc37a Fix a few SonarLint warnings 2021-09-05 19:54:28 +02:00
TobiGr
433c6dc33b Fix OnErrorNotImplementedException in SearchFragment.initSuggestionObserver()
Hopefully also fix the cause of the original error.
2021-09-05 19:54:28 +02:00
TobiGr
ed4fdadd4d Fix OnErrorNotImplementedException in playOnPopup 2021-09-05 19:54:28 +02:00
TobiGr
298e96b821 Fix updating the wrong tabs when changing settings while running the minimized player in VideoDetailFragment
The comments tab was updated although the settings for the description tab were changed.
2021-09-04 22:36:47 +02:00
TobiGr
9006667b4d Merge remote-tracking branch 'origin/dev' into dev 2021-09-04 21:23:50 +02:00
Allan Nordhøy
abbf71982d Translated using Weblate (Norwegian Bokmål)
Currently translated at 97.0% (665 of 685 strings)
2021-09-04 20:57:35 +02:00
Joel A
57110717d3 Translated using Weblate (Swedish)
Currently translated at 98.8% (677 of 685 strings)
2021-09-04 20:57:35 +02:00
Yaron Shahrabani
c3b5444281 Translated using Weblate (Hebrew)
Currently translated at 100.0% (685 of 685 strings)
2021-09-04 20:57:35 +02:00
chr56
7a542975ca Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (685 of 685 strings)
2021-09-04 20:57:34 +02:00
Danial Behzadi
490aff5846 Translated using Weblate (Persian)
Currently translated at 100.0% (685 of 685 strings)
2021-09-04 20:57:34 +02:00
Agnieszka C
1dfc036ead Translated using Weblate (Polish)
Currently translated at 100.0% (685 of 685 strings)
2021-09-04 20:57:34 +02:00
Oğuz Ersen
360d6b998c Translated using Weblate (Turkish)
Currently translated at 100.0% (685 of 685 strings)
2021-09-04 20:57:34 +02:00
Ihor Hordiichuk
be7307cf39 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (685 of 685 strings)
2021-09-04 20:57:33 +02:00
bomzhellino
12096ab050 Translated using Weblate (Russian)
Currently translated at 100.0% (685 of 685 strings)
2021-09-04 20:57:33 +02:00
Ldm Public
225f23ce02 Translated using Weblate (French)
Currently translated at 100.0% (685 of 685 strings)
2021-09-04 20:57:33 +02:00
nautilusx
9c15ee7285 Translated using Weblate (German)
Currently translated at 100.0% (685 of 685 strings)
2021-09-04 20:57:32 +02:00
Tobi
8dd617fc6b Merge pull request #7043 from Stypox/optimize-resources
Remove unused resources
2021-09-04 20:57:07 +02:00
camo0112
ae8e72f34b added night variant for splash_background.xml 2021-09-04 15:55:31 +05:30
litetex
fc52a6e871 Merge branch 'dev' into update-android-build-tools-gradle 2021-09-03 23:18:16 +02:00
Hosted Weblate
722b47b86f Translated using Weblate (Persian)
Currently translated at 12.5% (7 of 56 strings)

Translated using Weblate (Spanish)

Currently translated at 55.3% (31 of 56 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 (Lithuanian)

Currently translated at 99.8% (682 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 (Persian)

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 99.7% (681 of 683 strings)

Translated using Weblate (Greek)

Currently translated at 99.8% (682 of 683 strings)

Translated using Weblate (Portuguese)

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 99.1% (677 of 683 strings)

Translated using Weblate (Russian)

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 (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 (Sardinian)

Currently translated at 100.0% (683 of 683 strings)

Translated using Weblate (Galician)

Currently translated at 95.9% (655 of 683 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 97.0% (663 of 683 strings)

Translated using Weblate (Vietnamese)

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 (Persian)

Currently translated at 10.7% (6 of 56 strings)

Translated using Weblate (French)

Currently translated at 66.0% (37 of 56 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 97.0% (663 of 683 strings)

Translated using Weblate (Lithuanian)

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 (Persian)

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 (Turkish)

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 (Czech)

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 (Basque)

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 (French)

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 (French)

Currently translated at 100.0% (683 of 683 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: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Andrij Mizyk <andmizyk@gmail.com>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Eric <spice2wolf@gmail.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: Ldm Public <ldmpub@gmail.com>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: Priit Jõerüüt <hwlate@joeruut.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Sergio Varela <sergitroll9@gmail.com>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
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: nautilusx <translate@disroot.org>
Co-authored-by: nzgha <nzghafoss.ldxwe@slmail.me>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: translator <yasinoc375@advew.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/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fa/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translation: NewPipe/Metadata
2021-09-03 15:59:03 +02:00
Stypox
3a09039b93 Remove unused resources 2021-09-02 21:13:54 +02:00
evermind
669a35bc78 check immediately for updates if user enables 'check for updates setting'
- Convert CheckForNewAppVersion to IntentService
- reset expire date to 0 after user enables check for updates setting
2021-09-02 07:20:35 +02:00
Tobi
81fa0c1558 Merge pull request #5459 from Stypox/fullscreen-autoplay
Add option to directly open fullscreen when the main player starts
2021-09-01 23:01:09 +02:00
Stypox
ed408b2094 Move fullscreen-related comments to javadocs 2021-09-01 20:13:27 +02:00
Stypox
3bc661f583 Fix null pointer exception in player initialization 2021-09-01 20:13:27 +02:00
Stypox
cf9b482be2 Completely close player when changing stream w/o autoplay 2021-09-01 20:13:27 +02:00
Stypox
1d935b46f9 Open fullscreen when switching from popup to main player 2021-09-01 20:13:24 +02:00
Stypox
520ac2e935 Fix bottom sheet state after automatic fullscreen 2021-09-01 20:12:14 +02:00
Stypox
c6316abbce Fix opening directly fullscreen on tablets 2021-09-01 20:12:09 +02:00
Stypox
2dfe837c35 Extract isLandscape and isInMultiWindow to DeviceUtils 2021-09-01 20:09:08 +02:00
Stypox
3c2ea7697c Add option to directly open fullscreen when the main player starts 2021-09-01 20:08:37 +02:00
Stypox
faa7a91764 Merge pull request #7004 from litetex/fix-showTextError-and-rework-ErrorPanel
Reworked the ErrorPanel
2021-08-31 18:26:51 +02:00
Robin
f629a4d206 Merge pull request #6993 from Redirion/closeaudioeffectsession
Close audio effect control session properly
2021-08-31 12:37:20 +02:00
Stypox
4b7c37e919 Merge pull request #6955 from ktprograms/queue-long-press-menu
Show popup menu when long pressing in play queue (Full screen player)
2021-08-31 12:22:59 +02:00
Stypox
a4c9732916 Merge pull request #6965 from ktprograms/indication-content-main-page
Add how to remove tab from main page text
2021-08-31 12:12:33 +02:00
Stypox
f8f2dfce4b Merge pull request #6882 from talanc/dev
Add support for CSV+ZIP subscriptions (Google Takeout)
2021-08-31 12:10:12 +02:00
Stypox
5284072b8d Improve mime type deduction on subscription import 2021-08-31 12:07:34 +02:00
talanc
e603dddc54 Added support for CSV+ZIP subscriptions
Updated import instructions string
2021-08-31 12:07:34 +02:00
Stypox
15691ba41a Merge pull request #7002 from litetex/gh-actions-use-integrated-cache-setup-java
Using integrated cache in ``actions/setup-java``
2021-08-31 12:01:26 +02:00
Stypox
a555aab3e7 Merge pull request #7024 from Stypox/string-fixes
Never use ``android.R.string``s; remove unused ``add`` string
2021-08-31 12:00:07 +02:00
Stypox
88f1c3a808 Merge pull request #6985 from litetex/set-seekbarjump-when-using-dpad-to-seek-duration-from-preferences
Set ``KeyProgressIncrement`` manually / Fix long seekbar jumps when using a DPad
2021-08-30 23:36:29 +02:00
Tobi
0e6668636d Merge pull request #6986 from litetex/fix-build-problems-update-kotlin
Fix build problems and updated kotlin
2021-08-30 21:20:45 +02:00
Stypox
d0f4d8b132 Remove unused string "add": "New mission" 2021-08-30 16:37:01 +02:00
Stypox
cfdcb92fa3 Always use our strings, not android ones 2021-08-30 16:37:01 +02:00
Stypox
039bd5d413 Rename string finish to ok, as its content was "OK" 2021-08-30 16:36:57 +02:00
Stypox
5ffba55b4a Merge pull request #6990 from CBSkarmory/dev
fix typo / reword part of bug report template
2021-08-30 15:51:47 +02:00
Robin
57ca281c80 Merge pull request #6634 from Isira-Seneviratne/Use_PackageInfoCompat
Use PackageInfoCompat.getSignatures().
2021-08-29 23:13:12 +02:00
Tobi
46f74b908a Merge pull request #7014 from litetex/fix-double-tapping-replay-button
Fixed double tapping the replay button
2021-08-29 18:43:28 +02:00
litetex
703f1550d8 Fixed double tapping the replay button 2021-08-29 17:53:09 +02:00
Robin
8bfd380b89 Merge pull request #6515 from Redirion/buffersharmonization
Use ExoPlayer default values for buffers
2021-08-29 17:44:43 +02:00
Agnieszka C
43e91ae4ae Added plural forms for download related strings (#6930)
Co-authored-by: Tobi <TobiGr@users.noreply.github.com>
2021-08-29 13:28:01 +02:00
Hosted Weblate
023a2c1d9c Translated using Weblate (German)
Currently translated at 53.5% (30 of 56 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (684 of 684 strings)

Translated using Weblate (Malay)

Currently translated at 67.8% (464 of 684 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (684 of 684 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (684 of 684 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (684 of 684 strings)

Translated using Weblate (Korean)

Currently translated at 75.5% (517 of 684 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (684 of 684 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (684 of 684 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (684 of 684 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (684 of 684 strings)

Translated using Weblate (Malay)

Currently translated at 67.3% (461 of 684 strings)

Translated using Weblate (Malay)

Currently translated at 67.3% (461 of 684 strings)

Translated using Weblate (Swedish)

Currently translated at 99.1% (678 of 684 strings)

Translated using Weblate (Japanese)

Currently translated at 99.5% (681 of 684 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (684 of 684 strings)

Translated using Weblate (Malayalam)

Currently translated at 7.1% (4 of 56 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (684 of 684 strings)

Translated using Weblate (Kurdish (Central))

Currently translated at 100.0% (684 of 684 strings)

Translated using Weblate (Malayalam)

Currently translated at 100.0% (684 of 684 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (684 of 684 strings)

Translated using Weblate (Catalan)

Currently translated at 98.5% (674 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 (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 (French)

Currently translated at 100.0% (684 of 684 strings)

Translated using Weblate (German)

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 (Lithuanian)

Currently translated at 10.7% (6 of 56 strings)

Translated using Weblate (Finnish)

Currently translated at 100.0% (684 of 684 strings)

Translated using Weblate (Lithuanian)

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 (Polish)

Currently translated at 100.0% (684 of 684 strings)

Translated using Weblate (Turkish)

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 (French)

Currently translated at 99.8% (683 of 684 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (684 of 684 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (678 of 678 strings)

Translated using Weblate (Vietnamese)

Currently translated at 39.2% (22 of 56 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (678 of 678 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (678 of 678 strings)

Translated using Weblate (Finnish)

Currently translated at 12.5% (7 of 56 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: Bruno Guerreiro <american.jesus.pt@gmail.com>
Co-authored-by: Dayongdo <dayongdo@protonmail.ch>
Co-authored-by: Deleted User <noreply+23276@weblate.org>
Co-authored-by: Eric <spice2wolf@gmail.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: Joel A <joeax910@student.liu.se>
Co-authored-by: Kaantaja <ufdbvgoljrjkrkyyub@ianvvn.com>
Co-authored-by: Karl Tammik <karltammik@protonmail.com>
Co-authored-by: Lavin Tom K Abraham <lavintom007@gmail.com>
Co-authored-by: Ldm Public <ldmpub@gmail.com>
Co-authored-by: Lim Jia Ming <jiaminglimjm@protonmail.com>
Co-authored-by: MohammedSR Vevo <mohammednajmidin@gmail.com>
Co-authored-by: Nadir Nour <dudethatwascool2@gmail.com>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: Rehaz Feddit <rehafa8425@fxseller.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Terry Louwers <t.louwers@gmail.com>
Co-authored-by: Thien Bui <thien.bui.84436@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: bruh <quangtrung02hn16@gmail.com>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: tch69 <ifa26417@outlook.com.vn>
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/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fi/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/lt/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ml/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/vi/
Translation: NewPipe/Metadata
2021-08-29 13:15:02 +02:00
litetex
d931d058d9 Reworked the ErrorPanel
* All element on the error panel are now hidden by default (expect for the ``errorTextView``) as they are only optional shown
  * Added a method to ensure the above
  * This deduplicates a lot of code
* Fixed format of some LoC
* Added new method: ``showAndSetErrorButtonAction``
* Fixed  ``showTextError``
* Named buttons more logically: ``errorButtonAction`` -> ``errorActionButton``
2021-08-28 17:05:12 +02:00
litetex
a825253b7f Using integrated cache in `actions/setup-java`
https://github.com/actions/setup-java#caching-gradle-dependencies
2021-08-28 15:22:04 +02:00
acti0
d9086300f3 Re-add sharing of the content name with the "Share" command (#6957)
The title of the content is re-added as the EXTRA_SUBJECT of the share intent.
2021-08-27 19:26:32 +02:00
litetex
f18a7c91ca Suppressed warning
There seems to be a bug in the kotlin plugin as it tells you when building that this can't be null:
"Condition 'throwable != null' is always 'true'"
However it can indeed be null as seen in https://github.com/TeamNewPipe/NewPipe/pull/6986#issuecomment-906822218
2021-08-27 16:32:59 +02:00
Robin
556aad0114 Merge pull request #6995 from litetex/use-eclipse-temurin-in-gh-actions
Using Eclipse ``temurin`` in GH actions
2021-08-27 15:59:57 +02:00
litetex
05f6ea6401 Using Eclipse `temurin`
as AdoptOpenJDK is getting deprecated.

Eclipse ``temurin`` is a defacto renamed AdoptOpenJDK.

Ref:
* https://blog.adoptopenjdk.net/2021/08/goodbye-adoptopenjdk-hello-adoptium/
* https://github.com/actions/setup-java#supported-distributions
2021-08-27 15:21:48 +02:00
Robin
43d0543b9f close audio effect control session properly 2021-08-27 10:53:44 +02:00
ktprograms
e95637f7b7 Add help text in fragment_choose_tabs.xml, convert to ConstraintLayout 2021-08-27 09:20:23 +08:00
George T
4cd7c42b9e fix typo / reword part of bug report template 2021-08-26 19:02:50 -05:00
Tobi
0787d62254 Merge pull request #6820 from Stypox/picker-mime-type
Provide mime type to file picker to gray out unselectable files
2021-08-26 21:39:35 +02:00
litetex
b061423847 Changed package as the old one is deprecated 2021-08-26 18:09:27 +02:00
litetex
dbd90299bd Replaced deprecated `kotlin-android-extensions with kotlin-parcelize`
References:
* https://developer.android.com/topic/libraries/view-binding/migration#groovy
* https://developer.android.com/kotlin/parcelize#groovy
2021-08-26 18:08:54 +02:00
litetex
1faf1b261c Updated to latest kotlin version 2021-08-26 18:08:00 +02:00
litetex
c6ead351c0 Set `KeyProgressIncrement` manually
* Set ``KeyProgressIncrement`` manually to the value of the seek duration in the settings so that it works when using the DPad
* consolidated code inside a new method to avoid duplication
2021-08-26 17:16:51 +02:00
Stypox
bbcfdf2969 Merge pull request #6917 from sherlockbeard/sherlockbeard-notAvailableVector
Change "not available" image from PNG to vector format
2021-08-25 17:12:07 +02:00
litetex
36e72d5a41 Update ci.yml
Using Java 11
2021-08-25 17:05:10 +02:00
litetex
f8297a8a9b Updated `com.android.tools.build:gradle` to 7.0.1
Release notes are available here: https://developer.android.com/studio/releases/gradle-plugin#7-0-0
2021-08-25 16:48:18 +02:00
ktprograms
a4503eb609 Remove TAG parameter, refactor method calls 2021-08-25 17:04:15 +08:00
ktprograms
a1cb3e59d6 Move opening popup menu to utility class 2021-08-25 09:30:40 +08:00
ktprograms
ef94458249 Remove xerial sqlite dependency 2021-08-25 09:00:36 +08:00
ktprograms
1b05c404d5 Remove Details option in Main Player Queue menu 2021-08-25 08:56:26 +08:00
ktprograms
5de455bb86 Change type of themeWrapper to ContextThemeWrapper 2021-08-25 08:56:26 +08:00
ktprograms
acdfee5c25 Show popup menu when long pressing in play queue (Full screen player) 2021-08-25 08:56:26 +08:00
Tobi
a6d6ed6474 Merge pull request #3546 from Stypox/search-history
Allow choosing which types of search suggestions to show
2021-08-24 19:27:36 +02:00
Stypox
87e7d95966 Do not show suggestions error snackbar for interrupted I/O
Fix formatting
2021-08-24 18:16:17 +02:00
Stypox
d37ee1e0dc First run migrations, then setDefaultValues, since the latter requires the correct types 2021-08-24 18:16:17 +02:00
Stypox
1d33e7ab49 Allow choosing which types of search suggestions to show
local, remote, both, none
Replacing the old on-off setting
2021-08-24 18:16:16 +02:00
Stypox
2027b743b4 Merge pull request #6919 from ktprograms/channel-details-all-places
Add Show Channel Details where it's missing
2021-08-24 16:43:21 +02:00
ktprograms
7e27e73532 Remove xerial sqlite dependency 2021-08-24 22:07:30 +08:00
Tobi
3705a1adad Merge pull request #6942 from mhmdanas/add-no-response-action
Add no-response workflow
2021-08-24 15:59:47 +02:00
Tobi
793b88a7d4 Merge pull request #5928 from Stypox/picasso
Replace UniversalImageLoader with Picasso
2021-08-24 15:54:16 +02:00
ktprograms
2928df0cc9 Fix checkstyle ParenPad error 2021-08-24 21:17:08 +08:00
ktprograms
4f5e772157 Remove xerial sqlite dependency 2021-08-24 19:43:27 +08:00
ktprograms
f7a0b9951e Move Choose Tabs help message to Action Bar subtitle 2021-08-24 17:28:28 +08:00
Stypox
44128f9145 Remove placeholder image while loading thumbnails 2021-08-24 10:56:25 +02:00
Stypox
6eaff5ca6a Apply review: move thumbnail loading out of Player 2021-08-24 10:56:25 +02:00
Stypox
c0664c1cb6 Add Picasso to licences and remove Universal Image Loader 2021-08-24 10:56:25 +02:00
Stypox
e229e5355d Always create new bitmap when resizing thumbnail
This prevents strange crashes on some devices, fixes #4638
2021-08-24 10:56:25 +02:00
Stypox
52189fc5df Add debug setting to enable Picasso indicators 2021-08-24 10:56:25 +02:00
Stypox
314964c5f9 Recycle Bitmap in transformation 2021-08-24 10:56:25 +02:00
Stypox
fcef783bbb Replace UniversalImageLoader with Picasso 2021-08-24 10:56:25 +02:00
Stypox
9c5ac069d7 Merge pull request #6244 from sauravrao637/6203
changed dark theme colors to darker variant
2021-08-24 10:48:36 +02:00
ktprograms
160f9df64e Add how to remove tab from main page text 2021-08-24 09:39:18 +08:00
Tobi
bdbb9bead2 Merge pull request #6848 from Stypox/somali-cancel
Use custom cancel string everywhere
2021-08-22 22:36:14 +02:00
Tobi
e4dfce9ee2 Merge pull request #6952 from Aga-C/wrap-settings-titles
Added wrapping settings titles to the next line
2021-08-22 22:34:07 +02:00
TobiGr
6fbb601802 Merge branch 'master' into dev 2021-08-22 22:22:37 +02:00
Tobi
94b4c76749 Merge pull request #6840 from TeamNewPipe/release_0.21.9
Release 0.21.9
2021-08-22 22:21:36 +02:00
TobiGr
8715e7dd98 Only show "mark as watched" context menu entry when watch history is enabled 2021-08-22 22:15:05 +02:00
TobiGr
ccc2d892c1 Update extractor version to 0.21.9 2021-08-22 20:23:01 +02:00
TobiGr
d1ce8e7baa Removed unsued string from translations: item_in_history 2021-08-22 20:23:01 +02:00
TobiGr
82fbbbecac Fixed plurals 2021-08-22 20:23:01 +02:00
TobiGr
bf029ddd9f Removed unsued string from translations: item_in_history 2021-08-22 20:19:37 +02:00
TobiGr
af5f0c042a Fixed plurals 2021-08-22 20:18:15 +02:00
Hosted Weblate
4e15f0ddac Translated using Weblate (Finnish)
Currently translated at 10.7% (6 of 56 strings)

Translated using Weblate (Finnish)

Currently translated at 100.0% (678 of 678 strings)

Translated using Weblate (Spanish)

Currently translated at 53.5% (30 of 56 strings)

Translated using Weblate (Polish)

Currently translated at 51.7% (29 of 56 strings)

Translated using Weblate (Swedish)

Currently translated at 99.5% (675 of 678 strings)

Translated using Weblate (Swedish)

Currently translated at 99.5% (675 of 678 strings)

Translated using Weblate (Swedish)

Currently translated at 99.5% (675 of 678 strings)

Translated using Weblate (Galician)

Currently translated at 93.6% (635 of 678 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (678 of 678 strings)

Translated using Weblate (Croatian)

Currently translated at 100.0% (678 of 678 strings)

Translated using Weblate (Indonesian)

Currently translated at 99.8% (677 of 678 strings)

Translated using Weblate (Japanese)

Currently translated at 99.8% (677 of 678 strings)

Translated using Weblate (Croatian)

Currently translated at 97.0% (658 of 678 strings)

Translated using Weblate (Croatian)

Currently translated at 97.0% (658 of 678 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (678 of 678 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (678 of 678 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (678 of 678 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (678 of 678 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (678 of 678 strings)

Translated using Weblate (Swedish)

Currently translated at 3.5% (2 of 56 strings)

Translated using Weblate (Swedish)

Currently translated at 98.0% (665 of 678 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (678 of 678 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (678 of 678 strings)

Translated using Weblate (German)

Currently translated at 99.8% (677 of 678 strings)

Translated using Weblate (Ukrainian)

Currently translated at 53.5% (30 of 56 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (678 of 678 strings)

Translated using Weblate (French)

Currently translated at 100.0% (678 of 678 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 53.5% (30 of 56 strings)

Translated using Weblate (Portuguese)

Currently translated at 53.5% (30 of 56 strings)

Translated using Weblate (Croatian)

Currently translated at 96.7% (656 of 678 strings)

Translated using Weblate (Swedish)

Currently translated at 97.1% (659 of 678 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (678 of 678 strings)

Translated using Weblate (English)

Currently translated at 99.8% (678 of 679 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Ukrainian)

Currently translated at 53.5% (30 of 56 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Albanian)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Portuguese)

Currently translated at 99.8% (678 of 679 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (56 of 56 strings)

Translated using Weblate (Polish)

Currently translated at 48.2% (27 of 56 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 94.2% (640 of 679 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Persian)

Currently translated at 94.4% (641 of 679 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (French)

Currently translated at 99.8% (678 of 679 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.8% (678 of 679 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Hebrew)

Currently translated at 48.1% (26 of 54 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Arabic)

Currently translated at 99.7% (677 of 679 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Greek)

Currently translated at 99.7% (677 of 679 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (French)

Currently translated at 99.8% (678 of 679 strings)

Translated using Weblate (Spanish)

Currently translated at 99.8% (678 of 679 strings)

Translated using Weblate (German)

Currently translated at 99.8% (678 of 679 strings)

Translated using Weblate (German)

Currently translated at 99.8% (678 of 679 strings)

Translated using Weblate (German)

Currently translated at 99.8% (678 of 679 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Tamil)

Currently translated at 36.6% (248 of 677 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Esperanto)

Currently translated at 85.6% (580 of 677 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 26.4% (14 of 53 strings)

Translated using Weblate (Estonian)

Currently translated at 99.8% (676 of 677 strings)

Translated using Weblate (Swedish)

Currently translated at 97.4% (660 of 677 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Korean)

Currently translated at 76.0% (515 of 677 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Spanish)

Currently translated at 28.3% (15 of 53 strings)

Translated using Weblate (Estonian)

Currently translated at 97.0% (657 of 677 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Basque)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Hungarian)

Currently translated at 85.6% (580 of 677 strings)

Translated using Weblate (Hungarian)

Currently translated at 85.6% (580 of 677 strings)

Translated using Weblate (Hungarian)

Currently translated at 85.6% (580 of 677 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Swedish)

Currently translated at 3.7% (2 of 53 strings)

Translated using Weblate (French)

Currently translated at 67.9% (36 of 53 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Swedish)

Currently translated at 97.3% (659 of 677 strings)

Translated using Weblate (Swedish)

Currently translated at 97.3% (659 of 677 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Latvian)

Currently translated at 94.5% (640 of 677 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 24.5% (13 of 53 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (German)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Galician)

Currently translated at 91.5% (620 of 677 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (French)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Bengali (Bangladesh))

Currently translated at 59.6% (404 of 677 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 97.1% (658 of 677 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Indonesian)

Currently translated at 99.8% (676 of 677 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Russian)

Currently translated at 99.8% (676 of 677 strings)

Translated using Weblate (French)

Currently translated at 99.8% (676 of 677 strings)

Translated using Weblate (Romanian)

Currently translated at 93.0% (626 of 673 strings)

Translated using Weblate (Kurdish (Central))

Currently translated at 3.7% (2 of 53 strings)

Translated using Weblate (Kurdish (Central))

Currently translated at 100.0% (673 of 673 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (673 of 673 strings)

Translated using Weblate (Kurdish (Central))

Currently translated at 90.3% (608 of 673 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (673 of 673 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (673 of 673 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (673 of 673 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (673 of 673 strings)

Translated using Weblate (Kurdish (Central))

Currently translated at 87.9% (592 of 673 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (673 of 673 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (673 of 673 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (673 of 673 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (673 of 673 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (673 of 673 strings)

Translated using Weblate (French)

Currently translated at 100.0% (673 of 673 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Albanian)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Bulgarian)

Currently translated at 1.8% (1 of 53 strings)

Translated using Weblate (Bulgarian)

Currently translated at 57.8% (389 of 672 strings)

Translated using Weblate (Bulgarian)

Currently translated at 57.8% (389 of 672 strings)

Translated using Weblate (Bulgarian)

Currently translated at 57.8% (389 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Bulgarian)

Currently translated at 57.4% (386 of 672 strings)

Translated using Weblate (Bulgarian)

Currently translated at 57.4% (386 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Gujarati)

Currently translated at 15.3% (103 of 672 strings)

Translated using Weblate (Hindi)

Currently translated at 81.6% (549 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Added translation using Weblate (Gujarati)

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: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Andrij Mizyk <andmizyk@gmail.com>
Co-authored-by: AntonAkovP <anton.akov@gmail.com>
Co-authored-by: Anxhelo Lushka <anxhelo1995@gmail.com>
Co-authored-by: Ashune <ashune@protonmail.com>
Co-authored-by: Blaise Pascal <blaisepcl00@gmail.com>
Co-authored-by: ButterflyOfFire <ButterflyOfFire@protonmail.com>
Co-authored-by: Cerins <cerins4141@gmail.com>
Co-authored-by: Christian Draxl <draxl.koever@gmail.com>
Co-authored-by: Christian Eichert <c@zp1.net>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Deleted User <noreply+34051@weblate.org>
Co-authored-by: Eduardo Caron <eduardocaron10@gmail.com>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: Evo <weblate@verahawk.com>
Co-authored-by: Garden Hose <maxmammath@gmail.com>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: GnuPGを使うべきだ <dieeeazpnnqbpddh@cock.email>
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: Isak Holmström <isak@kajko.se>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: JY3 <GeeyunJY3@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Jesus Cass <cjesusenrique1@gmail.com>
Co-authored-by: Joel A <joeax910@student.liu.se>
Co-authored-by: Jonatan Nyberg <jonatan@autistici.org>
Co-authored-by: Kaantaja <ufdbvgoljrjkrkyyub@ianvvn.com>
Co-authored-by: Kristjan Räts <kristjanrats@gmail.com>
Co-authored-by: Laszlo Almasi <almalaci@posteo.net>
Co-authored-by: Ldm Public <ldmpub@gmail.com>
Co-authored-by: Martin Constantino–Bodin <martin.bodin@ens-lyon.org>
Co-authored-by: Matyas-Cerny <matyas.c.404@gmail.com>
Co-authored-by: MohammedSR Vevo <mohammednajmidin@gmail.com>
Co-authored-by: Nadir Nour <dudethatwascool2@gmail.com>
Co-authored-by: Nikita Epifanov <nikgreens@protonmail.com>
Co-authored-by: Ordtrogen Översättning <johan@ordtrogen.se>
Co-authored-by: Rahul Dev Sharma <sci94tune@gmail.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: Saravanan Selvaraju <saravanan036@outlook.com>
Co-authored-by: Sergio Varela <sergitroll9@gmail.com>
Co-authored-by: SomeRetardedThatTranslatesStuff <the.eumitosis@simplelogin.fr>
Co-authored-by: Thiago Carmona Monteiro <Guarakami1807@protonmail.ch>
Co-authored-by: TiA4f8R <avdivers84@gmail.com>
Co-authored-by: TobiGr <tobigr@mail.de>
Co-authored-by: ToldYouThat <itoldyouthat@protonmail.com>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: WB <web0nst@tuta.io>
Co-authored-by: WaldiS <sto@tutanota.de>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: bomzhellino <adm.bomzh@gmail.com>
Co-authored-by: brokenPipe <ythunar@btcminers.tk>
Co-authored-by: bruh <quangtrung02hn16@gmail.com>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: michaloM <michalsvoboda2004@gmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: nzgha <nzghafoss.ldxwe@slmail.me>
Co-authored-by: nzgha <osmshrn21.upogs@slmail.me>
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: thami simo <simo.azad@gmail.com>
Co-authored-by: translator <yasinoc375@advew.com>
Co-authored-by: zeritti <woodenmo@posteo.de>
Co-authored-by: zmni <zmni@outlook.com>
Co-authored-by: Ács Zoltán <acszoltan111@gmail.com>
Co-authored-by: Ákos Surányi <akosuranyi@tutanota.com>
Co-authored-by: Андрей Станков <astankov84@gmail.com>
Co-authored-by: мачко <martinpeev@tutanota.com>
Co-authored-by: 정주찬 <ju1801@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bg/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ckb/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fi/
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/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/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translation: NewPipe/Metadata
2021-08-22 19:55:52 +02:00
Hosted Weblate
b566355c4f Translated using Weblate (Finnish)
Currently translated at 10.7% (6 of 56 strings)

Translated using Weblate (Finnish)

Currently translated at 100.0% (678 of 678 strings)

Translated using Weblate (Spanish)

Currently translated at 53.5% (30 of 56 strings)

Translated using Weblate (Polish)

Currently translated at 51.7% (29 of 56 strings)

Translated using Weblate (Swedish)

Currently translated at 99.5% (675 of 678 strings)

Translated using Weblate (Swedish)

Currently translated at 99.5% (675 of 678 strings)

Translated using Weblate (Swedish)

Currently translated at 99.5% (675 of 678 strings)

Translated using Weblate (Galician)

Currently translated at 93.6% (635 of 678 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (678 of 678 strings)

Translated using Weblate (Croatian)

Currently translated at 100.0% (678 of 678 strings)

Translated using Weblate (Indonesian)

Currently translated at 99.8% (677 of 678 strings)

Translated using Weblate (Japanese)

Currently translated at 99.8% (677 of 678 strings)

Translated using Weblate (Croatian)

Currently translated at 97.0% (658 of 678 strings)

Translated using Weblate (Croatian)

Currently translated at 97.0% (658 of 678 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (678 of 678 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (678 of 678 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (678 of 678 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (678 of 678 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (678 of 678 strings)

Translated using Weblate (Swedish)

Currently translated at 3.5% (2 of 56 strings)

Translated using Weblate (Swedish)

Currently translated at 98.0% (665 of 678 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (678 of 678 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (678 of 678 strings)

Translated using Weblate (German)

Currently translated at 99.8% (677 of 678 strings)

Translated using Weblate (Ukrainian)

Currently translated at 53.5% (30 of 56 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (678 of 678 strings)

Translated using Weblate (French)

Currently translated at 100.0% (678 of 678 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 53.5% (30 of 56 strings)

Translated using Weblate (Portuguese)

Currently translated at 53.5% (30 of 56 strings)

Translated using Weblate (Croatian)

Currently translated at 96.7% (656 of 678 strings)

Translated using Weblate (Swedish)

Currently translated at 97.1% (659 of 678 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (678 of 678 strings)

Translated using Weblate (English)

Currently translated at 99.8% (678 of 679 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Ukrainian)

Currently translated at 53.5% (30 of 56 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Albanian)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Portuguese)

Currently translated at 99.8% (678 of 679 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (56 of 56 strings)

Translated using Weblate (Polish)

Currently translated at 48.2% (27 of 56 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 94.2% (640 of 679 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Persian)

Currently translated at 94.4% (641 of 679 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (French)

Currently translated at 99.8% (678 of 679 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.8% (678 of 679 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Hebrew)

Currently translated at 48.1% (26 of 54 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Arabic)

Currently translated at 99.7% (677 of 679 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Greek)

Currently translated at 99.7% (677 of 679 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (French)

Currently translated at 99.8% (678 of 679 strings)

Translated using Weblate (Spanish)

Currently translated at 99.8% (678 of 679 strings)

Translated using Weblate (German)

Currently translated at 99.8% (678 of 679 strings)

Translated using Weblate (German)

Currently translated at 99.8% (678 of 679 strings)

Translated using Weblate (German)

Currently translated at 99.8% (678 of 679 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (679 of 679 strings)

Translated using Weblate (Tamil)

Currently translated at 36.6% (248 of 677 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Esperanto)

Currently translated at 85.6% (580 of 677 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 26.4% (14 of 53 strings)

Translated using Weblate (Estonian)

Currently translated at 99.8% (676 of 677 strings)

Translated using Weblate (Swedish)

Currently translated at 97.4% (660 of 677 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Korean)

Currently translated at 76.0% (515 of 677 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Spanish)

Currently translated at 28.3% (15 of 53 strings)

Translated using Weblate (Estonian)

Currently translated at 97.0% (657 of 677 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Basque)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Hungarian)

Currently translated at 85.6% (580 of 677 strings)

Translated using Weblate (Hungarian)

Currently translated at 85.6% (580 of 677 strings)

Translated using Weblate (Hungarian)

Currently translated at 85.6% (580 of 677 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Swedish)

Currently translated at 3.7% (2 of 53 strings)

Translated using Weblate (French)

Currently translated at 67.9% (36 of 53 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Swedish)

Currently translated at 97.3% (659 of 677 strings)

Translated using Weblate (Swedish)

Currently translated at 97.3% (659 of 677 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Latvian)

Currently translated at 94.5% (640 of 677 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 24.5% (13 of 53 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (German)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Galician)

Currently translated at 91.5% (620 of 677 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (French)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Bengali (Bangladesh))

Currently translated at 59.6% (404 of 677 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 97.1% (658 of 677 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Indonesian)

Currently translated at 99.8% (676 of 677 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (677 of 677 strings)

Translated using Weblate (Russian)

Currently translated at 99.8% (676 of 677 strings)

Translated using Weblate (French)

Currently translated at 99.8% (676 of 677 strings)

Translated using Weblate (Romanian)

Currently translated at 93.0% (626 of 673 strings)

Translated using Weblate (Kurdish (Central))

Currently translated at 3.7% (2 of 53 strings)

Translated using Weblate (Kurdish (Central))

Currently translated at 100.0% (673 of 673 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (673 of 673 strings)

Translated using Weblate (Kurdish (Central))

Currently translated at 90.3% (608 of 673 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (673 of 673 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (673 of 673 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (673 of 673 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (673 of 673 strings)

Translated using Weblate (Kurdish (Central))

Currently translated at 87.9% (592 of 673 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (673 of 673 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (673 of 673 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (673 of 673 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (673 of 673 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (673 of 673 strings)

Translated using Weblate (French)

Currently translated at 100.0% (673 of 673 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Albanian)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Bulgarian)

Currently translated at 1.8% (1 of 53 strings)

Translated using Weblate (Bulgarian)

Currently translated at 57.8% (389 of 672 strings)

Translated using Weblate (Bulgarian)

Currently translated at 57.8% (389 of 672 strings)

Translated using Weblate (Bulgarian)

Currently translated at 57.8% (389 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Bulgarian)

Currently translated at 57.4% (386 of 672 strings)

Translated using Weblate (Bulgarian)

Currently translated at 57.4% (386 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Gujarati)

Currently translated at 15.3% (103 of 672 strings)

Translated using Weblate (Hindi)

Currently translated at 81.6% (549 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Added translation using Weblate (Gujarati)

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: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Andrij Mizyk <andmizyk@gmail.com>
Co-authored-by: AntonAkovP <anton.akov@gmail.com>
Co-authored-by: Anxhelo Lushka <anxhelo1995@gmail.com>
Co-authored-by: Ashune <ashune@protonmail.com>
Co-authored-by: Blaise Pascal <blaisepcl00@gmail.com>
Co-authored-by: ButterflyOfFire <ButterflyOfFire@protonmail.com>
Co-authored-by: Cerins <cerins4141@gmail.com>
Co-authored-by: Christian Draxl <draxl.koever@gmail.com>
Co-authored-by: Christian Eichert <c@zp1.net>
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Co-authored-by: Deleted User <noreply+34051@weblate.org>
Co-authored-by: Eduardo Caron <eduardocaron10@gmail.com>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: Evo <weblate@verahawk.com>
Co-authored-by: Garden Hose <maxmammath@gmail.com>
Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Co-authored-by: GnuPGを使うべきだ <dieeeazpnnqbpddh@cock.email>
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: Isak Holmström <isak@kajko.se>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: JY3 <GeeyunJY3@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Jesus Cass <cjesusenrique1@gmail.com>
Co-authored-by: Joel A <joeax910@student.liu.se>
Co-authored-by: Jonatan Nyberg <jonatan@autistici.org>
Co-authored-by: Kaantaja <ufdbvgoljrjkrkyyub@ianvvn.com>
Co-authored-by: Kristjan Räts <kristjanrats@gmail.com>
Co-authored-by: Laszlo Almasi <almalaci@posteo.net>
Co-authored-by: Ldm Public <ldmpub@gmail.com>
Co-authored-by: Martin Constantino–Bodin <martin.bodin@ens-lyon.org>
Co-authored-by: Matyas-Cerny <matyas.c.404@gmail.com>
Co-authored-by: MohammedSR Vevo <mohammednajmidin@gmail.com>
Co-authored-by: Nadir Nour <dudethatwascool2@gmail.com>
Co-authored-by: Nikita Epifanov <nikgreens@protonmail.com>
Co-authored-by: Ordtrogen Översättning <johan@ordtrogen.se>
Co-authored-by: Rahul Dev Sharma <sci94tune@gmail.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: Saravanan Selvaraju <saravanan036@outlook.com>
Co-authored-by: Sergio Varela <sergitroll9@gmail.com>
Co-authored-by: SomeRetardedThatTranslatesStuff <the.eumitosis@simplelogin.fr>
Co-authored-by: Thiago Carmona Monteiro <Guarakami1807@protonmail.ch>
Co-authored-by: TiA4f8R <avdivers84@gmail.com>
Co-authored-by: TobiGr <tobigr@mail.de>
Co-authored-by: ToldYouThat <itoldyouthat@protonmail.com>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: WB <web0nst@tuta.io>
Co-authored-by: WaldiS <sto@tutanota.de>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: bomzhellino <adm.bomzh@gmail.com>
Co-authored-by: brokenPipe <ythunar@btcminers.tk>
Co-authored-by: bruh <quangtrung02hn16@gmail.com>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: michaloM <michalsvoboda2004@gmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: nzgha <nzghafoss.ldxwe@slmail.me>
Co-authored-by: nzgha <osmshrn21.upogs@slmail.me>
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: thami simo <simo.azad@gmail.com>
Co-authored-by: translator <yasinoc375@advew.com>
Co-authored-by: zeritti <woodenmo@posteo.de>
Co-authored-by: zmni <zmni@outlook.com>
Co-authored-by: Ács Zoltán <acszoltan111@gmail.com>
Co-authored-by: Ákos Surányi <akosuranyi@tutanota.com>
Co-authored-by: Андрей Станков <astankov84@gmail.com>
Co-authored-by: мачко <martinpeev@tutanota.com>
Co-authored-by: 정주찬 <ju1801@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bg/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ckb/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fi/
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/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/sv/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translation: NewPipe/Metadata
2021-08-22 19:50:37 +02:00
Agnieszka C
5c31dff72d Added title wrap to other preferences 2021-08-21 18:49:12 +02:00
Agnieszka C
d69672e113 Added wrapping settings titles to the next line (#6951) 2021-08-21 14:21:55 +02:00
ktprograms
a209e87c69 Add Loading Channel Details Toast 2021-08-21 09:30:40 +08:00
Mohammed Anas
71610a365f Make workflow run daily instead of hourly 2021-08-19 21:08:23 +00:00
mhmdanas
44860f2ea7 Add no-response workflow 2021-08-19 00:46:31 +03:00
ktprograms
967bdf8f08 Remove migration test, add manual testing reminder to Migrations.java 2021-08-17 08:57:03 +08:00
ktprograms
02aa6fcab0 Remove v2 to v3 migration test, add v3 to v4 test 2021-08-16 21:12:54 +08:00
ktprograms
712985ced1 Save uploader url when adding from PlayQueueItem 2021-08-16 08:08:50 +08:00
litetex
0683dafa55 Merge pull request #6851 from litetex/make-parsing-of-timestamp-links-more-robust
Catch errors while processing timestamp-links
2021-08-14 21:10:20 +02:00
ktprograms
6f1958d398 Remove setting uploaderUrl to empty string if null 2021-08-14 20:59:38 +08:00
ktprograms
85fbd2560d Fix typo in app/build.gradle 2021-08-14 20:56:29 +08:00
ktprograms
65f2730261 Add comment about xerial sqlite workaround 2021-08-14 20:54:23 +08:00
ktprograms
21bcadeecb Make uploader_url column nullable 2021-08-14 17:48:35 +08:00
ktprograms
bd0427c79f Refactor duplicated code into method 2021-08-14 17:32:38 +08:00
ktprograms
241054fd26 Remove hardcoded string 2021-08-14 15:38:57 +08:00
ktprograms
d8888e3495 Catch error from ExtractorHelper.getStreamInfo, remove blockingGet 2021-08-14 09:07:27 +08:00
sherlockbeard
137d9e6d6e testing 2021-08-13 20:54:22 +05:30
sherlockbeard
d0cbd1e663 Replaced not avaliable image with a vector 2021-08-13 20:42:06 +05:30
sherlockbeard
da51e1ed72 Merge branch 'TeamNewPipe:dev' into dev 2021-08-13 19:05:50 +05:30
ktprograms
76803bfcb1 Save channelUrl to Database if it doesn't exist 2021-08-13 18:02:53 +08:00
ktprograms
c248741c00 Add Show Channel Details to Subscription Feed & History 2021-08-13 17:04:10 +08:00
ktprograms
759a078ce0 Add uploader_url column to StreamEntity 2021-08-13 16:44:50 +08:00
evermind-zz
a536311d56 name the regions according to the comments (#6854)
if a region is named android studio will show its name in the structure view.
2021-08-10 22:38:23 +00:00
TobiGr
9dd2a82b7d Update extractor version 2021-08-10 12:20:08 +02:00
Stypox
4d50a66e40 Un-nest some text views in play queue activity 2021-08-09 20:11:31 +02:00
phigjm
e6c56cacc6 Rearrange the play queue control elements
from bottom to top: Playback_controls, progress bar, center, (seek display)
2021-08-09 20:11:18 +02:00
XiangRongLin
c3b9465aa3 Merge pull request #6858 from XiangRongLin/ci_ktlint
Add gradle parameter to skip formatKtLint and use in CI
2021-08-07 12:36:56 +02:00
litetex
5f3b8bea52 Fixed format 2021-08-06 22:12:49 +02:00
litetex
0e4c8ea8af Added tests for the `TimestampExtractor` 2021-08-06 22:09:03 +02:00
litetex
f9ab23bb4a Removed useless fiedl 2021-08-06 22:08:42 +02:00
litetex
9f8b2264a2 Use better pattern for matching timestamp in text and some reworks
Also extracted overhead code into ``TimestampExtractor``
2021-08-06 22:08:29 +02:00
XiangRongLin
52cc3f10c1 Add gradle parameter to skip formatKtLint and use in CI 2021-08-06 18:11:22 +02:00
litetex
1d61bb58f5 Set loglevel to error
Co-authored-by: Stypox <stypox@pm.me>
2021-08-05 20:26:17 +02:00
Stypox
a3440cc8ef Merge pull request #6814 from Stypox/channel-grid-span-count
Fix channel item span count for SubscriptionFragment
2021-08-05 14:25:39 +02:00
litetex
51c60e5261 Catch errors while processing timestamp-links
Otherwise the complete app crashes, which is bad
2021-08-04 22:35:41 +02:00
Tobi
c3349e18a5 Merge pull request #6847 from Stypox/play-queue-theme
Play queue theme
2021-08-04 22:30:17 +02:00
litetex
12e46e0a36 Allow manual execution of ci workflow (#6809) 2021-08-04 17:00:15 +00:00
Stypox
f8caed139a Use custom cancel string everywhere
to fix missing somali translation for android.R.string.cancel
2021-08-04 18:58:35 +02:00
Stypox
a2297fb5b8 Fix play queue theme 2021-08-04 18:41:23 +02:00
K0RR
26c39381a8 Optimize assets. (#6827)
Lossless compression.
2021-08-04 11:54:32 +00:00
Stypox
a4742ad9e9 v0.21.9 (975) changelog 2021-08-04 12:07:02 +02:00
Stypox
23a6973291 v0.21.9 (975) changelog 2021-08-04 11:51:29 +02:00
Stypox
340a84e583 Release 0.21.9 (975) 2021-08-04 10:38:59 +02:00
Stypox
4291877830 Merge branch 'master' into dev 2021-08-04 10:36:59 +02:00
Tobi
8f6d608a43 Merge pull request #6834 from TeamNewPipe/release_0.21.8
Hotfix release 0.21.8
2021-08-03 21:27:43 +02:00
Stypox
45dd98e639 v0.21.8 (974) changelog 2021-08-03 21:12:53 +02:00
Stypox
2ac265a6f5 Release 0.21.8 (974) 2021-08-03 21:00:57 +02:00
Stypox
e100806fd9 Update extractor version to 0.21.8 2021-08-03 20:51:14 +02:00
Mohammed Anas
c7f75bf7d1 Ignore paths unrelated to builds in CI (#6789) 2021-08-02 13:29:39 +00:00
Stypox
4bf5ddbfe9 Merge pull request #6792 from XiangRongLin/update_extractor
Update extractor, thus including throttling fixes
2021-08-01 20:11:21 +02:00
Stypox
32dffb577c Provide mime type to file picker to gray out unselectable files 2021-08-01 13:52:32 +02:00
Stypox
a9623f8e6a Merge pull request #6550 from Douile/fix/clickthrough-feed-refresh
Disable feed click events while refresh overlay is shown
2021-08-01 13:11:24 +02:00
Stypox
bc74bb6bf6 Merge pull request #6633 from Isira-Seneviratne/Use_NotificationChannelCompat
Use NotificationChannelCompat.
2021-08-01 11:58:38 +02:00
Isira Seneviratne
d32450255c Use NotificationChannelCompat. 2021-08-01 14:59:30 +05:30
Robin
896aec5295 Merge pull request #6719 from TacoTheDank/core-lifecycle-bump
Update some AndroidX libraries
2021-08-01 11:24:33 +02:00
Stypox
d42a534fc3 Merge pull request #6741 from KalleStruik/comment-hearts
Show hearts in comments
2021-08-01 11:12:58 +02:00
XiangRongLin
398007ca90 Update extractor, thus including throttling fixes 2021-08-01 10:36:03 +02:00
Stypox
551e8df8b8 Merge pull request #6773 from nschulzke/mark-as-played
Add ability to mark an item as played
2021-08-01 10:30:36 +02:00
Nathan Schulzke
dc0a28b93d Upsert the complete info if we fetch it for marking as watched 2021-07-31 09:50:41 -06:00
Stypox
644396149b Fix channel item span count for SubscriptionFragment 2021-07-31 11:02:57 +02:00
Stypox
a25bb2618a Merge pull request #6808 from litetex/ci-run-format-ktlin-before-building
Check formatting of kotlin files in CI
2021-07-31 10:35:53 +02:00
Nathan Schulzke
0e12cdea7c Save the fetched duration to the database so that it can render the view correctly. 2021-07-29 20:59:23 -06:00
litetex
903296014a Check formatting of kotlin files in CI 2021-07-28 21:03:51 +02:00
Tobi
cd713db029 Merge pull request #6778 from Stypox/invalid-storage-npe
Fix NullPointerException when checking if storage exists
2021-07-28 16:54:57 +02:00
Nathan Schulzke
bdd16e06e0 Add comments describing the purpose of the markAsWatched method 2021-07-28 08:25:39 -06:00
Nathan Schulzke
4c632810ec Fetch the stream info via a network request if no duration is found when attempting to mark as watched. 2021-07-27 15:21:56 -06:00
Nathan Schulzke
f451bdbfa4 Do not add Mark as Watched to a live stream. 2021-07-27 15:21:56 -06:00
Kalle Struik
bfac73b992 Make heart visible in android studio and move logic to the right file. 2021-07-27 22:34:59 +02:00
Nathan Schulzke
2b41f710a8 Change played to watched 2021-07-27 13:26:51 -06:00
Stypox
5924edb289 Merge pull request #6782 from TacoTheDank/fix-fill-parent
Fix deprecated fill_parent attributes
2021-07-27 19:45:51 +02:00
Stypox
5ceec31adf Merge pull request #6720 from TacoTheDank/alertdialog-edittext
Consolidate edittext alert dialogs into one common layout
2021-07-27 19:42:51 +02:00
TacoTheDank
e2791cdf0f Fix deprecated fill_parent attributes 2021-07-27 13:38:59 -04:00
TacoTheDank
50f3b08c59 Consolidate edittext alert dialogs into one layout 2021-07-27 13:31:58 -04:00
Stypox
2aebf6ceaf Add log when existsAsFile() is called on an invalid StoredFileHelper 2021-07-27 17:56:41 +02:00
Stypox
7ceea2cd8d Merge pull request #6771 from litetex/fix-ToolbarSearchInputTheme
Fixed the ToolbarSearchTheme
2021-07-27 11:49:55 +02:00
Stypox
0cb801179c Merge pull request #6733 from Douile/fix/recaptcha-webview-background-activity
Prevent recaptcha webview from keeping youtube loaded in background
2021-07-27 11:41:17 +02:00
Stypox
1822d21676 Fix NullPointerException when checking if storage exists 2021-07-27 11:36:14 +02:00
Nathan Schulzke
7fd2ebc252 Add ability to mark an item as played 2021-07-26 20:51:41 -06:00
litetex
f709ac16f8 Fixed the toolbarSearchTheme
The toolbarSearchTheme was accidently broken with https://github.com/TeamNewPipe/NewPipe/pull/6456, see https://github.com/TeamNewPipe/NewPipe/pull/6456#issuecomment-885920235 for details.
This commit restores the old behavior
2021-07-26 21:05:12 +02:00
Kalle Struik
74173317de Change heart color to be red, add else clause for non hearted comments, and apply some code style suggestions. 2021-07-23 19:43:25 +02:00
Kalle Struik
3874e16187 Added support for showing when a comment has received a heart from the creator of a video. 2021-07-23 17:30:47 +02:00
Tobi
39722a5563 Merge pull request #6721 from Stypox/pending-mission-crash
Delete pending missions with invalid storage
2021-07-22 16:22:58 +02:00
Robin
1f9ad12593 Merge pull request #6712 from Stypox/fix-duplicate-items-queue
Fix duplicate items in queue causing endless buffering
2021-07-22 13:26:01 +02:00
Tom
52c136439e Use loadUrl instead of loadData
Co-authored-by: Stypox <stypox@pm.me>
2021-07-22 10:47:47 +00:00
Douile
cd86ed3877 Prevent recaptcha webview from keeping youtube loaded in background
After the cookies are extracted from the recaptcha webview make it load an empty
page to prevent youtube being loaded unecessarily in the background.
2021-07-22 02:41:01 +01:00
TacoTheDank
1d85661ab9 Update some AndroidX libraries 2021-07-21 19:31:41 -04:00
Stypox
736cefed5a Add tests for play queue items' equals() 2021-07-21 18:22:17 +02:00
Stypox
fa8630ddae Use url comparison between queue items when disabling preloading
From #4562: Disable player stream preloading only if the current stream is going to be replaced for sure (see this). equals() was implemented for PlayQueueItems, so that (only) the url is compared when checking them.
2021-07-21 18:09:18 +02:00
Stypox
4a2bd7bd7b Remove equals() method from PlayQueueItem 2021-07-21 18:09:18 +02:00
Stypox
a9e21a35ea Delete pending missions with invalid storage 2021-07-21 10:52:04 +02:00
Tobi
fd4e1b8d2c Merge pull request #6715 from TeamNewPipe/readd_api_29
Readd api level 29 to android CI tests
2021-07-20 23:46:49 +02:00
TobiGr
420f0505ae Merge branch 'master' into dev 2021-07-20 23:29:12 +02:00
Tobi
b58f7856a1 Merge pull request #6716 from TeamNewPipe/release_0.21.7
Hotfix release 0.21.7
2021-07-20 20:05:10 +02:00
Stypox
44a6429267 v0.21.7 (973) changelog 2021-07-20 18:41:55 +02:00
Stypox
472bde9eea Release 0.21.7 (973) 2021-07-20 18:30:28 +02:00
XiangRongLin
c422f65935 Readd api level 29 to android CI tests
The action got fixed and released https://github.com/ReactiveCircus/android-emulator-runner/releases/tag/v2.19.1
2021-07-20 18:28:46 +02:00
Stypox
f5962375f8 Call DownloadDialog dismiss() in the correct way 2021-07-20 18:25:44 +02:00
Stypox
4e33f2dcb6 Improve method order in DownloadDialog and add separator comments 2021-07-20 18:25:30 +02:00
TacoTheDank
dce874bbc7 Fix onActivityResult deprecation in MissionsFragment 2021-07-20 18:25:05 +02:00
TacoTheDank
7d69dfa62a Fix onActivityResult deprecation in DownloadDialog 2021-07-20 18:24:55 +02:00
TacoTheDank
a56f17cc3b Fix onActivityResult deprecation in DownloadSettingsFragment 2021-07-20 18:24:43 +02:00
TacoTheDank
7be7a32d70 Update AndroidX Fragment to 1.3.5 2021-07-20 18:24:33 +02:00
Stypox
a7dd3af4e5 Fix grid span count calculation; remove duplicate methods 2021-07-20 18:20:44 +02:00
Tobi
63fdc100d6 Merge pull request #6705 from Stypox/big-text-info-items
Fix grid span count calculation
2021-07-19 22:45:48 +02:00
Tobi
9e2ece78dd Merge pull request #6701 from Stypox/dismiss-download-dialog
Dismiss download dialog correctly
2021-07-19 21:47:12 +02:00
Tobi
cebcaf4d6a Merge pull request #6706 from litetex/fix-format-of-some-kotlin-files
Fix format of some kotlin files
2021-07-19 21:20:00 +02:00
Stypox
4a242e43a7 Merge pull request #6689 from Isira-Seneviratne/Use_WindowInsetsCompat_getInsets
Use WindowInsetsCompat's getInsets() method.
2021-07-19 21:19:06 +02:00
Tobi
d8f442cc89 Merge pull request #6707 from litetex/use-correct-extractor-dependency
Use the correct extractor dependency
2021-07-19 21:17:27 +02:00
litetex
f6923e073e Use the correct extractor dependency 2021-07-19 21:03:15 +02:00
litetex
f02c6be10d Fix format of some kotlin files
so that it doesn't annoy people that are building this repo ;)
2021-07-19 20:59:29 +02:00
Stypox
5ba3ef0a25 Fix grid span count calculation; remove duplicate methods 2021-07-19 20:47:50 +02:00
Isira Seneviratne
9458b9f37d Use PackageInfoCompat.getSignatures(). 2021-07-19 19:48:24 +05:30
Stypox
ca282f2be8 Merge pull request #6675 from Isira-Seneviratne/Use_Kotlin_methods
Use Kotlin methods in LicenseFragment.
2021-07-19 13:19:02 +02:00
Robin
0cde08c46e Merge pull request #6702 from Isira-Seneviratne/Update_AppCompat_to_1.3.0
Update AppCompat to 1.3.0.
2021-07-19 11:58:17 +02:00
Stypox
bec8512c7b Merge pull request #6659 from TeamNewPipe/Redirion-kotlin-section
Added a Kotlin section in CONTRIBUTING.md
2021-07-19 11:54:48 +02:00
Stypox
46e7da4e21 Merge pull request #6688 from litetex/fix-some-build-warnings
Fix some build warnings
2021-07-19 11:52:24 +02:00
Isira Seneviratne
c7b8bd3436 Update AppCompat to 1.3.0. 2021-07-19 15:20:44 +05:30
Isira Seneviratne
1721817fdb Use WindowInsetsCompat's getInsets() method. 2021-07-19 15:17:44 +05:30
Stypox
d57bfde604 Merge pull request #6434 from litetex/playerSeekbarPreview
Player seekbar thumbnail preview
2021-07-19 11:42:10 +02:00
Stypox
3167ab3ba0 Merge pull request #6654 from Isira-Seneviratne/Bump_compileSdk
Bump compileSdkVersion to 30.
2021-07-19 11:11:18 +02:00
Stypox
8f559965f6 Call DownloadDialog dismiss() in the correct way 2021-07-19 10:59:45 +02:00
Stypox
35e005caaa Improve method order in DownloadDialog and add separator comments 2021-07-18 14:23:38 +02:00
Stypox
6c25ce56a3 Merge pull request #6456 from TeamNewPipe/feature/switch-theme
Apply theme to switches
2021-07-18 13:12:47 +02:00
Stypox
baa12c7069 Merge pull request #6536 from TacoTheDank/moar-onactivityresult
More onActivityResult deprecation fixes
2021-07-18 10:24:00 +02:00
Isira Seneviratne
e2b044d2ee Use Kotlin methods in LicenseFragment. 2021-07-18 07:47:12 +05:30
litetex
621af8d812 Removed unused import (rebasing/merge problem) 2021-07-17 16:52:24 +02:00
litetex
efd038a536 Increased padding of preview thumbnail 2021-07-17 16:43:04 +02:00
litetex
0b2629e910 Moved time to the top 2021-07-17 16:43:03 +02:00
litetex
a9b5ef3bd3 Set minWidth to 10dp so that the popup player works (mostly) correctly 2021-07-17 16:43:03 +02:00
litetex
2a24532e1d Fine tuned padding
Moved seekbar preview up a bit, so the finger is not obstructing the view
2021-07-17 16:43:02 +02:00
litetex
88c4195260 Enlarged currentDisplaySeek-text on large-handed player 2021-07-17 16:43:01 +02:00
litetex
c5f2eb1dd8 Enlarged currentDisplaySeek a bit 2021-07-17 16:43:01 +02:00
litetex
384d964827 Added seekbarThumbnailPreview 2021-07-17 16:43:00 +02:00
litetex
253526e565 Updated build.gradle so the PR-build works 2021-07-17 16:42:18 +02:00
litetex
2e2dbaf77f Added seekbar-preview to the player layout 2021-07-17 16:41:54 +02:00
litetex
43133df2ad Added settings for seekbar-preview-thumbnail 2021-07-17 16:41:53 +02:00
Stypox
eef568b24c Merge pull request #5531 from XiangRongLin/tests
Add instrumented tests for LocalPlaylistManager.createPlaylist
2021-07-17 13:21:20 +02:00
Stypox
e7d5011f42 Merge pull request #6483 from litetex/addDisabledComments
Added comments disabled functionallity
2021-07-17 13:19:34 +02:00
litetex
36c198fc33 One textview is enough for disabled comments
Ref: https://github.com/TeamNewPipe/NewPipe/pull/6483#discussion_r654793920
2021-07-17 13:14:50 +02:00
litetex
75a8edf20f Added corresponding required code changes from Extractor branch 2021-07-17 13:14:48 +02:00
litetex
81107df53f Added comments disabled functionallity 2021-07-17 13:10:44 +02:00
Stypox
a932bc2503 Merge pull request #6637 from Isira-Seneviratne/Use_GestureDetectorCompat
Use GestureDetectorCompat.
2021-07-17 12:58:43 +02:00
litetex
f4e2eca256 Simplified code and adjusted the style so that it's similar to FeedFragment 2021-07-16 21:21:10 +02:00
litetex
08d5dfa49c Removed updateRelativeTimeViews when the activity is paused
We don't need to call ``updateRelativeTimeViews`` when the activity is paused, because the user likely won't  notice it.
Despite that onResume already calls ``updateRelativeTimeViews`` so there is no need to do that twice.
2021-07-16 21:04:32 +02:00
Tobi
e7f339a946 Merge pull request #6678 from TeamNewPipe/XiangRongLin-patch-1
Remove api level 29 from android ci tests
2021-07-16 11:30:23 +02:00
XiangRongLin
d3375a921d Remove api level 29 from android ci tests 2021-07-16 10:19:58 +02:00
Robin
a2eb810df0 removed Extractor line 2021-07-14 13:23:01 +02:00
Robin
6e576a165c Added a Kotlin section in CONTRIBUTING.md
Core team does not want to convert to Kotlin yet and sees Java as the easier to learn and more well adopted language.

This stance might of course change in the future. For example it could be reasonable to do a complete transition to Kotlin once it is decides that the minSdk is raised to 21 or higher, as we then could use Jetpack particularly Lifecycle and Compose.
2021-07-14 13:08:07 +02:00
Tobi
dfa941a9e7 Merge pull request #6503 from evermind-zz/fixes-for-upstream
Prevent error msg: 'Unrecoverable player error occurred' while playin…
2021-07-14 09:53:30 +02:00
Tobi
1584028995 Merge pull request #6531 from XiangRongLin/immediat_pref_commit
Remove option to immediately commit pref changes on import
2021-07-14 09:48:58 +02:00
Tobi
14dab85ff0 Merge pull request #6566 from evermind-zz/various-fixes-for-upstream
Convert PlayerHolder to Singleton; cleanup in VideoDetailFragment; Player/MainPlayer do not call onDestroy() directly
2021-07-14 09:46:04 +02:00
Isira Seneviratne
403e336a64 Bump compileSdkVersion to 30. 2021-07-13 08:06:56 +05:30
XiangRongLin
2aa5f68b7b Add comment explaining usage Schedulers.trampoline in detail 2021-07-12 18:31:37 +02:00
XiangRongLin
56ea526cce Add instrumented tests for LocalPlaylistManager.createPlaylist 2021-07-12 18:31:37 +02:00
Tobi
96f5cd9f17 Merge pull request #6463 from Stypox/metadata-tags
Improved metadata layout, better tags accessibility
2021-07-12 16:18:11 +02:00
Tobi
64efb89cce Merge pull request #6616 from litetex/fix-minimized-player-thumbnail
Made the thumbnail in the minimized player visible again
2021-07-12 16:17:12 +02:00
Tobi
4d5b68792b Merge pull request #6560 from TeamNewPipe/fix_ci_emulator
Specify emulator-build version in CI job
2021-07-12 16:16:06 +02:00
Tobi
85d813a94b Merge pull request #6540 from TacoTheDank/library-bumps
Update some libraries
2021-07-12 16:15:21 +02:00
Tobi
e9b008ee84 Merge pull request #6538 from TacoTheDank/bump-gradle
Bump gradle
2021-07-12 16:14:04 +02:00
Tobi
b795c5f017 Merge pull request #6576 from TeamNewPipe/release_0.21.6
Release 0.21.6
2021-07-12 15:56:21 +02:00
TobiGr
1e4686463b Release 0.21.6 (972) 2021-07-12 15:47:55 +02:00
TobiGr
4e9631a8d8 Update extractor version to 0.21.6 2021-07-12 15:47:55 +02:00
Hosted Weblate
3a83062670 Translated using Weblate (Polish)
Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 99.8% (671 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 99.8% (671 of 672 strings)

Translated using Weblate (Bavarian)

Currently translated at 8.7% (59 of 672 strings)

Translated using Weblate (Bavarian)

Currently translated at 1.8% (1 of 53 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (672 of 672 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Bert <robert@it-aicher.de>
Co-authored-by: Evo <weblate@verahawk.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bar/
Translation: NewPipe/Metadata
2021-07-12 15:47:11 +02:00
magicfelix
79102a20d2 Add Tubus (Invidious) and EduVid (PeerTube) 2021-07-11 13:08:10 +02:00
Douile
2e053ea25a Fix crash when refreshing feed 2021-07-11 03:00:32 +01:00
Hosted Weblate
fd3d46c813 Translated using Weblate (Polish)
Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Nadir Nour <dudethatwascool2@gmail.com>
2021-07-10 17:02:34 +02:00
Tobi
ab838fd84f Merge pull request #6639 from TeamNewPipe/fix/db_transaction
Fix crash when refreshing feed after importing database or subscriptions
2021-07-10 17:00:42 +02:00
TobiGr
9ca2691a2c Add close() method to NewPipeDatabase 2021-07-10 14:46:51 +02:00
TobiGr
7c3f5a62c5 Fix crash when refreshing feed after importing database or subscriptions
The database was not closed correctly
2021-07-10 13:09:01 +02:00
Isira Seneviratne
6711dae4e0 Use GestureDetectorCompat. 2021-07-10 15:35:11 +05:30
Tobi
a73a4afcad Fix APK testing section (#6623)
* Fix APK testing section

Correct the instructions to download a test APK

* Update .github/PULL_REQUEST_TEMPLATE.md

Co-authored-by: Mohammed Anas <32234660+mhmdanas@users.noreply.github.com>

Co-authored-by: Mohammed Anas <32234660+mhmdanas@users.noreply.github.com>
2021-07-09 14:47:44 +00:00
TobiGr
4ea2d8e7ba Removed translations with incorrect number of arguments for formatting 2021-07-09 10:32:10 +02:00
TobiGr
bb386fea16 Remove unused translations of "downloads_storage_ask_summary_kitkat" 2021-07-09 10:25:54 +02:00
Hosted Weblate
82cdb0fdb3 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Bavarian)

Currently translated at 6.6% (45 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Added translation using Weblate (Bavarian)

Translated using Weblate (Somali)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (German)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (French)

Currently translated at 67.9% (36 of 53 strings)

Translated using Weblate (Polish)

Currently translated at 49.0% (26 of 53 strings)

Translated using Weblate (Ukrainian)

Currently translated at 52.8% (28 of 53 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Ukrainian)

Currently translated at 18.8% (10 of 53 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Bert <robert@it-aicher.de>
Co-authored-by: Evo <weblate@verahawk.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: Nadir Nour <dudethatwascool2@gmail.com>
Co-authored-by: Terry Louwers <t.louwers@gmail.com>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: translator <yasinoc375@advew.com>
Co-authored-by: webweblate <webweblate@riseup.net>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translation: NewPipe/Metadata
2021-07-09 10:14:03 +02:00
Tobi
a94dacf03c Merge pull request #6622 from TeamNewPipe/fix/RepeatModeChange
Fix crash when using repeatButtonin tablet layout
2021-07-08 17:45:22 +02:00
TobiGr
de312eb768 Fix ClassCastException
See https://github.com/TeamNewPipe/NewPipe/issues/6577#issuecomment-876095378

java.lang.ClassCastException: android.widget.ImageButton cannot be cast to androidx.appcompat.widget.AppCompatImageButton
	at org.schabi.newpipe.player.Player.onRepeatModeChanged(Player.java:2263)
	at com.google.android.exoplayer2.ExoPlayerImpl.lambda$setRepeatMode$2(ExoPlayerImpl.java:564)
	at com.google.android.exoplayer2.-$$Lambda$ExoPlayerImpl$rgrcbaqP9Y8LgzdByBnAfUO4ydU.invokeListener(lambda)
	at com.google.android.exoplayer2.BasePlayer$ListenerHolder.invoke(BasePlayer.java:279)
	at com.google.android.exoplayer2.ExoPlayerImpl.invokeAll(ExoPlayerImpl.java:1498)
	at com.google.android.exoplayer2.ExoPlayerImpl.lambda$notifyListeners$6(ExoPlayerImpl.java:1318)
	at com.google.android.exoplayer2.-$$Lambda$ExoPlayerImpl$b59raXxaB-trjwE5bgpZInm1QnU.run(lambda)
	at com.google.android.exoplayer2.ExoPlayerImpl.notifyListeners(ExoPlayerImpl.java:1328)
	at com.google.android.exoplayer2.ExoPlayerImpl.notifyListeners(ExoPlayerImpl.java:1318)
	at com.google.android.exoplayer2.ExoPlayerImpl.setRepeatMode(ExoPlayerImpl.java:564)
	at com.google.android.exoplayer2.SimpleExoPlayer.setRepeatMode(SimpleExoPlayer.java:1636)
	at org.schabi.newpipe.player.Player.setRepeatMode(Player.java:2253)
	at org.schabi.newpipe.player.Player.onRepeatClicked(Player.java:2232)
	at org.schabi.newpipe.player.Player.onBroadcastReceived(Player.java:1123)
	at org.schabi.newpipe.player.Player.access$200(Player.java:190)
	at org.schabi.newpipe.player.Player$3.onReceive(Player.java:1060)
	at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:1185)
	... 7 more
2021-07-08 10:34:32 +02:00
Stypox
29aa1de4e3 Merge pull request #6617 from litetex/improve-wording-in-bug-report
Fixed a typo / make the wording consistent in the bug_report.md file
2021-07-07 19:12:38 +02:00
litetex
09435a1b63 Update bug_report.md
Fixed a typo / made the wording consistent
2021-07-06 21:45:15 +02:00
litetex
85e864a01e Made the thumbnail in the minimized player visible again 2021-07-06 21:40:57 +02:00
TacoTheDank
573839c0ff Update Gradle to 7.x, AGP to 4.2.x 2021-07-06 12:16:20 -04:00
XiangRongLin
9c636f5ee2 Specify emulator-build version in CI job
This is a workaround for the emulator bug https://github.com/ReactiveCircus/android-emulator-runner/issues/160
2021-07-06 16:26:01 +02:00
evermind
f78d2a5ed8 Prevent error msg: 'Unrecoverable player error occurred' while playing video during rotation (#6502)
Playing a video in VideoDetailFragment and rotating the screen to landscape (back and forth more often)
can trigger this error message. Especially if rotation for whatever reason takes long or
playing a high resolution (1080p) video.

The underlying logcat error messages:
05-12 16:38:38.251 24920 26037 E Surface : getSlotFromBufferLocked: unknown buffer: 0x923fc810
05-12 16:38:38.251 24920 26037 W ACodec  : [OMX.qcom.video.decoder.avc] can not return buffer 35 to native window

The problem is that that Exoplayer is trying to write to our -- during rotation -- no longer existant
(VideoDetailFragment) SurfaceView.

Solution:
Implementing SurfaceHolder.Callback and using DummySurface we can now handle the lifecycle of the Surface.

How?: In case we are no longer able to write to the Surface eg. through rotation/putting in
background we can set a DummySurface. Although it only works on API >= 23.
Result: we get a little video interruption (audio is still fine) but we won't get the
'Unrecoverable player error occurred' error message.

This implementation is based on and more background information:
 'ExoPlayer stuck in buffering after re-adding the surface view a few time 2703'

 -> exoplayer fix suggestion link
  https://github.com/google/ExoPlayer/issues/2703#issuecomment-300599981
2021-07-06 12:49:56 +02:00
evermind
48c2c156cb convert PlayerHolder to Singleton, handle context within, bugfix ServiceConnection leak
- bugfix: have ServiceConnection created only once!

- select the context within the PlayerHolder to start, stop, bind or unbind the service
  -> we have to make sure the Service is started AND stopped within the same context
  -> so let PlayerHolder be the one to select the context

- remove removeListener() and replace the call with setListener(null)
- Compatibility: use ContextCompat.startForegroundService instead of startService()
2021-07-06 12:31:26 +02:00
evermind
435813355f use viewBinding correctly 2021-07-06 07:56:05 +02:00
evermind
e30a552b6c remove duplicated code for toggle Fullscreen 2021-07-06 07:56:00 +02:00
evermind
22a4a4b2df move null checks for player and playerService to helper methods
- code is easier to read
- duplication of code reduced
2021-07-06 07:55:52 +02:00
opusforlife2
5ac418aa61 Merge pull request #6593 from mhmdanas/add-question-template
Add question template
2021-07-06 04:45:39 +00:00
Mohammed Anas
d8a0a74d47 Allow asking multiple questions at once 2021-07-05 13:12:54 +00:00
Tobi
3931c0d200 Merge pull request #6545 from chr56/fix_zh
[Localization]Fix Simplified Chinese Plural
2021-07-04 20:30:36 +02:00
Hosted Weblate
e26607fbd1 Translated using Weblate (Bengali)
Currently translated at 22.6% (12 of 53 strings)

Translated using Weblate (Bengali)

Currently translated at 92.4% (621 of 672 strings)

Translated using Weblate (Basque)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Basque)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Basque)

Currently translated at 99.2% (667 of 672 strings)

Translated using Weblate (Basque)

Currently translated at 99.2% (667 of 672 strings)

Translated using Weblate (Basque)

Currently translated at 99.1% (666 of 672 strings)

Translated using Weblate (Hungarian)

Currently translated at 85.8% (577 of 672 strings)

Translated using Weblate (Serbian)

Currently translated at 20.7% (11 of 53 strings)

Translated using Weblate (Ukrainian)

Currently translated at 7.5% (4 of 53 strings)

Translated using Weblate (Galician)

Currently translated at 90.6% (609 of 672 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Esperanto)

Currently translated at 82.7% (556 of 672 strings)

Translated using Weblate (Basque)

Currently translated at 98.3% (661 of 672 strings)

Translated using Weblate (Basque)

Currently translated at 98.3% (661 of 672 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (53 of 53 strings)

Translated using Weblate (Polish)

Currently translated at 49.0% (26 of 53 strings)

Translated using Weblate (Lithuanian)

Currently translated at 5.6% (3 of 53 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Ukrainian)

Currently translated at 99.8% (671 of 672 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Slovak)

Currently translated at 99.4% (668 of 672 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Japanese)

Currently translated at 99.7% (670 of 672 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Serbian)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (French)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (German)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (English)

Currently translated at 99.8% (671 of 672 strings)

Co-authored-by: Agnieszka C <aga_04@o2.pl>
Co-authored-by: Andrij Mizyk <andmizyk@gmail.com>
Co-authored-by: David Braz <davidbrazps2@gmail.com>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: GM <muziejusinfo@gmail.com>
Co-authored-by: Gontzal Manuel Pujana Onaindia <thadahdenyse@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: JY3 <GeeyunJY3@gmail.com>
Co-authored-by: Josu <bi000@protonmail.com>
Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Co-authored-by: Web0nst <web0nst@tuta.io>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: tdayris-perso <tdayris@tutanota.de>
Co-authored-by: Ács Zoltán <acszoltan111@gmail.com>
Co-authored-by: Слободан Симић(Slobodan Simić) <slsimic@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bn/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/lt/
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/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translation: NewPipe/Metadata
2021-07-04 17:53:05 +02:00
TobiGr
a63683e6b8 Update extractor version 2021-07-04 17:46:07 +02:00
Tobi
83b198f6fe Merge pull request #6570 from Redirion/fixnpe
Fix NPE when connecting via BT
2021-07-03 11:18:02 +02:00
mhmdanas
23f6e1084b Add question template 2021-07-02 00:31:20 +03:00
TobiGr
99335bab7a Add changelog for 0.21.6 (972) 2021-06-26 17:34:09 +02:00
Hosted Weblate
33fbc889fb Translated using Weblate (Polish)
Currently translated at 48.0% (25 of 52 strings)

Translated using Weblate (Interlingua)

Currently translated at 40.9% (275 of 672 strings)

Translated using Weblate (Telugu)

Currently translated at 20.9% (141 of 672 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Serbian)

Currently translated at 19.2% (10 of 52 strings)

Translated using Weblate (Portuguese)

Currently translated at 51.9% (27 of 52 strings)

Translated using Weblate (Estonian)

Currently translated at 96.1% (646 of 672 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Ukrainian)

Currently translated at 99.8% (671 of 672 strings)

Translated using Weblate (Esperanto)

Currently translated at 82.2% (553 of 672 strings)

Translated using Weblate (Portuguese)

Currently translated at 97.0% (652 of 672 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (French)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Ukrainian)

Currently translated at 98.8% (664 of 672 strings)

Translated using Weblate (Hebrew)

Currently translated at 48.0% (25 of 52 strings)

Translated using Weblate (Bengali)

Currently translated at 21.1% (11 of 52 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Portuguese)

Currently translated at 95.3% (641 of 672 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Serbian)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (52 of 52 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (52 of 52 strings)

Translated using Weblate (German)

Currently translated at 57.6% (30 of 52 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Greek)

Currently translated at 99.8% (671 of 672 strings)

Translated using Weblate (Japanese)

Currently translated at 99.7% (670 of 672 strings)

Translated using Weblate (French)

Currently translated at 99.5% (669 of 672 strings)

Translated using Weblate (German)

Currently translated at 100.0% (672 of 672 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (52 of 52 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.4% (668 of 672 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.4% (668 of 672 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 98.9% (665 of 672 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 98.9% (665 of 672 strings)

Co-authored-by: AioiLight <info@aioilight.space>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Andrij Mizyk <andmizyk@gmail.com>
Co-authored-by: Babul Hossain <babulssf@gmail.com>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Igor Nedoboy <i.nedoboy@mail.ru>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: JY3 <GeeyunJY3@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Karl Tammik <karltammik@protonmail.com>
Co-authored-by: Ldm Public <ldmpub@gmail.com>
Co-authored-by: MS-PC <MSPCtranslator@gmail.com>
Co-authored-by: Michal L <michalrmsmi@wp.pl>
Co-authored-by: Rama Devi <nramadevini@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Software In Interlingua <softinterlingua@gmail.com>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: Volk VDolgu <volkvdolg@gmail.com>
Co-authored-by: WaldiS <sto@tutanota.de>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: bruh <quangtrung02hn16@gmail.com>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: tdayris-perso <tdayris@tutanota.de>
Co-authored-by: whenwesober <naomi16i_1298q@cikuh.com>
Co-authored-by: zeritti <woodenmo@posteo.de>
Co-authored-by: zmni <zamani.karmana@gmail.com>
Co-authored-by: Слободан Симић(Slobodan Simić) <slsimic@gmail.com>
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/he/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/
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/sr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translation: NewPipe/Metadata
2021-06-26 15:57:58 +02:00
Robin
201e5ee09d Fix NPE when connecting via BT 2021-06-25 09:14:15 +02:00
bopol
c398308872 Merge pull request #6539 from TeamNewPipe/screenshots_for_UI_changes
Ask for screenshots/video of UI changes in PR template
2021-06-24 17:25:15 +02:00
opusforlife2
090c063644 Address Bopol's review
Changed the location, added option to delete, and also fixed a tiny grammar thingy.
2021-06-24 15:15:12 +00:00
opusforlife2
ec40c8ed1e Merge pull request #6482 from Stypox/build-instructions
Update Build instructions to make it easier for contributors to start contributing.
2021-06-24 15:02:59 +00:00
TiA4f8R
78a99526a9 Merge pull request #6557 from B0pol/invidious-instances
Update Invidious instances and support Piped links
2021-06-24 12:24:11 +02:00
Stypox
25914b0263 Third round of review 2021-06-24 10:46:53 +02:00
evermind
aaa3e20c5a service.onDestroy() should only be called from the system and not manually
instead use service.stopService() which inturn calls stopSelf() and
triggers hopefully onDestroy() to be called. Eventually we have to make
sure that all ServiceConnections are closed to successfully stop the service
now!

Cleanup within stopService() and not only onDestroy()

So we make sure that all listeners can react to onServiceStopped()
and close their ServiceConnections. Afterwards the android framework
is ready to stop the Service.
2021-06-24 10:15:07 +02:00
bopol
0da8e28651 Merge pull request #6558 from Douile/fix/searchfragment-null-service
Fix null pointer exception when displaying SearchFragment
2021-06-24 09:16:00 +02:00
bopol
d7dcfa5729 Update Extractor version 2021-06-24 09:00:15 +02:00
bopol
65824ff64d Update Invidious instances 2021-06-24 08:59:02 +02:00
bopol
63cad7ebb0 Merge pull request #6562 from TeamNewPipe/disable_instrumented_ci
Comment out test-android CI job
2021-06-24 08:55:12 +02:00
XiangRongLin
b996fa7eef Add comments explaining decisions in test-android ci job 2021-06-23 20:16:23 +02:00
XiangRongLin
5ebf3726ed Comment out test-android CI job 2021-06-23 20:14:27 +02:00
TiA4f8R
484c852efd Merge pull request #6556 from B0pol/kotlin-style
Refactoring by Android Studio
2021-06-23 18:39:53 +02:00
bopol
25cf8dc20a Refactoring by Android Studio 2021-06-23 14:30:01 +02:00
Douile
cb1a138140 #6081: Disable feed click handlers during refresh
This patch changes click handlers for feed (Whats new) so that they do
nothing while the feed is refreshing and the items being clicked are not
visible.
2021-06-22 19:42:20 +01:00
Douile
384ca66205 #6522: Fix null pointer exception when displaying SearchFragment
It seems due to #6394 updating the FragmentX library there was a
change to the order of lifecycle calls, as such onResume() was no longer
before onCreateOptionsMenu() creating a null pointer exception when
using service in onCreateOptionsMenu() as it is only set in onResume().

By moving the initialization of service to onStart() which still happens
before onCreateOptionsMenu() this crash can be avoided. This commit also
adds a check for a null service to prevent future crashes for similar
issues.
2021-06-22 16:52:02 +01:00
chr_56
46bfec66cb Localization: Fix Simplified Chinese Plural
one -> other
2021-06-22 18:52:28 +08:00
TacoTheDank
afe06b379f Update some libraries 2021-06-20 17:26:59 -04:00
opusforlife2
a9e85abd7f Ask for screenshots/video of UI changes
If the PR author has changed the UI of the app, they should include screenshots or a video so that developers and users alike can pinpoint exactly what changed.
2021-06-20 21:15:25 +00:00
TacoTheDank
08d4651ef0 Add mavenCentral, de-prioritize jcenter 2021-06-20 15:44:17 -04:00
Mohammed Anas
62b4f333bb Don't enable SAF on Fire TV (#6516) 2021-06-20 19:01:06 +00:00
TacoTheDank
02b0909829 Fix onActivityResult deprecation in MissionsFragment 2021-06-20 14:14:54 -04:00
TacoTheDank
ae39b31c68 Fix onActivityResult deprecation in DownloadDialog 2021-06-20 14:14:44 -04:00
TacoTheDank
e5a1438673 Fix onActivityResult deprecation in DownloadSettingsFragment 2021-06-20 14:11:00 -04:00
TacoTheDank
72d305b283 Update AndroidX Fragment to 1.3.5 2021-06-20 13:47:12 -04:00
XiangRongLin
785c0376f8 Remove variable ContentSettingsFragment.lastImportExportDataUri
Instead pass the value through the methods as parameter
2021-06-20 09:30:59 +02:00
XiangRongLin
0bdf8de38e Resolve sonar issues in ContentSettingsFragment
https://sonarcloud.io/organizations/teamnewpipe/rules?open=java%3AS2885&rule_key=java%3AS2885

https://sonarcloud.io/organizations/teamnewpipe/rules?open=java%3AS112&rule_key=java%3AS112
2021-06-20 09:30:59 +02:00
bopol
6c575511be Merge pull request #6528 from TacoTheDank/annotate-methods
Annotate some overridden methods and parameters as NonNull
2021-06-20 09:26:05 +02:00
XiangRongLin
9767e98e50 Remove option to immediately commit pref changes on import
System is now not restarted with `System.exit(0)`.
Instead it is done properly by finishing the activity and restarting the activity. This allows preference changes which are queued up asynchronously through `apply` to be applied.
2021-06-20 09:17:55 +02:00
TacoTheDank
79deff3261 Annotate some overridden methods and parameters as NonNull 2021-06-19 18:37:02 -04:00
Saurav Rao
0782410a14 Update colors.xml 2021-06-19 04:05:35 +05:30
Robin
f5d015e8f9 Use ExoPlayer default values for buffers 2021-06-18 20:18:24 +02:00
Stypox
74ad488f4a Merge pull request #6394 from TacoTheDank/androidx-fragment-134
Update AndroidX Fragment to 1.3.4
2021-06-18 13:14:30 +02:00
Stypox
0db3406ad8 Fix SonarLint references and explanation 2021-06-18 12:26:50 +02:00
TobiGr
6e377dd3c5 Translated using Weblate (Serbian)
Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Kurdish)

Currently translated at 1.9% (1 of 51 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Kurdish (Central))

Currently translated at 87.8% (586 of 667 strings)

Translated using Weblate (Estonian)

Currently translated at 92.2% (615 of 667 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Japanese)

Currently translated at 99.8% (666 of 667 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Punjabi)

Currently translated at 3.9% (2 of 51 strings)

Translated using Weblate (Greek)

Currently translated at 31.3% (16 of 51 strings)

Translated using Weblate (Bengali)

Currently translated at 89.6% (598 of 667 strings)

Translated using Weblate (Bengali (India))

Currently translated at 54.1% (361 of 667 strings)

Translated using Weblate (Interlingua)

Currently translated at 41.0% (274 of 667 strings)

Translated using Weblate (Punjabi)

Currently translated at 98.9% (660 of 667 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Serbian)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Greek)

Currently translated at 31.3% (16 of 51 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Serbian)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (German)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Hebrew)

Currently translated at 47.0% (24 of 51 strings)

Translated using Weblate (Interlingua)

Currently translated at 39.8% (266 of 667 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (German)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Spanish)

Currently translated at 27.4% (14 of 51 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Polish)

Currently translated at 99.8% (666 of 667 strings)

Translated using Weblate (Ukrainian)

Currently translated at 99.4% (663 of 667 strings)

Translated using Weblate (Japanese)

Currently translated at 98.3% (656 of 667 strings)

Translated using Weblate (Spanish)

Currently translated at 99.2% (662 of 667 strings)

Translated using Weblate (German)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Santali)

Currently translated at 14.2% (95 of 667 strings)

Translated using Weblate (Arabic)

Currently translated at 66.6% (34 of 51 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Polish)

Currently translated at 99.7% (665 of 667 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Greek)

Currently translated at 99.8% (666 of 667 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (French)

Currently translated at 98.9% (660 of 667 strings)

Translated using Weblate (German)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (German)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (667 of 667 strings)

Co-authored-by: AioiLight <info@aioilight.space>
Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Andrij Mizyk <andmizyk@gmail.com>
Co-authored-by: C. Rüdinger <Mail-an-CR@web.de>
Co-authored-by: David Braz <davidbrazps2@gmail.com>
Co-authored-by: Digiwizkid <subhadiplayek@gmail.com>
Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: JY3 <GeeyunJY3@gmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Karl Tammik <karltammik@protonmail.com>
Co-authored-by: Ldm Public <ldmpub@gmail.com>
Co-authored-by: Marian Hanzel <marulinko@gmail.com>
Co-authored-by: Michal L <michalrmsmi@wp.pl>
Co-authored-by: MohammedSR Vevo <mohammednajmidin@gmail.com>
Co-authored-by: Prasanta-Hembram <Prasantahembram720@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Santiago <abridgement_phasiron@aleeas.com>
Co-authored-by: Software In Interlingua <softinterlingua@gmail.com>
Co-authored-by: SomeRetardedThatTranslatesStuff <the.eumitosis@simplelogin.fr>
Co-authored-by: THANOS SIOURDAKIS <siourdakisthanos@gmail.com>
Co-authored-by: Tari <tumbleweed@tuta.io>
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: WaldiS <sto@tutanota.de>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: Yngvar Skjaldulfsson <irrorate_browns@slmail.me>
Co-authored-by: bomzhellino <adm.bomzh@gmail.com>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: gnu-ewm <gnu.ewm@protonmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: pjammo <adrianoghr@hotmail.it>
Co-authored-by: thami simo <simo.azad@gmail.com>
Co-authored-by: zeritti <woodenmo@posteo.de>
Co-authored-by: zmni <zmni@outlook.com>
Co-authored-by: Обилић <mudo2233@tutanota.com>
Co-authored-by: Слободан Симић(Slobodan Simić) <slsimic@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/el/
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/ku/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pa/
Translation: NewPipe/Metadata

Translated using Weblate (English)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (German)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (French)

Currently translated at 98.9% (660 of 667 strings)

Translated using Weblate (Serbian)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Japanese)

Currently translated at 99.8% (666 of 667 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Ukrainian)

Currently translated at 99.4% (663 of 667 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (667 of 667 strings)

Translated using Weblate (Bengali)

Currently translated at 93.1% (621 of 667 strings)
2021-06-18 09:33:18 +02:00
Tobi
be676ad93c Merge pull request #3371 from mauriciocolli/feed-hide-played-items
Add ability to hide played items in a feed
2021-06-18 09:18:48 +02:00
camo0112
f00cffd17e improved dark theme for all services 2021-06-18 04:53:55 +05:30
Robin
0803d9f2b5 Merge pull request #6504 from evermind-zz/fixes-choice-dialog
dismiss choice dialog in onStop() to avoid a leaked window Exception:
2021-06-17 21:17:35 +02:00
Stypox
841fb4cfc5 Merge pull request #6495 from danielmbutler/Replace-System.exit-calls
Replace the System.exit calls with getActivity.finishAffinity()
2021-06-17 21:07:48 +02:00
Stypox
8b3e32b6eb First round of review 2021-06-17 20:47:22 +02:00
danielmbutler
90de75968d Replaced System.Exit calls with FinishAffinity and Start Activity calls
Implemented "RestartApp" method defined in NavigationHelper.java.
 This method is used in ExitActivity.java and ContentSettingsFragment.java
2021-06-17 17:18:15 +01:00
TobiGr
2de9d7b4a7 Merge branch 'master' into dev 2021-06-17 08:20:43 +02:00
evermind
a9ab2f54ea dismiss choice dialog in onStop() to avoid a leaked window Exception:
E/WindowManager: android.view.WindowLeaked: Activity org.schabi.newpipe.RouterActivity has leaked window DecorView@d99fe3b[] that was originally added here
        at android.view.ViewRootImpl.<init>(ViewRootImpl.java:418)
2021-06-17 06:53:47 +02:00
TacoTheDank
a1432e939f Fix onActivityResult deprecation in SubscriptionFragment 2021-06-15 22:09:19 -04:00
TacoTheDank
cae160b5be Fix onActivityResult deprecation in SubscriptionsImportFragment 2021-06-15 22:09:07 -04:00
TacoTheDank
aa4e5da146 Fix onActivityResult deprecation in ContentSettingsFragment 2021-06-15 22:08:55 -04:00
TacoTheDank
1061fca6a3 Add super.onRequestPermissionsResult where missing 2021-06-15 22:08:41 -04:00
TacoTheDank
e4885e3c52 Fix some older deprecations from previous Fragment versions 2021-06-15 22:08:25 -04:00
Tobi
a98c0bdec7 Merge pull request #6493 from TeamNewPipe/hotfix-v0.21.5
Hotfix release 0.21.5
2021-06-15 23:58:52 +02:00
Stypox
d6e0bd8c26 Merge pull request #6059 from Dakkaron/manual-tablet-mode-setting
Adds manual tablet mode setting
2021-06-15 21:46:19 +02:00
Dakkaron
e01ef42d31 Adds manual tablet mode setting
Co-authored-by: TiA4f8R <74829229+TiA4f8R@users.noreply.github.com>
2021-06-15 21:43:06 +02:00
Stypox
92910eb227 Merge pull request #5523 from TiA4f8R/share-improvements
Recognize timestamps and hashtags in descriptions and do some sharing fixes and improvements
2021-06-15 20:56:37 +02:00
TobiGr
cdfe686322 v0.21.5 (971) changelog 2021-06-15 19:14:42 +02:00
bopol
553943ab93 Release NewPipe 0.21.5 (971) 2021-06-15 19:12:24 +02:00
Stypox
32df4d39a4 Reshow feed if grid/list view mode changed 2021-06-15 18:40:25 +02:00
litetex
1281ea858c Added itemsListHeaderDuration to large-hand player 2021-06-15 18:00:48 +02:00
Robin
30a303f873 Increase buffer for playback after rebuffer 2021-06-15 18:00:19 +02:00
Stypox
fdb6679d2d Make list stream item ConstraintLayouts and use chain 2021-06-15 14:17:40 +02:00
Stypox
7145b117cc Fix long press menu in feed 2021-06-14 19:02:57 +02:00
Stypox
4698d07323 Do not hide feed buttons (show/hide & help) behind three-dots menu 2021-06-14 19:02:57 +02:00
Stypox
2142f05a88 Fix hiding finished streams in groups; new stream state validity condition
Consider stream state valid also if >1/4 of video was watched
2021-06-14 19:01:01 +02:00
Stypox
40a2df847b Move tags layout at the bottom, use multiple lines 2021-06-13 21:56:06 +02:00
Stypox
6063ff063b CONTRIBUTING.md: add "Build instructions" section and improve ordering 2021-06-13 21:06:59 +02:00
Tobi
547a1a9970 Merge pull request #6480 from litetex/fixMissingitemsListHeaderDuration
Added itemsListHeaderDuration to large-hand player
2021-06-12 13:36:08 +02:00
litetex
8c52a812d9 Added itemsListHeaderDuration to large-hand player 2021-06-11 22:00:15 +02:00
TiA4f8R
4eef498d24 Only call addClickListenersOnTimestamps if relatedInfo is instance of StreamInfo 2021-06-11 14:08:08 +02:00
TiA4f8R
32b0bdb98c Fix the compile error 2021-06-11 12:19:29 +02:00
Stypox
edfe0f9c30 Fix disposables handling for text linkifier
also use differently Markwon methods to convert plain text to markdown
2021-06-11 12:12:12 +02:00
Stypox
eef418a757 Improve text linkifier function parameters 2021-06-11 12:12:11 +02:00
TiA4f8R
218f25c171 Annotate params and methods with NonNull 2021-06-11 12:12:10 +02:00
TiA4f8R
f02df6d80c Fix an error and add a new method in the ShareUtils class
Fix the error due to the rebase on the dev branch of this branch
Add a shareText method in the ShareUtils class which has 3 parameters and calls
the original shareText method with an empty string for the
imagePreviewUrl param.
2021-06-11 12:12:09 +02:00
TiA4f8R
da4d379b22 Initial work: use disposables for timestamps parsing in YouTube video descriptions and YouTube comments 2021-06-11 12:12:08 +02:00
TiA4f8R
f13f4cc5d2 Split handleUrl method into two methods
Split handleURL method, now private, into two methods:
handleUrlCommentsTimestamp and handleUrlDescriptionTimestamp. Code is
now more proper.
2021-06-11 12:12:07 +02:00
TiA4f8R
a79badd783 Adress requested changes and try some cleanup in handleUrl method of InternalUrlsHandler class 2021-06-11 12:12:06 +02:00
TiA4f8R
2702700d10 Don't use a chooser for other intents than opening a content in a browser or sharing a content to other apps
Use an ACTION_CHOOSER intent has a negative impact for user experience, because user cannot set as default an activity for an intent
2021-06-11 12:12:05 +02:00
TiA4f8R
267686fd37 Initial work: add support for opening hashtags in plain text descriptions
This commit adds supports for opening hashtags in plain text descriptions, using the same logic as timestamps.
Every hashtag opens a search on the current service with the text in the hashtag.
Also use a better regular expression for parsing timestamps.
2021-06-11 12:12:04 +02:00
TiA4f8R
e5df2f65b8 Move some classes to a new subpackage and adress requested changes
Rename URLHandler and KoreUtil classes to InternalUrlsHandler and KoreUtils.
Move InternalUrlsHandler, KoreUtils, TextLinkfier, ShareUtils classes to external_communication subpackage.
Remove unused param showPreviewText in shareText method of ShareUtils class.
Add initial work to be able to display an image preview of the content shared (not for downloads).
Use a better regular expression to parse timestamps in plain text descriptions.
2021-06-11 12:12:03 +02:00
TiA4f8R
d6decc05d7 Move some classes to a new subpackage and adress requested changes
Rename URLHandler and KoreUtil classes to InternalUrlsHandler and KoreUtils.
Move InternalUrlsHandler, KoreUtils, TextLinkfier, ShareUtils classes to external_communication subpackage.
Remove unused param showPreviewText in shareText method of ShareUtils class.
Add initial work to be able to display an image preview of the content shared (not for downloads).
Use a better regular expression to parse timestamps in plain text descriptions.
2021-06-11 12:12:02 +02:00
TiA4f8R
d85afd6435 Initial work to add the image of the content in the share sheet
Also do some fixes when sharing a file in downloads and some improvements in JavaDocs of ShareUtils class.
2021-06-11 12:12:00 +02:00
TiA4f8R
2fb86364ab Fix title of the subject when sharing an URL 2021-06-11 12:11:59 +02:00
TiA4f8R
c972940338 Apply suggested changes and fix some warnings 2021-06-11 12:11:58 +02:00
TiA4f8R
6abdd2a6d8 Try to change message of the system chooser for the update notification
This commit tries to change the title of the system chooser shown, which is from Android System ("Open links with"), when no defaut browser is present, for the update notification.
2021-06-11 12:11:57 +02:00
TiA4f8R
9e9d1a04e4 Fix toast shown when falling back to Google Play Store URL and the action of Open with Kodi button in the player
Add a boolean param, showToast, in ShareUtils.openIntentInApp and only show toast "No app on your device can open this" if this boolean is true.
Fix the action of play with Kodi button by applying the fix provided in #5599 (adding the flag Intent.FLAG_ACTIVITY_NEW_TASK to the intent in NavigationHelper.playWithKore method).
Do also some cleanup in viewWithFileProvider and shareFile methods of MissionAdapter class.
2021-06-11 12:11:56 +02:00
TiA4f8R
ae9349e36c Initial work: add support for opening timestamps in plain text descriptions
This commit adds support for opening plain text timestamps by parsing the description text using a regular expression, add a click listener for each timestamp which opens the popup player at the indicated time in the timestamp.
In order to do this, playOnPopup method of the URLHandler class. Also, handleUrl method of this class has been renamed to canHandleUrl.
2021-06-11 12:11:55 +02:00
TiA4f8R
4031777606 Open recognized timestamps in the description of contents in the popup player
This commit adds support of opening recognized timestamps in the popup
player instead of starting an intent which opens the YouTube website with
the video timestamp.
2021-06-11 12:11:44 +02:00
TacoTheDank
9591f14551 Update AndroidX Fragment to 1.3.4 2021-06-10 12:51:30 -04:00
Stypox
06d10cf9aa Merge pull request #6313 from Isira-Seneviratne/Update_Room_to_2.3.0
Update Room to 2.3.0.
2021-06-09 16:28:55 +02:00
Stypox
0113ad5e14 Correctly save stream progress at the end of a video 2021-06-09 15:53:51 +02:00
Stypox
e58feadba9 Remove IN HISTORY label on stream info items 2021-06-09 15:53:51 +02:00
Stypox
360f5ac6f7 Save playback state even if stream is finished and add isFinished() 2021-06-09 15:53:51 +02:00
Mauricio Colli
e846f69e38 Add ability to hide played items in a feed
- Use components from the new Groupie list library for displaying the
feed list.
2021-06-09 15:53:51 +02:00
Stypox
fa1d7ffac3 Const text width for metadata; scrollable tags layout 2021-06-09 15:32:07 +02:00
Stypox
272d589518 Convert related_items_header to ConstraintLayout 2021-06-09 13:10:26 +02:00
Stypox
6ab4787e97 Use SwitchCompat to make switch uniform across versions
Also just use colorControlActivated in the base V19 theme, instead of using the prefix android: in each V21 service theme
2021-06-09 13:04:21 +02:00
TobiGr
060f09ff55 Apply service color to switches 2021-06-08 20:11:05 +02:00
TobiGr
f47ae3668f [Bandcamp Add v21 styles 2021-06-08 20:11:05 +02:00
Tobi
56cd84c1fe Merge pull request #6444 from TeamNewPipe/increasebufferafterdepletion
Increase buffer for playback after rebuffer
2021-06-08 17:02:18 +02:00
Stypox
a2eead521f Merge pull request #6346 from Imericxu/tabs-style-check
Resolve Tabs style checks
2021-06-08 14:49:14 +02:00
Stypox
a2fd5ae20c Update app/src/main/java/org/schabi/newpipe/settings/tabs/Tab.java 2021-06-08 14:45:00 +02:00
Stypox
543440e38d Update app/src/main/java/org/schabi/newpipe/settings/tabs/Tab.java 2021-06-08 14:44:54 +02:00
Stypox
0b64382ef6 Merge pull request #6436 from Abanoub8/add_url_button
Add copy url function to share button
2021-06-08 14:37:10 +02:00
Stypox
bede758507 Use url at current time for long click on player share button 2021-06-08 14:34:51 +02:00
Abanoub Sameh
5532666ad5 Long press on player share button to copy url to clipboard 2021-06-08 14:23:33 +02:00
Stypox
63cff25616 Merge pull request #6314 from Peyman-hme/Add-Open-website-button-to-webview-in-license-fragment-issue-#6296
Add "Open website" button to WebView in license fragment
2021-06-08 11:37:06 +02:00
Stypox
5e2735aaa2 Merge pull request #5462 from Isira-Seneviratne/Convert_abstract_classes_to_interfaces
Convert the abstract class DAOs to interfaces.
2021-06-08 11:32:10 +02:00
Peyman-hme
6fc0d8fce4 Add Open website string resources 2021-06-08 11:29:25 +02:00
Peyman-hme
e0c1ca1209 Change "Ok" Button to "Dismiss" and also change "Open Website" button to neutral button 2021-06-08 11:29:00 +02:00
Peyman-hme
3dc4ed1764 Add "Open website" button in webview in license fragment, issue #6296 2021-06-08 11:29:00 +02:00
Tobi
f63a4ee2ae Merge pull request #5876 from TeamNewPipe/terminated-channels
Better error handling of terminated channels
2021-06-08 10:57:24 +02:00
Tobi
c96bdfcb32 Merge pull request #5415 from Stypox/saf
Support SAF properly
2021-06-08 10:55:38 +02:00
Stypox
2a99e0e435 Reimplement storing backup import/export path
#6319 and #6402 were reverted before adding SAF changes, and have been readded at the end of SAF changes
2021-06-08 10:41:24 +02:00
Stypox
5ffc667bea Remove misplaced comment 2021-06-08 10:40:45 +02:00
Stypox
21b8df0375 Check if file really exists before asking user to overwrite it 2021-06-08 10:40:45 +02:00
Stypox
b78ac7d2e9 Fix strange behaviour when app loses access to saf download folder 2021-06-08 10:40:45 +02:00
Stypox
114dc8ffa0 Pass mime type so that SAF treats file extension correctly 2021-06-08 10:40:45 +02:00
Stypox
eea43d5a73 Add comments to SharpStreams 2021-06-08 10:40:45 +02:00
Stypox
bcb1cf6603 Improve SAF switch descriptions in settings 2021-06-08 10:40:45 +02:00
Stypox
6a0c5a874c Fix ContentSettingsManager tests 2021-06-08 10:40:45 +02:00
Stypox
1e8b3826dc Add setting migration to promote using SAF 2021-06-08 10:40:45 +02:00
wb9688
7efe62ee80 Only ask for storage permissions when not using SAF 2021-06-08 10:40:45 +02:00
wb9688
febb21a01d Fix non-SAF actions 2021-06-08 10:40:44 +02:00
wb9688
cb4e6159c4 Use file picker for export DB 2021-06-08 10:40:44 +02:00
wb9688
1164ea52f9 Move Stored(File|Directory)Helper into NewPipe 2021-06-08 10:40:44 +02:00
wb9688
0f75024e03 Support SAF properly 2021-06-08 10:40:44 +02:00
Stypox
1e09a1768e Revert all commits related to ContentSettingsFragment
Revert "Annotate methode parameters as NonNull"
This reverts commit 004907d306.

Revert "Commit path immediately when import backup"
This reverts commit 05eb0d0fbe.

Revert "Set ImportExportDataPath only on successful import"
This reverts commit f13a1b04e6.

Revert "Set ImportExportDataPath only on successful export"
This reverts commit fd4408e572.

Revert "Invert if condition in ContentSettingsFragment.setImportExportDataPath for better readability"
This reverts commit 92ab9cae27.

Revert "Move ContentSettingsFragment.isValidPath to helpers and add unit test for it."
This reverts commit fa2b11b768.

Revert "Save backup import/export location for feature import/exports"
This reverts commit 82f43ac6a6.

Remove FilePathHelperTest file
2021-06-08 10:40:44 +02:00
Hosted Weblate
7c78d963d9 Translated using Weblate (Indonesian)
Currently translated at 100.0% (51 of 51 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (657 of 657 strings)

Co-authored-by: Emin Tufan Çetin <etcetin@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: bomzhellino <adm.bomzh@gmail.com>
Co-authored-by: whenwesober <naomi16i_1298q@cikuh.com>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/
Translation: NewPipe/Metadata
2021-06-08 10:33:15 +02:00
TobiGr
b57ecae565 Fix getting error cause
Fix error dialog not shown when getting elemets from first subscription failed.
2021-06-08 10:12:36 +02:00
Stypox
89317d4abc Fix feed loading and show a dialog for each invalid subscription 2021-06-08 10:12:36 +02:00
TobiGr
c5dd3dc7a9 Improve error message when loading feed
Add name of unavailable channel
2021-06-08 10:12:36 +02:00
TobiGr
ccc46971b4 Show detailed error message when an account has been terminated by the service 2021-06-08 10:12:36 +02:00
TobiGr
6ad4b425e4 Better error handling of terminated channels when loading feed 2021-06-08 10:12:36 +02:00
Tobi
761e01c3b9 Merge pull request #6443 from Stypox/invalid-attr
Use constraint layout for play queue item
2021-06-08 10:05:38 +02:00
Tobi
70b9330b61 Merge pull request #6432 from TeamNewPipe/release_0.21.4
Release 0.21.4
2021-06-07 22:41:30 +02:00
TobiGr
f1e8667945 NewPipe 0.21.4 (970) 2021-06-07 21:40:02 +02:00
Tobi
509f501696 Merge pull request #6438 from TeamNewPipe/fix/metadataView
Increase width of metadata text view
2021-06-07 21:39:24 +02:00
TobiGr
3fe0368486 Update NewPIpe extractor to 0.21.4 2021-06-07 20:45:26 +02:00
Hosted Weblate
8f027e274e Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (51 of 51 strings)

Translated using Weblate (German)

Currently translated at 56.8% (29 of 51 strings)

Translated using Weblate (Polish)

Currently translated at 99.6% (655 of 657 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (French)

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (German)

Currently translated at 56.8% (29 of 51 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (51 of 51 strings)

Translated using Weblate (Interlingua)

Currently translated at 40.1% (264 of 657 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (French)

Currently translated at 99.8% (656 of 657 strings)

Translated using Weblate (German)

Currently translated at 100.0% (657 of 657 strings)

Co-authored-by: Ajeje Brazorf <lmelonimamo@yahoo.it>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Michal L <michalrmsmi@wp.pl>
Co-authored-by: Software In Interlingua <softinterlingua@gmail.com>
Co-authored-by: TiA4f8R <avdivers84@gmail.com>
Co-authored-by: TobiGr <tobigr@mail.de>
Co-authored-by: VfBFan <drop0815@posteo.de>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translation: NewPipe/Metadata
2021-06-07 20:43:54 +02:00
Robin
3b0045917c Increase buffer for playback after rebuffer 2021-06-07 09:25:49 +02:00
Stypox
a102fc9cad Use constraint layout for play queue item
Also remove invalid ic_selected attribute
2021-06-07 08:07:27 +02:00
Stypox
f6bca68da2 Merge pull request #6442 from Douile/fix/useless-duration
Hide queue duration when displaying segment panel
2021-06-07 07:11:13 +02:00
Douile
d921e2e61b Hide queue duration when displaying segment panel
Fixes #6441
2021-06-07 02:10:44 +01:00
TobiGr
0f7ed0ec70 Kotlin auto formatting 2021-06-06 11:57:14 +02:00
TobiGr
49b12ea4f8 Increase space for metadata typeview
Some translations come with longer words causing them to wrap at strange positions
2021-06-06 11:57:14 +02:00
Tobi
69fc466323 Update 970.txt
Fixed typo
2021-06-05 23:37:47 +02:00
Tobi
81d00f2e97 Run CI on PRs which target the master branch
This is a fix for the release PRs
2021-06-05 17:34:27 +02:00
TobiGr
ded6540422 Update extractor version 2021-06-05 17:26:16 +02:00
TobiGr
583a028529 Add changelog for 0.21.4 2021-06-05 17:23:57 +02:00
Tobi
f1bb56e2fb Merge pull request #6430 from TeamNewPipe/localization
Localization updates and small code improvements
2021-06-05 17:20:37 +02:00
TobiGr
f583dd47ac Annotate StoredFileHelper.createSAF() as NonNull 2021-06-05 16:34:22 +02:00
TobiGr
7e3b3453c0 Suppress a warning 2021-06-05 16:13:12 +02:00
TobiGr
abc354f516 Use reqireContext(), requireActivity() instead of getters 2021-06-05 16:13:12 +02:00
TobiGr
79efffe12f Replace three dots with ellipsis symbol 2021-06-05 16:13:12 +02:00
Hosted Weblate
25130db371 Translated using Weblate (German)
Currently translated at 56.0% (28 of 50 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (German)

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (Interlingua)

Currently translated at 40.0% (263 of 657 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (Greek)

Currently translated at 99.8% (656 of 657 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (Russian)

Currently translated at 98.9% (650 of 657 strings)

Translated using Weblate (French)

Currently translated at 99.8% (656 of 657 strings)

Translated using Weblate (German)

Currently translated at 98.9% (650 of 657 strings)

Translated using Weblate (English)

Currently translated at 100.0% (657 of 657 strings)

Translated using Weblate (Interlingua)

Currently translated at 34.6% (222 of 641 strings)

Translated using Weblate (Serbian)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Serbian)

Currently translated at 16.0% (8 of 50 strings)

Translated using Weblate (Odia)

Currently translated at 4.2% (27 of 641 strings)

Translated using Weblate (Odia)

Currently translated at 2.0% (1 of 50 strings)

Translated using Weblate (Dutch (Belgium))

Currently translated at 99.3% (637 of 641 strings)

Translated using Weblate (Swedish)

Currently translated at 87.3% (560 of 641 strings)

Translated using Weblate (Serbian)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (French)

Currently translated at 70.0% (35 of 50 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (50 of 50 strings)

Translated using Weblate (Ukrainian)

Currently translated at 8.0% (4 of 50 strings)

Translated using Weblate (Lithuanian)

Currently translated at 4.0% (2 of 50 strings)

Translated using Weblate (Bengali)

Currently translated at 93.7% (601 of 641 strings)

Translated using Weblate (Interlingua)

Currently translated at 34.3% (220 of 641 strings)

Translated using Weblate (Ukrainian)

Currently translated at 8.0% (4 of 50 strings)

Co-authored-by: Andrij Mizyk <andmizyk@gmail.com>
Co-authored-by: David Braz <davidbrazps2@gmail.com>
Co-authored-by: Eric <spice2wolf@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Hritik R <hpujhari7@gmail.com>
Co-authored-by: JY3 <GeeyunJY3@gmail.com>
Co-authored-by: Jacque Fresco <aidter@use.startmail.com>
Co-authored-by: Jeff Huang <s8321414@gmail.com>
Co-authored-by: Juraj Timko <timko@netrix.sk>
Co-authored-by: Kristoffer Grundström <swedishsailfishosuser@tutanota.com>
Co-authored-by: Ldm Public <ldmpub@gmail.com>
Co-authored-by: Louis Morel <louismorel03@outlook.fr>
Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: S3aBreeze <paperwork@evilcorp.ltd>
Co-authored-by: Software In Interlingua <softinterlingua@gmail.com>
Co-authored-by: Terry Louwers <t.louwers@gmail.com>
Co-authored-by: TobiGr <tobigr@mail.de>
Co-authored-by: Vasilis K <skyhirules@gmail.com>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: Zhiheng Xu <xeric.2002@gmail.com>
Co-authored-by: bomzhellino <adm.bomzh@gmail.com>
Co-authored-by: chr56 <chr0056@gmail.com>
Co-authored-by: gymka <gymka@archlinux.lt>
Co-authored-by: jul-debug <jul333666@gmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: random r <epsilin@yopmail.com>
Co-authored-by: whenwesober <naomi16i_1298q@cikuh.com>
Co-authored-by: Обилић <mudo2233@tutanota.com>
Co-authored-by: Слободан Симић(Slobodan Simić) <slsimic@gmail.com>
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/id/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/lt/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/or/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sr/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translation: NewPipe/Metadata
2021-06-05 16:08:27 +02:00
Tobi
932eb94f9d Merge pull request #6429 from TiA4f8R/fix-play-with-kodi-player-button
Fix Play with Kodi button in Player always prompts to install Kore
2021-06-05 14:32:09 +02:00
Stypox
9bf4eff173 Merge pull request #6421 from TeamNewPipe/fix/playback_speed
Fix playback speed not being updated in PlayQueueAcitvity
2021-06-05 13:46:45 +02:00
TiA4f8R
9fc3ddeab7 Fix Play with Kodi button in Player always prompts to install Kore 2021-06-05 12:48:34 +02:00
TobiGr
98fdbec442 Fix playback speed not being updated in PlayQueuAcitvity
Fixes #6419
2021-06-05 12:24:59 +02:00
bopol
332b90d6c1 Merge pull request #6337 from litetex/fix-broken-yt-liked-comments
[YouTube] Fix broken likes in comments
2021-06-04 22:32:48 +02:00
Tobi
db2e03eb14 Merge pull request #6402 from XiangRongLin/save_backup_bug
Fix and improve setting import and export paths
2021-06-04 22:22:09 +02:00
TobiGr
8ed8b94ec7 Update extractor version to ff11c2df2a22cc10d9fd7e59538d10ca7ccbaffb 2021-06-04 16:20:20 +02:00
Tobi
63c9308f59 Merge pull request #5946 from Stypox/metadata
Show content metadata below the description
2021-06-03 20:51:33 +02:00
litetex
1306a777fc Using Localization.shortCount() and old likeCount 2021-06-03 14:40:00 +02:00
Tobi
f739ed7581 Merge pull request #6280 from TiA4f8R/open-in-browser-long-press-menu
Add Open in browser option to long-press menu
2021-06-03 13:45:25 +02:00
TiA4f8R
b4d6015464 Add the Open in browser option when long-pressing a stream for local and online playlists and for history 2021-06-03 13:21:31 +02:00
TiA4f8R
b9aaafdb30 Add Open in browser option to long-press menu
Add Open in browser option to long-press menu when long pressing a stream and a subscription
2021-06-03 13:15:08 +02:00
Tobi
71aa6c6e92 Merge pull request #6309 from mhmdanas/fix-channel-details-long-press-menu-on-feeds
Add "Show channel details" option in remote (non-local) playlists
2021-06-03 12:25:50 +02:00
Tobi
f98d2631e5 Merge pull request #6242 from evermind-zz/fixes-for-upstream
fix Rotation crash on „Video not available“ page (#5941)
2021-06-03 12:22:23 +02:00
Stypox
9e94c81ef2 Always show scrollbars for metadata tags 2021-06-02 21:23:48 +02:00
Stypox
d025ef11f8 Sort tags in metadata section 2021-06-02 21:23:42 +02:00
TiA4f8R
fe7536e374 Change NewPipe IRC links in the contribution guidelines (#6415)
* Change NewPipe IRC links in the contribution guidelines

* Remove redundant line break

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

Co-authored-by: Mohammed Anas <32234660+mhmdanas@users.noreply.github.com>
Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
2021-06-02 16:27:08 +00:00
Stypox
14256137e8 Use chips to show tags in metadata section
Clicking on chips opens the search fragment
Long clicking copies to clipboard
2021-06-02 16:15:02 +02:00
Stypox
bc3e43ac58 Add button to allow selecting text in the description
Since now selection is disabled by default, this fixes #5453
2021-06-02 14:36:34 +02:00
Stypox
d0d5373be9 Allow copying metadata to clipboard 2021-06-02 14:19:25 +02:00
Stypox
997267bad1 Show video metadata below the decription 2021-06-02 14:19:25 +02:00
Robin
ef6d0cc4b1 Merge pull request #6414 from mhmdanas/upgrade-prettytime-5.0.1
Upgrade PrettyTime to 5.0.1
2021-06-02 13:47:42 +02:00
mhmdanas
ffad244e1e Upgrade PrettyTime to 5.0.1 2021-06-02 01:14:43 +03:00
Tobi
fdee7c3d06 Merge pull request #6410 from sauravrao637/6409
Fixed channel description textView
2021-06-01 11:02:47 +02:00
camo0112
142cde975f fixed channel description textView 2021-06-01 10:43:57 +05:30
XiangRongLin
004907d306 Annotate methode parameters as NonNull 2021-05-31 15:09:57 +02:00
XiangRongLin
05eb0d0fbe Commit path immediately when import backup 2021-05-31 12:40:14 +02:00
XiangRongLin
f13a1b04e6 Set ImportExportDataPath only on successful import
Also set the folder instead of the file itself as path
2021-05-31 12:38:21 +02:00
XiangRongLin
fd4408e572 Set ImportExportDataPath only on successful export 2021-05-31 12:36:21 +02:00
TiA4f8R
a84ab7413c Change IRC chat button link in READMEs (#6393)
* Change the IRC chat button link in the original README

* Change the IRC chat button link in the Spanish README

* Change the IRC chat button link in the Japanese README

* Change the IRC chat button link in the Korean README

* Change the IRC chat button link in the Brazilian Portuguese README

* Change the IRC chat button link in the Romanian README

* Change the IRC chat button link in the Somali README

* Change the IRC chat button link in the Turkish README
2021-05-29 14:18:15 +02:00
Tobi
62b593da08 Merge pull request #6118 from sauravrao637/errorHandlingInSubcribe
Error handling in subscribe() in DownloadDialog
2021-05-29 11:30:36 +02:00
Tobi
0eb69b6659 Merge pull request #6353 from Imericxu/fix-pasting-rich-text-in-search
Fix unwanted rich text formatting when pasting
2021-05-29 09:12:07 +02:00
Robin
67b83388b1 Merge pull request #6387 from TeamNewPipe/empty_fragment_design
Fix empty fragment text not centered when text longer than one line
2021-05-28 17:48:38 +02:00
Tobi
ecc998aea8 Merge pull request #6373 from TeamNewPipe/bandcamp-links
Improve Bandcamp intent filters
2021-05-28 15:17:00 +02:00
TobiGr
6956d16f0e Update dependency for core library desugaring
Hopefully fixes reproducible builds.
2021-05-28 15:07:30 +02:00
TobiGr
f1bc4f5c20 Update junit from 4.13.1 to 4.13.2
https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.13.2.md
2021-05-28 15:04:39 +02:00
Tobi
f134e2d02a Merge pull request #6385 from sauravrao637/6371
Option for download is redundant and thus removed when linkType is CHANNEL or PLAYLIST
2021-05-28 14:23:04 +02:00
TobiGr
6ec72ef945 Fix empty fragment text not centered when text longer than one line 2021-05-28 12:43:21 +02:00
Tobi
e8d518cd6c Add Libera webchat link 2021-05-28 11:59:27 +02:00
camo0112
b564433ff6 Option for download is redundant and thus removed when linkType is CHANNEL or PLAYLIST 2021-05-28 03:38:53 +05:30
TiA4f8R
79f7dcd1a3 Merge pull request #6384 from TeamNewPipe/change-matrix-irc-link
Update Matrix link of NewPipe IRC from Freenode to Libera.chat
2021-05-27 23:09:19 +02:00
TiA4f8R
23ee9b7867 Update Matrix link of NewPipe IRC from Freenode to Libera.chat 2021-05-27 22:07:45 +02:00
TobiGr
afbf36900f Merge branch 'master' into dev 2021-05-27 20:04:16 +02:00
Tobi
2829851e49 Merge pull request #6358 from TeamNewPipe/release_0.21.3
Release 0.21.3
2021-05-27 16:36:43 +02:00
TobiGr
2b8fda3511 Release NewPipe 0.21.3 (969) 2021-05-27 16:36:00 +02:00
TobiGr
d31959990e Update extractor version to 0.21.3 2021-05-27 16:36:00 +02:00
Tobi
26c535db84 Change IRC link
Move from freenode webchat to libera chat
2021-05-27 09:56:27 +02:00
Zhiheng Xu
ea1b910d7e Simplify code 2021-05-26 12:01:58 -04:00
Zhiheng Xu
8f4c6fb6ac Add comment 2021-05-26 12:01:58 -04:00
Zhiheng Xu
9b1861417c Add formatting removal on paste for search
Closes #5912
2021-05-26 12:01:58 -04:00
Eric Xu
448989f32f Add PlaylistTab.hashCode() matching equals 2021-05-26 12:01:30 -04:00
Eric Xu
2fc26bc154 Refactor PlaylistTab.equals 2021-05-26 12:01:30 -04:00
Eric Xu
1812249d37 Add ChannelTab.hashCode() matching equals 2021-05-26 12:01:30 -04:00
Eric Xu
14bbaccb9f Refactor ChannelTab.equals 2021-05-26 12:01:30 -04:00
Eric Xu
d2b03afcf4 Add KioskTab.hashCode() matching equals 2021-05-26 12:01:30 -04:00
Eric Xu
1cac3895dc Refactor KioskTab.equals 2021-05-26 12:01:30 -04:00
Eric Xu
01aab25889 Add Tab.hashCode() to go with equals 2021-05-26 12:01:30 -04:00
Eric Xu
96d731dfc7 Refactor equals method 2021-05-26 12:01:30 -04:00
XiangRongLin
8080c32b1f Merge pull request #6345 from Imericxu/test-and-update-playqueue
Test and clean up PlayQueue
2021-05-26 17:46:24 +02:00
XiangRongLin
4b27aec196 Merge pull request #6360 from litetex/used-adoptopenjdk-instead-of-zulu
Use AdoptOpenJDK instead of Zulu in GitHub actions
2021-05-26 17:42:04 +02:00
Fynn Godau
38fb510375 [Bandcamp] Increase accuracy of intent filters 2021-05-26 15:11:38 +02:00
Fynn Godau
6422e31b10 [Bandcamp] Handles links without /
Co-authored-by: yashpalgoyal1304 <yashpalgoyal1304@gmail.com>
2021-05-26 15:08:43 +02:00
Zhiheng Xu
c0f47195a2 Remove Enclosed.class runner
Does not affect Gradle tests and only benefits IDE workflow
2021-05-24 13:03:52 -04:00
Zhiheng Xu
40f66977c7 Rewrite addToHistory test without using reflection 2021-05-24 12:20:19 -04:00
Zhiheng Xu
e518c0dc14 Rename mockPlayQueue(…) to makePlayQueue(…) 2021-05-24 12:20:19 -04:00
Zhiheng Xu
2e161a1f45 Change shuffle() guard to check for size <= 2
After testing the app, I realized that shuffling a queue with size 2
does nothing
2021-05-24 12:20:19 -04:00
Zhiheng Xu
5ab6e84044 Remove redundant clearing of list 2021-05-24 12:20:19 -04:00
Zhiheng Xu
e1a6347c4e Refactor shuffle and update documentation
- Add early return for invalid sizes to shuffle

 - Rename variables to be more descriptive

 - Refactor moving list element, removing unnecessary operations

 - Unwrap if clause for adding to history because the condition is
   guaranteed by the guard clause

 - Inline the value 0 for the ReorderEvent

 - Update documentation to reflect new changes
2021-05-24 12:20:19 -04:00
Zhiheng Xu
bf8e8798d9 Add test for setIndex 2021-05-24 12:20:19 -04:00
Zhiheng Xu
08949ee347 Refactor static methods to package private
Stops Android Studio from "recognizing" them as tests
2021-05-24 12:20:19 -04:00
Eric Xu
92a67bb8cb Rearrange fields
Final fields should be arranged first
2021-05-24 12:20:19 -04:00
Eric Xu
363bbf5fd3 Test getItem(int) 2021-05-24 12:20:19 -04:00
Eric Xu
77f6940336 Refactor making a PlayQueueItem to static method 2021-05-24 12:20:19 -04:00
Eric Xu
e8eeac6735 Resolve TODO in indexOf(...)
PlayQueueItem overrides equals and hashCode, so using indexOf is
perfectly fine.
2021-05-24 12:20:19 -04:00
Eric Xu
775fbc9a75 Rewrite setIndex(int) to pass unit tests
Original did not cover the case of when streams is empty and
documentation does not specify any input restrictions.

There's an ambiguity with broadcasting an event between the
documentation and the actual code (see TODO).
2021-05-24 12:20:19 -04:00
Eric Xu
8d0f2d371d Test PlayQueue.setIndex(...) 2021-05-24 12:20:19 -04:00
Eric Xu
8efe2859b8 Refactor assignments to field declaration
Assignments that don't require the constructor can be moved out.
2021-05-24 12:20:19 -04:00
Eric Xu
441c68ead2 Add hashCode() to match equals(other) 2021-05-24 12:20:19 -04:00
Eric Xu
882b235a78 Test PlayQueue equals 2021-05-24 12:20:19 -04:00
Eric Xu
4cd1f201f5 Refactor streams to initialize with values 2021-05-24 12:20:19 -04:00
Eric Xu
013c59f904 Refactor ArrayList fields to List 2021-05-24 12:20:19 -04:00
Eric Xu
57474e2dab Refactor and optimize equals
- Remove multiple casts of obj

 - Simply use object equals on the streams because PlayQueueItem’s
   equals already compares urls
2021-05-24 12:20:19 -04:00
TobiGr
139ced885d Update extractor version 2021-05-23 22:56:44 +02:00
litetex
10b1da135e Update ci.yml 2021-05-23 14:54:49 +02:00
Tobi
f0bb2e8687 Merge pull request #6307 from TeamNewPipe/peertube_hls
Add support for PeerTube HLS streams
2021-05-23 12:07:31 +02:00
TobiGr
4643ccef6f Fix incorrcetly formatted translations 2021-05-23 12:06:08 +02:00
TobiGr
753ca7cb53 Update translations
Translated using Weblate (French)
Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Arabic)

Currently translated at 99.6% (639 of 641 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Dutch (Belgium))

Currently translated at 97.5% (625 of 641 strings)

Translated using Weblate (Sardinian)

Currently translated at 99.6% (639 of 641 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (English (United Kingdom))

Currently translated at 13.5% (87 of 641 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Dutch)

Currently translated at 99.6% (639 of 641 strings)

Translated using Weblate (Serbian)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Estonian)

Currently translated at 95.9% (615 of 641 strings)

Translated using Weblate (Bengali)

Currently translated at 93.7% (601 of 641 strings)

Translated using Weblate (French)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Serbian)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Lithuanian)

Currently translated at 69.5% (446 of 641 strings)

Translated using Weblate (Spanish)

Currently translated at 99.6% (639 of 641 strings)

Translated using Weblate (Basque)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Croatian)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (641 of 641 strings)
2021-05-23 11:55:34 +02:00
TobiGr
87d2f33e55 Add support for PeerTube HLS streams 2021-05-23 11:53:35 +02:00
XiangRongLin
fc7944d287 Merge pull request #6319 from ATofighi/feat-6039-store-backup-location
Save backup import/export location for future import/exports
2021-05-21 21:08:33 +02:00
XiangRongLin
376e5c1546 Remove unnecessary conversion between file and path 2021-05-21 20:24:11 +02:00
Alireza Tofighi
e8ad947d37 Split up FilePathHelperTest tests in simpler methods 2021-05-21 22:44:38 +04:30
Alireza Tofighi
067528211f Add more tests for FilePathUtils.isValidDirectoryPath for better coverage 2021-05-21 20:28:42 +04:30
Alireza Tofighi
92ab9cae27 Invert if condition in ContentSettingsFragment.setImportExportDataPath for better readability 2021-05-21 20:24:57 +04:30
Alireza Tofighi
fa2b11b768 Move ContentSettingsFragment.isValidPath to helpers and add unit test for it. 2021-05-21 20:21:58 +04:30
Alireza Tofighi
82f43ac6a6 Save backup import/export location for feature import/exports 2021-05-17 21:57:27 +04:30
David BrazSan
c7660b8c2d Excluding forgotten parts of the original raw (#6317) 2021-05-17 14:59:48 +00:00
XiangRongLin
847831c195 Merge pull request #6308 from mhmdanas/make-minor-changes
Make some minor changes
2021-05-17 12:14:00 +02:00
XiangRongLin
e0b246431f Merge pull request #6312 from ATofighi/fix-6298-report-page-back-not-working
Fix ErrorActivity actionbar back button not working
2021-05-17 12:12:12 +02:00
Isira Seneviratne
3b1c4b043d Convert Converters to a Kotlin object. 2021-05-16 11:14:15 +05:30
Isira Seneviratne
e8b8391868 Rename .java to .kt 2021-05-16 11:14:15 +05:30
Isira Seneviratne
cd0a87785e Update Room to 2.3.0. 2021-05-16 11:04:52 +05:30
Alireza Tofighi
c808beec30 Fix ErrorActivity actionbar back button not working
The issue is because of R.id.home != android.R.id.home
2021-05-16 02:19:52 +04:30
yashpalgoyal1304
2d4a3c2554 Generalised/tense-corrected the example (#6302)
Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>

Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
2021-05-15 17:34:24 +00:00
mhmdanas
b2b9938484 Put show channel details option in more long-press menus 2021-05-15 19:20:27 +03:00
mhmdanas
eb1cefe2fa Make some minor changes 2021-05-15 18:48:16 +03:00
Tobi
5eb5dbddde Merge pull request #6294 from Redirion/exodowngrade
Downgrade ExoPlayer to 2.12
2021-05-15 10:58:41 +02:00
TobiGr
bfe3eff5ff Fix warnings for translations 2021-05-15 10:04:27 +02:00
TobiGr
e7936e6c9a Fix warnings for translations 2021-05-15 09:57:24 +02:00
TobiGr
514f92e6f2 Update translations
Translated using Weblate (English)
Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Serbian)

Currently translated at 99.8% (638 of 639 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Japanese)

Currently translated at 99.5% (636 of 639 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Slovenian)

Currently translated at 82.7% (529 of 639 strings)

Translated using Weblate (Slovenian)

Currently translated at 82.7% (529 of 639 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.8% (638 of 639 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.8% (638 of 639 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Estonian)

Currently translated at 94.5% (604 of 639 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Hebrew)

Currently translated at 46.0% (23 of 50 strings)

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

Translated using Weblate (Serbian)

Currently translated at 16.0% (8 of 50 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 98.0% (49 of 50 strings)

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

Translated using Weblate (Estonian)

Currently translated at 10.0% (5 of 50 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (641 of 641 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 99.6% (639 of 641 strings)

Translated using Weblate (Ukrainian)

Currently translated at 8.0% (4 of 50 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uk/
2021-05-15 09:41:15 +02:00
iamthesenate1
68fd7a031f Add No Login Required translation 2021-05-14 22:34:13 +02:00
Robin
95f61542b5 TEST: Downgrade ExoPlayer to 2.12 2021-05-14 14:47:53 +02:00
Tobi
9fc6f19702 Merge pull request #6288 from Redirion/debugtunnellingoff
Add debug option to disable media tunneling
2021-05-14 13:04:35 +02:00
Robin
4038617d59 removed _text_ from show_original_time_ago and disable_media_tunneling 2021-05-14 12:25:07 +02:00
Robin
98ccd577d6 Fixed checkstyle 2021-05-14 12:15:48 +02:00
Robin
1d43a2362c Add debug option to disable media tunneling 2021-05-14 12:05:52 +02:00
TobiGr
0ff675171b Update extractor version 2021-05-14 09:23:50 +02:00
TobiGr
59594c6637 Add changelog for 0.21.3 2021-05-14 00:03:07 +02:00
Tobi
9595733563 Merge pull request #6274 from mhmdanas/remove-extra-newline-in-translation
Remove extra newlines in strings
2021-05-12 22:19:35 +02:00
mhmdanas
5eb1d49857 Remove extra newlines in strings 2021-05-12 22:16:12 +03:00
TobiGr
fa1fdbf73e Fix translations
Fix outdated slovenian translation
2021-05-12 16:27:51 +02:00
TobiGr
52e52b3ca1 Update translations
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Croatian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Croatian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Bengali (Bangladesh))

Currently translated at 62.1% (397 of 639 strings)

Translated using Weblate (Bengali)

Currently translated at 90.6% (579 of 639 strings)

Translated using Weblate (Italian)

Currently translated at 48.9% (24 of 49 strings)

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

Translated using Weblate (Indonesian)

Currently translated at 100.0% (49 of 49 strings)

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

Translated using Weblate (Tamazight (Central Atlas))

Currently translated at 32.8% (210 of 639 strings)

Added translation using Weblate (Marathi)

Added translation using Weblate (Marathi)

Translated using Weblate (Spanish)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Hindi)

Currently translated at 85.4% (546 of 639 strings)

Translated using Weblate (Marathi)

Currently translated at 10.9% (70 of 639 strings)

Translated using Weblate (Bengali)

Currently translated at 90.9% (581 of 639 strings)

Translated using Weblate (Bengali)

Currently translated at 20.4% (10 of 49 strings)

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

Translated using Weblate (English)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Hungarian)

Currently translated at 87.6% (560 of 639 strings)

Translated using Weblate (Serbian)

Currently translated at 99.8% (638 of 639 strings)

Translated using Weblate (Portuguese)

Currently translated at 99.8% (638 of 639 strings)

Translated using Weblate (Indonesian)

Currently translated at 99.8% (638 of 639 strings)

Translated using Weblate (Ukrainian)

Currently translated at 99.8% (638 of 639 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.8% (638 of 639 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.8% (638 of 639 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.8% (638 of 639 strings)

Translated using Weblate (Estonian)

Currently translated at 85.4% (546 of 639 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 99.8% (638 of 639 strings)

Translated using Weblate (Bengali)

Currently translated at 91.8% (587 of 639 strings)

Translated using Weblate (Turkish)

Currently translated at 30.6% (15 of 49 strings)

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

Translated using Weblate (Romanian)

Currently translated at 8.1% (4 of 49 strings)

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

Translated using Weblate (Portuguese)

Currently translated at 53.0% (26 of 49 strings)

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

Translated using Weblate (Spanish)

Currently translated at 26.5% (13 of 49 strings)

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

Translated using Weblate (Serbian)

Currently translated at 14.2% (7 of 49 strings)

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

Translated using Weblate (Estonian)

Currently translated at 8.1% (4 of 49 strings)

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

Translated using Weblate (Estonian)

Currently translated at 8.1% (4 of 49 strings)

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

Translated using Weblate (Marathi)

Currently translated at 11.8% (76 of 639 strings)

Translated using Weblate (Serbian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Hungarian)

Currently translated at 91.7% (586 of 639 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Estonian)

Currently translated at 89.2% (570 of 639 strings)

Translated using Weblate (Serbian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Estonian)

Currently translated at 90.7% (580 of 639 strings)
2021-05-12 16:27:43 +02:00
Saurav Rao
5b4fbe32b1 Fix trying to delete object not in list (#6127)
* fix trying to delete object by index -1

* correction in checkstyle-supressions.xml

Co-authored-by: camo0112 <56369484+camo0112@users.noreply.github.com>
2021-05-12 14:33:00 +02:00
litetex
31ea44ccf1 Fixed player not automatically playing (#6266)
* Fixed player not automatically playing

Should also fix https://github.com/TeamNewPipe/NewPipe/issues/6179

* Added comment
2021-05-12 10:20:39 +02:00
camo0112
7fdb6e1425 did missed changes 2021-05-07 03:27:59 +05:30
camo0112
621f049a5c improved dark_youtube_primary_color and dark_youtube_dark_color 2021-05-06 08:45:44 +05:30
Tobi
d26ca194b3 Merge pull request #5671 from ix5/download-deleter-snackbars
Downloader: Deleter: Dismiss previous Snackbars
2021-05-05 10:46:46 +02:00
evermind
a012e26d63 fix Rotation crash on „Video not available“ page (#5941)
The EmptyFragment should not have a constructor at all.
Now a static methods creates the Fragment and arguments
are handled via a Bundle.
2021-05-05 08:55:54 +02:00
Saurav Rao
f80b1fb2fe added NoLoginRequired (#5994)
Co-authored-by: camo0112 <56369484+camo0112@users.noreply.github.com>
2021-05-04 17:57:19 +00:00
ix5
38ed07caa7 Downloader: Deleter: Dismiss previous Snackbars
Bug:
In Downloader view, while deleting items, Snackbars at the
bottom of the UI keep queuing up. You need to wait for all
of them to dismiss themselves for files to actually be
deleted. If you close NewPipe before all snackbars are
dismissed, your files will not be deleted and show up again
next time you start NewPipe.

Fix:
When running append(), trigger the commit() action
immediately and cancel all delayed callbacks for commit().

This prevents Snackbars from stacking up in reverse order.

Fixes: https://github.com/TeamNewPipe/NewPipe/issues/5660
2021-05-04 19:44:09 +02:00
Tobi
72ee4be495 Merge pull request #6152 from Isira-Seneviratne/Use_Animator_addListener
Use Animator.addListener() extension.
2021-05-04 19:37:03 +02:00
Robin
c85b97a484 Fix: fragmentSize is below the minimum (#6238)
noticed logs " CacheDataSink: fragmentSize is below the minimum recommended value of 2097152. This may cause poor cache performance.

this fixes the issue by using ExoPlayers MIN_RECOMMENDED_FRAGMENT_SIZE. Unfortunately that field is private:
aeb306a164/library/core/src/main/java/com/google/android/exoplayer2/upstream/cache/CacheDataSink.java (L123)
2021-05-04 19:08:25 +02:00
Tobi
c7510c628f Merge pull request #6189 from mhmdanas/fix-some-warnings
Fix some warnings
2021-05-04 18:54:17 +02:00
Tobi
3ca1e550fe Merge pull request #5997 from TeamNewPipe/reChaptcha
Do not set reCaptcha cookie when there is no cookie stored
2021-05-04 18:53:12 +02:00
Tobi
01e8944077 Merge pull request #6206 from Redirion/exo2133
Update ExoPlayer to 2.13.3
2021-05-04 11:58:21 +02:00
Yağızhan
d6ab3298a3 Added Turkish README (#6219) 2021-05-02 16:55:49 +00:00
Robin
97b28bba4d Update ExoPlayer to 2.13.3 2021-04-30 11:48:01 +02:00
mhmdanas
7f6674a0e6 Remove strings without default values 2021-04-30 01:02:57 +03:00
mhmdanas
2c1df5f875 Actually fix the parentFile warning 2021-04-30 01:02:46 +03:00
mhmdanas
e7ae215ab0 Fix some warnings 2021-04-28 00:28:36 +03:00
TobiGr
4a9c790652 Merge branch 'master' into dev 2021-04-26 19:13:17 +02:00
Tobi
91ca680911 Merge pull request #6053 from TeamNewPipe/release_0.21.2
Release NewPipe 0.21.2 (968)
2021-04-26 18:54:28 +02:00
TobiGr
01376aba86 Update extractor version
FIx SoundCloud
2021-04-26 18:09:02 +02:00
TobiGr
d56ffa3531 Added translation using Weblate (Latin)
Added translation using Weblate (Latin)

Translated using Weblate (Slovak)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Malayalam)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Ukrainian)

Currently translated at 2.0% (1 of 49 strings)

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

Translated using Weblate (Hebrew)

Currently translated at 44.8% (22 of 49 strings)

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

Translated using Weblate (Malayalam)

Currently translated at 6.1% (3 of 49 strings)

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

Translated using Weblate (Indonesian)

Currently translated at 100.0% (49 of 49 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (49 of 49 strings)

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

Translated using Weblate (Somali)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Latin)

Currently translated at 8.1% (52 of 639 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (639 of 639 strings)

Added translation using Weblate (Dutch (Middle))

Translated using Weblate (Bengali (Bangladesh))

Currently translated at 62.1% (397 of 639 strings)

Translated using Weblate (Croatian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Croatian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Bengali)

Currently translated at 89.6% (573 of 639 strings)

Translated using Weblate (German)

Currently translated at 53.0% (26 of 49 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 26.5% (13 of 49 strings)

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

Translated using Weblate (Tamazight (Central Atlas))

Currently translated at 31.1% (199 of 639 strings)

Translated using Weblate (Latin)

Currently translated at 16.4% (105 of 639 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (639 of 639 strings)
2021-04-26 12:01:55 +02:00
TobiGr
5a5a24bf1a Added translation using Weblate (Latin)
Added translation using Weblate (Latin)

Translated using Weblate (Slovak)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Malayalam)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Ukrainian)

Currently translated at 2.0% (1 of 49 strings)

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

Translated using Weblate (Hebrew)

Currently translated at 44.8% (22 of 49 strings)

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

Translated using Weblate (Malayalam)

Currently translated at 6.1% (3 of 49 strings)

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

Translated using Weblate (Indonesian)

Currently translated at 100.0% (49 of 49 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (49 of 49 strings)

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

Translated using Weblate (Somali)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Latin)

Currently translated at 8.1% (52 of 639 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (639 of 639 strings)

Added translation using Weblate (Dutch (Middle))

Translated using Weblate (Bengali (Bangladesh))

Currently translated at 62.1% (397 of 639 strings)

Translated using Weblate (Croatian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Croatian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Bengali)

Currently translated at 89.6% (573 of 639 strings)

Translated using Weblate (German)

Currently translated at 53.0% (26 of 49 strings)

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

Translated using Weblate (Portuguese (Brazil))

Currently translated at 26.5% (13 of 49 strings)

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

Translated using Weblate (Tamazight (Central Atlas))

Currently translated at 31.1% (199 of 639 strings)

Translated using Weblate (Latin)

Currently translated at 16.4% (105 of 639 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (639 of 639 strings)
2021-04-26 11:59:35 +02:00
TobiGr
3d2c65b398 Update extractor version 2021-04-26 11:54:43 +02:00
Tobi
bacb35fb1c Merge pull request #6151 from TeamNewPipe/share-dialog-color
Fix black drawables in night themes in share dialog (RouterActivity)
2021-04-26 11:51:50 +02:00
Tobi
0a2ed805a2 Merge pull request #6161 from TeamNewPipe/player-buffering
Fix invisible buffering / loading indicator in player
2021-04-25 18:10:02 +02:00
TobiGr
e70c153cd3 Fix black drawables in night themes in share dialog (RouterActivity) 2021-04-25 11:36:40 +02:00
TobiGr
b54c2b7f57 Fix invisible buffering / loading indicator in player 2021-04-25 11:36:00 +02:00
Isira Seneviratne
3fe80ec5ac Use Animator.addListener() extension. 2021-04-24 07:45:12 +05:30
Saurav Rao
e52048c69e Update shot_10.png to include Bandcamp in the list of services (#6140)
* update shot_10.png

* updated shot_10.png

Co-authored-by: camo0112 <56369484+camo0112@users.noreply.github.com>
2021-04-23 09:39:08 +00:00
Robin
ceb930aed6 Merge pull request #6139 from subraizada3/dev
Only show 'download has started' toast when download is started
2021-04-22 09:56:14 +02:00
Sub Raizada
e775037366 Only show 'download has started' toast when a download has started 2021-04-22 02:45:04 +00:00
camo0112
4357e02c58 user can report the error 2021-04-20 16:21:20 +05:30
camo0112
67c0ceedc9 Error handling in subscribe() in DownloadDialog 2021-04-20 13:06:40 +05:30
Robin
0039312a64 Merge pull request #6109 from sauravrao637/codeImrovement
Replaced if/else with switch in ErrorActivity, supress false lint warning
2021-04-19 16:45:45 +02:00
camo0112
57f1152751 suppress false warning (which affect only library projects) 2021-04-19 19:26:15 +05:30
Robin
bfb9be1225 Merge pull request #6037 from mhmdanas/allow-installation-on-external-storage
Allow installation on external storage
2021-04-19 15:01:10 +02:00
TobiGr
8837b54aab Release NewPipe 0.21.2 (968) 2021-04-19 14:46:52 +02:00
TobiGr
8ab5a4d394 Update extractor version 2021-04-19 14:46:37 +02:00
Tobi
29bcf94d50 Merge pull request #6051 from TeamNewPipe/bandcamp_segments
[Bandcamp] Add Radio stream segments
2021-04-19 14:43:34 +02:00
TobiGr
dd68bf8eeb Update translations
Translated using Weblate (French)
Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Japanese)

Currently translated at 99.0% (633 of 639 strings)

Translated using Weblate (Japanese)

Currently translated at 99.0% (633 of 639 strings)

Translated using Weblate (English)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Russian)

Currently translated at 99.8% (638 of 639 strings)

Translated using Weblate (Russian)

Currently translated at 99.8% (638 of 639 strings)

Translated using Weblate (German)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (German)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (German)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (French)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Japanese)

Currently translated at 98.7% (631 of 639 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Portuguese)

Currently translated at 99.6% (637 of 639 strings)

Translated using Weblate (Basque)

Currently translated at 99.6% (637 of 639 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Indonesian)

Currently translated at 99.6% (637 of 639 strings)

Translated using Weblate (Ukrainian)

Currently translated at 93.1% (595 of 639 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.6% (637 of 639 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Hebrew)

Currently translated at 99.6% (637 of 639 strings)

Translated using Weblate (Hindi)

Currently translated at 82.1% (525 of 639 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 99.6% (637 of 639 strings)

Translated using Weblate (German)

Currently translated at 51.0% (24 of 47 strings)

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

Translated using Weblate (Arabic)

Currently translated at 72.3% (34 of 47 strings)

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

Translated using Weblate (Slovak)

Currently translated at 4.2% (2 of 47 strings)

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

Translated using Weblate (Somali)

Currently translated at 99.6% (637 of 639 strings)

Translated using Weblate (German)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (German)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Ukrainian)

Currently translated at 94.5% (604 of 639 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Hindi)

Currently translated at 86.0% (550 of 639 strings)

Translated using Weblate (Tamil)

Currently translated at 37.2% (238 of 639 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Basque)

Currently translated at 33.3% (16 of 48 strings)

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

Translated using Weblate (Hebrew)

Currently translated at 43.7% (21 of 48 strings)

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

Translated using Weblate (Italian)

Currently translated at 45.8% (22 of 48 strings)

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

Translated using Weblate (Indonesian)

Currently translated at 100.0% (48 of 48 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (48 of 48 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 13.6% (87 of 639 strings)

Translated using Weblate (Spanish)

Currently translated at 99.5% (636 of 639 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Romanian)

Currently translated at 6.2% (3 of 48 strings)

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

Translated using Weblate (Russian)

Currently translated at 10.4% (5 of 48 strings)

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

Translated using Weblate (Russian)

Currently translated at 10.4% (5 of 48 strings)

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

Translated using Weblate (Italian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 99.6% (637 of 639 strings)

Translated using Weblate (Russian)

Currently translated at 16.6% (8 of 48 strings)

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

Translated using Weblate (German)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Serbian)

Currently translated at 98.4% (629 of 639 strings)

Translated using Weblate (Japanese)

Currently translated at 99.3% (635 of 639 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Bengali (Bangladesh))

Currently translated at 61.9% (396 of 639 strings)

Translated using Weblate (Tamil)

Currently translated at 38.4% (246 of 639 strings)

Translated using Weblate (Malay)

Currently translated at 64.6% (413 of 639 strings)

Translated using Weblate (Bengali)

Currently translated at 87.9% (562 of 639 strings)

Translated using Weblate (Bengali)

Currently translated at 18.7% (9 of 48 strings)

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

Translated using Weblate (Serbian)

Currently translated at 10.4% (5 of 48 strings)

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

Translated using Weblate (Somali)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Latvian)

Currently translated at 4.1% (2 of 48 strings)

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

Translated using Weblate (Latvian)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Esperanto)

Currently translated at 86.6% (554 of 639 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (639 of 639 strings)

Translated using Weblate (Polish)

Currently translated at 52.0% (25 of 48 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
2021-04-19 14:29:17 +02:00
camo0112
fc4dd4524a Replaced if/else with switch 2021-04-19 10:52:52 +05:30
Stypox
c12ac64678 Merge pull request #6060 from mhmdanas/fix-black-high-volume-gesture-icon
Fix ic_volume_up and ic_volume_off being black
2021-04-15 16:17:22 +02:00
XiangRongLin
264044272a Merge pull request #6079 from TacoTheDank/dev
Update actions/setup-java to v2
2021-04-15 11:25:11 +02:00
TacoTheDank
c74162c586 Update actions/setup-java to v2 2021-04-14 11:13:05 -04:00
mhmdanas
fa6ff4e5eb Fix ic_volume_off being black 2021-04-13 20:10:36 +03:00
mhmdanas
01bbc50c68 Fix high volume gesture being black 2021-04-12 15:30:31 +03:00
TobiGr
e5457e5029 [Bandcamp] Add Radio stream segments
Display channel / creator / artist name when given
2021-04-11 23:14:23 +02:00
TobiGr
b025bdf0c7 Merge branch 'master' into dev 2021-04-11 21:12:02 +02:00
TobiGr
600e156c4c Release 0.21.1 (967) 2021-04-10 11:19:48 +02:00
TobiGr
13ba708adc Add changelog for NewPipe 0.21.2 2021-04-10 11:19:09 +02:00
mhmdanas
edf8bf2c9d Allow installation on external storage 2021-04-10 12:15:33 +03:00
XiangRongLin
c9e0bf4f02 Merge pull request #5963 from sauravrao637/IssueFix#5959
Fix display of channel details when it has no videos
2021-04-09 11:15:51 +02:00
camo0112
8f9eaa22e6 Fix display of channel details when it has no videos 2021-04-09 12:45:43 +05:30
Tom
3fcd580491 Add queue time (#6023)
* Add queue time
2021-04-08 10:41:41 +02:00
Davide Beatrici
cf3cc2e984 Disable media tunneling on cvt_mt5886_eu_1g (#6024)
* Disable media tunneling on cvt_mt5886_eu_1g

Follow-up to 4a9d21062a.
2021-04-08 05:21:57 +02:00
TobiGr
76322d8089 Update extractor 2021-04-07 10:37:25 +02:00
Robin
9e29d8d692 Merge pull request #6001 from TacoTheDank/appcompat-alertdialog
Migrate rest of AlertDialogs to AppCompat
2021-04-07 05:07:24 +02:00
wangear
5d5f8b4d51 Fix NullPointerException: Attempt to get length of null array in MainActivity (#5999)
* Fixed Unable to start activity ComponentInfo{org.schabi.newpipe/org.schabi.newpipe.MainActivity}: java.lang.NullPointerException: Attempt to get length of null array #5996
issue : #5996
changed :
- Checked null
2021-04-06 14:13:13 +02:00
Robin
4d74be881d Merge pull request #6004 from krlvm/list-stream-improvements
Stream item improvements
2021-04-06 10:24:51 +02:00
krlvm
425a312151 Fix list stream item details overflow when there's free space 2021-04-04 21:07:43 +03:00
krlvm
ea294e8e5d Add ellipsis to list stream item uploader 2021-04-04 20:52:44 +03:00
TacoTheDank
e75d0de135 Migrate rest of AlertDialogs to AppCompat 2021-04-04 10:26:38 -04:00
TobiGr
81cacbd917 Update translations
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Bengali (Bangladesh))

Currently translated at 62.2% (397 of 638 strings)

Translated using Weblate (Indonesian)

Currently translated at 97.8% (46 of 47 strings)

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

Translated using Weblate (Sardinian)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hungarian)

Currently translated at 84.4% (539 of 638 strings)

Translated using Weblate (Serbian)

Currently translated at 90.5% (578 of 638 strings)

Translated using Weblate (Russian)

Currently translated at 99.6% (636 of 638 strings)

Translated using Weblate (Japanese)

Currently translated at 98.9% (631 of 638 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Basque)

Currently translated at 99.8% (637 of 638 strings)

Translated using Weblate (Arabic)

Currently translated at 99.0% (632 of 638 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Finnish)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Bengali)

Currently translated at 87.7% (560 of 638 strings)

Translated using Weblate (Basque)

Currently translated at 31.9% (15 of 47 strings)

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

Translated using Weblate (Hebrew)

Currently translated at 42.5% (20 of 47 strings)

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

Translated using Weblate (Italian)

Currently translated at 44.6% (21 of 47 strings)

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

Translated using Weblate (Indonesian)

Currently translated at 100.0% (47 of 47 strings)

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

Translated using Weblate (Indonesian)

Currently translated at 100.0% (47 of 47 strings)

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

Translated using Weblate (Slovak)

Currently translated at 4.2% (2 of 47 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (47 of 47 strings)

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

Translated using Weblate (Vietnamese)

Currently translated at 99.6% (636 of 638 strings)
2021-04-04 15:14:31 +02:00
TobiGr
c0c78ae9bb Do not set reChaptache cookie when there is no cookie stored
In DownloaderImpl#getCookies(String url) the reChaptcha cookie is set if it is not null. For this reason, the cookie was set in every request.
2021-04-04 12:27:12 +02:00
Tobi
eb572e8d8f Merge pull request #5995 from XiangRongLin/fix_release
Fix release build by updating icon reference
2021-04-04 12:14:26 +02:00
XiangRongLin
781c499806 Fix release build by updating icon reference
Was changed in DayNight Theme, but only in debug resource and not release resource.
2021-04-04 09:22:42 +02:00
Tobi
a3d74ea444 Merge pull request #5927 from krlvm/daynight
Migrate to Android DayNight Theme, fix Light Theme, minor UI improvements
2021-04-03 20:29:24 +02:00
TobiGr
86a19aa037 Update extractor 2021-04-03 20:28:57 +02:00
krlvm
e484339cca Merge branch 'dev' into daynight 2021-04-03 00:08:26 +03:00
krlvm
6b5a1d0202 Fix Player controls colors on KitKat
AppCompatImageButton ignores "tint" theme attribute on API 19, therefore, they had to be specified directly, these attributes can be removed after the KitKat support is dropped.
2021-04-02 23:58:10 +03:00
krlvm
24247fd6a6 Fix quality & caption popups colors on KitKat 2021-04-02 23:46:14 +03:00
Stypox
2af20d5c40 Merge pull request #5974 from fynngodau/related-items
Rename related streams to related items
2021-04-02 20:34:39 +02:00
krlvm
dfb983c3cf Remove unused themes 2021-04-02 20:25:22 +03:00
PulkitGarg67
e1a6b69f9a Functionality to rename playlist name from playlist interface 2021-04-01 21:30:15 +02:00
Saurav Rao
8df935f5fe NullPointerException on screen rotation during exit fix (#5976) 2021-04-01 15:07:21 +02:00
Fynn Godau
04c5acd1d7 Use matching NPE version 2021-03-31 22:35:24 +02:00
Fynn Godau
c9766d25ef Rename related streams to related items 2021-03-31 22:33:22 +02:00
Tobi
aaea661b70 Merge pull request #5935 from Stypox/fix-notification-settings
Fix hidden icon to the left of notification actions in settings
2021-03-31 22:18:26 +02:00
krlvm
7061859112 Fix subscription picker colors on API 19 2021-03-31 20:17:58 +03:00
Tobi
66c24af3d2 Merge pull request #5969 from Redirion/tnnlwrkarnd
Disable media tunneling on Hi3798MV200
2021-03-31 19:02:00 +02:00
Stypox
083c315fd6 Merge pull request #5867 from TacoTheDank/rearrange-libraries
Rearrange libraries
2021-03-31 18:18:23 +02:00
Stypox
29b44a181b Merge pull request #5971 from sauravrao637/issueFix5968
App Crashes when no videos in last played and user interacts with playlistController  fix
2021-03-31 18:11:30 +02:00
krlvm
4fdc5ea646 Fix player controls colors on large screens 2021-03-31 19:07:27 +03:00
TacoTheDank
e17bfa029c Make the dependencies block much easier to read 2021-03-31 11:49:55 -04:00
TacoTheDank
279e4c2fa8 Update Android Studio 2021-03-31 11:44:43 -04:00
camo0112
856a39855e IssueFixed#5968 2021-03-31 20:48:02 +05:30
Robin
4a9d21062a Disabled tunneling on Hi3798MV200 2021-03-31 16:38:50 +02:00
krlvm
ad8f3aa6c9 Fix Kiosk Selector colors in Light theme 2021-03-31 16:49:28 +03:00
Stypox
43f85408be Merge pull request #5944 from Stypox/fix-search-menu
Fix some random NullPointerExceptions
2021-03-31 15:21:13 +02:00
Stypox
5739caaa5a Merge pull request #5856 from Redirion/exo213
Update to ExoPlayer 2.13.2
2021-03-31 14:29:16 +02:00
wangear
73cfa5499d Fix overlapping fonts and crash on tapping anywhere on video after long-pressing 'Popup' button (#5813)
* Overlapping fonts #5096
issue : #5096

* Overlapping fonts #5096
issue : #5096
changed :
- If additional textView is overlapped, only title view shows.

* Overlapping fonts #5096
issue : #5096
changed :
- Remove treeObserve and hiding logic.
- RelativeLayout -> ConstraintLayout.
- layout size fixed -> wrap_content.
- if text size is bigger, layout height bigger too.

* Overlapping fonts #5096
issue : #5096
changed :
- remove unusable variable

* Crash on tapping anywhere on video after long-pressing 'Popup' button #5804
issue : #5804
changed :
- checked null
- fixed NullPointerException.
2021-03-31 10:10:14 +02:00
Tobi
8f0323fb8d Merge pull request #5360 from XiangRongLin/instrumented_tests
Run Instrumented tests in CI pipeline
2021-03-31 10:08:05 +02:00
Robin
83d16932a4 Update to ExoPlayer 2.13.2 2021-03-31 10:05:44 +02:00
Stypox
84e3f6ca18 Merge pull request #5881 from TacoTheDank/about_revamp
About package internal revamp
2021-03-31 09:56:12 +02:00
Stypox
5d6a568308 Fix random NullPointerException in NotificationActionsPreference 2021-03-31 09:12:47 +02:00
Stypox
3e8cba745a Fix random NullPointerException in PlaylistFragment 2021-03-31 09:12:47 +02:00
Stypox
be4d12789d Fix random NullPointerException in SearchFragment 2021-03-31 09:12:45 +02:00
Tobi
00fbfb5a56 Merge pull request #5866 from TacoTheDank/update-gradle-wrapper
Update gradle wrapper
2021-03-30 10:36:48 +02:00
TacoTheDank
27d0f7f277 Convert AboutFragment clickListeners to a function extension 2021-03-29 19:07:12 -04:00
TacoTheDank
fb1aab2a49 Converted the about package to Kotlin 2021-03-29 19:06:32 -04:00
TacoTheDank
cc72fa4793 Renamed things pertaining to the about package 2021-03-29 19:05:57 -04:00
krlvm
e9c60eff85 Cleanup 2021-03-30 00:03:30 +03:00
krlvm
5b7c87ee79 Fix FilePicker crash 2021-03-29 23:15:02 +03:00
krlvm
c8b4685fc9 Fix ErrorActivity colors 2021-03-29 22:48:28 +03:00
krlvm
561d5675f7 Fix Downloader colors 2021-03-29 21:35:00 +03:00
krlvm
c906cb57ee Fix colors in setting fragments, cleanup 2021-03-29 21:19:17 +03:00
Tom
84de865daf Allow the user to pause while a video is buffering (#5929)
Fix pause while buffering
Use getPlayWhenReady wrapper everywhere playWhenReady is checked
Remove duplicate `playPause()` code
2021-03-29 18:00:00 +02:00
krlvm
24a264d78c Fix Volume Off gesture overlay 2021-03-29 16:10:56 +03:00
krlvm
62c3c7ac21 Fix Toolbar Search input pointer and cursor color 2021-03-29 14:47:46 +03:00
krlvm
a7d6ad5162 Fix Subscription Picker's Toolbar colors 2021-03-29 14:44:29 +03:00
XiangRongLin
0dbb212d13 Add instrumented tests to CI workflow 2021-03-29 10:18:12 +02:00
krlvm
8002cc2771 Refactor Styles, disable colored navigation bar when we can't be sure that navigation bar buttons will have enough contrast (API < 27) 2021-03-28 22:51:44 +03:00
krlvm
8d64eac853 Red Splash Screen for API < 23 2021-03-28 22:35:03 +03:00
krlvm
80d1c5b9f5 Fix Repeat Button color in Player 2021-03-28 22:04:54 +03:00
krlvm
7175f27da8 Fix File Picker Toolbar colors 2021-03-28 21:49:41 +03:00
krlvm
d6f9aace8c Fix White text in Play Queue in Light Theme, remove shade 2021-03-28 21:38:15 +03:00
krlvm
aeccb5b472 Fix Toolbar colors in Play Queue 2021-03-28 20:44:20 +03:00
krlvm
09a7b7718a Fix text color in playlist overlay 2021-03-28 20:43:52 +03:00
TotalCaesar659
ef2c76efaf Update URLs to HTTPS (#5942) 2021-03-28 17:00:14 +00:00
krlvm
69793049c3 Fix subscription selector V overlay color, add ripples 2021-03-28 19:50:45 +03:00
krlvm
67942a906a Fix colors in PeerTube Settings Fragment 2021-03-28 19:36:07 +03:00
Mohammed Anas
6a9cae3de8 Add channel details option to long-press menu (#5851)
Add dialog item to open channel details
Use `List` as type of `entries`
Put channel details item last
Only show channel option when channel is present
2021-03-28 18:32:40 +02:00
krlvm
0afdac5683 Fix Light Player Popups in Dark Theme, make Player Controls Overlay always Dark 2021-03-28 18:48:51 +03:00
krlvm
609d09a8e2 Remove unused SuggestionListAdapter.resolveResourceIdFromAttr 2021-03-28 15:12:59 +03:00
krlvm
01e8654fbd Fix Search colors on KitKat 2021-03-28 14:55:54 +03:00
krlvm
f477ab84d5 Fix tab highlight opacity on KitKat 2021-03-28 14:43:11 +03:00
Stypox
9f59d4baa3 Add note about "Fixes" prefix to auto-link issues 2021-03-28 13:41:33 +02:00
TiA4f8R
2e9a1d958c Change the old NewPipe domain to the new domain
Change in READMEs newpipe.schabi.org to newpipe.net for F-Droid custom repository installation link
2021-03-28 13:23:25 +02:00
krlvm
e4f2c58933 Set Search text cursor using accent color instead of drawable 2021-03-28 12:24:29 +03:00
krlvm
a9e8b3e06b Remove ThemeHelper.resolveResourceIdFromAttr 2021-03-28 12:23:52 +03:00
Stypox
daa5b7827a Merge pull request #5879 from TacoTheDank/clean-oncreatepreferences
Clean up unnecessary onCreate in settings fragments
2021-03-28 10:48:10 +02:00
Stypox
dd00152485 Fix hidden icon to the left of notification actions in settings 2021-03-28 10:36:47 +02:00
krlvm
df52a6ea6b Update app/src/main/java/org/schabi/newpipe/local/subscription/item/FeedImportExportItem.kt
Co-authored-by: Stypox <stypox@pm.me>
2021-03-28 00:15:22 +03:00
krlvm
7d5197e6fd Fix Dark elements in Dark Theme 2021-03-27 19:15:53 +03:00
krlvm
81e08d0cc4 Show ripples on tab bar with the same color as the toolbar 2021-03-27 18:33:28 +03:00
krlvm
32a159d48f Fix error in tests 2021-03-27 18:11:39 +03:00
krlvm
44f3a7484d Follow system theme by default 2021-03-27 17:53:07 +03:00
krlvm
38eb8e40ea Colored Navigation Bar in Splash Screen 2021-03-27 17:51:02 +03:00
krlvm
fd14c8cdce Fix Dark elements in Light Theme 2021-03-27 17:46:05 +03:00
sherlockbeard
eb6968fb3f Merge pull request #1 from TeamNewPipe/dev
uptodate
2021-03-27 19:13:18 +05:30
iamthesenate1
216da63276 Update README.ro.md (#5921)
Delete old warning about F-Droid not being up to date
2021-03-27 13:21:41 +00:00
Stypox
08d8f2564a Merge pull request #5882 from TacoTheDank/fragmentcontainerview
Replace FrameLayout with FragmentContainerView where applicable
2021-03-27 08:31:32 +01:00
krlvm
1d51002173 Fix Dark toolbar text in Light theme 2021-03-27 01:28:28 +03:00
krlvm
610d0b272e Make Navigation Bar buttons color black in Light Theme 2021-03-26 23:47:46 +03:00
krlvm
b3e2418b93 Migrate to DayNight Theme 2021-03-26 23:08:25 +03:00
Tobi
464d0e50b0 Merge pull request #5871 from Stypox/release_0.21.0
Release 0.21.0
2021-03-26 08:31:59 +01:00
Stypox
7411c54f9e Release 0.21.0 (966) 2021-03-25 23:02:14 +01:00
TobiGr
7c74deb700 Update translations
Translated using Weblate (German)
Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (French)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Croatian)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (638 of 638 strings)

Translated using Weblate (German)

Currently translated at 48.9% (23 of 47 strings)

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

Translated using Weblate (Hebrew)

Currently translated at 40.4% (19 of 47 strings)

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

Translated using Weblate (Arabic)

Currently translated at 68.0% (32 of 47 strings)

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

Translated using Weblate (Somali)

Currently translated at 100.0% (638 of 638 strings)
2021-03-25 22:15:44 +01:00
TobiGr
e63165e80f Update extractor version to 0.21.0 2021-03-25 22:13:55 +01:00
XiangRongLin
e2bc9dfacd Merge pull request #5906 from TeamNewPipe/sonar
Disable sonar job
2021-03-25 19:39:21 +01:00
Stypox
48789dbab7 Add changelog for 0.21.0 (966) 2021-03-25 10:41:15 +01:00
TobiGr
196f0f0475 Update translations
Translated using Weblate (French)
Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Indonesian)

Currently translated at 23.9% (11 of 46 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/
2021-03-25 10:29:55 +01:00
Stypox
085b59f2e1 Merge pull request #5907 from TeamNewPipe/B0pol-patch-1
Update strings.xml
2021-03-25 08:54:09 +01:00
Stypox
2fdc2664ff Merge pull request #5904 from TeamNewPipe/weblate-update
Update weblate and use BCP47 language codes
2021-03-25 08:13:03 +01:00
bopol
a33a5c5527 Update strings.xml
fix typo
2021-03-24 19:44:25 +01:00
Tobi
a7c0f37904 Disable sonar job
For some reason, sonar started to analyse very old PRs. This comments out the sonar job until further investigation is done.
2021-03-24 19:10:00 +01:00
TobiGr
4889ab3462 Use BCP47 language codes for fastlane
Closes #5750
2021-03-24 18:16:40 +01:00
TobiGr
3923deeaad Update translations
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 (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 (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 (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 (Italian)

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 (Slovenian)

Currently translated at 77.2% (489 of 633 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Polish)

Currently translated at 99.8% (632 of 633 strings)

Translated using Weblate (Portuguese (Brazil))

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 (Chinese (Traditional))

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Sardinian)

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 (Santali)

Currently translated at 12.9% (82 of 633 strings)

Translated using Weblate (English (United Kingdom))

Currently translated at 13.5% (86 of 633 strings)

Translated using Weblate (Somali)

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 (French)

Currently translated at 100.0% (633 of 633 strings)

Translated using Weblate (Japanese)

Currently translated at 99.5% (630 of 633 strings)

Translated using Weblate (Korean)

Currently translated at 82.9% (525 of 633 strings)

Translated using Weblate (Italian)

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 (Esperanto)

Currently translated at 87.0% (551 of 633 strings)

Translated using Weblate (Arabic)

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 (Catalan)

Currently translated at 97.9% (620 of 633 strings)

Translated using Weblate (Dutch (Belgium))

Currently translated at 97.1% (615 of 633 strings)

Translated using Weblate (Malayalam)

Currently translated at 89.4% (566 of 633 strings)

Translated using Weblate (German)

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 (Dutch)

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 (Greek)

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 (Catalan)

Currently translated at 100.0% (633 of 633 strings)
2021-03-24 18:09:52 +01:00
Tobi
80d6fff0ca Merge pull request #5649 from FireMasterK/ff-ua
Change UA to privacy.resistFingerprinting.
2021-03-24 17:59:17 +01:00
Tobi
fe43b4da39 Merge pull request #5896 from Stypox/fix-error-panel
Fix error panel created in onViewCreated() but disposed in onDestroy()
2021-03-24 11:32:07 +01:00
Tobi
67afd05e22 Merge pull request #5899 from Stypox/fix-settings-theme
Fix settings switches are not red anymore
2021-03-24 11:24:27 +01:00
Stypox
0fcaf20221 Fix settings switches are not red anymore
Reverts part of 731c65cd59
2021-03-24 10:16:24 +01:00
Stypox
0277b94b37 Fix error panel created in onViewCreated() but disposed in onDestroy() 2021-03-24 09:27:17 +01:00
TacoTheDank
6a9d5fd4cc Replace FrameLayout with FragmentContainerView where applicable 2021-03-22 17:46:06 -04:00
TacoTheDank
a83106f717 Clean up unnecessary onCreate in settings fragments 2021-03-22 16:38:36 -04:00
TacoTheDank
4c2a6e346d Update gradle wrapper 2021-03-20 21:48:43 -04:00
TacoTheDank
cae63a7ada Add gradle wrapper validation action 2021-03-20 21:47:19 -04:00
Stypox
c7efa8c4f1 Merge pull request #5519 from WoodyMats/release_0.20.9
Add toast to inform the user that download started.
2021-03-20 22:19:13 +01:00
Matskidis Giannis
bf6645e829 Show Toast when download starts
Add toast to inform the user that download started and add the right string in values.
2021-03-20 22:18:01 +01:00
XiangRongLin
ea1b42510c Merge pull request #5844 from TeamNewPipe/sonar_workflow
Sonar workflow
2021-03-20 18:22:28 +01:00
XiangRongLin
72818ffa42 Add sonar plugin and github actions file for sonar analysis
Copied from sonarcloud.io setup page with minor adjustments. Adjusted branch to 'dev' and updated versions
2021-03-20 13:58:17 +01:00
XiangRongLin
985308bf0c Set the whole configDir instead of only configFile for checkstyle 2021-03-20 13:58:17 +01:00
Stypox
86381696f4 Merge pull request #5457 from Redirion/exo123
Update to ExoPlayer 2.12.3
2021-03-18 18:59:56 +01:00
Robin
08b960cc6e Merge pull request #3632 from B0pol/device_theme
Add settings to match device's theme (dark & black)
2021-03-18 15:11:40 +01:00
Stypox
731c65cd59 Refactor ThemeHelper 2021-03-18 12:39:29 +01:00
bopol
a85e8a29ff Use a list for night themes
Also remove unused strings
2021-03-18 12:12:04 +01:00
bopol
22b2f52f8c Use a switch preference to follow device theme 2021-03-18 11:23:55 +01:00
bopol
a713ce2126 Add settings for device theme (dark & black)
fix bugs related to isLightThemeSelected not handling device themes
such as license having dark background when it should be white
2021-03-18 11:17:06 +01:00
Stypox
4fac3cf304 Merge pull request #5230 from Isira-Seneviratne/Update_prettytime
Update prettytime.
2021-03-18 08:59:40 +01:00
Isira Seneviratne
74e20a8c52 Use PrettyTime's new formatUnrounded(OffsetDateTime) method.
Also change the types of the relevant variables from Calendar to OffsetDateTime.
2021-03-18 06:38:12 +05:30
Isira Seneviratne
8cf4ba25f5 Update prettytime to 5.0.0.Final. 2021-03-18 06:38:12 +05:30
Stypox
feb65cf8f3 Merge pull request #5792 from TeamNewPipe/resize_mode
Fix last resize mode not being restored correctly
2021-03-17 09:07:44 +01:00
Stypox
93592d23f4 Merge pull request #5820 from TeamNewPipe/mini_player_title
Fix empty stream title in minimized player
2021-03-17 08:56:50 +01:00
Jeremiah Dicharry
338a4837bc Add Spanish README.md (#5829) 2021-03-16 23:38:10 +01:00
mhmdanas
8e19fe535c Re-add badgs to localized README's 2021-03-16 23:35:35 +01:00
TobiGr
2aeccc0c5c Translated using Weblate (Bengali (Bangladesh))
Currently translated at 62.8% (396 of 630 strings)

Translated using Weblate (Bengali)

Currently translated at 86.5% (545 of 630 strings)

Translated using Weblate (Bengali)

Currently translated at 19.5% (9 of 46 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bn/
2021-03-16 09:23:48 +01:00
TobiGr
8db1234a59 Update translations
Translated using Weblate (Chinese (Simplified))
Currently translated at 84.7% (39 of 46 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 84.7% (39 of 46 strings)

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

Translated using Weblate (Indonesian)

Currently translated at 99.0% (624 of 630 strings)

Translated using Weblate (Odia)

Currently translated at 0.0% (0 of 46 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (French)

Currently translated at 99.6% (628 of 630 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Polish)

Currently translated at 99.6% (628 of 630 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Estonian)

Currently translated at 72.6% (458 of 630 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Danish)

Currently translated at 63.8% (402 of 630 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 86.9% (40 of 46 strings)

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

Translated using Weblate (Polish)

Currently translated at 99.6% (628 of 630 strings)

Translated using Weblate (Polish)

Currently translated at 99.6% (628 of 630 strings)

Translated using Weblate (German)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (630 of 630 strings)

Translated using Weblate (Estonian)

Currently translated at 78.8% (497 of 630 strings)

Translated using Weblate (Malay)

Currently translated at 65.7% (414 of 630 strings)

Translated using Weblate (Indonesian)

Currently translated at 21.7% (10 of 46 strings)

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

Translated using Weblate (Portuguese (Portugal))

Currently translated at 56.5% (26 of 46 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_PT/
2021-03-16 09:23:48 +01:00
Tobi
80fb351ad3 Merge pull request #5830 from mhmdanas/remove-outdated-fdroid-version-note
Re-add F-Droid badge and remove outdated note
2021-03-15 08:43:51 +01:00
mhmdanas
523f85d4d1 Uncomment F-Droid badge and remove outdated note 2021-03-15 08:21:55 +03:00
Tobi
bfff500915 Merge pull request #5818 from TeamNewPipe/thumbnail_size
[background player] Fix very small thumbnails
2021-03-14 21:12:52 +01:00
Tobi
3e83bb0d95 Merge pull request #3741 from fynngodau/bandcamp
Bandcamp support
2021-03-14 20:00:40 +01:00
TobiGr
bdaee25e61 Use latest extractor version 2021-03-14 17:52:15 +01:00
TobiGr
71d3227791 Fix bottom controls being out of the screen
This was caused by too large end screen thumbnails enlarging the whole palyer. Fixed by scaling the thumbnail.

Ensure that the player does not use the whole screen height in detail fragment to keep the additional content like title, comments, etc. available.
2021-03-14 17:52:15 +01:00
TobiGr
a28aa6a8c4 Add Bandcamp to supported services section in README 2021-03-14 17:52:15 +01:00
TobiGr
292e103073 Ignore ContentNotSupportedException caused by Bandcamp fan pages 2021-03-14 17:52:15 +01:00
Fynn Godau
39a3f03e79 Bandcamp support 2021-03-14 17:52:15 +01:00
Tobi
404a6c12a6 Merge pull request #5148 from Stypox/error-panel
Show improved error panel instead of annoying snackbar or crashing
2021-03-14 17:41:27 +01:00
Tobi
8271409afe Merge pull request #5562 from mbarashkov/hardware_keyboard_space_shortcut_v2
Implement "pause/play" toggle on hardware keyboard space button.
2021-03-14 13:08:44 +01:00
TobiGr
985f659026 Fix empty stream title in minimized player 2021-03-13 20:12:57 +01:00
TobiGr
7c36cbffd0 [background player] Fix very small thumbnails 2021-03-13 18:17:30 +01:00
Stypox
285ea4e3fd Better handle url not supported in RouterActivity
Make sure the url not supported dialog is only shown when the url is really not supported, not on any ExtractionException
2021-03-12 23:21:54 +01:00
Stypox
8ce18647f1 Improve email subject for error reporting 2021-03-12 23:21:54 +01:00
Stypox
aee0478235 FeedFragment: fix view binding and show loading indicator correctly 2021-03-12 23:21:54 +01:00
Stypox
c3cf1d81c2 Fix error panel and search fragment state saving 2021-03-12 23:21:54 +01:00
Stypox
c2b6cec37d Hide meta info panel in search when starting a new search 2021-03-12 23:21:54 +01:00
Stypox
b265cabc22 Fix views not scrollable when showing error panel 2021-03-12 23:21:54 +01:00
Stypox
463dd8ea74 Completely remove return activity, now outdated 2021-03-12 23:21:54 +01:00
Stypox
0263125e11 Fix tests 2021-03-12 23:21:54 +01:00
Stypox
1fc8e4c148 Optimize imports and solve checkstyle issues 2021-03-12 23:21:53 +01:00
Stypox
c43bca6007 Add report/solve-recaptcha button in error panel
It will be shown even when nothing could be loaded not due to a network error, and the user can choose to ignore or report it.

Also improve error reporting arguments
Also completely refactor error activity
Also improve some code here and there
2021-03-12 23:21:49 +01:00
Tobi
4c31636d19 Merge pull request #5795 from TeamNewPipe/ci-only-on-master
Fix: CI only on dev
2021-03-09 11:50:47 +01:00
Poolitzer
3a61ab59f2 adding master to push trigger
Co-authored-by: Tobi <TobiGr@users.noreply.github.com>
2021-03-09 11:21:40 +01:00
Poolitzer
1db3c57ef0 change master to dev 2021-03-08 13:19:18 +01:00
Poolitzer
eeaf3496d5 Fix: CI only on master 2021-03-08 13:15:22 +01:00
Tobi
70f421b787 Add links to Matrix and IRC chat when opening new issues (#5764) 2021-03-08 09:43:05 +00:00
TobiGr
86fa629591 Fix last resize mode not being restored correctly
I think the settings key "last_resize_mode" is ambiguous. While it is used to get the recently used resize mode, someone thought while working on the resize mode switcher, that the old (to be replaced) resize mode should be stored. 
Fixes #5613
2021-03-08 09:46:33 +01:00
Stypox
553b80164b Move all error-related classes into error package 2021-03-07 17:49:28 +01:00
TobiGr
8518933ca8 Update translations
Translated using Weblate (Russian)
Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (French)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (624 of 624 strings)
2021-03-07 16:53:38 +01:00
Tobi
ea53b7d4ad Merge pull request #5385 from TiA4f8R/soundcloud-error-improvements
Better error messages for SoundCloud and YouTube unavailable contents
2021-03-07 16:35:56 +01:00
TiA4f8R
37a96d063f Add different error messages for SoundCloud and YouTube unavailable contents
Add new error strings for the six new exceptions created in the extractor and catch these exceptions. Extractor is, of course, updated with this PR.
2021-03-07 15:33:25 +01:00
Tobi
b360920472 Merge pull request #5772 from iamthesenate1/dev
Add spcace after the comma, before Romanian in Readme.md.
2021-03-06 12:13:38 +01:00
iamthesenate1
9e1744f904 Add spcace after the comma, before Rommanian. 2021-03-06 12:20:01 +02:00
TobiGr
85a468bda9 Update translations: app
Translated using Weblate (French)
Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Slovenian)

Currently translated at 75.1% (469 of 624 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Albanian)

Currently translated at 98.2% (613 of 624 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 96.4% (602 of 624 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Kurdish (Northern))

Currently translated at 100.0% (624 of 624 strings)
2021-03-05 22:45:00 +01:00
Bopol
7955ef8105 Update translations: changelog
Translated using Weblate (French)
Currently translated at 69.5% (32 of 46 strings)

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

Translated using Weblate (French)

Currently translated at 69.5% (32 of 46 strings)

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

Translated using Weblate (Greek)

Currently translated at 34.7% (16 of 46 strings)

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

Translated using Weblate (Hebrew)

Currently translated at 36.9% (17 of 46 strings)

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

Translated using Weblate (Arabic)

Currently translated at 67.3% (31 of 46 strings)

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

Translated using Weblate (French)

Currently translated at 69.5% (32 of 46 strings)

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

Translated using Weblate (French)

Currently translated at 69.5% (32 of 46 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
2021-03-05 22:43:49 +01:00
TobiGr
80cd41893b Release 0.20.11 (965) 2021-03-05 15:49:57 +01:00
TobiGr
9b09f2ad71 Add changelog for 0.20.11 (965) 2021-03-05 15:49:37 +01:00
TobiGr
c45d9559c4 Update extractor version to 0.20.11 2021-03-05 15:38:57 +01:00
Tobi
f0d978b4c6 Merge pull request #5718 from Isira-Seneviratne/Fix_channel_group_crash
Fix crash when reordering channel groups.
2021-03-04 22:07:02 +01:00
Tobi
8734f4bbe3 Merge pull request #5721 from mhmdanas/add-northern-kurdish-language
Add Northern Kurdish to language selector
2021-03-04 19:15:04 +01:00
TobiGr
9f03280075 Update translations
Translated using Weblate (German)
Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Bengali)

Currently translated at 84.2% (526 of 624 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Hungarian)

Currently translated at 68.1% (425 of 624 strings)

Translated using Weblate (Lithuanian)

Currently translated at 51.1% (319 of 624 strings)

Translated using Weblate (Lithuanian)

Currently translated at 51.1% (319 of 624 strings)

Added translation using Weblate (Arabic (Najdi))

Added translation using Weblate (Kurdish (Northern))

Translated using Weblate (Spanish)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Hungarian)

Currently translated at 68.1% (425 of 624 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Lithuanian)

Currently translated at 51.2% (320 of 624 strings)

Translated using Weblate (Kurdish)

Currently translated at 97.7% (610 of 624 strings)

Translated using Weblate (Catalan)

Currently translated at 99.5% (621 of 624 strings)

Translated using Weblate (Latvian)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Kurdish (Northern))

Currently translated at 63.1% (394 of 624 strings)

Added translation using Weblate (Sinhala)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Filipino)

Currently translated at 12.5% (78 of 624 strings)

Translated using Weblate (Kurdish (Northern))

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Sinhala)

Currently translated at 4.8% (30 of 624 strings)
2021-03-04 16:54:24 +01:00
mhmdanas
427ac4ef35 Fix indentation 2021-02-28 18:15:48 +03:00
mhmdanas
d9c4495e8e Add Northern Kurdish to language selector 2021-02-28 18:10:34 +03:00
Isira Seneviratne
d09070b61d Fix crash when reordering channel groups. 2021-02-28 14:48:06 +05:30
Tobi
d6855a6b50 Merge pull request #5672 from Stypox/crash-button
Add crash button to debug settings
2021-02-22 22:13:59 +01:00
Stypox
9be970a4c4 Add crash button to debug settings 2021-02-22 21:59:04 +01:00
FireMasterK
b236bb407b Change UA to privacy.resistFingerprinting. 2021-02-20 16:49:37 +05:30
Stypox
8978187c64 Improve code style and fix some warnings
Removed a textTrack null check on a now- NonNull method
Added a error type switch case (TIMEOUT)
2021-02-16 16:54:44 +01:00
Robin
eba0b07782 Update to ExoPlayer 2.12.3 2021-02-16 16:42:51 +01:00
Robin
1f77e00df4 Merge pull request #5581 from emsoucy/dev
Update Gradle plugin to version 4.1.2
2021-02-16 09:16:28 +01:00
Robin
41c70cc85d Merge pull request #5589 from TeamNewPipe/okhttp
Update okhttp from 3.12.12 to 3.12.13
2021-02-16 09:13:14 +01:00
XiangRongLin
5bc0a8fba1 Merge pull request #5554 from karkaminski/enhancement/remove_resizing_text
removed resizing text from popup player
2021-02-15 16:15:27 +01:00
Tobi
687020e595 Merge pull request #5543 from mhmdanas/remove-empty-string-concat
Remove unnecessary concat with empty string
2021-02-14 23:50:08 +01:00
Tobi
8c75b96c38 Merge pull request #5544 from mhmdanas/remove-content-uri
Remove License#contentUri
2021-02-14 23:49:07 +01:00
TobiGr
6f7a01bc53 Update okhttp from 3.12.12 to 3.12.13
Changelog https://square.github.io/okhttp/changelog_3x/#version-31213
2021-02-14 23:42:58 +01:00
Tobi
5383a0af0b Merge pull request #5456 from TeamNewPipe/release_0.20.9
Release 0.20.10
2021-02-14 22:24:48 +01:00
TobiGr
3e50466024 Release 0.20.10 (964) 2021-02-14 22:12:54 +01:00
TobiGr
45b703daf6 Update extractor version 2021-02-14 22:12:47 +01:00
TobiGr
f1e1f6424a Update translations
Added translation using Weblate (Swahili)
Added translation using Weblate (Sicilian)

Translated using Weblate (Greek)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Santali)

Currently translated at 12.8% (80 of 624 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Bengali (Bangladesh))

Currently translated at 63.6% (397 of 624 strings)
2021-02-14 22:04:24 +01:00
TobiGr
460f031cef Merge remote-tracking branch 'origin/dev' into dev 2021-02-14 21:51:16 +01:00
TobiGr
25aaf4e48b Merge master into dev 2021-02-14 21:50:38 +01:00
Tobi
a26baa3061 Merge pull request #5563 from Stypox/fix-tablayout-visibility
Fix tab layout visibility with age restricted videos
2021-02-14 21:32:10 +01:00
Stypox
138513d790 Hide tab layout view pager on error 2021-02-14 13:40:17 +01:00
Stypox
1e5dc01825 Fix tab layout visibility with age restricted videos
Add comments
2021-02-14 13:25:39 +01:00
Ethan Soucy
8c4b1b967d Update Gradle plugin to version 4.1.2 2021-02-13 16:22:59 -05:00
Tobi
7faa107547 Merge pull request #5564 from B0pol/hotfix
Release 0.20.9
2021-02-12 22:42:02 +01:00
bopol
85ccc2384f Release 0.20.9 (963) 2021-02-12 22:33:03 +01:00
karol
469a5b1974 removed unused string key 2021-02-12 16:10:03 +01:00
Mikhail Barashkov
80161c36c6 Apply the space button shortcut to large screens as well 2021-02-12 12:17:46 +03:00
Mikhail Barashkov
aea912f499 Implement "pause/play" toggle on hardware keyboard space button. 2021-02-12 11:58:15 +03:00
karol
156d7139fa removed resizig text from popup player, as requested in #5514 2021-02-11 11:20:27 +01:00
mhmdanas
0ad3d0247d Trigger CI 2021-02-10 08:06:14 +03:00
mhmdanas
092f9170cc Remove License#contentUri
It seems to not be used anywhere.
2021-02-08 19:54:30 +03:00
mhmdanas
b820e9a888 Remove unnecessary concat with empty string 2021-02-08 19:40:20 +03:00
TobiGr
b9cd55188e Update translation via Weblate
Translated using Weblate (Japanese)
Currently translated at 97.7% (609 of 623 strings)

Translated using Weblate (Japanese)

Currently translated at 97.7% (609 of 623 strings)

Translated using Weblate (Japanese)

Currently translated at 97.7% (609 of 623 strings)

Translated using Weblate (Japanese)

Currently translated at 97.7% (609 of 623 strings)

Translated using Weblate (Japanese)

Currently translated at 97.7% (609 of 623 strings)

Translated using Weblate (Japanese)

Currently translated at 97.7% (609 of 623 strings)

Translated using Weblate (Japanese)

Currently translated at 98.0% (611 of 623 strings)

Translated using Weblate (Japanese)

Currently translated at 98.0% (611 of 623 strings)

Translated using Weblate (Japanese)

Currently translated at 98.5% (614 of 623 strings)

Translated using Weblate (Japanese)

Currently translated at 98.5% (614 of 623 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (623 of 623 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (623 of 623 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (623 of 623 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (623 of 623 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (623 of 623 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (623 of 623 strings)

Translated using Weblate (Turkish)

Currently translated at 30.2% (13 of 43 strings)

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

Translated using Weblate (Hebrew)

Currently translated at 34.8% (15 of 43 strings)

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

Translated using Weblate (Somali)

Currently translated at 100.0% (623 of 623 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (623 of 623 strings)

Translated using Weblate (German)

Currently translated at 100.0% (623 of 623 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (623 of 623 strings)

Translated using Weblate (Polish)

Currently translated at 99.5% (620 of 623 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (623 of 623 strings)

Translated using Weblate (Urdu)

Currently translated at 89.2% (556 of 623 strings)

Translated using Weblate (Hebrew)

Currently translated at 36.3% (16 of 44 strings)

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

Translated using Weblate (Italian)

Currently translated at 47.7% (21 of 44 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 86.3% (38 of 44 strings)

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

Translated using Weblate (Somali)

Currently translated at 100.0% (623 of 623 strings)

Translated using Weblate (Somali)

Currently translated at 4.5% (2 of 44 strings)

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

Translated using Weblate (Turkish)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (German)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (French)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Basque)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Romanian)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Czech)

Currently translated at 99.5% (621 of 624 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Ukrainian)

Currently translated at 91.3% (570 of 624 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Finnish)

Currently translated at 98.7% (616 of 624 strings)

Translated using Weblate (Azerbaijani)

Currently translated at 46.6% (291 of 624 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 96.4% (602 of 624 strings)

Translated using Weblate (Sardinian)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Greek)

Currently translated at 34.0% (15 of 44 strings)

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

Translated using Weblate (Basque)

Currently translated at 31.8% (14 of 44 strings)

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

Translated using Weblate (Ukrainian)

Currently translated at 2.2% (1 of 44 strings)

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

Translated using Weblate (Hebrew)

Currently translated at 36.3% (16 of 44 strings)

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

Translated using Weblate (Arabic)

Currently translated at 68.1% (30 of 44 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 81.8% (36 of 44 strings)

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

Translated using Weblate (Norwegian Bokmål)

Currently translated at 20.4% (9 of 44 strings)

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

Translated using Weblate (Somali)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Hindi)

Currently translated at 82.3% (514 of 624 strings)

Translated using Weblate (Hungarian)

Currently translated at 68.1% (425 of 624 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Japanese)

Currently translated at 98.8% (617 of 624 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 99.5% (621 of 624 strings)

Translated using Weblate (Vietnamese)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Croatian)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Vietnamese)

Currently translated at 47.7% (21 of 44 strings)

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

Translated using Weblate (Somali)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Finnish)

Currently translated at 98.8% (617 of 624 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Japanese)

Currently translated at 15.9% (7 of 44 strings)

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

Translated using Weblate (Japanese)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Bengali (Bangladesh))

Currently translated at 63.6% (397 of 624 strings)

Translated using Weblate (Finnish)

Currently translated at 99.6% (622 of 624 strings)

Translated using Weblate (Finnish)

Currently translated at 99.6% (622 of 624 strings)

Translated using Weblate (Bengali)

Currently translated at 80.2% (501 of 624 strings)

Translated using Weblate (Japanese)

Currently translated at 15.9% (7 of 44 strings)

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

Translated using Weblate (Kurdish (Central))

Currently translated at 2.2% (1 of 44 strings)

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

Translated using Weblate (Santali)

Currently translated at 12.6% (79 of 624 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (624 of 624 strings)

Added translation using Weblate (Latvian)

Translated using Weblate (Greek)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (624 of 624 strings)

Translated using Weblate (Latvian)

Currently translated at 4.5% (2 of 44 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/lv/
2021-02-03 22:14:55 +01:00
TobiGr
ebd45dfae3 Update extractor version
Fixes YouTube chapter / segments extraction
2021-02-03 22:10:00 +01:00
Tobi
40195b2d98 Merge pull request #5464 from Stypox/fix-channel-subscribe-button
Fix channel subscribe button causing crash on closing
2021-02-03 09:24:26 +01:00
Tobi
0b0305eaed Merge pull request #5474 from XiangRongLin/expires_header
Respect expires header when checking for new versions
2021-01-31 10:51:50 +01:00
Stypox
950997ea66 Merge pull request #5466 from TiA4f8R/share-improvements
Fix some things in ShareUtils file and do little improvements
2021-01-31 09:35:00 +01:00
TobiGr
be4beb41b6 update extractor version 2021-01-30 23:30:58 +01:00
TiA4f8R
c55f87c962 Fix some things in ShareUtils.java and do little improvements
Fix a bug in which NewPipe doesn't fall back to Google Play Store web url in InstallApp
Fusion getDefaultBrowserPackageName and getDefaultAppPackageName, rename openInDefaultApp to openAppChooser
Update some JavaDocs
2021-01-30 15:55:44 +01:00
XiangRongLin
bdc85b435c Add comments explaining the expiry field
Co-authored-by: Tobias Groza <TobiGr@users.noreply.github.com>
2021-01-30 14:24:25 +01:00
XiangRongLin
522d6d8b01 Re-add APK testing section to PR template (#5465)
Because normal users don't know that the CI process produces an APK and where it is.
2021-01-30 10:18:58 +00:00
XiangRongLin
e98838ad7e Invert usage of manager.isExpired()
When it's expired it means, that the app should get the data. Meaning it should not abort prematurely by returning null.

Co-authored-by: Tobias Groza <TobiGr@users.noreply.github.com>
2021-01-30 09:32:17 +01:00
Stypox
3829565ea0 Merge pull request #5503 from Stypox/settings-default
Set all default settings at the beginning
2021-01-29 23:27:47 +01:00
iamthesenate1
c16a8dacd0 Add README.ro.md (#5501)
* Add files via upload

* Add files via upload

* Update README.ro.md

* Add Romanian README link

* Add Romanian README link

* Update README.ja.md

* Add Romanian README link

* Add Romanian README link

* Add Romanian README link
2021-01-29 07:55:33 +00:00
Stypox
02db971b7c Set all default settings at the beginning 2021-01-28 18:28:29 +01:00
Stypox
0d522aae6c Merge pull request #5502 from Stypox/fix-minimize
Fix minimize on app switch always opens popup
2021-01-28 17:59:18 +01:00
Stypox
fdb0f01b38 Add Objects.requireNotNull to warning which is surely not null 2021-01-28 14:35:47 +01:00
Stypox
376cba696e Remove useless getString for default setting value 2021-01-28 14:35:00 +01:00
Stypox
cade272501 Use PlayerHelper.retrieveResizeModeFromPrefs in Player 2021-01-28 14:33:50 +01:00
Stypox
4f828fbe00 Fix always minimizing to popup player 2021-01-28 14:33:12 +01:00
Tobias Groza
3d348c63d9 Merge pull request #5480 from B0pol/invidious_instances
update invidious instances list
2021-01-27 09:43:19 +01:00
bopol
fe10c19956 update extractor version 2021-01-27 00:28:01 +01:00
opusforlife2
9ada979484 Merge pull request #5468 from ryota-hasegawa/dev
Add Japanese translation of README
2021-01-23 08:07:47 +00:00
XiangRongLin
2926cb7682 Respect expires header when checking for new version
It was called to many times and acted similar to a DOS attack.
2021-01-23 09:02:11 +01:00
*
8c15cc1c17 Add a link to Japanese README to the Brazilian Portuguese one 2021-01-23 12:54:06 +09:00
bopol
bea4fb6ae6 update invidious instances list 2021-01-22 19:25:21 +01:00
Tobias Groza
cafc64534b Merge pull request #5458 from Stypox/fix-popup-x
Fix popup closing x button animation
2021-01-22 10:01:12 +01:00
Stypox
327fc742d3 Fix channel subscribe button causing crash in main page tab
The binding was being set to null on onDestroyView() instead of in onDestroy()
2021-01-21 15:31:50 +01:00
*
0c5df29417 Add Japanese translation of README 2021-01-21 16:12:09 +09:00
opusforlife2
cce896e900 Merge pull request #5439 from nadiration/patch-5
Update README.so.md to sync with the English one
2021-01-20 19:52:55 +00:00
XiangRongLin
50c0f9e622 Merge pull request #5463 from Stypox/fix-feed-number
Fix number being shown instead of corresponding string resorce in feed
2021-01-20 19:26:43 +01:00
Stypox
10ec67854e Fix number being shown instead of corresponding string resorce in feed 2021-01-20 10:44:44 +01:00
Isira Seneviratne
a3c4a10721 Convert the abstract class DAOs to interfaces. 2021-01-20 06:29:50 +05:30
Stypox
e327f7ba2c Fix popup closing x button animation 2021-01-19 09:34:21 +01:00
TiA4f8R
9a65f02d5b Fix crash when no browser is present and use an ACTION_CHOOSER intent in the app update notification (#5429)
Fix crash when no browser is present and use an ACTION_CHOOSER intent for app update notification
Show a Toast when no app is present on user's device to open a content in an app and in a browser and use an ACTION_CHOOSER intent with the ACTION_VIEW intent put as an extra intent in the update notification.
2021-01-18 21:45:36 +01:00
TobiGr
d1fc9c5880 Add changelog for 0.20.9 2021-01-18 14:45:34 +01:00
nadiration
3c9ae68314 Update README.so.md 2021-01-18 16:18:12 +03:00
TobiGr
5e7c2c11f6 Update translations
Translated using Weblate (Kabyle)
Currently translated at 2.3% (1 of 43 strings)

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

Translated using Weblate (Polish)

Currently translated at 99.5% (613 of 616 strings)

Translated using Weblate (German)

Currently translated at 99.8% (615 of 616 strings)

Translated using Weblate (Basque)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Arabic)

Currently translated at 96.9% (597 of 616 strings)

Translated using Weblate (Indonesian)

Currently translated at 99.6% (614 of 616 strings)

Translated using Weblate (Polish)

Currently translated at 99.6% (614 of 616 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Croatian)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Sardinian)

Currently translated at 99.0% (610 of 616 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 27.9% (12 of 43 strings)

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

Translated using Weblate (Basque)

Currently translated at 30.2% (13 of 43 strings)

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

Translated using Weblate (Czech)

Currently translated at 6.9% (3 of 43 strings)

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

Translated using Weblate (Hebrew)

Currently translated at 32.5% (14 of 43 strings)

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

Translated using Weblate (Polish)

Currently translated at 53.4% (23 of 43 strings)

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

Translated using Weblate (Somali)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (German)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (French)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 96.2% (593 of 616 strings)

Translated using Weblate (French)

Currently translated at 72.0% (31 of 43 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 81.3% (35 of 43 strings)

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

Translated using Weblate (English (United Kingdom))

Currently translated at 6.6% (41 of 616 strings)

Translated using Weblate (Spanish)

Currently translated at 99.1% (611 of 616 strings)

Translated using Weblate (Greek)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Arabic)

Currently translated at 97.8% (603 of 616 strings)

Translated using Weblate (Indonesian)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Finnish)

Currently translated at 99.5% (613 of 616 strings)

Translated using Weblate (Dutch (Belgium))

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Tamil)

Currently translated at 2.3% (1 of 43 strings)

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

Translated using Weblate (Italian)

Currently translated at 46.5% (20 of 43 strings)

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

Translated using Weblate (Somali)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 79.0% (34 of 43 strings)

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

Translated using Weblate (Somali)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Korean)

Currently translated at 85.3% (526 of 616 strings)

Translated using Weblate (Dutch)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Serbian)

Currently translated at 40.9% (252 of 616 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Romanian)

Currently translated at 74.3% (458 of 616 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Catalan)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (German)

Currently translated at 48.8% (21 of 43 strings)

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

Translated using Weblate (Catalan)

Currently translated at 4.6% (2 of 43 strings)

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

Translated using Weblate (Arabic)

Currently translated at 67.4% (29 of 43 strings)

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

Translated using Weblate (Indonesian)

Currently translated at 13.9% (6 of 43 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 86.0% (37 of 43 strings)

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

Translated using Weblate (Somali)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Croatian)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Finnish)

Currently translated at 99.6% (614 of 616 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 96.4% (594 of 616 strings)

Translated using Weblate (German)

Currently translated at 46.5% (20 of 43 strings)

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

Translated using Weblate (Turkish)

Currently translated at 27.9% (12 of 43 strings)

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

Translated using Weblate (Norwegian Bokmål)

Currently translated at 18.6% (8 of 43 strings)

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

Translated using Weblate (Santali)

Currently translated at 12.3% (76 of 616 strings)

Translated using Weblate (Somali)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Kurdish (Central))

Currently translated at 95.9% (591 of 616 strings)

Translated using Weblate (Bengali)

Currently translated at 78.5% (484 of 616 strings)

Translated using Weblate (German)

Currently translated at 51.1% (22 of 43 strings)

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

Translated using Weblate (German)

Currently translated at 51.1% (22 of 43 strings)

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

Translated using Weblate (Greek)

Currently translated at 32.5% (14 of 43 strings)

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

Translated using Weblate (Somali)

Currently translated at 100.0% (616 of 616 strings)

Translated using Weblate (Estonian)

Currently translated at 68.9% (425 of 616 strings)

Translated using Weblate (Kabyle)

Currently translated at 30.0% (185 of 616 strings)

Translated using Weblate (Estonian)

Currently translated at 4.6% (2 of 43 strings)

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

Translated using Weblate (Somali)

Currently translated at 100.0% (616 of 616 strings)
2021-01-18 13:31:36 +01:00
TobiGr
053b6ab8c6 Update extractor version 2021-01-18 13:10:04 +01:00
XiangRongLin
5814743d59 Merge pull request #5430 from Stypox/fix-feed
Fix reload feed button does nothing
2021-01-18 12:59:58 +01:00
Stypox
fa7613b8d1 Refactor feed fragment 2021-01-18 11:43:05 +01:00
Stypox
d3d05d613d Fix reload feed button does nothing
initListeners was being called before the bindings were assigned, and therefore the click listener was never setup
2021-01-18 11:42:25 +01:00
XiangRongLin
23b5cd5b72 Merge pull request #5442 from Stypox/fix-close-popup
Prevent IllegalArgumentException when closing popup
2021-01-18 09:39:02 +01:00
Stypox
d4a33603ab Prevent IllegalArgumentException when closing popup 2021-01-18 08:27:49 +01:00
nadiration
39724de6e6 Update README.so.md 2021-01-18 08:00:22 +03:00
Tobias Groza
156adaa1a0 Merge pull request #4534 from Stypox/secondary-controls
Add a secondary control panel to video detail fragment
2021-01-17 20:02:36 +01:00
Stypox
3868243c2a Animate secondary controls toggle 2021-01-17 15:59:29 +01:00
Stypox
243f539439 Use KoreUtil function 2021-01-17 15:46:00 +01:00
Stypox
71d92c8d1b Hide tab layout in detail fragment when there is no space 2021-01-17 15:42:54 +01:00
Stypox
e840d42fb9 Add content description to detail fragment tabs 2021-01-17 15:38:12 +01:00
Stypox
750c4ffbd3 Add preference to hide description tab in video details 2021-01-17 15:36:42 +01:00
Stypox
d043a4f410 Always show tab layout at the bottom of the screen 2021-01-17 15:36:42 +01:00
Stypox
4c3ba0fe3d Add icons to VideoDetailFragment tab layout for better accessibility 2021-01-17 15:34:24 +01:00
Stypox
a314f55a17 Move description to a tab alongside related streams and comments 2021-01-17 15:26:25 +01:00
Stypox
78a9811fe3 Add a secondary control panel to video detail fragment
It is shown when the user expands the description
It contains share, open in browser and play in kodi
2021-01-17 15:12:29 +01:00
Stypox
6277639ded Merge pull request #5438 from Isira-Seneviratne/Use_view_binding_in_VideoDetailFragment
Use view binding in VideoDetailFragment.
2021-01-17 14:40:37 +01:00
nadiration
d1c807487a Update README.so.md 2021-01-17 07:50:05 +03:00
Isira Seneviratne
fe92abde0e Use view binding in VideoDetailFragment. 2021-01-17 09:57:40 +05:30
Stypox
098c954ef1 Merge pull request #5029 from Isira-Seneviratne/Use_Groupie_view_binding
Switch to Groupie's view binding module.
2021-01-16 18:21:32 +01:00
Isira Seneviratne
01396923f1 Use the base Groupie library in ChannelItem. 2021-01-16 18:59:49 +05:30
Isira Seneviratne
e0de66b1be Fix some issues. 2021-01-16 18:59:48 +05:30
Isira Seneviratne
77675b361f Use BindableItem in PickerSubscriptionItem. 2021-01-16 18:59:45 +05:30
Isira Seneviratne
e2dd058430 Use BindableItem in PickerIconItem. 2021-01-16 18:55:42 +05:30
Isira Seneviratne
a188125982 Use BindableItem in HeaderWithMenuItem. 2021-01-16 18:55:42 +05:30
Isira Seneviratne
9e5f079cf2 Use BindableItem in HeaderItem. 2021-01-16 18:55:41 +05:30
Isira Seneviratne
51a948bfcf Use BindableItem in FeedImportExportItem. 2021-01-16 18:55:41 +05:30
Isira Seneviratne
9d27d49c1f Use BindableItem in FeedGroupReorderItem. 2021-01-16 18:55:41 +05:30
Isira Seneviratne
761f6568fa Use BindableItem in FeedGroupCarouselItem. 2021-01-16 18:55:40 +05:30
Isira Seneviratne
ee94b296ae Use BindableItem in FeedGroupCardItem. 2021-01-16 18:55:40 +05:30
Isira Seneviratne
b387946d34 Use BindableItem in FeedGroupAddItem. 2021-01-16 18:55:39 +05:30
Isira Seneviratne
46afe5153f Use BindableItem in EmptyPlaceholderItem. 2021-01-16 18:55:38 +05:30
Isira Seneviratne
68be87724a Switch to Groupie view binding module. 2021-01-16 18:55:38 +05:30
Stypox
8c9f2af855 Merge pull request #5187 from TiA4f8R/share-improvements
Share improvements + fix crash when no default browser is set on some devices
2021-01-16 13:42:22 +01:00
Stypox
594f0b10ba Move TextLinkifier computation out of main thread 2021-01-16 13:23:42 +01:00
TiA4f8R
79e98db3bd Apply the requested changes and little improvements
Apply the requested changes, use ShareUtils.shareText to share an stream in the play queue and optimize imports for Java files, using Android Studio functionality.

Apply the requested changes and do little improvements
Apply the requested changes, use ShareUtils.shareText to share an stream in the play queue and optimize imports for Java files, using Android Studio functionality.
2021-01-16 13:23:42 +01:00
TiA4f8R
a57fd69fb4 External sharing improvements
Improve NewPipe's share on some devices + fix crash when no browser is set on some devices

Catching ActivityNotFoundException when trying to open the default browser
Use an ACTION_CHOOSER intent and put as an extra intent the intent to
open an URI / share an URI when no default app is set.

Add a LinkHelper class which set a custom action when clicking web links
in the description of a content. This class also helps to implement a confirmation dialog when trying to open web links in an external app.
2021-01-16 13:23:06 +01:00
Stypox
b73eb9438d Merge pull request #5333 from Isira-Seneviratne/Convert_AnimationUtils_to_extensions
Convert AnimationUtils functions to extension functions.
2021-01-16 11:43:57 +01:00
Isira Seneviratne
920e560b4b Convert AnimationUtils functions to extension functions. 2021-01-16 14:49:37 +05:30
Stypox
0d33f8b460 Merge pull request #5284 from mhmdanas/remove-pr-template-testing-apk-section
Remove APK testing section from PR template
2021-01-16 09:09:03 +01:00
XiangRongLin
5b58850c31 Merge pull request #5407 from XiangRongLin/ci_checkout_branch
Checkout branch in CI process
2021-01-16 07:53:31 +01:00
TobiGr
17746f35f9 User uppercase for country code in pt br readme 2021-01-15 21:04:41 +01:00
TobiGr
ca0b211854 Use underscore for contry code in README trnaslations 2021-01-15 21:00:39 +01:00
Stypox
54cb26ff03 Merge pull request #5108 from mhmdanas/update-readme-installation-section
Update README.md to include installation methods other than F-Droid
2021-01-15 20:46:27 +01:00
mhmdanas
a7ff73dbfd Rename installation to installation and updates 2021-01-15 22:18:49 +03:00
mhmdanas
815dd0f706 Merge branch 'dev' into update-readme-installation-section 2021-01-15 18:35:19 +03:00
mhmdanas
7455dc93ac Add period to end of comment 2021-01-15 18:16:45 +03:00
mhmdanas
337662bd40 Hide F-Droid badge 2021-01-15 18:16:28 +03:00
mhmdanas
91305771bc Rename updates section to installation
Also added a hidden span so that old links won't break.
2021-01-15 18:13:52 +03:00
Robin
98ed80d305 Merge pull request #5274 from vkay94/stream-segments
Add stream segments to player controls
2021-01-15 10:59:34 +01:00
Tobias Groza
5313e1861a Merge pull request #5397 from DavidBrazSan/patch-1
Created Brazilian Portuguese Readme
2021-01-15 09:51:34 +01:00
TobiGr
d8665366ef Linked with Brazilian Portuguese Readme
Linked with Brazilian Portuguese Readme Soomaali
Linked with Brazilian Portuguese Readme 한국어
2021-01-15 09:38:59 +01:00
Stypox
c216f29fb0 Merge pull request #5418 from Isira-Seneviratne/Unify_constants
Combine the two Constants files into one file.
2021-01-15 09:20:08 +01:00
Stypox
302fde6004 Merge pull request #5417 from Isira-Seneviratne/Fix_crash_on_back_navigation
Fix the crash that occurs on navigating back to the main fragment.
2021-01-15 08:15:09 +01:00
Isira Seneviratne
14ddf37988 Combine the two Constants files into one file. 2021-01-15 12:13:47 +05:30
Isira Seneviratne
87568b6590 Fix the crash that occurs on navigating back to the main fragment. 2021-01-15 06:54:20 +05:30
vkay94
37aa41afae Add stream segments to player 2021-01-14 21:58:19 +01:00
XiangRongLin
41968918bb Checkout branch in CI process for pull requests
This way the debug build app id contains the branch name again.
2021-01-14 19:39:40 +01:00
Tobias Groza
8fd48a88be Merge pull request #4939 from Atemu/dont-exit-fullscreen-on-rotation
VideoDetailFragment: Don't exit fullscreen on rotation in tablet UI
2021-01-14 16:25:51 +01:00
Stypox
10c35f354e Merge pull request #5225 from XiangRongLin/extract_settings_import
Extract settings import
2021-01-14 15:18:36 +01:00
Stypox
9ee7740fcc Merge pull request #4947 from Isira-Seneviratne/Convert_ExceptionUtils_to_extensions
Rewrite ExceptionUtils methods as extension functions.
2021-01-14 14:54:37 +01:00
Stypox
94b086de20 Merge pull request #4814 from Isira-Seneviratne/Use_view_binding_in_fragments
Use view binding in fragments.
2021-01-14 14:40:19 +01:00
Robin
c90696e67e Merge pull request #5371 from Stypox/merge-player
Merge player classes into a single one
2021-01-14 10:43:11 +01:00
Stypox
8378789f6a Fix view binding types 2021-01-14 10:25:48 +01:00
Stypox
059bb7622d Merge and rename into PlayQueueActivity 2021-01-14 10:25:48 +01:00
Stypox
cece83328a Fix wrong speed indicator in queue activity 2021-01-14 10:25:48 +01:00
Stypox
4a12b0ab2d Revert hiding detail fragment tabs when in fullscreen 2021-01-14 10:25:48 +01:00
Stypox
f6e2dd1480 Merge player classes into a single one 2021-01-14 10:25:44 +01:00
Isira Seneviratne
f04b5fd42f Use view binding in FeedGroupReorderDialog. 2021-01-14 11:16:08 +05:30
Isira Seneviratne
5994cd8ea2 Use view binding in FeedGroupDialog. 2021-01-14 11:16:07 +05:30
Isira Seneviratne
83f33a7d1b Use view binding in SubscriptionFragment. 2021-01-14 11:16:06 +05:30
Isira Seneviratne
f80e1bd214 Use view binding in FeedFragment. 2021-01-14 11:16:05 +05:30
Isira Seneviratne
97672f06de Use view binding in SearchFragment. 2021-01-14 11:16:04 +05:30
Isira Seneviratne
6039484a02 Use view binding in ChannelFragment. 2021-01-14 11:16:03 +05:30
Isira Seneviratne
7682ebd245 Use view binding in DownloadDialog. 2021-01-14 11:16:01 +05:30
Isira Seneviratne
7c581ec108 Use view binding in LicenseFragment. 2021-01-14 11:16:00 +05:30
Isira Seneviratne
910d22daa6 Use view binding in MainFragment. 2021-01-14 11:15:58 +05:30
Isira Seneviratne
979102a2d9 Return ViewBinding instead of View in BaseListFragment's getListHeader() and getListFooter() methods. 2021-01-14 11:15:57 +05:30
Isira Seneviratne
98be89a20a Return ViewBinding instead of View in BaseLocalListFragment's getListHeader() and getListFooter() methods. 2021-01-14 11:15:54 +05:30
Robin
0264383ad2 Merge pull request #5358 from XiangRongLin/testable_prettytime
Make Localization.relativeTime testable
2021-01-13 22:44:11 +01:00
Stypox
e2ea217bc5 Merge pull request #5253 from Isira-Seneviratne/Use_view_binding_in_VideoPlayer
Use view binding in VideoPlayer.
2021-01-13 22:07:19 +01:00
Isira Seneviratne
fa75c79d34 Use view binding (PlayerPopupCloseOverlayBinding) in VideoPlayerImpl. 2021-01-13 20:44:00 +01:00
Isira Seneviratne
0c86a4e608 Use view binding (PlayerBinding) in VideoPlayer. 2021-01-13 20:43:56 +01:00
XiangRongLin
031585be3f Add comment about unexpected assertion 2021-01-13 17:25:00 +01:00
Tobias Groza
92a87a5ed2 Merge pull request #5310 from khimaros/list-play-kodi
add list item to play video on kodi
2021-01-13 17:02:56 +01:00
David BrazSan
4c26e597e4 Created Brazilian Portuguese Readme 2021-01-12 12:55:28 -03:00
nadiration
5108bf1742 Linked with Somali Readme 2021-01-12 13:17:40 +01:00
nadiration
6215faa06c Linked with Somali Readme 2021-01-12 13:17:28 +01:00
nadiration
fee1fed0a1 Created Somali Readme (#5383)
* Created Somali Readme
2021-01-12 13:16:54 +01:00
Isira Seneviratne
50dcf308a2 Add extension functions that accept reified types. 2021-01-11 16:49:46 +05:30
Isira Seneviratne
486e720e00 Rewrite ExceptionUtils methods as extension functions. 2021-01-11 16:49:45 +05:30
Tobias Groza
a6c09e2dac Merge pull request #5257 from B0pol/sepiasearch
[peertube] implement sepia search
2021-01-10 22:03:49 +01:00
bopol
43e4dc8170 update extractor version 2021-01-10 15:54:01 +01:00
bopol
5c4d72ec42 Merge remote-tracking branch 'upstream/dev' into sepiasearch 2021-01-10 15:53:20 +01:00
Tobias Groza
114806db55 Merge pull request #5376 from nadiration/patch-1
[localization] Fixes Somali language name
2021-01-09 17:55:26 +01:00
nadiration
0ff7170ab1 Update settings_keys.xml
Changed the Somali language name from Af-Soomaali to Soomaali which is common and more user friendly when users are looking for Somali language in the list (since they aren't expecting it starts with A as in Af-Soomaali).
I contributed the language to the project on Weblate and I think this is name is better.
2021-01-09 18:39:43 +03:00
Robin
6b2f084cda Merge pull request #5331 from mbarashkov/hardware-keyboard-space-shortcut
In Fullscreen playback, toggle play/pause with hardware space button
2021-01-07 17:09:27 +01:00
Mikhail Barashkov
907106156f When in Fullscreen playback mode, toggle play/pause with the hardware Space button. 2021-01-07 17:32:16 +02:00
XiangRongLin
50a026183d Make Localization.relativeTime testable
Problem is global state in static variable prettyTime. But for performance reasons on Android that is preferred.
Now allow injecting prettyTime dependency by making init function public.
2021-01-06 14:48:34 +01:00
XiangRongLin
716d795970 cleanup 2021-01-03 20:32:16 +01:00
XiangRongLin
fcfdcd1025 Fix ensureDbDirectoryExists 2021-01-03 20:32:16 +01:00
XiangRongLin
af119db1d7 Extract settings file deletion 2021-01-03 20:32:16 +01:00
XiangRongLin
122e80fae9 Remove subclasses from ContentSettingsManagerTest
ExportTest provides no value.
ImportTest creates temporary files even if not needed.
2021-01-03 20:32:16 +01:00
XiangRongLin
8fceffd6fd Introduce NewPipeFileLocator class 2021-01-03 20:32:16 +01:00
XiangRongLin
f778c48923 Add basic tests for settings import 2021-01-03 20:32:16 +01:00
XiangRongLin
19cd3a17df Move isValidZipFile to ZipHelper 2021-01-03 20:32:16 +01:00
XiangRongLin
ea91a62c89 Adjust ExportTest to new DI with FileLocator 2021-01-03 20:32:16 +01:00
XiangRongLin
cef791ba1b Introduce NewPipeFileLocator class
It handles locating specific NewPipe files based on the home directory of the app.
2021-01-03 20:32:16 +01:00
XiangRongLin
f78a7fa630 Extract import database logic in ContentSettingsManager 2021-01-03 20:32:16 +01:00
khimaros
ac59382b84 pass serviceId instead of item, reduce duplication 2021-01-02 11:24:33 -08:00
Tobias Groza
68175c1cf0 Merge pull request #5337 from TiA4f8R/disable-webview-metrics
Disable sending metrics to Google when using Android System WebView
2021-01-02 16:24:00 +01:00
TiA4f8R
aeca8dc5b2 Disable sending metrics to Google in Android System Webview
Fixes TeamNewPipe/NewPipe#5335
2021-01-02 14:39:31 +01:00
Robin
e75ef086af Merge pull request #5254 from Isira-Seneviratne/Use_Objects_requireNonNull
Use Objects.requireNonNull().
2021-01-02 11:30:24 +01:00
Isira Seneviratne
14a2171035 Use Objects.requireNonNull(). 2021-01-02 09:36:33 +05:30
opusforlife2
0cdd866393 Merge pull request #5330 from TeamNewPipe/compulsory_checklist
Make it clear that checklist in templates is mandatory
2021-01-01 18:55:20 +00:00
opusforlife2
24c1cfbf72 Checklist is compulsory: feature request template 2021-01-01 18:42:07 +00:00
opusforlife2
31899d2ab9 Checklist is compulsory: bug report template 2021-01-01 18:40:20 +00:00
Tobias Groza
16c44f3a30 Merge pull request #5250 from TeamNewPipe/Korean_readme_fix
Change "Export" to "Import" in Korean Readme instructions
2021-01-01 18:47:35 +01:00
Stypox
1b4bde4e78 Merge pull request #5221 from B0pol/notifications
Dynamically get package name
2021-01-01 18:05:43 +01:00
Robin
ff9ae57f39 Merge pull request #5066 from TacoTheDank/displayed-licenses
Update displayed licenses
2021-01-01 01:34:57 +01:00
TacoTheDank
71add5a7c2 Update displayed licenses 2020-12-31 19:26:41 -05:00
Robin
ce2719d77e Merge pull request #5317 from XiangRongLin/timestamp
Fix urls with timestamps not being played
2020-12-31 12:46:40 +01:00
Robin
8193a0df63 Merge pull request #5065 from TacoTheDank/androidx-media-audioreactor
Use AndroidX Media compat in AudioReactor
2020-12-31 10:55:11 +01:00
khimaros
48a5107296 address pull request feedback 2020-12-30 14:45:14 -08:00
TacoTheDank
ebd589c9cb Use AndroidX Media compat in AudioReactor 2020-12-30 17:10:57 -05:00
XiangRongLin
1f15368b7b Fix urls with timestamps not being played
Else path is now executed, when a timestamp (item.getRecoveryPosition) is present
2020-12-30 21:07:30 +01:00
Stypox
8fe1a76ec6 Merge pull request #5301 from EricLemieux/fix-npe-play-button
Fix null pointer exception in play button method
2020-12-30 17:48:40 +01:00
khimaros
83faf119a9 add list item to play video on kodi
closes: #5157
2020-12-29 18:53:32 -08:00
Eric Lemieux
0a05534c84 Fix null pointer exception in play button method
When the play queue was null, and this method was called a null pointer
exception would be thrown. This change adds an additional check to see
if the play queue is not null before making additional changes.
2020-12-29 14:51:24 -05:00
Robin
137fbb34d9 Merge pull request #5283 from urlordjames/brightfix
disable restoring brightness if brightness gesture is disabled
2020-12-29 17:37:53 +01:00
urlordjames
d45ce19b04 Fix #4481 2020-12-28 09:46:10 -05:00
TobiGr
7153506ddb Update extractor 2020-12-27 17:09:09 +01:00
TobiGr
0483d3ff32 add live stream support to changelog 2020-12-27 15:06:03 +01:00
TobiGr
7e784ce9a7 Merge remote-tracking branch 'Weblate/dev' into dev 2020-12-27 14:56:18 +01:00
TobiGr
8343d9cc18 Release 0.20.8 (962) 2020-12-27 14:55:57 +01:00
TobiGr
db0ecd92ca Merge branch 'master' into dev 2020-12-27 14:53:15 +01:00
Tobias Groza
b5140cfecd Merge pull request #5286 from TeamNewPipe/media.ccc.de_live
[media.ccc.de] Add "live" kiosk
2020-12-27 14:47:31 +01:00
TobiGr
36aea35a92 [media.ccc.de] Add live stream kiosk 2020-12-27 13:26:49 +01:00
TobiGr
1984436b41 [media.ccc.de] Add "recent" kiosk 2020-12-27 01:30:29 +01:00
chr56
8ba2f5f964 Translated using Weblate (Chinese (Simplified))
Currently translated at 71.4% (30 of 42 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
2020-12-27 00:59:48 +01:00
Gontzal Manuel Pujana Onaindia
c923d35a1f Translated using Weblate (Basque)
Currently translated at 28.5% (12 of 42 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/eu/
2020-12-27 00:59:47 +01:00
mhmdanas
c550779472 Remove APK testing section from PR template
This is because the our workflows build debug APKs now.
2020-12-26 21:35:07 +03:00
bopol
90d3c9ced0 Merge pull request #5266 from mhmdanas/remove-gitmodules
Remove .gitmodules
2020-12-26 11:00:23 +01:00
bopol
43cbc09f1f Merge pull request #5278 from XiangRongLin/readme-ci-badge
Replace travic ci badge with github actions one for dev branch pushes
2020-12-26 10:59:00 +01:00
XiangRongLin
feea084c60 Replace travic ci badge with github actions one for dev branch pushes 2020-12-26 10:10:20 +01:00
Tobias Groza
d403a83a24 Merge pull request #5246 from TeamNewPipe/release_0.20.7
Release 0.20.7
2020-12-25 20:25:01 +01:00
TobiGr
35fc27cfb0 update version 2020-12-25 19:00:55 +01:00
TobiGr
81742565a4 Update NewPipe Extractor to v0.20.7 2020-12-25 19:00:28 +01:00
TobiGr
923d0b7c80 Merge remote-tracking branch 'Weblate/dev' into dev 2020-12-25 18:53:26 +01:00
Bopol
d416465371 Translated using Weblate (French)
Currently translated at 69.0% (29 of 42 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
2020-12-25 18:52:41 +01:00
Yaron Shahrabani
2586c543d3 Translated using Weblate (Hebrew)
Currently translated at 30.9% (13 of 42 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
2020-12-25 18:52:40 +01:00
。れ
c32bc26328 Translated using Weblate (Filipino)
Currently translated at 0.0% (0 of 42 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fil/
2020-12-25 18:52:39 +01:00
nautilusx
4074c71b6a Translated using Weblate (German)
Currently translated at 42.8% (18 of 42 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
2020-12-25 18:52:38 +01:00
mhmdanas
a7493d1039 Remove .gitmodules
It's empty anyway.
2020-12-24 19:33:03 +03:00
bopol
d7cab6a8d8 Merge pull request #5258 from TeamNewPipe/media.ccc.de_serviceColor
[media.ccc.de] Fix service color
2020-12-23 20:02:25 +01:00
TobiGr
eddc12693a [media.ccc.de] Fix service color
Caused by changing service name in TeamNewPipe/NewPipeExtractor#472
2020-12-23 19:58:09 +01:00
TobiGr
ced3898499 Add Somali (Af Soomaali)[so] to app language chooser 2020-12-23 16:47:36 +01:00
Tobias Groza
318a5df109 Merge pull request #5259 from Isira-Seneviratne/Fix_queue_display
Fix queue display in ServicePlayerActivity.
2020-12-23 16:13:47 +01:00
Isira Seneviratne
b2e9981313 Fix queue display in ServicePlayerActivity. 2020-12-23 20:06:02 +05:30
bopol
5f092e37f9 Merge branch 'dev' into sepiasearch 2020-12-23 15:23:19 +01:00
bopol
81bbef04dc [peertube] implement sepia search 2020-12-23 15:14:26 +01:00
TobiGr
74f43639ad Added changelog for 0.20.7 (961) 2020-12-23 14:56:25 +01:00
TobiGr
fc342bd458 Fix typo in "playlist_ctrl_seperator_margin"
Rename to "playlist_ctrl_separator_margin"
2020-12-23 12:36:41 +01:00
TobiGr
adfbf5b49f Fix line breaks 2020-12-23 12:36:41 +01:00
TobiGr
2cb7bb84f7 Update translation from Weblate
Added translation using Weblate (Somali)

Translated using Weblate (Chinese (Traditional))

Currently translated at 99.8% (608 of 609 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (French)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Serbian)

Currently translated at 41.0% (250 of 609 strings)

Translated using Weblate (English)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Japanese)

Currently translated at 99.6% (607 of 609 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Basque)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Arabic)

Currently translated at 99.8% (608 of 609 strings)

Translated using Weblate (Arabic)

Currently translated at 99.8% (608 of 609 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Polish)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.8% (608 of 609 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Croatian)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Finnish)

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Belarusian)

Currently translated at 85.2% (519 of 609 strings)

Translated using Weblate (Bengali)

Currently translated at 79.1% (482 of 609 strings)

Translated using Weblate (German)

Currently translated at 29.2% (12 of 41 strings)

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

Translated using Weblate (Basque)

Currently translated at 26.8% (11 of 41 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 56.0% (23 of 41 strings)

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

Translated using Weblate (Santali)

Currently translated at 10.6% (65 of 609 strings)

Translated using Weblate (Somali)

Currently translated at 15.9% (97 of 609 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (609 of 609 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 99.5% (610 of 613 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (German)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Portuguese)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Basque)

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 (Greek)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Slovak)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Arabic)

Currently translated at 97.0% (595 of 613 strings)

Translated using Weblate (Indonesian)

Currently translated at 99.6% (611 of 613 strings)

Translated using Weblate (Turkish)

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 (Chinese (Traditional))

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Croatian)

Currently translated at 100.0% (613 of 613 strings)

Translated using Weblate (Finnish)

Currently translated at 99.6% (611 of 613 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 93.4% (573 of 613 strings)

Translated using Weblate (Sardinian)

Currently translated at 99.5% (610 of 613 strings)

Translated using Weblate (German)

Currently translated at 41.4% (17 of 41 strings)

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

Translated using Weblate (Turkish)

Currently translated at 19.5% (8 of 41 strings)

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

Translated using Weblate (Greek)

Currently translated at 34.1% (14 of 41 strings)

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

Translated using Weblate (Portuguese)

Currently translated at 63.4% (26 of 41 strings)

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

Translated using Weblate (Italian)

Currently translated at 43.9% (18 of 41 strings)

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

Translated using Weblate (Chinese (Traditional))

Currently translated at 80.4% (33 of 41 strings)

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

Translated using Weblate (Chinese (Simplified))

Currently translated at 70.7% (29 of 41 strings)

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

Translated using Weblate (Somali)

Currently translated at 81.4% (499 of 613 strings)

Translated using Weblate (Somali)

Currently translated at 4.8% (2 of 41 strings)

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

Translated using Weblate (Bulgarian)

Currently translated at 62.1% (381 of 613 strings)

Translated using Weblate (Bulgarian)

Currently translated at 62.1% (381 of 613 strings)
2020-12-23 12:36:41 +01:00
Tobias Groza
84d1792e7f Merge pull request #4754 from TeamNewPipe/meta_info
Display meta info about search query, stream creator or topic
2020-12-23 11:34:48 +01:00
TobiGr
531859ac60 [Security] Update ktlint to 0.40.0 2020-12-23 00:34:55 +01:00
opusforlife2
b5bf0d7e1d Export -> Import 2020-12-22 16:58:29 +00:00
Tobias Groza
bf071d65d7 Merge pull request #5236 from TiA4f8R/change-domain-readme
Change website domain of NewPipe in readmes
2020-12-20 18:59:28 +01:00
TiA4f8R
e4aa7a90c7 Change NewPipe's domain in Korean ReadMe 2020-12-20 18:36:01 +01:00
TiA4f8R
6d4e3c5633 Change NewPipe's domain in original ReadMe 2020-12-20 18:31:51 +01:00
Stypox
19f9b4f502 Improve meta info layout and merge duplicate code 2020-12-20 15:10:18 +01:00
bopol
2b8837609b dynamically get package name
it fixes issues with forks or debug builds, e.g. when you open two newpipe apps (with debug or fork apps), close one notification, it closes all newpipe notifications
fixes https://github.com/TeamNewPipe/NewPipe/issues/4653
2020-12-20 13:52:20 +01:00
bopol
f3dbb19364 Merge pull request #5229 from TeamNewPipe/dependency
Fix security vulnerability in checkstyle / guava
2020-12-20 13:41:10 +01:00
TobiGr
0a831ec84e Display meta info about search query, stream creator or topic
Closes #4614
2020-12-20 11:56:22 +01:00
Tobias Groza
0c656abb8e Merge pull request #5228 from B0pol/share_ts
Remove timestamp from share url for all services except youtube
2020-12-20 11:20:34 +01:00
bopol
7a7a90bf79 remove timestamp from share url for all services except youtube
It produces not found error for PeerTube, media.ccc.de, SoundCloud
2020-12-20 10:53:22 +01:00
TobiGr
908dff3931 Fix security vulnerability in checkstyle / guava 2020-12-20 01:18:46 +01:00
TheAssassin
a786cff036 Merge pull request #5132 from StuffNoOneCaresAbout/github-actions-ci
Use GitHub actions as a CI instead of Travis.
2020-12-19 23:22:50 +01:00
Stypox
28802805f8 Merge pull request #5204 from XiangRongLin/fix_before_all
Use @BeforeClass for ContentSettingsManagerTest.beforeClass
2020-12-19 14:33:37 +01:00
Stypox
f59099395f Merge pull request #5218 from Isira-Seneviratne/Use_ServiceCompat_stopForeground
Use ServiceCompat.stopForeground().
2020-12-19 14:05:44 +01:00
Isira Seneviratne
0fe3fe7594 Use ServiceCompat.stopForeground(). 2020-12-19 16:52:17 +05:30
Tobias Groza
467dacd35a Merge pull request #5217 from Isira-Seneviratne/Use_WebViewClientCompat
Use WebViewClientCompat.
2020-12-19 11:03:55 +01:00
Isira Seneviratne
173150591d Use WebViewClientCompat in ReCaptchaActivity. 2020-12-19 13:21:57 +05:30
Isira Seneviratne
e4d94b1a4e Add AndroidX Webkit. 2020-12-19 13:21:57 +05:30
Stypox
75e34a5a8e Merge pull request #4762 from Isira-Seneviratne/Use_view_binding_in_activities
Use view binding in activities.
2020-12-19 08:09:51 +01:00
Isira Seneviratne
d6121c8e21 Use view binding in SettingsActivity. 2020-12-19 04:22:01 +05:30
Isira Seneviratne
b4d77df1be Use view binding in ErrorActivity. 2020-12-19 04:21:59 +05:30
Isira Seneviratne
e6021465f6 Use view binding in ServicePlayerActivity. 2020-12-19 04:21:59 +05:30
Isira Seneviratne
22ec70e94d Use view binding in RouterActivity. 2020-12-19 04:21:58 +05:30
Isira Seneviratne
a1a70a94a8 Use view binding in ReCaptchaActivity. 2020-12-19 04:21:55 +05:30
Isira Seneviratne
a65ed7e914 Use view binding in DownloadActivity. 2020-12-19 04:19:59 +05:30
Isira Seneviratne
4545b8e92d Use view binding in AboutActivity. 2020-12-19 04:19:58 +05:30
Isira Seneviratne
ba0c0fb109 Use view binding in MainActivity. 2020-12-19 04:19:57 +05:30
Isira Seneviratne
18d530021c Fix view binding issue. 2020-12-19 04:19:56 +05:30
Isira Seneviratne
31bb70e333 Enable view binding. 2020-12-19 04:19:56 +05:30
Tobias Groza
a919a039e5 Merge pull request #5215 from Stypox/recaptcha-user-agent
Use user agent of DownloaderImpl also in ReCapthaActivity
2020-12-18 19:43:55 +01:00
Stypox
aacb1f46a8 Use user agent of DownloaderImpl also in ReCapthaActivity
Does not contain device info and should also fix some issues about recaptchas not showing up
2020-12-18 18:40:09 +01:00
Stypox
96862cbcb3 Merge pull request #5208 from Stypox/recaptcha-pbj
Remove pbj=1 parameter from YouYube urls in recaptcha activity
2020-12-18 18:28:44 +01:00
Stypox
10f79e1307 Remove pbj=1 parameter from YouYube urls in recaptcha activity 2020-12-17 21:02:13 +01:00
XiangRongLin
e0ee3dce40 Use @BeforeClass for ContentSettingsManagerTest.beforeClass 2020-12-17 09:40:04 +01:00
Tobias Groza
13e7d2e7ac Merge pull request #5186 from XiangRongLin/fix_compile_error
Fix compile error caused by auto merging
2020-12-15 21:42:09 +01:00
XiangRongLin
a7723373a0 Fix compile error caused by auto merging
#5176 changed `homeDir` from type `String` to `File`. #5059 was based on `homeDir` being a `String`. It was incorrectly auto-resolved by git.
2020-12-15 20:26:38 +01:00
Tobias Groza
7e469ead45 Merge pull request #5184 from TiA4f8R/update-newpipe-website-urls
Update NewPipe's website domain name in the app
2020-12-15 19:31:26 +01:00
TiA4f8R
5397a4e410 Update NewPipe website URL strings 2020-12-15 19:01:33 +01:00
TiA4f8R
99b59f0126 Update NewPipe's API url for new app's version check 2020-12-15 18:57:36 +01:00
Stypox
d46c7eb8fe Merge pull request #5059 from XiangRongLin/content_settings_manager
Extract export database logic into own class
2020-12-15 10:34:32 +01:00
Stypox
e4a1fc9d95 Merge pull request #5116 from hlloreda/fix-crash-deleting-video-refreshing
Fix crash deleting video refreshing
2020-12-15 09:52:17 +01:00
Stypox
276f50a944 Merge pull request #5178 from Isira-Seneviratne/Use_ActivityCompat_recreate
Use ActivityCompat.recreate().
2020-12-15 09:49:14 +01:00
Stypox
40fcd93312 Merge pull request #5142 from Isira-Seneviratne/Use_notification_instead_of_ProgressDialog
Use a notification instead of a ProgressDialog in MissionAdapter.
2020-12-15 09:33:19 +01:00
Isira Seneviratne
807e4d4af9 Use ActivityCompat.recreate(). 2020-12-15 13:55:05 +05:30
Stypox
480348f11a Merge pull request #5176 from Isira-Seneviratne/Use_ContextCompat_getDataDir
Use ContextCompat.getDataDir().
2020-12-15 09:05:35 +01:00
Isira Seneviratne
30613b7064 Use ContextCompat.getDataDir(). 2020-12-15 08:02:25 +05:30
Stypox
79189dcc83 Merge pull request #3243 from Stypox/100+items-playlist
Show radio icon as uploader avatar in Youtube mixes
2020-12-14 19:29:12 +01:00
Stypox
c2210330b6 Show radio instead of Youtube logo in mixes
YouTube mixes have YouTube as a creator, though YouTube's logo is not safe to use as it is a trademark (better safe than sorry)
2020-12-14 19:22:00 +01:00
Isira Seneviratne
917f459569 Use a notification instead of a ProgressDialog in MissionAdapter. 2020-12-13 05:21:38 +05:30
Tobias Groza
0ced9ba799 Merge pull request #5112 from mhmdanas/fix-typos
Fix some typos
2020-12-12 13:13:06 +01:00
Tobias Groza
5e95277d7c Merge pull request #4859 from TeamNewPipe/update_invidious_URLs
Update Invidious URL list in the manifest
2020-12-12 13:06:37 +01:00
Allan Nordhøy
efb417dba7 Translated using Weblate (Norwegian Bokmål)
Currently translated at 17.0% (7 of 41 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nb_NO/
2020-12-10 21:26:17 +01:00
Terry Louwers
5c2d4c4d9d Translated using Weblate (Dutch)
Currently translated at 100.0% (609 of 609 strings)
2020-12-10 21:26:17 +01:00
Ajeje Brazorf
e8bd9920fd Translated using Weblate (Sardinian)
Currently translated at 14.6% (6 of 41 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sc/
2020-12-10 21:26:17 +01:00
Stefan Br
69ed531a5c Translated using Weblate (German)
Currently translated at 100.0% (609 of 609 strings)
2020-12-10 21:26:17 +01:00
Terry Louwers
b967d7c148 Translated using Weblate (Dutch)
Currently translated at 17.0% (7 of 41 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl/
2020-12-10 21:26:17 +01:00
Yaron Shahrabani
90150c42ed Translated using Weblate (Hebrew)
Currently translated at 29.2% (12 of 41 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
2020-12-10 21:26:17 +01:00
David Braz
8e2fd9ccce Translated using Weblate (Portuguese (Brazil))
Currently translated at 26.8% (11 of 41 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/
2020-12-10 21:26:17 +01:00
Oğuz Ersen
567ffad41d Translated using Weblate (Turkish)
Currently translated at 19.5% (8 of 41 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
2020-12-10 21:26:17 +01:00
Tobias Groza
3c306a0971 Merge pull request #5067 from Isira-Seneviratne/Add_workaround_for_null_offset_ID
Add a workaround for a possible null offset ID.
2020-12-10 11:37:18 +01:00
Isira Seneviratne
c0d6c8aeb3 Add a workaround for a possible null offset ID. 2020-12-10 15:23:30 +05:30
TobiGr
b27b49e4f3 Update NewPipe Extractor to 0.20.6 2020-12-09 23:46:55 +01:00
TobiGr
7ed0dbcf1a Release 0.20.6 (960) 2020-12-09 23:43:02 +01:00
TobiGr
8a23de6b20 Version code 960, not 970... 2020-12-09 23:40:54 +01:00
TobiGr
6cc3089204 Add changelog for 0.20.6 2020-12-09 23:37:26 +01:00
TobiGr
093e95c078 Merge remote-tracking branch 'Weblate/dev' into dev 2020-12-09 23:33:43 +01:00
Milo Ivir
7c8ac04e35 Translated using Weblate (Croatian)
Currently translated at 99.6% (607 of 609 strings)
2020-12-09 23:32:24 +01:00
Enol P
dc88f8b172 Translated using Weblate (Asturian)
Currently translated at 100.0% (609 of 609 strings)
2020-12-09 23:31:35 +01:00
FireMasterK
a00ac6b9ca Migrate to GitHub actions from Travis. 2020-12-09 12:25:57 +05:30
Igor Nedoboy
c94f0ded27 Translated using Weblate (Russian)
Currently translated at 7.5% (3 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ru/
2020-12-08 15:29:10 +01:00
David Braz
b553aa2159 Translated using Weblate (Portuguese (Brazil))
Currently translated at 25.0% (10 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/
2020-12-08 15:29:09 +01:00
Deleted User
a7bd2666f0 Translated using Weblate (Malay)
Currently translated at 67.3% (410 of 609 strings)
2020-12-08 15:29:08 +01:00
David Braz
fe2fc60581 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (609 of 609 strings)
2020-12-08 15:29:08 +01:00
simo
ce59c05d5b Translated using Weblate (Arabic)
Currently translated at 100.0% (609 of 609 strings)
2020-12-08 15:29:08 +01:00
zeritti
a4858bc702 Translated using Weblate (Czech)
Currently translated at 100.0% (609 of 609 strings)
2020-12-08 15:29:07 +01:00
pjammo
a2bb58a991 Translated using Weblate (Italian)
Currently translated at 100.0% (609 of 609 strings)
2020-12-08 15:29:07 +01:00
Francesco Saltori
f7b41227d2 Translated using Weblate (Italian)
Currently translated at 100.0% (609 of 609 strings)
2020-12-08 15:29:07 +01:00
Igor Nedoboy
5b1a6831d5 Translated using Weblate (Russian)
Currently translated at 100.0% (609 of 609 strings)
2020-12-08 15:29:06 +01:00
nautilusx
42b1bbe414 Translated using Weblate (German)
Currently translated at 100.0% (609 of 609 strings)
2020-12-08 15:29:06 +01:00
mhmdanas
ac86fe80c8 Fix typos 2020-12-07 13:35:37 +03:00
Tobias Groza
db9f20a22f Merge pull request #4961 from TeamNewPipe/lint
Fix some Lint errors
2020-12-07 11:19:01 +01:00
hlloreda
b30e025bda [FIX] - Use of a Data class instead of overriding equals method 2020-12-07 10:53:33 +01:00
hlloreda
5f3eb4871a [IMPORT] - import got deleted 2020-12-07 00:06:56 +01:00
hlloreda
9a223532c5 [FIX] - Crash while deleting a video from a playlist while refreshing 2020-12-06 23:40:38 +01:00
nautilusx
cf67b592da Translated using Weblate (German)
Currently translated at 100.0% (609 of 609 strings)
2020-12-06 19:08:14 +01:00
domifi
e867bfbc82 Translated using Weblate (German)
Currently translated at 100.0% (609 of 609 strings)
2020-12-06 19:08:14 +01:00
mhmdanas
f341f43427 Update "Updates" to account for F-Droid bug
Pun not intended (oh really?).
2020-12-06 16:52:03 +03:00
Igor Nedoboy
9a671851df Translated using Weblate (Russian)
Currently translated at 100.0% (609 of 609 strings)
2020-12-05 12:08:13 +01:00
Igor Nedoboy
4b92f78cc8 Translated using Weblate (Russian)
Currently translated at 100.0% (609 of 609 strings)
2020-12-05 11:43:29 +01:00
Allan Nordhøy
c585982557 Translated using Weblate (Norwegian Bokmål)
Currently translated at 12.5% (5 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nb_NO/
2020-12-05 11:29:08 +01:00
Michal L
6bf22e7ad0 Translated using Weblate (Polish)
Currently translated at 47.5% (19 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
2020-12-05 11:29:08 +01:00
Sérgio Marques
2f8dccf7f6 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (609 of 609 strings)
2020-12-05 11:29:07 +01:00
Allan Nordhøy
027768d97d Translated using Weblate (Norwegian Bokmål)
Currently translated at 93.5% (570 of 609 strings)
2020-12-05 11:29:07 +01:00
Jeff Huang
085f63b8c5 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (609 of 609 strings)
2020-12-05 11:29:07 +01:00
Eric
6f7c337e00 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (609 of 609 strings)
2020-12-05 11:29:06 +01:00
Michal L
16a968f3bb Translated using Weblate (Polish)
Currently translated at 100.0% (609 of 609 strings)
2020-12-05 11:29:06 +01:00
zmni
d7e0167fed Translated using Weblate (Indonesian)
Currently translated at 100.0% (609 of 609 strings)
2020-12-05 11:29:06 +01:00
simo
41c4f515cf Translated using Weblate (Arabic)
Currently translated at 99.8% (608 of 609 strings)
2020-12-05 11:29:06 +01:00
Sérgio Marques
d9a8218372 Translated using Weblate (Portuguese)
Currently translated at 100.0% (609 of 609 strings)
2020-12-05 11:29:05 +01:00
Francesco Saltori
dd9bd4da8b Translated using Weblate (Italian)
Currently translated at 100.0% (609 of 609 strings)
2020-12-05 11:29:05 +01:00
pitachips
cf98500b7f Translated using Weblate (Korean)
Currently translated at 85.2% (519 of 609 strings)
2020-12-05 11:29:05 +01:00
2-Seol
2ce8facc05 Translated using Weblate (Korean)
Currently translated at 85.2% (519 of 609 strings)
2020-12-05 11:29:05 +01:00
Kaede
d1b117d07c Translated using Weblate (Japanese)
Currently translated at 99.8% (608 of 609 strings)
2020-12-05 11:29:04 +01:00
xxkfqz
c0377c7ebf Translated using Weblate (Russian)
Currently translated at 100.0% (609 of 609 strings)
2020-12-05 11:29:04 +01:00
Ács Zoltán
a2490a5730 Translated using Weblate (Hungarian)
Currently translated at 68.6% (418 of 609 strings)
2020-12-05 11:29:04 +01:00
JoC
177334ba62 Translated using Weblate (Spanish)
Currently translated at 100.0% (609 of 609 strings)
2020-12-05 11:29:03 +01:00
XiangRongLin
f7f00293cc Extract export database logic into own class
- Separate it from the UI.
- Add happy path unit test.
2020-12-04 18:30:29 +01:00
Kaede
7bce588767 Translated using Weblate (Japanese)
Currently translated at 99.8% (608 of 609 strings)
2020-12-04 03:26:00 +01:00
hdringanioooboo
4bb67c634f Translated using Weblate (Japanese)
Currently translated at 99.8% (608 of 609 strings)
2020-12-04 03:26:00 +01:00
ssantos
3653afbcc4 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (609 of 609 strings)
2020-12-03 11:04:03 +01:00
Sérgio Marques
1f4a4ea09f Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (609 of 609 strings)
2020-12-03 11:04:03 +01:00
ssantos
3d38add4b4 Translated using Weblate (Portuguese)
Currently translated at 100.0% (609 of 609 strings)
2020-12-03 11:01:38 +01:00
Sérgio Marques
124b7eefb5 Translated using Weblate (Portuguese)
Currently translated at 100.0% (609 of 609 strings)
2020-12-03 11:01:38 +01:00
x
b52924048c Translated using Weblate (Italian)
Currently translated at 42.5% (17 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
2020-12-01 23:52:13 +01:00
Ajeje Brazorf
93393f5dff Translated using Weblate (Sardinian)
Currently translated at 100.0% (609 of 609 strings)
2020-12-01 23:52:12 +01:00
Yaron Shahrabani
275a75ebaa Translated using Weblate (Hebrew)
Currently translated at 100.0% (609 of 609 strings)
2020-12-01 23:52:12 +01:00
Oğuz Ersen
3e4a7a19cc Translated using Weblate (Turkish)
Currently translated at 100.0% (609 of 609 strings)
2020-12-01 23:52:12 +01:00
Marian Hanzel
734af457f3 Translated using Weblate (Slovak)
Currently translated at 100.0% (609 of 609 strings)
2020-12-01 23:52:11 +01:00
x
55bdb1f47a Translated using Weblate (Italian)
Currently translated at 100.0% (609 of 609 strings)
2020-12-01 23:52:11 +01:00
Ldm Public
adff0d199d Translated using Weblate (French)
Currently translated at 100.0% (609 of 609 strings)
2020-12-01 23:52:11 +01:00
Hosted Weblate
f95b3262a0 Merge branch 'origin/dev' into Weblate. 2020-12-01 20:59:26 +01:00
Óscar Fernández Díaz
794a14e76c Translated using Weblate (Spanish)
Currently translated at 27.5% (11 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
2020-12-01 20:59:26 +01:00
Gontzal Manuel Pujana Onaindia
ba857b5ef7 Translated using Weblate (Basque)
Currently translated at 25.0% (10 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/eu/
2020-12-01 20:59:25 +01:00
minsk21
2aed04a8c2 Translated using Weblate (Belarusian)
Currently translated at 83.7% (510 of 609 strings)
2020-12-01 20:59:25 +01:00
Stypox
5f9e6b51da Merge pull request #5043 from mhmdanas/improve-database-summaries
Improve export database summary
2020-12-01 20:43:57 +01:00
mhmdanas
e7b5c99ed6 Remove Oxford comma 2020-12-01 22:04:14 +03:00
mhmdanas
9c0b3d35be State what is exported or imported explicitly 2020-12-01 18:09:36 +03:00
TobiGr
a54bc96eab Update extractor to 0.20.5 2020-12-01 08:22:17 +01:00
Ajeje Brazorf
a2a8e4b965 Translated using Weblate (Sardinian)
Currently translated at 12.5% (5 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sc/
2020-12-01 08:20:11 +01:00
ssantos
81ad2c61d9 Translated using Weblate (Portuguese (Portugal))
Currently translated at 62.5% (25 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_PT/
2020-12-01 08:20:10 +01:00
Bopol
32616493b3 Translated using Weblate (French)
Currently translated at 70.0% (28 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
2020-12-01 08:20:10 +01:00
Stypox
05183ffd0f Translated using Weblate (Italian)
Currently translated at 25.0% (10 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
2020-12-01 08:20:09 +01:00
Yaron Shahrabani
e72ddc9439 Translated using Weblate (Hebrew)
Currently translated at 27.5% (11 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
2020-12-01 08:20:09 +01:00
ssantos
32e3caecac Translated using Weblate (Portuguese)
Currently translated at 62.5% (25 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
2020-12-01 08:20:08 +01:00
minsk21
df43389183 Translated using Weblate (Belarusian)
Currently translated at 74.5% (454 of 609 strings)
2020-12-01 08:20:07 +01:00
Aarjav Parashar
19b77809ec Translated using Weblate (Hindi)
Currently translated at 82.2% (501 of 609 strings)
2020-12-01 08:20:07 +01:00
Milo Ivir
be05b827f3 Translated using Weblate (Croatian)
Currently translated at 99.1% (604 of 609 strings)
2020-12-01 08:20:06 +01:00
Vũ Hoàng
5dfc6f822d Translated using Weblate (Vietnamese)
Currently translated at 100.0% (609 of 609 strings)
2020-12-01 08:20:06 +01:00
Emin Tufan Çetin
c3e004da03 Translated using Weblate (Turkish)
Currently translated at 100.0% (609 of 609 strings)
2020-12-01 08:20:05 +01:00
zmni
8bae73b6ea Translated using Weblate (Indonesian)
Currently translated at 100.0% (609 of 609 strings)
2020-12-01 08:20:04 +01:00
Mohammed Anas
d1e19d3b63 Translated using Weblate (Arabic)
Currently translated at 100.0% (609 of 609 strings)
2020-12-01 08:20:04 +01:00
Francesco Saltori
ffca897ddf Translated using Weblate (Italian)
Currently translated at 100.0% (609 of 609 strings)
2020-12-01 08:20:03 +01:00
mhmdanas
4277b6e262 Fix unescaped quote 2020-11-30 19:52:38 +03:00
mhmdanas
506c4ce701 Improve "import database" summary 2020-11-30 19:49:55 +03:00
mhmdanas
d251e58984 Improve export database summary 2020-11-30 15:45:51 +03:00
Mohammed Anas
4a1213c081 Translated using Weblate (Arabic)
Currently translated at 62.5% (25 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/
2020-11-28 14:21:26 +01:00
Oğuz Ersen
8b7609255c Translated using Weblate (Turkish)
Currently translated at 17.5% (7 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
2020-11-28 14:21:25 +01:00
TobiGr
ef78fe0653 Translated using Weblate (German)
Currently translated at 27.5% (11 of 40 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
2020-11-28 14:21:25 +01:00
TobiGr
70b3ccb422 Release NewPipe 0.20.5 (959) 2020-11-28 12:56:45 +01:00
TobiGr
81d6b367fe Add changelog for 0.20.5 (959) 2020-11-28 12:54:21 +01:00
TobiGr
0a78ae60be Add missing import for @throws annotation 2020-11-28 12:53:22 +01:00
TobiGr
a61830a860 Merge remote-tracking branch 'Weblate/dev' into dev 2020-11-28 12:47:46 +01:00
Mukhamadjonov
86bae9ddc9 Translated using Weblate (Uzbek (latin))
Currently translated at 58.9% (23 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uz_Latn/
2020-11-28 12:46:10 +01:00
Issac
033780862a Translated using Weblate (Spanish)
Currently translated at 23.0% (9 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
2020-11-28 12:46:10 +01:00
pjammo
6094d8a74e Translated using Weblate (Italian)
Currently translated at 23.0% (9 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
2020-11-28 12:46:09 +01:00
yn
356ca3d177 Translated using Weblate (Japanese)
Currently translated at 15.3% (6 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ja/
2020-11-28 12:46:09 +01:00
Igor Nedoboy
d69806faa9 Translated using Weblate (Russian)
Currently translated at 100.0% (39 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ru/
2020-11-28 12:46:08 +01:00
David Schneider
ab67635dcb Translated using Weblate (German)
Currently translated at 25.6% (10 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
2020-11-28 12:46:07 +01:00
Igor Nedoboy
cee3d49458 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:06 +01:00
Igor Nedoboy
5b53a7aef7 Translated using Weblate (Sardinian)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:06 +01:00
Igor Nedoboy
9b29665cc0 Translated using Weblate (Dutch (Belgium))
Currently translated at 99.6% (607 of 609 strings)
2020-11-28 12:46:06 +01:00
Igor Nedoboy
f447c87b45 Translated using Weblate (Finnish)
Currently translated at 99.6% (607 of 609 strings)
2020-11-28 12:46:06 +01:00
Igor Nedoboy
e3eea45d86 Translated using Weblate (Hebrew)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:06 +01:00
Jeff Huang
f61a06ce0a Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:05 +01:00
Eric
539842aa99 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:05 +01:00
Igor Nedoboy
5925f1d2aa Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:05 +01:00
Enol P
61eb150825 Translated using Weblate (Asturian)
Currently translated at 47.9% (292 of 609 strings)
2020-11-28 12:46:04 +01:00
Igor Nedoboy
cf95de4d27 Translated using Weblate (Polish)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:04 +01:00
Oğuz Ersen
fdad7ec1ba Translated using Weblate (Turkish)
Currently translated at 99.8% (608 of 609 strings)
2020-11-28 12:46:04 +01:00
Igor Nedoboy
850efb4237 Translated using Weblate (Indonesian)
Currently translated at 99.6% (607 of 609 strings)
2020-11-28 12:46:04 +01:00
Igor Nedoboy
853cb3887f Translated using Weblate (Arabic)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:03 +01:00
Igor Nedoboy
412f2c1664 Translated using Weblate (Czech)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:03 +01:00
zeritti
2810a69bd4 Translated using Weblate (Czech)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:03 +01:00
Igor Nedoboy
5347f95f50 Translated using Weblate (Slovak)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:03 +01:00
Igor Nedoboy
6b469f0621 Translated using Weblate (Greek)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:03 +01:00
Igor Nedoboy
0021562c93 Translated using Weblate (Basque)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:02 +01:00
Gontzal Manuel Pujana Onaindia
f2bd2b0a59 Translated using Weblate (Basque)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:02 +01:00
Igor Nedoboy
647eb8bbf5 Translated using Weblate (Portuguese)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:02 +01:00
Igor Nedoboy
816d13ae3f Translated using Weblate (Italian)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:02 +01:00
pjammo
578fea4a9c Translated using Weblate (Italian)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:02 +01:00
Y. Sakamoto
1a660d9a4a Translated using Weblate (Japanese)
Currently translated at 99.8% (608 of 609 strings)
2020-11-28 12:46:01 +01:00
Igor Nedoboy
227ac6d9e3 Translated using Weblate (English)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:01 +01:00
Igor Nedoboy
bb57407733 Translated using Weblate (Dutch)
Currently translated at 99.6% (607 of 609 strings)
2020-11-28 12:46:01 +01:00
Éfrit
13ddcce0a2 Translated using Weblate (French)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:00 +01:00
Igor Nedoboy
53767a78d1 Translated using Weblate (Spanish)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:00 +01:00
Issac
5600e8a2ad Translated using Weblate (Spanish)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:00 +01:00
Igor Nedoboy
c6ed52c592 Translated using Weblate (German)
Currently translated at 100.0% (609 of 609 strings)
2020-11-28 12:46:00 +01:00
Allan Nordhøy
3ad14e4adf Contributing guidelines reworked (#4318)
* Contributing guidelines reworked

Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
Co-authored-by: bopol <bopol@e.email>
Co-authored-by: Tobias Groza <TobiGr@users.noreply.github.com>
2020-11-28 12:00:00 +01:00
Igor Nedoboy
8a22bdea5d Translated using Weblate (French)
Currently translated at 100.0% (609 of 609 strings)
2020-11-27 22:53:42 +01:00
Éfrit
6135a3c3e2 Translated using Weblate (French)
Currently translated at 100.0% (609 of 609 strings)
2020-11-27 22:53:42 +01:00
Tobias Groza
1e3c979303 Merge pull request #5005 from Chenkail/grammar-fixes
Minor grammar fixes in README.md
2020-11-27 22:31:17 +01:00
Tobias Groza
d0228406b6 Merge pull request #4995 from XiangRongLin/hotfix
Make ErrorInfo contructor public
2020-11-27 22:29:12 +01:00
XiangRongLin
507a2237b7 Make ErrorInfo constructor public
Allows the library behind Parceable to crete an object of the class.
2020-11-25 17:05:52 +01:00
Chenkail
c15c597d99 Update README.md 2020-11-25 11:12:53 +00:00
Igor Nedoboy
7c26cd3270 Translated using Weblate (Russian)
Currently translated at 100.0% (609 of 609 strings)
2020-11-24 02:14:43 +01:00
Igor Nedoboy
938af73059 Translated using Weblate (Russian)
Currently translated at 100.0% (609 of 609 strings)
2020-11-24 02:06:09 +01:00
Jeff Huang
1c047366d2 Translated using Weblate (Chinese (Traditional))
Currently translated at 56.4% (22 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
2020-11-23 23:11:07 +01:00
Michal L
cb20f0cbb0 Translated using Weblate (Polish)
Currently translated at 46.1% (18 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
2020-11-23 23:11:06 +01:00
Yaron Shahrabani
468251c84e Translated using Weblate (Hebrew)
Currently translated at 25.6% (10 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
2020-11-23 23:11:06 +01:00
Gontzal Manuel Pujana Onaindia
ca86ae0c9a Translated using Weblate (Basque)
Currently translated at 23.0% (9 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/eu/
2020-11-23 23:11:05 +01:00
Sérgio Marques
59221b0b4e Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (609 of 609 strings)
2020-11-23 23:11:05 +01:00
Marcos Chavarría Teijeiro
d3e0640400 Translated using Weblate (Galician)
Currently translated at 94.4% (575 of 609 strings)
2020-11-23 23:11:04 +01:00
Davit Mayilyan
bcb72321f5 Translated using Weblate (Armenian)
Currently translated at 23.9% (146 of 609 strings)
2020-11-23 23:11:04 +01:00
Jeff Huang
4060af715d Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (609 of 609 strings)
2020-11-23 23:11:03 +01:00
Eric
2ec0237e83 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (609 of 609 strings)
2020-11-23 23:11:03 +01:00
Michal L
c5593880f2 Translated using Weblate (Polish)
Currently translated at 100.0% (609 of 609 strings)
2020-11-23 23:11:03 +01:00
Marian Hanzel
3673cbce4f Translated using Weblate (Slovak)
Currently translated at 100.0% (609 of 609 strings)
2020-11-23 23:11:02 +01:00
Vasilis K
1f6f7be4b2 Translated using Weblate (Greek)
Currently translated at 100.0% (609 of 609 strings)
2020-11-23 23:11:02 +01:00
Gontzal Manuel Pujana Onaindia
580cce3506 Translated using Weblate (Basque)
Currently translated at 100.0% (609 of 609 strings)
2020-11-23 23:11:02 +01:00
Sérgio Marques
36ba546fc6 Translated using Weblate (Portuguese)
Currently translated at 100.0% (609 of 609 strings)
2020-11-23 23:11:01 +01:00
Francesco Saltori
7f37799cbe Translated using Weblate (Italian)
Currently translated at 100.0% (609 of 609 strings)
2020-11-23 23:11:01 +01:00
Sérgio Marques
5570eeeff9 Translated using Weblate (Portuguese)
Currently translated at 99.6% (607 of 609 strings)
2020-11-23 15:16:35 +01:00
pjammo
2b186ce6e0 Translated using Weblate (Italian)
Currently translated at 100.0% (609 of 609 strings)
2020-11-23 08:20:34 +01:00
Francesco Saltori
72938fed69 Translated using Weblate (Italian)
Currently translated at 100.0% (609 of 609 strings)
2020-11-23 08:20:33 +01:00
Tobias Groza
d54c806e03 Merge pull request #4969 from B0pol/peertube_instances
[PeerTube] update instances list
2020-11-22 23:07:29 +01:00
Hosted Weblate
7eb3551485 Merge branch 'origin/dev' into Weblate. 2020-11-22 22:50:12 +01:00
David Braz
57abe27895 Translated using Weblate (Portuguese (Brazil))
Currently translated at 23.0% (9 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/
2020-11-22 22:30:43 +01:00
David Braz
a628a36082 Translated using Weblate (Portuguese (Brazil))
Currently translated at 23.0% (9 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/
2020-11-22 22:29:56 +01:00
Ajeje Brazorf
0d3e04ff25 Translated using Weblate (Sardinian)
Currently translated at 100.0% (609 of 609 strings)
2020-11-22 22:29:56 +01:00
Yaron Shahrabani
0c78a3f7b0 Translated using Weblate (Hebrew)
Currently translated at 100.0% (609 of 609 strings)
2020-11-22 22:29:55 +01:00
simo
fb1f574c26 Translated using Weblate (Arabic)
Currently translated at 100.0% (609 of 609 strings)
2020-11-22 22:29:55 +01:00
bopol
7f15c18fca [PeerTube] update instance list 2020-11-22 22:10:41 +01:00
TobiGr
e274650956 Release NewPipe 0.20.4 2020-11-22 18:18:14 +01:00
Oğuz Ersen
2a1db4a338 Revert "Translated using Weblate (Turkish)"
This reverts commit 6d15389da8.
2020-11-22 18:04:04 +01:00
TobiGr
0b6ea9ec61 Translated using Weblate (German)
Currently translated at 25.6% (10 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
2020-11-22 18:03:23 +01:00
Bopol
257a826d45 Translated using Weblate (French)
Currently translated at 69.2% (27 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
2020-11-22 17:53:49 +01:00
Mohammed Anas
e9f48f5134 Translated using Weblate (Arabic)
Currently translated at 61.5% (24 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/
2020-11-22 17:53:48 +01:00
Stypox
fcf04624d4 Translated using Weblate (Italian)
Currently translated at 23.0% (9 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
2020-11-22 17:53:47 +01:00
mmagian
16218d6dc5 Translated using Weblate (Portuguese (Brazil))
Currently translated at 20.5% (8 of 39 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/
2020-11-22 17:53:47 +01:00
mmagian
071f33e3cd Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (609 of 609 strings)
2020-11-22 17:53:46 +01:00
Oğuz Ersen
6d15389da8 Translated using Weblate (Turkish)
Currently translated at 99.1% (604 of 609 strings)
2020-11-22 17:53:46 +01:00
Ldm Public
2e8530ec00 Translated using Weblate (French)
Currently translated at 100.0% (609 of 609 strings)
2020-11-22 17:53:46 +01:00
nautilusx
4edd1c5497 Translated using Weblate (German)
Currently translated at 100.0% (609 of 609 strings)
2020-11-22 17:53:46 +01:00
TobiGr
8e693b8b42 Add changelog for version 0.20.4 (958) 2020-11-22 14:53:36 +01:00
Tobias Groza
29376066e8 Merge pull request #4768 from Stypox/update-dependencies
Update most dependencies
2020-11-22 14:28:57 +01:00
Stypox
a44f3071bf Update checkstyle (8.36.2 -> 8.37) and mockito-core (3.5.13 -> 3.6.0) 2020-11-22 14:03:11 +01:00
Stypox
b66047e084 Fix ktlint errors 2020-11-22 14:03:10 +01:00
Stypox
f0ca916432 Update most dependencies 2020-11-22 14:03:10 +01:00
Tobias Groza
c88b4032ef Merge pull request #4948 from Stypox/fix-crash-startup
Fix crash on startup when there is no internet connection
2020-11-22 14:00:36 +01:00
Stypox
6f5e99be6f Handle CheckForNewAppVersion exceptions in one place 2020-11-22 13:27:51 +01:00
TobiGr
fd4c37e9b3 Fix crash on startup caused by no implementation of onError() method 2020-11-22 11:46:24 +01:00
TobiGr
7a8dab2d58 Fix typos 2020-11-22 10:39:00 +01:00
TobiGr
6f3dfad550 Fix Lint: Inconsistent line separators 2020-11-22 10:16:27 +01:00
TobiGr
18fb0a13d7 Merge remote-tracking branch 'Weblate/dev' into dev 2020-11-22 10:10:41 +01:00
Rui Martins
e88f9ae03b Translated using Weblate (Portuguese)
Currently translated at 60.5% (23 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
2020-11-21 22:09:26 +01:00
Éfrit
30c010ad3f Translated using Weblate (French)
Currently translated at 68.4% (26 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
2020-11-21 18:06:19 +01:00
Azizov Aga
e84e70bdc6 Translated using Weblate (Azerbaijani)
Currently translated at 5.2% (2 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/az/
2020-11-21 18:06:19 +01:00
Sebuktegin Khan
1e6b6165ae Translated using Weblate (Hindi)
Currently translated at 2.6% (1 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
2020-11-21 18:06:18 +01:00
Gontzal Manuel Pujana Onaindia
c6d149d091 Translated using Weblate (Basque)
Currently translated at 21.0% (8 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/eu/
2020-11-21 18:06:18 +01:00
Deactivated Account
d55d8d78de Translated using Weblate (Greek)
Currently translated at 36.8% (14 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/el/
2020-11-21 18:06:18 +01:00
Azizov Aga
eff59f7b5e Translated using Weblate (Azerbaijani)
Currently translated at 43.1% (261 of 605 strings)
2020-11-21 18:06:17 +01:00
Davit Mayilyan
a7a5437245 Translated using Weblate (Armenian)
Currently translated at 18.3% (111 of 605 strings)
2020-11-21 18:06:15 +01:00
Gontzal Manuel Pujana Onaindia
6671b9e55b Translated using Weblate (Basque)
Currently translated at 100.0% (605 of 605 strings)
2020-11-21 18:06:14 +01:00
Éfrit
2dde1cc589 Translated using Weblate (French)
Currently translated at 100.0% (605 of 605 strings)
2020-11-21 18:06:14 +01:00
Stypox
17866c29ae Refactor CheckForNewAppVersion 2020-11-21 12:02:08 +01:00
Stypox
8dc4e6dc2a Fix crash on startup without internet: Cbservable callable returning null
Use Maybe instead
2020-11-21 12:02:03 +01:00
Stypox
1197f44262 Merge pull request #4944 from Isira-Seneviratne/Dispose_RxView_disposable
Dispose of RxViews disposable in BaseStateFragment.
2020-11-21 10:52:00 +01:00
Stypox
a86ed1f801 Merge pull request #4815 from Isira-Seneviratne/Use_try-with-resources
Use try-with-resources.
2020-11-21 10:20:49 +01:00
Isira Seneviratne
e98d3423e4 Dispose of RxViews disposable in BaseStateFragment. 2020-11-21 14:24:21 +05:30
Isira Seneviratne
95333d37c8 Use try-with-resources. 2020-11-21 13:47:13 +05:30
Stypox
8bcf0c6498 Merge pull request #4377 from Isira-Seneviratne/Use_Parcelize_annotation
Use the Kotlin Parcelize annotation.
2020-11-21 08:39:55 +01:00
Isira Seneviratne
340b92e32b Convert ErrorInfo to Kotlin and use the Parcelize annotation. 2020-11-21 12:47:35 +05:30
Isira Seneviratne
6e68ab19f9 Convert SavedState to Kotlin and use the Parcelize annotation. 2020-11-21 12:47:32 +05:30
Isira Seneviratne
15fed32d92 Convert SoftwareComponent to Kotlin and use the Parcelize annotation. 2020-11-21 12:47:30 +05:30
Isira Seneviratne
897c754dd4 Convert MissionRecoveryInfo to Kotlin and use the Parcelize annotation. 2020-11-21 12:47:29 +05:30
Isira Seneviratne
ec1e746a22 Convert License to Kotlin and use the Parcelize annotation. 2020-11-21 12:47:26 +05:30
Stypox
001f078ba9 Merge pull request #4937 from vkay94/fix-player-brightness-volume-setting
Fix respecting brightness-volume-gesture settings
2020-11-20 22:53:14 +01:00
Atemu
c0ff1e86b9 VideoDetailFragment: Don't exit fullscreen on rotation in tablet UI
Fixes https://github.com/TeamNewPipe/NewPipe/issues/4936

Going from portrait to landscape doesn't toggle fullscreen in tablet mode, so
the reverse action shouldn't do it either.
2020-11-20 21:52:27 +01:00
vkay94
b5321152fd Player gestures: Fix respecting brightness-volume-gesture settings 2020-11-20 21:08:02 +01:00
Stypox
66d15ea635 Merge pull request #4893 from okan35/whatsNewSwipeRefresh
Pull to Refresh Feed
2020-11-20 18:13:32 +01:00
Stypox
72177033d2 Merge pull request #4891 from vkay94/locallist-entry-progressTime
Improve performance for some updateState calls (local lists)
2020-11-20 17:12:16 +01:00
Stypox
06b7072240 Merge pull request #4642 from XiangRongLin/hide_thumbnail
Add option to hide thumbnail on lock screen
2020-11-20 16:35:10 +01:00
Tobias Groza
4700f35739 Merge pull request #4921 from Isira-Seneviratne/Call_offsetDateTime_instead_of_date
Call DateWrapper's offsetDateTime() instead of date().
2020-11-20 15:58:22 +01:00
Tobias Groza
bbfa280e86 Merge pull request #4929 from TacoTheDank/murder-all-the-annoying-lints
Various code improvements
2020-11-20 15:53:37 +01:00
TacoTheDank
2669ba944d Correct some other small lints 2020-11-19 18:54:27 -05:00
Michal L
c8788dbfbe Translated using Weblate (Polish)
Currently translated at 44.7% (17 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
2020-11-20 00:21:29 +01:00
Anxhelo Lushka
5e7c3b53f8 Translated using Weblate (Albanian)
Currently translated at 98.8% (598 of 605 strings)
2020-11-20 00:21:28 +01:00
Vasilis K
99348c2300 Translated using Weblate (Greek)
Currently translated at 100.0% (605 of 605 strings)
2020-11-20 00:21:28 +01:00
randomtroller
ab2b9797fd Translated using Weblate (Slovenian)
Currently translated at 54.7% (331 of 605 strings)
2020-11-20 00:21:28 +01:00
Alvaro
637653ea11 Translated using Weblate (Spanish)
Currently translated at 99.8% (604 of 605 strings)
2020-11-20 00:21:27 +01:00
TacoTheDank
04cb6ba3d0 Update Android Studio 2020-11-19 15:25:07 -05:00
Isira Seneviratne
eb1cddd85a Call DateWrapper's offsetDateTime() instead of date(). 2020-11-19 18:37:07 +05:30
Prasanta-Hembram
723b230093 Translated using Weblate (Santali)
Currently translated at 10.5% (64 of 605 strings)
2020-11-19 09:33:47 +01:00
nautilusx
7185fae491 Translated using Weblate (German)
Currently translated at 23.6% (9 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
2020-11-19 09:33:46 +01:00
TacoTheDank
0274cd6beb Lint: Inner class may be static 2020-11-18 18:02:33 -05:00
TacoTheDank
ad2ea0b807 Lint: 'if' replaceable with 'switch' 2020-11-18 17:58:41 -05:00
TacoTheDank
c24999075d Lint: Lambda fix 2020-11-18 17:57:30 -05:00
TacoTheDank
773bde14ab Lint: 'size() == 0' replaceable with 'isEmpty()' 2020-11-18 17:54:16 -05:00
TacoTheDank
00b08318a5 Lint: Redundant 'new' expression in constant array creation 2020-11-18 17:52:30 -05:00
TacoTheDank
39e5d8ccc2 Lint: Make a bunch of stuff final 2020-11-18 17:50:00 -05:00
TacoTheDank
e25622df4b Lint: Move declarations into assignments 2020-11-18 17:48:01 -05:00
TacoTheDank
ea5939c1b7 Kotlin lint fixing 2020-11-18 17:45:19 -05:00
TacoTheDank
4734d04d4f Use two more KTX extensions 2020-11-18 17:29:58 -05:00
TobiGr
493e47f7e6 Add Central Atlas Tamazight (Tamaziɣt) to app locales 2020-11-18 19:59:15 +01:00
Mukhamadjonov
ef2b32eb05 Translated using Weblate (Uzbek (latin))
Currently translated at 13.1% (5 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/uz_Latn/
2020-11-18 18:44:59 +01:00
Mukhamadjonov
1da91d44e1 Translated using Weblate (Uzbek (latin))
Currently translated at 99.1% (600 of 605 strings)
2020-11-18 18:44:58 +01:00
Mario Rossi
ebd7ab3e46 Translated using Weblate (Neapolitan)
Currently translated at 10.7% (65 of 605 strings)
2020-11-18 18:44:54 +01:00
Allan Nordhøy
99bddfdf0a Translated using Weblate (Norwegian Bokmål)
Currently translated at 10.5% (4 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nb_NO/
2020-11-18 18:44:53 +01:00
Nicky Db
144f48c9a6 Translated using Weblate (Dutch (Belgium))
Currently translated at 36.8% (14 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl_BE/
2020-11-18 18:44:53 +01:00
Mark
8d0d2ba07b Translated using Weblate (Dutch)
Currently translated at 10.5% (4 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl/
2020-11-18 18:44:52 +01:00
Yaron Shahrabani
a6ad334dc0 Translated using Weblate (Hebrew)
Currently translated at 23.6% (9 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
2020-11-18 18:44:52 +01:00
Naimul Kabir
468ca30070 Translated using Weblate (Bengali)
Currently translated at 10.5% (4 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/bn/
2020-11-18 18:44:52 +01:00
UserX
7b2d2d9338 Translated using Weblate (German)
Currently translated at 23.6% (9 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
2020-11-18 18:44:51 +01:00
Naimul Kabir
0e08819cf3 Translated using Weblate (Bengali)
Currently translated at 78.6% (476 of 605 strings)
2020-11-18 18:44:51 +01:00
vachan-maker
1d3f7b49dc Translated using Weblate (Malayalam)
Currently translated at 92.7% (561 of 605 strings)
2020-11-18 18:44:51 +01:00
Allan Nordhøy
3566ec7012 Translated using Weblate (Norwegian Bokmål)
Currently translated at 93.3% (565 of 605 strings)
2020-11-18 18:44:50 +01:00
Azizov Aga
f37a36efa4 Translated using Weblate (Azerbaijani)
Currently translated at 36.5% (221 of 605 strings)
2020-11-18 18:44:50 +01:00
षिखर्
2ea069cd8c Translated using Weblate (Hindi)
Currently translated at 78.5% (475 of 605 strings)
2020-11-18 18:44:48 +01:00
Naimul Kabir
08e111f6dc Translated using Weblate (Bengali (Bangladesh))
Currently translated at 64.9% (393 of 605 strings)
2020-11-18 18:44:48 +01:00
Krysa Czech
6339881684 Translated using Weblate (Czech)
Currently translated at 100.0% (605 of 605 strings)
2020-11-18 18:44:47 +01:00
Stypox
e222538575 Translated using Weblate (Italian)
Currently translated at 100.0% (605 of 605 strings)
2020-11-18 18:44:47 +01:00
Francesco Saltori
c4a67ce420 Translated using Weblate (Italian)
Currently translated at 100.0% (605 of 605 strings)
2020-11-18 18:44:47 +01:00
xxkfqz
77e348ba62 Translated using Weblate (Russian)
Currently translated at 100.0% (605 of 605 strings)
2020-11-18 18:44:46 +01:00
Pera Petrovic
bde39d8c37 Translated using Weblate (Serbian)
Currently translated at 40.9% (248 of 605 strings)
2020-11-18 18:44:45 +01:00
Tobias Groza
ebb906c273 Merge pull request #4852 from TeamNewPipe/release_0.20.3
Release 0.20.3
2020-11-18 16:40:52 +01:00
TobiGr
46b91bf8b0 Merge remote-tracking branch 'Weblate/dev' into release_0.20.3 2020-11-18 15:57:57 +01:00
okan35
7a432b38e9 gradle change 2020-11-17 19:25:49 +01:00
okan35
9b6a201bbb removed unnecessary spaces - code change 2020-11-17 19:23:29 +01:00
Bopol
a79d7c8417 Translated using Weblate (French)
Currently translated at 68.4% (26 of 38 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
2020-11-16 22:09:30 +01:00
Stypox
7a6e0d651f Add Uzbek language (O'zbek) and remove Neapolitan
Neapolitan only has 43 translated strings, so it should not appear as a possible language
2020-11-15 23:37:39 +01:00
Stypox
7476498823 [Regression] Revert "Removed remember popup properties setting"
This reverts commit 314615bfef.
2020-11-15 22:24:27 +01:00
Stypox
4c7b5d44a0 [Regression] Fix videos added multiple times to detail fragment stack 2020-11-15 22:23:47 +01:00
Mukhamadjonov
620bb54881 Translated using Weblate (Uzbek (latin))
Currently translated at 66.7% (404 of 605 strings)
2020-11-15 22:23:47 +01:00
Prasanta-Hembram
73be747cbe Translated using Weblate (Santali)
Currently translated at 8.5% (52 of 605 strings)
2020-11-15 22:23:46 +01:00
WaldiS
4d874451c9 Translated using Weblate (Polish)
Currently translated at 37.8% (14 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
2020-11-15 22:23:46 +01:00
Allan Nordhøy
3245d620c3 Translated using Weblate (Norwegian Bokmål)
Currently translated at 93.3% (565 of 605 strings)
2020-11-15 22:23:46 +01:00
Terry Louwers
a59f80589a Translated using Weblate (Dutch (Belgium))
Currently translated at 100.0% (605 of 605 strings)
2020-11-15 22:23:46 +01:00
Milo Ivir
6b269c7559 Translated using Weblate (Croatian)
Currently translated at 98.8% (598 of 605 strings)
2020-11-15 22:23:46 +01:00
Michal L
53cadeab61 Translated using Weblate (Polish)
Currently translated at 100.0% (605 of 605 strings)
2020-11-15 22:23:46 +01:00
2-Seol
e90d388fdb Translated using Weblate (Korean)
Currently translated at 82.8% (501 of 605 strings)
2020-11-15 22:23:46 +01:00
Terry Louwers
219f059834 Translated using Weblate (Dutch)
Currently translated at 100.0% (605 of 605 strings)
2020-11-15 22:23:46 +01:00
WaldiS
dc2dac66a3 Translated using Weblate (Polish)
Currently translated at 99.8% (604 of 605 strings)
2020-11-15 22:23:46 +01:00
Mukhamadjonov
e04ee666b8 Translated using Weblate (Uzbek (latin))
Currently translated at 36.5% (221 of 605 strings)
2020-11-15 22:23:46 +01:00
Prasanta-Hembram
7d27003bb2 Translated using Weblate (Santali)
Currently translated at 8.4% (51 of 605 strings)
2020-11-15 22:23:46 +01:00
Allan Nordhøy
b866c9dd08 Translated using Weblate (Norwegian Bokmål)
Currently translated at 10.8% (4 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nb_NO/
2020-11-15 22:23:46 +01:00
Ajeje Brazorf
d17236fe45 Translated using Weblate (Sardinian)
Currently translated at 10.8% (4 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sc/
2020-11-15 22:23:46 +01:00
ssantos
d2580ec87c Translated using Weblate (Portuguese (Portugal))
Currently translated at 54.0% (20 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_PT/
2020-11-15 22:23:46 +01:00
Florian
7c10f414dc Translated using Weblate (French)
Currently translated at 24.3% (9 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
2020-11-15 22:23:46 +01:00
simo
2a4717cb7f Translated using Weblate (Arabic)
Currently translated at 62.1% (23 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/
2020-11-15 22:23:46 +01:00
Yaron Shahrabani
be9cb8a4da Translated using Weblate (Hebrew)
Currently translated at 21.6% (8 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
2020-11-15 22:23:46 +01:00
ssantos
e887363910 Translated using Weblate (Portuguese)
Currently translated at 54.0% (20 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
2020-11-15 22:23:45 +01:00
nautilusx
a274159726 Translated using Weblate (German)
Currently translated at 18.9% (7 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
2020-11-15 22:23:45 +01:00
ssantos
83384e0de4 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (605 of 605 strings)
2020-11-15 22:23:45 +01:00
Ajeje Brazorf
748904b8ad Translated using Weblate (Sardinian)
Currently translated at 100.0% (605 of 605 strings)
2020-11-15 22:23:44 +01:00
Yaron Shahrabani
3e72df8b1e Translated using Weblate (Hebrew)
Currently translated at 100.0% (605 of 605 strings)
2020-11-15 22:23:25 +01:00
Jeff Huang
2921563e9c Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (605 of 605 strings)
2020-11-15 22:23:25 +01:00
Eric
01c1346696 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (605 of 605 strings)
2020-11-15 22:23:25 +01:00
simo
796e0456ef Translated using Weblate (Arabic)
Currently translated at 100.0% (605 of 605 strings)
2020-11-15 22:23:24 +01:00
Bopol
eeb68497fe Translated using Weblate (Esperanto)
Currently translated at 91.0% (551 of 605 strings)
2020-11-15 22:23:24 +01:00
ssantos
7eadb6acad Translated using Weblate (Portuguese)
Currently translated at 100.0% (605 of 605 strings)
2020-11-15 22:23:24 +01:00
Vancha March
9d588aa7e7 Translated using Weblate (Dutch)
Currently translated at 99.8% (604 of 605 strings)
2020-11-15 22:23:24 +01:00
Florian
204b5f7f09 Translated using Weblate (French)
Currently translated at 100.0% (605 of 605 strings)
2020-11-15 22:23:24 +01:00
nautilusx
e0f53b63ce Translated using Weblate (German)
Currently translated at 100.0% (605 of 605 strings)
2020-11-15 22:23:24 +01:00
Allan Nordhøy
83f4dbe40e Translated using Weblate (Norwegian Bokmål)
Currently translated at 93.0% (563 of 605 strings)
2020-11-15 22:23:24 +01:00
Mukhamadjonov
8d8ba68838 Translated using Weblate (Uzbek (latin))
Currently translated at 20.3% (123 of 603 strings)
2020-11-15 22:23:24 +01:00
Stypox
3f25940dec Release 0.20.3 2020-11-15 22:23:24 +01:00
okan35
745773b207 swipe to refresh added 2020-11-15 17:54:40 +01:00
Tobias Groza
35f5575595 Merge pull request #4892 from TeamNewPipe/correct_gigaget_license
Correct Gigaget's license from GPLv2 to GPLv3
2020-11-15 15:30:02 +01:00
opusforlife2
e4746f8b32 Remove GPLv2 - not needed 2020-11-15 14:04:10 +00:00
opusforlife2
7e0552efde Delete GPLv2 license file - not needed 2020-11-15 14:03:20 +00:00
opusforlife2
6075b98634 Correct Gigaget's license
It's GPLv3, not GPLv2.
2020-11-15 13:41:43 +00:00
vkay94
ebe9f518d0 Replace some loadStateStream calls with progressTime field 2020-11-15 14:12:05 +01:00
vkay94
37ceddd11b Add progressTime field to some stream entries (database) 2020-11-15 14:08:41 +01:00
Hosted Weblate
d1d8b911b9 Merge branch 'origin/dev' into Weblate. 2020-11-14 11:48:32 +01:00
Stypox
796e656328 Translated using Weblate (Italian)
Currently translated at 100.0% (605 of 605 strings)
2020-11-14 11:48:32 +01:00
ysard
8b869915e7 Translated using Weblate (French)
Currently translated at 67.5% (25 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
2020-11-14 11:48:21 +01:00
Stypox
9b05243d61 Translated using Weblate (Italian)
Currently translated at 100.0% (605 of 605 strings)
2020-11-14 11:48:20 +01:00
Stypox
81c24510a8 Add Release 0.20.3 fastlane changelog to allow translation 2020-11-14 11:30:27 +01:00
Stypox
9e7fb4d21a Merge pull request #4771 from Stypox/fix-playlist-select
Fix playlist select dialog and do some refactoring
2020-11-14 11:21:20 +01:00
XiangRongLin
7805f8a9b1 Add option to hide thumbnail on lock screen and inside notification 2020-11-14 10:01:07 +01:00
Prasanta-Hembram
ae7f04578d Translated using Weblate (Santali)
Currently translated at 9.7% (59 of 605 strings)
2020-11-14 00:56:38 +01:00
chr56
ce814cffd1 Translated using Weblate (Chinese (Simplified))
Currently translated at 64.8% (24 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
2020-11-14 00:56:38 +01:00
Ville Rantanen
703b310ef0 Translated using Weblate (Finnish)
Currently translated at 5.4% (2 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fi/
2020-11-14 00:56:36 +01:00
ysard
da6c4ad36a Translated using Weblate (French)
Currently translated at 24.3% (9 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
2020-11-14 00:56:36 +01:00
Michal L
a8c849d38a Translated using Weblate (Polish)
Currently translated at 40.5% (15 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
2020-11-14 00:56:35 +01:00
jimman2003
d8d5e04a51 Translated using Weblate (Greek)
Currently translated at 16.2% (6 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/el/
2020-11-14 00:56:35 +01:00
David Braz
fa348cb98f Translated using Weblate (Portuguese (Brazil))
Currently translated at 21.6% (8 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/
2020-11-14 00:56:34 +01:00
Oymate
f4ec2d8107 Translated using Weblate (Bengali)
Currently translated at 78.5% (475 of 605 strings)
2020-11-14 00:56:33 +01:00
Ville Rantanen
de39d828de Translated using Weblate (Finnish)
Currently translated at 100.0% (605 of 605 strings)
2020-11-14 00:56:33 +01:00
David Braz
25d3d0d0ba Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (605 of 605 strings)
2020-11-14 00:56:33 +01:00
Habib Rohman
6f3b1000a7 Translated using Weblate (Indonesian)
Currently translated at 100.0% (605 of 605 strings)
2020-11-14 00:56:32 +01:00
Marian Hanzel
1ebb8d8d14 Translated using Weblate (Slovak)
Currently translated at 100.0% (605 of 605 strings)
2020-11-14 00:56:32 +01:00
jimman2003
4e4acdaecc Translated using Weblate (Greek)
Currently translated at 99.6% (603 of 605 strings)
2020-11-14 00:56:32 +01:00
pjammo
f7fb03bf56 Translated using Weblate (Italian)
Currently translated at 100.0% (605 of 605 strings)
2020-11-14 00:56:31 +01:00
Ács Zoltán
429aafc7ba Translated using Weblate (Hungarian)
Currently translated at 68.4% (414 of 605 strings)
2020-11-14 00:56:31 +01:00
Ldm Public
acdfede2a8 Translated using Weblate (French)
Currently translated at 21.6% (8 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
2020-11-13 20:54:16 +01:00
opusforlife2
b822c5a039 Update Invidious URL list in the manifest 2020-11-11 15:20:42 +00:00
Hosted Weblate
8366c4c165 Merge branch 'origin/dev' into Weblate. 2020-11-10 12:15:50 +01:00
Mukhamadjonov
4c7260b043 Translated using Weblate (Uzbek (latin))
Currently translated at 66.7% (404 of 605 strings)
2020-11-10 12:14:17 +01:00
Prasanta-Hembram
c878f7dc25 Translated using Weblate (Santali)
Currently translated at 8.5% (52 of 605 strings)
2020-11-10 12:14:13 +01:00
WaldiS
aca21f6ef2 Translated using Weblate (Polish)
Currently translated at 37.8% (14 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
2020-11-10 12:14:13 +01:00
Allan Nordhøy
10c582bafb Translated using Weblate (Norwegian Bokmål)
Currently translated at 93.3% (565 of 605 strings)
2020-11-10 12:14:12 +01:00
Terry Louwers
7b3bd26631 Translated using Weblate (Dutch (Belgium))
Currently translated at 100.0% (605 of 605 strings)
2020-11-10 12:14:12 +01:00
Milo Ivir
731f88da84 Translated using Weblate (Croatian)
Currently translated at 98.8% (598 of 605 strings)
2020-11-10 12:14:12 +01:00
Michal L
b7fb9a65b6 Translated using Weblate (Polish)
Currently translated at 100.0% (605 of 605 strings)
2020-11-10 12:14:11 +01:00
2-Seol
843c24b17a Translated using Weblate (Korean)
Currently translated at 82.8% (501 of 605 strings)
2020-11-10 12:14:11 +01:00
Terry Louwers
18dbbfc95a Translated using Weblate (Dutch)
Currently translated at 100.0% (605 of 605 strings)
2020-11-10 12:14:11 +01:00
bopol
5b6e187b49 Merge pull request #4845 from KIMMINTAE98/rm_kor
Add korean translation of README.md
2020-11-10 12:07:27 +01:00
opusforlife2
9025a9b88c Rename and add links to translations 2020-11-10 06:58:20 +00:00
opusforlife2
07b2891671 Add links to translations
All READMEs should contains links to translated versions.
2020-11-10 06:56:01 +00:00
Tobias Groza
c4a739bef6 Merge pull request #4562 from Stypox/fix-detail-open
Fix opening VideoDetailFragment and much more
2020-11-09 22:04:39 +01:00
WaldiS
1008c74cd7 Translated using Weblate (Polish)
Currently translated at 99.8% (604 of 605 strings)
2020-11-09 20:57:14 +01:00
Stypox
60dc9d27bc Merge pull request #4784 from bd0n4lds/Dont-Use-Float-Type-For-Loop-Indices
Change loop index from float to int
2020-11-09 13:04:17 +01:00
Bri@n
9eb0f48a7a Change loop index from float to int 2020-11-09 12:55:59 +01:00
KIMMINTAE98
7b1fccdd06 complete korean translation of README.md 2020-11-09 15:29:56 +09:00
Mukhamadjonov
64ae07b03b Translated using Weblate (Uzbek (latin))
Currently translated at 36.5% (221 of 605 strings)
2020-11-08 23:47:25 +01:00
Prasanta-Hembram
6ecbbd1f79 Translated using Weblate (Santali)
Currently translated at 8.4% (51 of 605 strings)
2020-11-08 23:47:22 +01:00
Allan Nordhøy
a1fb268764 Translated using Weblate (Norwegian Bokmål)
Currently translated at 10.8% (4 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nb_NO/
2020-11-08 23:47:22 +01:00
Ajeje Brazorf
868661edf0 Translated using Weblate (Sardinian)
Currently translated at 10.8% (4 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sc/
2020-11-08 23:47:22 +01:00
ssantos
9899e63d53 Translated using Weblate (Portuguese (Portugal))
Currently translated at 54.0% (20 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_PT/
2020-11-08 23:47:22 +01:00
Florian
0b37b8b059 Translated using Weblate (French)
Currently translated at 24.3% (9 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
2020-11-08 23:47:21 +01:00
simo
1b34ca822f Translated using Weblate (Arabic)
Currently translated at 62.1% (23 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/
2020-11-08 23:47:20 +01:00
Yaron Shahrabani
a4e3a874ad Translated using Weblate (Hebrew)
Currently translated at 21.6% (8 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
2020-11-08 23:47:19 +01:00
ssantos
8ec3df552a Translated using Weblate (Portuguese)
Currently translated at 54.0% (20 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
2020-11-08 23:47:19 +01:00
nautilusx
b4b1c9256b Translated using Weblate (German)
Currently translated at 18.9% (7 of 37 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
2020-11-08 23:47:18 +01:00
ssantos
acee20d897 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (605 of 605 strings)
2020-11-08 23:47:18 +01:00
Ajeje Brazorf
6ea3ebb72d Translated using Weblate (Sardinian)
Currently translated at 100.0% (605 of 605 strings)
2020-11-08 23:47:17 +01:00
Yaron Shahrabani
55f23e9304 Translated using Weblate (Hebrew)
Currently translated at 100.0% (605 of 605 strings)
2020-11-08 23:47:17 +01:00
Jeff Huang
ad223a04f8 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (605 of 605 strings)
2020-11-08 23:47:17 +01:00
Eric
0b150ea475 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (605 of 605 strings)
2020-11-08 23:47:16 +01:00
simo
167e9fbc6d Translated using Weblate (Arabic)
Currently translated at 100.0% (605 of 605 strings)
2020-11-08 23:47:16 +01:00
Bopol
77ea160cd9 Translated using Weblate (Esperanto)
Currently translated at 91.0% (551 of 605 strings)
2020-11-08 23:47:16 +01:00
ssantos
f9204450f1 Translated using Weblate (Portuguese)
Currently translated at 100.0% (605 of 605 strings)
2020-11-08 23:47:15 +01:00
Vancha March
21ef76816f Translated using Weblate (Dutch)
Currently translated at 99.8% (604 of 605 strings)
2020-11-08 23:47:15 +01:00
Florian
f166cfbac8 Translated using Weblate (French)
Currently translated at 100.0% (605 of 605 strings)
2020-11-08 23:47:15 +01:00
nautilusx
e5f64710f4 Translated using Weblate (German)
Currently translated at 100.0% (605 of 605 strings)
2020-11-08 23:47:15 +01:00
KIMMINTAE98
32a5062081 update korean translation of README.md 2020-11-09 03:37:56 +09:00
KIMMINTAE98
e6bc29281e create korean translation of README.md
just create
2020-11-08 23:01:02 +09:00
Stypox
617ee0afc0 Fix brightness and volume scroll swapped 2020-11-08 10:00:28 +01:00
Stypox
1b47a1a994 Fix switching to main player when MainActivity is closed 2020-11-08 10:00:28 +01:00
Stypox
5a87cfc25d Open mini player if player running on app open 2020-11-08 10:00:28 +01:00
Stypox
00a178f7d3 Fix tapping on video thumbnail does nothing 2020-11-08 10:00:28 +01:00
Stypox
2a2c82e73b More fixes with opening VideoDetailFragment 2020-11-08 10:00:28 +01:00
Stypox
bb882ada2c Show "Show info" instead of "Video player" if a stream is playing not on the main player when sharing something to NewPipe 2020-11-08 10:00:28 +01:00
Stypox
1d42e45d78 Unify all ways of opening VideoDetailFragment 2020-11-08 10:00:27 +01:00
Allan Nordhøy
15c4a5c9ea Translated using Weblate (Norwegian Bokmål)
Currently translated at 93.0% (563 of 605 strings)
2020-11-08 01:39:02 +01:00
Tobias Groza
f4435f9031 Merge pull request #4555 from Stypox/playqueue-crash
Fix NullPointerException in queue handling
2020-11-08 01:19:38 +01:00
Hosted Weblate
5a423c89a3 Merge branch 'origin/dev' into Weblate. 2020-11-08 01:08:16 +01:00
Tobias Groza
8b02154f5a Merge pull request #4749 from Prasanta-Hembram/dev
[Translation]Added Santali language
2020-11-08 01:02:37 +01:00
Hosted Weblate
97c454ea77 Merge branch 'origin/dev' into Weblate. 2020-11-08 01:00:30 +01:00
Mukhamadjonov
f07a6d03b5 Translated using Weblate (Uzbek (latin))
Currently translated at 20.3% (123 of 603 strings)
2020-11-08 00:55:24 +01:00
TobiGr
1f18fb5446 Remove unused "video_is_age_restricted" translations 2020-11-08 00:52:20 +01:00
TobiGr
92ee5b66ab Remove unused translation 2020-11-08 00:48:40 +01:00
TobiGr
fcc92c3e27 Merge remote-tracking branch 'Weblate/dev' into dev 2020-11-08 00:38:30 +01:00
Mukhamadjonov
3e91b5a793 Translated using Weblate (Uzbek (latin))
Currently translated at 7.4% (45 of 603 strings)
2020-11-07 22:39:48 +01:00
Vasilis K
42e5cc3bef Translated using Weblate (Greek)
Currently translated at 100.0% (603 of 603 strings)
2020-11-07 22:39:48 +01:00
Éfrit
16c61a1919 Translated using Weblate (French)
Currently translated at 100.0% (603 of 603 strings)
2020-11-07 22:39:47 +01:00
Weblate
c2b4b0490b Added translation using Weblate (Uzbek (latin)) 2020-11-07 22:00:26 +01:00
Mukhamadjonov
a310a06e3c Added translation using Weblate (Uzbek (latin)) 2020-11-07 22:00:22 +01:00
Prasanta-Hembram
9228511527 Translated using Weblate (Santali)
Currently translated at 7.9% (48 of 603 strings)
2020-11-07 08:13:43 +01:00
Gontzal Manuel Pujana Onaindia
bbc4174501 Translated using Weblate (Basque)
Currently translated at 16.6% (6 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/eu/
2020-11-07 08:13:42 +01:00
Oymate
5f3196b74c Translated using Weblate (Bengali)
Currently translated at 77.9% (470 of 603 strings)
2020-11-07 08:13:42 +01:00
Vasilis K
725bd8029f Translated using Weblate (Greek)
Currently translated at 99.6% (601 of 603 strings)
2020-11-07 08:13:41 +01:00
Gontzal Manuel Pujana Onaindia
479ab5df0e Translated using Weblate (Basque)
Currently translated at 100.0% (603 of 603 strings)
2020-11-07 08:13:39 +01:00
xxkfqz
18c45ad30b Translated using Weblate (Russian)
Currently translated at 100.0% (603 of 603 strings)
2020-11-07 08:13:38 +01:00
Vasilis K
6f32f098eb Translated using Weblate (Greek)
Currently translated at 92.0% (555 of 603 strings)
2020-11-06 12:23:03 +01:00
Michalis Nikolaidis
e8289d3912 Translated using Weblate (Greek)
Currently translated at 92.0% (555 of 603 strings)
2020-11-06 12:23:03 +01:00
pjammo
472d9322ce Translated using Weblate (Italian)
Currently translated at 22.2% (8 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
2020-11-05 17:14:08 +01:00
Nyatsuki
0233ffafb6 Translated using Weblate (Japanese)
Currently translated at 16.6% (6 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ja/
2020-11-05 17:14:07 +01:00
Oymate
468ee4756f Translated using Weblate (Bengali)
Currently translated at 73.6% (444 of 603 strings)
2020-11-05 17:14:06 +01:00
Milo Ivir
abf9365bbe Translated using Weblate (Croatian)
Currently translated at 99.0% (597 of 603 strings)
2020-11-05 17:14:04 +01:00
Oymate
1e0789162f Translated using Weblate (Bengali (Bangladesh))
Currently translated at 61.3% (370 of 603 strings)
2020-11-05 17:14:04 +01:00
fieldfile
31f407f4e8 Translated using Weblate (Ukrainian)
Currently translated at 94.3% (569 of 603 strings)
2020-11-05 17:14:04 +01:00
Nyatsuki
77330ffc50 Translated using Weblate (Japanese)
Currently translated at 100.0% (603 of 603 strings)
2020-11-05 17:14:03 +01:00
Stypox
6f132f3fed Merge pull request #4556 from Isira-Seneviratne/Switch_to_Java_8_Date_Time_API
Switch to the Java 8 Date/Time API.
2020-11-05 13:02:04 +01:00
Stypox
c193b4f07c Merge pull request #4499 from Isira-Seneviratne/Replace_AsyncTasks_with_ReactiveX
Use RxJava instead of AsyncTask.
2020-11-05 12:39:33 +01:00
Isira Seneviratne
c745b845c5 Switch to the Java 8 Date/Time API. 2020-11-05 15:02:51 +05:30
Isira Seneviratne
3b69e0dd25 Use RxJava instead of AsyncTask in MissionAdapter. 2020-11-05 11:06:51 +05:30
Isira Seneviratne
8ec55ef394 Use RxJava instead of AsyncTask in LicenseFragmentHelper. 2020-11-05 11:06:51 +05:30
Isira Seneviratne
ef5084036c Use RxJava instead of AsyncTask to check for new app versions. 2020-11-05 11:06:50 +05:30
Tobias Groza
7dd317e530 Merge pull request #4759 from Stypox/yt-import
Change YouTube subscription import instructions to Google takeout
2020-11-04 16:52:43 +01:00
Prasanta-Hembram
e5db3ed9b7 Translated using Weblate (Santali)
Currently translated at 7.6% (46 of 603 strings)
2020-11-04 01:23:34 +01:00
aqwer-T
3a00dc5b5f Translated using Weblate (Lithuanian)
Currently translated at 0.0% (0 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/lt/
2020-11-04 01:23:33 +01:00
Oymate
2d848020fc Translated using Weblate (Bengali)
Currently translated at 64.0% (386 of 603 strings)
2020-11-04 01:23:33 +01:00
Stjepan
70123d19fe Translated using Weblate (Croatian)
Currently translated at 98.5% (594 of 603 strings)
2020-11-04 01:23:33 +01:00
aqwer-T
ea3770260a Translated using Weblate (Lithuanian)
Currently translated at 52.2% (315 of 603 strings)
2020-11-04 01:23:32 +01:00
Vladislav
eea1a80de6 Translated using Weblate (Russian)
Currently translated at 99.3% (599 of 603 strings)
2020-11-04 01:23:32 +01:00
Tobias Groza
4889775ae6 Merge pull request #4790 from TeamNewPipe/promote_custom_repo
Update readme and add custom repo info
2020-11-03 22:02:24 +01:00
opusforlife2
355effd93d Mention custom repo and generally update section
Added custom repo as additional install method, and added comparison between them all. Also removed the outdated part.
2020-11-03 16:56:04 +00:00
Stypox
f1583b6e0c Merge pull request #4587 from vkay94/separate-player-gesture-logic-ui
Separate player gesture logic and UI
2020-11-02 16:36:50 +01:00
vkay94
347566c311 Player gestures: Add multi-double-tap logic 2020-11-02 15:50:34 +01:00
Stypox
1f73572dd3 Fix playlist select dialog and do some refactoring 2020-11-02 14:24:39 +01:00
Prasanta-Hembram
2bfb83c4cd Translated using Weblate (Santali)
Currently translated at 7.4% (45 of 603 strings)
2020-11-02 12:36:09 +01:00
zeritti
ceed1c4962 Translated using Weblate (Czech)
Currently translated at 100.0% (603 of 603 strings)
2020-11-02 12:36:09 +01:00
Juraj Liso
2b5b9d3599 Translated using Weblate (Slovak)
Currently translated at 100.0% (603 of 603 strings)
2020-11-02 12:36:08 +01:00
Franco
96e3709b7b Translated using Weblate (Spanish)
Currently translated at 100.0% (603 of 603 strings)
2020-11-02 12:36:08 +01:00
Stypox
239fc2f6f8 Change youtube subscription import instructions 2020-11-02 11:08:38 +01:00
Stypox
4c77e5cdd2 Merge pull request #4643 from XiangRongLin/colorize_notification
Add option to not colorize notification
2020-11-01 22:24:16 +01:00
Xiang Rong Lin
974f8f692c Add option to not colorize notification 2020-11-01 22:13:00 +01:00
Tobias Groza
e97d0b9a69 Merge pull request #3817 from Isira-Seneviratne/Use_Java_8_APIs
Use Java 8 APIs.
2020-11-01 16:30:50 +01:00
Isira Seneviratne
b0b0a75c87 Use Collection.removeIf() instead of using Iterator.remove() to remove elements conditionally. 2020-11-01 14:44:07 +05:30
Isira Seneviratne
abcacf8c74 Use Comparator's comparing(), nullsLast() and reversed() methods. 2020-11-01 14:44:04 +05:30
Isira Seneviratne
290428b981 Enable support for core library desugaring. 2020-11-01 14:44:02 +05:30
Prasanta Hembram
37d1541d6b Added Santali language 2020-11-01 13:46:51 +05:30
Tobias Groza
1500ce7490 Merge pull request #4710 from TacoTheDank/more-cleanup
More miscellaneous little fixes and improvements
2020-10-31 23:17:23 +01:00
TacoTheDank
a48529872d Fix a few Kotlin style issues 2020-10-31 15:57:49 -04:00
TacoTheDank
31cffa68c5 Push conditionals inside branch expressions 2020-10-31 15:57:26 -04:00
TacoTheDank
6909d1e527 Simplify an if else 2020-10-31 15:57:01 -04:00
TacoTheDank
972235bfba Add missing app:iconSpaceReserved 2020-10-31 15:56:46 -04:00
TacoTheDank
6db560fd2c Use FragmentActivity for AboutActivity's viewpager2 2020-10-31 15:54:39 -04:00
TacoTheDank
1a64d8aec9 Replace a ContextCompat with LayoutInflater.from 2020-10-31 15:54:19 -04:00
TacoTheDank
1e1fb32558 Fix some version checks to use android.os.Build 2020-10-31 15:54:02 -04:00
XiangRongLin
008eb5ba4a Convert notification actions to a custom preference (#4652) 2020-10-31 11:58:33 +01:00
J. Lavoie
f46e0acc89 Translated using Weblate (Finnish)
Currently translated at 100.0% (603 of 603 strings)
2020-10-31 10:38:59 +01:00
Davit Mayilyan
b615ef5810 Translated using Weblate (Armenian)
Currently translated at 16.7% (101 of 603 strings)
2020-10-31 10:38:59 +01:00
Berkay Gündüz
d773279de8 Translated using Weblate (Turkish)
Currently translated at 100.0% (603 of 603 strings)
2020-10-31 10:38:58 +01:00
zmni
56d721651a Translated using Weblate (Indonesian)
Currently translated at 100.0% (603 of 603 strings)
2020-10-31 10:38:57 +01:00
JohnFai
ee17abff92 Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 27.1% (164 of 603 strings)
2020-10-31 10:38:57 +01:00
J. Lavoie
952bb1a2eb Translated using Weblate (Italian)
Currently translated at 100.0% (603 of 603 strings)
2020-10-31 10:38:57 +01:00
J. Lavoie
c287813e00 Translated using Weblate (French)
Currently translated at 100.0% (603 of 603 strings)
2020-10-31 10:38:56 +01:00
J. Lavoie
eab4fd80d7 Translated using Weblate (Spanish)
Currently translated at 100.0% (603 of 603 strings)
2020-10-31 10:38:56 +01:00
SiD ViCiO
5c8f8869d4 Translated using Weblate (Spanish)
Currently translated at 100.0% (603 of 603 strings)
2020-10-31 10:38:56 +01:00
J. Lavoie
4954dfe107 Translated using Weblate (German)
Currently translated at 100.0% (603 of 603 strings)
2020-10-31 10:38:56 +01:00
Tobias Groza
4eb8094fb8 Merge pull request #4695 from mimi89999/dev
Add missing screenshots
2020-10-30 18:04:32 +01:00
mimi89999
1dd2423a0b Add missing screenshots 2020-10-30 17:26:11 +01:00
Ville Rantanen
6fcf989c62 Translated using Weblate (Finnish)
Currently translated at 100.0% (603 of 603 strings)
2020-10-30 14:34:04 +01:00
J. Lavoie
67d1a4f643 Translated using Weblate (Finnish)
Currently translated at 100.0% (603 of 603 strings)
2020-10-30 14:34:03 +01:00
J. Lavoie
3df9433baf Translated using Weblate (German)
Currently translated at 100.0% (603 of 603 strings)
2020-10-30 14:21:03 +01:00
C. Rüdinger
b12d568147 Translated using Weblate (German)
Currently translated at 100.0% (603 of 603 strings)
2020-10-30 14:21:02 +01:00
Weblate
8691e035a0 Added translation using Weblate (English (United Kingdom)) 2020-10-29 13:06:34 +01:00
vkay94
2683043762 Player gestures: separate logic and UI 2020-10-29 12:46:34 +01:00
Boris Petrov
be5aa59f61 Translated using Weblate (French)
Currently translated at 19.4% (7 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
2020-10-29 00:57:55 +01:00
Franco
9398dfb7cf Translated using Weblate (Spanish)
Currently translated at 16.6% (6 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
2020-10-29 00:57:54 +01:00
simo
ff6d2b30e4 Translated using Weblate (Arabic)
Currently translated at 52.7% (19 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/
2020-10-29 00:57:54 +01:00
Michal L
29bb999a32 Translated using Weblate (Polish)
Currently translated at 36.1% (13 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
2020-10-29 00:57:53 +01:00
nalinalini
9320507e26 Translated using Weblate (Hindi)
Currently translated at 0.0% (0 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hi/
2020-10-29 00:57:52 +01:00
Paulo Almeida
181fc4fa0a Translated using Weblate (Portuguese (Brazil))
Currently translated at 16.6% (6 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/
2020-10-29 00:57:52 +01:00
Allan Nordhøy
4f3dd4b662 Translated using Weblate (Norwegian Bokmål)
Currently translated at 93.3% (563 of 603 strings)
2020-10-29 00:57:52 +01:00
nalinalini
7b09de99ea Translated using Weblate (Hindi)
Currently translated at 77.9% (470 of 603 strings)
2020-10-29 00:57:51 +01:00
Milo Ivir
f9f0da18e1 Translated using Weblate (Croatian)
Currently translated at 98.5% (594 of 603 strings)
2020-10-29 00:57:51 +01:00
Michal L
ba0fdb9478 Translated using Weblate (Polish)
Currently translated at 100.0% (603 of 603 strings)
2020-10-29 00:57:49 +01:00
simo
8c684bca22 Translated using Weblate (Arabic)
Currently translated at 100.0% (603 of 603 strings)
2020-10-29 00:57:49 +01:00
Boris Petrov
1266a75549 Translated using Weblate (French)
Currently translated at 100.0% (603 of 603 strings)
2020-10-29 00:57:48 +01:00
TobiGr
3871d5aed7 Merge branch 'master' into dev 2020-10-28 15:14:48 +01:00
Tobias Groza
25d555126d Merge pull request #4675 from B0pol/hotfix
Release 0.20.2 (956)
2020-10-28 07:39:44 +01:00
Tobias Groza
f529d15d7a Update fastlane/metadata/android/en-US/changelogs/956.txt
Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
2020-10-28 07:35:04 +01:00
TobiGr
9eda30fc71 Bump extractor version 2020-10-28 07:34:34 +01:00
Tobias Groza
dfd6424d9c Merge pull request #4655 from B0pol/polish
polish strings
2020-10-28 07:26:38 +01:00
Weblate
fdc961f2de Added translation using Weblate (Odia) 2020-10-27 15:17:51 +01:00
nalinalini
a6d4000d24 Added translation using Weblate (Odia) 2020-10-27 15:17:40 +01:00
bopol
e1024e59c3 Release 0.20.2 (956) 2020-10-27 14:47:23 +01:00
Edoardo Regni
990164802d Translated using Weblate (Dutch (Belgium))
Currently translated at 2.7% (1 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/nl_BE/
2020-10-27 13:51:38 +01:00
Ajeje Brazorf
34f18fbdb3 Translated using Weblate (Sardinian)
Currently translated at 100.0% (603 of 603 strings)
2020-10-27 13:51:38 +01:00
Bjorn Roesbeke
17e24bb038 Translated using Weblate (Dutch (Belgium))
Currently translated at 100.0% (603 of 603 strings)
2020-10-27 13:51:37 +01:00
Edoardo Regni
df7e2b7734 Translated using Weblate (Dutch (Belgium))
Currently translated at 100.0% (603 of 603 strings)
2020-10-27 13:51:37 +01:00
Vojtěch Šamla
1ddef06bd2 Translated using Weblate (Czech)
Currently translated at 98.6% (595 of 603 strings)
2020-10-27 13:51:36 +01:00
pjammo
18bd910bf0 Translated using Weblate (Italian)
Currently translated at 100.0% (603 of 603 strings)
2020-10-27 13:51:36 +01:00
Bjorn Roesbeke
0db44f6e33 Translated using Weblate (Dutch)
Currently translated at 100.0% (603 of 603 strings)
2020-10-27 13:51:36 +01:00
bopol
7aac3d38f0 Update Extractor version 2020-10-26 18:59:06 +01:00
Stypox
e406b6f780 Fix NullPointerException in queue handling 2020-10-26 18:15:59 +01:00
bopol
2dad9666a9 polish strings, fix build error 2020-10-26 17:01:55 +01:00
TobiGr
063abf1688 Update checkstyle 2020-10-25 21:29:07 +01:00
Tobias Groza
a86f8e9a22 Merge pull request #4592 from Isira-Seneviratne/Use_DrawableCompat
Use DrawableCompat.
2020-10-25 21:13:02 +01:00
Edoardo Regni
0ce6d4fe92 Translated using Weblate (Dutch (Belgium))
Currently translated at 99.8% (602 of 603 strings)
2020-10-25 20:40:57 +01:00
zmni
886f6c721c Translated using Weblate (Indonesian)
Currently translated at 99.8% (602 of 603 strings)
2020-10-25 20:40:57 +01:00
Gontzal Manuel Pujana Onaindia
9d7d089279 Translated using Weblate (Basque)
Currently translated at 99.3% (599 of 603 strings)
2020-10-25 20:40:56 +01:00
Isira Seneviratne
0bd624dfa9 Use DrawableCompat. 2020-10-25 21:01:53 +05:30
Eric
8c29760d93 Translated using Weblate (Chinese (Simplified))
Currently translated at 63.8% (23 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
2020-10-25 16:16:26 +01:00
SeungCheol Han
9b893d841d Translated using Weblate (Korean)
Currently translated at 5.5% (2 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ko/
2020-10-25 16:16:25 +01:00
Yaron Shahrabani
e8c0163153 Translated using Weblate (Hebrew)
Currently translated at 13.8% (5 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
2020-10-25 16:16:25 +01:00
nautilusx
256568d966 Translated using Weblate (German)
Currently translated at 16.6% (6 of 36 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
2020-10-25 16:16:24 +01:00
ssantos
34bed47a52 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (603 of 603 strings)
2020-10-25 16:16:24 +01:00
Edoardo Regni
9b0996fade Translated using Weblate (Dutch (Belgium))
Currently translated at 99.8% (602 of 603 strings)
2020-10-25 16:16:23 +01:00
Azizov Aga
7c1028df5d Translated using Weblate (Azerbaijani)
Currently translated at 26.5% (160 of 603 strings)
2020-10-25 16:16:20 +01:00
Milo Ivir
eaea60e0cb Translated using Weblate (Croatian)
Currently translated at 90.5% (546 of 603 strings)
2020-10-25 16:16:19 +01:00
Allan Nordhøy
efab05dcfc Translated using Weblate (Swedish)
Currently translated at 93.2% (562 of 603 strings)
2020-10-25 16:16:19 +01:00
Yaron Shahrabani
d79f77f7e0 Translated using Weblate (Hebrew)
Currently translated at 100.0% (603 of 603 strings)
2020-10-25 16:16:18 +01:00
Jeff Huang
f0d459d490 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (603 of 603 strings)
2020-10-25 16:16:18 +01:00
Eric
e269c073ac Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (603 of 603 strings)
2020-10-25 16:16:17 +01:00
Samuel Carvalho de Araújo
85d5609144 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (603 of 603 strings)
2020-10-25 16:16:17 +01:00
Emin Tufan Çetin
671c593db1 Translated using Weblate (Turkish)
Currently translated at 100.0% (603 of 603 strings)
2020-10-25 16:16:16 +01:00
simo
8b14c7a2cb Translated using Weblate (Arabic)
Currently translated at 99.0% (597 of 603 strings)
2020-10-25 16:16:16 +01:00
Josu
23862419eb Translated using Weblate (Basque)
Currently translated at 97.8% (590 of 603 strings)
2020-10-25 16:16:15 +01:00
ssantos
43d54db4dd Translated using Weblate (Portuguese)
Currently translated at 100.0% (603 of 603 strings)
2020-10-25 16:16:14 +01:00
AioiLight
b8b0060440 Translated using Weblate (Japanese)
Currently translated at 100.0% (603 of 603 strings)
2020-10-25 16:16:14 +01:00
Mitosagi
64d79ceb30 Translated using Weblate (Japanese)
Currently translated at 100.0% (603 of 603 strings)
2020-10-25 16:16:13 +01:00
Nikita Epifanov
25f7b44d48 Translated using Weblate (Russian)
Currently translated at 99.1% (598 of 603 strings)
2020-10-25 16:16:13 +01:00
Edoardo Regni
ada7e628da Translated using Weblate (Dutch)
Currently translated at 100.0% (603 of 603 strings)
2020-10-25 16:16:13 +01:00
nautilusx
76f2338c3d Translated using Weblate (German)
Currently translated at 100.0% (603 of 603 strings)
2020-10-25 16:16:12 +01:00
Stypox
a0ed8036c0 Merge pull request #4594 from Isira-Seneviratne/Use_TextViewCompat
Use TextViewCompat.setCompoundDrawablesRelativeWithIntrinsicBounds().
2020-10-25 14:44:01 +01:00
TobiGr
863ce65b10 Fix Issue Template config 2020-10-24 20:44:22 +02:00
Weblate
85190b16cb Added translation using Weblate (Kashmiri) 2020-10-24 05:01:01 +02:00
TobiGr
abc6fd8b2a polish more 2020-10-23 23:22:00 +02:00
TobiGr
b6f603154e polish some stuff 2020-10-23 23:18:34 +02:00
Tobias Groza
90cb9d3de1 Merge pull request #4549 from Stypox/fix-showMiniPlayer
Fix IllegalStateException after onSaveInstanceState
2020-10-23 21:58:20 +02:00
Viktor K
d47c9a2e29 Translated using Weblate (German)
Currently translated at 99.8% (602 of 603 strings)
2020-10-23 19:49:48 +02:00
TobiGr
b7aea96ca0 Translated using Weblate (German)
Currently translated at 99.8% (602 of 603 strings)
2020-10-23 19:49:47 +02:00
nautilusx
a5879a4407 Translated using Weblate (German)
Currently translated at 99.8% (602 of 603 strings)
2020-10-23 19:49:47 +02:00
Tobias Groza
0452c69771 Merge pull request #4610 from mhmdanas/optimize-pngs
Optimize app PNGs
2020-10-23 19:37:23 +02:00
Tobias Groza
4eb9dff45e Merge pull request #4611 from TeamNewPipe/prevent_blank_issues
Create config.yaml to prevent blank issues
2020-10-23 19:18:25 +02:00
opusforlife2
b7c1e88b59 Create config.yaml to prevent blank issues 2020-10-23 14:37:59 +00:00
mhmdanas
23814330d9 Optimize app PNGs 2020-10-23 17:00:39 +03:00
Hosted Weblate
8bc75aacea Merge branch 'origin/dev' into Weblate. 2020-10-23 10:54:04 +02:00
Prasanta-Hembram
17576d223a Translated using Weblate (Santali)
Currently translated at 6.1% (37 of 600 strings)
2020-10-23 10:54:04 +02:00
mmagian
90e8f0ca63 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (600 of 600 strings)
2020-10-23 10:54:03 +02:00
TobiGr
adc4a811b7 Merge remote-tracking branch 'Weblate/dev' into dev 2020-10-23 10:52:51 +02:00
Tobias Groza
7c80233f26 Merge pull request #4345 from vkay94/fix-createplaylist
Fix PlaylistAppendDialog showing when no local playlists exist
2020-10-23 10:08:20 +02:00
Tobias Groza
f05ae2de35 Merge pull request #4606 from TeamNewPipe/refine_issue_templates
Refined instructions in the issue templates
2020-10-23 09:59:13 +02:00
opusforlife2
cf9da556a8 Refined instructions for feature request template 2020-10-23 07:55:31 +00:00
vkay94
32a142bf79 Fix PlaylistAppendDialog: Renamed method and replaced with Runnable 2020-10-23 09:44:26 +02:00
vkay94
2680d41a3d Fix PlaylistAppendDialog showing when no local playlists exist 2020-10-23 09:44:26 +02:00
opusforlife2
1550fc4398 Refined instructions for bug report template 2020-10-23 07:32:04 +00:00
Weblate
f2a85f3b7e Added translation using Weblate (Santali) 2020-10-22 20:40:29 +02:00
Milo Ivir
49c2b4c196 Translated using Weblate (Croatian)
Currently translated at 5.7% (2 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hr/
2020-10-22 20:34:47 +02:00
Digiwizkid
a8281e174e Translated using Weblate (Bengali (India))
Currently translated at 58.8% (353 of 600 strings)
2020-10-22 20:34:47 +02:00
Shiv
d7f5c8bd55 Translated using Weblate (Hindi)
Currently translated at 78.6% (472 of 600 strings)
2020-10-22 20:34:46 +02:00
Rishi Dutt Shukla
b3337df88b Translated using Weblate (Hindi)
Currently translated at 78.6% (472 of 600 strings)
2020-10-22 20:34:46 +02:00
Yaron Shahrabani
d760616e55 Translated using Weblate (Hebrew)
Currently translated at 100.0% (600 of 600 strings)
2020-10-22 20:34:46 +02:00
Jeff Huang
914a4d32b4 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (600 of 600 strings)
2020-10-22 20:34:46 +02:00
David Braz
148f53e21e Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.8% (599 of 600 strings)
2020-10-22 20:34:45 +02:00
Vojtěch Šamla
5e7fa0f964 Translated using Weblate (Czech)
Currently translated at 100.0% (600 of 600 strings)
2020-10-22 20:34:45 +02:00
Vibo Lavida
0973ceb9d2 Translated using Weblate (Spanish)
Currently translated at 100.0% (600 of 600 strings)
2020-10-22 20:34:45 +02:00
bopol
5214bfe8cb Merge pull request #4554 from mitosagi/translate-numbers
Translates shortened notation of numbers
2020-10-22 19:05:53 +02:00
Isira Seneviratne
187aaafddc Use TextViewCompat.setCompoundDrawablesRelativeWithIntrinsicBounds(). 2020-10-22 06:01:49 +05:30
opusforlife2
208cb405ca Merge pull request #4559 from TeamNewPipe/remove_coming_features
Removed "Coming features" because why??
2020-10-19 04:35:53 +00:00
opusforlife2
9b9d267cd4 Merge pull request #4553 from TacoTheDank/about-viewpager2
Migrate AboutActivity to ViewPager2
2020-10-18 10:12:20 +00:00
opusforlife2
6f90a27f9f Removed "Coming features" because why?? 2020-10-18 10:09:45 +00:00
Stypox
4e1dddc06d Merge pull request #4557 from Isira-Seneviratne/Use_multidex_for_all_build_types
Use multidex for all build types.
2020-10-18 12:09:42 +02:00
Hakim Oubouali
1f504d6f23 Translated using Weblate (Central Atlas Tamazight)
Currently translated at 28.6% (172 of 600 strings)
2020-10-18 11:29:15 +02:00
Hakim Oubouali
2db1fd813f Translated using Weblate (Berber)
Currently translated at 23.6% (142 of 600 strings)
2020-10-18 11:29:11 +02:00
Sérgio Marques
f39383a3d8 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (600 of 600 strings)
2020-10-18 11:29:08 +02:00
Ajeje Brazorf
b593bdbf1b Translated using Weblate (Sardinian)
Currently translated at 99.8% (599 of 600 strings)
2020-10-18 11:29:07 +02:00
PPNplus
4de93ba3c0 Translated using Weblate (Thai)
Currently translated at 47.0% (282 of 600 strings)
2020-10-18 11:29:07 +02:00
Azizov Aga
2eb7a91987 Translated using Weblate (Azerbaijani)
Currently translated at 22.3% (134 of 600 strings)
2020-10-18 11:29:06 +02:00
Garden Hose
94e4264c2a Translated using Weblate (Croatian)
Currently translated at 87.1% (523 of 600 strings)
2020-10-18 11:29:05 +02:00
Eric
e54d28f157 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (600 of 600 strings)
2020-10-18 11:29:05 +02:00
Ali Demirtas
6111c8bde0 Translated using Weblate (Turkish)
Currently translated at 100.0% (600 of 600 strings)
2020-10-18 11:29:04 +02:00
zmni
3bacdfd4fc Translated using Weblate (Indonesian)
Currently translated at 100.0% (600 of 600 strings)
2020-10-18 11:29:03 +02:00
Hakim Oubouali
65db645ff9 Translated using Weblate (Arabic)
Currently translated at 100.0% (600 of 600 strings)
2020-10-18 11:29:02 +02:00
random r
de2e2c45a5 Translated using Weblate (Italian)
Currently translated at 100.0% (600 of 600 strings)
2020-10-18 11:29:02 +02:00
Mitosagi
9b655e18e3 Translated using Weblate (Japanese)
Currently translated at 99.8% (599 of 600 strings)
2020-10-18 11:29:02 +02:00
Nikita Epifanov
fb4b9b5f76 Translated using Weblate (Russian)
Currently translated at 100.0% (600 of 600 strings)
2020-10-18 11:29:02 +02:00
Ali Demirtas
820b39840a Translated using Weblate (English)
Currently translated at 100.0% (600 of 600 strings)
2020-10-18 11:29:01 +02:00
mabroukb
4b1052eb70 Translated using Weblate (French)
Currently translated at 99.6% (598 of 600 strings)
2020-10-18 11:29:01 +02:00
nautilusx
c0eb3972a7 Translated using Weblate (German)
Currently translated at 100.0% (600 of 600 strings)
2020-10-18 11:29:01 +02:00
Isira Seneviratne
66ba8d56b7 Use multidex for all build types. 2020-10-18 14:14:27 +05:30
Stypox
a73baf32f1 Merge pull request #4547 from Isira-Seneviratne/Use_Core_KTX_functions
Use Core KTX functions.
2020-10-18 09:39:28 +02:00
Tobias Groza
333cf0a2f0 Merge pull request #4550 from Stypox/no-drag-thumbnails
Don't rearrange lists by dragging the thumbnails
2020-10-18 09:00:56 +02:00
mitosagi
8347d8700a Translate the numeric notation 2020-10-18 11:01:06 +09:00
TacoTheDank
09af0e2448 Migrate AboutActivity to viewpager2 2020-10-17 19:15:10 -04:00
Tobias Groza
001914764a Merge pull request #4530 from TeamNewPipe/weblate-widget
Add Weblate widget to README
2020-10-17 17:08:35 +02:00
Stypox
6938dd6267 Add Weblate widget to README 2020-10-17 16:41:39 +02:00
Stypox
941028ba6f Don't rearrange lists by dragging the thumbnails 2020-10-17 16:25:06 +02:00
Stypox
4ca7ed9f8c Fix IllegalStateException after onSaveInstanceState 2020-10-17 16:13:42 +02:00
Isira Seneviratne
03d99887c5 Use TextView.doOnTextChanged() extension. 2020-10-17 19:22:13 +05:30
Isira Seneviratne
293e2ff5e3 Use isVisible and isGone extensions for View. 2020-10-17 15:54:35 +05:30
Isira Seneviratne
55d242fa08 Use bundleOf(). 2020-10-17 15:38:45 +05:30
TobiGr
7e9fba2d96 Merge branch 'master' into dev 2020-10-16 22:33:58 +02:00
TobiGr
175652f23b Release 0.20.1 (955) 2020-10-16 22:20:23 +02:00
TobiGr
3329e0c4a1 Update extractor version
[YouTube] Fix search for some users
[YouTube] Fix random decryption exceptions
[SoundCloud] URLs that end with a slash are now parsed correctly
2020-10-16 22:20:16 +02:00
Tobias Groza
3c5ed2c885 Merge pull request #4453 from wb9688/clear-cookies
Add button in settings to clear reCAPTCHA cookies
2020-10-16 17:25:19 +02:00
Tobias Groza
c4af93c363 Merge pull request #4528 from TeamNewPipe/local-extractor
Add info on how to use a local NewPipe Extractor version
2020-10-16 17:24:35 +02:00
Sérgio Marques
e2685c4503 Translated using Weblate (Portuguese)
Currently translated at 100.0% (600 of 600 strings)
2020-10-16 16:55:13 +02:00
TobiGr
48b1d3fff8 Add info to build.gradle and settings.gradle on how to use a local
NewPipe extractor version.
2020-10-16 13:27:09 +02:00
Tobias Groza
6c4920949d Merge pull request #4517 from wb9688/disable-ktlint
Disable Ktlint for now
2020-10-15 17:54:48 +02:00
wb9688
69447b75af Disable Ktlint for now 2020-10-15 14:38:59 +02:00
Allan Nordhøy
e1104570a9 Pull request template reworked (#4317)
Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
2020-10-14 21:30:30 +02:00
wb9688
2c23678fb9 Add button in settings to clear reCAPTCHA cookies 2020-10-14 14:39:08 +02:00
Tobias Groza
613070d39f Merge pull request #4471 from wb9688/format-xml
Format all XML resources
2020-10-14 13:36:32 +02:00
wb9688
6deae64f45 Delete old player notification layouts 2020-10-14 11:04:49 +02:00
wb9688
aced2b124c Format all XML resources 2020-10-14 11:04:48 +02:00
Hakim Oubouali
e6b08de2e8 Translated using Weblate (Central Atlas Tamazight)
Currently translated at 8.1% (49 of 600 strings)
2020-10-13 11:26:57 +02:00
random r
d2d02d0749 Translated using Weblate (Italian)
Currently translated at 11.4% (4 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
2020-10-13 11:26:57 +02:00
MohammedSR Vevo
28d27801b2 Translated using Weblate (Kurdish)
Currently translated at 99.3% (596 of 600 strings)
2020-10-13 11:26:56 +02:00
Hakim Oubouali
be340dd275 Translated using Weblate (Central Atlas Tamazight)
Currently translated at 8.0% (48 of 600 strings)
2020-10-12 11:27:02 +02:00
TobiGr
58090fb3de Translated using Weblate (German)
Currently translated at 100.0% (600 of 600 strings)
2020-10-12 11:27:01 +02:00
Stypox
ae33c6cf18 Merge pull request #4476 from vkay94/two-finger-to-close-player
Two finger to close player gesture
2020-10-11 14:51:45 +02:00
vkay94
f8cd6afbf8 Two finger gesture: Less code lines 2020-10-11 13:56:30 +02:00
Tobias Groza
6fce06906d Merge pull request #4354 from Stypox/restriction-strings
Improve age restriction and yt restricted content strings
2020-10-11 12:14:13 +02:00
Stypox
84694a8bbd Improve age restriction and yt restricted content strings 2020-10-11 12:06:36 +02:00
chr56
1639e68424 Translated using Weblate (Chinese (Simplified))
Currently translated at 62.8% (22 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
2020-10-11 11:25:51 +02:00
sivemortenfan
ff48fe8b49 Translated using Weblate (Malayalam)
Currently translated at 2.8% (1 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ml/
2020-10-11 11:25:50 +02:00
Milo Ivir
efe06267ec Translated using Weblate (Croatian)
Currently translated at 2.8% (1 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/hr/
2020-10-11 11:25:50 +02:00
Milo Ivir
53647ea5a8 Translated using Weblate (Croatian)
Currently translated at 86.8% (521 of 600 strings)
2020-10-11 11:25:50 +02:00
C. Rüdinger
7742de5af4 Translated using Weblate (German)
Currently translated at 100.0% (600 of 600 strings)
2020-10-11 11:25:49 +02:00
Stypox
724a260f71 Merge pull request #4413 from Stypox/delete-stream-state
Also delete stream state when deleting stream history
2020-10-10 22:29:33 +02:00
Stypox
cf75e40332 Merge pull request #4463 from opusforlife2/confirm_queue_delete_one_track
Ask for confirmation before clearing queue even if only 1 video in it
2020-10-10 22:01:55 +02:00
Stypox
3c67df263c Merge pull request #4276 from Isira-Seneviratne/Use_ContextCompat_methods
Use ContextCompat methods.
2020-10-10 21:51:34 +02:00
Stypox
c4ae72c3c1 Merge pull request #4450 from wb9688/fix-release-debug-settings
Fix compiling release build
2020-10-10 21:14:39 +02:00
vkay94
f6925fc5b8 Added two finger to close player gesture 2020-10-10 15:00:39 +02:00
Eric
18be9655d6 Translated using Weblate (Chinese (Simplified))
Currently translated at 62.8% (22 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
2020-10-10 11:26:15 +02:00
S
6235b6123e Translated using Weblate (German)
Currently translated at 14.2% (5 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
2020-10-10 11:26:13 +02:00
opusforlife2
b3555385e6 Ask for confirmation before clearing queue...
Even when there is only one video in it.
2020-10-09 14:46:42 +00:00
Hakim Oubouali
c9fbdb322b Translated using Weblate (Central Atlas Tamazight)
Currently translated at 7.6% (46 of 600 strings)
2020-10-09 11:26:02 +02:00
Mostafa Ahangarha
94bac7d8db Translated using Weblate (Persian)
Currently translated at 14.2% (5 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fa/
2020-10-09 11:26:01 +02:00
Thien Bui
f38119be96 Translated using Weblate (Vietnamese)
Currently translated at 11.4% (4 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/vi/
2020-10-09 11:26:01 +02:00
zeritti
bc1d2ba839 Translated using Weblate (Czech)
Currently translated at 5.7% (2 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/cs/
2020-10-09 11:26:00 +02:00
Nikita Epifanov
18f5b70b1f Translated using Weblate (Russian)
Currently translated at 5.7% (2 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ru/
2020-10-09 11:26:00 +02:00
Ajeje Brazorf
7df9b07305 Translated using Weblate (Sardinian)
Currently translated at 100.0% (600 of 600 strings)
2020-10-09 11:26:00 +02:00
Stjepan
cf01c1fd1f Translated using Weblate (Croatian)
Currently translated at 86.3% (518 of 600 strings)
2020-10-09 11:25:59 +02:00
Thien Bui
2ce6fe420b Translated using Weblate (Vietnamese)
Currently translated at 100.0% (600 of 600 strings)
2020-10-09 11:25:58 +02:00
Isira Seneviratne
f55381d689 Combine initNotificationChannel() and setUpUpdateNotificationChannel() into a single method. 2020-10-09 08:52:05 +05:30
Isira Seneviratne
c4084c4f97 Use ContextCompat.startForegroundService(). 2020-10-09 08:52:05 +05:30
Isira Seneviratne
58b720b004 Use ContextCompat.getSystemService() and the Context.getSystemService() extension function. 2020-10-09 08:52:05 +05:30
wb9688
f6d0c1f05e Fix compiling release build 2020-10-08 18:36:20 +02:00
Stypox
f4620be859 Merge pull request #4431 from opusforlife2/checkbox_example
Added an example of how to use Markdown checkbox
2020-10-08 16:02:04 +02:00
Hakim Oubouali
e2b3a98690 Translated using Weblate (Central Atlas Tamazight)
Currently translated at 6.3% (38 of 600 strings)
2020-10-08 11:25:19 +02:00
postsorino
4cd391d5ef Translated using Weblate (Greek)
Currently translated at 93.8% (563 of 600 strings)
2020-10-08 11:25:18 +02:00
Weblate
01c37c34dd Added translation using Weblate (Central Atlas Tamazight) 2020-10-08 10:37:37 +02:00
Stjepan
f4827cde0e Translated using Weblate (Croatian)
Currently translated at 85.1% (511 of 600 strings)
2020-10-07 16:11:05 +02:00
Stjepan
3e722295b0 Translated using Weblate (Croatian)
Currently translated at 83.0% (498 of 600 strings)
2020-10-07 15:11:13 +02:00
zmni
0d2eab3ad4 Translated using Weblate (Indonesian)
Currently translated at 5.7% (2 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/
2020-10-07 13:55:09 +02:00
Stypox
9e1bc631cf Merge pull request #4436 from wb9688/hide-leaks
Hide Leaks launcher icon
2020-10-07 13:26:12 +02:00
wb9688
ca9fbe2f11 Hide Leaks launcher icon 2020-10-07 12:56:22 +02:00
opusforlife2
2e28fad102 Added checkbox example 2020-10-07 07:40:55 +00:00
opusforlife2
69760200dd Added checkbox example 2020-10-07 07:39:49 +00:00
Mario Rossi
f945ee1288 Translated using Weblate (Neapolitan)
Currently translated at 5.6% (34 of 600 strings)
2020-10-07 09:24:11 +02:00
Eric
5e3486c481 Translated using Weblate (Chinese (Simplified))
Currently translated at 60.0% (21 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
2020-10-07 09:24:11 +02:00
Jeff Huang
c15a943cf4 Translated using Weblate (Chinese (Traditional))
Currently translated at 62.8% (22 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
2020-10-07 09:24:10 +02:00
Ortinomax
b8cb29c66c Translated using Weblate (French)
Currently translated at 14.2% (5 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
2020-10-07 09:24:09 +02:00
Oğuz Ersen
003badcb5a Translated using Weblate (Turkish)
Currently translated at 5.7% (2 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
2020-10-07 09:24:08 +02:00
Eric
5b2493fa68 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (600 of 600 strings)
2020-10-07 09:24:08 +02:00
Stypox
bc342b9b33 Merge pull request #4367 from panoreak/remove-remember-popup-properties
Removed remember popup properties setting
2020-10-07 07:01:56 +02:00
Panorea
314615bfef Removed remember popup properties setting 2020-10-06 18:32:20 -04:00
Stypox
44e82217c1 Merge pull request #4425 from vkay94/enqueue-stream
Replace specific enqueue options with one
2020-10-06 22:37:19 +02:00
vkay94
cbf364f24f Enqueue: Renamed string resource 2020-10-06 21:17:52 +02:00
Weblate
44dfcb927b Added translation using Weblate (Neapolitan) 2020-10-06 20:36:17 +02:00
vkay94
12f615c6da Enqueue: Removed unneeded dialog-entries and strings + adjustments 2020-10-06 17:22:12 +02:00
vkay94
ed6fc4d848 Enqueue: Replaced specific StreamDialogEntry items with one
The enqueue options won't be shown in the dialogs if the Player service is not running. When it's running one item (enqueue stream) will be shown and enqueues the item into the Player type which is currently selected.
2020-10-06 14:38:48 +02:00
vkay94
cd515993f5 Enqueue: Add auto-select StreamDialogEntry for current PlayerType 2020-10-06 13:33:44 +02:00
Tobias Groza
a918eaac3f Add device info fields to bug report template (#4415) 2020-10-05 19:38:30 +02:00
Tobias Groza
9f63e2d39a Merge pull request #4410 from Stypox/notification-fixes
Notification fixes
2020-10-05 19:08:26 +02:00
Stypox
36248ff046 Also delete stream state when deleting stream history 2020-10-05 17:47:48 +02:00
Stypox
a88f5113e0 Hide player notification "when" time
It is useless to see how much time ago a player notification was created
2020-10-05 15:57:14 +02:00
Stypox
06fb89fae2 Fix crash on fast forward 2020-10-05 15:55:10 +02:00
RainSlide
733531356f Translated using Weblate (Chinese (Simplified))
Currently translated at 42.8% (15 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
2020-10-05 15:44:24 +02:00
Marian Hanzel
3f8fb30066 Translated using Weblate (Slovak)
Currently translated at 2.8% (1 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sk/
2020-10-05 15:44:23 +02:00
WaldiS
1a4a2d2b30 Translated using Weblate (Polish)
Currently translated at 31.4% (11 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pl/
2020-10-05 15:44:22 +02:00
David Braz
eb6d3b3f8d Translated using Weblate (Portuguese (Brazil))
Currently translated at 14.2% (5 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_BR/
2020-10-05 15:44:22 +02:00
San Kang
e8e3363d06 Translated using Weblate (Korean)
Currently translated at 84.0% (504 of 600 strings)
2020-10-05 15:44:21 +02:00
Tobias Groza
dd55ad61f4 Merge pull request #4338 from Isira-Seneviratne/Use_DisplayCutoutCompat
Use DisplayCutoutCompat in VideoPlayerImpl.
2020-10-05 08:33:41 +02:00
Guillaume Démurgé
2464bfd70b Translated using Weblate (French)
Currently translated at 11.4% (4 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/fr/
2020-10-04 22:01:35 +02:00
JoC
09bc36bb13 Translated using Weblate (Spanish)
Currently translated at 14.2% (5 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/es/
2020-10-04 22:01:34 +02:00
thami simo
39da89b556 Translated using Weblate (Arabic)
Currently translated at 20.0% (7 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ar/
2020-10-04 22:01:34 +02:00
thami simo
c23de4b3b0 Translated using Weblate (Arabic)
Currently translated at 100.0% (600 of 600 strings)
2020-10-04 22:01:33 +02:00
Mohammed Anas
7c79d7f5d7 Translated using Weblate (Arabic)
Currently translated at 100.0% (600 of 600 strings)
2020-10-04 20:52:43 +02:00
thami simo
710507da51 Translated using Weblate (Arabic)
Currently translated at 100.0% (600 of 600 strings)
2020-10-04 20:52:42 +02:00
Tobias Groza
10e95bf1b1 Merge pull request #4379 from opusforlife2/update_FR_template
Add check boxes to Feature Request template
2020-10-04 15:55:40 +02:00
Tobias Groza
66a893c84e Merge pull request #4378 from opusforlife2/update_issue_template
Replace long comments with check boxes in the Bug Report template
2020-10-04 15:55:22 +02:00
Stypox
dd6392e380 Replace per with for every 2020-10-04 15:47:20 +02:00
Tobias Groza
ea0a0c7c5a Merge pull request #4333 from TeamNewPipe/release/0.20.0
Release 0.20.0
2020-10-04 14:53:37 +02:00
opusforlife2
b8f7ba62c7 Use @Stypox 's suggestion
Co-authored-by: Stypox <stypox@pm.me>
2020-10-04 12:30:44 +00:00
opusforlife2
25b318ba00 Add check boxes
People seem to ignore instructions in comments
2020-10-04 12:24:56 +00:00
opusforlife2
9add51b59d Add checkboxes instead of long comments
People just seemed to ignore them.
2020-10-04 12:03:14 +00:00
Hosted Weblate
535a0504d8 Merge branch 'origin/dev' into Weblate. 2020-10-04 12:12:17 +02:00
Eric
365c49d6d2 Translated using Weblate (Chinese (Simplified))
Currently translated at 42.8% (15 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
2020-10-04 12:11:08 +02:00
chr56
b70bea48f2 Translated using Weblate (Chinese (Traditional))
Currently translated at 8.5% (3 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
2020-10-04 12:11:06 +02:00
Ajeje Brazorf
996f8644c4 Translated using Weblate (Sardinian)
Currently translated at 5.7% (2 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/sc/
2020-10-04 12:11:06 +02:00
ssantos
b3882ec6e3 Translated using Weblate (Portuguese (Portugal))
Currently translated at 48.5% (17 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_PT/
2020-10-04 12:11:05 +02:00
Yaron Shahrabani
f87d447397 Translated using Weblate (Hebrew)
Currently translated at 2.8% (1 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/he/
2020-10-04 12:11:05 +02:00
ssantos
9d8570d0d2 Translated using Weblate (Portuguese)
Currently translated at 48.5% (17 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
2020-10-04 12:11:04 +02:00
AioiLight
796755dad8 Translated using Weblate (Japanese)
Currently translated at 8.5% (3 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/ja/
2020-10-04 12:11:03 +02:00
Hakim Oubouali
9387753995 Translated using Weblate (Berber)
Currently translated at 23.5% (141 of 600 strings)
2020-10-04 12:11:03 +02:00
Allan Nordhøy
618d36dc07 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (600 of 600 strings)
2020-10-04 12:11:02 +02:00
ssantos
f11b0be483 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (600 of 600 strings)
2020-10-04 12:11:01 +02:00
Allan Nordhøy
1b8b15b136 Translated using Weblate (Sardinian)
Currently translated at 99.8% (599 of 600 strings)
2020-10-04 12:11:01 +02:00
Allan Nordhøy
bb63673cce Translated using Weblate (Central Kurdish)
Currently translated at 99.6% (598 of 600 strings)
2020-10-04 12:11:00 +02:00
Allan Nordhøy
6770ad68d5 Translated using Weblate (Malayalam)
Currently translated at 94.6% (568 of 600 strings)
2020-10-04 12:11:00 +02:00
Allan Nordhøy
bfe90c58d1 Translated using Weblate (Nepali)
Currently translated at 93.1% (559 of 600 strings)
2020-10-04 12:11:00 +02:00
Allan Nordhøy
f1cbeb3c29 Translated using Weblate (Danish)
Currently translated at 67.5% (405 of 600 strings)
2020-10-04 12:10:59 +02:00
Allan Nordhøy
554ab4ea16 Translated using Weblate (Galician)
Currently translated at 94.8% (569 of 600 strings)
2020-10-04 12:10:58 +02:00
Allan Nordhøy
a2becac2e6 Translated using Weblate (Punjabi)
Currently translated at 75.6% (454 of 600 strings)
2020-10-04 12:10:58 +02:00
gamerboy
67a651f5e9 Translated using Weblate (Punjabi)
Currently translated at 75.6% (454 of 600 strings)
2020-10-04 12:10:58 +02:00
Allan Nordhøy
ac8efe19d8 Translated using Weblate (Albanian)
Currently translated at 100.0% (600 of 600 strings)
2020-10-04 12:10:57 +02:00
Allan Nordhøy
ffd65d5afa Translated using Weblate (Urdu)
Currently translated at 79.0% (474 of 600 strings)
2020-10-04 12:10:57 +02:00
Allan Nordhøy
e86677178f Translated using Weblate (Catalan)
Currently translated at 81.5% (489 of 600 strings)
2020-10-04 12:10:57 +02:00
Allan Nordhøy
3c49a3341a Translated using Weblate (Kurdish)
Currently translated at 94.1% (565 of 600 strings)
2020-10-04 12:10:56 +02:00
Allan Nordhøy
3433b2a73e Translated using Weblate (Finnish)
Currently translated at 100.0% (600 of 600 strings)
2020-10-04 12:10:56 +02:00
Allan Nordhøy
730988e7b7 Translated using Weblate (Swedish)
Currently translated at 95.1% (571 of 600 strings)
2020-10-04 12:10:56 +02:00
Yaron Shahrabani
2a3b89e596 Translated using Weblate (Hebrew)
Currently translated at 100.0% (600 of 600 strings)
2020-10-04 12:10:55 +02:00
Allan Nordhøy
f1a31bf58c Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (600 of 600 strings)
2020-10-04 12:10:54 +02:00
Allan Nordhøy
f1b62a9056 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (600 of 600 strings)
2020-10-04 12:10:54 +02:00
Allan Nordhøy
dd943d24c8 Translated using Weblate (Polish)
Currently translated at 100.0% (600 of 600 strings)
2020-10-04 12:10:54 +02:00
Oğuz Ersen
801320a3f3 Translated using Weblate (Turkish)
Currently translated at 100.0% (600 of 600 strings)
2020-10-04 12:10:54 +02:00
Allan Nordhøy
222ed2debd Translated using Weblate (Indonesian)
Currently translated at 100.0% (600 of 600 strings)
2020-10-04 12:10:53 +02:00
Allan Nordhøy
7aab782c5f Translated using Weblate (Arabic)
Currently translated at 99.5% (597 of 600 strings)
2020-10-04 12:10:53 +02:00
Allan Nordhøy
3836f2f353 Translated using Weblate (Czech)
Currently translated at 100.0% (600 of 600 strings)
2020-10-04 12:10:53 +02:00
Allan Nordhøy
5bfaa9a5db Translated using Weblate (Esperanto)
Currently translated at 91.1% (547 of 600 strings)
2020-10-04 12:10:53 +02:00
Allan Nordhøy
95581771d6 Translated using Weblate (Slovak)
Currently translated at 98.3% (590 of 600 strings)
2020-10-04 12:10:53 +02:00
ssantos
db5e3f2479 Translated using Weblate (Portuguese)
Currently translated at 100.0% (600 of 600 strings)
2020-10-04 12:10:52 +02:00
Allan Nordhøy
b5a9631bcc Translated using Weblate (Korean)
Currently translated at 83.1% (499 of 600 strings)
2020-10-04 12:10:51 +02:00
Allan Nordhøy
4a2d62ece0 Translated using Weblate (Japanese)
Currently translated at 100.0% (600 of 600 strings)
2020-10-04 12:10:51 +02:00
Allan Nordhøy
c3836decee Translated using Weblate (Russian)
Currently translated at 100.0% (600 of 600 strings)
2020-10-04 12:10:51 +02:00
Allan Nordhøy
f7a030c895 Translated using Weblate (English)
Currently translated at 99.8% (599 of 600 strings)
2020-10-04 12:10:51 +02:00
Éfrit
f171a692d3 Translated using Weblate (English)
Currently translated at 99.8% (599 of 600 strings)
2020-10-04 12:10:51 +02:00
Allan Nordhøy
df5e73192b Translated using Weblate (Dutch)
Currently translated at 100.0% (600 of 600 strings)
2020-10-04 12:10:50 +02:00
Allan Nordhøy
fc1447d614 Translated using Weblate (Hungarian)
Currently translated at 69.6% (418 of 600 strings)
2020-10-04 12:10:50 +02:00
Éfrit
77fd206b06 Translated using Weblate (French)
Currently translated at 99.8% (599 of 600 strings)
2020-10-04 12:10:50 +02:00
Allan Nordhøy
23bdc03490 Translated using Weblate (Spanish)
Currently translated at 99.8% (599 of 600 strings)
2020-10-04 12:10:49 +02:00
TobiGr
9fe4de5709 Added Portuguese (Portugal), Neapolitan and Sardinian 2020-10-04 12:01:16 +02:00
chr56
54fd601809 Translated using Weblate (Chinese (Simplified))
Currently translated at 40.0% (14 of 35 strings)

Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
2020-10-04 06:20:00 +02:00
Isira Seneviratne
63d54e6570 Use DisplayCutoutCompat in VideoPlayerImpl. 2020-10-04 05:44:13 +05:30
Allan Nordhøy
71d027a966 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (600 of 600 strings)
2020-10-04 00:51:07 +02:00
Anxhelo Lushka
8b63aa2fe6 Translated using Weblate (Albanian)
Currently translated at 99.8% (599 of 600 strings)
2020-10-03 22:48:45 +02:00
TobiGr
5a35842c28 fix fastlane locale 2020-10-03 21:24:26 +02:00
Allan Nordhøy
d6a1ae3b3a Norwegian Bokmål fastlane support (#4374) 2020-10-03 21:17:56 +02:00
bopol
be5f4cb562 Rename full_description.fr.txt to full_description.txt 2020-10-03 18:29:52 +02:00
bopol
d8b5464833 Rename short_description.fr.txt to short_description.txt 2020-10-03 18:29:52 +02:00
Stypox
5e7bbcd3bc Add italian translation for fastlane 2020-10-03 18:29:52 +02:00
bopol
5383e53c4d fix typo in 0.20.0 french changelog 2020-10-03 18:29:52 +02:00
bopol
5b6fc713d6 translate fastlane metadata in french 2020-10-03 18:29:52 +02:00
TobiGr
272be025e1 Release 0.20.0 2020-10-03 18:29:52 +02:00
bopol
e4ab250729 add berber, bengali languages 2020-10-03 18:29:52 +02:00
TobiGr
4dcca9d5af Merge remote-tracking branch 'Weblate/dev' into dev 2020-10-02 21:23:33 +02:00
TobiGr
1988a08631 Translated using Weblate (Bengali)
Currently translated at 64.1% (385 of 600 strings)
2020-10-02 21:22:20 +02:00
Digiwizkid
34de0e569f Translated using Weblate (Bengali)
Currently translated at 64.1% (385 of 600 strings)
2020-10-02 21:22:20 +02:00
Kurd As
343d0fa09d Translated using Weblate (Central Kurdish)
Currently translated at 99.8% (599 of 600 strings)
2020-10-02 21:22:19 +02:00
TobiGr
8eb6686103 Translated using Weblate (Malay)
Currently translated at 68.6% (412 of 600 strings)
2020-10-02 21:22:19 +02:00
TobiGr
9e9687b5b8 Translated using Weblate (Belarusian)
Currently translated at 75.3% (452 of 600 strings)
2020-10-02 21:22:19 +02:00
TobiGr
ef888d1afe Translated using Weblate (Estonian)
Currently translated at 67.0% (402 of 600 strings)
2020-10-02 21:22:18 +02:00
TobiGr
0e70e1a37a Translated using Weblate (Punjabi)
Currently translated at 73.1% (439 of 600 strings)
2020-10-02 21:22:17 +02:00
TobiGr
06aaceb673 Translated using Weblate (Macedonian)
Currently translated at 64.3% (386 of 600 strings)
2020-10-02 21:22:16 +02:00
TobiGr
703a4b7858 Translated using Weblate (Bulgarian)
Currently translated at 62.0% (372 of 600 strings)
2020-10-02 21:22:16 +02:00
TobiGr
32ba2ba83d Translated using Weblate (Tamil)
Currently translated at 33.6% (202 of 600 strings)
2020-10-02 21:22:16 +02:00
TobiGr
272b03ed92 Translated using Weblate (Telugu)
Currently translated at 23.1% (139 of 600 strings)
2020-10-02 21:22:15 +02:00
TobiGr
ecf19214ee Translated using Weblate (Hindi)
Currently translated at 77.5% (465 of 600 strings)
2020-10-02 21:22:15 +02:00
TobiGr
f3eb0c497f Translated using Weblate (Croatian)
Currently translated at 82.6% (496 of 600 strings)
2020-10-02 21:22:15 +02:00
TobiGr
c1f29a7565 Translated using Weblate (Swedish)
Currently translated at 94.5% (567 of 600 strings)
2020-10-02 21:22:15 +02:00
TobiGr
fb745b9108 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 62.5% (375 of 600 strings)
2020-10-02 21:22:14 +02:00
TobiGr
9410bf40d3 Translated using Weblate (Persian)
Currently translated at 100.0% (600 of 600 strings)
2020-10-02 21:22:14 +02:00
Mostafa Ahangarha
c7a695cb04 Translated using Weblate (Persian)
Currently translated at 100.0% (600 of 600 strings)
2020-10-02 21:22:14 +02:00
TobiGr
b991d5cab6 Translated using Weblate (Romanian)
Currently translated at 65.6% (394 of 600 strings)
2020-10-02 21:22:12 +02:00
TobiGr
42fd318321 Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 27.3% (164 of 600 strings)
2020-10-02 21:22:12 +02:00
TobiGr
903aeec383 Translated using Weblate (Basque)
Currently translated at 91.5% (549 of 600 strings)
2020-10-02 21:22:12 +02:00
ssantos
8768fe4dcf Translated using Weblate (Portuguese)
Currently translated at 96.0% (576 of 600 strings)
2020-10-02 21:22:11 +02:00
TobiGr
d8ba2ceed4 Translated using Weblate (Hungarian)
Currently translated at 69.6% (418 of 600 strings)
2020-10-02 21:22:11 +02:00
Tobias Groza
ef8a1bcf47 Merge pull request #4365 from B0pol/prettytime
Update to PrettyTime 4.0.6
2020-10-02 20:40:11 +02:00
bopol
2b1469e02e update to PrettyTime 4.0.6
fixes #4324
2020-10-03 19:04:44 +02:00
Tobias Groza
83ea91586b Merge pull request #4362 from Stypox/fix-queue
Random fixes and improvements
2020-10-02 16:48:04 +02:00
Stypox
dbb86d25e1 Fix video detail controls visibility set inconsistently 2020-10-02 16:03:43 +02:00
Tobias Groza
794c74e514 Merge pull request #4360 from avently/player-overlays
Player overlays now centered
2020-10-02 15:37:28 +02:00
Stypox
fbcdaa77e3 Initialize player notification asap
Otherwise Android's foreground services implementation would complain
2020-10-02 15:17:04 +02:00
Stypox
dbdc04c45e Make player close button always white 2020-10-02 14:53:16 +02:00
Stypox
a4bb22280f Prevent touches behind minimized player 2020-10-02 14:53:16 +02:00
Stypox
c0e1bbbfb6 Fix queue close image not following theme 2020-10-02 14:52:49 +02:00
TobiGr
196b9dc771 Remove unused string resource "enable_lock_screen_video_thumbnail_title" 2020-10-01 16:43:04 +02:00
TobiGr
09578b4e46 Remove unused string resource "enable_lock_screen_video_thumbnail_summary" 2020-10-01 16:43:04 +02:00
TobiGr
4d88dadf8c Remove unused string resource "play_btn_text" 2020-10-01 16:43:04 +02:00
TobiGr
d4fda5847d Remove unused string resource "next_video_title" 2020-10-01 16:43:04 +02:00
Tobias Groza
b1ea7d6cbc Merge pull request #4350 from 4D17Y4/commenter
Disabled commenter image view on LoadThumbnail set to false
2020-10-01 15:07:45 +02:00
Tobias Groza
4e7632949d Merge pull request #4347 from avently/player-rebind
Player rebind
2020-10-01 15:03:43 +02:00
Avently
26a8bd147b Now player's overlays are aware of insets 2020-10-01 03:10:51 +03:00
Avently
dd726fac02 Skipped interception of buttons in the player in some cases and made image view from playQueue visible 2020-10-01 03:10:42 +03:00
Tobias Groza
3a3ecc7775 Merge pull request #4353 from opusforlife2/tap_behind_queue
Prevent tapping behind queue in main player
2020-09-30 15:04:35 +02:00
Avently
6665d630ec Added comments and improved the code 2020-09-30 00:49:34 +03:00
opusforlife2
7706d7471a Do the same for tablet layout.
Signed-off-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
2020-09-30 02:17:04 +05:30
TobiGr
ed87d6b268 Deleted translation using Weblate (Neapolitan) 2020-09-29 21:57:04 +02:00
Tobias Groza
ed51c8b318 Merge pull request #4340 from Stypox/notification-settings-fix
Small adjustments to notification settings layout
2020-09-29 21:55:29 +02:00
TobiGr
6ffbb7b1ed Remove linebreaks from localizations of notification_actions_summary 2020-09-29 21:46:47 +02:00
Stypox
06764db118 Small adjustments to notification settings layout 2020-09-29 21:46:00 +02:00
TobiGr
4864fa3f2d Merge remote-tracking branch 'Weblate/dev' into dev 2020-09-29 21:08:17 +02:00
ssantos
2d25b6a1f4 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (600 of 600 strings)
2020-09-29 21:07:53 +02:00
Ajeje Brazorf
be76b3d105 Translated using Weblate (Sardinian)
Currently translated at 100.0% (600 of 600 strings)
2020-09-29 21:07:52 +02:00
thami simo
81cbeb4b24 Translated using Weblate (Arabic)
Currently translated at 100.0% (600 of 600 strings)
2020-09-29 21:07:52 +02:00
Gontzal Manuel Pujana Onaindia
f0b658ba14 Translated using Weblate (Basque)
Currently translated at 91.5% (549 of 600 strings)
2020-09-29 21:07:52 +02:00
ssantos
295836fc7e Translated using Weblate (Portuguese)
Currently translated at 96.0% (576 of 600 strings)
2020-09-29 21:07:52 +02:00
opusforlife2
54e9858148 Prevent tapping behind queue in main player
(I have no idea what I just did. Shhh! Don't tell anyone. 🤫 )
2020-09-29 18:57:49 +00:00
TobiGr
b68f015825 Update extractor version 2020-09-29 20:25:28 +02:00
Aditya Srivastava
87ae26ede3 Disabled commenter image view on LoadThumbnail set to false 2020-09-29 21:17:39 +05:30
zmni
49615f81b4 Translated using Weblate (Indonesian)
Currently translated at 100.0% (600 of 600 strings)
2020-09-29 12:34:37 +02:00
Terry Louwers
87ce5140fa Translated using Weblate (Dutch)
Currently translated at 100.0% (600 of 600 strings)
2020-09-29 12:34:37 +02:00
Tobias Groza
3ba9fb375c Merge pull request #4349 from wb9688/fix-queue-with-no-next-videos
Fix auto-queue with no next videos
2020-09-29 12:18:57 +02:00
wb9688
f4bd20361a Fix auto-queue with no next videos 2020-09-29 10:43:17 +02:00
Oymate
54f8a17aac Translated using Weblate (Bengali)
Currently translated at 63.1% (379 of 600 strings)
2020-09-29 06:58:42 +02:00
Юрий Иванович Шмаровский
7a1e5026c4 Translated using Weblate (Belarusian)
Currently translated at 75.3% (452 of 600 strings)
2020-09-29 06:58:35 +02:00
Allan Nordhøy
323161c6de Translated using Weblate (Norwegian Bokmål)
Currently translated at 93.8% (563 of 600 strings)
2020-09-29 06:58:34 +02:00
Ville Rantanen
1ac4890893 Translated using Weblate (Finnish)
Currently translated at 100.0% (600 of 600 strings)
2020-09-29 06:58:34 +02:00
Isak Holmström
e9c88fecc5 Translated using Weblate (Swedish)
Currently translated at 94.5% (567 of 600 strings)
2020-09-29 06:58:32 +02:00
Yaron Shahrabani
33deaaefac Translated using Weblate (Hebrew)
Currently translated at 100.0% (600 of 600 strings)
2020-09-29 06:58:32 +02:00
Jeff Huang
bb6438ebe4 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (600 of 600 strings)
2020-09-29 06:58:32 +02:00
chr56
d42af74afa Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (600 of 600 strings)
2020-09-29 06:58:31 +02:00
Eric
ea1f2f4ad4 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (600 of 600 strings)
2020-09-29 06:58:31 +02:00
Samuel Carvalho de Araújo
95b45651bb Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (600 of 600 strings)
2020-09-29 06:58:30 +02:00
WaldiS
0d5730d33e Translated using Weblate (Polish)
Currently translated at 100.0% (600 of 600 strings)
2020-09-29 06:58:30 +02:00
Emin Tufan Çetin
0625a35ddf Translated using Weblate (Turkish)
Currently translated at 100.0% (600 of 600 strings)
2020-09-29 06:58:30 +02:00
Rex_sa
2d3271ee13 Translated using Weblate (Arabic)
Currently translated at 100.0% (600 of 600 strings)
2020-09-29 06:58:29 +02:00
Krysa Czech
6da2e80027 Translated using Weblate (Czech)
Currently translated at 100.0% (600 of 600 strings)
2020-09-29 06:58:28 +02:00
Marian Hanzel
439edbf85c Translated using Weblate (Slovak)
Currently translated at 98.5% (591 of 600 strings)
2020-09-29 06:58:26 +02:00
THANOS SIOURDAKIS
e0237a0b86 Translated using Weblate (Greek)
Currently translated at 93.5% (561 of 600 strings)
2020-09-29 06:58:24 +02:00
ssantos
e1845ba603 Translated using Weblate (Portuguese)
Currently translated at 94.8% (569 of 600 strings)
2020-09-29 06:58:22 +02:00
pjammo
1cf757d401 Translated using Weblate (Italian)
Currently translated at 100.0% (600 of 600 strings)
2020-09-29 06:58:20 +02:00
AioiLight
14985b1727 Translated using Weblate (Japanese)
Currently translated at 100.0% (600 of 600 strings)
2020-09-29 06:58:20 +02:00
Nikita Epifanov
6b2788be57 Translated using Weblate (Russian)
Currently translated at 100.0% (600 of 600 strings)
2020-09-29 06:58:19 +02:00
Ben De Meester
ac888f4cb2 Translated using Weblate (Dutch)
Currently translated at 99.5% (597 of 600 strings)
2020-09-29 06:58:18 +02:00
Bopol
df06cfc4c5 Translated using Weblate (French)
Currently translated at 100.0% (600 of 600 strings)
2020-09-29 06:58:17 +02:00
Laura Arjona Reina
dcba3a681c Translated using Weblate (Spanish)
Currently translated at 99.8% (599 of 600 strings)
2020-09-29 06:58:16 +02:00
Bruno Tendler
7fd49c22a8 Translated using Weblate (Spanish)
Currently translated at 99.8% (599 of 600 strings)
2020-09-29 06:58:16 +02:00
TobiGr
314287a6d9 Translated using Weblate (German)
Currently translated at 100.0% (600 of 600 strings)
2020-09-29 06:58:15 +02:00
BurningKarl
f5e7b8f229 Translated using Weblate (German)
Currently translated at 100.0% (600 of 600 strings)
2020-09-29 06:58:15 +02:00
C. Rüdinger
de84db070e Translated using Weblate (German)
Currently translated at 100.0% (600 of 600 strings)
2020-09-29 06:58:15 +02:00
Avently
c1d5a5cd98 Player will be rebound when needed, prev/next/queue buttons, preserving paused state
- each time something starts to play in any player VideoDetailFragment will be started (if not yet started) and mini player will show up. It makes possible to see a playing stream in mini player even if the stream was started without using fragment or after player service was closed somehow
- play/next/queue buttons will be updated in realtime when stream was added/removed from queue instead of waiting for a onPlay/onPause action to happen
- when popup or background players start the stream will start playing only if paused state wasn't requested. Which means, for example, if a user opens popup it will be started when START_PAUSED is false. If, for example, the stream was played in main player and then popup was started the stream will still be playing, but if it was paused it still be paused in popup (or background) in APPEND_ONLY mode (but will be playing on new queue initialization)
2020-09-29 06:22:53 +03:00
opusforlife2
160a04c3c7 Merge pull request #4288 from avently/performance-increase
Performance increase
2020-09-28 17:45:25 +00:00
Oymate
23bfc30c57 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 62.5% (375 of 600 strings)
2020-09-28 10:13:01 +02:00
Oymate
d9329bffd1 Added translation using Weblate (Bengali) 2020-09-28 10:10:43 +02:00
Oğuz Ersen
bafc1df988 Translated using Weblate (Turkish)
Currently translated at 100.0% (600 of 600 strings)
2020-09-27 23:28:04 +02:00
David Braz
30b8835919 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (600 of 600 strings)
2020-09-27 19:08:02 +02:00
RachelB
44b19e75f6 Translated using Weblate (Spanish)
Currently translated at 95.1% (571 of 600 strings)
2020-09-27 18:55:56 +02:00
Laura Arjona Reina
2a558ad11d Translated using Weblate (Spanish)
Currently translated at 95.1% (571 of 600 strings)
2020-09-27 18:55:56 +02:00
Hosted Weblate
123d8972e1 Merge branch 'origin/dev' into Weblate. 2020-09-27 17:19:59 +02:00
Ajeje Brazorf
e550a8ea27 Translated using Weblate (Sardinian)
Currently translated at 99.5% (597 of 600 strings)
2020-09-27 17:19:44 +02:00
Kurd As
8b29460fed Translated using Weblate (Central Kurdish)
Currently translated at 99.6% (598 of 600 strings)
2020-09-27 17:19:44 +02:00
Allan Nordhøy
e380d63c57 Translated using Weblate (Norwegian Bokmål)
Currently translated at 90.5% (543 of 600 strings)
2020-09-27 17:19:43 +02:00
Yaron Shahrabani
89b4f2c4d4 Translated using Weblate (Hebrew)
Currently translated at 100.0% (600 of 600 strings)
2020-09-27 17:19:42 +02:00
Oğuz Ersen
6c2f63f738 Translated using Weblate (Turkish)
Currently translated at 100.0% (600 of 600 strings)
2020-09-27 17:19:41 +02:00
zmni
77c612f0f5 Translated using Weblate (Indonesian)
Currently translated at 100.0% (600 of 600 strings)
2020-09-27 17:19:41 +02:00
THANOS SIOURDAKIS
2d06c01192 Translated using Weblate (Greek)
Currently translated at 85.3% (512 of 600 strings)
2020-09-27 17:19:40 +02:00
AioiLight
d13c19f05f Translated using Weblate (Japanese)
Currently translated at 100.0% (600 of 600 strings)
2020-09-27 17:19:40 +02:00
Bopol
3d2ba05c77 Translated using Weblate (French)
Currently translated at 100.0% (600 of 600 strings)
2020-09-27 17:19:39 +02:00
Florian
6898b9d9a4 Translated using Weblate (French)
Currently translated at 100.0% (600 of 600 strings)
2020-09-27 17:19:39 +02:00
TobiGr
a65aaa6b83 Translated using Weblate (German)
Currently translated at 99.1% (595 of 600 strings)
2020-09-27 17:19:39 +02:00
nautilusx
b3136c20c4 Translated using Weblate (German)
Currently translated at 99.1% (595 of 600 strings)
2020-09-27 17:19:38 +02:00
Tobias Groza
0ae3dfd9cc Merge pull request #4315 from comradekingu/patch-12
String improvements
2020-09-27 17:12:20 +02:00
Avently
0370fa6c00 Merged 'dev' branch 2020-09-27 18:02:31 +03:00
Allan Nordhøy
7ab323b00c Spelling: Back to browser 2020-09-27 14:53:24 +00:00
Tobias Groza
541eb70b9c Merge pull request #4272 from avently/small-fixes2
Small fixes of issues with old devices support, brightness, etc
2020-09-27 15:31:02 +02:00
Avently
e53e5ca20e Disabled nested scrolling of queue 2020-09-27 15:50:21 +03:00
Avently
609bf64856 Merged 'dev' branch 2020-09-27 15:04:20 +03:00
bopol
a9fafe91a5 Merge pull request #4326 from Stypox/appid-numbers
Allow numbers and uppercase letters in app package id
2020-09-27 12:00:55 +02:00
Hosted Weblate
0466b320dd Merge branch 'origin/dev' into Weblate. 2020-09-27 11:24:38 +02:00
MohammedSR Vevo
5b74d22d0a Translated using Weblate (Kurdish)
Currently translated at 97.9% (578 of 590 strings)
2020-09-27 11:24:29 +02:00
THANOS SIOURDAKIS
4152c7f956 Translated using Weblate (Greek)
Currently translated at 86.6% (511 of 590 strings)
2020-09-27 11:24:29 +02:00
Tobias Groza
d5f603303d Merge pull request #4259 from TeamNewPipe/pref_migration
Add settings migration, remove "Detail page" option from share dialog and minimize to background by default
2020-09-27 11:20:39 +02:00
Tobias Groza
fc9c073a60 Merge pull request #3178 from cool-student/notificationImprovements
Notification Improvements
2020-09-27 10:43:11 +02:00
Avently
9a0c2c40bd Refactoring and made the player returning from landscape & fullscreen on vertical video to portrait after clicking on fullscreen button 2020-09-27 06:39:42 +03:00
Avently
d0fc9fda71 Fixed player's ZOOM mode for KitKat devices 2020-09-27 04:25:06 +03:00
Avently
df9823988e Changes for tablets and device's orientation behavior
- the app will not rotate the screen to portrait after video completes, it will just exit from fullscreen mode
- ability to rotate the orientation via fullscreen button from landscape to portrait when device has locked orientation in landscape
- ability to enter/exit to/from fullscreen on tablets with unlocked global orientation in portrait mode
2020-09-27 04:11:38 +03:00
Ajeje Brazorf
eeb09c074c Translated using Weblate (Sardinian)
Currently translated at 100.0% (590 of 590 strings)
2020-09-26 22:42:32 +02:00
Allan Nordhøy
af0928e2bd Translated using Weblate (Norwegian Bokmål)
Currently translated at 87.9% (519 of 590 strings)
2020-09-26 22:42:31 +02:00
WaldiS
d9cf4de3f7 Translated using Weblate (Polish)
Currently translated at 100.0% (590 of 590 strings)
2020-09-26 22:42:31 +02:00
zeritti
2d6dd4b3be Translated using Weblate (Czech)
Currently translated at 100.0% (590 of 590 strings)
2020-09-26 22:42:30 +02:00
pjammo
160312393a Translated using Weblate (Italian)
Currently translated at 100.0% (590 of 590 strings)
2020-09-26 22:42:30 +02:00
AioiLight
e3ff9f9c86 Translated using Weblate (Japanese)
Currently translated at 100.0% (590 of 590 strings)
2020-09-26 22:42:30 +02:00
Nikita Epifanov
95570d796d Translated using Weblate (Russian)
Currently translated at 100.0% (590 of 590 strings)
2020-09-26 22:42:29 +02:00
Bopol
cd0d58a915 Translated using Weblate (French)
Currently translated at 100.0% (590 of 590 strings)
2020-09-26 22:42:29 +02:00
TobiGr
2f1007c725 Translated using Weblate (German)
Currently translated at 98.9% (584 of 590 strings)
2020-09-26 22:42:28 +02:00
Stypox
b53d5d8c00 Allow numbers and uppercase letters in app package id 2020-09-26 22:32:11 +02:00
TobiGr
3c4a4e5384 Set default value for "minimize_on_exit" to background for better UX. 2020-09-26 21:58:38 +02:00
TobiGr
0e5f85db95 Remove "Detail Page" open action from share dialog under certain circumstances
With the new application workflow and unified player, video detail page and video player are the same activity. So show only one of these options based on whether autoplay is enabled or not, and show both if using external player
2020-09-26 21:58:34 +02:00
TobiGr
ad3364671d Add migration concept for shared preferences 2020-09-26 21:43:58 +02:00
Avently
3add24b8aa Merged 'dev' branch 2020-09-26 02:42:26 +03:00
Tobias Groza
e0f02d4080 Merge pull request #4246 from avently/preloading
Disabled preloading when switching streams
2020-09-25 21:22:31 +02:00
Allan Nordhøy
00c4c10472 String improvements 2020-09-25 08:06:18 +00:00
Yaron Shahrabani
a2b8cc9dc2 Translated using Weblate (Hebrew)
Currently translated at 100.0% (590 of 590 strings)
2020-09-25 09:14:16 +02:00
Jeff Huang
3465002cbb Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (590 of 590 strings)
2020-09-25 09:14:15 +02:00
Eric
631cb73305 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (590 of 590 strings)
2020-09-25 09:14:15 +02:00
Samuel Carvalho de Araújo
b3b6384bef Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (590 of 590 strings)
2020-09-25 09:14:15 +02:00
Oğuz Ersen
941ca575fb Translated using Weblate (Turkish)
Currently translated at 100.0% (590 of 590 strings)
2020-09-25 09:14:14 +02:00
zmni
2d65c3595d Translated using Weblate (Indonesian)
Currently translated at 100.0% (590 of 590 strings)
2020-09-25 09:14:14 +02:00
Bopol
b3812d913a Translated using Weblate (French)
Currently translated at 100.0% (590 of 590 strings)
2020-09-25 09:14:13 +02:00
Tobias Groza
adcc420c81 Merge pull request #4310 from B0pol/duplicate
Translations improvements
2020-09-24 20:24:00 +02:00
bopol
b97ad99bb4 lint translations 2020-09-24 18:27:24 +02:00
bopol
e93a2850d6 Translations improvements :
- remove duplicated string (name) and avoid potential duplicate (autoplay_never_description -> Never, autoplay_always_description -> Always because they are just "Always" or "Never"). Fixes #4268
- leakCanary string removed (fixes #4233)
2020-09-24 15:24:59 +02:00
TobiGr
411d0691fa Merge remote-tracking branch 'Weblate/dev' into dev 2020-09-24 15:13:04 +02:00
Avently
c843e77183 Made notification thumbnail smaller 2020-09-23 15:20:25 +03:00
Kornelijus Tvarijanavičius
093d6e5336 Translated using Weblate (Lithuanian)
Currently translated at 44.6% (261 of 584 strings)
2020-09-23 01:40:55 +02:00
bopol
8a3c752d42 Merge pull request #4275 from B0pol/quality
change default quality
2020-09-22 20:53:30 +02:00
Stypox
b4e073cde7 Show replay icon in notification when player state is completed 2020-09-22 18:17:16 +02:00
Stypox
814efbf8df Remove ACTION_BUFFERING, update buffering only if needed
- ACTION_BUFFERING was just wrong: why should the user be able to trigger the internal onBuffering() state by pressing on the buffering button? So that was replaced by a null intent, doing nothing.
- Now updating notification in onBuffering() only when buffering actions are not already buffering, to prevent useless updates
2020-09-22 18:17:16 +02:00
Stypox
11e048abb1 Remove hardcoded and duplicate strings, use exoplayer ones 2020-09-22 18:17:09 +02:00
wrghig
34e7855af6 Translated using Weblate (Hungarian)
Currently translated at 73.1% (427 of 584 strings)
2020-09-21 06:28:23 +02:00
Parsa Akhbar
de54dc27ad Translated using Weblate (Persian)
Currently translated at 96.5% (564 of 584 strings)
2020-09-20 11:39:52 +02:00
Mostafa Ahangarha
790133978d Translated using Weblate (Persian)
Currently translated at 96.5% (564 of 584 strings)
2020-09-20 11:39:52 +02:00
zeritti
b914d67d9d Translated using Weblate (Czech)
Currently translated at 100.0% (584 of 584 strings)
2020-09-20 11:39:51 +02:00
Avently
518eb97e3a Variable width for caption button and hiding system UI after popup close 2020-09-19 22:52:59 +03:00
Avently
f41549ccf1 Added a comment and excluded automatic switch of orientation on tablets and Android TVs 2020-09-19 17:21:01 +03:00
Tobias Groza
b69e477ecd Merge pull request #4029 from Stypox/search-suggestions
Improve search suggestion experience when remote ones can't be fetched
2020-09-19 16:01:30 +02:00
Stypox
0062ff9cfa Fix deprecations, warnings and useless null checks in SearchFragment 2020-09-19 15:25:04 +02:00
Stypox
f8de72f59f Improve search suggestion experience when remote ones can't be fetched
Do not show anything in case of network error (it can simply be ignored).
Show a snackbar otherwise, which still allows writing things into the search box.
2020-09-19 15:22:54 +02:00
Stypox
7317737e90 Fix invisible queue close button 2020-09-19 13:44:07 +02:00
Avently
5b8eda4805 Increased performance of the UI. main thread is not as busy as before 2020-09-17 23:42:35 +03:00
Avently
886a949a00 Enable/disable video after screen on/off regardless of background playback setting 2020-09-17 22:30:03 +03:00
Avently
92e13dafe5 Correct exit from fullscreen in case of error or close from notification, 2020-09-17 19:01:20 +03:00
Avently
c9be812330 Fix for untouchable area 2020-09-16 23:41:49 +03:00
Stypox
59e7ebabfa Random adjustements to notification 2020-09-16 14:00:22 +02:00
thami simo
1afc48fce3 Translated using Weblate (Arabic)
Currently translated at 100.0% (584 of 584 strings)
2020-09-16 10:36:11 +02:00
Avently
a1e4ef9e8e Fix for multiple listeners of insets 2020-09-16 04:49:26 +03:00
Avently
5ada0ae2c7 Hiding controls when orientation changes to landscape 2020-09-15 22:10:38 +03:00
Avently
a5312c1341 Perfect shadow 2020-09-15 19:50:46 +03:00
Avently
150e156d26 Reimagined player positioning 2020-09-15 14:43:43 +03:00
Avently
6d38615ea8 Android 11: transparent navigation and status bars 2020-09-14 11:30:41 +03:00
Avently
011cc7d337 Android 11 initial support 2020-09-14 02:46:00 +03:00
bopol
b747d09836 change default quality 2020-09-13 14:01:01 +02:00
bopol
4b7311bafd Merge pull request #3826 from Stypox/unsupported-url-dialog
Show dialog with open options in case of an unsupported url
2020-09-12 23:54:51 +02:00
bopol
eeba9c0a5f Merge remote-tracking branch 'upstream/dev' into unsupported-url-dialog 2020-09-12 23:19:18 +02:00
Stypox
11d9a037f7 Merge pull request #4252 from opusforlife2/autoplay_to_autoqueue2
Change Autoplay to Autoqueue to reduce ambiguity
2020-09-11 22:11:13 +02:00
Avently
883e4fcd7c Small fixes of issues with old devices support, brightness, etc 2020-09-11 20:52:38 +03:00
Stypox
2017e6a3e3 Refactor MediaSessionManager 2020-09-10 20:36:52 +02:00
Stypox
bccfe500b3 Fix seekbar invisible or not updating
Have the notification recreate only when strictly necessary, and recreate it if there was a timeline change, fixing the seekbar not updating at all sometimes
2020-09-10 20:22:22 +02:00
Stypox
5846fbabce Change "image" to "thumbnail" 2020-09-10 19:47:07 +02:00
Stypox
52e89c1d1c Prevent seeking out of video duration in player 2020-09-10 19:47:02 +02:00
Stypox
1605e50cef Update notification when play queue is edited 2020-09-10 13:36:34 +02:00
Stypox
2215ce58a4 Merge pull request #3794 from budde25/download-same-file-crash
Fixes crash when a file is deleted then redownloaded
2020-09-09 15:41:06 +02:00
Stypox
a13e6b69e3 Merge branch 'dev' into pr3178 2020-09-08 23:58:10 +02:00
Stjepan
1d6370e11c Translated using Weblate (Croatian)
Currently translated at 86.9% (508 of 584 strings)
2020-09-08 23:19:45 +02:00
Stypox
bd34c7ede3 Make player foreground playback-specific in manifest 2020-09-08 22:00:28 +02:00
Stypox
bc8954fbba Fix notification content intent not being updated when needed 2020-09-08 22:00:28 +02:00
Stypox
9cf0bc6c82 Make notification creation and cancelling more consistent 2020-09-08 22:00:28 +02:00
Stypox
71b32fe641 Add notification costumization settings menu 2020-09-08 22:00:24 +02:00
Stypox
530f745e44 Merge pull request #4154 from avently/video-placement
Prevent jumping of the player and wrong padding on devices with cutout
2020-09-08 19:47:09 +02:00
opusforlife2
a5a2313851 Use new string for auto-queue toggle 2020-09-08 10:44:58 +00:00
opusforlife2
4e98c2e7f6 Add string for auto queue toggle 2020-09-08 10:43:11 +00:00
Stypox
14486782dc Merge pull request #3909 from TacoTheDank/deprecations-and-cleanup
Deprecations and cleanup
2020-09-07 20:51:24 +02:00
Avently
31814b70da Disabled preloading when switching streams 2020-09-07 19:34:10 +03:00
Stypox
408e819d32 Extract duplicate setActivityTitle code to own function 2020-09-07 15:28:38 +02:00
Antony
622676f9bc Translated using Weblate (Greek)
Currently translated at 85.2% (498 of 584 strings)
2020-09-07 11:36:12 +02:00
Stypox
5b631e0387 Revert to deprecated BEHAVIOR_SET_USER_VISIBLE_HINT in TabAdapter
Also added comment explaining why
2020-09-06 14:02:25 +02:00
TacoTheDank
06d54ef77e Clean up SDK version checks 2020-09-06 12:55:30 +02:00
TacoTheDank
6c5ef567ed Replace deprecated Html#fromHtml with HtmlCompat#fromHtml 2020-09-06 12:55:30 +02:00
TacoTheDank
f86b40302d Some general-purpose lint cleanup 2020-09-06 12:55:26 +02:00
TacoTheDank
273c287fbf Fix some lambdas 2020-09-06 12:52:43 +02:00
TacoTheDank
6cb16be5df Use enhanced 'for' loops 2020-09-06 12:52:43 +02:00
TacoTheDank
a4feb3fc09 Fix some deprecations 2020-09-06 12:52:43 +02:00
TacoTheDank
ba6c7de35a Use AndroidX preference 2020-09-06 12:52:42 +02:00
TacoTheDank
79e2bb382f Update ExoPlayer, OkHttp, use Kotlin JDK8 2020-09-06 12:48:35 +02:00
pitachips
0090256ded Translated using Weblate (Korean)
Currently translated at 87.3% (510 of 584 strings)
2020-09-05 22:36:11 +02:00
TobiGr
00ce077758 Translated using Weblate (Korean)
Currently translated at 87.3% (510 of 584 strings)
2020-09-05 22:36:11 +02:00
Stypox
a801d0994f Merge pull request #4223 from avently/small-fixes
Small fixes of issues with brightness, background playback, gestures
2020-09-05 20:51:37 +02:00
Stypox
628575dc5f Clean up MediaSessionManager 2020-09-04 18:44:09 +02:00
Avently
0a22f21410 Small fixes of issues with brightness, background playback, gestures 2020-09-04 05:39:55 +03:00
Stypox
97ff9e9c5b Merge branch 'dev' into pr3178 2020-09-03 21:56:48 +02:00
Stypox
8b3a09306b Various notification code improvements
Improve builder parameters
Reorder code and extract large icon function
service.startForeground() now is also provided with service type in android versions >= Q
2020-09-03 21:54:31 +02:00
Stypox
7766fd13fd Extract hardcoded strings into strings.xml and improve them 2020-09-03 21:54:31 +02:00
Stypox
c79997ebe3 Show hourglass icon when buffering 2020-09-03 21:54:28 +02:00
Tobias Groza
0fd1e2fcd9 Merge pull request #4038 from vmazoyer/remember_dl_pref
Remember last selected media type for downloads.
2020-09-03 20:11:36 +02:00
vmazoyer
99442b6e04 Remember last selected media type for downloads. 2020-09-03 19:47:34 +02:00
Avently
b8a35e9e4a Moved device-specific code into DeviceUtils 2020-09-03 15:48:17 +03:00
Avently
e833d415e3 Fixed wrong padding on devices with cutout on vertical videos 2020-09-03 15:48:17 +03:00
Avently
8030312924 Prevent jumping of the player on devices with cutout 2020-09-03 15:48:17 +03:00
Stypox
a84b54f940 Merge pull request #4127 from nmurali94/bugfix-keep-license-on-rotate
Restore license pop-up when orientation changes
2020-09-02 16:28:43 +02:00
TobiGr
c66c81294e Remove unused and redundant code. 2020-09-01 17:39:06 +02:00
Tobias Groza
bfdc215c65 Merge pull request #4155 from avently/gestures-interception
Skipping interception of some gestures
2020-09-01 16:51:34 +02:00
Kahina Messaoudi
e10c7beedb Translated using Weblate (Kabyle)
Currently translated at 31.8% (186 of 584 strings)
2020-08-29 00:15:27 +02:00
zeritti
18c3286364 Translated using Weblate (Czech)
Currently translated at 100.0% (584 of 584 strings)
2020-08-29 00:15:27 +02:00
Tobias Groza
8d2ec30818 Merge pull request #4120 from mhmdanas/replace-SubtitlesStream-getURL-with-getUrl
Use SubtitlesStream#getUrl instead of getURL
2020-08-26 22:15:44 +02:00
mhmdanas
e5ffddfc6b Use SubtitlesStream#getUrl instead of getURL 2020-08-26 23:04:18 +03:00
Hakim Oubouali
59fc1e4b5f Translated using Weblate (Berber)
Currently translated at 24.3% (142 of 584 strings)
2020-08-26 18:13:49 +02:00
ssantos
7ead581953 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (584 of 584 strings)
2020-08-22 10:36:37 +02:00
Ivo Andonov
b860980df4 Translated using Weblate (Bulgarian)
Currently translated at 65.2% (381 of 584 strings)
2020-08-22 10:36:37 +02:00
Kim Nyberg
97a366d62e Translated using Weblate (Swedish)
Currently translated at 99.3% (580 of 584 strings)
2020-08-22 10:36:36 +02:00
ssantos
9ad68097d0 Translated using Weblate (Portuguese)
Currently translated at 100.0% (584 of 584 strings)
2020-08-22 10:36:36 +02:00
wb9688
331999fb95 Merge pull request #4158 from TobiGr/code-improvements
Remove duplicate code
2020-08-21 16:41:11 +02:00
Luna Jernberg
6519d7051d Translated using Weblate (Swedish)
Currently translated at 99.1% (579 of 584 strings)
2020-08-19 14:33:14 +02:00
TobiGr
552d585fca Extract common part from if 2020-08-18 13:28:13 +02:00
Avently
24c24d6c72 Skipping interception of some gestures 2020-08-17 20:42:05 +03:00
wb9688
b7f50c3e12 Merge pull request #4080 from avently/cpu-usage-improvement
Reduced CPU usage when playing a video by 7-10%
2020-08-17 09:46:07 +02:00
Avently
aed1687a45 Improved an animation logic 2020-08-16 22:44:27 +03:00
nmurali94
daa427dc15 Restore license pop up after orientation change 2020-08-16 12:23:40 +02:00
Tobias Groza
e9d4303fdb Merge pull request #4134 from avently/bottom-space
Set bottom padding of the main fragment when the mini player is visible
2020-08-16 12:15:08 +02:00
Tobias Groza
5485e994ee Merge pull request #4138 from XiangRongLin/checkstyle_final
Add checkstyle rule to show final local variable violations as warning
2020-08-16 11:55:46 +02:00
wb9688
87228673b4 Use final where possible 2020-08-16 10:25:09 +02:00
Xiang Rong Lin
d306513319 Add checkstyle rule to show final local variable violations as warning 2020-08-16 10:25:09 +02:00
Stypox
e08480f345 Completely remove old player notification 2020-08-15 22:03:32 +02:00
Tobias Groza
13c9096417 Merge pull request #4130 from Stypox/swipe-queueitem-fix
[regression] Close player in onPlaybackShutdown()
2020-08-15 20:25:54 +02:00
Avently
d3d65c8e3a Set bottom padding of the main fragment when the mini player is visible 2020-08-15 20:51:52 +03:00
Stypox
12ac5ef781 [regression] Close player in onPlaybackShutdown() 2020-08-15 15:58:25 +02:00
Stypox
adef9a8acf Rename notification functions: they are not background player only 2020-08-15 15:16:17 +02:00
Tobias Groza
5ef407d15f Merge pull request #4126 from gkeegan/contributor-discussions
Add need for contributors to discuss possible changes
2020-08-15 11:44:52 +02:00
Hakim Oubouali
970b636eb4 Translated using Weblate (Berber)
Currently translated at 17.9% (105 of 584 strings)
2020-08-15 00:56:30 +02:00
ssantos
fcf9131aae Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (584 of 584 strings)
2020-08-15 00:56:28 +02:00
sivemortenfan
7fd27fac45 Translated using Weblate (Malayalam)
Currently translated at 100.0% (584 of 584 strings)
2020-08-15 00:56:19 +02:00
Juraj Liso
6e17af91fb Translated using Weblate (Czech)
Currently translated at 98.4% (575 of 584 strings)
2020-08-15 00:56:18 +02:00
Juraj Liso
68555573ad Translated using Weblate (Slovak)
Currently translated at 97.9% (572 of 584 strings)
2020-08-15 00:56:18 +02:00
Keegan
fb9905a89e Add need for contributors to discuss possible changes
This was discussed in IRC, and should help prevent the occurrence of problems where people spend hours on a feature only for it to be rejected for miscellaneous reasons.
2020-08-14 11:27:06 -05:00
Hakim Oubouali
1e7504dc5a Added translation using Weblate (Berber) 2020-08-14 10:14:05 +02:00
Tobias Groza
d7af019511 Merge pull request #4115 from nmurali94/bugfix-remove-timestamp-from-livestream
Remove timestamp from url when sharing a live stream
2020-08-12 17:57:18 +02:00
nmurali94
04bb070afa Remove timestamp when sharing a live stream 2020-08-12 09:54:35 -04:00
Sérgio Marques
e693d80857 Added translation using Weblate (Portuguese (Portugal)) 2020-08-12 01:30:16 +02:00
Allan Nordhøy
45ae05f1b5 Translated using Weblate (Norwegian Bokmål)
Currently translated at 88.3% (516 of 584 strings)
2020-08-11 13:32:55 +02:00
Allan Nordhøy
05a83beb44 Translated using Weblate (Norwegian Bokmål)
Currently translated at 88.1% (515 of 584 strings)
2020-08-10 10:32:51 +02:00
Tobias Groza
8a1a42e83b Merge pull request #3948 from TobiGr/basic_resize
Add basic resize functionality
2020-08-08 21:34:12 +02:00
BenjaminForster
1b3f3cedb3 Translated using Weblate (Afrikaans)
Currently translated at 4.6% (27 of 584 strings)
2020-08-07 14:32:58 +02:00
TobiGr
f815ae5973 Translated using Weblate (Filipino)
Currently translated at 11.1% (65 of 584 strings)
2020-08-07 14:32:58 +02:00
David Rebolo Magariños
fb7035bf22 Translated using Weblate (Galician)
Currently translated at 100.0% (584 of 584 strings)
2020-08-07 14:32:57 +02:00
Deleted User
02bcbc3221 Translated using Weblate (Malay)
Currently translated at 72.0% (421 of 584 strings)
2020-08-07 14:32:54 +02:00
TobiGr
f0a51d4ab4 Translated using Weblate (Belarusian)
Currently translated at 77.7% (454 of 584 strings)
2020-08-07 14:32:53 +02:00
TobiGr
24fe8fe9a0 Translated using Weblate (Azerbaijani)
Currently translated at 10.2% (60 of 584 strings)
2020-08-07 14:32:53 +02:00
TobiGr
244e95d959 Translated using Weblate (Telugu)
Currently translated at 23.9% (140 of 584 strings)
2020-08-07 14:32:53 +02:00
Kim Nyberg
ad72c64e32 Translated using Weblate (Swedish)
Currently translated at 98.6% (576 of 584 strings)
2020-08-07 14:32:53 +02:00
Yaron Shahrabani
767ac6a51b Translated using Weblate (Hebrew)
Currently translated at 100.0% (584 of 584 strings)
2020-08-07 14:32:52 +02:00
TobiGr
3a6f87659a Translated using Weblate (Armenian)
Currently translated at 13.0% (76 of 584 strings)
2020-08-07 14:32:52 +02:00
Samuel Carvalho de Araújo
b7ac16c7d9 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (584 of 584 strings)
2020-08-07 14:32:52 +02:00
Emin Tufan Çetin
f9f84cbd89 Translated using Weblate (Turkish)
Currently translated at 100.0% (584 of 584 strings)
2020-08-07 14:32:52 +02:00
TobiGr
701c87eefa Translated using Weblate (Ukrainian)
Currently translated at 98.9% (578 of 584 strings)
2020-08-07 14:32:52 +02:00
karnak2016
5379cf0544 Translated using Weblate (Ukrainian)
Currently translated at 98.9% (578 of 584 strings)
2020-08-07 14:32:51 +02:00
TobiGr
6b5c37f17f Translated using Weblate (Greek)
Currently translated at 83.2% (486 of 584 strings)
2020-08-07 14:32:51 +02:00
Terry Louwers
50b2fad180 Translated using Weblate (Dutch)
Currently translated at 100.0% (584 of 584 strings)
2020-08-07 14:32:51 +02:00
ButterflyOfFire
b9cb65b24e Translated using Weblate (Kabyle)
Currently translated at 31.5% (184 of 584 strings)
2020-08-06 15:51:51 +02:00
Avently
d7574973e9 Reduced CPU usage when playing a video by 7-10% 2020-08-05 12:46:25 +03:00
Tobias Groza
ff48c93d59 Merge pull request #4050 from TeamNewPipe/popup-setting-text
Reduce redundancy in "Remeber popup size and position" setting
2020-08-04 23:23:03 +02:00
Tobias Groza
d2e6700dd1 Merge pull request #4066 from BoFFire/dev
Fixing name for Taqbaylit language
2020-08-03 19:17:11 +02:00
Selyan Sliman Amiri
05b8c3f35f Translated using Weblate (Kabyle)
Currently translated at 31.1% (182 of 584 strings)
2020-08-03 19:16:19 +02:00
ButterflyOfFire
70b643e7ba Fixing name for Taqbaylit language
Fixing name for Taqbaylit language
2020-08-03 19:01:51 +02:00
TobiGr
dce973a519 Add basic resize functionality
Addresses #3947
See 9e352df1ed
See https://developer.samsung.com/samsung-dex/modify-optimizing.html#Enabling-Multi-Window-support
2020-08-03 18:40:32 +02:00
Tobias Groza
eb2f75579a Merge pull request #3892 from wb9688/fix-local-playlist-tab
Fix crash when opening video in local playlist tab
2020-08-03 15:49:06 +02:00
Tobias Groza
773316ce4f Merge pull request #4061 from avently/unsupported_api
Removed java.util.Objects calls
2020-08-03 15:32:56 +02:00
wb9688
5fd7ae33b4 Replace getFragmentManager() with getFM() 2020-08-03 14:47:10 +02:00
wb9688
13a065f2dc Fix crash when opening video in local playlist tab 2020-08-03 14:47:10 +02:00
wb9688
1a8ff81087 Use AppCompatImageButton to not crash on 4.4 2020-08-03 14:17:12 +02:00
Tobias Groza
65637fce40 Merge pull request #3944 from Stypox/playlist-layout
Improve playlist header layout: align with info items
2020-08-03 14:15:30 +02:00
ButterflyOfFire
b11fa7a28e Translated using Weblate (Kabyle)
Currently translated at 6.5% (38 of 584 strings)
2020-08-03 13:04:58 +02:00
Avently
45408caf33 Removed java.util.Objects calls 2020-08-03 03:33:51 +03:00
Stypox
963ee4dbab Merge branch 'dev' into pr3178 2020-08-02 22:59:43 +02:00
TobiGr
3b46d5a440 Translated using Weblate (Catalan)
Currently translated at 85.2% (498 of 584 strings)
2020-08-02 13:20:01 +02:00
Kim Nyberg
212fddd8e1 Translated using Weblate (Swedish)
Currently translated at 98.2% (574 of 584 strings)
2020-08-02 13:20:01 +02:00
ktln
433485470e Translated using Weblate (Armenian)
Currently translated at 12.8% (75 of 584 strings)
2020-08-02 13:20:00 +02:00
TobiGr
e160a1f794 Translated using Weblate (Armenian)
Currently translated at 12.8% (75 of 584 strings)
2020-08-02 13:20:00 +02:00
WaldiS
7911b7e637 Translated using Weblate (Polish)
Currently translated at 100.0% (584 of 584 strings)
2020-08-02 13:19:59 +02:00
Oğuz Ersen
7fc5a77e7e Translated using Weblate (Turkish)
Currently translated at 99.6% (582 of 584 strings)
2020-08-02 13:19:59 +02:00
TobiGr
f0fb55640e Translated using Weblate (Romanian)
Currently translated at 69.5% (406 of 584 strings)
2020-08-02 13:19:59 +02:00
TobiGr
d5685f2255 Translated using Weblate (Slovenian)
Currently translated at 55.9% (327 of 584 strings)
2020-08-02 13:19:58 +02:00
Igor Nedoboy
a732233db6 Translated using Weblate (Russian)
Currently translated at 100.0% (584 of 584 strings)
2020-08-02 13:19:55 +02:00
Laszlo Almasi
a5918c29ee Translated using Weblate (Hungarian)
Currently translated at 72.9% (426 of 584 strings)
2020-08-02 13:19:55 +02:00
TobiGr
3b719803bb Translated using Weblate (Hungarian)
Currently translated at 72.9% (426 of 584 strings)
2020-08-02 13:19:54 +02:00
TobiGr
d77463c9f1 Translated using Weblate (German)
Currently translated at 100.0% (584 of 584 strings)
2020-08-02 13:19:53 +02:00
TobiGr
2d8fd9bedf Translated using Weblate (Hungarian)
Currently translated at 62.3% (364 of 584 strings)
2020-08-02 12:07:46 +02:00
Laszlo Almasi
b17a667a9d Translated using Weblate (Hungarian)
Currently translated at 62.3% (364 of 584 strings)
2020-08-02 12:07:46 +02:00
Tobias Groza
b7287a070b Make title and summary of "Remeber popup size and position" setting less redundant 2020-08-02 11:07:48 +02:00
Tobias Groza
fbb5c8cdd6 Update bug_report.md 2020-08-02 09:37:52 +02:00
Artyom
baaf2815e4 Translated using Weblate (Russian)
Currently translated at 100.0% (584 of 584 strings)
2020-08-01 19:03:30 +02:00
Tobias Groza
d8b5549fd9 Merge pull request #2907 from avently/unifiedplayer
Expandable player with unified UI
2020-08-01 12:53:19 +02:00
wb9688
6de03f2bf0 Fix crash when playing stream in background with shuffle in notification 2020-07-31 09:25:32 +02:00
wb9688
caf7c55069 Log only in debug build 2020-07-31 09:10:28 +02:00
wb9688
7d499ffba1 Use vector drawables for close and replay 2020-07-31 09:10:28 +02:00
cool-student
4abf6b2f5c Notification Improvements
- add MediaStyle notifications for Background and Popup playback
- reduce excessive notification updating ( / recreating of Notification.Builder object) when playing background / popup media
- add new buffering state indicator (can be disabled)
- upscale close icon / downscale replay icon
- add notification slot settings
- move notification settings to appearance
- fix Metadata (song title, artist and album art) sometimes not being set correctly
- other misc notification fixes

Co-authored-by: wb9688 <wb9688@users.noreply.github.com>
2020-07-31 09:10:28 +02:00
Mateo Coltura
a842b06301 Translated using Weblate (Flemish)
Currently translated at 73.6% (430 of 584 strings)
2020-07-30 23:12:37 +02:00
Oymate
0bca4925d7 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 32.7% (191 of 584 strings)
2020-07-30 23:12:37 +02:00
Éfrit
ae3953cbec Translated using Weblate (French)
Currently translated at 100.0% (584 of 584 strings)
2020-07-30 23:12:36 +02:00
Raymundo
a99667c54c Translated using Weblate (Spanish)
Currently translated at 100.0% (584 of 584 strings)
2020-07-30 23:12:35 +02:00
Ajeje Brazorf
465963a8c2 Translated using Weblate (Sardinian)
Currently translated at 99.4% (581 of 584 strings)
2020-07-30 01:08:02 +02:00
Digiwizkid
b9b4762faf Translated using Weblate (Bengali (India))
Currently translated at 61.6% (360 of 584 strings)
2020-07-30 01:07:50 +02:00
MohammedSR Vevo
a56b128a4b Translated using Weblate (Kurdish)
Currently translated at 99.3% (580 of 584 strings)
2020-07-30 01:07:49 +02:00
sudoLife
d43cc089fd Translated using Weblate (Lithuanian)
Currently translated at 42.9% (251 of 584 strings)
2020-07-30 01:07:49 +02:00
Jeff Huang
771513d287 Translated using Weblate (Chinese (Traditional))
Currently translated at 99.8% (583 of 584 strings)
2020-07-30 01:07:48 +02:00
Samuel Carvalho de Araújo
c387678217 Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.8% (583 of 584 strings)
2020-07-30 01:07:48 +02:00
thami simo
847368718b Translated using Weblate (Arabic)
Currently translated at 100.0% (584 of 584 strings)
2020-07-30 01:07:48 +02:00
pjammo
458b3daac3 Translated using Weblate (Italian)
Currently translated at 99.8% (583 of 584 strings)
2020-07-30 01:07:47 +02:00
AioiLight
3ea5278b12 Translated using Weblate (Japanese)
Currently translated at 99.8% (583 of 584 strings)
2020-07-30 01:07:47 +02:00
sudoLife
20b9748a8c Translated using Weblate (Russian)
Currently translated at 100.0% (584 of 584 strings)
2020-07-30 01:07:46 +02:00
Artyom
79487adbec Translated using Weblate (Russian)
Currently translated at 100.0% (584 of 584 strings)
2020-07-30 01:07:46 +02:00
sudoLife
89f3fca6b1 Translated using Weblate (English)
Currently translated at 99.8% (583 of 584 strings)
2020-07-30 01:07:46 +02:00
Tobias Groza
f290b2bf5a Merge pull request #3982 from Stypox/fix-acra
Fix ACRA bug reports not containing stack trace
2020-07-29 17:58:52 +02:00
Stypox
04e7d13043 Remove deprecated calls to set Sender class to ACRA
setReportSenderFactoryClasses() is deprecated, now extensions (ReportSenderFactory is an extension) should be registered using AutoService: https://github.com/ACRA/acra/wiki/Custom-Extensions#by-annotation
2020-07-29 10:56:33 +02:00
Avently
e41218c46b Disable starting player service via media button when there is nothing to play (no active play queue) 2020-07-28 21:36:06 +03:00
Avently
8562fbdbbe Merge branch 'dev' 2020-07-28 21:35:01 +03:00
Anxhelo Lushka
c841d7a32b Translated using Weblate (Albanian)
Currently translated at 100.0% (584 of 584 strings)
2020-07-28 17:20:25 +02:00
Ville Rantanen
8827ae4d2c Translated using Weblate (Finnish)
Currently translated at 100.0% (584 of 584 strings)
2020-07-28 17:20:24 +02:00
chr56
2e1029e157 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (584 of 584 strings)
2020-07-28 17:20:24 +02:00
Rafael Gonçalves
a7dc0c2d55 Translated using Weblate (Portuguese (Brazil))
Currently translated at 98.8% (577 of 584 strings)
2020-07-28 17:20:24 +02:00
WaldiS
7f1749d853 Translated using Weblate (Polish)
Currently translated at 100.0% (584 of 584 strings)
2020-07-28 17:20:23 +02:00
zmni
b4a34d58db Translated using Weblate (Indonesian)
Currently translated at 100.0% (584 of 584 strings)
2020-07-28 17:20:23 +02:00
ssantos
4a50fcab2c Translated using Weblate (Portuguese)
Currently translated at 100.0% (584 of 584 strings)
2020-07-28 17:20:23 +02:00
Bernd N
c9ef089199 Translated using Weblate (German)
Currently translated at 100.0% (584 of 584 strings)
2020-07-28 17:20:14 +02:00
TobiGr
94ecf9a081 Merge remote-tracking branch 'Weblate/dev' into dev 2020-07-28 13:46:36 +02:00
Stypox
67aaa9a655 Make local playlist layout consistent with remote one 2020-07-28 13:10:28 +02:00
Tobias Groza
823f5640f7 Merge pull request #3984 from TobiGr/search_color
Fix color of correct / suggested search term
2020-07-28 13:03:51 +02:00
TobiGr
45d1c63895 Fix color of correct / suggested search term
Fixes TeamNewPipe/NewPipe#3973
2020-07-28 11:41:23 +02:00
Tobias Groza
d3b6781bb8 Update bug report template
DO NOT REPORT THAT CRASH ANY MORE. WE ARE GETTING SPAMMED11!!!1
2020-07-28 10:56:06 +02:00
Stypox
21d1f69d6d Do not init ACRA if inside its own process
https://github.com/ACRA/acra/wiki/Troubleshooting-Guide#applicationoncreate
2020-07-28 10:48:54 +02:00
Stypox
1b9f5989ef Fix empty stacktrace in bug report
ACRA has to be initialized after MultiDex
https://github.com/ACRA/acra/issues/619
https://github.com/ACRA/acra/wiki/Troubleshooting-Guide#legacy-multidex
2020-07-28 10:48:25 +02:00
Hosted Weblate
348e46ff3b Merge branch 'origin/dev' into Weblate. 2020-07-28 09:55:58 +02:00
TobiGr
7918e3a1aa Update version to 0.19.8 (953)
Update extractot version.
Fix extraction of YouTube's decryption function.
2020-07-28 01:07:13 +02:00
TobiGr
d6d8c7830c Merge branch 'dev' 2020-07-26 14:40:57 +02:00
TobiGr
f53a0f0d07 Update version to 0.19.7 (952) 2020-07-26 14:39:18 +02:00
TobiGr
17edd1c3d4 Add changelog 2020-07-26 14:38:49 +02:00
TobiGr
b0685c153a Update extractor version 2020-07-26 14:26:09 +02:00
Hosted Weblate
a5ca20ee4c Merge branch 'origin/dev' into Weblate. 2020-07-26 13:22:12 +02:00
Stypox
03685db2fc Improve playlist header layout: align with info items 2020-07-26 12:04:40 +02:00
Avently
68ed738dcd Renamed files 2020-07-25 09:45:33 +03:00
Avently
5293d17e32 Removed unused files, translations, styles, settings key 2020-07-25 09:39:42 +03:00
Avently
f2e4b69466 Another part of UI improvements for Android TV
- focus will be hidden right after start of a video; fullscreen works like this too
- back button will not needed to be pressed one more time like before
- prev & next buttons for playqueue will be hidden with play/pause button before video be ready to play
2020-07-25 07:00:53 +03:00
Avently
ec8b00042b Merged the latest code 2020-07-25 04:18:41 +03:00
Avently
08db1d59e5 Android TV: ability to select all buttons in the main player, as well as in the main fragment 2020-07-25 04:14:29 +03:00
Avently
7c79d421e8 Quality selector for external playback and better fullscreen mode for old devices 2020-07-24 00:43:09 +03:00
TobiGr
ade5e38fa5 Disable shrinkResources to fix F-Droid's reproducible build
For more information see https://f-droid.org/docs/Reproducible_Builds/#resource-shrinker
2020-07-23 21:19:47 +02:00
Tobias Groza
7385aa09a8 Merge pull request #3928 from wb9688/disable-shrink-resources
Disable shrinkResources
2020-07-23 18:02:44 +02:00
wb9688
185a5fad88 Disable shrinkResources 2020-07-23 13:24:48 +02:00
Hosted Weblate
a1e2477d14 Merge branch 'origin/dev' into Weblate. 2020-07-22 19:15:38 +02:00
Ajeje Brazorf
a1200a5fff Added translation using Weblate (Sardinian) 2020-07-22 19:15:35 +02:00
Avently
91a0257c8f Fixes for Android API <21 2020-07-22 17:19:32 +03:00
Tobias Groza
53ffc82fe2 Merge pull request #3920 from chdir/invisible_focus_fix
Fix lingering focus highlight overlay
2020-07-22 14:28:47 +02:00
Alexander--
801267df18 Add @NonNull annotation to method argument
Co-authored-by: Tobias Groza <TobiGr@users.noreply.github.com>
2020-07-22 07:57:04 -04:00
Alexander--
6e73e0b395 Use View.isShown() to avoid focus overlay glitches
A View can become focused while being invisible, if it's
parent is invisible. Use global draw listener and
View.isShown() to catch such cases.
2020-07-22 06:21:25 +06:59
Avently
7aa8a5c368 Fixed a situation when background playback could use a video stream instead of an audio stream 2020-07-22 02:20:58 +03:00
Avently
3ecbbea7cb Better TV support, icons, activity_main refactoring
- on Android TV you'll be able to navigate with D-pad in main fragment and in the player. But not between them for now
- play/pause/next/previous buttons are smaller now
- replaced ic_list with previous version of it
- activity_main looks better which helps with Android TV support
2020-07-22 01:20:30 +03:00
Avently
77cd3182f1 Removed unused line 2020-07-21 01:53:59 +03:00
Avently
c7ccf9bab8 AndroidTvUtils -> DeviceUtils 2020-07-21 01:43:49 +03:00
Avently
06e70abb86 Merged the latest changes 2020-07-21 01:37:36 +03:00
TobiGr
88c86e88b0 Update extractor version 2020-07-20 20:34:02 +02:00
Hosted Weblate
2d6cf48532 Merge branch 'origin/dev' into Weblate. 2020-07-18 15:48:16 +02:00
Tobias Groza
19e152a54b Merge pull request #3689 from wb9688/next-stream
Remove calls to getNextStream()
2020-07-18 11:59:04 +02:00
Tobias Groza
2898bead66 Merge pull request #3902 from wb9688/null-description
Check for description == null
2020-07-18 11:54:10 +02:00
Tobias Groza
381c329441 Merge pull request #3884 from wb9688/use-androidx-annotation
Use androidx.annotation.NonNull instead of io.reactivex.annotations.NonNull
2020-07-18 11:51:08 +02:00
Hosted Weblate
a3de3705f7 Merge branch 'origin/dev' into Weblate. 2020-07-18 10:16:37 +02:00
Mario Rossi
dc3dc6b77f Added translation using Weblate (Neapolitan) 2020-07-18 10:16:35 +02:00
wb9688
e028a63f30 Check for description == null 2020-07-18 10:01:44 +02:00
Avently
d196f8b4b2 New icons 2020-07-16 01:15:24 +03:00
wb9688
4274827dbe Use relatedItems instead of info.getRelatedStreams() 2020-07-15 18:52:36 +02:00
wb9688
7a30f4a7d2 Remove calls to getNextStream() 2020-07-14 21:27:59 +02:00
wb9688
d0c03a0211 Use androidx.annotation.NonNull instead of io.reactivex.annotations.NonNull 2020-07-14 21:15:29 +02:00
Avently
787b136d13 NonNull instead of NotNull annotations 2020-07-14 22:08:12 +03:00
Avently
08412d6108 Mini player slide to botom fix, buttons size fix 2020-07-14 21:52:55 +03:00
Avently
d8f7db4715 Made checkStyle happy 2020-07-14 20:21:32 +03:00
Avently
bff238774e Small fixes of issues 2020-07-13 23:28:39 +03:00
Avently
d2aaa6f691 Merged the latest changes 2020-07-13 04:17:21 +03:00
Tobias Groza
c900ef036c Merge pull request #3863 from TeamNewPipe/release_0.19.6
Release 0.19.6
2020-07-12 20:25:05 +02:00
Avently
b2164ce5fc Marked many (too many) variables as final 2020-07-12 03:59:47 +03:00
TobiGr
d088d432c5 Release NewPipe 0.19.6 (951) 2020-07-11 21:47:19 +02:00
TobiGr
c9fafbe198 Add changelog 2020-07-11 21:47:19 +02:00
TobiGr
2d909b0514 Remove untranslatable translations 2020-07-11 21:47:19 +02:00
TobiGr
c2a012553d Use %1$d instead of %1$s in deleted_downloads string
We don't pass a String, but an Integer
2020-07-11 21:47:19 +02:00
TobiGr
085f0266ac Fix Linter (translations) 2020-07-11 20:52:20 +02:00
Tobias Groza
7ede2daa3c Merge pull request #3861 from TeamNewPipe/languages
add the new languages translated in NewPipe
2020-07-08 22:45:16 +02:00
bopol
713c53d170 add bengali (india) and arabic (lybia) 2020-07-08 21:34:34 +02:00
TobiGr
110b3a6a8f Add some new languages to the language selector
ckb - Central Kurdish
jv - Javanese
kab - Kabyle
2020-07-07 22:32:14 +02:00
Tobias Groza
e12e6dd7a7 Merge pull request #3441 from wb9688/nextpage
Next page stuff
2020-07-07 21:19:27 +02:00
wb9688
e183fc6118 Bump NPE version 2020-07-07 21:04:08 +02:00
wb9688
dd57e246b8 Use getNextPage() instead of getNextPageUrl() 2020-07-07 21:03:24 +02:00
Tobias Groza
f4a4172369 Merge pull request #3471 from Royosef/DisplaySearchSuggestion
Display search suggestion: did you mean & showing result for
2020-07-07 20:57:02 +02:00
TobiGr
b96d1714b5 Highlight search suggestion 2020-07-07 20:23:41 +02:00
TobiGr
dbd809b040 Merge remote-tracking branch 'Weblate/dev' into dev 2020-07-07 18:41:55 +02:00
Tobias Groza
ff4e6b139d Merge pull request #3579 from TobiGr/error_md_export
Add Markdown export of crash logs
2020-07-07 00:01:12 +02:00
Tobias Groza
af098aaac8 Merge pull request #3843 from kapodamy/drop-writting-application-metadata
Drop writting application metadata in muxed files
2020-07-06 23:55:06 +02:00
Digiwizkid
5d7e62c736 Translated using Weblate (Bengali (India))
Currently translated at 61.0% (352 of 577 strings)
2020-07-06 12:56:56 +02:00
Prajwol Pradhan
e2ead011f5 Translated using Weblate (Nepali)
Currently translated at 99.8% (576 of 577 strings)
2020-07-06 12:56:54 +02:00
Allan Nordhøy
a067c950e1 Translated using Weblate (Norwegian Bokmål)
Currently translated at 89.0% (514 of 577 strings)
2020-07-06 12:56:54 +02:00
Yaron Shahrabani
3369618cfa Translated using Weblate (Hebrew)
Currently translated at 100.0% (577 of 577 strings)
2020-07-06 12:56:54 +02:00
Jeff Huang
4e9b6520e5 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (577 of 577 strings)
2020-07-06 12:56:53 +02:00
Eric
a074203fae Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (577 of 577 strings)
2020-07-06 12:56:53 +02:00
Samuel Carvalho de Araújo
42092e3f28 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (577 of 577 strings)
2020-07-06 12:56:53 +02:00
WaldiS
c07b34e298 Translated using Weblate (Polish)
Currently translated at 100.0% (577 of 577 strings)
2020-07-06 12:56:53 +02:00
Emin Tufan Çetin
ef5f181328 Translated using Weblate (Turkish)
Currently translated at 100.0% (577 of 577 strings)
2020-07-06 12:56:52 +02:00
ssantos
a7ea2fcf92 Translated using Weblate (Portuguese)
Currently translated at 100.0% (577 of 577 strings)
2020-07-06 12:56:52 +02:00
AioiLight
e81730715c Translated using Weblate (Japanese)
Currently translated at 100.0% (577 of 577 strings)
2020-07-06 12:56:52 +02:00
Lesya Novaselskaya
c09f2ad482 Translated using Weblate (Russian)
Currently translated at 100.0% (577 of 577 strings)
2020-07-06 12:56:52 +02:00
B0pol
84aef8b5b5 Translated using Weblate (French)
Currently translated at 100.0% (577 of 577 strings)
2020-07-06 12:56:51 +02:00
nautilusx
8fac3e8221 Translated using Weblate (German)
Currently translated at 100.0% (577 of 577 strings)
2020-07-06 12:56:51 +02:00
Prajwol Pradhan
5874ed781d Translated using Weblate (Nepali)
Currently translated at 99.8% (576 of 577 strings)
2020-07-06 12:56:49 +02:00
Ishwor Ghimire
d8f29bd7a7 Translated using Weblate (Nepali)
Currently translated at 99.8% (576 of 577 strings)
2020-07-06 12:56:48 +02:00
kapodamy
8120b6aaaa checkstyle's amend 2020-07-05 23:55:40 -03:00
Stypox
13a0d1de70 Replace search query without searching on suggestion panel long click 2020-07-05 22:01:35 +02:00
Stypox
20e828be51 Improve suggestion panel 2020-07-05 22:01:35 +02:00
wb9688
ccd82fb8b8 Improve search suggestion code 2020-07-05 22:01:35 +02:00
Roy Yosef
0711650ff8 Fix search suggestions not working on resume
* add searchSuggestionString, isCorrectedSearch fields to state and load onResume
2020-07-05 22:01:35 +02:00
Roy Yosef
4194ac2226 Display search suggestion: did you mean & showing result for 2020-07-05 22:01:35 +02:00
Stypox
248e2d7ee0 Merge pull request #3506 from Royosef/PlaylistTab
Add playlist tab to main page
2020-07-05 21:06:23 +02:00
Tobias Groza
1daa654051 Merge pull request #3845 from B0pol/peertube_instance
add privacytools.io peertube instance to manifest
2020-07-05 14:37:11 +02:00
bopol
d751434979 add privacytools.io peertube instance to manifest 2020-07-04 11:39:00 +02:00
Stypox
8cc21920b7 Move local/remote playlist merge() to PlaylistLocalItem class
In order not to have a utils class just for one function
2020-07-04 11:38:22 +02:00
Stypox
248212588d Fix style issues 2020-07-04 11:38:22 +02:00
Roy Yosef
13c0fdef08 Final declarations, naming & redundant code
* add final declarations where missing
* fix typo "onSelectedLisener" to "onSelectedListener"
* rename "baseEqual" to "baseEquals"
* replace getPlaylistsObserver code with functions pointers
* remove duplicate code in constructors
* remove useless null checks
2020-07-04 11:37:38 +02:00
Roy Yosef
dfc27b2480 Add playlist tab to main page
Add bookmarked playlist as tab in the main page (by Settings > Content > Content of main page)
2020-07-04 11:35:45 +02:00
kapodamy
b2d78d380b update WebMWriter.java 2020-07-03 20:51:45 -03:00
Tobias Groza
faa6cb5c7d Merge pull request #3841 from B0pol/update_inv_instances
update invidious instances
2020-07-03 15:38:10 +02:00
kapodamy
452977abdf Drop "writing/muxed by" metadata
* All muxers (mp4, webm and ogg) are affected
* solve some checkstyle's errors (building was blocked)

Mp4FromDashWriter:
* drop "writing application"
* drop "handler name"

OggFromWebMWriter:
* drop "writing application" for OPUS and VORBIS header

WebMWriter:
* Drop "Muxing application"
* Drop "Writing application"
2020-07-03 02:07:42 -03:00
Hosted Weblate
93570b2f59 Merge branch 'origin/dev' into Weblate. 2020-07-03 00:18:10 +02:00
Ville Rantanen
073f5c2c8c Translated using Weblate (Finnish)
Currently translated at 100.0% (576 of 576 strings)
2020-07-03 00:18:06 +02:00
bopol
1b4313f847 update extractor version 2020-07-02 23:17:38 +02:00
Tobias Groza
07cead7e99 Merge pull request #3404 from mauriciocolli/feed-add-filter-sub-list
Add filter to the feed group dialog to show only ungrouped subscriptions
2020-07-02 22:53:11 +02:00
bopol
f128751aba update invidious instances 2020-07-02 21:41:23 +02:00
Tobias Groza
9516d9da17 Merge pull request #3837 from Stypox/audio-sync
Fix audio/video desync caused by floating point cumulative errors
2020-07-02 21:29:18 +02:00
Hosted Weblate
e9aafc2a56 Merge branch 'origin/dev' into Weblate. 2020-07-02 17:34:57 +02:00
Digiwizkid
a91a6575e0 Translated using Weblate (Bengali (India))
Currently translated at 50.3% (290 of 576 strings)
2020-07-02 17:34:56 +02:00
Milo Ivir
5bd4093dfb Translated using Weblate (Croatian)
Currently translated at 86.6% (499 of 576 strings)
2020-07-02 17:34:54 +02:00
WaldiS
f9890e2016 Translated using Weblate (Polish)
Currently translated at 100.0% (576 of 576 strings)
2020-07-02 17:34:54 +02:00
BenjaminForster
00529fe134 Added translation using Weblate (Afrikaans) 2020-07-02 17:34:51 +02:00
Stypox
5e9dce7d39 Merge pull request #3774 from eames-palmer/status-bar-color
Update status color to match toolbar color
2020-07-01 08:39:32 +02:00
Tobias Groza
734680b9f0 Merge pull request #3373 from mauriciocolli/feed-add-search-sub-list
Add search for subscription picker in the feed group dialog
2020-07-01 00:16:01 +02:00
Tobias Groza
d0b5345252 Merge pull request #3822 from Stypox/fix-queue-colors
Fix queue channel name color for some devices
2020-07-01 00:13:29 +02:00
Tobias Groza
c2b4a44a59 Merge pull request #3828 from wb9688/checkstyle-fix
Do not include Checkstyle in any APK
2020-06-30 23:19:33 +02:00
Stypox
38c79bbc11 Fix audio/video desync caused by floating point cumulative errors 2020-06-30 22:41:09 +02:00
Digiwizkid
0d7028a36c Translated using Weblate (Bengali (India))
Currently translated at 36.1% (208 of 576 strings)
2020-06-30 19:32:06 +02:00
Digiwizkid
b63f687491 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 30.9% (178 of 576 strings)
2020-06-30 19:32:02 +02:00
Digiwizkid
952b636569 Added translation using Weblate (Bengali (India)) 2020-06-30 12:20:19 +02:00
Jasper Eames Palmer
e14ba48244 Update non-service status bar colors to match toolbar colors 2020-06-29 22:30:09 -07:00
Hosted Weblate
720c8c31ec Merge branch 'origin/dev' into Weblate. 2020-06-29 13:30:45 +02:00
Allan Nordhøy
4e8407ed8f Translated using Weblate (Norwegian Bokmål)
Currently translated at 89.2% (514 of 576 strings)
2020-06-29 13:30:43 +02:00
Enol P
26c5f69161 Translated using Weblate (Asturian)
Currently translated at 51.0% (294 of 576 strings)
2020-06-29 13:30:43 +02:00
Anonim Qwerty
078ae15794 Translated using Weblate (Ukrainian)
Currently translated at 98.9% (570 of 576 strings)
2020-06-29 13:30:42 +02:00
ssantos
16ae90dc9f Translated using Weblate (German)
Currently translated at 100.0% (576 of 576 strings)
2020-06-29 13:30:42 +02:00
TobiGr
3de5afc68e Add Markdown export of crash logs
Add app language as additional debug information to reports
2020-06-28 16:07:22 +02:00
wb9688
a7e8f5087e Do not include Checkstyle in any APK 2020-06-28 14:59:44 +02:00
Stypox
5cc60ed760 Show dialog with open options in case of an unsupported url 2020-06-28 13:33:08 +02:00
Mauricio Colli
2e6e75cd4e Add filter to the feed group dialog to show only ungrouped subscriptions 2020-06-27 11:58:40 -03:00
Mauricio Colli
9f3b35634a Fix subscription picker items flickering in the feed group dialog
The adapter could not tell the items were the same because the
subscription class was missing some methods (i.e. equals and hashcode),
so a full rebind was being done.
2020-06-27 11:25:31 -03:00
Mauricio Colli
c24dfc63dc Add search for subscription picker in the feed group dialog 2020-06-27 11:25:25 -03:00
Stypox
c029929850 Fix queue channel name color for some devices 2020-06-27 16:11:25 +02:00
Tobias Groza
d9100913d5 Merge pull request #3787 from budde25/fix-popup-queue
Fixes enqueue resuming paused videos
2020-06-27 11:56:08 +02:00
Avently
a7fbe05a73 Changes for review 2020-06-27 06:25:50 +03:00
Tobias Groza
e03d970bc2 Merge pull request #3406 from B0pol/playlist_peertube
Add possibility to open PeerTube links in NP for some instances (without needing to share to NP)
2020-06-26 18:53:49 +02:00
Tobias Groza
fe4516ea23 Merge pull request #3752 from Redirion/exoupdate
Update to ExoPlayer 2.11.6
2020-06-26 18:33:53 +02:00
Jwtiyar Nariman
039b47b872 Translated using Weblate (Central Kurdish)
Currently translated at 100.0% (576 of 576 strings)
2020-06-25 14:41:53 +02:00
Robin
0a57a8a7f3 2.11.6 2020-06-25 09:26:59 +02:00
Jwtiyar Nariman
8c823f3a2d Added translation using Weblate (Central Kurdish) 2020-06-24 11:12:52 +02:00
Éfrit
33f3a4f455 Translated using Weblate (French)
Currently translated at 100.0% (576 of 576 strings)
2020-06-24 04:41:44 +02:00
Zackz
2ecf8044d7 Translated using Weblate (Javanese)
Currently translated at 10.9% (63 of 576 strings)
2020-06-22 19:41:47 +02:00
Zackz
c9a1eb55b5 Added translation using Weblate (Javanese) 2020-06-21 18:02:36 +02:00
Ayoub Rejal
76bb1fd61e Translated using Weblate (Arabic (Libya))
Currently translated at 6.7% (39 of 576 strings)
2020-06-19 17:41:46 +02:00
ButterflyOfFire
1275b26ba0 Translated using Weblate (Kabyle)
Currently translated at 4.3% (25 of 576 strings)
2020-06-19 17:41:45 +02:00
Andreas Westrell
a470a4af9b Translated using Weblate (Swedish)
Currently translated at 99.1% (571 of 576 strings)
2020-06-19 17:41:45 +02:00
Marian Hanzel
487c9ebbd4 Translated using Weblate (Slovak)
Currently translated at 96.1% (554 of 576 strings)
2020-06-19 17:41:43 +02:00
Ethan Budd
c796e2ae3c Fixes crash when a file is deleted then redownloaded 2020-06-18 22:43:06 -05:00
Ayoub Rejal
746cab92f0 Added translation using Weblate (Arabic (Libya)) 2020-06-18 17:17:41 +02:00
Ethan Budd
33266a96ff fixes enqueue resuming paused videos 2020-06-17 22:15:50 -05:00
Hosted Weblate
2816889d8d Merge branch 'origin/dev' into Weblate. 2020-06-17 14:25:36 +02:00
ButterflyOfFire
58e177b3e4 Added translation using Weblate (Kabyle) 2020-06-17 14:25:34 +02:00
wb9688
5cfd8bbb56 Merge pull request #3704 from Stypox/keep-failed-streams
Do not remove items generating errors form queue
2020-06-15 15:16:26 +02:00
wb9688
e6fe6fd645 Merge pull request #3437 from TheLastGimbus/fast-rewind-forward-in-background-activity
Fast rewind forward in background activity
2020-06-15 15:06:58 +02:00
TheLastGimbus
63e167b38e Add buttons also in landscape mode 2020-06-14 23:22:31 +02:00
TheLastGimbus
abe77c4783 Change to final 2020-06-14 19:52:58 +02:00
TheLastGimbus
72af51fe9d Add speed button to top bar 2020-06-14 15:16:04 +02:00
TheLastGimbus
36b4134838 Remove speed buttons from bottom menu 2020-06-14 15:15:38 +02:00
Hosted Weblate
cf6ee26fdb Merge branch 'origin/dev' into Weblate. 2020-06-14 12:41:48 +02:00
Oymate
858111e623 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 30.5% (176 of 576 strings)
2020-06-14 12:41:42 +02:00
Oğuz Ersen
367e625804 Translated using Weblate (Turkish)
Currently translated at 100.0% (576 of 576 strings)
2020-06-14 12:41:42 +02:00
Freddy Morán Jr
ae4d9c7f80 Translated using Weblate (Spanish)
Currently translated at 100.0% (576 of 576 strings)
2020-06-14 12:41:42 +02:00
nautilusx
6c6ee41346 Translated using Weblate (German)
Currently translated at 99.8% (575 of 576 strings)
2020-06-14 12:41:41 +02:00
Tobias Groza
9ef7688f9e Merge pull request #3772 from adinilfeld/copy-video-title
Copy video title
2020-06-13 16:38:14 +02:00
Jasper Eames Palmer
7d6e226c2b Update status color to match toolbar color 2020-06-11 19:29:15 -07:00
adinilfeld
17d1346a8a made ClipboardManager final 2020-06-11 09:36:57 -07:00
adinilfeld
59e0c10c42 inverted if-else statement 2020-06-11 09:36:05 -07:00
adinilfeld
0d29e66092 removed unnecessary setLongClickable 2020-06-11 09:33:05 -07:00
wb9688
caa000f447 Merge pull request #3759 from Stypox/fix-search
Fix search crash: adapter array index out of bounds
2020-06-11 13:06:30 +02:00
adinilfeld
267e114354 added a copyToClipboard method to ShareUtils, and modified CommentsMiniInfoItemHolder and VideoDetailFragment to use the new method. 2020-06-10 15:14:08 -07:00
adinilfeld
b5375396d2 allowed user to copy video title to clipboard (from detail screen) 2020-06-10 14:17:43 -07:00
adinilfeld
e34f666b70 set an OnLongClickListener 2020-06-10 14:11:06 -07:00
Theophine Savio Theodore
19334b4f96 Translated using Weblate (Malayalam)
Currently translated at 100.0% (576 of 576 strings)
2020-06-10 21:41:40 +02:00
Theophine Savio Theodore
1fa609e539 Translated using Weblate (Malayalam)
Currently translated at 100.0% (576 of 576 strings)
2020-06-09 21:03:02 +02:00
Ville Rantanen
d9ce25a721 Translated using Weblate (Finnish)
Currently translated at 100.0% (576 of 576 strings)
2020-06-09 16:22:19 +02:00
thami simo
5b8fc25da6 Translated using Weblate (Arabic)
Currently translated at 100.0% (576 of 576 strings)
2020-06-09 16:22:16 +02:00
Hosted Weblate
c70968dcf1 Merge branch 'origin/dev' into Weblate. 2020-06-08 14:14:35 +02:00
Ville Rantanen
77147510fb Translated using Weblate (Finnish)
Currently translated at 83.5% (481 of 576 strings)
2020-06-08 14:14:33 +02:00
Freddy Morán Jr
7092577482 Translated using Weblate (Spanish)
Currently translated at 100.0% (576 of 576 strings)
2020-06-08 14:14:29 +02:00
Stypox
3e70050056 Fix search crash: adapter array index out of bounds 2020-06-07 21:28:54 +02:00
Tobias Groza
1f23c814e5 Merge pull request #3698 from B0pol/openWebsite
avoid duplicate: use openUrlInBrowser instead of openWebsite
2020-06-06 18:44:24 +02:00
Robin
145e0a0b7b Update to ExoPlayer 2.11.5 2020-06-06 15:29:52 +02:00
pitachips
e68e787e7a Translated using Weblate (Korean)
Currently translated at 84.3% (486 of 576 strings)
2020-06-05 19:41:39 +02:00
WaldiS
903308d285 Translated using Weblate (Polish)
Currently translated at 100.0% (576 of 576 strings)
2020-06-04 02:41:47 +02:00
zmni
a4d8388b2e Translated using Weblate (Indonesian)
Currently translated at 100.0% (576 of 576 strings)
2020-06-04 02:41:46 +02:00
Hosted Weblate
3e83f9f956 Merge branch 'origin/dev' into Weblate. 2020-06-01 19:41:43 +02:00
Anxhelo Lushka
4063221313 Translated using Weblate (Albanian)
Currently translated at 100.0% (577 of 577 strings)
2020-06-01 19:41:39 +02:00
zeritti
c3c8d80919 Translated using Weblate (Czech)
Currently translated at 100.0% (577 of 577 strings)
2020-06-01 19:41:39 +02:00
notramo
3ae71c73c4 Translated using Weblate (Hungarian)
Currently translated at 60.6% (350 of 577 strings)
2020-06-01 19:41:38 +02:00
Stypox
b3db8c9549 Do not remove items generating errors form queue 2020-05-31 14:06:22 +02:00
bopol
596eb4a0f9 Merge branch 'dev' into playlist_peertube 2020-05-31 12:26:46 +02:00
bopol
6b0381b903 avoid duplicate: use openUrlInBrowser instead of openWebsite 2020-05-31 12:17:54 +02:00
TobiGr
049c8f70cd Release version 0.19.5 (950) 2020-05-30 10:43:10 +02:00
TobiGr
353bf69550 Add changelog for 0.19.5 (950) 2020-05-30 10:42:39 +02:00
Tobias Groza
cdb989ede3 Merge pull request #3679 from wb9688/fix-android-10
Enable requestLegacyExternalStorage
2020-05-30 10:32:46 +02:00
Tobias Groza
74079e4238 Merge pull request #3680 from wb9688/fix-kiosks
Open the correct kiosk
2020-05-30 10:28:24 +02:00
wb9688
c89746214c Open the correct kiosk 2020-05-30 08:14:54 +02:00
wb9688
1d97db3ef9 Enable requestLegacyExternalStorage 2020-05-30 08:05:40 +02:00
Tobias Groza
b2a5ff5f9d Merge pull request #3669 from TeamNewPipe/release_0.19.4
Release 0.19.4
2020-05-29 19:13:09 +02:00
Stypox
f47ef2b5ea Add 0.19.4 (940) fastlane changelog 2020-05-29 18:55:01 +02:00
Stypox
bd7ec3b692 Bump to 0.19.4 (940) 2020-05-29 18:55:01 +02:00
TobiGr
52895e7b6b Increase JVM memory to fix release build 2020-05-29 18:55:01 +02:00
Stypox
a6a82c6477 Regression: fix icon size in main player 2020-05-29 15:32:44 +02:00
Tobias Groza
af66ed94b2 Merge pull request #3662 from B0pol/localisation-fixes
Localisation fixes (Fix crashes, lint)
2020-05-29 08:02:19 +02:00
Hosted Weblate
e43fdf5ef9 Merge branch 'origin/dev' into Weblate. 2020-05-29 07:29:53 +02:00
Ishwor Ghimire
3984fc075f Translated using Weblate (Nepali)
Currently translated at 99.8% (576 of 577 strings)
2020-05-29 07:29:53 +02:00
Allan Nordhøy
ee2a159374 Translated using Weblate (Norwegian Bokmål)
Currently translated at 89.0% (514 of 577 strings)
2020-05-29 07:29:52 +02:00
Eric
57c9b29ba3 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (577 of 577 strings)
2020-05-29 07:29:52 +02:00
Samuel Carvalho de Araújo
927ea72337 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (577 of 577 strings)
2020-05-29 07:29:51 +02:00
Mostafa Ahangarha
123bdbd13b Translated using Weblate (Persian)
Currently translated at 96.1% (555 of 577 strings)
2020-05-29 07:29:51 +02:00
WaldiS
0baa5a2f04 Translated using Weblate (Polish)
Currently translated at 100.0% (577 of 577 strings)
2020-05-29 07:29:46 +02:00
Emin Tufan Çetin
7d98a70028 Translated using Weblate (Turkish)
Currently translated at 100.0% (577 of 577 strings)
2020-05-29 07:29:45 +02:00
Rex_sa
73b72ab01c Translated using Weblate (Arabic)
Currently translated at 99.8% (576 of 577 strings)
2020-05-29 07:29:45 +02:00
B0pol
e8cf71f41c Translated using Weblate (Esperanto)
Currently translated at 97.5% (563 of 577 strings)
2020-05-29 07:29:44 +02:00
ssantos
5f2d2a64d2 Translated using Weblate (Portuguese)
Currently translated at 100.0% (577 of 577 strings)
2020-05-29 07:29:44 +02:00
AioiLight
27bf3901de Translated using Weblate (Japanese)
Currently translated at 100.0% (577 of 577 strings)
2020-05-29 07:29:44 +02:00
TotalCaesar659
16d4fa03a5 Translated using Weblate (English)
Currently translated at 99.8% (576 of 577 strings)
2020-05-29 07:29:43 +02:00
Terry Louwers
bef579ec26 Translated using Weblate (Dutch)
Currently translated at 100.0% (577 of 577 strings)
2020-05-29 07:29:43 +02:00
Edoardo Regni
0cff10e02e Translated using Weblate (Dutch)
Currently translated at 100.0% (577 of 577 strings)
2020-05-29 07:29:41 +02:00
Terry Louwers
4c6f7238dd Translated using Weblate (Dutch)
Currently translated at 100.0% (577 of 577 strings)
2020-05-29 07:29:41 +02:00
bopol
583f1476d6 oops 2020-05-28 23:32:44 +02:00
bopol
b42bef32fd remove totally untranslated languages 2020-05-28 23:21:28 +02:00
bopol
8bb85ccf19 other translation linting stuff 2020-05-28 23:14:57 +02:00
bopol
3d88c2a5fa fix crash in hindi and pa languages 2020-05-28 22:59:14 +02:00
bopol
e350acaf08 remove unused plural string «comments»
on top of being unused, there were MANY problems for some languages: %s missing, only «one» quantity is translated…
2020-05-28 22:49:41 +02:00
bopol
172f70bef9 fix crash in polish, lint: remove translated translatable=false string 2020-05-28 22:22:29 +02:00
Tobias Groza
9d25c0bf8a Merge pull request #3509 from wb9688/upgrade-dependencies
Upgrade some dependencies
2020-05-28 22:07:04 +02:00
TobiGr
75b377aab3 Updatethe extractor version 2020-05-28 21:56:54 +02:00
TobiGr
3706f30b44 Merge remote-tracking branch 'Weblate/dev' into dev 2020-05-28 21:46:45 +02:00
wb9688
a9697a61ad Fix viewing licenses 2020-05-28 11:39:17 +02:00
wb9688
e16a2d7cb6 Upgrade jsoup 2020-05-28 11:39:17 +02:00
Arnis Jaundzeikars
f106e2945b Added translation using Weblate (Latvian) 2020-05-27 18:06:40 +02:00
pjammo
1ad7deddb1 Translated using Weblate (Italian)
Currently translated at 99.6% (575 of 577 strings)
2020-05-26 09:52:46 +02:00
wb9688
7b81e98581 Upgrade ACRA 2020-05-25 11:03:07 +02:00
wb9688
0cae58ce8e Upgrade LeakCanary 2020-05-25 11:03:07 +02:00
wb9688
7231150115 Upgrade some dependencies 2020-05-22 15:40:28 +02:00
Hosted Weblate
071986a4c9 Merge branch 'origin/dev' into Weblate. 2020-05-22 11:41:39 +02:00
Rahul Bali
39e7d43f10 Translated using Weblate (Hindi)
Currently translated at 82.4% (476 of 577 strings)
2020-05-22 11:41:37 +02:00
Yaron Shahrabani
aa1b17ae66 Translated using Weblate (Hebrew)
Currently translated at 100.0% (577 of 577 strings)
2020-05-22 11:41:37 +02:00
Anonymous
92bae88355 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 29.8% (172 of 577 strings)
2020-05-22 11:41:36 +02:00
Jeff Huang
067eaf363e Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (577 of 577 strings)
2020-05-22 11:41:36 +02:00
Samuel Carvalho de Araújo
00efc266d9 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (577 of 577 strings)
2020-05-22 11:41:36 +02:00
Oğuz Ersen
0b014185e3 Translated using Weblate (Turkish)
Currently translated at 100.0% (577 of 577 strings)
2020-05-22 11:41:36 +02:00
zmni
3eee7378de Translated using Weblate (Indonesian)
Currently translated at 100.0% (577 of 577 strings)
2020-05-22 11:41:36 +02:00
zeritti
c31428f6bc Translated using Weblate (Czech)
Currently translated at 100.0% (577 of 577 strings)
2020-05-22 11:41:35 +02:00
B0pol
163e561cf9 Translated using Weblate (French)
Currently translated at 100.0% (577 of 577 strings)
2020-05-22 11:41:35 +02:00
JoC
a32ded2829 Translated using Weblate (Spanish)
Currently translated at 100.0% (577 of 577 strings)
2020-05-22 11:41:35 +02:00
nautilusx
a5b7517fbd Translated using Weblate (German)
Currently translated at 99.8% (576 of 577 strings)
2020-05-22 11:41:34 +02:00
Tobias Groza
176d57b35a Merge pull request #3271 from Stypox/icons
Use vector drawables instead of PNGs for material icons
2020-05-21 19:32:43 +02:00
Stypox
927a1d58e2 Use drop down/up instead of expand icons in drawer
As per the material guidelines
2020-05-21 15:39:36 +02:00
Stypox
bbd0df08d3 Add shadow behind play icon in video detail fragment 2020-05-21 15:39:36 +02:00
Stypox
9e57195e14 Fix checkstyle issues
Also replace all tabs with 4 spaces
2020-05-21 15:39:36 +02:00
Stypox
05ab54c30d Fix invisible fullscreen button in popup player on API 19 2020-05-21 15:39:36 +02:00
Stypox
e3e2028153 Use AppCompatResources instead of ContextCompat 2020-05-21 15:39:36 +02:00
Stypox
883bcc735d Fix pause used instead of play in paused popup player when seeking
Also use `setBackgroundResource` to automatically obtain PNG drawables (from exoplayer)
2020-05-21 15:39:36 +02:00
Stypox
158727e2f2 Replace hardcoded white drawable with themed one 2020-05-21 15:39:36 +02:00
Stypox
899f69d120 Fix additional empty title on tab selection fragments in API 19 2020-05-21 15:39:36 +02:00
Stypox
b575046c05 Fix choice dialogs on API 19 by manually getting drawable 2020-05-21 15:39:36 +02:00
Stypox
b5c60d2be2 Update AndroidX to fix icon crashes in preferences on API 19
Also remove legacy libraries
Use `androidx.preference:preference` instead of `androidx.legacy:legacy-preference-v14` and remove `androidx.legacy:legacy-support-v4
2020-05-21 15:39:36 +02:00
Stypox
631dfee763 Readd ic_close and ic_replay PNGs: needed in notifications
The other icons used in notifications are taken from exoplayer's ones: `@drawable/exo_controls_*`
2020-05-21 15:39:36 +02:00
Stypox
d7f610113e Fix background player queue crashing on opening 2020-05-21 15:39:36 +02:00
Stypox
e0e4f6db2b Fix MainFragment tab icons did not follow theme color 2020-05-21 15:39:36 +02:00
Stypox
c27a26c0aa Rename ic_hot in ic_kiosk_hot and improve getKioskIcon() 2020-05-21 15:39:36 +02:00
Stypox
3dcd2468a2 Use app:srcCompat and derivatives intead of android: ones
To fix crashes on API 19
2020-05-21 15:39:36 +02:00
Stypox
ea43b28f74 Use vector drawables instead of PNGs for material icons
For all manually-created images PNG have been kept.
- rename all icon attrs to have a `ic_` prefix
- always use `_24dp` icons, because there is no real difference, since they are vector drawables
- always use the original name found on material.io for icon drawables, as to not create confusion and possibly duplicates. Icon names can still be different from real drawable names, though I have made some of them compliant to this or maybe more meaningul.
- remove duplicate `getIconByAttr()` in ThemeHelper (use `resolveResourceIdFromAttr()`
- use standard icons for `expand_more` and `expand_less` instead of triangles
- use `play_button_outline` instead of custom PNG as play button in VideoDetailFragment (questionable, as there is no shadow anymore)
2020-05-21 15:39:35 +02:00
bopol
a3e2a085b6 Merge pull request #3501 from B0pol/openInBrowser
Open in browser button now really opens in browser
2020-05-21 09:24:57 +02:00
Anonymous
635d51b60d Translated using Weblate (Hindi)
Currently translated at 82.4% (476 of 577 strings)
2020-05-20 12:31:02 +02:00
Rahul Bali
95eb1c0d95 Translated using Weblate (Hindi)
Currently translated at 82.4% (476 of 577 strings)
2020-05-20 12:31:01 +02:00
Rahul Bali
8aca43a7e6 Translated using Weblate (Hindi)
Currently translated at 81.9% (473 of 577 strings)
2020-05-20 12:25:58 +02:00
Anonymous
f6afe59788 Translated using Weblate (Hindi)
Currently translated at 81.9% (473 of 577 strings)
2020-05-20 12:25:57 +02:00
bopol
8e13161f64 fix checkstyle 2020-05-19 21:57:46 +02:00
bopol
97437b8af3 apply @stypox suggestions 2020-05-19 21:52:30 +02:00
bopol
9a938093e2 Open in browser button now really opens in browser 2020-05-19 21:51:47 +02:00
Hosted Weblate
3edcc9f9fd Merge branch 'origin/dev' into Weblate. 2020-05-19 17:02:04 +02:00
Oymate
55db408720 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 29.6% (171 of 577 strings)
2020-05-19 17:02:04 +02:00
Samuel Carvalho de Araújo
caef874814 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (577 of 577 strings)
2020-05-19 17:02:04 +02:00
Anonymous
1622639eca Translated using Weblate (Bengali (Bangladesh))
Currently translated at 29.6% (171 of 577 strings)
2020-05-19 17:02:00 +02:00
Oymate
4df89f4217 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 29.6% (171 of 577 strings)
2020-05-19 17:02:00 +02:00
Tobias Groza
079b98ed3f Merge pull request #3618 from Stypox/long-press-strings
Improve long-press menu strings
2020-05-19 08:38:00 +02:00
Stypox
a0526d2c9c Improve long-press menu strings 2020-05-19 08:24:04 +02:00
Stypox
169b1cbd32 Merge pull request #3613 from wb9688/fix-download-dialog-freeze
Fix download dialog freeze
2020-05-18 14:11:17 +02:00
wb9688
8968081e77 Remove not needed Checkstyle stuff 2020-05-18 13:40:01 +02:00
wb9688
93ba7510e1 Fix ListHelper ANR 2020-05-18 13:40:01 +02:00
Hosted Weblate
579bb743bb Merge branch 'origin/dev' into Weblate. 2020-05-18 13:17:56 +02:00
Rai Tsa
9e5e9ea612 Translated using Weblate (Finnish)
Currently translated at 58.0% (335 of 577 strings)
2020-05-18 13:17:54 +02:00
Thien Bui
2241a13cba Translated using Weblate (Vietnamese)
Currently translated at 99.8% (576 of 577 strings)
2020-05-18 13:17:54 +02:00
Isak Holmström
9c1fb0cb92 Translated using Weblate (Swedish)
Currently translated at 89.4% (516 of 577 strings)
2020-05-18 13:17:52 +02:00
Anonymous
4904514257 Translated using Weblate (Swedish)
Currently translated at 89.4% (516 of 577 strings)
2020-05-18 13:17:52 +02:00
Samuel Carvalho de Araújo
6d829c26a1 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (577 of 577 strings)
2020-05-18 13:17:52 +02:00
Stypox
c05467fb92 Merge pull request #3513 from Stypox/exoplayer
Update to ExoPlayer 2.11.4
2020-05-17 22:02:19 +02:00
Anonymous
d47f7f3348 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (577 of 577 strings)
2020-05-17 00:52:28 +02:00
Samuel Carvalho de Araújo
5931a84651 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (577 of 577 strings)
2020-05-16 04:41:32 +02:00
zeritti
5771783d11 Translated using Weblate (Czech)
Currently translated at 100.0% (577 of 577 strings)
2020-05-16 04:41:32 +02:00
Hosted Weblate
aae07a60bd Merge branch 'origin/dev' into Weblate. 2020-05-14 11:38:10 +02:00
MohammedSR Vevo
462d418ee0 Translated using Weblate (Kurdish)
Currently translated at 100.0% (577 of 577 strings)
2020-05-14 11:38:08 +02:00
Isak Holmström
ce63c2e1db Translated using Weblate (Swedish)
Currently translated at 89.4% (516 of 577 strings)
2020-05-14 11:38:07 +02:00
Isak Holmström
52baf8cbe5 Translated using Weblate (Swedish)
Currently translated at 89.4% (516 of 577 strings)
2020-05-14 11:38:07 +02:00
ssantos
1779b9ee1a Translated using Weblate (Portuguese)
Currently translated at 100.0% (577 of 577 strings)
2020-05-14 11:38:06 +02:00
B0pol
eae169236c Merge pull request #3581 from B0pol/gitignore
Add vscode / eclipse files to gitignore
2020-05-13 18:11:51 +00:00
bopol
ce0efba0d2 gitignore update 2020-05-13 19:54:02 +02:00
Tobias Groza
87c7ac3970 Merge pull request #3580 from wb9688/fix-email
Fix sending e-mail from crash reporter
2020-05-13 17:10:22 +02:00
bopol
0f8d196a52 Add vscode / eclipse files to gitignore 2020-05-13 11:07:02 +02:00
Stypox
6dc7dab154 Merge pull request #3565 from B0pol/retry-button-color
Change retry & subscribe buttons background color based on service color
2020-05-13 11:01:40 +02:00
wb9688
dd4cb23005 Fix sending e-mail from crash reporter 2020-05-13 09:42:08 +02:00
ButterflyOfFire
0589017f8c Translated using Weblate (Arabic)
Currently translated at 100.0% (577 of 577 strings)
2020-05-12 15:41:32 +02:00
bopol
55027a9b2b bump extractor version 2020-05-11 21:41:56 +02:00
bopol
0a984ca8c8 remove duplicate host in manifest 2020-05-11 21:41:56 +02:00
bopol
929d13bfea add support for some peertube instances
The one used for tests, popular instances and user wanted (e.g. la quadrature du net, video.lqdn.fr, or @TheAssassin instance, media-assassinate-you.net)
2020-05-11 21:41:56 +02:00
bopol
375e18bec8 subscribe button now match service's main color 2020-05-11 19:29:34 +02:00
WaldiS
b9de74f183 Translated using Weblate (Polish)
Currently translated at 100.0% (577 of 577 strings)
2020-05-11 08:54:43 +02:00
Oğuz Ersen
08ca69507f Translated using Weblate (Turkish)
Currently translated at 100.0% (577 of 577 strings)
2020-05-11 08:54:42 +02:00
JoC
65ca982342 Translated using Weblate (Spanish)
Currently translated at 100.0% (577 of 577 strings)
2020-05-11 08:54:42 +02:00
Igor Nedoboy
658281a92c Translated using Weblate (Russian)
Currently translated at 100.0% (577 of 577 strings)
2020-05-10 22:59:48 +02:00
Igor Nedoboy
a959f61367 Translated using Weblate (Russian)
Currently translated at 100.0% (577 of 577 strings)
2020-05-10 22:50:30 +02:00
Yaron Shahrabani
8e61f744ec Translated using Weblate (Hebrew)
Currently translated at 100.0% (577 of 577 strings)
2020-05-10 14:34:56 +02:00
Jeff Huang
73d3e52e29 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (577 of 577 strings)
2020-05-10 14:34:55 +02:00
Xiang Xu
49a134845c Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (577 of 577 strings)
2020-05-10 14:34:55 +02:00
Samuel Carvalho de Araújo
29807f3d39 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (577 of 577 strings)
2020-05-10 14:34:55 +02:00
WaldiS
29b79b7725 Translated using Weblate (Polish)
Currently translated at 99.8% (576 of 577 strings)
2020-05-10 14:34:54 +02:00
zmni
1cdb10a040 Translated using Weblate (Indonesian)
Currently translated at 100.0% (577 of 577 strings)
2020-05-10 14:34:54 +02:00
AioiLight
5f7851df72 Translated using Weblate (Japanese)
Currently translated at 100.0% (577 of 577 strings)
2020-05-10 14:34:54 +02:00
winqooq
3d9bc05d7a Translated using Weblate (Russian)
Currently translated at 99.4% (574 of 577 strings)
2020-05-10 14:34:53 +02:00
B0pol
c127428c59 Translated using Weblate (French)
Currently translated at 100.0% (577 of 577 strings)
2020-05-10 14:34:53 +02:00
nautilusx
7966d8403a Translated using Weblate (German)
Currently translated at 100.0% (577 of 577 strings)
2020-05-10 14:34:53 +02:00
bopol
80cc8a8e02 color retry button based on service color 2020-05-10 10:54:12 +02:00
Igor Nedoboy
ee4e205fef Translated using Weblate (Russian)
Currently translated at 99.4% (574 of 577 strings)
2020-05-10 02:07:05 +02:00
Hosted Weblate
ea443dc80c Merge branch 'origin/dev' into Weblate. 2020-05-09 16:13:01 +02:00
Senthil Kumar G
283645513d Translated using Weblate (Tamil)
Currently translated at 35.8% (206 of 574 strings)
2020-05-09 16:12:57 +02:00
Anonymous
81b99382b8 Translated using Weblate (Italian)
Currently translated at 100.0% (574 of 574 strings)
2020-05-09 16:12:57 +02:00
random r
ab74465e6c Translated using Weblate (Italian)
Currently translated at 100.0% (574 of 574 strings)
2020-05-09 16:12:57 +02:00
Tobias Groza
b3eadb557b Merge pull request #3337 from AioiLight/blocking-gesture-when-touch-from-navbar
Block the gesture when touch it from NavigationBar or StatusBar.
2020-05-09 10:43:15 +02:00
AioiLight
0abd2bcba6 Clean up code
Follow Checkstyle

Move to PlayerGestureListener from VideoPlayerImpl

Update app/src/main/java/org/schabi/newpipe/player/MainVideoPlayer.java

Co-authored-by: wb9688 <46277131+wb9688@users.noreply.github.com>
2020-05-09 10:11:46 +02:00
Tobias Groza
9cf76a918e Merge pull request #3430 from Royosef/DisplayParentChannelDetails
Display parent channel details
2020-05-08 23:29:28 +02:00
wb9688
ae437b1510 Bump NewPipeExtractor 2020-05-08 18:07:52 +02:00
wb9688
1096ec1c09 Adjust sub-channel thumbnail size 2020-05-08 15:51:21 +02:00
wb9688
235394d96c Don't show sub-channel thumbnail by default 2020-05-08 15:51:21 +02:00
Anonymous
d25e1d801c Translated using Weblate (Italian)
Currently translated at 99.6% (572 of 574 strings)
2020-05-08 12:35:52 +02:00
random r
2dca5ab966 Translated using Weblate (Italian)
Currently translated at 99.6% (572 of 574 strings)
2020-05-08 12:35:52 +02:00
caltaojihun
89ab57b1c1 Translated using Weblate (Vietnamese)
Currently translated at 94.4% (542 of 574 strings)
2020-05-08 09:56:46 +02:00
caltaojihun
dc66e6a4bf Translated using Weblate (Vietnamese)
Currently translated at 79.7% (458 of 574 strings)
2020-05-08 06:49:55 +02:00
Hosted Weblate
5c2f2fd882 Merge branch 'origin/dev' into Weblate. 2020-05-07 23:24:06 +02:00
MohammedSR Vevo
5c3ddefbf9 Translated using Weblate (Kurdish)
Currently translated at 100.0% (574 of 574 strings)
2020-05-07 23:24:04 +02:00
thami simo
a8d3f45ea1 Translated using Weblate (Arabic)
Currently translated at 100.0% (574 of 574 strings)
2020-05-07 23:24:03 +02:00
ssantos
cc2c41ddc8 Translated using Weblate (Portuguese)
Currently translated at 100.0% (574 of 574 strings)
2020-05-07 23:24:03 +02:00
wb9688
b990f30a09 Merge pull request #3545 from Stypox/kore
Fix Kodi button showing up with unsupported services
2020-05-07 21:44:09 +02:00
Stypox
5c711322d4 In player hide kodi button if service unsupported 2020-05-07 21:11:34 +02:00
Roy Yosef
b7d4a4f604 Navigate to parent(uploader) channel from the uploader section on long click 2020-05-07 20:40:17 +02:00
Roy Yosef
cc8874b687 Fix PR review
Make all of the uploader section on stream page navigate to the channel page
Extract hard coded strings
Remove redundant spaces
Fix open streams from a channel
Rename "ParentChannel" to "SubChannel"
Config royosef:NewPipeExtractor in app/build.gradle
2020-05-07 20:40:17 +02:00
Roy Yosef
2d0bc05488 Add sub-channel details to channel fragment 2020-05-07 20:39:32 +02:00
Roy Yosef
1429774487 Add sub-channel details to video detail fragment 2020-05-07 20:39:32 +02:00
wb9688
2060312dc1 Merge pull request #3466 from B0pol/soundCloudComments
adapt CommentsInfoItemExtractorRefactoring
2020-05-07 16:06:15 +02:00
bopol
8b6728480f bump extractor version 2020-05-07 15:46:41 +02:00
Anxhelo Lushka
cecafdee29 Translated using Weblate (Albanian)
Currently translated at 100.0% (574 of 574 strings)
2020-05-07 13:58:28 +02:00
Senthil Kumar G
05f2af25af Translated using Weblate (Tamil)
Currently translated at 35.7% (205 of 574 strings)
2020-05-07 13:58:27 +02:00
Yaron Shahrabani
e3d826f6c4 Translated using Weblate (Hebrew)
Currently translated at 100.0% (574 of 574 strings)
2020-05-07 13:58:27 +02:00
Jeff Huang
02430bed90 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (574 of 574 strings)
2020-05-07 13:58:27 +02:00
Samuel Carvalho de Araújo
3f7005ed9a Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (574 of 574 strings)
2020-05-07 13:58:26 +02:00
WaldiS
586ee75833 Translated using Weblate (Polish)
Currently translated at 99.8% (573 of 574 strings)
2020-05-07 13:58:26 +02:00
Emin Tufan Çetin
1d903f11a8 Translated using Weblate (Turkish)
Currently translated at 100.0% (574 of 574 strings)
2020-05-07 13:58:25 +02:00
Muhammad Mauli Mubassari
578159b95c Translated using Weblate (Indonesian)
Currently translated at 100.0% (574 of 574 strings)
2020-05-07 13:58:25 +02:00
zeritti
5c95587284 Translated using Weblate (Czech)
Currently translated at 100.0% (574 of 574 strings)
2020-05-07 13:58:25 +02:00
Marian Hanzel
f7e9227ad2 Translated using Weblate (Slovak)
Currently translated at 94.0% (540 of 574 strings)
2020-05-07 13:58:24 +02:00
AioiLight
c11a4d6867 Translated using Weblate (Japanese)
Currently translated at 100.0% (574 of 574 strings)
2020-05-07 13:58:23 +02:00
Anonymous
6c2b0448a4 Translated using Weblate (Dutch)
Currently translated at 100.0% (574 of 574 strings)
2020-05-07 13:58:23 +02:00
Terry Louwers
bd0eb8cccf Translated using Weblate (Dutch)
Currently translated at 100.0% (574 of 574 strings)
2020-05-07 13:58:23 +02:00
nautilusx
09bb043952 Translated using Weblate (German)
Currently translated at 100.0% (574 of 574 strings)
2020-05-07 13:58:22 +02:00
Stypox
9ca6cfd637 Fix Kodi button showing up in unsupported services 2020-05-06 20:55:53 +02:00
Igor Nedoboy
3869a66fcc Translated using Weblate (Russian)
Currently translated at 100.0% (574 of 574 strings)
2020-05-06 13:33:14 +02:00
bopol
d1c94f5120 adapt CommentsInfoItemExtractorRefactoring 2020-05-05 15:03:59 +02:00
Igor Nedoboy
c55e9941ec Translated using Weblate (Russian)
Currently translated at 100.0% (574 of 574 strings)
2020-05-05 08:21:44 +02:00
Hosted Weblate
fa9a419d73 Merge branch 'origin/dev' into Weblate. 2020-05-04 17:49:25 +02:00
Software In Interlingua
ab4e0da6b4 Translated using Weblate (Interlingua)
Currently translated at 39.7% (228 of 573 strings)
2020-05-04 17:49:22 +02:00
Igor Nedoboy
073572681e Translated using Weblate (Russian)
Currently translated at 100.0% (573 of 573 strings)
2020-05-04 17:49:21 +02:00
wb9688
b630f269c4 Merge pull request #3511 from wb9688/ktlint
Ktlint
2020-05-04 15:13:07 +02:00
wb9688
40b1cd82b1 Merge pull request #2727 from vnagel/ageRestrictedContent
Restricted mode setting for youtube
2020-05-04 15:05:11 +02:00
Tobias Groza
abcbdef63b Merge pull request #3502 from wb9688/allow-translation
Allow time ago debug setting translation
2020-05-03 23:25:54 +02:00
Tobias Groza
dc8d1b0993 Merge pull request #3478 from TeamNewPipe/release_0.19.3
Release 0.19.3
2020-05-03 21:22:44 +02:00
Hosted Weblate
56d53d8805 Merge branch 'origin/dev' into Weblate. 2020-05-03 15:40:40 +02:00
Oymate
7433fe049c Translated using Weblate (Bengali (Bangladesh))
Currently translated at 29.6% (170 of 573 strings)
2020-05-03 15:40:40 +02:00
postsorino
bb2be49d3b Translated using Weblate (Greek)
Currently translated at 85.1% (488 of 573 strings)
2020-05-03 15:40:40 +02:00
Bruno Guerreiro
cd1b578e84 Translated using Weblate (Portuguese)
Currently translated at 100.0% (573 of 573 strings)
2020-05-03 15:40:40 +02:00
winqooq
c3df9b4105 Translated using Weblate (Russian)
Currently translated at 99.4% (570 of 573 strings)
2020-05-03 15:40:37 +02:00
TobiGr
243f3e21ec Release 0.19.3 (930) 2020-05-03 14:13:21 +02:00
TobiGr
375291380c Add changelog 2020-05-03 14:13:21 +02:00
TobiGr
d221194454 Merge remote-tracking branch 'Weblate/dev' into dev 2020-05-03 14:12:59 +02:00
TobiGr
6d94a54387 Update extractor to fix NPE in YouTube Muic search 2020-05-03 14:12:22 +02:00
Anonymous
910bde88c7 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 29.6% (170 of 573 strings)
2020-05-02 16:35:50 +02:00
Oymate
72916544ce Translated using Weblate (Bengali (Bangladesh))
Currently translated at 29.6% (170 of 573 strings)
2020-05-02 16:35:50 +02:00
Anonymous
a01975dfce Translated using Weblate (Bengali (Bangladesh))
Currently translated at 29.4% (169 of 573 strings)
2020-05-02 16:35:29 +02:00
Oymate
10708801ae Translated using Weblate (Bengali (Bangladesh))
Currently translated at 29.4% (169 of 573 strings)
2020-05-02 16:35:28 +02:00
Anonymous
ac096fb4e7 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 29.3% (168 of 573 strings)
2020-05-02 16:33:50 +02:00
Oymate
620c1397ba Translated using Weblate (Bengali (Bangladesh))
Currently translated at 29.3% (168 of 573 strings)
2020-05-02 16:33:50 +02:00
Anonymous
5b2f2f34f6 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 28.7% (165 of 573 strings)
2020-05-02 16:33:04 +02:00
Hosted Weblate
ae3861a29d Merge branch 'origin/dev' into Weblate. 2020-05-02 16:27:27 +02:00
Oymate
93e2145254 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 28.6% (164 of 573 strings)
2020-05-02 16:27:27 +02:00
pjammo
2b6290d275 Translated using Weblate (Italian)
Currently translated at 99.6% (571 of 573 strings)
2020-05-02 16:27:26 +02:00
Anonymous
f81af7acb3 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 28.6% (164 of 573 strings)
2020-05-02 16:27:23 +02:00
Oymate
f0170247a4 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 28.6% (164 of 573 strings)
2020-05-02 16:27:23 +02:00
TobiGr
3430874d11 Merge remote-tracking branch 'Weblate/dev' into dev 2020-05-02 16:21:56 +02:00
Tobias Groza
cb5e7532ab Merge pull request #3480 from wb9688/update-nanojson
Use our nanojson fork
2020-05-02 16:17:29 +02:00
Anonymous
5b928d679c Translated using Weblate (Bengali (Bangladesh))
Currently translated at 28.2% (162 of 573 strings)
2020-05-02 16:17:14 +02:00
Oymate
697b9694e5 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 28.2% (162 of 573 strings)
2020-05-02 16:17:13 +02:00
wb9688
81c3e7e7f6 Use our nanojson fork 2020-05-02 16:03:15 +02:00
NITHIN
0517bba8ca Translated using Weblate (Malayalam)
Currently translated at 100.0% (573 of 573 strings)
2020-05-02 12:31:09 +02:00
MohammedSR Vevo
83c7244fe6 Translated using Weblate (Kurdish)
Currently translated at 100.0% (573 of 573 strings)
2020-05-02 12:31:09 +02:00
ssantos
68fd129042 Translated using Weblate (Portuguese)
Currently translated at 100.0% (573 of 573 strings)
2020-05-02 12:31:08 +02:00
pjammo
b697e8a616 Translated using Weblate (Italian)
Currently translated at 100.0% (573 of 573 strings)
2020-05-02 12:31:08 +02:00
B0pol
2b281fbde9 Translated using Weblate (French)
Currently translated at 100.0% (573 of 573 strings)
2020-05-02 12:31:07 +02:00
JoC
de8c4018c4 Translated using Weblate (Spanish)
Currently translated at 100.0% (573 of 573 strings)
2020-05-02 12:31:07 +02:00
Jeannette
9e8af96bbf Translated using Weblate (German)
Currently translated at 100.0% (573 of 573 strings)
2020-05-02 12:31:07 +02:00
wb9688
b0415a5289 Auto-format using Ktlint 2020-05-01 20:13:21 +02:00
wb9688
ff7344438b Optimize imports 2020-05-01 20:13:01 +02:00
wb9688
f5f8e5d279 Add Ktlint 2020-05-01 20:09:52 +02:00
Stypox
b4ddc8f96c Update to ExoPlayer 2.11.4 2020-05-01 15:03:54 +02:00
Theophine Savio Theodore
e556c8ee15 Translated using Weblate (Malayalam)
Currently translated at 100.0% (573 of 573 strings)
2020-04-30 02:16:11 +02:00
Anxhelo Lushka
2f9a0b3376 Translated using Weblate (Albanian)
Currently translated at 100.0% (573 of 573 strings)
2020-04-30 02:16:06 +02:00
Isak Holmström
828f07b401 Translated using Weblate (Swedish)
Currently translated at 85.8% (492 of 573 strings)
2020-04-30 02:16:06 +02:00
Isak Holmström
36921b3426 Translated using Weblate (Swedish)
Currently translated at 85.8% (492 of 573 strings)
2020-04-30 02:16:06 +02:00
Edoardo Regni
3988c6491c Translated using Weblate (Dutch)
Currently translated at 100.0% (573 of 573 strings)
2020-04-30 02:16:05 +02:00
Igor Nedoboy
2cf558ec05 Translated using Weblate (Russian)
Currently translated at 100.0% (573 of 573 strings)
2020-04-29 21:53:56 +02:00
Anonymous
6fbadbdd94 Translated using Weblate (Dutch)
Currently translated at 100.0% (573 of 573 strings)
2020-04-29 16:06:40 +02:00
Edoardo Regni
faa1d7effb Translated using Weblate (Dutch)
Currently translated at 100.0% (573 of 573 strings)
2020-04-29 16:06:40 +02:00
Anonymous
fe73a708d4 Translated using Weblate (Dutch)
Currently translated at 100.0% (573 of 573 strings)
2020-04-29 16:00:05 +02:00
Edoardo Regni
a5ca262faa Translated using Weblate (Dutch)
Currently translated at 100.0% (573 of 573 strings)
2020-04-29 16:00:05 +02:00
wb9688
8ebb1e29fa Allow time ago debug setting translation 2020-04-29 14:47:06 +02:00
Igor Nedoboy
1b44dc9522 Translated using Weblate (Russian)
Currently translated at 100.0% (573 of 573 strings)
2020-04-28 21:43:06 +02:00
Theophine Savio Theodore
a66d468dc2 Translated using Weblate (Malayalam)
Currently translated at 81.5% (467 of 573 strings)
2020-04-28 05:27:35 +02:00
Igor Nedoboy
ca8beafc2d Translated using Weblate (Russian)
Currently translated at 100.0% (573 of 573 strings)
2020-04-27 19:08:53 +02:00
Igor Nedoboy
639c589a4a Translated using Weblate (Russian)
Currently translated at 99.3% (569 of 573 strings)
2020-04-27 18:53:59 +02:00
Hosted Weblate
cd66836218 Merge branch 'origin/dev' into Weblate. 2020-04-27 16:26:09 +02:00
Rex_sa
98662baa26 Translated using Weblate (Arabic)
Currently translated at 100.0% (573 of 573 strings)
2020-04-27 16:26:09 +02:00
Theophine Savio Theodore
004e5794e3 Added translation using Weblate (Malayalam) 2020-04-27 16:26:05 +02:00
Tobias Groza
f4f4f062cf Merge pull request #3495 from Stypox/fix-rotation
Fix rotation
2020-04-27 09:18:08 +02:00
Stypox
d8d9c7e171 Fix crashes on rotation by checking for null 2020-04-27 09:01:24 +02:00
Hosted Weblate
ceff82732e Merge branch 'origin/dev' into Weblate. 2020-04-26 20:43:27 +02:00
Anxhelo Lushka
d94b1708a9 Translated using Weblate (Albanian)
Currently translated at 100.0% (573 of 573 strings)
2020-04-26 20:43:27 +02:00
MohammedSR Vevo
46e1f16012 Translated using Weblate (Kurdish)
Currently translated at 99.8% (572 of 573 strings)
2020-04-26 20:43:27 +02:00
Milo Ivir
bbd014d409 Translated using Weblate (Croatian)
Currently translated at 88.1% (505 of 573 strings)
2020-04-26 20:43:26 +02:00
Jeff Huang
d553ee7c60 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (573 of 573 strings)
2020-04-26 20:43:26 +02:00
WaldiS
2df6ab240d Translated using Weblate (Polish)
Currently translated at 100.0% (573 of 573 strings)
2020-04-26 20:43:26 +02:00
Emin Tufan Çetin
8a2b9dfd6a Translated using Weblate (Turkish)
Currently translated at 100.0% (573 of 573 strings)
2020-04-26 20:43:26 +02:00
Иван
1f7892d7a9 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (573 of 573 strings)
2020-04-26 20:43:25 +02:00
vkhomenk
d11c537bea Translated using Weblate (Ukrainian)
Currently translated at 100.0% (573 of 573 strings)
2020-04-26 20:43:25 +02:00
winqooq
2d4d237009 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (573 of 573 strings)
2020-04-26 20:43:25 +02:00
zeritti
daeee6b616 Translated using Weblate (Czech)
Currently translated at 100.0% (573 of 573 strings)
2020-04-26 20:43:24 +02:00
StarFang208
eacb0b13b2 Translated using Weblate (Italian)
Currently translated at 100.0% (573 of 573 strings)
2020-04-26 20:43:23 +02:00
Igor Nedoboy
dc5748059a Translated using Weblate (Russian)
Currently translated at 100.0% (573 of 573 strings)
2020-04-26 20:43:23 +02:00
JoC
96d75f4bcb Translated using Weblate (Spanish)
Currently translated at 100.0% (573 of 573 strings)
2020-04-26 20:43:23 +02:00
winqooq
19bfdf3f9f Translated using Weblate (Russian)
Currently translated at 100.0% (573 of 573 strings)
2020-04-26 20:43:20 +02:00
Tobias Groza
4ea273b297 Merge pull request #3483 from B0pol/tv
Better detection of TV devices
2020-04-26 12:55:13 +02:00
Vincent Nagel
72c9845174 removed unnecessary method call 2020-04-25 21:39:53 -05:00
bopol
77597b329e store isTv value to prevent calculating it again and again 2020-04-26 00:36:45 +02:00
bopol
f62f00b4ad Fix crash on Android 4.4 and surely other sdk versions 2020-04-25 23:38:34 +02:00
TheLastGimbus
1975973ff2 Update progress bar on fast forward/rewind 2020-04-25 15:46:56 +02:00
bopol
00262b4a49 Better detection of TV devices
Some devices were not detected as TV even though they are
2020-04-25 12:04:44 +02:00
Hosted Weblate
de6cabe408 Merge branch 'origin/dev' into Weblate. 2020-04-25 02:11:39 +02:00
Mitosagi
d65552b59f Translated using Weblate (Japanese)
Currently translated at 100.0% (573 of 573 strings)
2020-04-25 02:11:37 +02:00
Florian
3755f48bce Translated using Weblate (French)
Currently translated at 100.0% (573 of 573 strings)
2020-04-25 02:11:36 +02:00
Anonymous
8fe75d2015 Translated using Weblate (French)
Currently translated at 100.0% (573 of 573 strings)
2020-04-25 02:11:36 +02:00
TobiGr
b0c0249ce6 Merge remote-tracking branch 'Weblate/dev' into dev 2020-04-24 18:27:25 +02:00
Lucas Araujo
17685f3d86 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (573 of 573 strings)
2020-04-24 17:04:09 +02:00
Anonymous
30f1c71569 Translated using Weblate (Indonesian)
Currently translated at 99.8% (572 of 573 strings)
2020-04-24 17:04:09 +02:00
zmni
137afba1b6 Translated using Weblate (Indonesian)
Currently translated at 99.8% (572 of 573 strings)
2020-04-24 17:04:09 +02:00
AioiLight
b27de5cac1 Translated using Weblate (Japanese)
Currently translated at 100.0% (573 of 573 strings)
2020-04-24 17:04:08 +02:00
nautilusx
8d43ae9805 Translated using Weblate (German)
Currently translated at 100.0% (573 of 573 strings)
2020-04-24 17:04:08 +02:00
Yaron Shahrabani
3cebb028f4 Translated using Weblate (Hebrew)
Currently translated at 100.0% (573 of 573 strings)
2020-04-24 11:39:27 +02:00
Hosted Weblate
28ab9d3515 Merge branch 'origin/dev' into Weblate. 2020-04-24 11:19:02 +02:00
Mladen Pejaković
f7739309e8 Translated using Weblate (Serbian)
Currently translated at 42.1% (240 of 569 strings)
2020-04-24 11:19:00 +02:00
Stypox
2db0d63c97 Merge pull request #3065 from GradyClark/dev
Added the ability to remove all watched videos from a local playlist
2020-04-23 23:52:28 +02:00
Stypox
437b86d1a7 Use centralized CompositeDisposable instead of custom Disposable
Also do not show any dialog if the user is aready removing watched videos in a local playlist
2020-04-23 23:35:00 +02:00
TobiGr
5ba1df52e0 Add Achinese (ACE) to the language selector 2020-04-23 23:24:52 +02:00
TobiGr
04ab753b26 Merge pull request Android TV support #2806
Closes #2806
2020-04-23 22:33:20 +02:00
TobiGr
bc4a598a55 Merge remote-tracking branch 'Weblate/dev' into dev 2020-04-23 21:11:50 +02:00
TobiGr
651cdec9b5 Fix button ripples in VideoDetailFragment 2020-04-22 22:35:41 +02:00
Hosted Weblate
346f9fbacd Merge branch 'origin/dev' into Weblate. 2020-04-21 22:05:03 +02:00
Anxhelo Lushka
0f493ae808 Translated using Weblate (Albanian)
Currently translated at 100.0% (569 of 569 strings)
2020-04-21 22:05:03 +02:00
Igor Nedoboy
a07f143759 Translated using Weblate (Russian)
Currently translated at 100.0% (569 of 569 strings)
2020-04-21 22:05:00 +02:00
Stypox
0ec22c7a6e Fix pause button is not focused on player control activation 2020-04-21 09:25:09 +02:00
Grady Clark
73611004a0 Code cleanup, and best practices 2020-04-21 01:57:23 -05:00
Grady Clark
776ddddc83 fixed naming and formatting issues 2020-04-21 01:03:42 -05:00
Vincent Nagel
f60cce54ea rename setting to "YouTube restricted mode" 2020-04-20 21:47:32 -05:00
Vincent Nagel
63087a4311 renamed to "restricted mode" 2020-04-20 21:46:40 -05:00
Vincent Nagel
5a193d50f6 remove duplicate line 2020-04-20 21:45:32 -05:00
Vincent Nagel
08a6e999b9 fix checkstyle errors 2020-04-20 21:45:32 -05:00
Vincent Nagel
e33cdca1ef added logging when context null in onPrefTreeClick 2020-04-20 21:45:32 -05:00
Vincent Nagel
9ede7a3c42 setupTabs() if ageRestrictedContent pref changed 2020-04-20 21:45:32 -05:00
Vincent Nagel
430d4e1ccd ageRestrictedContent cookie only sent for youtube
Now the age restricted content cookie is only sent when sending a
request to youtube. There's no need to remove the cookie when the
service changes because whether to add the cookie is determined by
looking at the url the request is being sent to.
2020-04-20 21:45:32 -05:00
Vincent Nagel
de4d6037d3 ageRestrictedContent first draft
Cookie updated whenever ageRestrictedContent setting is changed or
service is changed. Right now there is only a cookie for youtube, but
cookies for other services could be added in the future.

Problems with this approach: Even when the service is set to youtube,
the downloader doesn't only request youtube urls e.g. it also sends
reqeusts to i.ytimg.com, suggestqueries.google.com, and yt3.ggpht.com.
The ageRestrictedContent cookie is not normally sent when sending
requests to these other urls, so doing so might have unknown effects.
2020-04-20 21:45:32 -05:00
Tobias Groza
fc1fc6842b Merge pull request #3464 from wb9688/checkstyle-debug-only
Run Checkstyle only on debug builds
2020-04-20 20:22:12 +02:00
wb9688
0649b297f6 Run Checkstyle only on debug builds 2020-04-20 17:01:36 +02:00
Hosted Weblate
9a470b9d41 Merge branch 'origin/dev' into Weblate. 2020-04-20 14:46:28 +02:00
MohammedSR Vevo
47d1ab356d Translated using Weblate (Kurdish)
Currently translated at 99.8% (568 of 569 strings)
2020-04-20 14:46:27 +02:00
WaldiS
1ea5787486 Translated using Weblate (Polish)
Currently translated at 100.0% (569 of 569 strings)
2020-04-20 14:46:27 +02:00
thami simo
1d4695c109 Translated using Weblate (Arabic)
Currently translated at 100.0% (569 of 569 strings)
2020-04-20 14:46:27 +02:00
Gontzal Manuel Pujana Onaindia
b673f9dd7f Translated using Weblate (Basque)
Currently translated at 100.0% (569 of 569 strings)
2020-04-20 14:46:27 +02:00
Bruno Guerreiro
a1dd03472f Translated using Weblate (Portuguese)
Currently translated at 100.0% (569 of 569 strings)
2020-04-20 14:46:26 +02:00
Anxhelo Lushka
497e545024 Translated using Weblate (Albanian)
Currently translated at 100.0% (569 of 569 strings)
2020-04-20 14:46:22 +02:00
wb9688
6892fdb70b Merge pull request #3463 from B0pol/json
use nanojson instead of org.json
2020-04-20 14:02:36 +02:00
wb9688
aa1cc32d17 Open comment author on TV at long press 2020-04-20 13:37:35 +02:00
bopol
b22398ae6c use nanojson instead of org.json 2020-04-20 11:02:45 +02:00
Stypox
e6eddaff73 Merge pull request #3460 from wb9688/force-utf-8
Force UTF-8 encoding for Gradle
2020-04-20 10:18:56 +02:00
Tobias Groza
cd53518897 Merge pull request #3345 from mitosagi/error-with-bookmarks
Fix repeated exceptions in Bookmarked Playlists
2020-04-19 22:00:31 +02:00
wb9688
8e9b1b7213 Merge pull request #3414 from Stypox/recaptcha
Fix ReCaptcha Activity for another type of recaptcha page
2020-04-19 19:49:01 +02:00
wb9688
7a88fae2e2 Force UTF-8 encoding for Gradle 2020-04-19 19:33:46 +02:00
Tobias Groza
f066da23c5 Merge pull request #3456 from Stypox/enqueue-channel
Enqueue on long click on background/popup in channel
2020-04-19 11:41:12 +02:00
Stypox
34aa3d3e00 Enqueue on long click on background/popup in channel 2020-04-19 10:34:07 +02:00
Hosted Weblate
715119fd45 Merge branch 'origin/dev' into Weblate. 2020-04-16 21:55:01 +02:00
Allan Nordhøy
bde34fc4c4 Translated using Weblate (Norwegian Bokmål)
Currently translated at 90.6% (516 of 569 strings)
2020-04-16 21:55:00 +02:00
MohammedSR Vevo
07b4aa89d4 Translated using Weblate (Kurdish)
Currently translated at 99.4% (566 of 569 strings)
2020-04-16 21:54:59 +02:00
Isak Holmström
d60351114c Translated using Weblate (Swedish)
Currently translated at 83.1% (473 of 569 strings)
2020-04-16 21:54:59 +02:00
Yaron Shahrabani
c932a70bef Translated using Weblate (Hebrew)
Currently translated at 100.0% (569 of 569 strings)
2020-04-16 21:54:58 +02:00
Jeff Huang
4641d7ee8c Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (569 of 569 strings)
2020-04-16 21:54:58 +02:00
Xiang Xu
d4b3ee50f2 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (569 of 569 strings)
2020-04-16 21:54:58 +02:00
Samuel Carvalho de Araújo
5392daa3ff Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (569 of 569 strings)
2020-04-16 21:54:57 +02:00
Mostafa Ahangarha
a70e366fb4 Translated using Weblate (Persian)
Currently translated at 85.2% (485 of 569 strings)
2020-04-16 21:54:56 +02:00
Oğuz Ersen
dff14268db Translated using Weblate (Turkish)
Currently translated at 100.0% (569 of 569 strings)
2020-04-16 21:54:55 +02:00
zmni
5517e157ad Translated using Weblate (Indonesian)
Currently translated at 98.9% (563 of 569 strings)
2020-04-16 21:54:54 +02:00
anonymous
bdf4ffc36b Translated using Weblate (Arabic)
Currently translated at 100.0% (569 of 569 strings)
2020-04-16 21:54:54 +02:00
Vojtěch Šamla
71455c63c1 Translated using Weblate (Czech)
Currently translated at 100.0% (569 of 569 strings)
2020-04-16 21:54:54 +02:00
Aaron Feng
b1ae2b1a41 Translated using Weblate (Chinese (Traditional, Hong Kong))
Currently translated at 30.0% (171 of 569 strings)
2020-04-16 21:54:53 +02:00
Jeannette L
8a31732ce2 Translated using Weblate (Italian)
Currently translated at 99.8% (568 of 569 strings)
2020-04-16 21:54:53 +02:00
AioiLight
e79aed7792 Translated using Weblate (Japanese)
Currently translated at 100.0% (569 of 569 strings)
2020-04-16 21:54:52 +02:00
B0pol
973fc08f2d Translated using Weblate (French)
Currently translated at 100.0% (569 of 569 strings)
2020-04-16 21:54:52 +02:00
JoC
00211e1fb2 Translated using Weblate (Spanish)
Currently translated at 100.0% (569 of 569 strings)
2020-04-16 21:54:52 +02:00
C. Rüdinger
ce7286a72a Translated using Weblate (German)
Currently translated at 100.0% (569 of 569 strings)
2020-04-16 21:54:51 +02:00
Grady Clark
db335d5cec Removed redundant code
reorganized code
2020-04-16 12:58:16 -05:00
Stypox
ee5ce0c809 Save and restore cookies to/from preferences
So that the user does not have to solve a recaptcha every time he opens the app
2020-04-15 13:30:27 +02:00
Stypox
b8efef7c7a Remove duplicate check if cookies are already present 2020-04-15 13:30:27 +02:00
Stypox
e2cbf40957 Fix recaptcha activity for another type of recaptcha page
Try to get cookies from pages even when they start loading, because non-html pages like ones with `pbj=1` never stop loading.
Try to extract the cookie directly from the redirection url, by looking at the field "google_abuse=".
Add `GOOGLE_ABUSE_EXEMPTION=` to the youtube recaptcha cookies.
2020-04-15 13:30:27 +02:00
Stypox
d7d45fb8e2 Merge pull request #3415 from TeamNewPipe/fix/f-droid_build
Fix F-Droid build
2020-04-15 10:32:44 +02:00
TheLastGimbus
63afacc067 Add listeners in activity 2020-04-14 22:06:32 +02:00
TheLastGimbus
3175199787 Add fast-rewind/forward buttons in layout 2020-04-14 22:05:51 +02:00
Grady Clark
1d0c3de65f Merge branch 'dev' of https://github.com/TeamNewPipe/NewPipe into dev 2020-04-14 13:24:57 -05:00
Grady Clark
fe1646caa0 Changed "Remove Watched":
- Will now execute on the io thread
- Added confirmation dialog
  - Warning the user, and asking if they also want to remove partially watched videos
2020-04-14 13:15:07 -05:00
nautilusx
72710f075b Translated using Weblate (German)
Currently translated at 100.0% (569 of 569 strings)
2020-04-14 18:37:12 +02:00
Jeannette L
c7c01aedc2 Translated using Weblate (German)
Currently translated at 100.0% (569 of 569 strings)
2020-04-14 18:37:12 +02:00
C. Rüdinger
c2e2e76fd8 Translated using Weblate (German)
Currently translated at 100.0% (569 of 569 strings)
2020-04-14 18:37:11 +02:00
anonymous
f30a87e4e2 Translated using Weblate (German)
Currently translated at 100.0% (569 of 569 strings)
2020-04-14 18:37:11 +02:00
Igor Nedoboy
7a84cfd510 Translated using Weblate (Russian)
Currently translated at 100.0% (569 of 569 strings)
2020-04-14 10:43:22 +02:00
Jeannette L
7a5a773b07 Translated using Weblate (German)
Currently translated at 99.6% (567 of 569 strings)
2020-04-13 02:46:08 +02:00
Jeannette L
cf1488f6ce Translated using Weblate (German)
Currently translated at 99.6% (567 of 569 strings)
2020-04-13 02:43:01 +02:00
ce4
b02badba0c Translated using Weblate (German)
Currently translated at 98.7% (562 of 569 strings)
2020-04-13 02:40:54 +02:00
Jeannette L
772d84ea5a Translated using Weblate (German)
Currently translated at 99.6% (567 of 569 strings)
2020-04-13 02:40:30 +02:00
random r
ddaa66f080 Translated using Weblate (Italian)
Currently translated at 100.0% (569 of 569 strings)
2020-04-13 02:34:48 +02:00
Igor Nedoboy
8fd75833f0 Translated using Weblate (Russian)
Currently translated at 100.0% (569 of 569 strings)
2020-04-12 22:07:15 +02:00
Igor Nedoboy
1967d60813 Translated using Weblate (Russian)
Currently translated at 100.0% (569 of 569 strings)
2020-04-12 21:59:31 +02:00
Hosted Weblate
f38f265cf7 Merge branch 'origin/dev' into Weblate. 2020-04-12 16:45:50 +02:00
Isak Holmström
79f37ffee0 Translated using Weblate (Swedish)
Currently translated at 83.5% (468 of 560 strings)
2020-04-12 16:45:48 +02:00
Isak Holmström
d4b2a3c696 Translated using Weblate (Swedish)
Currently translated at 83.5% (468 of 560 strings)
2020-04-12 16:45:47 +02:00
Samuel Carvalho de Araújo
39ec365821 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (560 of 560 strings)
2020-04-12 16:45:46 +02:00
Tolstovka
bc423c471d Translated using Weblate (Ukrainian)
Currently translated at 93.3% (523 of 560 strings)
2020-04-12 16:45:44 +02:00
thami simo
a790f43566 Translated using Weblate (Arabic)
Currently translated at 100.0% (560 of 560 strings)
2020-04-12 16:45:43 +02:00
Gontzal Manuel Pujana Onaindia
9fbdc950d2 Translated using Weblate (Basque)
Currently translated at 100.0% (560 of 560 strings)
2020-04-12 16:45:41 +02:00
random r
8319963cbb Translated using Weblate (Italian)
Currently translated at 100.0% (560 of 560 strings)
2020-04-12 16:45:39 +02:00
Mitosagi
4341219497 Translated using Weblate (Japanese)
Currently translated at 100.0% (560 of 560 strings)
2020-04-12 16:45:39 +02:00
Igor Nedoboy
835504270d Translated using Weblate (Russian)
Currently translated at 100.0% (560 of 560 strings)
2020-04-12 16:45:38 +02:00
C. Rüdinger
daed42d208 Translated using Weblate (German)
Currently translated at 100.0% (560 of 560 strings)
2020-04-12 16:45:38 +02:00
Alexander--
850f51a156 When drawer opens, always place focus at it's start 2020-04-12 09:39:32 +06:59
TobiGr
d37b195708 Fix F-Droid build
Fixes the behaviour described in https://github.com/TeamNewPipe/NewPipe/pull/3265#issuecomment-612102349
2020-04-11 22:18:04 +02:00
Alexander--
54ceb85ebe Don't break navigation if player Views other than controls are focused 2020-04-11 16:04:38 +06:59
Alexander--
ef7a5bc753 Make channel info button focusable 2020-04-11 16:04:29 +06:59
wb9688
b7ef60eedd Merge pull request #3410 from wb9688/fix-restricted
Show error when video has age limit and setting is disabled
2020-04-11 09:44:25 +02:00
wb9688
70ede70ea8 Hide tabs when a video is age restricted 2020-04-11 09:30:12 +02:00
Alexander--
d1d942f3fd Fix Checkstyle violations in MediaSourceManager 2020-04-11 09:51:50 +06:59
Alexander--
53b3bda909 Comply with Checkstyle rules 2020-04-11 09:02:22 +06:59
Alexander--
ac5571a363 Merge remote-tracking branch 'newpipe/dev' into rebase 2020-04-11 08:30:40 +06:59
Alexander--
c42f5eca87 Merge remote-tracking branch 'newpipe/dev' into rebase 2020-04-11 08:24:05 +06:59
Tobias Groza
9cb6816b3c Merge pull request #3294 from mauriciocolli/fix-network-issues-detection
Fix detection of network related exceptions
2020-04-10 23:10:34 +02:00
Stypox
feab633e60 Merge pull request #3075 from harshlele/better-popup-resizing
Better popup resizing with pinch gestures
2020-04-10 22:26:59 +02:00
Stypox
a50e430cd9 Fix checkstyle issues and improve code formatting
Also calculate differently the moved distance of a pointer: use euclidean and not manhattan geometry
2020-04-10 22:12:45 +02:00
Harshal Lele
46918ee907 formatting changes 2020-04-10 22:10:32 +02:00
Harshal Lele
fe1889653e made formatting changes 2020-04-10 22:10:32 +02:00
Harshal Lele
9487b5367d changed popup resizing 2020-04-10 22:10:32 +02:00
Tobias Groza
6b47df75a7 Merge pull request #3412 from mauriciocolli/improve-drawer-title-size-handling
Improve size handling of the drawer header title
2020-04-10 22:04:53 +02:00
wb9688
bd9b2d54aa Merge pull request #3240 from wb9688/yt-music-search
YouTube Music search stuff
2020-04-10 19:04:49 +02:00
Mauricio Colli
506d1dc1f2 Improve size handling of the drawer header title
Some devices, specially with custom fonts that changed the font width,
weren't being correctly adjusted before.
2020-04-10 10:31:28 -03:00
wb9688
90f9819cbd Show error when video has age limit and setting is disabled 2020-04-10 15:29:48 +02:00
wb9688
9bbd03c14e Bump NewPipeExtractor version 2020-04-10 10:37:03 +02:00
wb9688
2852815e1a Use suggested layout for search filters 2020-04-10 10:35:54 +02:00
wb9688
41a100613f Add ability to translate YouTube Music search options 2020-04-10 10:35:54 +02:00
Stypox
63e489f134 Use ITEM_COUNT_UNKNOWN 2020-04-10 10:35:54 +02:00
Stypox
914d3c4a66 Use "mini" stream count alternatives for info items
Note: more_than_100_videos_mini and infinite_videos_mini are untranslatable
2020-04-10 10:35:54 +02:00
Stypox
2b47a1b06a Also use localizeStreamCount() in local items 2020-04-10 10:35:54 +02:00
Stypox
625419a7db Detect ITEM_COUNT_* in localizeStreamCount()
ITEM_COUNT_INFINITE and ITEM_COUNT_MORE_THAN_100.
Use localizeStreamCount in PlaylistFragment and PlaylistItemHolder
2020-04-10 10:35:54 +02:00
Stypox
2710d9de5b Add support for INFINITE_ and MORE_THAN_100_ITEMS in playlists 2020-04-10 10:35:53 +02:00
wb9688
e51314b104 Merge pull request #3300 from B0pol/content_not_supported
handle ContentNotSupportedException
2020-04-10 10:33:34 +02:00
bopol
4c128d837c handle ContentNotSupportedException for Channel Fragment (when an user has no video tab) 2020-04-10 09:12:29 +02:00
bopol
c392804f47 handle ContentNotSupportedException in ExtractorHelper.handleGeneralException() 2020-04-09 23:58:01 +02:00
bopol
cc7a25d9ce handle ContentNotSupportedException in BaseStateFragment
thus not supported soundcloud streams (e.g. hls streams) don't crash
anyore
2020-04-09 23:58:01 +02:00
wb9688
36b2bea25f Merge pull request #3395 from kapodamy/checkstyle-warnings
remove some warnings issued by checkstyle
2020-04-09 21:08:53 +02:00
Mauricio Colli
913796ff0f Use exception utils in network error detection throughout the app 2020-04-09 13:22:24 -03:00
Mauricio Colli
a1b9892c77 Move exception utils to a separate class and add tests for it 2020-04-09 13:22:18 -03:00
wb9688
03de4b29ea Suppress remaining Checkstyle errors 2020-04-09 17:24:43 +02:00
Hosted Weblate
35a706f745 Merge branch 'origin/dev' into Weblate. 2020-04-09 08:58:43 +02:00
Tobias Groza
65cd9751d8 Merge pull request #3288 from XiangRongLin/save-playback
Save and restore playback parameters into/from preferences
2020-04-08 21:38:53 +02:00
kapodamy
ff9a1ebb1b checkstyle
* drop unused methods
* split blobs
* make no final parameters
2020-04-08 12:08:01 -03:00
Hosted Weblate
b5df000e9d Merge branch 'origin/dev' into Weblate. 2020-04-08 14:09:42 +02:00
Claudio Maradonna
655522a3e5 Translated using Weblate (Italian)
Currently translated at 99.6% (558 of 560 strings)
2020-04-08 14:09:40 +02:00
wb9688
e4a4af34c5 Merge pull request #3276 from lnjX/fix/the-the-typo
ThemeHelper: Fix 'the the' typo
2020-04-07 09:25:00 +02:00
wb9688
b047e562ca Merge branch 'dev' into fix/the-the-typo 2020-04-07 09:17:10 +02:00
Tobias Groza
1600233c48 Merge pull request #3374 from mauriciocolli/fix-sort-button-visibility
Fix visibility of group sort button in the subscriptions fragment
2020-04-07 09:15:59 +02:00
Hosted Weblate
55c8bcd0e3 Merge branch 'origin/dev' into Weblate. 2020-04-07 05:23:56 +02:00
Software In Interlingua
2d0dadbd34 Translated using Weblate (Interlingua)
Currently translated at 35.5% (199 of 560 strings)
2020-04-07 05:23:54 +02:00
Tajnymag
49879bc9db Translated using Weblate (Czech)
Currently translated at 100.0% (560 of 560 strings)
2020-04-07 05:23:53 +02:00
Tobias Groza
2c453c7691 Merge pull request #3357 from opusforlife2/improve-bug-report-template
Made the bug report template less daunting
2020-04-06 21:51:07 +02:00
Tobias Groza
5166c22ce9 Fix webalte badge and link in readme
Update releases badge URL to point to releases instead of GitHub repo page
See WeblateOrg/weblate#3668
2020-04-06 21:01:40 +02:00
Mauricio Colli
225b9e1b15 Fix visibility of group sort button in the subscriptions fragment 2020-04-05 16:57:28 -03:00
ssantos
7a9d2c9a74 Translated using Weblate (Portuguese)
Currently translated at 100.0% (560 of 560 strings)
2020-04-05 19:41:29 +02:00
Xiang Rong Lin
3855e488cb Save and restore playback parameters into/from preferences
Playback parameters are speed, pitch and skip silence.
Remove parameters being passed on as intent to the player, since the parameters can be restored from the preferences instead.

# Conflicts:
#	app/src/main/java/org/schabi/newpipe/player/BasePlayer.java
2020-04-05 17:46:49 +02:00
Hosted Weblate
ce75747887 Merge branch 'origin/dev' into Weblate. 2020-04-05 17:08:38 +02:00
Bruno Arruda
c462766cb8 Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.8% (559 of 560 strings)
2020-04-05 17:08:38 +02:00
anonymous
bb905b70df Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.8% (559 of 560 strings)
2020-04-05 17:08:35 +02:00
wb9688
5c8b9f6b4c Merge pull request #3370 from mauriciocolli/avoid-upload-date-update
Avoid unnecessary changes to the upload date of saved streams
2020-04-05 16:36:39 +02:00
Mauricio Colli
c726639484 Avoid unnecessary changes to the upload date of saved streams
The upload date was being updated regardless if the new one had more
precision or not, this caused items on the feed to jump around when the
user opened one of them.

This changes it to only update when the existent upload date is null or
the new one has a higher precision (i.e. is not an approximation).
2020-04-05 10:57:54 -03:00
Mahyuddin
100c7b8360 Translated using Weblate (Acehnese)
Currently translated at 7.3% (41 of 560 strings)
2020-04-05 11:34:48 +02:00
WaldiS
5502df89bb Translated using Weblate (Polish)
Currently translated at 100.0% (560 of 560 strings)
2020-04-05 11:34:47 +02:00
mitosagi
4491b66872 Make null sortable 2020-04-05 17:26:00 +09:00
Mahyuddin
9bc24728b4 Added translation using Weblate (Acehnese) 2020-04-05 09:47:16 +02:00
Hosted Weblate
a3a00ea052 Merge branch 'origin/dev' into Weblate. 2020-04-05 04:25:04 +02:00
Allan Nordhøy
1b1534add5 Translated using Weblate (Norwegian Bokmål)
Currently translated at 89.6% (502 of 560 strings)
2020-04-05 04:25:01 +02:00
Enol P
a54c8d4f55 Translated using Weblate (Asturian)
Currently translated at 51.9% (291 of 560 strings)
2020-04-05 04:25:01 +02:00
JoC
0cddd15203 Translated using Weblate (Spanish)
Currently translated at 100.0% (560 of 560 strings)
2020-04-05 04:25:00 +02:00
Tobias Groza
5653d443d9 Merge pull request #3344 from wb9688/checkfornewappversiontask-downloaderimpl
Use DownloaderImpl in CheckForNewAppVersionTask
2020-04-04 20:11:39 +02:00
wb9688
a5a497c4ea Clean up CheckForNewAppVersionTask 2020-04-04 19:34:13 +02:00
Hosted Weblate
d60feb466c Merge branch 'origin/dev' into Weblate. 2020-04-04 17:31:08 +02:00
Hemanta Sharma
a435167619 Translated using Weblate (Nepali)
Currently translated at 100.0% (560 of 560 strings)
2020-04-04 17:31:05 +02:00
Allan Nordhøy
99c823c763 Translated using Weblate (Norwegian Bokmål)
Currently translated at 89.1% (499 of 560 strings)
2020-04-04 17:31:04 +02:00
Jeff Huang
aebed13a40 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (560 of 560 strings)
2020-04-04 17:31:03 +02:00
AioiLight
1347bdd545 Translated using Weblate (Japanese)
Currently translated at 100.0% (560 of 560 strings)
2020-04-04 17:31:03 +02:00
AioiLight
562754c0b9 Merge branch 'dev' into blocking-gesture-when-touch-from-navbar 2020-04-04 23:52:06 +09:00
Tobias Groza
ec52e144e8 Merge pull request #3356 from B0pol/contributing.md
update contributing.md
2020-04-04 15:02:57 +02:00
Hosted Weblate
3e383a9f57 Merge branch 'origin/dev' into Weblate. 2020-04-04 14:23:24 +02:00
Hemanta Sharma
3a2444db0d Translated using Weblate (Nepali)
Currently translated at 100.0% (560 of 560 strings)
2020-04-04 14:23:21 +02:00
zeritti
14d01ae358 Translated using Weblate (Czech)
Currently translated at 100.0% (560 of 560 strings)
2020-04-04 14:23:19 +02:00
Éfrit
1f4b147ddd Translated using Weblate (French)
Currently translated at 100.0% (560 of 560 strings)
2020-04-04 14:23:19 +02:00
opusforlife2
12405f4059 Made the bug report template less daunting
The biggest problem was that the reporter needed to delete a lot of text to be able to give a clean report. Now most of that is comments.
2020-04-04 11:22:00 +00:00
B0pol
8d6965713c Update .github/CONTRIBUTING.md
Co-Authored-By: Tobias Groza <TobiGr@users.noreply.github.com>
2020-04-04 12:37:51 +02:00
bopol
fe2858bc75 update contributing.md 2020-04-04 12:14:32 +02:00
Tobias Groza
99dd6ae6aa Merge pull request #3349 from B0pol/update_changelog_0.19.2
mention view count added in 0.19.2 in changelog
2020-04-04 11:18:19 +02:00
Hosted Weblate
cb7ed4079f Merge branch 'origin/dev' into Weblate. 2020-04-04 09:17:37 +02:00
anonymous
89fbc055f4 Translated using Weblate (Nepali)
Currently translated at 99.8% (559 of 560 strings)
2020-04-04 09:17:35 +02:00
Hemanta Sharma
df12b838ad Translated using Weblate (Nepali)
Currently translated at 99.8% (559 of 560 strings)
2020-04-04 09:17:35 +02:00
Allan Nordhøy
055fa19c9b Translated using Weblate (Nepali)
Currently translated at 99.8% (559 of 560 strings)
2020-04-04 09:17:34 +02:00
Allan Nordhøy
d1b661506e Translated using Weblate (Norwegian Bokmål)
Currently translated at 88.9% (498 of 560 strings)
2020-04-04 09:17:33 +02:00
anonymous
180ddcceaa Translated using Weblate (Estonian)
Currently translated at 73.5% (412 of 560 strings)
2020-04-04 09:17:33 +02:00
Allan Nordhøy
512fad207b Translated using Weblate (Punjabi)
Currently translated at 80.3% (450 of 560 strings)
2020-04-04 09:17:33 +02:00
Allan Nordhøy
82d514d857 Translated using Weblate (Kurdish)
Currently translated at 99.4% (557 of 560 strings)
2020-04-04 09:17:32 +02:00
Allan Nordhøy
037fac7cd4 Translated using Weblate (Tamil)
Currently translated at 36.4% (204 of 560 strings)
2020-04-04 09:17:32 +02:00
Allan Nordhøy
ebad85664d Translated using Weblate (Telugu)
Currently translated at 24.4% (137 of 560 strings)
2020-04-04 09:17:32 +02:00
Allan Nordhøy
4b626c39fe Translated using Weblate (Persian)
Currently translated at 81.6% (457 of 560 strings)
2020-04-04 09:17:32 +02:00
Oğuz Ersen
81c539f150 Translated using Weblate (Turkish)
Currently translated at 100.0% (560 of 560 strings)
2020-04-04 09:17:31 +02:00
Emin Tufan Çetin
0e74d82777 Translated using Weblate (Turkish)
Currently translated at 100.0% (560 of 560 strings)
2020-04-04 09:17:31 +02:00
Allan Nordhøy
5ea34a3c07 Translated using Weblate (Slovak)
Currently translated at 93.9% (526 of 560 strings)
2020-04-04 09:17:31 +02:00
Igor Nedoboy
4f8c5c3c0a Translated using Weblate (Russian)
Currently translated at 100.0% (560 of 560 strings)
2020-04-04 09:17:30 +02:00
opusforlife2
37e45e0984 Translated using Weblate (English)
Currently translated at 99.8% (559 of 560 strings)
2020-04-04 09:17:30 +02:00
bopol
5683ad6666 mention view count added in 0.19.2 in changelog 2020-04-03 23:34:16 +02:00
Stypox
92ca1e6e09 Check if already running before removing watched 2020-04-03 20:41:21 +02:00
Stypox
6571fdbaa2 Fix checkstyle errors 2020-04-03 20:13:56 +02:00
Stypox
9c3f138b8e Use binary search to remove watched items from playlists 2020-04-03 19:51:29 +02:00
developer
0ac2865b74 Optimised 'removeWatchedStreams'
Removed merge mistake
Reordered code
Refactored 'removeWatchedWorker' to 'removeWatchedDisposable'
2020-04-03 19:50:12 +02:00
Grady Clark
98fc88dec6 Simplified the removal of watched videos, into the function removeWatchedStreams
Replaced unnecessary nested class.
Fixed formating issues
2020-04-03 19:49:41 +02:00
Grady Clark
8cab790030 - Will now use ReactiveX instead of AsyncTask, when removing watched videos.
- Removed redundant file 'local_playlist_control'
- Fixed grammer issue
2020-04-03 19:49:41 +02:00
Grady Clark
954399b255 Moved the 'Remove Watched' button to the three dot menu button. 2020-04-03 19:49:01 +02:00
Grady Clark
66c95f901d Added the ability to remove all watched videos from local playlists
Changes:
 - local_playlist_control.xml
   * A copy of playlist_control.xml
   * To hold the 'Remove Watched Videos' buttton

 - local_playlist_header.xml
   * Changed the include layout	to now include local_playlist_control.xml

 - strings.xml
   * added string 'remove_watched' with value 'Remove Watched'

 - LocalPlaylistFragment.java
   * Added the functionality to remove watched videos,
      to the 'Remove Watched Videos' button in local_playlist_control.xml.
      In the background via AsyncTask.
      This will also change the playlist's thumbnail, if the thumbnail video is removed.

Tested on:
 - Pixel
2020-04-03 19:47:31 +02:00
Tobias Groza
8265922d68 Merge pull request #3286 from opusforlife2/Update-Issue-and-PR-templates
Update Feature Request and PR templates
2020-04-03 19:04:04 +02:00
Tobias Groza
2403184845 Merge pull request #3282 from wb9688/checkstyle
Check code style with Checkstyle
2020-04-03 17:10:07 +02:00
wb9688
15a53d299d Revert some more changes 2020-04-03 15:48:38 +02:00
Hosted Weblate
24a1a5d680 Merge branch 'origin/dev' into Weblate. 2020-04-03 14:43:36 +02:00
Vojtěch Šamla
c1cfff1502 Translated using Weblate (Czech)
Currently translated at 100.0% (560 of 560 strings)
2020-04-03 14:43:33 +02:00
TobiGr
8b2599297b Release 0.19.2 (920) 2020-04-03 10:38:03 +02:00
Igor Nedoboy
1ed387dd54 Translated using Weblate (Russian)
Currently translated at 100.0% (560 of 560 strings)
2020-04-03 04:39:52 +02:00
Igor Nedoboy
9c795895ba Translated using Weblate (Russian)
Currently translated at 100.0% (560 of 560 strings)
2020-04-03 02:13:55 +02:00
Alexander--
3c193dca58 Merge remote-tracking branch 'newpipe/dev' into rebase 2020-04-03 06:56:52 +06:59
Hosted Weblate
ce2a8fbfab Merge branch 'origin/dev' into Weblate. 2020-04-03 00:39:15 +02:00
Igor Nedoboy
4bbcf44351 Translated using Weblate (Russian)
Currently translated at 99.2% (556 of 560 strings)
2020-04-03 00:39:12 +02:00
TobiGr
a9a43538be Merge remote-tracking branch 'Weblate/dev' into dev 2020-04-02 23:37:14 +02:00
Igor Nedoboy
905e4f16e2 Translated using Weblate (Russian)
Currently translated at 98.0% (549 of 560 strings)
2020-04-02 23:24:25 +02:00
anonymous
008489361d Translated using Weblate (Russian)
Currently translated at 98.0% (549 of 560 strings)
2020-04-02 23:24:23 +02:00
Igor Nedoboy
dfa7fb53b2 Translated using Weblate (Russian)
Currently translated at 98.0% (549 of 560 strings)
2020-04-02 23:24:22 +02:00
Tobias Groza
dc6604bcda Merge pull request #3265 from TeamNewPipe/apk_base_name
Change APK base name depending on the branch name for debug builds
2020-04-02 23:18:18 +02:00
Igor Nedoboy
63194ff292 Translated using Weblate (Russian)
Currently translated at 97.3% (545 of 560 strings)
2020-04-02 23:16:56 +02:00
anonymous
53a727955f Translated using Weblate (Russian)
Currently translated at 97.3% (545 of 560 strings)
2020-04-02 23:16:54 +02:00
Igor Nedoboy
a8fca89045 Translated using Weblate (Russian)
Currently translated at 97.3% (545 of 560 strings)
2020-04-02 23:16:54 +02:00
anonymous
1eff727722 Translated using Weblate (Russian)
Currently translated at 95.5% (535 of 560 strings)
2020-04-02 22:46:22 +02:00
AioiLight
d9c6f7acb6 Block the gesture when touch it from NavigationBar or StatusBar. 2020-04-03 05:11:36 +09:00
TobiGr
faefe957b0 Change APK base name depending on the branch name for debug builds 2020-04-02 21:45:28 +02:00
Tobias Groza
2fb8467673 Merge pull request #3334 from mauriciocolli/improve-drawer-height-handling
Make the drawer layout adapt to any status bar size
2020-04-02 21:42:35 +02:00
zmni
401422deb3 Translated using Weblate (Indonesian)
Currently translated at 99.2% (556 of 560 strings)
2020-04-02 20:49:16 +02:00
AioiLight
b52ed8e4c9 Translated using Weblate (Japanese)
Currently translated at 100.0% (560 of 560 strings)
2020-04-02 20:49:16 +02:00
wb9688
41061d0289 Use DownloaderImpl in CheckForNewAppVersionTask 2020-04-02 20:13:05 +02:00
wb9688
fed9197d23 Disable TodoComment in checkstyle.xml 2020-04-02 19:43:38 +02:00
wb9688
282d3dbf8c Disable MissingSwitchDefault in checkstyle.xml 2020-04-02 16:48:58 +02:00
wb9688
b6c6dc7282 Use Checkstyle for org.schabi.newpipe.streams as well 2020-04-02 16:48:57 +02:00
Mauricio Colli
45194061b3 Make the drawer layout adapt to any status bar size
This improves the drawer specifically for phones that have a notch.
2020-04-02 11:05:19 -03:00
wb9688
55480c8290 Disable VisibilityModifier in checkstyle.xml 2020-04-02 15:57:50 +02:00
wb9688
63bcc04eff Move things back to its original place 2020-04-02 15:57:50 +02:00
wb9688
fda5405e48 Improve code style to be more consistent 2020-04-02 15:57:50 +02:00
wb9688
819e52cab3 Check code style with Checkstyle 2020-04-02 15:57:50 +02:00
Kik Ki
ea917c82b6 Translated using Weblate (Thai)
Currently translated at 49.6% (278 of 560 strings)
2020-04-02 10:51:35 +02:00
Xiang Xu
65d5303765 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (560 of 560 strings)
2020-04-02 10:51:35 +02:00
CE4
08d37a4bef Translated using Weblate (German)
Currently translated at 100.0% (560 of 560 strings)
2020-04-02 10:51:35 +02:00
Tobias Groza
da2b059802 Merge pull request #3325 from kapodamy/int-overflow-2-fixes
Integer overflow fixes in downloader
2020-04-01 22:29:39 +02:00
kapodamy
62d934dd8e fix integer overflows
* available() method in ChunkFileInputStream.java
* free "ahead space" calculation in CircularFileWriter.java
2020-04-01 15:30:33 -03:00
kapodamy
96086b7733 code cleanup 2020-04-01 15:30:32 -03:00
Tobias Groza
182fc104bb Merge pull request #3259 from mauriciocolli/improve-drawer-layout
Improvements for the drawer header layout
2020-04-01 18:47:53 +02:00
Tobias Groza
06a897fba0 Merge pull request #3322 from Stypox/fix-mute-button
Fix mute button causing crashes on API 19
2020-04-01 18:30:10 +02:00
Jeff Huang
ff4b13245c Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (560 of 560 strings)
2020-04-01 09:10:33 +02:00
Stypox
00a8906128 Fix mute button causing crashes on API 19
Using rootView.getContext() because getApplicationContext() didn't work (it was probably missing information about theme)
2020-04-01 09:08:03 +02:00
opusforlife2
8b73d2d39f Translated using Weblate (English)
Currently translated at 99.8% (559 of 560 strings)
2020-03-31 18:15:23 +02:00
Vojtěch Šamla
e976b3e43e Translated using Weblate (Czech)
Currently translated at 100.0% (560 of 560 strings)
2020-03-31 14:04:56 +02:00
Jakub Gajdoš
1585ca7c85 Translated using Weblate (Slovak)
Currently translated at 94.2% (528 of 560 strings)
2020-03-31 14:04:56 +02:00
TobiGr
f7697007e5 Merge branch 'master' into dev 2020-03-31 12:33:16 +02:00
TobiGr
ba151a8b83 Release 0.19.1 2020-03-31 00:24:13 +02:00
TobiGr
a5153f5375 Improve database migration SQL statement 2020-03-31 00:20:13 +02:00
Tobias Groza
4899f01d6e Merge pull request #3307 from mauriciocolli/hotfix-db-migration
Hotfix for the latest database migration
2020-03-30 23:37:13 +02:00
Mauricio Colli
e6b3107997 Add tests for database migration to version 3 handling null values 2020-03-30 15:50:47 -03:00
Mauricio Colli
053440c4a8 Fix handling of null values in database migration to version 3
Some values prior to this version could be null, this wasn't handled
properly before.
2020-03-30 15:50:46 -03:00
CaptainCrumble
249e9c0b52 Translated using Weblate (Portuguese)
Currently translated at 100.0% (560 of 560 strings)
2020-03-30 17:33:56 +02:00
ssantos
099d5570f4 Translated using Weblate (Portuguese)
Currently translated at 100.0% (560 of 560 strings)
2020-03-30 17:33:54 +02:00
Alexander--
6a84f433ea Merge remote-tracking branch 'newpipe/dev' into rebase 2020-03-30 16:54:51 +06:59
chr56
12bf409e10 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (560 of 560 strings)
2020-03-30 00:51:52 +02:00
ssantos
a01f1e64fe Translated using Weblate (German)
Currently translated at 100.0% (560 of 560 strings)
2020-03-30 00:11:01 +02:00
Tobias Groza
5f549a8fc6 Merge pull request #3289 from B0pol/grid_moreinfo
add upload date on stream grid items
2020-03-29 23:49:39 +02:00
Tobias Groza
dd682013f9 Merge pull request #3267 from TeamNewPipe/release_0.19.0
Release 0.19.0
2020-03-29 18:57:28 +02:00
TobiGr
7f21975971 release version 0.19.0 (900) 2020-03-28 20:32:20 +01:00
TobiGr
bcd77031f3 Add changelog 2020-03-28 20:32:20 +01:00
Tobias Groza
505a689268 Merge pull request #3292 from vlt23/dev
Fix UI crash in Settings, Content (chinese language)
2020-03-28 20:31:47 +01:00
vlt23
3c3848d4f8 Fix UI crash in Settings, Content (chinese language) 2020-03-28 20:12:17 +01:00
TobiGr
949150f9ff Update extractor version 2020-03-28 19:18:37 +01:00
Tobias Groza
7c72f17fad Merge pull request #3279 from mauriciocolli/fix-not-found-handling
Handle content not available exception more comprehensively
2020-03-28 19:10:43 +01:00
Mauricio Colli
b4cabe23e3 Handle content not available exception more comprehensively 2020-03-28 14:54:52 -03:00
Tobias Groza
40de014732 Merge pull request #3283 from Stypox/fix-mute-button
Fix mute button inflation problems on API<21
2020-03-28 18:38:36 +01:00
Mauricio Colli
f9b718f1eb Use correct class for getting a vector drawable in older APIs 2020-03-28 14:30:47 -03:00
Tobias Groza
d051df9599 Merge pull request #3278 from mauriciocolli/fix-url-parsing-share
Fix url parsing from shared content
2020-03-28 18:15:26 +01:00
Mauricio Colli
4dc28989c8 Fix bug when searching for urls from shared content 2020-03-28 14:06:11 -03:00
Mauricio Colli
f133bbf499 Introduce a proper way to find urls in a string input 2020-03-28 14:06:09 -03:00
WaldiS
eb144af0b9 Translated using Weblate (Polish)
Currently translated at 100.0% (560 of 560 strings)
2020-03-28 17:09:30 +01:00
ssantos
0d020d3a54 Translated using Weblate (Portuguese)
Currently translated at 90.7% (508 of 560 strings)
2020-03-28 17:09:29 +01:00
Terry Louwers
e1042e326d Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)
2020-03-28 17:09:29 +01:00
anonymous
f085e7d362 Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)
2020-03-28 17:09:29 +01:00
bopol
b995f39206 add upload date on stream grid items
fixes #3175
2020-03-28 14:19:57 +01:00
opusforlife2
713bf58c44 Add reminder to link Issues/PRs 2020-03-28 11:49:46 +00:00
Tobias Groza
bbd8751f62 Merge pull request #3281 from mauriciocolli/fix-main-screen-menu-creation
Temporary fix for main screen menu visibility
2020-03-28 12:15:21 +01:00
opusforlife2
a7af21958f Make feature request template easier to fill out 2020-03-28 10:54:20 +00:00
opusforlife2
8fed3df681 Update PULL_REQUEST_TEMPLATE.md
Minor modifications
2020-03-28 09:58:43 +00:00
Mauricio Colli
d8e83dabc6 Temporary: Fix menu visibility when restoring state in the pager adapter
When restoring the state of the adapter, all the fragments' menu
visibility were set to false, effectively disabling the menu from the
user until he switched pages or another event that triggered the menu to
be visible again happened.

FragmentStatePagerAdapter is deprecated and should be replaced with its
ViewPager2 counterpart, until then, this should do it.
2020-03-27 11:30:38 -03:00
Terry Louwers
0be78b1204 Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)
2020-03-27 10:50:58 +01:00
anonymous
0a67ecbc3a Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)
2020-03-27 10:50:56 +01:00
Terry Louwers
c57b4ee965 Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)
2020-03-27 10:50:31 +01:00
anonymous
d4db7b3fc1 Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)
2020-03-27 10:50:29 +01:00
Terry Louwers
e9db964a70 Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)
2020-03-27 10:48:08 +01:00
anonymous
90c8a714fc Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)
2020-03-27 10:48:06 +01:00
Terry Louwers
d958c0c68a Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)
2020-03-27 10:48:05 +01:00
Terry Louwers
377d02ab1a Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)
2020-03-27 10:46:46 +01:00
anonymous
2c0ad89a07 Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)
2020-03-27 10:46:42 +01:00
Terry Louwers
101a8adbc2 Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)
2020-03-27 09:34:55 +01:00
anonymous
5009fa461c Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)
2020-03-27 09:34:53 +01:00
Terry Louwers
f48f6ae5df Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)
2020-03-27 09:32:53 +01:00
Terry Louwers
be504212d0 Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)
2020-03-27 09:32:51 +01:00
anonymous
0f075137c9 Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)
2020-03-27 09:32:50 +01:00
Terry Louwers
8714664e00 Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)
2020-03-27 08:56:24 +01:00
anonymous
bfaf938543 Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)
2020-03-27 08:56:21 +01:00
Terry Louwers
b605bc086c Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)
2020-03-27 08:43:37 +01:00
anonymous
e394b16335 Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)
2020-03-27 08:43:34 +01:00
Terry Louwers
0457423498 Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)
2020-03-27 08:29:41 +01:00
anonymous
91d30dbb83 Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)
2020-03-27 08:29:38 +01:00
Terry Louwers
63642a4d3e Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)
2020-03-27 08:26:41 +01:00
anonymous
1b64900c14 Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)
2020-03-27 08:26:38 +01:00
Terry Louwers
2660178658 Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)
2020-03-27 08:25:08 +01:00
anonymous
3a0271cd4d Translated using Weblate (Dutch)
Currently translated at 100.0% (560 of 560 strings)
2020-03-27 08:25:05 +01:00
Terry Louwers
76e2a2f032 Translated using Weblate (Dutch)
Currently translated at 99.6% (558 of 560 strings)
2020-03-27 08:14:47 +01:00
anonymous
932de969f0 Translated using Weblate (Dutch)
Currently translated at 99.6% (558 of 560 strings)
2020-03-27 08:14:42 +01:00
Terry Louwers
9082ab6ff7 Translated using Weblate (Dutch)
Currently translated at 99.6% (558 of 560 strings)
2020-03-27 08:14:41 +01:00
Terry Louwers
2461173e26 Translated using Weblate (Dutch)
Currently translated at 99.1% (555 of 560 strings)
2020-03-27 08:10:59 +01:00
Terry Louwers
48c2f8b91b Translated using Weblate (Dutch)
Currently translated at 99.1% (555 of 560 strings)
2020-03-27 08:10:55 +01:00
anonymous
6766b25414 Translated using Weblate (Dutch)
Currently translated at 99.1% (555 of 560 strings)
2020-03-27 08:10:55 +01:00
Terry Louwers
aacaf1b3fe Translated using Weblate (Dutch)
Currently translated at 98.3% (551 of 560 strings)
2020-03-27 08:03:08 +01:00
Daniele Lira Mereb
4cc154cbe1 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (560 of 560 strings)
2020-03-27 08:03:08 +01:00
anonymous
ca030dd5ed Translated using Weblate (Dutch)
Currently translated at 98.3% (551 of 560 strings)
2020-03-27 08:03:04 +01:00
Terry Louwers
f000409a90 Translated using Weblate (Dutch)
Currently translated at 98.3% (551 of 560 strings)
2020-03-27 08:03:03 +01:00
Mauricio Colli
697f0659e2 Distribute the service indicator views in the drawer header layout
People have voted, and that was the chosen design.
2020-03-26 19:21:32 -03:00
Mauricio Colli
5169ef1f00 Remove unused drawer header views and resources 2020-03-26 19:21:31 -03:00
Mauricio Colli
10faa45182 Align and enable autosizing for the app name text view in drawer header
- Use a proper drop up/down arrow icon.
- Move selected service views for better visibility.
- Show the selected service icon next to its name.
- Add a subtle fade background to the service name/icon for better
readability.
2020-03-26 19:21:30 -03:00
TobiGr
c6eaed76f3 Translation fixes 2020-03-26 23:09:49 +01:00
TobiGr
6ce338b2d0 Weblate ... 2020-03-26 21:56:30 +01:00
TobiGr
aa87f10b6a Merge remote-tracking branch 'Weblate/dev' into dev 2020-03-26 21:45:46 +01:00
Xiang Xu
9a980f9341 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (560 of 560 strings)
2020-03-26 20:10:32 +01:00
MohammedSR Vevo
544751895e Translated using Weblate (Kurdish)
Currently translated at 99.8% (559 of 560 strings)
2020-03-26 20:10:30 +01:00
B0pol
082b7fa0ec Translated using Weblate (French)
Currently translated at 100.0% (560 of 560 strings)
2020-03-26 20:10:27 +01:00
wb9688
4d23cf7746 Translated using Weblate (Dutch)
Currently translated at 97.1% (544 of 560 strings)
2020-03-26 20:10:26 +01:00
pjammo
c687d832fa Translated using Weblate (Italian)
Currently translated at 99.6% (558 of 560 strings)
2020-03-26 20:10:21 +01:00
Yaron Shahrabani
4cd5afa3fb Translated using Weblate (Hebrew)
Currently translated at 100.0% (560 of 560 strings)
2020-03-26 20:10:20 +01:00
anonymous
39bb0f4c3e Translated using Weblate (Croatian)
Currently translated at 89.6% (502 of 560 strings)
2020-03-26 20:10:19 +01:00
Stjepan
aef673abd1 Translated using Weblate (Croatian)
Currently translated at 89.6% (502 of 560 strings)
2020-03-26 20:10:19 +01:00
zeritti
c4f58cb6e2 Translated using Weblate (Czech)
Currently translated at 100.0% (560 of 560 strings)
2020-03-26 20:10:10 +01:00
AioiLight
6e3170f5c7 Translated using Weblate (Japanese)
Currently translated at 100.0% (560 of 560 strings)
2020-03-26 20:10:09 +01:00
Enol P
782b983354 Translated using Weblate (Asturian)
Currently translated at 51.2% (287 of 560 strings)
2020-03-26 20:10:07 +01:00
B0pol
89dc5cec59 Translated using Weblate (Esperanto)
Currently translated at 99.8% (559 of 560 strings)
2020-03-26 20:10:06 +01:00
C. Rüdinger
1994dad972 Translated using Weblate (German)
Currently translated at 99.8% (559 of 560 strings)
2020-03-26 20:10:05 +01:00
nautilusx
8168445b4a Translated using Weblate (German)
Currently translated at 99.8% (559 of 560 strings)
2020-03-26 20:10:04 +01:00
anonymous
838f8cb2e2 Translated using Weblate (Portuguese (Brazil))
Currently translated at 95.5% (535 of 560 strings)
2020-03-26 20:10:03 +01:00
Emin Tufan Çetin
2e3f240ac6 Translated using Weblate (Turkish)
Currently translated at 100.0% (560 of 560 strings)
2020-03-26 20:10:03 +01:00
Daniele Lira Mereb
c6de6e53b5 Translated using Weblate (Portuguese (Brazil))
Currently translated at 95.5% (535 of 560 strings)
2020-03-26 20:09:58 +01:00
Linus Jahn
edff3c35f2 ThemeHelper: Fix 'the the' typo 2020-03-26 01:50:32 +01:00
TobiGr
55c577e76e Seek duration should not be rounded up when opening the settings, even if inexact seek is disabled 2020-03-25 22:34:02 +01:00
TobiGr
93b75b6013 Update extractor version 2020-03-25 22:31:21 +01:00
Tobias Groza
452f258b17 Merge pull request #3273 from kapodamy/int-overflow-fix
fix #2790
2020-03-25 21:12:36 +01:00
kapodamy
5f940c40ed fix integer overflow 2020-03-25 16:13:36 -03:00
TobiGr
a19be79891 Remove unused "clear_finished_download" string 2020-03-25 12:45:37 +01:00
TobiGr
60252bbda8 Remove unused "playback_default" string 2020-03-25 12:44:04 +01:00
TobiGr
6ac52f241d Do not show nothing for some quantities for Chinese 2020-03-25 12:40:55 +01:00
TobiGr
6eeb22926a Fix what Weblate screwed up again 2020-03-25 12:36:43 +01:00
TobiGr
329047836b Merge remote-tracking branch 'Weblate/dev' into dev 2020-03-25 12:26:54 +01:00
TobiGr
4524a69f99 Update extractor version 2020-03-25 12:04:16 +01:00
Tobias Groza
5a8b565199 Merge pull request #3252 from B0pol/mute_button
Change mute button color for more visibility
2020-03-23 23:10:48 +01:00
Hosted Weblate
da5369e902 Merge branch 'origin/dev' into Weblate. 2020-03-23 04:49:07 +01:00
Jeff Huang
a433e5b65f Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (560 of 560 strings)
2020-03-23 04:47:37 +01:00
B0pol
ebb1389133 Translated using Weblate (French)
Currently translated at 100.0% (560 of 560 strings)
2020-03-23 04:47:32 +01:00
JoC
b31fbc380f Translated using Weblate (Spanish)
Currently translated at 99.8% (559 of 560 strings)
2020-03-23 04:47:29 +01:00
Hemanta Sharma
a86912c8e7 Translated using Weblate (Nepali)
Currently translated at 95.3% (534 of 560 strings)
2020-03-23 04:47:27 +01:00
nautilusx
3e348f8c71 Translated using Weblate (German)
Currently translated at 98.0% (549 of 560 strings)
2020-03-23 04:47:25 +01:00
bopol
bb91b16863 use 8F instead of 6f for white hexadecimal, on @wb9688 advise 2020-03-21 22:07:39 +01:00
bopol
8d068b339a remove unused imports 2020-03-21 21:54:40 +01:00
bopol
c54ac32732 mute button color for queue 2020-03-21 21:51:11 +01:00
bopol
47c5008871 Change mute button color for more visibility 2020-03-21 16:58:53 +01:00
jonas-skywalker
0a412e2abb Remove search icon in search mode. Issue: #3183 (see PR #3193) 2020-03-20 11:59:34 +01:00
Tobias Groza
27156d74da Merge pull request #3220 from kapodamy/webm-seek-fix
fix for #3204
2020-03-20 11:49:39 +01:00
TobiGr
50fd10ecd6 Remove titles from issue templates and fix typo 2020-03-19 22:50:48 +01:00
Tobias Groza
cab104a60a Merge pull request #3132 from Poolitzer/templates
Updating issue and PR templates
2020-03-19 22:11:55 +01:00
Hosted Weblate
37f4469503 Merge branch 'origin/dev' into Weblate. 2020-03-19 21:42:11 +01:00
Allan Nordhøy
60bcd70718 Translated using Weblate (Norwegian Bokmål)
Currently translated at 88.7% (497 of 560 strings)
2020-03-19 21:42:08 +01:00
Marian Hanzel
ac9057bd23 Translated using Weblate (Slovak)
Currently translated at 91.9% (515 of 560 strings)
2020-03-19 21:42:07 +01:00
zmni
565a5abb55 Translated using Weblate (Indonesian)
Currently translated at 99.2% (556 of 560 strings)
2020-03-19 21:42:05 +01:00
Yaron Shahrabani
8b45256725 Translated using Weblate (Hebrew)
Currently translated at 99.1% (555 of 560 strings)
2020-03-19 21:42:03 +01:00
nautilusx
b4a5f29cd1 Translated using Weblate (German)
Currently translated at 97.1% (544 of 560 strings)
2020-03-19 21:42:02 +01:00
TobiGr
4d4fb9f435 Merge branch 'master' into dev 2020-03-19 21:13:43 +01:00
Tobias Groza
49c6aa2d74 Update .github/ISSUE_TEMPLATE/feature_request.md
Co-Authored-By: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
2020-03-19 18:03:33 +01:00
Mauricio Colli
fb3290e870 Merge pull request #3230 from B0pol/seconds
Merge duplicated duration plurals and introduce new plurals for selected count
2020-03-19 09:56:57 -03:00
Mauricio Colli
27fc0d5900 Make duration plurals naming consistent 2020-03-19 09:44:13 -03:00
bopol
85e16afaa0 use val instead of val, make sentence more natural 2020-03-19 09:44:12 -03:00
bopol
0ae4d1369d use plural string for feed_group_dialog_selection_count 2020-03-19 09:44:11 -03:00
bopol
d0f2a02277 delete «seconds» plural string in favor of «dynamic_seek_duration_description» to avoid weblate conflicts 2020-03-19 09:44:10 -03:00
Mauricio Colli
b1c72bacc4 Merge remote-tracking branch 'weblate/dev' 2020-03-19 09:00:50 -03:00
poolitzer
02ef0b0818 a document is not nice 2020-03-18 19:44:37 -07:00
Poolitzer
e83e755fe1 dropping markdown links in comments
Co-Authored-By: Tobias Groza <TobiGr@users.noreply.github.com>
2020-03-18 19:42:03 -07:00
TobiGr
c73f7dd2f8 Update extractor version
Update changelog
2020-03-18 18:00:54 +01:00
Hemanta Sharma
436b08ab05 Translated using Weblate (Nepali)
Currently translated at 100.0% (535 of 535 strings)
2020-03-17 08:32:09 +01:00
Tobias Groza
ce15697ceb Merge pull request #3234 from mauriciocolli/revert-manifest-removal
Revert manifest removal from debug build variant
2020-03-16 17:59:26 +01:00
TobiGr
95883b1e3c Release version 0.187 2020-03-16 17:34:11 +01:00
Hemanta Sharma
0f96f3bd43 Translated using Weblate (Nepali)
Currently translated at 100.0% (535 of 535 strings)
2020-03-16 13:36:24 +01:00
Mauricio Colli
df2a3837a9 Revert manifest removal from build variant
The file was responsible for making the app use the Debug application
class, which various debug tools depended on.
2020-03-15 17:37:40 -03:00
wb9688
be5654dbd7 Merge pull request #3233 from TeamNewPipe/delete-subscription-header
Delete subscription_header.xml
2020-03-15 18:06:47 +01:00
Stypox
0ab4b6d63d Delete subscription_header.xml
Unused file
2020-03-15 17:47:48 +01:00
Tobias Groza
c4a601b6f6 Merge pull request #3090 from B0pol/mediaccc
Links support for mediaccc and shortened invidious
2020-03-15 17:24:32 +01:00
bopol
eacd21b230 update extractor version 2020-03-15 17:17:18 +01:00
Alexander--
3a611adc11 Prevent NavigationMenuView from gobbling up focus 2020-03-15 12:04:49 +06:59
Alexander--
381b491845 Prevent foocus from escaping open navigation drawer
When contents of NewPipe navigation drawer change, NavigationMenuView
(which is actually a RecyclerView) removes and re-adds all its adapter
children, which leads to temporary loss of focus on currently focused drawer
child. This situation was not anticipated by developers of original
support library DrawerLayout: while NavigationMenuView itself is able
to keep focus from escaping via onRequestFocusInDescendants(),
the implementation of that method in DrawerLayout does not pass focus
to previously focused View. In fact it does not pass focus correctly at all
because the AOSP implementation of that method does not call addFocusables()
and simply focuses the first available VISIBLE View, without regard
to state of drawers.
2020-03-15 09:37:29 +06:59
Alexander--
6aca344bf7 Merge remote-tracking branch 'newpipe/dev' into rebase 2020-03-15 09:08:01 +06:59
Hemanta Sharma
373ec96051 Translated using Weblate (Nepali)
Currently translated at 100.0% (535 of 535 strings)
2020-03-15 00:37:27 +01:00
Software In Interlingua
0876cdd697 Translated using Weblate (Interlingua)
Currently translated at 36.4% (195 of 535 strings)
2020-03-15 00:37:05 +01:00
anonymous
fcc806615e Translated using Weblate (Polish)
Currently translated at 100.0% (535 of 535 strings)
2020-03-15 00:37:01 +01:00
Darko Ristovski
0486ccb0d4 Translated using Weblate (Macedonian)
Currently translated at 73.4% (393 of 535 strings)
2020-03-15 00:37:00 +01:00
B0pol
dc1312d58a Translated using Weblate (Esperanto)
Currently translated at 100.0% (535 of 535 strings)
2020-03-15 00:36:56 +01:00
nautilusx
878a5dba60 Translated using Weblate (German)
Currently translated at 100.0% (535 of 535 strings)
2020-03-15 00:36:54 +01:00
Tobias Groza
f8cc3180e8 Merge pull request #2309 from mauriciocolli/feed
Feed order and subscriptions groups
2020-03-14 18:15:57 +01:00
Mauricio Colli
97f5490c13 Add help dialog to feed screen
Help to a possible confusion or simply awareness that NewPipe has both
ways to load the feed.
2020-03-14 13:24:25 -03:00
Tobias Groza
a4babc10c0 Merge pull request #3225 from mauriciocolli/improve-build-branch
Change share title to differentiate multiple builds
2020-03-14 10:18:36 +01:00
Alexander--
512046e300 Fix navigating to action bar buttons on API 28
Keyboard focus clusters prevent that from working, so
we simply remove all focus clusters.

While they are generally a good idea, focus clusters were created
with Chrome OS and it's keyboard-driven interface in mind - there is no
documented way to move focus between clusters using only IR remote.
As such, there are no negative consequences to disabling them on Android TV.
2020-03-14 14:47:02 +06:59
Mauricio Colli
6a9a0f1e73 Add tests for migrations in the Room database
Doing this increase the level of reliability of migrations, as we can be
pretty much more confident of avoiding problems with them.
2020-03-14 00:12:54 -03:00
Mauricio Colli
ac44ed0862 Localize duration strings used in feed settings using plurals 2020-03-14 00:12:53 -03:00
Mauricio Colli
b62142db82 Detect if the subscription list should be shown as a grid
Also used proper string keys for the preferences, left a TODO to fix it
in other places later.
2020-03-14 00:12:52 -03:00
Mauricio Colli
f01e40e671 Simplify screen handling in feed group dialog 2020-03-14 00:12:51 -03:00
Mauricio Colli
d8b9d353aa Add a confirmation dialog when deleting a feed group 2020-03-14 00:12:50 -03:00
Mauricio Colli
98c65d8ddb Don't expose MutableLiveData in view models 2020-03-14 00:12:48 -03:00
Mauricio Colli
597859eb23 Disable buttons when processing actions in the feed dialogs 2020-03-14 00:12:47 -03:00
Mauricio Colli
34082c40d3 Fix behavior of the feed group dialog under some screen sizes/scales 2020-03-14 00:12:46 -03:00
Mauricio Colli
d1d5f6821f Implement feed groups manual sorting
Now, the user can sort its groups to his liking even after he created
them.

Also updated the database diagram to reflect the table's new column.
2020-03-14 00:12:45 -03:00
Mauricio Colli
50714c3006 Add ability to cancel a feed update through a notification action
- Change prefetch value default so each parallel rail buffers less
items.
2020-03-14 00:12:44 -03:00
Mauricio Colli
18a40168d9 Add Groupie library to the credit list in the about page 2020-03-14 00:12:43 -03:00
Mauricio Colli
2c783ff911 Stick info header when selecting subscriptions in the feed group dialog
- Avoid creating plural translation by using a different wording
2020-03-14 00:12:42 -03:00
Mauricio Colli
3f32573638 Replace hardcoded value that represents the group "All" with a constant 2020-03-14 00:12:41 -03:00
Mauricio Colli
5ea323ce02 New option to use dedicated feed sources for services that support it
YouTube, for example, has a dedicated feed which was built to be used
like this. It comes with some caveats though, like lacking enough
information about the items and returning a limited amount of them.

Nonetheless, a nice option for users that like speedy updates but don't
mind this issue.
2020-03-14 00:12:39 -03:00
Mauricio Colli
b2f317ab7c Load only the selected group and customizable updated status timeout
Now only the subscriptions from the selected group by the user will be
loaded.

Also add an option to decide how much time have to pass since the last
refresh before the subscription is deemed as not up to date. This helps
when a subscription appear in multiple groups, since updating in one
will not require to be fetched again in the others.
2020-03-14 00:12:38 -03:00
Mauricio Colli
2948e4190b Change feed groups header title and icon from feed representing "All" 2020-03-14 00:12:37 -03:00
Mauricio Colli
f05b8c9542 Expand import/export options by default when subscriptions list is empty 2020-03-14 00:12:36 -03:00
Mauricio Colli
8b87893248 Update Groupie list library to v2.7.0 2020-03-14 00:12:35 -03:00
Mauricio Colli
a93e2cdc30 Quick fix for NPE when exiting the feed fragment 2020-03-14 00:12:34 -03:00
Mauricio Colli
f69b6c85f8 Fix alignment issues in group creator dialog 2020-03-14 00:12:33 -03:00
Mauricio Colli
20a4bb0936 Implement new feed and subscriptions groups
- Introduce Groupie for easier lists implementations
- Use some of the new components of the Android Architecture libraries
- Add a bunch of icons for groups, using vectors, which still is
compatible with older APIs through the compatibility layer
2020-03-14 00:12:31 -03:00
Mauricio Colli
e8ab5aacc7 Setup initial database for feed implementation
- Update the database diagram
- Add new migration for the new tables and fields
- Enable schema exports
2020-03-14 00:12:30 -03:00
Mauricio Colli
0e2f062148 Disable database destructive migration fallback
This really shouldn't be enabled, as this database is not just a temp
one. Making the mistake of shipping the app without a proper migration
would cause a big problem.

Really hard to happen but an error is far better than data loss.
2020-03-14 00:12:29 -03:00
Mauricio Colli
d247d32221 Change share title as well to differentiate multiple builds 2020-03-13 20:11:24 -03:00
Mauricio Colli
89e3292ced Move code with lower priority to the bottom of the file 2020-03-13 20:11:22 -03:00
Tobias Groza
c2535d7764 Merge pull request #3195 from B0pol/second
Fix seek duration not showing
2020-03-13 23:27:37 +01:00
bopol
200121477c Fix seek duration not showing 2020-03-13 23:12:10 +01:00
Tobias Groza
d23b63ca83 Merge pull request #3177 from wb9688/yt-music
Accept music.youtube.com in manifest
2020-03-13 23:02:48 +01:00
TobiGr
9f91043131 Merge remote-tracking branch 'Weblate/dev' into dev 2020-03-13 22:50:15 +01:00
Tobias Groza
c668620c97 Merge pull request #3196 from mauriciocolli/fix-app-glitch
Fix visual glitch when exiting the app
2020-03-13 22:39:52 +01:00
Tobias Groza
0ee78769a1 Merge pull request #3224 from B0pol/buttons_player
Fix captions overtaking mute button
2020-03-13 22:16:30 +01:00
bopol
95f0e60343 fix captions overtaking mute button 2020-03-13 19:50:11 +01:00
Hosted Weblate
c35b13b3e2 Merge branch 'origin/dev' into Weblate. 2020-03-12 10:50:06 +01:00
Igor Nedoboy
1f42491284 Translated using Weblate (Russian)
Currently translated at 100.0% (536 of 536 strings)
2020-03-12 10:50:04 +01:00
kapodamy
ca8f8e0ee9 misc changes
* read "SeekPreRoll" from the source track (if available)
* use the longest track duration as segment duration, instead of the video track duration
* do not hardcode the "Cue" reserved space behavior
* do not hardcode the "EBML Void" element, unreported issue. The size was not properly calculated
* rewrite the key-frame picking
* remove writeInt(), writeFloat() and writeShort() methods, use inline code
* set "SeekPreRoll" and "CodecDelays" values on output tracks (if available)
* rewrite the "Cluster" maker
* rewrite the code of how "Cluster" sizes are written

Fix encode() method (the reason of this commit/pull-request):
* Use the unsigned shift operator instead of dividing the value, due precession lost
2020-03-12 00:50:14 -03:00
Alexander--
9cb3cf250c Intercept ActivityNotFoundException for ACTION_MANAGE_OVERLAY_PERMISSION 2020-03-12 05:32:20 +06:59
Alexander--
1cc5a67d82 Fix focus getting stuck by cycling within the same list item 2020-03-12 05:29:37 +06:59
Alexander--
fa6823599a Merge remote-tracking branch 'newpipe/dev' into rebase 2020-03-12 04:48:37 +06:59
Tobias Groza
f7822a448e Merge pull request #3133 from Stypox/gradle-app-id-suffix
Change app id based on current git branch
2020-03-11 22:41:52 +01:00
Hosted Weblate
29edb8c8a1 Merge branch 'origin/dev' into Weblate. 2020-03-11 22:16:47 +01:00
Xiang Xu
d2403d1b34 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (536 of 536 strings)
2020-03-11 22:16:47 +01:00
Jeff Huang
c296634168 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (536 of 536 strings)
2020-03-11 22:16:46 +01:00
anonymous
ead22fa325 Translated using Weblate (French)
Currently translated at 100.0% (536 of 536 strings)
2020-03-11 22:16:46 +01:00
JoC
3265cdc3e5 Translated using Weblate (Spanish)
Currently translated at 100.0% (536 of 536 strings)
2020-03-11 22:16:46 +01:00
Software In Interlingua
8806981e64 Translated using Weblate (Interlingua)
Currently translated at 26.6% (143 of 536 strings)
2020-03-11 22:16:45 +01:00
random r
04c7a66eb4 Translated using Weblate (Italian)
Currently translated at 100.0% (536 of 536 strings)
2020-03-11 22:16:38 +01:00
WaldiS
0a32314156 Translated using Weblate (Polish)
Currently translated at 100.0% (536 of 536 strings)
2020-03-11 22:16:37 +01:00
Yaron Shahrabani
6cdf97dfed Translated using Weblate (Hebrew)
Currently translated at 100.0% (536 of 536 strings)
2020-03-11 22:16:37 +01:00
zeritti
17c140c03d Translated using Weblate (Czech)
Currently translated at 100.0% (536 of 536 strings)
2020-03-11 22:16:36 +01:00
AioiLight
dcdabe4551 Translated using Weblate (Japanese)
Currently translated at 100.0% (536 of 536 strings)
2020-03-11 22:16:36 +01:00
Enol P
a0823b2fda Translated using Weblate (Asturian)
Currently translated at 51.1% (274 of 536 strings)
2020-03-11 22:16:35 +01:00
Olexandr Nesterenko
afcda3774c Translated using Weblate (Ukrainian)
Currently translated at 93.2% (500 of 536 strings)
2020-03-11 22:16:34 +01:00
nautilusx
f895e225d4 Translated using Weblate (German)
Currently translated at 99.8% (535 of 536 strings)
2020-03-11 22:16:33 +01:00
anonymous
d0a5f757ad Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (536 of 536 strings)
2020-03-11 22:16:33 +01:00
Eduardo Caron
b43bc7f8e3 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (536 of 536 strings)
2020-03-11 22:16:32 +01:00
Florian
c09e833627 Translated using Weblate (French)
Currently translated at 99.8% (535 of 536 strings)
2020-03-11 22:16:29 +01:00
Tobias Groza
33475ef403 Merge pull request #3197 from mauriciocolli/fix-main-tabs
Fix bug in main screen tabs state management
2020-03-11 22:03:16 +01:00
undeadfox
73e14af1e3 Translated using Weblate (Russian)
Currently translated at 99.8% (535 of 536 strings)
2020-03-11 21:57:38 +01:00
undeadfox
158cd83d17 Translated using Weblate (Russian)
Currently translated at 99.6% (534 of 536 strings)
2020-03-11 21:56:58 +01:00
Igor Nedoboy
d1b1b77a4c Translated using Weblate (Russian)
Currently translated at 99.6% (534 of 536 strings)
2020-03-11 21:56:58 +01:00
Avently
398cbe9284 Better backstack, better tablet support, switching players confirmation, fix for background playback 2020-03-10 12:06:38 +03:00
Hosted Weblate
bc6ecd4101 Merge branch 'origin/dev' into Weblate. 2020-03-08 17:33:06 +01:00
Xiang Xu
9c0d44ed9c Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (534 of 534 strings)
2020-03-08 17:33:02 +01:00
Jeff Huang
ed5e99cfee Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (534 of 534 strings)
2020-03-08 17:33:02 +01:00
Éfrit
6ef75b3645 Translated using Weblate (French)
Currently translated at 100.0% (534 of 534 strings)
2020-03-08 17:33:02 +01:00
IQBAL AL FATAH
8143783cc5 Translated using Weblate (Indonesian)
Currently translated at 100.0% (534 of 534 strings)
2020-03-08 17:32:57 +01:00
Sylke Vicious
454efa5426 Translated using Weblate (Italian)
Currently translated at 100.0% (534 of 534 strings)
2020-03-08 17:32:55 +01:00
WaldiS
51e3905cd4 Translated using Weblate (Polish)
Currently translated at 99.6% (532 of 534 strings)
2020-03-08 17:32:55 +01:00
Yaron Shahrabani
b61c8d5a9e Translated using Weblate (Hebrew)
Currently translated at 100.0% (534 of 534 strings)
2020-03-08 17:32:54 +01:00
Milo Ivir
583451ee02 Translated using Weblate (Croatian)
Currently translated at 82.0% (438 of 534 strings)
2020-03-08 17:32:53 +01:00
Krysa Czech
8e779c9ad1 Translated using Weblate (Czech)
Currently translated at 100.0% (534 of 534 strings)
2020-03-08 17:32:53 +01:00
Vojtěch Šamla
b0c631709f Translated using Weblate (Czech)
Currently translated at 100.0% (534 of 534 strings)
2020-03-08 17:32:53 +01:00
Osoitz
225d7dca7e Translated using Weblate (Basque)
Currently translated at 100.0% (534 of 534 strings)
2020-03-08 17:32:52 +01:00
nautilusx
5c5f4ad29f Translated using Weblate (German)
Currently translated at 99.8% (533 of 534 strings)
2020-03-08 17:32:52 +01:00
Emin Tufan Çetin
cb2cb2eab5 Translated using Weblate (Turkish)
Currently translated at 100.0% (534 of 534 strings)
2020-03-08 17:32:51 +01:00
Stypox
64c289c014 Merge pull request #3184 from opusforlife2/relocate_settings
Relocate two settings from Appearance to Content
2020-03-08 17:12:38 +01:00
Mauricio Colli
f2526ed5a8 Fix bug in main screen tabs state management
Tabs were not being destroyed/restored correctly due to a call to a
method that populated the view pager before it even had a chance of
restoring itself.

The solution was to null out the adapter before calling that method so
the view pager will postpone the populating process.
2020-03-08 09:09:04 -03:00
Stypox
8fa29ffc19 Merge pull request #3165 from karkaminski/mute_button
Mute button
2020-03-08 10:29:25 +01:00
Stypox
029758fdff Merge pull request #3046 from XiangRongLin/shareDownload
Fix bug causing crashes when sharing a downloaded file.
2020-03-08 09:44:04 +01:00
Tobias Groza
9db2197be1 Improve code style
Co-Authored-By: B0pol <bopol@e.email>
2020-03-07 20:09:05 +01:00
yausername
3e1e07e468 refactor checkpointing 2020-03-07 20:09:05 +01:00
yausername
c6b062a698 checkpoint db before export 2020-03-07 20:09:05 +01:00
Mauricio Colli
ecb1b45280 Fix visual glitch when exiting the app 2020-03-07 15:55:55 -03:00
karol
55d7be0b2f null risk issue 2020-03-05 19:07:46 +01:00
poolitzer
4e37a762d2 Further minor improvements 2020-03-04 20:31:36 -08:00
Poolitzer
2ca580dc16 minor improvements of sentences
Co-Authored-By: Stypox <stypox@pm.me>
2020-03-04 20:21:44 -08:00
karol
83c7c4a68e mute/unmute text change in action bar 2020-03-04 18:53:17 +01:00
karol
1ae8a72ba6 mute icon change in action bar 2020-03-04 18:37:04 +01:00
opusforlife2
7da11206da Relocate two settings from Appearance to Content 2020-03-04 18:41:41 +05:30
Hosted Weblate
4cd9e0f97e Merge branch 'origin/dev' into Weblate. 2020-03-04 10:09:59 +01:00
Isak Holmström
5c559e4cc6 Translated using Weblate (Swedish)
Currently translated at 86.8% (463 of 533 strings)
2020-03-04 10:09:59 +01:00
IQBAL AL FATAH
371280ff76 Translated using Weblate (Indonesian)
Currently translated at 100.0% (533 of 533 strings)
2020-03-04 10:09:58 +01:00
Mohd. A
ebdf48899f Translated using Weblate (Arabic)
Currently translated at 98.3% (524 of 533 strings)
2020-03-04 10:09:58 +01:00
Sylke Vicious
6962882e75 Translated using Weblate (Italian)
Currently translated at 100.0% (533 of 533 strings)
2020-03-04 10:09:57 +01:00
AioiLight
e1fb8831de Translated using Weblate (Japanese)
Currently translated at 100.0% (533 of 533 strings)
2020-03-04 10:09:57 +01:00
IQBAL AL FATAH
e421d47b23 Translated using Weblate (Indonesian)
Currently translated at 100.0% (533 of 533 strings)
2020-03-04 10:09:51 +01:00
Dani Pragustia
9b65b000db Translated using Weblate (Indonesian)
Currently translated at 100.0% (533 of 533 strings)
2020-03-04 10:09:50 +01:00
Stypox
d5c29bf1b5 Merge pull request #3160 from XiangRongLin/b3127
Hide 5, 15, 25 second seek options if inexact seek is enabled
2020-03-03 21:58:18 +01:00
Stypox
4bb6a146e8 Update app/src/main/res/values/strings.xml 2020-03-03 21:51:46 +01:00
XiangRongLin
f7ef7a18ac Update app/src/main/java/org/schabi/newpipe/settings/VideoAudioSettingsFragment.java
Co-Authored-By: Stypox <stypox@pm.me>
2020-03-03 21:41:15 +01:00
Stypox
0a87f13ceb Merge pull request #3107 from comradekingu/patch-11
Spelling: Some devices are incompatible
2020-03-03 21:08:30 +01:00
Xiang Rong Lin
efb67b0fd4 Change toast string resource to be useable with different languages 2020-03-03 19:50:50 +01:00
Xiang Rong Lin
e3fff4356a Show a toast when seek duration was rounded up 2020-03-03 19:40:10 +01:00
Xiang Rong Lin
7d3b21582c Use DateUtils constant for 1000 2020-03-03 19:40:10 +01:00
Xiang Rong Lin
6a42714326 Round seek duration up instead of setting it to 10 seconds 2020-03-03 19:40:10 +01:00
Xiang Rong Lin
288a61895c Update inexact seek summary 2020-03-03 19:40:10 +01:00
Xiang Rong Lin
4463804338 Update seek options on inexact seek option change.
Reset to 10 seconds when previous value is not valid anymore
2020-03-03 19:40:10 +01:00
Xiang Rong Lin
57504acd00 If inexact seekt is used, hide 5,15,25 seconds seek duration options when opening settings 2020-03-03 19:40:10 +01:00
Poolitzer
3f118a7239 appending dots
Co-Authored-By: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
2020-03-02 21:08:34 -08:00
Poolitzer
d265382ddf missed this
because GitHub thought its funny to hide it for a reason.

Co-Authored-By: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
2020-03-02 20:56:03 -08:00
poolitzer
08dffad160 opus4improvements 2020-03-02 20:52:50 -08:00
poolitzer
afebd9b724 improvements 2020-03-02 16:38:23 -08:00
karol
840bb29c54 icon color change in action bar 2020-03-03 00:01:19 +01:00
karol
c79f09c119 mute button in actionbar, no color change 2020-03-02 22:52:58 +01:00
bopol
124340175a remove redundant code 2020-03-02 22:50:52 +01:00
bopol
07d1faf544 Links support for mediaccc and shortened invidious 2020-03-02 22:50:33 +01:00
karol
92ee51b8db resolved issues 2020-03-02 21:12:02 +01:00
Stypox
92f4010e8e Add more checks to prevent build failures in gradle branch suffix
- Add function `getGitWorkingBranch` that returns the current working branch, and "" if it could not be determined (either because git is not installed or because the directory is not a git repo).
- Make sure normalizedWorkingBranch is not empty (leading to an invalid app id terminating with `.`)
- Make normalizedWorkingBranch lowercase
- Add comments
2020-03-02 20:50:35 +01:00
Dani Pragustia
667a52427e Translated using Weblate (Indonesian)
Currently translated at 100.0% (533 of 533 strings)
2020-03-02 18:59:04 +01:00
KOK ASiiK
e7063b2c69 Translated using Weblate (Indonesian)
Currently translated at 100.0% (533 of 533 strings)
2020-03-02 18:59:04 +01:00
wb9688
add08ead14 Accept music.youtube.com in manifest 2020-03-02 17:58:48 +01:00
poolitzer
5d7eba30a6 Merge remote-tracking branch 'upstream/dev' into templates 2020-03-01 12:36:32 -08:00
Hosted Weblate
7e2bec85ee Merge branch 'origin/dev' into Weblate. 2020-03-01 20:58:25 +01:00
B0pol
ca2e9d4afa Translated using Weblate (French)
Currently translated at 100.0% (533 of 533 strings)
2020-03-01 20:58:21 +01:00
Igor Nedoboy
deafe93e6c Translated using Weblate (Russian)
Currently translated at 100.0% (533 of 533 strings)
2020-03-01 20:58:20 +01:00
B0pol
5257c5a0a8 Translated using Weblate (Esperanto)
Currently translated at 100.0% (533 of 533 strings)
2020-03-01 20:58:19 +01:00
karol
a6fcb70d12 fix typo 2020-03-01 16:42:46 +01:00
TobiGr
4674431829 Release 0.18.6 (860) 2020-03-01 15:43:12 +01:00
TobiGr
2b9c7fee20 Update extractor version 2020-03-01 15:37:47 +01:00
karol
ee75909c80 set mute button in main player from other player 2020-03-01 13:02:20 +01:00
TobiGr
fbab80145e Merge remote-tracking branch 'Weblate/dev' into dev 2020-02-29 21:50:45 +01:00
Avently
d87e488c23 Fix for a ripple effect on a button 2020-02-29 22:13:07 +03:00
Éfrit
95d8b12065 Translated using Weblate (French)
Currently translated at 100.0% (533 of 533 strings)
2020-02-29 18:51:26 +01:00
Hosted Weblate
9f8b7a180f Merge branch 'origin/dev' into Weblate. 2020-02-29 17:04:56 +01:00
Allan Nordhøy
7f62f56661 Translated using Weblate (Norwegian Bokmål)
Currently translated at 91.9% (490 of 533 strings)
2020-02-29 17:04:56 +01:00
Xiang Xu
28ecf98fa6 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (533 of 533 strings)
2020-02-29 17:04:55 +01:00
Jeff Huang
68f55e6639 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (533 of 533 strings)
2020-02-29 17:04:55 +01:00
Isak Holmström
83e7af4503 Translated using Weblate (Swedish)
Currently translated at 81.4% (434 of 533 strings)
2020-02-29 17:04:55 +01:00
Éfrit
fbfaa8d25f Translated using Weblate (French)
Currently translated at 100.0% (533 of 533 strings)
2020-02-29 17:04:54 +01:00
Erik Peeremand
b46d199086 Translated using Weblate (Dutch)
Currently translated at 82.1% (438 of 533 strings)
2020-02-29 17:04:54 +01:00
pjammo
64c6aac0cf Translated using Weblate (Italian)
Currently translated at 100.0% (533 of 533 strings)
2020-02-29 17:04:54 +01:00
WaldiS
f3c64edf6e Translated using Weblate (Polish)
Currently translated at 99.8% (532 of 533 strings)
2020-02-29 17:04:52 +01:00
Vojtěch Šamla
61673cda70 Translated using Weblate (Czech)
Currently translated at 100.0% (533 of 533 strings)
2020-02-29 17:04:52 +01:00
Enol P
d71e6b18c0 Translated using Weblate (Asturian)
Currently translated at 50.8% (271 of 533 strings)
2020-02-29 17:04:52 +01:00
Nicu Borta
19fe47f71e Translated using Weblate (Romanian)
Currently translated at 74.1% (395 of 533 strings)
2020-02-29 17:04:50 +01:00
Gontzal Manuel Pujana Onaindia
720bcbf8ac Translated using Weblate (Basque)
Currently translated at 100.0% (533 of 533 strings)
2020-02-29 17:04:49 +01:00
nautilusx
bb3b7d68c1 Translated using Weblate (German)
Currently translated at 100.0% (533 of 533 strings)
2020-02-29 17:04:47 +01:00
Eduardo Caron
eb4b6d2a7f Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (533 of 533 strings)
2020-02-29 17:04:46 +01:00
Daniele Lira Mereb
abc3e8d59c Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (533 of 533 strings)
2020-02-29 17:04:45 +01:00
Oğuz Ersen
9f05f360f9 Translated using Weblate (Turkish)
Currently translated at 100.0% (533 of 533 strings)
2020-02-29 17:04:44 +01:00
Lucas Thuries
9b2dc1b263 Translated using Weblate (French)
Currently translated at 99.8% (532 of 533 strings)
2020-02-29 17:04:41 +01:00
Alexandre Hô
50777d8d2c Translated using Weblate (French)
Currently translated at 99.8% (532 of 533 strings)
2020-02-29 17:04:41 +01:00
Florian
63e85fe4be Translated using Weblate (French)
Currently translated at 99.8% (532 of 533 strings)
2020-02-29 17:04:40 +01:00
Avently
5c2ff9b777 Better implementation of old code 2020-02-29 02:57:54 +03:00
poolitzer
e2cb927e1f Merge branch 'templates' of https://github.com/Poolitzer/NewPipe into templates 2020-02-28 15:32:20 -08:00
poolitzer
46165f4a4f adding version section to bug report 2020-02-28 15:32:14 -08:00
Tobias Groza
b1eaf5616a Merge pull request #3154 from B0pol/round
Round at one place for Localization.shortCount()
2020-02-29 00:08:20 +01:00
bopol
22aa6d16a2 public Utils.round() moved to private Localization.round() 2020-02-28 17:04:25 +01:00
bopol
dfaa5675b6 Round at one place for Localization.shortCount() 2020-02-28 17:04:25 +01:00
karol
0400fcb106 mute icon in main refactored 2020-02-27 23:30:17 +01:00
karol
40f54aea53 mute intent send between main-bckgrnd-popup players 2020-02-27 22:30:18 +01:00
Poolitzer
d9a8e4d797 NewPipe is an app though :(
And its our app!

Co-Authored-By: Tobias Groza <TobiGr@users.noreply.github.com>
2020-02-26 19:50:11 -08:00
Tobias Groza
ab4e1819c1 Merge pull request #2967 from moneytoo/cutout
Support display cutout
2020-02-26 20:05:57 +01:00
Marcel Dopita
91aa65e717 Support display cutout
Fixes #2682
2020-02-26 17:47:22 +01:00
TobiGr
ec684434dc Merge branch 'master' into dev 2020-02-26 17:46:59 +01:00
Alexander--
6a3a72eb06 NewPipeRecyclerView should allow scrolling down by default 2020-02-26 06:40:46 +06:59
Alexander--
56544802e8 Merge remote-tracking branch 'newpipe/dev' into rebase 2020-02-26 05:56:09 +06:59
TobiGr
3b5b9d7dab Release 0.18.5 (850) and update extractor version
Update User-Agent
2020-02-25 23:38:51 +01:00
TobiGr
e7082baaff Exception is ignored in SearchFragment 2020-02-25 23:12:12 +01:00
Avently
6d7e37610c Vertical videos in portrait & fullscreen, UI enhancements for tablets and phones, fixes
- vertical videos now work ok in portrait and fullscreen mode at the same time
- auto pause on back press is disabled for large tablets
- large dragable area for swipe to bottom in fullscreen mode in place of top controls
- appbar will be scrolled to top when entering in fullscreen mode
2020-02-25 02:15:22 +03:00
poolitzer
1d9ffffc49 Minor improvements 2020-02-24 14:18:48 -08:00
poolitzer
01c1fa0393 B0pol suggested improvements 2020-02-23 16:16:18 -08:00
karol
c4d5886059 icon change implemented in queque 2020-02-23 23:44:16 +01:00
karol
2a63f2a3a6 mute-buton in queue layout and logic, but no icon change 2020-02-23 23:31:30 +01:00
karol
cc559dc9ce isMuted() added 2020-02-23 22:55:34 +01:00
karol
4415888324 mute-button implementation in main player 2020-02-23 22:32:23 +01:00
karol
dc6a0e3eec mute-button added to activity_main_player.xml's 2020-02-23 21:28:40 +01:00
Stypox
3434ff4d45 Merge branch 'gradle-app-id-suffix' of github.com:Stypox/NewPipe into gradle-app-id-suffix 2020-02-23 20:57:50 +01:00
Stypox
030e5ab894 Add comment to gradle 2020-02-23 20:56:56 +01:00
Hosted Weblate
1caafac89a Merge branch 'origin/dev' into Weblate. 2020-02-23 20:37:42 +01:00
chr56
26e2fc6d91 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (533 of 533 strings)
2020-02-23 20:37:39 +01:00
JoC
740fa67a4e Translated using Weblate (Spanish)
Currently translated at 100.0% (533 of 533 strings)
2020-02-23 20:37:37 +01:00
ButterflyOfFire
d468423db3 Translated using Weblate (Arabic)
Currently translated at 97.1% (518 of 533 strings)
2020-02-23 20:37:36 +01:00
Yaron Shahrabani
84664ebcdc Translated using Weblate (Hebrew)
Currently translated at 100.0% (533 of 533 strings)
2020-02-23 20:37:34 +01:00
Stypox
d46cd265f5 Merge branch 'dev' into gradle-app-id-suffix 2020-02-23 10:04:19 +01:00
Stypox
a3bce7f7ca Change app id based on current git branch
This enables to install multiple builds from different branches at once
2020-02-23 09:46:42 +01:00
Poolitzer
30f66d012e Update PULL_REQUEST_TEMPLATE.md 2020-02-22 20:16:14 -08:00
poolitzer
495b495f27 deleting old template 2020-02-22 20:03:38 -08:00
poolitzer
e8f28ebc43 Merge branch 'templates' of https://github.com/Poolitzer/NewPipe into templates 2020-02-22 20:02:11 -08:00
Poolitzer
01dcf550cf Update issue templates 2020-02-22 19:56:56 -08:00
Tobias Groza
987078fab5 Merge pull request #3043 from Stypox/unhook-save-restore
Save and restore whether pitch and tempo are unhooked or not
2020-02-23 00:36:10 +01:00
Tobias Groza
7da28f28e5 Merge branch 'dev' into unhook-save-restore 2020-02-23 00:19:44 +01:00
Hosted Weblate
3c9af84ea2 Merge branch 'origin/dev' into Weblate. 2020-02-23 00:10:49 +01:00
chr56
286fd19ba2 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (533 of 533 strings)
2020-02-23 00:10:49 +01:00
MohammedSR Vevo
39dce71c28 Translated using Weblate (Kurdish)
Currently translated at 99.8% (532 of 533 strings)
2020-02-23 00:10:49 +01:00
zmni
b3b1d6d706 Translated using Weblate (Indonesian)
Currently translated at 100.0% (533 of 533 strings)
2020-02-23 00:10:48 +01:00
Yaron Shahrabani
c04040468e Translated using Weblate (Hebrew)
Currently translated at 99.4% (530 of 533 strings)
2020-02-23 00:10:48 +01:00
Vojtěch Šamla
aee7777478 Translated using Weblate (Czech)
Currently translated at 100.0% (533 of 533 strings)
2020-02-23 00:10:48 +01:00
Igor Nedoboy
09c1e21560 Translated using Weblate (Russian)
Currently translated at 100.0% (533 of 533 strings)
2020-02-23 00:10:47 +01:00
nautilusx
60e9f56b0f Translated using Weblate (German)
Currently translated at 100.0% (533 of 533 strings)
2020-02-23 00:10:47 +01:00
Oğuz Ersen
302e4ab664 Translated using Weblate (Turkish)
Currently translated at 100.0% (533 of 533 strings)
2020-02-23 00:10:46 +01:00
chr56
484c3aa320 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (533 of 533 strings)
2020-02-23 00:10:41 +01:00
TobiGr
0bc769b971 Fix regression: Unable to find explicit activity class
See https://github.com/TeamNewPipe/NewPipe/issues/3114#issuecomment-589940878 for info on this crash.
This reverts ef90493c27 partly.
2020-02-22 20:43:38 +01:00
TobiGr
5b98d41637 Merge branch 'dev' 2020-02-22 14:09:26 +01:00
Tobias Groza
e14b7851b1 Merge pull request #3128 from Stypox/drawer-fix
Reintroduce "Settings" button in app bar
2020-02-22 14:08:37 +01:00
Hosted Weblate
13d2334a45 Merge branch 'origin/dev' into Weblate. 2020-02-22 12:07:27 +01:00
Jeff Huang
9864e04aae Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (532 of 532 strings)
2020-02-22 12:07:26 +01:00
B0pol
4d6bbbf004 Translated using Weblate (French)
Currently translated at 97.9% (521 of 532 strings)
2020-02-22 12:07:26 +01:00
C. Rüdinger
44305b4ccd Translated using Weblate (German)
Currently translated at 99.4% (529 of 532 strings)
2020-02-22 12:07:23 +01:00
Igor Nedoboy
7f86b13d93 Translated using Weblate (Russian)
Currently translated at 100.0% (532 of 532 strings)
2020-02-22 12:07:19 +01:00
Stypox
d65b8d7d18 Address @mauriciocolli suggestions in #2960
Simplify code to enable history button
2020-02-22 11:34:08 +01:00
Stypox
6968dd266a Remove empty about menu 2020-02-22 11:30:57 +01:00
Stypox
8754cbb38f Remove Settings button from download activity 2020-02-22 11:12:22 +01:00
Stypox
c7b4705538 Implement Settings buttons 2020-02-22 10:36:10 +01:00
Stypox
065faf31b6 Add settings button back in dot menu 2020-02-22 10:23:01 +01:00
Stypox
da4b27f606 Merge branch 'dev' of github.com:TeamNewPipe/NewPipe into dev 2020-02-22 10:01:11 +01:00
Tobias Groza
e1cc84ab5f Merge pull request #3113 from TeamNewPipe/dev
Release v0.18.4
2020-02-22 00:44:21 +01:00
TobiGr
533aede80f Update bump version to 0.18.4 (840) 2020-02-22 00:37:46 +01:00
TobiGr
e84d5311f9 Update extractor version to latest release 2020-02-22 00:37:46 +01:00
TobiGr
476b3f804b Add changelog 2020-02-22 00:37:46 +01:00
TobiGr
9445e8e8a0 Remove 'duration_live_button' string from translations 2020-02-22 00:37:46 +01:00
TobiGr
e539753279 Clean translations 2020-02-21 21:59:36 +01:00
TobiGr
f5f81be6fe Merge remote-tracking branch 'Weblate/dev' into dev 2020-02-21 21:31:17 +01:00
Tobias Groza
3b8a55f0d3 Merge pull request #3098 from B0pol/localisation
Multiple localization fixes
2020-02-21 21:29:03 +01:00
Stypox
b1dd6cbb6e Merge branch 'B0pol-localisation' into dev 2020-02-21 20:31:52 +01:00
Hosted Weblate
431724f637 Merge branch 'origin/dev' into Weblate. 2020-02-21 16:58:08 +01:00
Brikkho
6e5851aea8 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 28.5% (152 of 532 strings)
2020-02-21 16:58:08 +01:00
chr56
30e5e58178 Translated using Weblate (Chinese (Simplified))
Currently translated at 93.0% (495 of 532 strings)
2020-02-21 16:58:07 +01:00
Jeff Huang
40207b515d Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (532 of 532 strings)
2020-02-21 16:58:07 +01:00
MohammedSR Vevo
95a6aaac76 Translated using Weblate (Kurdish)
Currently translated at 100.0% (532 of 532 strings)
2020-02-21 16:58:06 +01:00
zmni
da43f47487 Translated using Weblate (Indonesian)
Currently translated at 100.0% (532 of 532 strings)
2020-02-21 16:58:05 +01:00
WaldiS
ae5360fb27 Translated using Weblate (Polish)
Currently translated at 99.6% (530 of 532 strings)
2020-02-21 16:58:03 +01:00
Karol Kosek
47d2ae5c5e Translated using Weblate (Polish)
Currently translated at 99.6% (530 of 532 strings)
2020-02-21 16:58:03 +01:00
Yaron Shahrabani
e1101dd6f1 Translated using Weblate (Hebrew)
Currently translated at 100.0% (532 of 532 strings)
2020-02-21 16:58:01 +01:00
Oğuz Ersen
d460351da2 Translated using Weblate (Turkish)
Currently translated at 100.0% (532 of 532 strings)
2020-02-21 16:58:00 +01:00
zeritti
fd076f5a58 Translated using Weblate (Czech)
Currently translated at 100.0% (532 of 532 strings)
2020-02-21 16:57:57 +01:00
Vojtěch Šamla
f7d73fc21b Translated using Weblate (Czech)
Currently translated at 100.0% (532 of 532 strings)
2020-02-21 16:57:56 +01:00
Stypox
5680b7c477 Merge branch 'dev' into localisation 2020-02-21 14:34:40 +01:00
bopol
9f9b53c067 remove unecessary «few» and «many» for plural string in english 2020-02-20 18:55:22 +01:00
Tobias Groza
18d986a57d Merge pull request #3117 from kapodamy/fixup
fixup for #3081
2020-02-20 18:15:21 +01:00
kapodamy
61632b3d9d fixup for #3081
* dont write the "sbpg" box in video tracks
2020-02-20 13:20:20 -03:00
Hosted Weblate
f1688fb8b1 Merge branch 'origin/dev' into Weblate. 2020-02-20 00:07:22 +01:00
mk3z
f0e85b31aa Translated using Weblate (Finnish)
Currently translated at 64.8% (345 of 532 strings)
2020-02-20 00:07:19 +01:00
B0pol
316871714a Update app/.gitignore
Co-Authored-By: Stypox <stypox@pm.me>
2020-02-19 17:40:03 +01:00
Stypox
12c72842ff Merge pull request #3102 from vhsw/dev
Fix initial brightness value
2020-02-19 15:26:40 +01:00
Alexey Dubrov
4230e11c4d Merge branch 'dev' into dev 2020-02-19 15:05:42 +03:00
Tobias Groza
c76ff8d367 Merge pull request #3109 from spk/fix-androidx-nonnull
Migrate annotation to androidx on ReCaptchaActivity
2020-02-18 22:40:29 +01:00
Laurent Arnoud
831e9985e2 Migrate annotation to androidx on ReCaptchaActivity 2020-02-18 21:50:28 +01:00
bopol
9912ee8199 give info if content language is system on crash 2020-02-18 18:35:13 +01:00
Allan Nordhøy
91bd0be39e Spelling: Some devices are incompatible 2020-02-17 14:54:45 +01:00
bopol
55d17b556a added all the .iml files in gitignore, not only app.iml
if somehow your module name isn't app, it will create a module-name.iml file, and isn't needed
2020-02-17 10:18:20 +01:00
Alexey Dubrov
5495be749b Merge branch 'dev' into dev 2020-02-17 12:14:07 +03:00
bopol
54f71c623a use plural string for dynamic_seek_duration_description 2020-02-17 10:12:08 +01:00
Alexey Dubrov
e3a891688b Get brightness from settings if screenBrightness is set to auto 2020-02-17 12:11:00 +03:00
B0pol
09d36a5dbc Merge branch 'dev' into localisation 2020-02-17 09:27:03 +01:00
Tobias Groza
ff493406cf Merge pull request #2938 from comradekingu/patch-10
Spelling: Language reworked 2
2020-02-17 08:41:39 +01:00
Tobias Groza
fbcee61e04 Apply suggestions from code review
Co-Authored-By: Stypox <stypox@pm.me>
2020-02-16 22:41:56 +01:00
bopol
e62e34fd5c created default_localization_key 2020-02-16 22:41:32 +01:00
Stypox
3b57135a6e Merge branch 'dev' into patch-10 2020-02-16 21:58:44 +01:00
Alexey Dubrov
69934dee52 Merge branch 'dev' into dev 2020-02-16 16:11:56 +03:00
Alexey Dubrov
51f2efd48c Fix initial brightness value 2020-02-16 16:08:53 +03:00
B0pol
4de2cfdcc6 Added translation using Weblate (Chuvash) 2020-02-16 10:12:55 +01:00
Hosted Weblate
7845b7678d Merge branch 'origin/dev' into Weblate. 2020-02-16 05:21:17 +01:00
B0pol
6f9543b9cf Translated using Weblate (Esperanto)
Currently translated at 100.0% (532 of 532 strings)
2020-02-16 05:21:15 +01:00
bopol
5b541cc9fb resolve merge conflicts 2020-02-15 14:53:05 +01:00
B0pol
ea54520e0b Merge branch 'dev' into localisation 2020-02-15 14:14:33 +01:00
Tobias Groza
00b6bd517a Merge pull request #2865 from chr56/dev
Fix wrong lang code of Chinese,and clean up useless strings.xml
2020-02-15 13:31:56 +01:00
TobiGr
9fb5aa4b46 Merge remote-tracking branch 'Weblate/dev' into dev 2020-02-15 13:28:30 +01:00
bopol
f089cd027e Multiple localization fixes
With the extractor PR, fixes title & description shown in the wrong language.
Fixed views / spectators counts possibly in the wrong language
Fixed live spectators not showing full count on detail page
Fixed LIVE shown on players, it shows translated instead

Fixed Videos string in search / three dots not available in Weblate
(because it was videos, but there already was a plural string named videos, in Weblate)

Subscriber count is always giving the short count.
We can't get exact number since this YouTube update: https://support.google.com/youtube/thread/6543166
But only short count (B, M, k), so showing full number, eg for 1.9M: 1,900,000, is wrong because the number could be 1,923,490 or 1,897,789…

Added a « sytem default » option to content language and country language selector.
It's the one selected by default (not en-GB anymore then), and correspond to the
language of the system / country of the system
By system I mean phone, tablet, TV…

Fixed russian showing - before time ago (eg 19hrs ago)
This is a workaround fix, I opened an issue on prettytime library repo.

Fixed russian plurals:
other was used instead of many for videos and subscribers

Fixed seek_duration english only
2020-02-15 12:40:23 +01:00
chr56
5151c6cb54 fix wrong langcode of Chinesein settings_keys.xml 2020-02-15 18:39:41 +08:00
chr56
9407ac8c24 fix reCaptcha strings in zh-rCN 2020-02-15 13:07:34 +08:00
chr56
6a91a3a947 reapply changes after merging 2020-02-15 12:52:19 +08:00
chr56
ac0bcea371 Merge branch 'TeamNewPipe-dev' into dev 2020-02-15 12:46:44 +08:00
chr56
302a6ff4e8 Merge branch 'dev' of https://github.com/TeamNewPipe/NewPipe into TeamNewPipe-dev 2020-02-15 12:45:09 +08:00
B0pol
0d89667428 Translated using Weblate (French)
Currently translated at 100.0% (532 of 532 strings)
2020-02-15 01:57:32 +01:00
B0pol
dbb6848a9b Translated using Weblate (Esperanto)
Currently translated at 100.0% (532 of 532 strings)
2020-02-15 01:57:31 +01:00
TobiGr
a843e808d1 Merge branch 'master' into dev 2020-02-15 00:53:05 +01:00
Tobias Groza
67af05e504 Use "Report error" instead of "Report Error"
Co-Authored-By: Stypox <stypox@pm.me>
2020-02-14 19:12:59 +01:00
Milo Ivir
c995c6fda5 Translated using Weblate (Croatian)
Currently translated at 88.2% (469 of 532 strings)
2020-02-14 04:17:43 +01:00
Nogooduser
3b5cf0e37c Translated using Weblate (Portuguese)
Currently translated at 100.0% (532 of 532 strings)
2020-02-14 04:17:40 +01:00
Daniele Lira Mereb
c7a9847e66 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (532 of 532 strings)
2020-02-14 04:17:38 +01:00
Avently
a47e6dd8c5 AppBarLayout scrolling awesomeness, PlayQueue layout touches interception, player's controls' margin
- made scrolling in appBarLayout awesome
- PlayQueue layout was intercepting touches while it was in GONE visibility state. Now it's not gonna happen
- removed margin between two lines of player's controls
- when a user leaves the app with two back presses the app will not stop MainPlayer service if popup or background players play
2020-02-12 22:33:23 +03:00
burstw0w
3624f1b9a2 Translated using Weblate (Serbian)
Currently translated at 46.6% (248 of 532 strings)
2020-02-12 02:50:24 +01:00
Adolfo Jayme Barrientos
aecc908152 Translated using Weblate (Spanish)
Currently translated at 100.0% (532 of 532 strings)
2020-02-12 02:50:24 +01:00
Shafiq Jamzuri
9f9c6eff00 Translated using Weblate (Malay)
Currently translated at 84.2% (448 of 532 strings)
2020-02-12 02:50:23 +01:00
zeritti
99400fa570 Translated using Weblate (Czech)
Currently translated at 100.0% (532 of 532 strings)
2020-02-12 02:50:22 +01:00
vkhomenk
17d00837bd Translated using Weblate (Ukrainian)
Currently translated at 99.2% (528 of 532 strings)
2020-02-12 02:50:21 +01:00
Ali Demirtas
0882d9d66b Translated using Weblate (Turkish)
Currently translated at 100.0% (532 of 532 strings)
2020-02-12 02:50:19 +01:00
Alexander--
5bd0c701c7 Merge remote-tracking branch 'newpipe/dev' into rebase 2020-02-11 08:01:05 +06:59
TobiGr
0df81409bf Update extractor and release 0.18.3 (830) 2020-02-10 22:32:10 +01:00
Allan Nordhøy
a75deb6ba2 Reverted changes 2020-02-09 16:29:51 +01:00
Stypox
4b8474b0ac Merge branch 'dev' into unhook-save-restore 2020-02-09 13:10:35 +01:00
Hosted Weblate
7478e96a15 Merge branch 'origin/dev' into Weblate. 2020-02-09 04:54:59 +01:00
pjammo
c1d9a253b0 Translated using Weblate (Italian)
Currently translated at 100.0% (532 of 532 strings)
2020-02-09 04:54:57 +01:00
AioiLight
eb7d9f76e5 Translated using Weblate (Japanese)
Currently translated at 100.0% (532 of 532 strings)
2020-02-09 04:54:56 +01:00
Tobias Groza
ec45d4a729 Merge pull request #2959 from kapodamy/m4a-stsc-stco
mp4 muxer fix
2020-02-09 00:27:57 +01:00
Tobias Groza
07544cd198 Merge pull request #3044 from B0pol/tubepeer
Description fix and some PeerTube fixes
2020-02-09 00:11:49 +01:00
bopol
3f3d1bfccf update extractor version 2020-02-09 00:00:14 +01:00
kapodamy
d3cb887ff0 Merge branch 'dev' into m4a-stsc-stco 2020-02-08 16:04:28 -03:00
B0pol
88c68315f6 Merge branch 'dev' into tubepeer 2020-02-08 10:54:05 +01:00
bopol
2d62fa401d real markdown support for descriptions
and update third-party licences in about page
2020-02-08 10:48:36 +01:00
TobiGr
3ff85c2ab7 Make report error title in snackbar uppercase again 2020-02-07 22:22:27 +01:00
Hosted Weblate
13f5d3b5ac Merge branch 'origin/dev' into Weblate. 2020-02-07 21:15:53 +01:00
Allan Nordhøy
9eb55e1be5 Translated using Weblate (Norwegian Bokmål)
Currently translated at 98.1% (522 of 532 strings)
2020-02-07 21:15:50 +01:00
Jeff Huang
6adbfade2b Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (532 of 532 strings)
2020-02-07 21:15:50 +01:00
MohammedSR Vevo
7568616f8e Translated using Weblate (Kurdish)
Currently translated at 99.8% (531 of 532 strings)
2020-02-07 21:15:49 +01:00
B0pol
c93be13dfe Translated using Weblate (French)
Currently translated at 100.0% (532 of 532 strings)
2020-02-07 21:15:49 +01:00
JoC
e9dc96944b Translated using Weblate (Spanish)
Currently translated at 99.8% (531 of 532 strings)
2020-02-07 21:15:48 +01:00
zmni
06e536eb45 Translated using Weblate (Indonesian)
Currently translated at 99.6% (530 of 532 strings)
2020-02-07 21:15:48 +01:00
thami simo
72e90b4d57 Translated using Weblate (Arabic)
Currently translated at 100.0% (532 of 532 strings)
2020-02-07 21:15:47 +01:00
WaldiS
83d43f845f Translated using Weblate (Polish)
Currently translated at 99.8% (531 of 532 strings)
2020-02-07 21:15:47 +01:00
Yaron Shahrabani
5ed5a81708 Translated using Weblate (Hebrew)
Currently translated at 99.8% (531 of 532 strings)
2020-02-07 21:15:46 +01:00
Vojtěch Šamla
ce003d2683 Translated using Weblate (Czech)
Currently translated at 100.0% (532 of 532 strings)
2020-02-07 21:15:46 +01:00
Osoitz
75248d7a12 Translated using Weblate (Basque)
Currently translated at 100.0% (532 of 532 strings)
2020-02-07 21:15:45 +01:00
B0pol
06eff256f3 Translated using Weblate (Esperanto)
Currently translated at 100.0% (532 of 532 strings)
2020-02-07 21:15:44 +01:00
B0pol
a476f332f7 Translated using Weblate (German)
Currently translated at 100.0% (532 of 532 strings)
2020-02-07 21:15:43 +01:00
Oğuz Ersen
6d49148c32 Translated using Weblate (Turkish)
Currently translated at 100.0% (532 of 532 strings)
2020-02-07 21:15:43 +01:00
Allan Nordhøy
85acc53d40 Spelling: Video thumbnail shown 2020-02-07 18:06:09 +01:00
Allan Nordhøy
f319e3e75a Spelling: Treat the NewPipe makers to something you like 2020-02-07 18:01:45 +01:00
Allan Nordhøy
3abc660eb3 Spelling: Install the fresh NewPipe version. 2020-02-07 17:57:38 +01:00
Allan Nordhøy
4c13dda1f9 Spelling: Could not establish secure connection 2020-02-07 17:55:37 +01:00
Allan Nordhøy
294c35b2fb Spelling: the settings
Co-Authored-By: Tobias Groza <TobiGr@users.noreply.github.com>
2020-02-07 17:51:14 +01:00
bopol
badaff8ebc refactor Description 2020-02-07 14:14:55 +01:00
Alexander--
50a2771d87 Merge remote-tracking branch 'newpipe/dev' into rebase 2020-02-07 07:39:40 +06:59
bopol
7045f9711c fix thumbnail for PeerTube, and description changes
description:
- PeerTube: it's now full description (it cut at 250 characters before), and it displays ok (newlines are ok, but markdown isn't)
- MediaCCC: descriptions are now displayed well (newlines added)
- YouTube: timestamps in descriptions are clickable and work

more PeerTube fixes:
thumbnail is now high quality
age limit is now handled
upload date in «recently added» feed is good now (it was one hour delayed)
all fixes come from https://github.com/TeamNewPipe/NewPipeExtractor/pull/239, so it need to be merged before this PR
2020-02-06 22:42:09 +01:00
kapodamy
aaf5d7b89c Update DataReader.java
make rewind() method fully rewind the stream
2020-02-06 17:00:32 -03:00
Tobias Groza
487952f52e Merge pull request #3053 from harshlele/copy-comment-long-press
added ability to copy comments on long press
2020-02-06 20:35:30 +01:00
harshlele
34e31807fc removed empty line 2020-02-06 18:33:06 +05:30
Alexander--
e6df041613 Merge remote-tracking branch 'newpipe/dev' into rebase 2020-02-06 02:44:08 +06:59
harshlele
21184f8755 Update CommentsMiniInfoItemHolder.java
Co-Authored-By: yausername <5203007+yausername@users.noreply.github.com>
2020-02-05 14:48:39 +05:30
Avently
f334a2740f Mini player, ExpandableSurfaceView with ZOOM support, popup
- mini player's title, image and author information will be updated in many situations but the main idea is that the info will be the same as currently playing stream. If nothing played then you'll see the info about currently opened stream in fragment. When MainPlayer service stops the info updates too
- made ExpandableSurfaceView to replace AspectRatioFrameLayout. The reason for that is to make possible to use aspect ratio mode ZOOM. It's impossible to show a stream inside AspectRatioFrameLayout with ZOOM mode and to fit the video view to a screen space at the same time. Now the new view able to do that and to show vertical videos in a slightly wide space for them
- refactored some methods to make the code more understandable
- made fixes for player view for landscape-to-landscape orientation change
- added Java docs
- adapted swipe tracking inside bottom sheet
- fixed PlayQueue crashes on clearing
- paddings for popup player now as small as possible
2020-02-05 08:59:30 +03:00
nautilusx
2bac66b5fe Translated using Weblate (German)
Currently translated at 99.8% (531 of 532 strings)
2020-02-05 01:01:07 +01:00
Igor Nedoboy
b5f069d080 Translated using Weblate (Russian)
Currently translated at 100.0% (532 of 532 strings)
2020-02-04 19:16:46 +01:00
Harshal Lele
bc393e6bcd removed settings entry 2020-02-04 18:01:39 +05:30
Harshal Lele
af411a61ae added ability to copy comments on long press 2020-02-04 16:40:57 +05:30
Hosted Weblate
2805850711 Merge branch 'origin/dev' into Weblate. 2020-02-03 21:20:50 +01:00
Jeff Huang
0f0a367174 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (530 of 530 strings)
2020-02-03 21:20:48 +01:00
MohammedSR Vevo
7009dc574f Translated using Weblate (Kurdish)
Currently translated at 99.8% (529 of 530 strings)
2020-02-03 21:20:48 +01:00
Marian Hanzel
6941917c75 Translated using Weblate (Slovak)
Currently translated at 98.5% (522 of 530 strings)
2020-02-03 21:20:47 +01:00
Isak Holmström
9560cf59be Translated using Weblate (Swedish)
Currently translated at 87.9% (466 of 530 strings)
2020-02-03 21:20:35 +01:00
B0pol
0a2374892c Translated using Weblate (French)
Currently translated at 100.0% (530 of 530 strings)
2020-02-03 21:20:35 +01:00
JoC
5d5c2ae2ed Translated using Weblate (Spanish)
Currently translated at 100.0% (530 of 530 strings)
2020-02-03 21:20:34 +01:00
WaldiS
2cceb048e3 Translated using Weblate (Polish)
Currently translated at 99.8% (529 of 530 strings)
2020-02-03 21:20:33 +01:00
Yaron Shahrabani
ed9c85b25a Translated using Weblate (Hebrew)
Currently translated at 99.8% (529 of 530 strings)
2020-02-03 21:20:32 +01:00
Vojtěch Šamla
bb8bcf3c33 Translated using Weblate (Czech)
Currently translated at 100.0% (530 of 530 strings)
2020-02-03 21:20:31 +01:00
B0pol
b5684ee7df Translated using Weblate (Esperanto)
Currently translated at 100.0% (530 of 530 strings)
2020-02-03 21:20:30 +01:00
Oğuz Ersen
2c27f784f7 Translated using Weblate (Turkish)
Currently translated at 100.0% (530 of 530 strings)
2020-02-03 21:20:29 +01:00
Emin Tufan Çetin
46c1155c64 Translated using Weblate (Turkish)
Currently translated at 100.0% (530 of 530 strings)
2020-02-03 21:20:29 +01:00
Xiang Rong Lin
cf377c2591 Fix bug causing crashes when sharing a downloaded file. 2020-02-03 10:43:08 +01:00
Tobias Groza
471ce4a24b Merge pull request #3035 from Stypox/recaptcha
Fix ReCaptcha activity and correctly save obtained cookies
2020-02-02 22:16:21 +01:00
Stypox
b6841158df Remove unused imports and clean up comment style 2020-02-02 21:48:45 +01:00
Stypox
3372bacc62 Merge branch 'dev' into recaptcha 2020-02-02 21:36:15 +01:00
Stypox
6da9096176 Fix addYoutubeCookies functions (Yt changed things lately) 2020-02-02 21:33:07 +01:00
Stypox
244009a1cd Change "Unlink" to "Unhook" in unhook_checkbox string
"Unlink" is not an english word, and "Unhook" is used everywhere in the code
2020-02-02 15:54:31 +01:00
Stypox
0f22833ad5 Save and restore whether pitch and tempo are unhooked or not
Fixes #1536
2020-02-02 15:52:35 +01:00
Stypox
b589ee6c26 Merge pull request #2954 from XiangRongLin/1907renamePlaylist
Rename local playlist by long-clicking in BookmarkFragment.
2020-02-02 14:34:54 +01:00
Emin Tufan Çetin
9f0efdd544 Translated using Weblate (Turkish)
Currently translated at 100.0% (530 of 530 strings)
2020-02-02 13:43:18 +01:00
Oğuz Ersen
07c7398a96 Translated using Weblate (Turkish)
Currently translated at 100.0% (530 of 530 strings)
2020-02-02 13:43:18 +01:00
Xiang Rong Lin
a117e459b0 Use AlertDialog.Builder instead of BookmarkDialog class for the same look.
Use "rename" string instead of "save" string.
2020-02-02 12:54:43 +01:00
chr_56
7568af408a fix wrong strings in Simplified Chinese 2020-02-02 09:42:56 +08:00
kapodamy
d1801e1dbc Merge branch 'dev' into m4a-stsc-stco 2020-02-01 18:59:22 -03:00
Igor Nedoboy
38d193899c Translated using Weblate (Russian)
Currently translated at 100.0% (530 of 530 strings)
2020-02-01 20:18:24 +01:00
Stypox
f95d51b307 Merge branch 'dev' of github.com:TeamNewPipe/NewPipe into recaptcha 2020-02-01 18:27:00 +01:00
Stypox
1bf55c2139 Remove left-behind Log 2020-02-01 18:24:16 +01:00
Stypox
9b09028440 Try to extract cookies just before closing recaptcha activity
Even if the page didn't auto-close
2020-02-01 18:24:16 +01:00
Stypox
0cc890a1d1 Move "Done" button and make it theme conpliant in ReCaptcha 2020-02-01 18:24:16 +01:00
Stypox
fe138f6d61 Improve formatting 2020-02-01 18:24:16 +01:00
Stypox
4e1638f86e Remove space between "Done" button and ReCaptchaActivity title 2020-02-01 18:24:16 +01:00
Stypox
daa4fd5103 Fix ReCaptchaActivity crash and save cookies correctly 2020-02-01 18:24:16 +01:00
Stypox
a3d8848825 Add "Done" drawable (only white since it is used on toolbar) 2020-02-01 18:24:16 +01:00
Stypox
61d102dc75 Change recaptcha string names to match style 2020-02-01 18:24:16 +01:00
Markus Richter
c0519d8313 fixes #3021, see also https://github.com/TeamNewPipe/NewPipe-legacy/pull/21 2020-02-01 18:24:16 +01:00
Hosted Weblate
48a2d2d24b Merge branch 'origin/dev' into Weblate. 2020-02-01 17:48:01 +01:00
Isak Holmström
fb0d626cb2 Translated using Weblate (Swedish)
Currently translated at 88.2% (465 of 527 strings)
2020-02-01 17:47:58 +01:00
B0pol
766326ad8c Translated using Weblate (French)
Currently translated at 100.0% (527 of 527 strings)
2020-02-01 17:47:57 +01:00
C. Rüdinger
2a903f66dd Translated using Weblate (German)
Currently translated at 99.8% (526 of 527 strings)
2020-02-01 17:47:55 +01:00
Xiang Rong Lin
8712310ad9 Move more log statements into "if (DEBUG)" 2020-02-01 16:36:45 +01:00
XiangRongLin
e8c3ab87c4 Merge branch 'dev' into 1907renamePlaylist 2020-02-01 16:29:21 +01:00
Xiang Rong Lin
90c20f124b Move log statement into "if (DEBUG)" 2020-02-01 16:27:53 +01:00
chr56
cd225eb5fe Merge branch 'dev' into dev 2020-02-01 23:14:00 +08:00
Tobias Groza
14e852237f Merge pull request #2921 from B0pol/dev
Add language selector to change the app language
2020-02-01 15:47:13 +01:00
TobiGr
d36ac7a5de Improve formatting 2020-02-01 15:35:33 +01:00
bopol
55a138e8da fix toast on app language change
I forgot to change the key here when I renamed it
2020-02-01 15:30:51 +01:00
bopol
c5e6bb58bc Merge remote-tracking branch 'upstream/dev' into dev
merging dev
2020-02-01 15:11:01 +01:00
TobiGr
2642d6f5f0 Merge remote-tracking branch 'Weblate/dev' into dev 2020-02-01 14:32:21 +01:00
Tobias Groza
bcb3cb9125 Merge pull request #3004 from harshlele/ask-overlay-perm-settings
ask for display over other apps permission in settings
2020-02-01 14:28:02 +01:00
TobiGr
f7203d4ac9 Fix formatting and use lamda functions 2020-02-01 13:41:03 +01:00
bopol
6be23a0a6f fix wrong language shown many popup dialogs
Changed android.R.string.ok, which is "OK", into R.string.finish, which is also OK, but from our strings
Then for a small amount of languages that don't have Android translation, it will show the good string.
2020-02-01 09:44:49 +01:00
nautilusx
089a9f1a9c Translated using Weblate (German)
Currently translated at 100.0% (527 of 527 strings)
2020-01-31 18:06:46 +01:00
Abu Sarim Hindi
2977de1df2 Translated using Weblate (Urdu)
Currently translated at 100.0% (527 of 527 strings)
2020-01-30 22:00:38 +01:00
Hosted Weblate
eab3f8b3ff Merge branch 'origin/dev' into Weblate. 2020-01-29 22:50:16 +01:00
Abu Sarim Hindi
d686a2c9dc Translated using Weblate (Urdu)
Currently translated at 100.0% (527 of 527 strings)
2020-01-29 22:50:13 +01:00
Gergely Szarka
d34e5f78a9 Translated using Weblate (Hungarian)
Currently translated at 67.4% (355 of 527 strings)
2020-01-29 22:50:11 +01:00
bopol
edc9d47da7 app language: refactoring
renamed NewPipe's language into App language, and same for all the
concerning thing (keys, comments…)

we now call assureCorrectAppLanguage(CONTEXT) in activities needing it
instead of changeAppLanguage(getAppLocale(CONTEXT), RESOURCES)
changeAppLanguage becomes private.
2020-01-29 21:21:00 +01:00
kapodamy
0c5608506e typo fixup 2020-01-29 16:06:40 -03:00
kapodamy
bda6139f42 Merge branch 'dev' into m4a-stsc-stco 2020-01-29 15:58:20 -03:00
kapodamy
1ae8ca1e21 Merge branch 'm4a-stsc-stco' of https://github.com/kapodamy/NewPipe into m4a-stsc-stco 2020-01-29 16:08:32 -03:00
kapodamy
342377e69a restore offset after writting lastest CTTS entries 2020-01-29 16:04:24 -03:00
Tobias Groza
0447e4e664 Merge pull request #3032 from mqus/fix_subtitles
Fixes #3021
2020-01-29 15:10:05 +01:00
Markus Richter
fd3d61c6a0 fixes #3021, see also https://github.com/TeamNewPipe/NewPipe-legacy/pull/21 2020-01-29 13:48:02 +01:00
chr56
69bf1c5d81 Merge branch 'dev' into dev 2020-01-29 12:14:21 +08:00
Abu Sarim Hindi
fbf6351b99 Translated using Weblate (Urdu)
Currently translated at 100.0% (527 of 527 strings)
2020-01-28 22:01:31 +01:00
Alexander--
caa1de8aff Rename FireTvUtils to AndroidTvUtils and isFireTv() to isTV()
Because those methods are no longer exclusive to Amazon devices
2020-01-29 03:16:33 +06:59
Alexander--
fac13fb8cb Merge remote-tracking branch 'newpipe/dev' into rebase 2020-01-29 03:10:16 +06:59
Harshal Lele
a78762756a reformatted code 2020-01-28 20:54:24 +05:30
Harshal Lele
1f24c18614 reformatted and commented code 2020-01-28 20:14:35 +05:30
Igor Nedoboy
153790d80a Translated using Weblate (Russian)
Currently translated at 100.0% (527 of 527 strings)
2020-01-28 12:49:24 +01:00
Hosted Weblate
e98f27cb66 Merge branch 'origin/dev' into Weblate. 2020-01-28 04:20:51 +01:00
Abu Sarim Hindi
c17d80948c Translated using Weblate (Urdu)
Currently translated at 100.0% (527 of 527 strings)
2020-01-28 04:20:45 +01:00
Ryan
c486368b9b Translated using Weblate (Korean)
Currently translated at 100.0% (527 of 527 strings)
2020-01-28 04:20:44 +01:00
Laura Arjona Reina
42bb96af23 Translated using Weblate (Spanish)
Currently translated at 100.0% (527 of 527 strings)
2020-01-28 04:20:41 +01:00
Sithananthan
e082976914 Translated using Weblate (Tamil)
Currently translated at 43.3% (228 of 527 strings)
2020-01-28 04:20:41 +01:00
bopol
156a2eb4ff update prettytime dependency
see https://github.com/TeamNewPipe/NewPipe/pull/2921#issuecomment-572601812
It will add Esperanto, add bengali, update vietnamese
pretty time is the library used in the home page: … days ago
2020-01-27 19:32:40 +01:00
B0pol
e94981e6f7 Merge branch 'dev' into dev 2020-01-27 19:24:18 +01:00
Tobias Groza
be92921034 Merge pull request #2310 from christophehenry/add-kodi-share-player
Add send to Kodi button to player next to share button
2020-01-27 10:46:59 +01:00
Christophe
94403a9c3c Add send to Kodi button to player next to share button 2020-01-27 10:27:24 +01:00
XiangRongLin
b5ea61a079 Merge branch 'dev' into 1907renamePlaylist 2020-01-26 20:36:18 +01:00
Hosted Weblate
af9e2420a6 Merge branch 'origin/dev' into Weblate. 2020-01-26 20:21:35 +01:00
Ian Emmanuel M. Enanoria
14b3cf7ccd Translated using Weblate (Filipino)
Currently translated at 12.7% (67 of 527 strings)
2020-01-26 20:21:29 +01:00
AioiLight
9c58a07a72 Translated using Weblate (Japanese)
Currently translated at 99.8% (526 of 527 strings)
2020-01-26 20:21:28 +01:00
Tobias Groza
609855f774 Merge pull request #2917 from raphj/patch-1
Allow a BasePlayer to start paused
2020-01-26 17:39:39 +01:00
XiangRongLin
37409e7d90 Merge branch 'dev' into 1907renamePlaylist 2020-01-26 15:34:12 +01:00
Tobias Groza
cc83991d8d Merge pull request #2958 from kapodamy/android5-temp-dir-issue
fix #2889
2020-01-26 11:04:45 +01:00
Tobias Groza
bf5e94fc1a Merge pull request #2957 from kapodamy/subtitles
Rewrite ttml conversion
2020-01-26 11:03:13 +01:00
Avently
26e487c01a Hotfix 2020-01-26 07:33:52 +03:00
harshlele
52420d4bf1 Merge branch 'dev' into ask-overlay-perm-settings 2020-01-26 09:57:30 +05:30
Tobias Groza
7f7bf8474e Add link to FAQ in README 2020-01-25 21:35:07 +01:00
Harshal Lele
e1145f16f2 ask for display over other apps permission in settings 2020-01-25 22:30:49 +05:30
XiangRongLin
b430a23df1 Merge branch 'dev' into 1907renamePlaylist 2020-01-25 14:24:07 +01:00
Hosted Weblate
fa7173b3d5 Merge branch 'origin/dev' into Weblate. 2020-01-24 21:41:36 +01:00
Abu Sarim Hindi
b2d78786c2 Translated using Weblate (Urdu)
Currently translated at 100.0% (527 of 527 strings)
2020-01-24 21:41:31 +01:00
B0pol
489420e855 Merge branch 'dev' into dev 2020-01-24 20:19:51 +01:00
TobiGr
5bc0d2c31b Merge branch 'master' into dev 2020-01-24 19:20:26 +01:00
Allan Nordhøy
e9fda96aa1 Translated using Weblate (Norwegian Bokmål)
Currently translated at 98.3% (518 of 527 strings)
2020-01-24 09:26:04 +01:00
Abu Sarim Hindi
64b0ccd574 Translated using Weblate (Urdu)
Currently translated at 100.0% (527 of 527 strings)
2020-01-24 09:26:04 +01:00
B0pol
d3aadc71b1 Translated using Weblate (Urdu)
Currently translated at 100.0% (527 of 527 strings)
2020-01-24 09:26:03 +01:00
B0pol
c21ccef7bc Translated using Weblate (Esperanto)
Currently translated at 100.0% (527 of 527 strings)
2020-01-24 09:26:03 +01:00
TobiGr
2152375227 Bump version to 0.18.2 [hotfix release] 2020-01-24 02:30:08 +01:00
TobiGr
10d57afaac Update extractor version 2020-01-24 02:29:21 +01:00
Abu Sarim Hindi
e224f8ca28 Translated using Weblate (Urdu)
Currently translated at 100.0% (527 of 527 strings)
2020-01-24 01:13:33 +01:00
Allan Nordhøy
1f975c0a3a Translated using Weblate (Norwegian Bokmål)
Currently translated at 98.1% (517 of 527 strings)
2020-01-23 00:33:15 +01:00
MohammedSR Vevo
ce075395a1 Translated using Weblate (Kurdish)
Currently translated at 100.0% (527 of 527 strings)
2020-01-23 00:33:13 +01:00
chr56
167653ac60 fix wrong strings in values-zh-rCN. 2020-01-22 13:00:00 +08:00
chr56
ee0f94c232 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (527 of 527 strings)
2020-01-22 04:52:39 +01:00
Xiang Rong Lin
0ed3354cee Use custom dialog to edit and delete local playlists at once 2020-01-21 20:56:06 +01:00
kapodamy
b8f726153f Merge branch 'dev' into subtitles 2020-01-20 23:23:51 -03:00
kapodamy
afc362d2b6 readability changes 2020-01-20 23:33:30 -03:00
kapodamy
776d8a4406 Merge branch 'dev' into android5-temp-dir-issue 2020-01-20 23:23:44 -03:00
kapodamy
7718581882 Merge branch 'dev' into m4a-stsc-stco 2020-01-20 23:23:39 -03:00
Hosted Weblate
ba245c49da Merge branch 'origin/dev' into Weblate. 2020-01-19 20:41:20 +01:00
Allan Nordhøy
cf60033424 Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.4% (508 of 527 strings)
2020-01-19 20:41:14 +01:00
B0pol
0e39071b5e Translated using Weblate (Urdu)
Currently translated at 94.3% (497 of 527 strings)
2020-01-19 20:41:14 +01:00
MohammedSR Vevo
b6028cef5b Translated using Weblate (Kurdish)
Currently translated at 100.0% (527 of 527 strings)
2020-01-19 20:41:13 +01:00
Jeff Huang
62906fb84a Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (527 of 527 strings)
2020-01-19 20:41:13 +01:00
Matsuri
4797cd9184 Translated using Weblate (Chinese (Simplified))
Currently translated at 98.5% (519 of 527 strings)
2020-01-19 20:41:12 +01:00
B0pol
366c55c8f4 Translated using Weblate (Polish)
Currently translated at 100.0% (527 of 527 strings)
2020-01-19 20:41:12 +01:00
zmni
7e93456805 Translated using Weblate (Indonesian)
Currently translated at 99.8% (526 of 527 strings)
2020-01-19 20:41:12 +01:00
thami simo
de1a92539a Translated using Weblate (Arabic)
Currently translated at 100.0% (527 of 527 strings)
2020-01-19 20:41:11 +01:00
zeritti
84dd1a688e Translated using Weblate (Czech)
Currently translated at 100.0% (527 of 527 strings)
2020-01-19 20:41:10 +01:00
B0pol
36c4063db6 Translated using Weblate (Esperanto)
Currently translated at 100.0% (527 of 527 strings)
2020-01-19 20:41:08 +01:00
Osoitz
9c9a432ea0 Translated using Weblate (Basque)
Currently translated at 100.0% (527 of 527 strings)
2020-01-19 20:41:07 +01:00
ssantos
1c53b22239 Translated using Weblate (Portuguese)
Currently translated at 100.0% (527 of 527 strings)
2020-01-19 20:41:06 +01:00
pjammo
5dbab85505 Translated using Weblate (Italian)
Currently translated at 100.0% (527 of 527 strings)
2020-01-19 20:41:06 +01:00
Igor Nedoboy
2873f723e8 Translated using Weblate (Russian)
Currently translated at 100.0% (527 of 527 strings)
2020-01-19 20:41:04 +01:00
B0pol
6b7043fb9d Translated using Weblate (French)
Currently translated at 100.0% (527 of 527 strings)
2020-01-19 20:41:04 +01:00
B0pol
9d5612d104 Translated using Weblate (German)
Currently translated at 100.0% (527 of 527 strings)
2020-01-19 20:41:03 +01:00
B0pol
e58088d290 Merge branch 'dev' into dev 2020-01-19 18:09:17 +01:00
Xiang Rong Lin
77aa12dd81 Rename local playlist by long-clicking in BookmarkFragment.
After long clicking on a local playlist, show a dialog with 2 options for "rename" and "delete"
Rename shows another dialog to let the user rename the playlist.
Delete lets the user delete a playlist like before.
2020-01-19 14:39:40 +01:00
Stypox
8c3be2c9df Merge pull request #2960 from karkaminski/issue-#2254
Issue #2254
2020-01-19 12:55:55 +01:00
Stypox
266c3d03fc Merge branch 'dev' into issue-#2254 2020-01-19 12:50:08 +01:00
Tobias Groza
42ff60ce85 Merge pull request #2956 from TeamNewPipe/release_v0.18.1
Release v0.18.1
2020-01-19 09:54:05 +01:00
bopol
e08e724573 upload date in description now matches newpipe's language 2020-01-18 10:46:53 +01:00
bopol
b155f23d27 fix: wrong language shown in playback parameters dialog
This is a hardly reproduceable bug that I hopefully fixed. After a long time of watching videos, you could have your system language shown in playback parameters dialog.
Calling changeAppLanguage(getAppLocale(…),…) onCreate will most certainly fix this bug
2020-01-18 09:46:38 +01:00
kapodamy
a2d3e2c7e0 2 typo fixup
* add missing namespace of StandardCharsets
* use an unused constructor argument
2020-01-18 01:10:25 -03:00
kapodamy
ed18466c3b Merge branch 'dev' into subtitles 2020-01-18 00:35:48 -03:00
kapodamy
845767e2f8 StandardCharsets.UTF_8 instead of Charset.forName("utf-8") 2020-01-18 00:43:38 -03:00
kapodamy
a0548fdbf8 Merge branch 'dev' into android5-temp-dir-issue 2020-01-18 00:35:38 -03:00
kapodamy
b837912e75 Merge branch 'dev' into m4a-stsc-stco 2020-01-18 00:35:35 -03:00
B0pol
0cd9fb32a8 Merge branch 'dev' into dev 2020-01-18 00:26:04 +01:00
TobiGr
fd62411b35 Bump version to 0.18.1 and version code to 810 2020-01-18 00:09:40 +01:00
TobiGr
134850aa04 Add changelog for 0.18.1 2020-01-18 00:09:27 +01:00
TobiGr
0795135f2f Merge remote-tracking branch 'Weblate/dev' into dev 2020-01-18 00:01:55 +01:00
Tobias Groza
85eb1dc436 Merge pull request #2966 from B0pol/c_links_support
[YouTube] /c/ channel links support & update extractor version
2020-01-17 23:59:41 +01:00
B0pol
2f2b8784f9 update extractor version 2020-01-17 23:07:45 +01:00
bopol
181658e5a4 support for opening /c/ channel links 2020-01-17 22:59:51 +01:00
Avently
cc438fdb7b Player's elements positioning is better for tablet and in multiWindow mode
- status bar got a fix for situation when a phone vendor did not provide status bar height for landscape orientation
- popup will not be init'd twice
- also fixed some non-reproduceable bugs
2020-01-17 17:37:53 +03:00
Raphaël Jakse
7dbb2b206c Simplify an if expression 2020-01-17 11:49:33 +01:00
Raphaël Jakse
ef90493c27 Deduplicate code switching to another player into a function 2020-01-17 11:49:20 +01:00
WaldiS
d949894511 Translated using Weblate (Polish)
Currently translated at 100.0% (527 of 527 strings)
2020-01-17 10:02:16 +01:00
Raphaël Jakse
570dded8d6 Add field START_PAUSED to the Player Intent
This allows fixing spurious playback resume when minimizing to the background player.
2020-01-16 20:57:55 +01:00
Igor Nedoboy
235ead9222 Translated using Weblate (Russian)
Currently translated at 100.0% (527 of 527 strings)
2020-01-16 20:57:01 +01:00
nautilusx
3ee6788753 Translated using Weblate (German)
Currently translated at 100.0% (527 of 527 strings)
2020-01-16 14:15:09 +01:00
Avently
92ff98d99a New logic for handling global orientation
- added a button to manually change an orientation of a video
- adapted UI for an automatic global orientation too
2020-01-16 14:20:22 +03:00
Deleted User
e3dfab5078 Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.4% (508 of 527 strings)
2020-01-16 06:28:38 +01:00
Allan Nordhøy
5f232a059d Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.4% (508 of 527 strings)
2020-01-16 06:28:38 +01:00
Loís B
1b708d261d Translated using Weblate (Occitan)
Currently translated at 18.8% (99 of 527 strings)
2020-01-15 20:36:11 +01:00
Yaron Shahrabani
3341742f66 Translated using Weblate (Hebrew)
Currently translated at 100.0% (527 of 527 strings)
2020-01-15 20:36:11 +01:00
Oğuz Ersen
b731c79339 Translated using Weblate (Turkish)
Currently translated at 100.0% (527 of 527 strings)
2020-01-15 20:36:10 +01:00
Igor Nedoboy
29b12c2f84 Translated using Weblate (Russian)
Currently translated at 100.0% (527 of 527 strings)
2020-01-15 20:36:09 +01:00
Avently
d1609cba90 Enhancements to background playback and media button handling 2020-01-15 21:32:29 +03:00
chr56
ba53f6611c Translated using Weblate (Chinese (Simplified))
Currently translated at 97.3% (513 of 527 strings)
2020-01-15 10:10:31 +01:00
Hosted Weblate
6eeed50418 Merge branch 'origin/dev' into Weblate. 2020-01-15 09:42:51 +01:00
Loís B
8caf9f87a1 Translated using Weblate (Occitan)
Currently translated at 17.9% (94 of 525 strings)
2020-01-15 09:42:49 +01:00
B0pol
2e6089088b Translated using Weblate (Urdu)
Currently translated at 95.0% (499 of 525 strings)
2020-01-15 09:42:46 +01:00
Matsuri
40eaa166ae Translated using Weblate (Chinese (Simplified))
Currently translated at 97.3% (511 of 525 strings)
2020-01-15 09:42:45 +01:00
B0pol
41e2e5f951 Translated using Weblate (Esperanto)
Currently translated at 100.0% (525 of 525 strings)
2020-01-15 09:42:44 +01:00
B0pol
ac3938d529 Translated using Weblate (French)
Currently translated at 100.0% (525 of 525 strings)
2020-01-15 09:42:43 +01:00
DodoLeDev
515ec4d66d Translated using Weblate (French)
Currently translated at 100.0% (525 of 525 strings)
2020-01-15 09:42:43 +01:00
Nehemias Feliz
5adc27ea2b Translated using Weblate (Spanish)
Currently translated at 100.0% (525 of 525 strings)
2020-01-15 09:42:42 +01:00
C. Rüdinger
ab089a5f93 Translated using Weblate (German)
Currently translated at 100.0% (525 of 525 strings)
2020-01-15 09:42:41 +01:00
B0pol
9d8fcbbffe fix: wrong language shown when rotating screen in popup player 2020-01-15 08:33:57 +01:00
chr56
590722d929 manually update the Simplified Chinese lang file.
/values-b+zh+HANS+CN was updated.
Action: copy file in /values-b+zh+HANS+CN to /values-zh-rCN
2020-01-15 12:30:17 +08:00
karkaminski
a0ee1b1653 Merge branch 'dev' into issue-#2254 2020-01-14 22:23:32 +01:00
Karol Kaminski
b965f88eb2 removed main_menu.xml 2020-01-14 22:08:07 +01:00
Karol Kaminski
a228e702da menu-item History visibility accordingly to settings 2020-01-14 19:30:36 +01:00
bopol
105981b2eb made system translatable + renamed it to system's language 2020-01-14 19:11:46 +01:00
bopol
055365a449 added Occitan to the selector 2020-01-14 14:26:53 +01:00
bopol
f8a7aac40d fixed indonesian, see https://stackoverflow.com/questions/13291578/how-to-localize-an-android-app-in-indonesian-language 2020-01-14 14:15:42 +01:00
chr56
6712ea5e6f Merge branch 'dev' into dev 2020-01-14 21:00:40 +08:00
B0pol
382e69273e Merge branch 'dev' into dev 2020-01-14 11:11:45 +01:00
kapodamy
9b71828b97 implement sgpd and sbgp boxes in audio tracks 2020-01-14 01:08:46 -03:00
kapodamy
00eddcb237 android 5 (lollipop) fixup
this commit attempts to fix the pickAvailableTemporalDir() method in ROMS that not are CTS compliant.
2020-01-14 00:05:34 -03:00
kapodamy
49cc643dcc decrease the size of samples per chunk 2020-01-14 00:04:53 -03:00
kapodamy
42ec6f0810 ttml to srt conversion
rewrite SubtitleConverter (use JSoup library instead, remove unused methods)
2020-01-14 00:04:16 -03:00
TobiGr
9f47a274a8 Update extractor version
TeamNewPipe/NewPipeExtractor@bdbfa26835
2020-01-13 20:40:11 +01:00
TobiGr
1f8c0a9e5e Merge remote-tracking branch 'Weblate/dev' into dev 2020-01-13 20:33:24 +01:00
Tobias Groza
cef9ccd937 Merge pull request #2717 from kszczek/delete-finished-downloads
Add option to delete files when clearing finished downloads
2020-01-13 20:32:18 +01:00
Karol Kaminski
9d773d6e8a removed dot menu where its no longer needed 2020-01-13 20:28:32 +01:00
TobiGr
3d93ecd6ec Use Integer value directly for formatted string
a
2020-01-13 20:25:32 +01:00
Avently
0c394b123c Another fix of VideoDetailFragment 2020-01-13 19:24:28 +03:00
Loís B
36e38e50e9 Translated using Weblate (Occitan)
Currently translated at 10.1% (53 of 525 strings)
2020-01-13 15:49:01 +01:00
Software In Interlingua
1a8be2bbf5 Translated using Weblate (Interlingua)
Currently translated at 11.4% (60 of 525 strings)
2020-01-13 15:48:59 +01:00
Allan Nordhøy
92b1fa5743 Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.2% (505 of 525 strings)
2020-01-13 15:48:58 +01:00
MohammedSR Vevo
335e5c05db Translated using Weblate (Kurdish)
Currently translated at 100.0% (525 of 525 strings)
2020-01-13 15:48:58 +01:00
Yaron Shahrabani
bfead79c07 Translated using Weblate (Hebrew)
Currently translated at 100.0% (525 of 525 strings)
2020-01-13 15:48:57 +01:00
Jeff Huang
bd8014bcbd Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (525 of 525 strings)
2020-01-13 15:48:57 +01:00
Matsuri
948d57d3d1 Translated using Weblate (Chinese (Simplified))
Currently translated at 97.3% (511 of 525 strings)
2020-01-13 15:48:56 +01:00
Daniele Lira Mereb
31b830d6d0 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (525 of 525 strings)
2020-01-13 15:48:56 +01:00
WaldiS
2038df976c Translated using Weblate (Polish)
Currently translated at 100.0% (525 of 525 strings)
2020-01-13 15:48:54 +01:00
Oğuz Ersen
46cc215120 Translated using Weblate (Turkish)
Currently translated at 100.0% (525 of 525 strings)
2020-01-13 15:48:53 +01:00
zmni
3afce82aa7 Translated using Weblate (Indonesian)
Currently translated at 99.6% (523 of 525 strings)
2020-01-13 15:48:52 +01:00
B0pol
88e5be237e Translated using Weblate (Esperanto)
Currently translated at 100.0% (525 of 525 strings)
2020-01-13 15:48:51 +01:00
Petros Grammatikopoulos
7c4b9d8843 Translated using Weblate (Greek)
Currently translated at 97.7% (513 of 525 strings)
2020-01-13 15:48:50 +01:00
Osoitz
b83e1716fe Translated using Weblate (Basque)
Currently translated at 99.4% (522 of 525 strings)
2020-01-13 15:48:49 +01:00
ssantos
c3e41e2427 Translated using Weblate (Portuguese)
Currently translated at 100.0% (525 of 525 strings)
2020-01-13 15:48:49 +01:00
B0pol
3f67b3b73c Translated using Weblate (French)
Currently translated at 100.0% (525 of 525 strings)
2020-01-13 15:48:48 +01:00
nautilusx
78c9e4e1ad Translated using Weblate (German)
Currently translated at 100.0% (525 of 525 strings)
2020-01-13 15:48:48 +01:00
C. Rüdinger
69c090b5a1 Translated using Weblate (German)
Currently translated at 100.0% (525 of 525 strings)
2020-01-13 15:48:47 +01:00
Kamil Szczęk
2c8222fd55 Style corrected 2020-01-11 15:19:24 +01:00
Kamil Szczęk
d071891b2a Add a snackbar to allow user to undo file deletion 2020-01-11 15:09:01 +01:00
Kamil Szczęk
986acc5fc5 Reorder buttons in clear downloads dialog 2020-01-11 15:09:01 +01:00
Kamil Szczęk
e4295fb3fa Use a dialog option instead of a checkbox 2020-01-11 15:09:01 +01:00
Kamil Szczęk
cfad3fb5de Fix inconsistent style 2020-01-11 15:09:01 +01:00
Kamil Szczęk
b18236a27e Put call to forget finished downloads in an else statement to prevent potential bugs 2020-01-11 15:09:01 +01:00
Kamil Szczęk
f6bbc69cf9 Remove unnecessary import 2020-01-11 15:09:01 +01:00
Kamil Szczęk
707e4f7167 Add option to remove downloaded files when clearing finished downloads 2020-01-11 15:09:01 +01:00
bopol
11d06dc86d remove todo as it's already done 2020-01-10 16:03:24 +01:00
bopol
8f46432391 fixed some activities where the wrong languages would be set 2020-01-10 15:50:15 +01:00
Avently
421b8214cb Fixes of VideoDetailFragment 2020-01-10 17:32:05 +03:00
Avently
6fc91312d2 Changed default autoplay type to "Only on WiFi" 2020-01-09 19:27:10 +03:00
TobiGr
99cdaec40e Translated using Weblate (German)
Currently translated at 99.0% (520 of 525 strings)
2020-01-09 17:23:02 +01:00
Avently
22bb129bd9 Autoplay enhancement and new button at the top left corner
- added a video close button to the top left corner
- autoplay will not work if stream plays in background or popup players
2020-01-09 18:28:06 +03:00
bopol
b32935a1b0 app language now changes time formatting (3hrs ago), was system language b4 2020-01-09 15:51:41 +01:00
bopol
ed9a3517c6 removed unused imports 2020-01-09 12:15:01 +01:00
B0pol
e0a39efa2b Merge branch 'dev' into dev 2020-01-09 10:07:22 +01:00
bopol
3ad0e313ca changed the way to change language, now is «NewPipe's language» selector 2020-01-09 09:40:05 +01:00
Allan Nordhøy
bca547ce44 \'Storage Access Framework\' 2020-01-09 04:38:47 +01:00
Allan Nordhøy
6bc697f926 Continue ending playback queue 2020-01-09 04:36:39 +01:00
Igor Nedoboy
bff5371e41 Translated using Weblate (Russian)
Currently translated at 100.0% (525 of 525 strings)
2020-01-09 02:51:05 +01:00
Allan Nordhøy
694013c9df Spelling: Language reworked 2 2020-01-08 21:55:17 +01:00
Hosted Weblate
a76398efd0 Merge branch 'origin/dev' into Weblate. 2020-01-08 20:51:08 +01:00
Allan Nordhøy
99bcd8d043 Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.0% (501 of 522 strings)
2020-01-08 20:51:04 +01:00
Software In Interlingua
1602ecbaf9 Translated using Weblate (Interlingua)
Currently translated at 11.1% (58 of 522 strings)
2020-01-08 20:51:04 +01:00
Tobias Groza
7e17bdf369 Merge pull request #2935 from comradekingu/patch-9
Spelling: Could not, PeerTube, HTTPS, URL
2020-01-08 19:09:43 +01:00
Allan Nordhøy
d316bbad44 Select your favorite
Co-Authored-By: Stypox <stypox@pm.me>
2020-01-08 18:22:17 +01:00
Tobias Groza
72151c8c0c Merge pull request #2906 from kapodamy/opus-fixup
add opus file extension
2020-01-08 18:19:23 +01:00
Allan Nordhøy
e2e0a9bfa2 Spelling: Could not, PeerTube, HTTPS, URL 2020-01-08 17:51:35 +01:00
Avently
4c57893312 New features and fixes
- added autoplay options inside settings: always, only on wifi, never
- now statusbar will be shown in fullscreen mode
- playlists, channels can be autoplayed too (if enabled)
- changed title of background activity to Play queue
- fixed a crash
2020-01-08 19:16:50 +03:00
kapodamy
8d53b07167 fixup
* [DownloadDialog.java] use *.opus extension instead of *.webm (bad change from 844f80a5f1)
* [StreamItemAdapter.java] show "opus" in format label instead of "WebM Opus"
2020-01-08 12:42:34 -03:00
Tobias Groza
1df852171d Merge pull request #2837 from decarvalhobo/dev
Playlist thumbnail updates
2020-01-07 23:02:42 +01:00
TobiGr
399e2626fb Fix code style and improve imports 2020-01-07 22:48:35 +01:00
decarvalhobo
752a76eb44 Usage of drawable instead of remote image + refactor the append to an empty playlist by just updating the thumbnail before adding the item in it. 2020-01-07 22:33:45 +01:00
De Carvalho Marcio Antonio
8feee05eec remove comments 2020-01-07 22:33:45 +01:00
De Carvalho Marcio Antonio
e9a4caaf0b remove comments 2020-01-07 22:33:45 +01:00
decarvalhobo
8de367e03f fix issue: thumbnail update when element deleted + thumbnail update when element added and no thumbnail 2020-01-07 22:33:45 +01:00
TobiGr
dad88b83fb Fix Arabic translation 2020-01-07 22:33:30 +01:00
TobiGr
846f7f2f05 Merge remote-tracking branch 'Weblate/dev' into dev 2020-01-07 22:28:15 +01:00
pjammo
41e18ae694 Translated using Weblate (Italian)
Currently translated at 100.0% (522 of 522 strings)
2020-01-07 17:21:22 +01:00
Daniele Lira Mereb
deeac118a1 Translated using Weblate (Portuguese (Brazil))
Currently translated at 97.3% (508 of 522 strings)
2020-01-07 17:21:21 +01:00
Avently
a2d5314cf7 Fourth block of fixes for review
- wrote more methods to PlayQueue. Now it supports internal history of played items with ability to play previous() item. Also it has equals() to check whether queues has the same content or not
- backstack in fragment is more powerful now with help of PlayQueue's history and able to work great with playlists' PlayQueue and SinglePlayQueue at the same time
- simplified logic inside fragment. Easy to understand. New PlayQueue will be added in backstack from only one place; less number of setInitialData() calls
- BasePlayer now able to check PlayQueue and compare it with currently playing. And if it is the same queue it tries to not init() it twice. It gives possibility to have a great backstack in fragment since the same queue will not be played from two different instances and will not be added to backstack twice  with duplicated history inside
- better support of Player.STATE_IDLE
- worked with layouts of player and made them better and more universal
- service will be stopped when activity finishes by a user decision
- fixed a problem related to ChannelPlayQueue and PlaylistPlayQueue in initial start of fragment
- fixed crash in popup
2020-01-06 13:39:01 +03:00
MohammedSR Vevo
594d77e713 Translated using Weblate (Kurdish)
Currently translated at 100.0% (522 of 522 strings)
2020-01-06 00:21:31 +01:00
JoC
2ea404659b Translated using Weblate (Spanish)
Currently translated at 100.0% (522 of 522 strings)
2020-01-06 00:21:28 +01:00
Software In Interlingua
e2ec95e6ff Translated using Weblate (Interlingua)
Currently translated at 10.9% (57 of 522 strings)
2020-01-06 00:21:28 +01:00
pietrasagh
db87df743d Translated using Weblate (Polish)
Currently translated at 100.0% (522 of 522 strings)
2020-01-06 00:21:27 +01:00
ssantos
23f9ffdab7 Translated using Weblate (Portuguese)
Currently translated at 100.0% (522 of 522 strings)
2020-01-06 00:21:26 +01:00
Enol P
28063c35c2 Translated using Weblate (Asturian)
Currently translated at 49.2% (257 of 522 strings)
2020-01-06 00:21:25 +01:00
Иван
21a39b06e7 Translated using Weblate (Ukrainian)
Currently translated at 98.1% (512 of 522 strings)
2020-01-06 00:21:23 +01:00
Osoitz
8fb29ae6c2 Translated using Weblate (Basque)
Currently translated at 99.8% (521 of 522 strings)
2020-01-06 00:21:22 +01:00
B0pol
21895caa3a Translated using Weblate (Esperanto)
Currently translated at 100.0% (522 of 522 strings)
2020-01-06 00:21:20 +01:00
THANOS SIOURDAKIS
f17b92512c Translated using Weblate (Greek)
Currently translated at 97.9% (511 of 522 strings)
2020-01-06 00:21:19 +01:00
ssantos
014682664d Translated using Weblate (German)
Currently translated at 100.0% (522 of 522 strings)
2020-01-06 00:21:18 +01:00
Tobias Groza
5bf1df9f14 Merge pull request #2690 from K1rakishou/(#1570)-lock-screen-video-thumbnail
Show video thumbnail on the lock screen
2020-01-05 10:36:38 +01:00
bopol
dea1e0dcb9 Update localizations settings
1) now, on « content language » change, it will also change the app language
2) added Esperanto to the list of language in content language
2020-01-04 21:38:27 +01:00
Avently
e063967734 Third block of fixes for review
- audio-only streams plays the same way as video streams
- fullscreen mode for tablet with controls on the right place
- hidden controls while swiping mini player down
- mini player works better
2020-01-03 19:19:14 +03:00
k1rakishou
eb5fb42da9 Couple more code review changes 2020-01-03 16:29:04 +03:00
k1rakishou
c46a0f7b2e Code-review changes 2020-01-03 13:00:53 +03:00
k1rakishou
835476870b Merge remote-tracking branch 'push_here/(#1570)-lock-screen-video-thumbnail' into (#1570)-lock-screen-video-thumbnail
# Conflicts:
#	app/src/main/java/org/schabi/newpipe/player/BackgroundPlayer.java
#	app/src/main/java/org/schabi/newpipe/player/helper/MediaSessionManager.java
#	app/src/main/java/org/schabi/newpipe/util/BitmapUtils.java
#	app/src/main/res/xml/video_audio_settings.xml
2020-01-03 12:56:01 +03:00
Avently
4519dd010d Second block of fixes for review
- hide/show controls with respect of SystemUI. In fullscreen mode controls will stay away from NavigationBar
- notification from running service will be hidden if a user disabled background playback
- fixed incorrect handling of a system method in API 19
- better MultiWindow support
2020-01-03 08:05:31 +03:00
TobiGr
718acb5059 Code improvements 2020-01-02 15:00:31 +01:00
TobiGr
1aa763e86c Enable lockscreen video thumbnail by default 2020-01-02 15:00:31 +01:00
k1rakishou
0395dc6e9e Add a setting for the lock screen thumbnail feature 2020-01-02 15:00:31 +01:00
k1rakishou
96de70b71e Rebase onto the latest dev, update appcompat dependencies to use androidx 2020-01-02 15:00:31 +01:00
k1rakishou
f44883e79f Show video thumbnail on the lock screen 2020-01-02 15:00:31 +01:00
Tobias Groza
c56fb8cec2 Merge pull request #2871 from atpamat/main-window-tabs
make main page tabs scrollable and hide when there is only a single tab
2020-01-02 13:22:01 +01:00
Paweł Matuszewski
3625a38a23 improve code consistency in ScrollableTabLayout 2020-01-02 13:02:14 +01:00
Paweł Matuszewski
1393d3ad7f fix ScrollableTabLayout content width calculation
fix bug where only minimum width requested by tab was counted even if actual content was wider
2020-01-02 13:02:14 +01:00
Paweł Matuszewski
b674cfec24 simplify ScrollableTabLayout tabs width checking 2020-01-02 13:02:14 +01:00
Paweł Matuszewski
f0f0c43b72 hide main page tab selector with single tab 2020-01-02 13:02:14 +01:00
Paweł Matuszewski
33caad4690 make main page tabs scrollable 2020-01-02 13:02:14 +01:00
Tobias Groza
0afc8005d0 Merge pull request #2771 from atpamat/background-player-notif-lag
Limit amount of notification thumbnail updates in background player
2020-01-01 23:01:11 +01:00
Yaron Shahrabani
f04d2e76fa Translated using Weblate (Hebrew)
Currently translated at 100.0% (522 of 522 strings)
2020-01-01 19:12:04 +01:00
Igor Nedoboy
8e1d7f162d Translated using Weblate (Russian)
Currently translated at 100.0% (522 of 522 strings)
2020-01-01 19:12:01 +01:00
Paweł Matuszewski
ee65e89230 limit amount of notification thumbnail updates
limits amount of calls to updateNotificationThumbnail in background player
2020-01-01 16:38:46 +01:00
Matsuri
a8e26238a8 Translated using Weblate (Chinese (Simplified))
Currently translated at 98.7% (515 of 522 strings)
2020-01-01 13:26:15 +01:00
MohammedSR Vevo
a3dc95bef1 Translated using Weblate (Kurdish)
Currently translated at 99.8% (521 of 522 strings)
2020-01-01 13:26:15 +01:00
Software In Interlingua
a29df9a2dd Translated using Weblate (Interlingua)
Currently translated at 9.4% (49 of 522 strings)
2020-01-01 13:26:14 +01:00
Yaron Shahrabani
cc17d268fc Translated using Weblate (Hebrew)
Currently translated at 100.0% (522 of 522 strings)
2020-01-01 13:26:11 +01:00
Ariel Shulman
22a9a06b87 Translated using Weblate (Hebrew)
Currently translated at 100.0% (522 of 522 strings)
2020-01-01 13:26:09 +01:00
Alexander--
55d2637214 Merge remote-tracking branch 'newpipe/dev' into rebase 2020-01-01 12:55:05 +06:59
chr56
d063d39dbc Translated using Weblate (Chinese (Simplified))
Currently translated at 98.7% (515 of 522 strings)
2019-12-31 19:01:41 +01:00
Jeff Huang
87e29dbd84 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (522 of 522 strings)
2019-12-31 19:01:40 +01:00
MohammedSR Vevo
2227a7a6bd Translated using Weblate (Kurdish)
Currently translated at 99.8% (521 of 522 strings)
2019-12-31 19:01:39 +01:00
ButterflyOfFire
867f633d16 Translated using Weblate (French)
Currently translated at 99.4% (519 of 522 strings)
2019-12-31 19:01:34 +01:00
ButterflyOfFire
b9de3c202a Translated using Weblate (Arabic)
Currently translated at 100.0% (522 of 522 strings)
2019-12-31 19:01:33 +01:00
pjammo
56364c4a2c Translated using Weblate (Italian)
Currently translated at 100.0% (522 of 522 strings)
2019-12-31 19:01:32 +01:00
WaldiS
b1fd2c007d Translated using Weblate (Polish)
Currently translated at 99.2% (518 of 522 strings)
2019-12-31 19:01:27 +01:00
Yaron Shahrabani
741a872c39 Translated using Weblate (Hebrew)
Currently translated at 100.0% (522 of 522 strings)
2019-12-31 19:01:26 +01:00
Igor Nedoboy
e1e2add616 Translated using Weblate (Russian)
Currently translated at 100.0% (522 of 522 strings)
2019-12-31 19:01:25 +01:00
C. Rüdinger
0c664e346a Translated using Weblate (German)
Currently translated at 99.2% (518 of 522 strings)
2019-12-31 19:01:25 +01:00
Oğuz Ersen
7ddb856ccd Translated using Weblate (Turkish)
Currently translated at 100.0% (522 of 522 strings)
2019-12-31 19:01:24 +01:00
Software In Interlingua
17c0b981d1 Added translation using Weblate (Interlingua) 2019-12-31 19:01:20 +01:00
Avently
bc2dc8d933 First block of fixes for review
- popup player click event changed to show/hide buttons
- queue panel WORKS. Finally
- removed theme overriding in fragment
- added scroll to top after stream selection
- adjusted padding/margin of buttons in player
- player will itself in fullscreen after user hides it in fullscreen mode and then expands it again while video still playing
2019-12-31 19:06:39 +03:00
Tobias Groza
7f0a9904ff Merge pull request #2913 from yausername/fixTranslatableUrl
made instance list url non translatable
2019-12-31 15:51:27 +01:00
yausername
2b4190d85d made instance list url non translatable 2019-12-31 20:10:51 +05:30
Tobias Groza
57e89babf1 Merge pull request #2879 from Louis-Berlic/dev
Add support for Occitan language
2019-12-31 11:02:14 +01:00
Tobias Groza
209dc5ace9 Merge pull request #2912 from mauriciocolli/fix-wrong-thread-access
Fix for player access out of its creation thread
2019-12-31 10:55:12 +01:00
chr56
ab7f3c7399 Merge branch 'dev' into dev 2019-12-31 17:29:46 +08:00
Mauricio Colli
1e7e8d4121 Fix for player access out of its creation thread 2019-12-31 02:52:16 -03:00
Avently
fc9b63298c Optimizations and fixes of rare situations
- popup after orientation change had incorrect allowed bounds for swiping
- popup could cause a crash after many quick switches to main player and back
- better method of setting fullscreen/non-fullscreen layout using thumbnail view. Also fixed thumbnail height in fullscreen layout
- global settings observer didn't work when a user closed a service manually via notification because it checked for service existing
- app will now exits from fullscreen mode when the user switches players
- playQueuePanel has visibility "gone" by default (not "invisible") because "invisible" can cause problems
2019-12-31 05:07:07 +03:00
Tobias Groza
04b75ef05f Merge pull request #2636 from dotvirus/longpress-on-custom-playlists
Add local playlist to queue when long clicking on 'Background/Popup'
2019-12-31 01:50:52 +01:00
dotvirus
de19421de1 Update LocalPlaylistFragment.java 2019-12-31 01:42:41 +01:00
Tobias Groza
61f64a7349 Merge pull request #2875 from Nico-late/Issue#2838
Fixed issues #2838 #2797 #2773
2019-12-31 01:23:24 +01:00
Nico-late
6fb16bad85 Update app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java
Space added for more clarity

Co-Authored-By: Tobias Groza <TobiGr@users.noreply.github.com>
2019-12-31 00:52:01 +01:00
Nico-late
694813ac90 Fixed issue #2838 2019-12-31 00:52:01 +01:00
C. Rüdinger
6f3fd50ed8 Translated using Weblate (German)
Currently translated at 99.2% (518 of 522 strings)
2019-12-30 14:06:08 +01:00
TobiGr
c1e1c191d0 Translated using Weblate (German)
Currently translated at 99.2% (518 of 522 strings)
2019-12-30 14:06:08 +01:00
Igor Nedoboy
f4c8fdaf07 Translated using Weblate (Russian)
Currently translated at 100.0% (522 of 522 strings)
2019-12-29 23:20:25 +01:00
MohammedSR Vevo
457ebe3aa2 Translated using Weblate (Kurdish)
Currently translated at 78.5% (410 of 522 strings)
2019-12-29 22:55:19 +01:00
Avently
c45514b989 All players in one place
- main, background, popup players now connected via one service, one view, one fragment, one activity and one gesture listener
- playback position is synchronized between players. Easy to switch from one to another
- expandable player at the bottom of the screen with cool animation and additional features like long click to open channel of a video, play/pause/close buttons and swipe down to dismiss
- in-player integrated buttons for opening in browser, playing with Kodi, sharing a video
- better background playback that can be activated in settings. Allows to automatically switch to audio-only mode when going to background and then switching to video-mode when returning to the app.
2019-12-30 00:15:01 +03:00
MohammedSR Vevo
8da8ce0a0a Translated using Weblate (Kurdish)
Currently translated at 70.9% (360 of 508 strings)
2019-12-29 13:59:23 +01:00
Igor Nedoboy
cc869b98a3 Translated using Weblate (Russian)
Currently translated at 100.0% (508 of 508 strings)
2019-12-29 13:59:01 +01:00
winqooq
f9e7873e54 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (508 of 508 strings)
2019-12-27 17:26:55 +01:00
Hosted Weblate
c4cba8aa37 Merge branch 'origin/dev' into Weblate. 2019-12-27 09:21:15 +01:00
Jaewoi
22e4ef4034 Translated using Weblate (Korean)
Currently translated at 98.6% (501 of 508 strings)
2019-12-27 09:21:12 +01:00
thami simo
708cdc4c62 Translated using Weblate (Arabic)
Currently translated at 100.0% (522 of 522 strings)
2019-12-24 08:21:11 +01:00
Hosted Weblate
94931df60b Merge branch 'origin/dev' into Weblate. 2019-12-22 23:21:13 +01:00
Éfrit
b3605fe6d4 Translated using Weblate (French)
Currently translated at 100.0% (508 of 508 strings)
2019-12-22 23:21:11 +01:00
justanidea
11e0ed7c4f Translated using Weblate (French)
Currently translated at 100.0% (508 of 508 strings)
2019-12-22 23:21:11 +01:00
WaldiS
34e89448b1 Translated using Weblate (Polish)
Currently translated at 100.0% (508 of 508 strings)
2019-12-22 23:21:09 +01:00
TobiGr
9a6e936996 Add SoundCloud audio stream extraction fix to changelog 2019-12-22 00:59:39 +01:00
TobiGr
5ed58b8609 Update extractor to fix SoundCloud audio stream extraction 2019-12-22 00:50:16 +01:00
Tobias Groza
0d7d610127 Merge pull request #2862 from TeamNewPipe/release_0.18.0
Release 0.18.0
2019-12-21 19:47:54 +01:00
chr56
9f789167da Merge branch 'dev' into dev 2019-12-21 17:31:50 +08:00
TobiGr
92a42235a1 Add changelog 2019-12-21 01:14:11 +01:00
TobiGr
3f52938f08 Bump version to 0.18.0 and version code to 800 2019-12-21 01:14:11 +01:00
Louis-Berlic
a08cd4ce6a Move to values-oc 2019-12-19 16:11:17 +01:00
Louis-Berlic
46b12ed819 Added initial strings.xml for Occitan language 2019-12-19 16:10:09 +01:00
TobiGr
e7ef193da6 Merge remote-tracking branch 'Weblate/dev' into dev 2019-12-18 23:12:31 +01:00
WaldiS
2ebe5aa878 Translated using Weblate (Polish)
Currently translated at 100.0% (508 of 508 strings)
2019-12-18 14:21:09 +01:00
Adolfo Jayme Barrientos
f58f6639f8 Translated using Weblate (Spanish)
Currently translated at 99.8% (507 of 508 strings)
2019-12-17 08:31:15 +01:00
Tobias Groza
f995ba115c Merge pull request #2868 from yausername/fix-add-instance-dialog
fix add instance dialog
2019-12-15 11:01:13 +01:00
Tobias Groza
755dff343d Merge pull request #2792 from mqus/dev
Enabling TLS1.1/1.2 on Android 4.4 devices (API 19/KitKat)
2019-12-15 00:17:37 +01:00
yausername
c8c7d23971 fix add instance dialog 2019-12-15 01:30:47 +05:30
chr_56
9309159c38 copy file in /values-b+zh+HANS+CN to /values-zh-rCN ,in order to manually update the lang file. 2019-12-14 21:25:19 +08:00
chr_56
8e45296826 remove values-cmn/strings.xml (useless) 2019-12-14 21:16:40 +08:00
Markus
559bcfc6a5 Remove commented-out code and hide stacktraces in release mode 2019-12-13 21:46:19 +01:00
Markus
23c2f748d6 Add trying out some more cipher suites which may be supported on non-standard Android 4.4.2 devices 2019-12-13 21:46:12 +01:00
Markus
3e409b9cc1 Fix formatting and remove unused code 2019-12-13 21:43:03 +01:00
Markus Richter
c0453065e4 Enable TLS v1.1/1.2 for KitKat devices
This enables modern TLS versions in the collection browser, the Downloader and the Player.
This is neccessary because media.ccc.de rejects all older TLS connection attempts, see issue #2777.
2019-12-13 21:42:58 +01:00
Tobias Groza
88a6e5981f Merge pull request #2744 from XiangRongLin/seek
Adjustable seek duration
2019-12-13 08:47:02 +01:00
Xiang Rong Lin
8970a663ec Rename "seek_duration_default_key" and use it in BasePlayer 2019-12-13 07:14:17 +01:00
Xiang Rong Lin
334437137e Remove local variable for seek duration 2019-12-13 07:14:17 +01:00
Xiang Rong Lin
949c01b37f Extract getting of seek duration into a function 2019-12-13 07:14:17 +01:00
Xiang Rong Lin
17146c2c13 Rename adjustable seek duration setting
Change from "Seek duration" to "Fast-forward/-rewind seek duration"
2019-12-13 07:14:17 +01:00
Xiang Rong Lin
dcd35b038e Adjust BasePlayer to use seek duration of preferences.
Changes behaviour when double-tapping in video and clicking fast forward/rewind in background mode.
2019-12-13 07:14:17 +01:00
Xiang Rong Lin
550364906d Add new preference for seek duration.
Add new ListPreference under settings/ video & audio for the duration of a seek.
With options for 5, 10, 15, 20, 25, 30 seconds.
2019-12-13 07:14:17 +01:00
Tobias Groza
fa8483bbb6 Merge pull request #2860 from spk/fix-cannot-resolv-symbol
Migrate annotation to androidx
2019-12-12 21:44:49 +01:00
TobiGr
b976e40439 Delete view_history_deleted translation 2019-12-12 21:32:38 +01:00
TobiGr
6fcae39fe2 Delete toggle_leak_canary translation 2019-12-12 21:32:03 +01:00
Laurent Arnoud
ec1de9824a Migrate annotation to androidx
release build is failing without this on android studio 3.5.3
2019-12-12 21:31:23 +01:00
TobiGr
8f83c210ad Delete overwrite_warning translations 2019-12-12 21:31:19 +01:00
TobiGr
d68009ff7e Delete msg_pending_downloads translations 2019-12-12 21:30:19 +01:00
TobiGr
bac2045111 Delete error_http_requested_range_not_satisfiable translations 2019-12-12 21:29:37 +01:00
TobiGr
bbf3c37978 Delete direct_on_background translations 2019-12-12 21:29:22 +01:00
TobiGr
901c63d1f2 Rename default_kiosk_page_sumatry to default_kiosk_page_summary
Remove duplicates
2019-12-12 21:25:31 +01:00
TobiGr
13306b5c1b Merge remote-tracking branch 'Weblate/dev' into dev 2019-12-12 20:58:22 +01:00
TobiGr
b883ad1657 Update extractor to TeamNewPipe/NewPipeExtractor@8cb3250
Fix soundcloud client id extraction
Improve handling of missing uploader in playlist
2019-12-12 18:47:26 +01:00
Tobias Groza
6029e18980 Merge pull request #2569 from marcovr/dev
Black navigation bar for black theme
2019-12-12 18:32:49 +01:00
Mitesh Sanjay Mutha
a81b791ee3 Translated using Weblate (Hindi)
Currently translated at 100.0% (508 of 508 strings)
2019-12-11 22:59:56 +01:00
THANOS SIOURDAKIS
7e5aaabadf Translated using Weblate (Greek)
Currently translated at 99.8% (507 of 508 strings)
2019-12-11 22:59:55 +01:00
chr56
e01e0d5aed Translated using Weblate (Chinese (Simplified))
Currently translated at 98.8% (502 of 508 strings)
2019-12-11 13:55:38 +01:00
pjammo
db07b81c3c Translated using Weblate (Italian)
Currently translated at 100.0% (508 of 508 strings)
2019-12-11 13:55:27 +01:00
Helios
d660e4ac9d Translated using Weblate (Tamil)
Currently translated at 43.5% (221 of 508 strings)
2019-12-11 13:55:26 +01:00
Marco vR
d90588ce6b Fix style version 2019-12-11 10:04:57 +01:00
Marco vR
7e78197b37 Avoid duplicated code & dark navbar for DarkTheme 2019-12-11 10:04:57 +01:00
Marco vR
06af26f1f2 Black navigation bar for black theme
See: https://github.com/TeamNewPipe/NewPipe/issues/1494
2019-12-11 10:04:57 +01:00
Tobias Groza
d0e07276dd Merge pull request #2856 from TeamNewPipe/Stypox-patch-1
Add PeerTube to README
2019-12-10 22:34:15 +01:00
Stypox
59c19614ea Add PeerTube to README.md 2019-12-10 22:19:54 +01:00
Stypox
0f04dd6dae Merge pull request #2724 from PeterHindes/dev
[Bug Fixed] Playlists With No Uploader No Longer Crash The App When Added To Users Library
2019-12-10 22:12:47 +01:00
Peter Hindes
b365973ac6 fix last recomendation. syntax and imports 2019-12-10 12:18:49 -07:00
Peter Hindes
19fb8cfbfe Update app/src/main/java/org/schabi/newpipe/local/holder/RemotePlaylistItemHolder.java
Co-Authored-By: Redirion <redirion@web.de>
2019-12-10 12:13:04 -07:00
Peter Hindes
d8e6a5cb33 Merge branch 'dev' into dev 2019-12-10 09:59:12 -07:00
Peter Hindes
f4c6a49339 Revert "Merge branch 'dev' of https://github.com/PeterHindes/NewPipe into dev"
This reverts commit 23ee22566d, reversing
changes made to ea70a1f334.
2019-12-10 09:50:53 -07:00
Peter Hindes
23ee22566d Merge branch 'dev' of https://github.com/PeterHindes/NewPipe into dev 2019-12-10 09:50:47 -07:00
Peter Hindes
ea70a1f334 no change 2019-12-10 09:50:33 -07:00
Peter Hindes
68a1407314 Dont update this 2019-12-10 09:48:16 -07:00
Peter Hindes
881efb9be8 Merge branch 'dev' of https://github.com/PeterHindes/NewPipe into dev 2019-12-10 09:44:21 -07:00
Peter Hindes
7844547e4f not used 2019-12-10 09:44:02 -07:00
Peter Hindes
054279d553 Update app/src/main/res/values/strings.xml
Co-Authored-By: Stypox <stypox@pm.me>
2019-12-10 09:37:57 -07:00
Alexander--
8c9015b57b Remove commented code 2019-12-10 21:21:35 +06:59
Alexander--
a0cb96abff Merge remote-tracking branch 'newpipe/dev' into rebase 2019-12-10 21:20:26 +06:59
Tobias Groza
b2bbdc656a Merge pull request #2201 from yausername/peertube-ui
PeerTube support
2019-12-10 14:39:38 +01:00
yausername
a0151f2a68 more grammar fix 2019-12-10 12:36:56 +05:30
yausername
fd5f4d9840 merged upstream/dev 2019-12-10 01:37:33 +05:30
Peter Hindes
98d7e6bcc6 Merge branch 'dev' into dev 2019-12-09 09:13:18 -07:00
Tobias Groza
e92ca5e572 Merge pull request #2820 from Redirion/remember-subtitles
Remember caption option in player, closes #2811
2019-12-09 17:01:30 +01:00
Tobias Groza
27ca9ed8b8 Merge branch 'dev' into remember-subtitles 2019-12-09 16:55:37 +01:00
Tobias Groza
c2b1d45fc4 Merge pull request #2679 from kapodamy/dl-last-features
more dl features
2019-12-07 09:10:53 +01:00
kapodamy
03939555ac add missing change after updating NPE
use +webm_opus instead of +opus
2019-12-07 00:16:01 -03:00
kapodamy
5a2cd93d13 remove netbeans editor-fold comments 2019-12-06 16:30:07 -03:00
Peter Hindes
ef69625cd2 Merge branch 'dev' into dev 2019-12-06 08:57:43 -07:00
Peter Hindes
ae88b4c697 remove unused code pt2 2019-12-06 08:38:15 -07:00
Peter Hindes
693756bdd6 Removed redundant. Related to last merge 2019-12-06 08:36:57 -07:00
Peter Hindes
c05633979c Update app/src/main/java/org/schabi/newpipe/local/holder/RemotePlaylistItemHolder.java
Co-Authored-By: Redirion <redirion@web.de>
2019-12-06 08:35:14 -07:00
Peter Hindes
7d80d04f34 Remove unused code pt1 2019-12-06 08:32:45 -07:00
dgarciabad
3ff2da3b20 Translated using Weblate (Spanish)
Currently translated at 99.8% (507 of 508 strings)
2019-12-06 03:58:06 +01:00
Rex_sa
eb15bc97a7 Translated using Weblate (Arabic)
Currently translated at 99.4% (505 of 508 strings)
2019-12-06 03:58:05 +01:00
dgarciabad
c6cd2dd854 Translated using Weblate (Basque)
Currently translated at 99.8% (507 of 508 strings)
2019-12-06 03:58:04 +01:00
kapodamy
aae8865bdd remove unused imports 2019-12-05 14:04:48 -03:00
ozyc
c15cead9e2 Translated using Weblate (Esperanto)
Currently translated at 100.0% (508 of 508 strings)
2019-12-05 06:05:18 +01:00
Daniele Lira Mereb
0ccd30b12e Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (508 of 508 strings)
2019-12-05 06:05:17 +01:00
yausername
d2a59ecc62 grammar fix 2019-12-05 05:11:05 +05:30
yausername
7a67d192c3 updated extractor 2019-12-03 07:22:14 +05:30
yausername
d32ad36f3d reorder peertube settings entry 2019-12-03 07:16:25 +05:30
Allan Nordhøy
f587d79cd8 Translated using Weblate (Norwegian Bokmål)
Currently translated at 98.8% (502 of 508 strings)
2019-12-03 01:05:20 +01:00
Osoitz
9e290ce91a Translated using Weblate (Basque)
Currently translated at 98.2% (499 of 508 strings)
2019-12-03 01:05:19 +01:00
yausername
0c40a45075 use plurals 2019-12-03 02:08:59 +05:30
yausername
17c5e73994 null check on share 2019-12-03 02:04:52 +05:30
yausername
890d1cb50b update extractor, kiosk names and icons 2019-12-03 01:50:23 +05:30
yausername
4c89d1a6e5 Merge remote-tracking branch 'upstream/dev' into peertube-ui 2019-12-03 01:21:25 +05:30
Alexander--
3f51114129 Improve usability of settings on TV devices
* Add focus overlay to SettingsActivity
* Make screen "Contents of Main Page" navigable from remote
2019-12-01 12:43:38 +06:59
Alexander--
29136d633a Intercept ActivityNotFoundException for ACTION_CAPTIONING_SETTINGS 2019-12-01 12:43:38 +06:59
Alexander--
20bff1389e Disable touchScreenBlocksFocus on AppBarLayout
For some inexplicable reason this attribute got
enabled by default on Android 9, which effectively
prevents details screen from working
2019-12-01 12:41:11 +06:59
Alexander--
106e538d08 Excpicitly disable touchscreen requirement 2019-12-01 12:41:11 +06:59
Alexander--
dc7ae3917e Leanback launcher support 2019-12-01 12:41:11 +06:59
Alexander--
c0fb96a911 Release seekbar on any confirmation key, not just DPAD_CENTER 2019-12-01 12:41:11 +06:59
Alexander--
a1e02f7704 Default to landscape orientation for Android TV 2019-12-01 12:41:11 +06:59
Alexander--
436c75ca6c Make comment pic explicitly non-focusable 2019-12-01 12:41:11 +06:59
Alexander--
7d75950624 Disable srolling down comment list while comments are loading
Prevents comment list from losing focus to some outside View
when user tries to scroll down after reaching "end"
2019-12-01 12:41:11 +06:59
Alexander--
5f051a9766 More fixes to comment focus handling 2019-12-01 12:41:11 +06:59
Alexander--
5716cf8cb2 Add hints for focus transition from description 2019-12-01 12:41:11 +06:59
Alexander--
7bb5cacb0d Special MovementMethod for video description
Video descriptions can be very long. Some of them are
basically walls of text with couple of lines at top or bottom.
They are also not scrolled within TextView itself, - instead
NewPipe expects user to scroll their containing ViewGroup.
This renders all builtin MovementMethod implementations useless.

This commit adds a new MovementMethod, that uses requestRectangleOnScreen
to intelligently re-position the TextView within it's scrollable container.
2019-12-01 12:41:11 +06:59
Alexander--
9801cf50e3 Save/restore focused item 2019-12-01 12:41:11 +06:59
Alexander--
b5558a8b78 Remove FixedGridLayoutManager 2019-12-01 12:41:11 +06:59
Alexander--
a7c31e6bcc RecyclerView scroll fixes
* Move all focus-related work arouns to NewPipeRecyclerView
* Try to pass focus within closer parents first
* Do small arrow scroll if there are not more focusables in move direction
2019-12-01 12:41:11 +06:59
Alexander
6e76610f30 Eliminate bunch of ExoPlayer warnings 2019-12-01 12:41:11 +06:59
Alexander
6da2b399e8 Allow comment links (if any) to gain focus 2019-12-01 12:41:11 +06:59
Alexander
79c962fc88 More robust focus search in SuperScrollLayoutManager
FocusFinder has glitches when some of target Views have different size.
Fortunately LayoutManager can redefine focus search strategy to override
the default behavior.
2019-12-01 12:41:11 +06:59
Alexander
28fb864ed0 Focus video view thumbnail after it is loaded 2019-12-01 12:41:11 +06:59
Alexander
d23227d427 Implement global focus highlight 2019-12-01 12:41:11 +06:59
Alexander
eb6d26b6a4 Focus drawer when it opens
It is still buggy because of NavigationView (why the hell
is NavigationMenuView marked as focusable?) but at least initial
opening works as intended
2019-12-01 12:41:10 +06:59
Alexander
a8a28294d3 Support for seeking videos in directional navigation mode 2019-12-01 12:41:10 +06:59
Alexander
7db1ba40eb Do not allow focus to escape from open DrawerLayout
Upstream DrawerLayout does override addFocusables, but
incorrectly checks for isDrawerOpen instread of isDrawerVisible
2019-12-01 12:41:10 +06:59
Alexander
d8bd8d87ec Make player screen controls into buttons
Buttons are more likely to have "correct" styling and are
focusable/clickable out of box
2019-12-01 12:41:10 +06:59
Alexander
d29e0aa1a7 Improve usability of MainVideoActivity with directional navigation
* Hide player controls when back is pressed (only on TV devices)
* Do not hide control after click unless in touch mode
* Show player controls on dpad usage
* Notably increase control hide timeout when not in touch mode
2019-12-01 12:41:10 +06:59
Alexander
644ad110c0 Make description focusable, so TV users can scroll it 2019-12-01 12:41:10 +06:59
Alexander
6791de5fc0 Do not discriminate against non-Amazon TV boxes 2019-12-01 12:41:10 +06:59
Alexander
1bb96ef405 When child of CoordinatorLayout wants focus, show it!
The same logic is present in RecyclerView, ScrollView etc.
Android really should default to this behavior for all Views
with isScrollContainer = true
2019-12-01 12:41:10 +06:59
Alexander
7dc4ccf144 MainPlayer: make title and subtitle non-focusable
Focus isn't needed for marquee, only selection
2019-12-01 12:41:10 +06:59
Alexander
2b39438eba Fix scrolling in main screen grid
GridLayoutManager is buggy - https://issuetracker.google.com/issues/37067220:
it randomly loses or incorrectly assigns focus when being scrolled via
direction-based navigation. This commit reimplements onFocusSearchFailed()
on top of scrollBy() to work around that problem.

Ordinary touch-based navigation should not be affected.
2019-12-01 12:41:10 +06:59
Alexander
8952e2b0cd Close DrawerLayout on back button press 2019-12-01 12:41:10 +06:59
Alexander
4806ac62ee Correctly move focus from toolbar search bar to dropdown
We don't hide MainFragment when search is show, so FocusFinder
sometimes gives focus to (obscured) main content
2019-12-01 12:41:10 +06:59
Alexander
eaa1179572 Fix scrolling comments list
AppBarLayout mostly gets it, but we still need to uphold our own part -
expanding it back after focus returns to it
2019-12-01 12:41:10 +06:59
Rex_sa
77d3a1ef45 Translated using Weblate (Arabic)
Currently translated at 99.4% (505 of 508 strings)
2019-11-30 19:22:13 +01:00
Hosted Weblate
6e289b44c7 Merge branch 'origin/dev' into Weblate. 2019-11-29 20:05:27 +01:00
Jeff Huang
8039055a87 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (508 of 508 strings)
2019-11-29 20:05:25 +01:00
Florian
6c0f5bef21 Translated using Weblate (French)
Currently translated at 100.0% (508 of 508 strings)
2019-11-29 20:05:24 +01:00
Lucas Galello
7dd7ea1a32 Translated using Weblate (Spanish)
Currently translated at 99.6% (506 of 508 strings)
2019-11-29 20:05:24 +01:00
JoC
3bce9a8ead Translated using Weblate (Spanish)
Currently translated at 99.6% (506 of 508 strings)
2019-11-29 20:05:23 +01:00
narayaan
da82e3f5d1 Translated using Weblate (Dutch)
Currently translated at 90.7% (461 of 508 strings)
2019-11-29 20:05:23 +01:00
Stefano Panzeri
0df5d7a934 Translated using Weblate (Italian)
Currently translated at 100.0% (508 of 508 strings)
2019-11-29 20:05:22 +01:00
WaldiS
27f38f329f Translated using Weblate (Polish)
Currently translated at 100.0% (508 of 508 strings)
2019-11-29 20:05:21 +01:00
zeritti
c4707978c4 Translated using Weblate (Czech)
Currently translated at 100.0% (508 of 508 strings)
2019-11-29 20:05:20 +01:00
BennyBeat
2ad0792581 Translated using Weblate (Catalan)
Currently translated at 100.0% (508 of 508 strings)
2019-11-29 20:05:16 +01:00
naofum
8741856234 Translated using Weblate (Japanese)
Currently translated at 100.0% (508 of 508 strings)
2019-11-29 20:05:00 +01:00
ssantos
e37a86efc2 Translated using Weblate (German)
Currently translated at 100.0% (508 of 508 strings)
2019-11-29 20:04:59 +01:00
Geoflly Adonias
baee238a2c Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (508 of 508 strings)
2019-11-29 20:04:59 +01:00
k1rakishou
e8437052d8 Add a setting for the lock screen thumbnail feature 2019-11-28 21:47:15 +03:00
k1rakishou
cf13f5ca56 Rebase onto the latest dev, update appcompat dependencies to use androidx 2019-11-28 21:47:15 +03:00
k1rakishou
52f82ed228 Show video thumbnail on the lock screen 2019-11-28 21:47:15 +03:00
kapodamy
84ec320df4 commit
* rebase fixup, add null check
* better ETA string
* drop connection read timeout, for HSDPA networks
* bump NPE version
2019-11-26 13:41:16 -03:00
kapodamy
0033843bc2 Merge branch 'dl-last-features' of https://github.com/kapodamy/NewPipe into dl-last-features 2019-11-26 10:46:59 -03:00
kapodamy
3ca461413e Merge branch 'dev' into dl-last-features 2019-11-26 10:46:32 -03:00
kapodamy
e6d9d8e26d code cleanup
* migrate few annotations to androidx
* mission recovery: better error handling (except StreamExtractor.getErrorMessage() method always returns an error)
* post-processing: more detailed progress

[file specific changes]

DownloadMission.java
* remove redundant/boilerplate code (again)
* make few variables volatile
* better file "length" approximation
* use "done" variable to count the amount of bytes downloaded (simplify percent calc in UI code)

Postprocessing.java
* if case of error use "ERROR_POSTPROCESSING" instead of "ERROR_UNKNOWN_EXCEPTION"
* simplify source stream init

DownloadManager.java
* move all "service message sending" code to DownloadMission
* remove not implemented method "notifyUserPendingDownloads()" also his unused strings

DownloadManagerService.java
* use START_STICKY instead of START_NOT_STICKY
* simplify addMissionEventListener()/removeMissionEventListener() methods (always are called from the main thread)

Deleter.java
* better method definition

MissionAdapter.java
* better method definition
* code cleanup
* the UI is now refreshed every 750ms
* simplify download progress calculation
* indicates if the download is actually recovering
* smooth download speed measure
* show estimated remain time

MainFragment.java:
* check if viewPager is null (issued by "Apply changes" feature of Android Studio)
2019-11-26 10:46:31 -03:00
kapodamy
763995d4c9 update DownloadDialog.java
keep *.opus extension
2019-11-26 10:46:29 -03:00
kapodamy
8a992d4c47 update WebMWriter.java
fix wrong cue generation
2019-11-26 10:46:29 -03:00
kapodamy
da052df106 update DownloadManager.java
* check if the directory pending_downloads was created
2019-11-26 10:46:29 -03:00
kapodamy
60d4c8a55d fallback for pending downloads directory 2019-11-26 10:46:29 -03:00
kapodamy
4292ca94ff misc changes
* OggFromWebMWriter: rewrite (again), reduce iterations over the input. Works as-is (video streams are not supported)
* WebMReader: use int for SimpleBlock.dataSize instead of long
* Download Recovery: allow recovering uninitialized downloads
* check range-requests using HEAD method instead of GET
* DownloadRunnableFallback: add workaround for 32kB/s issue, unknown issue origin, wont fix
* reporting downloads errors now include the source url with the selected quality and format
2019-11-26 10:46:28 -03:00
kapodamy
570738190d Mp4FromDashWriter fixes
* correct calculation of "co64" box and usage of 64bits offsets
* generate one chunk for audio streams like ffmpeg does, attempt to fix cut-off audio
* misc. cleanup
2019-11-26 10:46:26 -03:00
kapodamy
86dafdd92b long-term downloads resume
* recovery infrastructure
* bump serialVersionUID of DownloadMission
* misc cleanup in DownloadMission.java
* remove unused/redundant from strings.xml
2019-11-26 10:46:26 -03:00
kapodamy
dab53450c1 rewrite OggFromWebMWriter
* reduce the number of iterations over the output file (less seeking)
* fix audio samples with size of 255 do not handled correctly in the segment table (allows writing audio streams with 70kbps and 160kbps bitrate)
* add support for VORBIS codec metadata
* write packets based on the timestamp
2019-11-26 10:46:26 -03:00
kapodamy
773aa1eff0 implement webm to ogg demuxer
* used for opus audio stream
* update WebMReader and WebMWriter
* new post-processing algorithm
2019-11-26 10:46:26 -03:00
kapodamy
14de2f289f Merge branch 'dev' into dl-last-features 2019-11-26 10:38:47 -03:00
Tobias Groza
eeeeeef3a7 Merge pull request #2720 from haggaie/hebrew-translation
Fix Hebrew translation on some devices
2019-11-24 21:26:52 +01:00
kapodamy
ea1be11a80 Merge branch 'dev' into dl-last-features 2019-11-24 14:03:34 -03:00
yausername
309fd3fb7d white space changes 2019-11-24 21:42:05 +05:30
yausername
6a24dcec73 Merge remote-tracking branch 'upstream/dev' into peertube-ui 2019-11-24 21:20:45 +05:30
yausername
3e2dba2fd5 merged origin/peertube-ui 2019-11-24 21:19:23 +05:30
yausername
527c38adf9 easily switch between multiple peertube instances 2019-11-24 21:08:06 +05:30
kapodamy
f62a7919a5 code cleanup
* migrate few annotations to androidx
* mission recovery: better error handling (except StreamExtractor.getErrorMessage() method always returns an error)
* post-processing: more detailed progress

[file specific changes]

DownloadMission.java
* remove redundant/boilerplate code (again)
* make few variables volatile
* better file "length" approximation
* use "done" variable to count the amount of bytes downloaded (simplify percent calc in UI code)

Postprocessing.java
* if case of error use "ERROR_POSTPROCESSING" instead of "ERROR_UNKNOWN_EXCEPTION"
* simplify source stream init

DownloadManager.java
* move all "service message sending" code to DownloadMission
* remove not implemented method "notifyUserPendingDownloads()" also his unused strings

DownloadManagerService.java
* use START_STICKY instead of START_NOT_STICKY
* simplify addMissionEventListener()/removeMissionEventListener() methods (always are called from the main thread)

Deleter.java
* better method definition

MissionAdapter.java
* better method definition
* code cleanup
* the UI is now refreshed every 750ms
* simplify download progress calculation
* indicates if the download is actually recovering
* smooth download speed measure
* show estimated remain time

MainFragment.java:
* check if viewPager is null (issued by "Apply changes" feature of Android Studio)
2019-11-24 12:27:16 -03:00
kapodamy
844f80a5f1 update DownloadDialog.java
keep *.opus extension
2019-11-24 12:24:59 -03:00
kapodamy
94e23142a5 update WebMWriter.java
fix wrong cue generation
2019-11-24 12:24:59 -03:00
kapodamy
9339fc80b4 update DownloadManager.java
* check if the directory pending_downloads was created
2019-11-24 12:24:58 -03:00
kapodamy
d092e39c56 fallback for pending downloads directory 2019-11-24 12:24:57 -03:00
kapodamy
160a33e8c8 misc changes
* OggFromWebMWriter: rewrite (again), reduce iterations over the input. Works as-is (video streams are not supported)
* WebMReader: use int for SimpleBlock.dataSize instead of long
* Download Recovery: allow recovering uninitialized downloads
* check range-requests using HEAD method instead of GET
* DownloadRunnableFallback: add workaround for 32kB/s issue, unknown issue origin, wont fix
* reporting downloads errors now include the source url with the selected quality and format
2019-11-24 12:24:57 -03:00
kapodamy
429ee7eb93 Mp4FromDashWriter fixes
* correct calculation of "co64" box and usage of 64bits offsets
* generate one chunk for audio streams like ffmpeg does, attempt to fix cut-off audio
* misc. cleanup
2019-11-24 12:24:54 -03:00
kapodamy
c891f2f1ed long-term downloads resume
* recovery infrastructure
* bump serialVersionUID of DownloadMission
* misc cleanup in DownloadMission.java
* remove unused/redundant from strings.xml
2019-11-24 12:24:53 -03:00
Robin
3108c903dd squashed commit 2019-11-24 16:24:39 +01:00
kapodamy
0cdfa6e377 rewrite OggFromWebMWriter
* reduce the number of iterations over the output file (less seeking)
* fix audio samples with size of 255 do not handled correctly in the segment table (allows writing audio streams with 70kbps and 160kbps bitrate)
* add support for VORBIS codec metadata
* write packets based on the timestamp
2019-11-24 12:21:02 -03:00
kapodamy
52a21e4a24 implement webm to ogg demuxer
* used for opus audio stream
* update WebMReader and WebMWriter
* new post-processing algorithm
2019-11-24 12:21:01 -03:00
Robin
8e152df46d Remember caption option in player, closes #2811 2019-11-24 11:10:50 +01:00
Igor Nedoboy
a68c8ceebe Translated using Weblate (Russian)
Currently translated at 100.0% (508 of 508 strings)
2019-11-24 01:56:56 +01:00
Igor Nedoboy
1ce44b31e2 Translated using Weblate (Russian)
Currently translated at 100.0% (508 of 508 strings)
2019-11-24 01:50:24 +01:00
Hosted Weblate
8f52f918db Merge branch 'origin/dev' into Weblate. 2019-11-23 20:19:07 +01:00
chr56
55f5f76275 Translated using Weblate (Chinese (Simplified))
Currently translated at 95.9% (487 of 508 strings)
2019-11-23 20:19:07 +01:00
Yaron Shahrabani
f122d73754 Translated using Weblate (Hebrew)
Currently translated at 100.0% (508 of 508 strings)
2019-11-23 20:19:06 +01:00
ssantos
8227d85feb Translated using Weblate (Portuguese)
Currently translated at 100.0% (508 of 508 strings)
2019-11-23 20:19:06 +01:00
Oğuz Ersen
46e2f4e579 Translated using Weblate (Turkish)
Currently translated at 100.0% (508 of 508 strings)
2019-11-23 20:19:05 +01:00
Igor Nedoboy
0c65f73180 Translated using Weblate (Russian)
Currently translated at 100.0% (508 of 508 strings)
2019-11-23 20:19:02 +01:00
TobiGr
0fb7eab2f9 Fix code formatting 2019-11-23 20:04:40 +01:00
Tobias Groza
2b2de8811e Merge pull request #2772 from mitosagi/popup-player-gestures
Fix popup player gestures
2019-11-23 19:41:55 +01:00
chr56
5e87463125 Translated using Weblate (Chinese (Simplified))
Currently translated at 95.9% (487 of 508 strings)
2019-11-23 06:26:16 +01:00
Hosted Weblate
424d3fdcd7 Merge branch 'origin/dev' into Weblate. 2019-11-23 06:19:04 +01:00
narayaan
6452c7e08c Translated using Weblate (Flemish)
Currently translated at 90.4% (459 of 508 strings)
2019-11-23 06:19:03 +01:00
Mattias Münster
e21257b786 Translated using Weblate (Swedish)
Currently translated at 91.3% (464 of 508 strings)
2019-11-23 06:19:02 +01:00
narayaan
0f70aeb910 Translated using Weblate (Dutch)
Currently translated at 90.2% (458 of 508 strings)
2019-11-23 06:19:02 +01:00
Igor Nedoboy
cedfbf5f67 Translated using Weblate (Russian)
Currently translated at 100.0% (508 of 508 strings)
2019-11-23 06:19:01 +01:00
chr56
31fab60701 Translated using Weblate (Chinese (Simplified))
Currently translated at 95.1% (483 of 508 strings)
2019-11-23 06:18:58 +01:00
yausername
afef8d8d0b removed extra white spaces 2019-11-23 00:53:14 +05:30
yausername
ac2543d0a1 validate peertube instance. changed peertube color 2019-11-23 00:31:35 +05:30
yausername
81658de08f merged upstream/dev 2019-11-22 22:41:59 +05:30
mitosagi
2ad0d47f61 Fix popup player gestures 2019-11-22 11:41:10 +01:00
Tobias Groza
b9d6d55aa4 Merge pull request #2742 from mauriciocolli/fix-mess-tabs
Fix tab handling and enable ignored tests again
2019-11-21 22:23:40 +01:00
Jeff Huang
719d8651b3 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (508 of 508 strings)
2019-11-21 15:37:20 +01:00
ozyc
f3988c37b6 Translated using Weblate (French)
Currently translated at 99.8% (507 of 508 strings)
2019-11-21 15:37:19 +01:00
zmni
912f09c83e Translated using Weblate (Indonesian)
Currently translated at 99.8% (507 of 508 strings)
2019-11-21 15:37:19 +01:00
WaldiS
27330951aa Translated using Weblate (Polish)
Currently translated at 100.0% (508 of 508 strings)
2019-11-21 15:37:18 +01:00
Yaron Shahrabani
84089453e7 Translated using Weblate (Hebrew)
Currently translated at 100.0% (508 of 508 strings)
2019-11-21 15:37:17 +01:00
naofum
59f76ef304 Translated using Weblate (Japanese)
Currently translated at 100.0% (508 of 508 strings)
2019-11-21 15:37:17 +01:00
ozyc
4061145933 Translated using Weblate (Esperanto)
Currently translated at 99.8% (507 of 508 strings)
2019-11-21 15:37:16 +01:00
nautilusx
e900a69a26 Translated using Weblate (German)
Currently translated at 100.0% (508 of 508 strings)
2019-11-21 15:37:16 +01:00
Oğuz Ersen
9cdec5de50 Translated using Weblate (Turkish)
Currently translated at 100.0% (508 of 508 strings)
2019-11-21 15:37:15 +01:00
yausername
ceabfd1a8b updated extractor 2019-11-21 05:41:14 +05:30
Mauricio Colli
bc283bce4e Make the KioskFragment aware of changes in the preferred content country 2019-11-20 00:23:35 -03:00
Mauricio Colli
544cae4fb4 Use tab position from parameters instead of relying on the view pager 2019-11-20 00:23:34 -03:00
Mauricio Colli
38a0395d45 Enable toolbar title visibility when setting a new one 2019-11-20 00:23:33 -03:00
Mauricio Colli
a5b7666188 Clear the item list when starting loading 2019-11-20 00:23:31 -03:00
Mauricio Colli
58a626dedb Fix broken view pager tabs implementation
- Fragments were being recreated from scratch (losing their state) every
time some configuration change occurred (e.g. screen rotation).
- Use `FragmentStatePagerAdapter` instead, as it is built to work with
them and manage their states.
2019-11-20 00:23:30 -03:00
Mauricio Colli
7e311e5567 Fix mess with tab handling and enable ignored tests again
- Fix typo in a string resource
- Reorder tabs so the default kiosk is on top of the others
2019-11-20 00:23:29 -03:00
yausername
596005c69e merged upstream/dev 2019-11-20 03:48:56 +05:30
Hosted Weblate
14ee7d53d7 Merge branch 'origin/dev' into Weblate. 2019-11-19 21:58:36 +01:00
Allan Nordhøy
2f575c13f1 Translated using Weblate (Norwegian Bokmål)
Currently translated at 99.0% (503 of 508 strings)
2019-11-19 21:58:36 +01:00
ozyc
82738e23ce Translated using Weblate (French)
Currently translated at 100.0% (508 of 508 strings)
2019-11-19 21:58:36 +01:00
ssantos
93e99d096a Translated using Weblate (Portuguese)
Currently translated at 99.8% (507 of 508 strings)
2019-11-19 21:58:35 +01:00
Marc Riera
784b9cf207 Translated using Weblate (Catalan)
Currently translated at 95.5% (485 of 508 strings)
2019-11-19 21:58:34 +01:00
Александр
7b56244c8b Translated using Weblate (Russian)
Currently translated at 99.8% (507 of 508 strings)
2019-11-19 21:58:34 +01:00
Allan Nordhøy
44192d6e49 Translated using Weblate (English)
Currently translated at 100.0% (508 of 508 strings)
2019-11-19 21:58:34 +01:00
ozyc
4ded3adadb Translated using Weblate (Esperanto)
Currently translated at 100.0% (508 of 508 strings)
2019-11-19 21:58:33 +01:00
ozyc
3798d5228c Translated using Weblate (German)
Currently translated at 99.8% (507 of 508 strings)
2019-11-19 21:58:33 +01:00
Oğuz Ersen
0491c4af9c Translated using Weblate (Turkish)
Currently translated at 99.8% (507 of 508 strings)
2019-11-19 21:58:32 +01:00
nautilusx
69799613aa Translated using Weblate (German)
Currently translated at 99.6% (506 of 508 strings)
2019-11-19 21:58:29 +01:00
TobiGr
c0cbec700c Merge remote-tracking branch 'Weblate/dev' into dev 2019-11-19 21:49:14 +01:00
Tobias Groza
e9c9dfcd8c Merge pull request #2799 from Ozyc/patch-1
Make reCAPTCHA string untranslatable
2019-11-19 21:16:25 +01:00
Tobias Groza
c9cbb1e6f1 Merge pull request #2816 from Redirion/patch-3
Bump ExoPlayer to 2.10.8
2019-11-19 18:11:38 +01:00
Hosted Weblate
3ea8841e3a Merge branch 'origin/dev' into Weblate. 2019-11-19 15:04:49 +01:00
chr56
8b26e5b106 Translated using Weblate (Chinese (Simplified))
Currently translated at 32.9% (165 of 501 strings)
2019-11-19 15:04:47 +01:00
Éfrit
495fa170a9 Translated using Weblate (French)
Currently translated at 100.0% (501 of 501 strings)
2019-11-19 15:04:37 +01:00
oskamuelller4fs
406d02fd28 Translated using Weblate (German)
Currently translated at 100.0% (501 of 501 strings)
2019-11-19 15:04:34 +01:00
Geoflly Adonias
3ad8883999 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (501 of 501 strings)
2019-11-19 15:04:33 +01:00
Redirion
dcd7055a9d Bump ExoPlayer to 2.10.8
Here we go again.
Minor update.
ExoPlayer Changelog: https://github.com/google/ExoPlayer/blob/release-v2/RELEASENOTES.md
2019-11-19 14:25:40 +01:00
Tobias Groza
a8e326ceea Merge pull request #2713 from mauriciocolli/compatibility-extractor
Use new Localization and Downloader implementations from extractor
2019-11-18 10:05:45 +01:00
Mauricio Colli
b125ff702a Show parsed relative times instead of whatever the service gives us
Before, the direct value was given to the user, now it uses the parsed
date so we can match the device's language.

To get the relative time from the parsed dates, we use the PrettyTime
library.

Also introduces a debug option to check the service's original value.
2019-11-17 23:58:55 -03:00
Mauricio Colli
6e546703a9 Show proper text for live streams watching/listening count 2019-11-17 23:58:54 -03:00
Mauricio Colli
71f1bbdcc1 Use new Localization and Downloader implementations from extractor 2019-11-17 23:58:52 -03:00
chr56
bdb86a7fde Translated using Weblate (Chinese (Simplified))
Currently translated at 19.2% (96 of 501 strings)
2019-11-16 23:06:09 +01:00
Pekka Ristola
8ac8258400 Translated using Weblate (Finnish)
Currently translated at 67.7% (339 of 501 strings)
2019-11-16 23:06:01 +01:00
Mattias Münster
0338ff8d51 Translated using Weblate (Swedish)
Currently translated at 91.2% (457 of 501 strings)
2019-11-16 23:06:00 +01:00
Éfrit
d694e61006 Translated using Weblate (French)
Currently translated at 100.0% (501 of 501 strings)
2019-11-16 23:05:53 +01:00
yausername
b6be586766 merged upstream/dev 2019-11-16 04:37:14 +05:30
thami simo
9915287a5a Translated using Weblate (Arabic)
Currently translated at 100.0% (501 of 501 strings)
2019-11-15 20:04:27 +01:00
WaldiS
cb19f792da Translated using Weblate (Polish)
Currently translated at 100.0% (501 of 501 strings)
2019-11-15 20:04:26 +01:00
winqooq
f449aee901 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (501 of 501 strings)
2019-11-15 20:04:26 +01:00
Jeff Huang
b665122c3c Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (501 of 501 strings)
2019-11-14 01:03:30 +01:00
Koo Hyomin
f4dbd5c9bd Translated using Weblate (Korean)
Currently translated at 100.0% (501 of 501 strings)
2019-11-14 01:03:30 +01:00
Pekka Ristola
cb6d7e6dd7 Translated using Weblate (Finnish)
Currently translated at 67.3% (337 of 501 strings)
2019-11-14 01:03:27 +01:00
ozyc
4d4a86f889 Translated using Weblate (French)
Currently translated at 100.0% (501 of 501 strings)
2019-11-14 01:03:26 +01:00
Adolfo Jayme Barrientos
e3829303f9 Translated using Weblate (Spanish)
Currently translated at 99.8% (500 of 501 strings)
2019-11-14 01:03:26 +01:00
Mitesh Sanjay Mutha
86d4cf3dfc Translated using Weblate (Hindi)
Currently translated at 100.0% (501 of 501 strings)
2019-11-14 01:03:25 +01:00
naofum
ed4196f732 Translated using Weblate (Japanese)
Currently translated at 100.0% (501 of 501 strings)
2019-11-14 01:03:23 +01:00
ozyc
af70fdd7a6 Translated using Weblate (Esperanto)
Currently translated at 100.0% (501 of 501 strings)
2019-11-14 01:03:22 +01:00
Oğuz Ersen
0ee6c1e47e Translated using Weblate (Turkish)
Currently translated at 100.0% (501 of 501 strings)
2019-11-14 01:02:57 +01:00
Ozyc
0886c6b216 Make reCAPTCHA string untranslatable
I updated reCaptchaActivity string and made it untranslatable, because it's causing "Failed check: Unchanged translation" on Weblate.
2019-11-11 15:24:06 +00:00
Hosted Weblate
754fe3adfb Merge branch 'origin/dev' into Weblate. 2019-11-10 00:04:35 +01:00
Deleted User
b5058f99ce Translated using Weblate (Norwegian Bokmål)
Currently translated at 99.2% (497 of 501 strings)
2019-11-10 00:04:32 +01:00
Jeff Huang
f7be693470 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (501 of 501 strings)
2019-11-10 00:04:31 +01:00
Deleted User
b772afeeab Translated using Weblate (Slovak)
Currently translated at 88.2% (442 of 501 strings)
2019-11-10 00:04:31 +01:00
Adolfo Jayme Barrientos
f0c7cb9f94 Translated using Weblate (Spanish)
Currently translated at 100.0% (501 of 501 strings)
2019-11-10 00:04:29 +01:00
zmni
1561c210fb Translated using Weblate (Indonesian)
Currently translated at 99.8% (500 of 501 strings)
2019-11-10 00:04:28 +01:00
thami simo
727fb27ad0 Translated using Weblate (Arabic)
Currently translated at 100.0% (501 of 501 strings)
2019-11-10 00:04:27 +01:00
gold.ris90
ceb1d70551 Translated using Weblate (Macedonian)
Currently translated at 75.6% (379 of 501 strings)
2019-11-10 00:04:25 +01:00
Yaron Shahrabani
720bff02aa Translated using Weblate (Hebrew)
Currently translated at 100.0% (501 of 501 strings)
2019-11-10 00:04:16 +01:00
ssantos
f82dd3e152 Translated using Weblate (Portuguese)
Currently translated at 100.0% (501 of 501 strings)
2019-11-10 00:04:15 +01:00
naofum
a3dff2c608 Translated using Weblate (Japanese)
Currently translated at 100.0% (501 of 501 strings)
2019-11-10 00:04:15 +01:00
ssantos
28f87dcb2b Translated using Weblate (German)
Currently translated at 100.0% (501 of 501 strings)
2019-11-10 00:04:14 +01:00
Oguz Ersen
4daae95979 Translated using Weblate (Turkish)
Currently translated at 100.0% (501 of 501 strings)
2019-11-10 00:04:13 +01:00
Tobias Groza
577bfab366 Merge pull request #2791 from Redirion/patch-2
Bump ExoPlayer to 2.10.7
2019-11-09 11:44:50 +01:00
Igor Nedoboy
655993d8f2 Translated using Weblate (Russian)
Currently translated at 100.0% (501 of 501 strings)
2019-11-08 23:18:51 +01:00
Redirion
3e079a6858 Bump ExoPlayer to 2.10.7
Little dependency update.
ExoPlayer Changelog: https://github.com/google/ExoPlayer/blob/release-v2/RELEASENOTES.md
2019-11-07 16:36:45 +01:00
Thomas Johansen
e5afffdced Translated using Weblate (Norwegian Bokmål)
Currently translated at 97.6% (489 of 501 strings)
2019-11-06 23:26:56 +01:00
Allan Nordhøy
a43c434376 Translated using Weblate (Norwegian Bokmål)
Currently translated at 97.6% (489 of 501 strings)
2019-11-06 23:26:55 +01:00
Laura Arjona Reina
225647cf65 Translated using Weblate (Spanish)
Currently translated at 100.0% (501 of 501 strings)
2019-11-06 11:30:36 +01:00
Swyter
fdab92c92b Translated using Weblate (Spanish)
Currently translated at 100.0% (501 of 501 strings)
2019-11-06 11:30:35 +01:00
Igor Nedoboy
72adb7a53b Translated using Weblate (Russian)
Currently translated at 100.0% (501 of 501 strings)
2019-11-05 21:47:34 +01:00
Igor Nedoboy
f84907e2c9 Translated using Weblate (Russian)
Currently translated at 100.0% (501 of 501 strings)
2019-11-05 13:15:15 +01:00
Igor Nedoboy
ab3b8d0a14 Translated using Weblate (Russian)
Currently translated at 100.0% (501 of 501 strings)
2019-11-05 09:07:26 +01:00
Hosted Weblate
5e7b635006 Merge branch 'origin/dev' into Weblate. 2019-11-04 17:52:01 +01:00
gold.ris90
58181ee37f Translated using Weblate (Macedonian)
Currently translated at 65.9% (315 of 478 strings)
2019-11-04 17:52:01 +01:00
Igor Nedoboy
4db4b3af86 Translated using Weblate (Russian)
Currently translated at 100.0% (478 of 478 strings)
2019-11-04 17:52:00 +01:00
Adolfo Jayme Barrientos
504f45efa6 Translated using Weblate (Spanish)
Currently translated at 100.0% (478 of 478 strings)
2019-11-04 17:51:57 +01:00
TobiGr
114a7ccdd4 Make "Default Kiosk" string translatable
Closes #2778
2019-11-04 11:21:41 +01:00
Tobias Groza
1a9b3c9d7c Merge pull request #2714 from mauriciocolli/introduce-kotlin
Update Gradle and introduce Kotlin to NewPipe
2019-11-03 13:48:10 +01:00
Mauricio Colli
137fabee0e Update Gradle and introduce Kotlin 2019-11-03 13:33:13 +01:00
TobiGr
2d41022ee4 Merge remote-tracking branch 'Weblate/dev' into dev 2019-11-03 13:01:55 +01:00
Allan Nordhøy
2ce0caa943 Translated using Weblate (Spanish)
Currently translated at 100.0% (478 of 478 strings)
2019-11-02 17:50:03 +01:00
Joseph Kim
2839154b68 Translated using Weblate (Korean)
Currently translated at 100.0% (478 of 478 strings)
2019-11-02 15:17:46 +01:00
Éfrit
e25c5544ba Translated using Weblate (French)
Currently translated at 100.0% (478 of 478 strings)
2019-11-02 15:17:45 +01:00
Adolfo Jayme Barrientos
7c70033f19 Translated using Weblate (Spanish)
Currently translated at 100.0% (478 of 478 strings)
2019-11-02 15:17:45 +01:00
WaldiS
59f90fcdfe Translated using Weblate (Polish)
Currently translated at 99.8% (477 of 478 strings)
2019-11-02 15:17:41 +01:00
Allan Nordhøy
e05def491f Translated using Weblate (Hindi)
Currently translated at 92.3% (441 of 478 strings)
2019-11-02 15:17:41 +01:00
Mitosagi
19738c0c1b Translated using Weblate (Japanese)
Currently translated at 100.0% (478 of 478 strings)
2019-11-02 15:17:41 +01:00
Enol P
0790a43aa2 Translated using Weblate (Asturian)
Currently translated at 47.1% (225 of 478 strings)
2019-11-02 15:17:40 +01:00
Igor Nedoboy
fd4a4d979a Translated using Weblate (Russian)
Currently translated at 100.0% (478 of 478 strings)
2019-11-02 15:17:36 +01:00
Adolfo Jayme Barrientos
6011dec272 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (478 of 478 strings)
2019-11-02 15:17:36 +01:00
Mitesh Sanjay Mutha
98ae78eb06 Translated using Weblate (Hindi)
Currently translated at 92.3% (441 of 478 strings)
2019-11-02 15:17:33 +01:00
TobiGr
b861f21bca Fix release build 2019-10-31 20:37:49 +01:00
Tobias Groza
0e0f498c06 Merge pull request #2710 from TeamNewPipe/release-0.17.4
Release 0.17.4
2019-10-30 17:25:24 +01:00
Igor Nedoboy
0a66f54487 Translated using Weblate (Russian)
Currently translated at 100.0% (478 of 478 strings)
2019-10-29 22:27:46 +01:00
ssantos
5e2f373a57 Translated using Weblate (Portuguese)
Currently translated at 100.0% (478 of 478 strings)
2019-10-29 22:08:59 +01:00
Oguz Ersen
ae8f47500f Translated using Weblate (Turkish)
Currently translated at 100.0% (478 of 478 strings)
2019-10-29 22:08:58 +01:00
Igor Nedoboy
36c1e19ef0 Translated using Weblate (Russian)
Currently translated at 100.0% (478 of 478 strings)
2019-10-29 22:08:55 +01:00
Allan Nordhøy
dc933a5e66 Translated using Weblate (Norwegian Bokmål)
Currently translated at 97.5% (466 of 478 strings)
2019-10-28 16:31:50 +01:00
Jeff Huang
c7699a5a3b Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (478 of 478 strings)
2019-10-28 16:31:49 +01:00
naofum
0f656aa7a9 Translated using Weblate (Japanese)
Currently translated at 100.0% (478 of 478 strings)
2019-10-28 16:31:48 +01:00
Allan Nordhøy
1af8481fff Translated using Weblate (English)
Currently translated at 99.8% (477 of 478 strings)
2019-10-28 16:31:48 +01:00
TobiGr
93af5f8fbb Bump to 0.17.4 (790) 2019-10-28 01:13:06 +01:00
TobiGr
7056bbdf51 add changelog for 0.17.4 2019-10-28 01:13:06 +01:00
TobiGr
c4eaee1e31 Update extractor version and add head request to downloader 2019-10-28 01:13:06 +01:00
Tobias Groza
4f688862a2 Merge pull request #2761 from enolp/dev
Fix what Weblate screwed up
2019-10-27 18:57:38 +01:00
Deleted User
3787c6ec70 Translated using Weblate (Norwegian Bokmål)
Currently translated at 97.7% (467 of 478 strings)
2019-10-27 06:12:50 +01:00
enolp
25d73a59ad Fourth update 2019-10-25 20:45:42 +00:00
enolp
9f701d0f2e Third update 2019-10-25 20:45:02 +00:00
enolp
47fb612a5a Second update 2019-10-25 20:08:53 +00:00
enolp
b8ff5fed7c Fix what Weblate screwed up
Updated translations, synced from translation platform and fixes to Weblate bad handling of empty translation strings
2019-10-25 19:39:33 +00:00
Enol P
3e7ff96445 Translated using Weblate (Asturian)
Currently translated at 40.6% (194 of 478 strings)
2019-10-25 21:29:55 +02:00
Hosted Weblate
558e3b1032 Merge branch 'origin/dev' into Weblate. 2019-10-22 03:31:44 +02:00
Allan Nordhøy
65279b3364 Translated using Weblate (Norwegian Bokmål)
Currently translated at 95.0% (454 of 478 strings)
2019-10-22 03:31:42 +02:00
Muhammad Sharjeel
d3ca184570 Translated using Weblate (Urdu)
Currently translated at 100.0% (478 of 478 strings)
2019-10-22 03:31:42 +02:00
01QueN10
40a2322e09 Translated using Weblate (Korean)
Currently translated at 99.0% (473 of 478 strings)
2019-10-22 03:31:08 +02:00
Mattias Münster
0b593b343e Translated using Weblate (Swedish)
Currently translated at 79.7% (381 of 478 strings)
2019-10-22 03:31:06 +02:00
ozyc
83dc62239f Translated using Weblate (French)
Currently translated at 100.0% (478 of 478 strings)
2019-10-22 03:31:05 +02:00
Igor Nedoboy
34cb44f2be Translated using Weblate (Russian)
Currently translated at 100.0% (478 of 478 strings)
2019-10-22 03:31:04 +02:00
ozyc
55a82b631e Translated using Weblate (Esperanto)
Currently translated at 58.4% (279 of 478 strings)
2019-10-22 03:31:03 +02:00
Tobias Groza
0b7e1bcfc4 Merge pull request #2736 from Redirion/patch-1
Bump ExoPlayer to 2.10.6 and OkHttp to 3.12.6
2019-10-20 18:34:18 +02:00
Redirion
babd5336a0 Bump ExoPlayer to 2.10.6 and OkHttp to 3.12.6
Little dependency update.
ExoPlayer Changelog: https://github.com/google/ExoPlayer/blob/release-v2/RELEASENOTES.md
OkHttp Changelog: https://square.github.io/okhttp/changelog_3x/#version-3126
2019-10-19 05:58:48 +02:00
Igor Nedoboy
b358231b20 Translated using Weblate (Russian)
Currently translated at 100.0% (478 of 478 strings)
2019-10-19 00:23:12 +02:00
Igor Nedoboy
4579fa52ac Translated using Weblate (Russian)
Currently translated at 100.0% (478 of 478 strings)
2019-10-19 00:11:46 +02:00
Igor Nedoboy
b4449e4998 Translated using Weblate (Russian)
Currently translated at 100.0% (478 of 478 strings)
2019-10-19 00:07:21 +02:00
Goudarz Jafari
d5b1dceb66 Translated using Weblate (Persian)
Currently translated at 98.5% (471 of 478 strings)
2019-10-18 20:52:50 +02:00
Peter Hindes
8f46757c0d New no uploader, still needs a way to programaticly switch
preferably they can both be the same file and modified at runtime
2019-10-16 20:32:12 -06:00
Peter Hindes
87378fc79c Fixed library showing null 2019-10-16 19:56:31 -06:00
朱程宇
95f44cbe9a Translated using Weblate (Chinese (Simplified))
Currently translated at 1.7% (8 of 478 strings)
2019-10-16 05:20:38 +02:00
Jeff Huang
8849ddab81 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (478 of 478 strings)
2019-10-16 05:20:35 +02:00
Nathan
9a47714645 Translated using Weblate (French)
Currently translated at 100.0% (478 of 478 strings)
2019-10-16 05:20:34 +02:00
zmni
b1396b98a3 Translated using Weblate (Indonesian)
Currently translated at 100.0% (478 of 478 strings)
2019-10-16 05:20:33 +02:00
WaldiS
c3433baf0c Translated using Weblate (Polish)
Currently translated at 99.8% (477 of 478 strings)
2019-10-16 05:20:32 +02:00
zeritti
fab692c386 Translated using Weblate (Czech)
Currently translated at 100.0% (478 of 478 strings)
2019-10-16 05:20:32 +02:00
naofum
834f599fb1 Translated using Weblate (Japanese)
Currently translated at 100.0% (478 of 478 strings)
2019-10-16 05:20:31 +02:00
Enol P
701207dcc5 Translated using Weblate (Asturian)
Currently translated at 38.9% (186 of 478 strings)
2019-10-16 05:20:31 +02:00
Daniele Lira Mereb
19ba37dfad Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (478 of 478 strings)
2019-10-16 05:20:29 +02:00
Oguz Ersen
284228ef16 Translated using Weblate (Turkish)
Currently translated at 100.0% (478 of 478 strings)
2019-10-16 05:20:27 +02:00
Peter Hindes
ad2de3a828 only use TextUtils.equals (fixes more crashes) 2019-10-15 17:22:17 -06:00
Peter Hindes
797e1a105d Comment out debuging code 2019-10-15 14:02:37 -06:00
Peter Hindes
9c00e7f45c Using Strings
still need to find out why its null on the library
2019-10-15 12:49:24 -06:00
Tushar Pandey
26a1b1377d Added translation using Weblate (Pirate) 2019-10-15 17:13:04 +02:00
Peter Hindes
df2bb228c5 Much Simpler Fix 2019-10-15 09:11:04 -06:00
Peter Hindes
49db47c12c describe what "Auto-Generated" Means 2019-10-15 09:01:30 -06:00
Peter Hindes
cc1e5edaec Revert "Merge branch 'dev-all-changes' into dev"
This reverts commit f6060261a1, reversing
changes made to 8c73253a52.
2019-10-15 08:52:51 -06:00
Peter Hindes
f6060261a1 Merge branch 'dev-all-changes' into dev 2019-10-15 08:51:30 -06:00
Peter Hindes
8c73253a52 follow stye on debug 2019-10-15 08:48:36 -06:00
Peter Hindes
4106645d6e Polished Results 2019-10-15 08:40:51 -06:00
Peter Hindes
c68c35e084 Better FIx, Improved Comment Style 2019-10-15 07:19:11 -06:00
Peter Hindes
fd34b1a291 Fixes Improved 2019-10-15 07:18:06 -06:00
Peter Hindes
bfc987f81b Revert "Revert "Added a restart song button to signle track expanded notification""
This reverts commit 646e327ed2.
2019-10-14 18:01:15 -06:00
Peter Hindes
c93c52a58c Wrap in multiline comment so it colapses 2019-10-14 16:55:16 -06:00
Peter Hindes
e72c6eed24 Explain What we did in the code itself 2019-10-14 16:48:44 -06:00
Peter Hindes
646e327ed2 Revert "Added a restart song button to signle track expanded notification"
This reverts commit cb5c219ffe.
2019-10-14 16:41:38 -06:00
Peter Hindes
cb5c219ffe Added a restart song button to signle track expanded notification
... and some comments to the code
2019-10-14 16:37:58 -06:00
Peter Hindes
3794002c7b much simpler, "uploader" will never change on a playlist 2019-10-14 14:56:04 -06:00
Peter Hindes
bd2b32bfbc Fixed Playlists With No Uploader Crashing The App 2019-10-14 11:55:55 -06:00
Haggai Eran
884528927e Fix Hebrew translation on some devices
Hebrew on android uses two locale codes (iw and he).
See details here: https://stackoverflow.com/a/8470980

For example, Nexus 7 (2013) uses iw, so it shows the English UI even when configuring the tablet to use Hebrew.

Add a symbolic link from values-iw to values-he so both use the same strings.
2019-10-12 12:21:01 +03:00
Igor Nedoboy
4688b1fe23 Translated using Weblate (Russian)
Currently translated at 100.0% (478 of 478 strings)
2019-10-12 07:08:12 +02:00
Hosted Weblate
dfd558f848 Merge branch 'origin/dev' into Weblate. 2019-10-11 16:00:20 +02:00
ssantos
d2e065d273 Translated using Weblate (Portuguese)
Currently translated at 100.0% (478 of 478 strings)
2019-10-11 16:00:20 +02:00
AntonAkovP
84a52342ab Translated using Weblate (Bulgarian)
Currently translated at 80.5% (385 of 478 strings)
2019-10-11 16:00:19 +02:00
Igor Nedoboy
6f3d5e9fb8 Translated using Weblate (Russian)
Currently translated at 100.0% (478 of 478 strings)
2019-10-11 16:00:18 +02:00
朱程宇
7d18eb8b02 Translated using Weblate (Chinese (Hong Kong))
Currently translated at 28.0% (134 of 478 strings)
2019-10-11 16:00:17 +02:00
朱程宇
7e3eb5e14d Added translation using Weblate (Chinese (Simplified)) 2019-10-11 16:00:09 +02:00
Tobias Groza
4a76ba4376 Merge pull request #2712 from mauriciocolli/fix-broken-translations
Fix broken video count text translations
2019-10-11 08:58:27 +02:00
Mauricio Colli
8245e878e3 Fix broken video count text translations
- Someone had the brilliant idea of removing the string arguments,
giving the the wrong example for other languages in the process.
2019-10-10 22:56:20 -03:00
TobiGr
e64a7809e4 Merge remote-tracking branch 'Weblate/dev' into dev 2019-10-10 14:03:39 +02:00
Tobias Groza
28ed9879aa Merge pull request #2697 from Redirion/exoplayer2105
Update to ExoPlayer 2.10.5
2019-10-10 14:01:05 +02:00
Xuân Hải Trần
d4a761ceff Translated using Weblate (Vietnamese)
Currently translated at 98.3% (470 of 478 strings)
2019-10-09 09:26:37 +02:00
Hosted Weblate
7f7313d69a Merge branch 'origin/dev' into Weblate. 2019-10-08 14:57:42 +02:00
Jeff Huang
6ec7dba751 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (478 of 478 strings)
2019-10-08 14:57:40 +02:00
JoC
33564974b8 Translated using Weblate (Spanish)
Currently translated at 100.0% (478 of 478 strings)
2019-10-08 14:57:39 +02:00
Farándula
baaa9f68dc Translated using Weblate (Spanish)
Currently translated at 100.0% (478 of 478 strings)
2019-10-08 14:57:39 +02:00
thami simo
0142f8bf0c Translated using Weblate (Arabic)
Currently translated at 100.0% (478 of 478 strings)
2019-10-08 14:57:38 +02:00
pjammo
ad534ddbb6 Translated using Weblate (Italian)
Currently translated at 99.6% (476 of 478 strings)
2019-10-08 14:57:38 +02:00
Yaron Shahrabani
673a59e4c4 Translated using Weblate (Hebrew)
Currently translated at 100.0% (478 of 478 strings)
2019-10-08 14:57:37 +02:00
ask6155
39d848c62c Translated using Weblate (Hindi)
Currently translated at 71.1% (340 of 478 strings)
2019-10-08 14:57:37 +02:00
Marc Riera
35059b7507 Translated using Weblate (Catalan)
Currently translated at 96.7% (462 of 478 strings)
2019-10-08 14:57:36 +02:00
naofum
f698c914f6 Translated using Weblate (Japanese)
Currently translated at 100.0% (478 of 478 strings)
2019-10-08 14:57:31 +02:00
uievawkejf
02cccf9e27 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (478 of 478 strings)
2019-10-08 14:57:31 +02:00
Milkdrop
54e763c71e Translated using Weblate (Romanian)
Currently translated at 79.5% (380 of 478 strings)
2019-10-08 14:57:30 +02:00
nautilusx
4c9709a2bb Translated using Weblate (German)
Currently translated at 100.0% (478 of 478 strings)
2019-10-08 14:57:29 +02:00
Heart Kris
297b5bc55c Translated using Weblate (Filipino)
Currently translated at 7.9% (38 of 478 strings)
2019-10-08 14:57:29 +02:00
Oguz Ersen
ab9cb063b2 Translated using Weblate (Turkish)
Currently translated at 100.0% (478 of 478 strings)
2019-10-08 14:57:23 +02:00
Robin
b2b32ce67b fix NPE, fix 'wrong' constant, avoid unnecessary nulling 2019-10-08 06:36:29 +02:00
Redirion
7aeb1ec8d9 Apply suggestions from code review
Co-Authored-By: Tobias Groza <TobiGr@users.noreply.github.com>
2019-10-07 11:27:43 +02:00
Robin
50b51f931e Make use of isPlaying feature of ExoPlayer 2.10.5 2019-10-07 11:18:27 +02:00
Robin
bf353875b0 Update okhttp to match ExoPlayer 2019-10-07 11:18:26 +02:00
Robin
87eab2a9b0 Fixed deprecations 2019-10-07 11:18:26 +02:00
Robin
dcd5197a19 Update to ExoPlayer 2.10.5 2019-10-07 11:18:26 +02:00
TobiGr
a02e12abe8 Update extractor 2019-10-07 11:01:01 +02:00
Tobias Groza
ce17ccad27 Merge pull request #2685 from Redirion/androidx3
Migrate to AndroidX
2019-10-07 01:51:20 +02:00
Tobias Groza
25f1660efc Merge pull request #2695 from Talisantos/dev
Clear search box has now only one animation - issue #2644 solved
2019-10-06 00:47:17 +02:00
Ivan
74c7eb616f Clear search box has now only one animation - issue #2644 solved 2019-10-05 21:57:33 +01:00
Redirion
81f1dc9839 Merge branch 'dev' into androidx3 2019-10-05 17:21:31 +02:00
TobiGr
2269a95b99 Remove unused Gema string from translation 2019-10-05 15:07:30 +02:00
Robin
bf2a3ca043 Migrate to AndroidX 2019-10-04 14:59:08 +02:00
Tobias Groza
7e4becd6b6 Merge pull request #2672 from yausername/videoDetailscrollFix
Fix scrolling in video detail fragment. 
Fixes #2627 and #2437
2019-10-02 12:44:28 +02:00
Hosted Weblate
d400ac5705 Merge branch 'origin/dev' into Weblate. 2019-10-02 11:56:21 +02:00
JS Ahn
61e57c9373 Translated using Weblate (Korean)
Currently translated at 99.2% (473 of 477 strings)
2019-10-02 11:56:19 +02:00
Arttu Ylhävuori
db1cd7dd6b Translated using Weblate (Finnish)
Currently translated at 65.6% (313 of 477 strings)
2019-10-02 11:56:18 +02:00
Ğąme Ǿver!
8680bcda61 Translated using Weblate (Persian)
Currently translated at 98.1% (468 of 477 strings)
2019-10-02 11:56:18 +02:00
Mostafa Ahangarha
5db40a0ede Translated using Weblate (Persian)
Currently translated at 98.1% (468 of 477 strings)
2019-10-02 11:56:17 +02:00
Mohammad Reza Haddad
d4e80ef268 Translated using Weblate (Persian)
Currently translated at 98.1% (468 of 477 strings)
2019-10-02 11:56:08 +02:00
WaldiS
262a4e2bfd Translated using Weblate (Polish)
Currently translated at 100.0% (477 of 477 strings)
2019-10-02 11:56:06 +02:00
Marc Riera
1037798879 Translated using Weblate (Catalan)
Currently translated at 96.0% (458 of 477 strings)
2019-10-02 11:56:06 +02:00
naofum
bcfdde65b0 Translated using Weblate (Japanese)
Currently translated at 100.0% (477 of 477 strings)
2019-10-02 11:56:04 +02:00
Emin Tufan Çetin
73d145616a Translated using Weblate (Turkish)
Currently translated at 100.0% (477 of 477 strings)
2019-10-02 11:56:03 +02:00
yausername
cf6380b3c7 Merge remote-tracking branch 'upstream/dev' into videoDetailscrollFix 2019-10-02 06:35:44 +05:30
yausername
0593aaa0c1 fix scroll jittering 2019-10-02 06:29:20 +05:30
Tobias Groza
24babd47a2 Merge pull request #2535 from jimbo1qaz/add-transitive-dependencies
Add missing dependencies inherited from NewPipeExtractor into NewPipe
2019-10-01 22:15:23 +02:00
Tobias Groza
b4b24a4f70 Merge pull request #2655 from TeamNewPipe/accessebility
Improve Accessebility for blind people
2019-10-01 21:25:21 +02:00
Stypox
ad411344db Merge branch 'dev' into add-transitive-dependencies 2019-10-01 21:07:41 +02:00
Stypox
2097d2e4e4 Merge branch 'dev' into accessebility 2019-10-01 21:04:05 +02:00
Tobias Groza
2a2643641e Merge pull request #2646 from kapodamy/yt-deadlock-issue
check if last byte in the block is downloaded
2019-10-01 20:44:14 +02:00
kapodamy
08a081437f Update DownloadRunnable.java 2019-10-01 15:31:15 -03:00
kapodamy
b1d89175fc Update DownloadRunnable.java
add description
2019-10-01 13:09:26 -03:00
Mohammad Reza Haddad
97e57dcbab Translated using Weblate (Persian)
Currently translated at 72.3% (345 of 477 strings)
2019-09-30 16:49:49 +02:00
Mostafa Ahangarha
f46fa72556 Translated using Weblate (Persian)
Currently translated at 72.3% (345 of 477 strings)
2019-09-30 16:49:49 +02:00
Mohammad Reza Haddad
242c2fc04a Translated using Weblate (Persian)
Currently translated at 70.2% (335 of 477 strings)
2019-09-30 16:41:42 +02:00
Mostafa Ahangarha
1523cfdc45 Translated using Weblate (Persian)
Currently translated at 70.2% (335 of 477 strings)
2019-09-30 16:41:42 +02:00
yausername
5d9b5a063b fix scrolling in video detail fragment. fixes #2627 2019-09-29 22:05:29 +05:30
Allan Nordhøy
0417c47fe2 Translated using Weblate (Norwegian Bokmål)
Currently translated at 95.2% (454 of 477 strings)
2019-09-28 16:55:53 +02:00
Jeff Huang
0da5717bb5 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (477 of 477 strings)
2019-09-28 16:55:53 +02:00
Florian
73c4ec378b Translated using Weblate (French)
Currently translated at 99.6% (475 of 477 strings)
2019-09-28 16:55:52 +02:00
thami simo
1b54791905 Translated using Weblate (Arabic)
Currently translated at 100.0% (477 of 477 strings)
2019-09-28 16:55:52 +02:00
random r
4299062bd0 Translated using Weblate (Italian)
Currently translated at 100.0% (477 of 477 strings)
2019-09-28 16:55:50 +02:00
Yaron Shahrabani
015ef402eb Translated using Weblate (Hebrew)
Currently translated at 100.0% (477 of 477 strings)
2019-09-28 16:55:50 +02:00
ssantos
378c6c576c Translated using Weblate (Portuguese)
Currently translated at 100.0% (477 of 477 strings)
2019-09-28 16:55:49 +02:00
winqooq
b6cb95695e Translated using Weblate (Ukrainian)
Currently translated at 100.0% (477 of 477 strings)
2019-09-28 16:55:49 +02:00
winqooq
c922b49731 Translated using Weblate (Russian)
Currently translated at 100.0% (477 of 477 strings)
2019-09-28 16:55:48 +02:00
Hosted Weblate
60c4f86b08 Merge branch 'origin/dev' into Weblate. 2019-09-25 14:14:38 +02:00
Tawhid H
afdb8e0d37 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 27.0% (129 of 477 strings)
2019-09-25 14:14:38 +02:00
Xiang Xu
502a458dfd Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (477 of 477 strings)
2019-09-25 14:14:38 +02:00
Jeff Huang
ff986a99b6 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (477 of 477 strings)
2019-09-25 14:14:37 +02:00
pjammo
939c2a2494 Translated using Weblate (Italian)
Currently translated at 99.8% (476 of 477 strings)
2019-09-25 14:14:37 +02:00
winqooq
38234c005e Translated using Weblate (Ukrainian)
Currently translated at 100.0% (477 of 477 strings)
2019-09-25 14:14:36 +02:00
Igor Nedoboy
a67e5357ef Translated using Weblate (Russian)
Currently translated at 100.0% (477 of 477 strings)
2019-09-25 14:14:35 +02:00
Heart Kris
9fe4af9550 Added translation using Weblate (Filipino) 2019-09-25 14:14:33 +02:00
Christian Schabesberger
6622611ee3 Merge branch 'dev' into accessebility 2019-09-24 21:26:13 +02:00
kapodamy
ecb4bfde0b check if last byte on block is downloaded 2019-09-23 15:45:48 -03:00
Éfrit
1bee297bba Revert "Translated using Weblate (English)"
This reverts commit 09e2381475.
2019-09-23 10:30:08 +02:00
WaldiS
0e7817f7e5 Translated using Weblate (Polish)
Currently translated at 100.0% (477 of 477 strings)
2019-09-22 17:08:36 +02:00
ssantos
fafd1126f4 Translated using Weblate (Portuguese)
Currently translated at 100.0% (477 of 477 strings)
2019-09-22 17:08:36 +02:00
naofum
a67f167666 Translated using Weblate (Japanese)
Currently translated at 100.0% (477 of 477 strings)
2019-09-22 17:08:35 +02:00
Christian Schabesberger
7e65648412 change video preview text 2019-09-22 13:34:44 +02:00
Christian Schabesberger
003170e6d8 add tab description and download dialog bag button 2019-09-22 13:26:53 +02:00
Christian Schabesberger
28accff9ba add content description for toggle service button 2019-09-22 11:59:50 +02:00
Christian Schabesberger
e1d2c576a9 remove shasum for new android studio 2019-09-22 11:01:35 +02:00
Florian
7e6722f0f8 Translated using Weblate (French)
Currently translated at 99.6% (475 of 477 strings)
2019-09-21 21:09:47 +02:00
JoC
d909ac0e59 Translated using Weblate (Spanish)
Currently translated at 100.0% (477 of 477 strings)
2019-09-21 21:09:47 +02:00
zmni
2869e53421 Translated using Weblate (Indonesian)
Currently translated at 100.0% (477 of 477 strings)
2019-09-21 21:09:46 +02:00
Yaron Shahrabani
0b145682ba Translated using Weblate (Hebrew)
Currently translated at 100.0% (477 of 477 strings)
2019-09-21 21:09:46 +02:00
zeritti
0ef52adb18 Translated using Weblate (Czech)
Currently translated at 100.0% (477 of 477 strings)
2019-09-21 21:09:45 +02:00
nautilusx
4b76b70ea0 Translated using Weblate (German)
Currently translated at 100.0% (477 of 477 strings)
2019-09-21 21:09:43 +02:00
Oguz Ersen
586fa99065 Translated using Weblate (Turkish)
Currently translated at 100.0% (477 of 477 strings)
2019-09-21 21:09:42 +02:00
Hosted Weblate
26184aca10 Merge branch 'origin/dev' into Weblate. 2019-09-21 05:43:08 +02:00
Jeff Huang
79ed4d5f50 Translated using Weblate (Chinese (Traditional))
Currently translated at 99.8% (476 of 477 strings)
2019-09-21 05:43:06 +02:00
JS Ahn
87b546e7fb Translated using Weblate (Korean)
Currently translated at 99.4% (474 of 477 strings)
2019-09-21 05:43:06 +02:00
thami simo
a4b8fe41c0 Translated using Weblate (Arabic)
Currently translated at 99.8% (476 of 477 strings)
2019-09-21 05:43:05 +02:00
pjammo
8b44bf4d9b Translated using Weblate (Italian)
Currently translated at 99.6% (475 of 477 strings)
2019-09-21 05:43:05 +02:00
Laszlo Almasi
e09b7c592c Translated using Weblate (Hungarian)
Currently translated at 68.8% (328 of 477 strings)
2019-09-21 05:43:04 +02:00
ssantos
6ea5d1a1ff Translated using Weblate (Portuguese)
Currently translated at 100.0% (477 of 477 strings)
2019-09-21 05:43:04 +02:00
naofum
c5fa1122ae Translated using Weblate (Japanese)
Currently translated at 100.0% (477 of 477 strings)
2019-09-21 05:43:03 +02:00
Oguz Ersen
7fa75a3d54 Translated using Weblate (English)
Currently translated at 99.8% (476 of 477 strings)
2019-09-21 05:43:03 +02:00
BugviewTH Soros
358f94a7ec Translated using Weblate (Thai)
Currently translated at 56.8% (271 of 477 strings)
2019-09-21 05:43:03 +02:00
Oguz Ersen
07ac539c8f Translated using Weblate (Turkish)
Currently translated at 100.0% (477 of 477 strings)
2019-09-21 05:43:01 +02:00
TobiGr
c36075f4e3 Merge remote-tracking branch 'Weblate/dev' into dev 2019-09-20 16:34:09 +02:00
Tobias Groza
54746af5de Merge pull request #2637 from opusforlife2/opusforlife2-patch-1
Make language of download folder setting more consistent and less ambiguous
2019-09-20 16:32:58 +02:00
Tobias Groza
862e08a06c Merge branch 'dev' into opusforlife2-patch-1 2019-09-20 16:24:51 +02:00
Christian Schabesberger
748f70ba87 fix subscriber count 2019-09-18 15:31:06 +02:00
opusforlife2
9425f0ca1a Change the language of the download folder setting
Make it more consistent and less ambiguous
2019-09-16 19:39:28 +00:00
Hosted Weblate
4a3d7002eb Merge branch 'origin/dev' into Weblate. 2019-09-14 21:24:02 +02:00
JS Ahn
6d94ccb756 Translated using Weblate (Korean)
Currently translated at 99.4% (474 of 477 strings)
2019-09-14 21:23:59 +02:00
Alexis Raison
6cf83c5c1a Translated using Weblate (French)
Currently translated at 99.4% (474 of 477 strings)
2019-09-14 21:23:58 +02:00
Florian
4bce257189 Translated using Weblate (French)
Currently translated at 99.4% (474 of 477 strings)
2019-09-14 21:23:57 +02:00
zmni
c495fb92f3 Translated using Weblate (Indonesian)
Currently translated at 100.0% (477 of 477 strings)
2019-09-14 21:23:57 +02:00
thami simo
3102b4bdb7 Translated using Weblate (Arabic)
Currently translated at 100.0% (477 of 477 strings)
2019-09-14 21:23:56 +02:00
WaldiS
4e232602db Translated using Weblate (Polish)
Currently translated at 99.8% (476 of 477 strings)
2019-09-14 21:23:55 +02:00
Yaron Shahrabani
d5ecf1e8dd Translated using Weblate (Hebrew)
Currently translated at 100.0% (477 of 477 strings)
2019-09-14 21:23:55 +02:00
ssantos
c019cf57e5 Translated using Weblate (Portuguese)
Currently translated at 100.0% (477 of 477 strings)
2019-09-14 21:23:54 +02:00
naofum
0db3d7ffd3 Translated using Weblate (Japanese)
Currently translated at 100.0% (477 of 477 strings)
2019-09-14 21:23:54 +02:00
Igor Nedoboy
ab846be65e Translated using Weblate (Russian)
Currently translated at 100.0% (477 of 477 strings)
2019-09-14 21:23:54 +02:00
postsorino
1a4e83cb5a Translated using Weblate (Greek)
Currently translated at 100.0% (477 of 477 strings)
2019-09-14 21:23:53 +02:00
C. Rüdinger
7cd5d5b4c3 Translated using Weblate (German)
Currently translated at 99.8% (476 of 477 strings)
2019-09-14 21:23:49 +02:00
TobiGr
ec4757d6de Move on to 0.17.3 2019-09-12 22:52:40 +02:00
TobiGr
6447af8541 Update extractor version to fix live streams 2019-09-12 22:43:07 +02:00
Christian Schabesberger
209c1f8bc2 merge master back into dev 2019-09-12 13:22:24 +02:00
Tobias Groza
6a37dfc35f Merge pull request #2488 from 2secslater/patch-1
Add all (HTTP(S)) Invidious instances
2019-09-12 09:29:25 +02:00
Tobias Groza
5e101a4d32 Merge branch 'dev' into patch-1 2019-09-12 09:23:30 +02:00
Christian Schabesberger
c29ea4693d Merge pull request #2617 from TeamNewPipe/hotfix_stream_fmt
add fixed extractor and move on to version 0.17.2
2019-09-11 22:36:17 +02:00
Christian Schabesberger
7d0df7aa80 add fixed extractor and move on to version 0.17.2 2019-09-11 22:30:41 +02:00
Hosted Weblate
db80be4d38 Merge branch 'origin/dev' into Weblate. 2019-09-11 16:24:07 +02:00
JoC
146313e7db Translated using Weblate (Spanish)
Currently translated at 100.0% (476 of 476 strings)
2019-09-11 16:24:03 +02:00
Manuela Silva
357ac3d7fb Translated using Weblate (Portuguese)
Currently translated at 100.0% (476 of 476 strings)
2019-09-11 16:24:02 +02:00
Tobias Groza
1275d9a185 Merge pull request #2592 from kapodamy/android-pie-workarrounds
Fix performance problem in android pie
2019-09-09 20:08:41 +02:00
Tobias Groza
75f2ced937 Merge branch 'dev' into android-pie-workarrounds 2019-09-09 18:59:59 +02:00
Tobias Groza
cd2ac25ff6 Merge pull request #2533 from jimbo1qaz/remove-dead-code
Remove commented-out code in VideoDetailFragment
2019-09-09 18:43:47 +02:00
uievawkejf
1d603043c5 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (476 of 476 strings)
2019-09-08 23:24:21 +02:00
Hosted Weblate
c77f2d1569 Merge branch 'origin/dev' into Weblate. 2019-09-07 03:24:42 +02:00
Allan Nordhøy
78e3e6bd5f Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.8% (461 of 476 strings)
2019-09-07 03:24:40 +02:00
Jeff Huang
79a854e899 Translated using Weblate (Chinese (Traditional))
Currently translated at 99.6% (474 of 476 strings)
2019-09-07 03:24:39 +02:00
Marian Hanzel
4b1dbeb11f Translated using Weblate (Slovak)
Currently translated at 88.0% (419 of 476 strings)
2019-09-07 03:24:37 +02:00
Éfrit
6d235b6715 Translated using Weblate (French)
Currently translated at 99.2% (472 of 476 strings)
2019-09-07 03:24:37 +02:00
thami simo
05a95421c4 Translated using Weblate (Arabic)
Currently translated at 100.0% (476 of 476 strings)
2019-09-07 03:24:34 +02:00
random r
0be654f750 Translated using Weblate (Italian)
Currently translated at 100.0% (476 of 476 strings)
2019-09-07 03:24:33 +02:00
WaldiS
1c94a5a33d Translated using Weblate (Polish)
Currently translated at 100.0% (476 of 476 strings)
2019-09-07 03:24:33 +02:00
Yaron Shahrabani
3614015d18 Translated using Weblate (Hebrew)
Currently translated at 99.6% (474 of 476 strings)
2019-09-07 03:24:32 +02:00
Ákos Surányi
a8bffc013f Translated using Weblate (Hungarian)
Currently translated at 68.7% (327 of 476 strings)
2019-09-07 03:24:32 +02:00
Toldi Balázs
4cdac0dbe1 Translated using Weblate (Hungarian)
Currently translated at 68.7% (327 of 476 strings)
2019-09-07 03:24:32 +02:00
Zsolt Jurecska
74c91db35e Translated using Weblate (Hungarian)
Currently translated at 68.7% (327 of 476 strings)
2019-09-07 03:24:31 +02:00
ssantos
d06cdb5ee8 Translated using Weblate (Portuguese)
Currently translated at 100.0% (476 of 476 strings)
2019-09-07 03:24:31 +02:00
yunna
cbb0d712dd Translated using Weblate (Japanese)
Currently translated at 100.0% (476 of 476 strings)
2019-09-07 03:24:30 +02:00
naofum
465a61d599 Translated using Weblate (Japanese)
Currently translated at 100.0% (476 of 476 strings)
2019-09-07 03:24:29 +02:00
Enol P
03d8990985 Translated using Weblate (Asturian)
Currently translated at 37.8% (180 of 476 strings)
2019-09-07 03:24:29 +02:00
Licaon Kter
00f4db17bd Translated using Weblate (Romanian)
Currently translated at 80.5% (383 of 476 strings)
2019-09-07 03:24:22 +02:00
Igor Nedoboy
e4d9100196 Translated using Weblate (Russian)
Currently translated at 100.0% (476 of 476 strings)
2019-09-07 03:24:22 +02:00
Éfrit
09e2381475 Translated using Weblate (English)
Currently translated at 99.8% (475 of 476 strings)
2019-09-07 03:24:22 +02:00
doodosod
af51aa81f1 Translated using Weblate (German)
Currently translated at 100.0% (476 of 476 strings)
2019-09-07 03:24:21 +02:00
João Paulo Pulga
bf6fd18de8 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (476 of 476 strings)
2019-09-07 03:24:19 +02:00
Archi
effa07ecc2 Translated using Weblate (Turkish)
Currently translated at 99.6% (474 of 476 strings)
2019-09-07 03:24:18 +02:00
Tobias Groza
cbf9ec0901 Merge branch 'dev' into remove-dead-code 2019-09-04 22:59:18 +02:00
Tobias Groza
ede18ded40 Merge pull request #2591 from kapodamy/allow-pick-hidden-folders
show hidden directories in the file picker
2019-09-04 22:56:05 +02:00
dimqua
6d14ecc60a Translated using Weblate (Russian)
Currently translated at 100.0% (476 of 476 strings)
2019-09-02 19:39:06 +02:00
Igor Nedoboy
c2d7ac0c25 Translated using Weblate (Russian)
Currently translated at 100.0% (476 of 476 strings)
2019-09-02 19:39:06 +02:00
Andrey mm
9f2216fdc5 Translated using Weblate (Russian)
Currently translated at 100.0% (476 of 476 strings)
2019-09-02 19:36:10 +02:00
Igor Nedoboy
7ed0fe05f3 Translated using Weblate (Russian)
Currently translated at 100.0% (476 of 476 strings)
2019-09-02 19:36:02 +02:00
Igor Nedoboy
c4fe21e87f Translated using Weblate (Russian)
Currently translated at 100.0% (476 of 476 strings)
2019-09-02 13:38:44 +02:00
Igor Nedoboy
74d2ccfb43 Translated using Weblate (Russian)
Currently translated at 100.0% (476 of 476 strings)
2019-09-02 13:33:29 +02:00
Igor Nedoboy
ea685057e0 Translated using Weblate (Russian)
Currently translated at 100.0% (476 of 476 strings)
2019-09-02 13:21:31 +02:00
Igor Nedoboy
3f150832ac Translated using Weblate (Russian)
Currently translated at 100.0% (476 of 476 strings)
2019-09-02 00:34:08 +02:00
Igor Nedoboy
c0bce9cf97 Translated using Weblate (Russian)
Currently translated at 100.0% (476 of 476 strings)
2019-09-02 00:23:24 +02:00
kapodamy
a446313119 add warning after toggle the SAF option 2019-09-01 18:53:12 -03:00
Igor Nedoboy
0e8e713436 Translated using Weblate (Russian)
Currently translated at 100.0% (476 of 476 strings)
2019-09-01 23:43:36 +02:00
kapodamy
1a643126de Changes for Android 9 (Pie)
* validate the stored file before start the mission
* add warning on StoredFileHelper.java
* simplify the communication between MissionAdapter and DownloadManagerService.java since shares the same looper
* simplify setVisible() "start/pause all downloads" buttons logic
2019-09-01 18:37:06 -03:00
kapodamy
6fa72e4a52 add @NotNull 2019-09-01 18:07:14 -03:00
kapodamy
7f127ba52a show hidden directories in the file picker 2019-09-01 17:35:42 -03:00
Simounet
f94182e8ba Translated using Weblate (French)
Currently translated at 99.8% (475 of 476 strings)
2019-08-31 02:31:27 +02:00
Éfrit
b607ab72cd Translated using Weblate (French)
Currently translated at 99.8% (475 of 476 strings)
2019-08-31 02:31:27 +02:00
Hosted Weblate
5b84b37ded Merge branch 'origin/dev' into Weblate. 2019-08-29 21:24:08 +02:00
Allan Nordhøy
089c5874c9 Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.6% (457 of 473 strings)
2019-08-29 21:24:05 +02:00
Mubashir Rehman
f66ab2e008 Translated using Weblate (Urdu)
Currently translated at 5.1% (24 of 473 strings)
2019-08-29 21:24:05 +02:00
Marian Hanzel
dc7e17085d Translated using Weblate (Slovak)
Currently translated at 86.9% (411 of 473 strings)
2019-08-29 21:24:04 +02:00
Arnaud Jacquemin
dc4dd53771 Translated using Weblate (French)
Currently translated at 99.8% (472 of 473 strings)
2019-08-29 21:24:03 +02:00
thami simo
8193b86202 Translated using Weblate (Arabic)
Currently translated at 100.0% (473 of 473 strings)
2019-08-29 21:24:02 +02:00
random r
6616c33d2a Translated using Weblate (Italian)
Currently translated at 100.0% (473 of 473 strings)
2019-08-29 21:24:00 +02:00
WaldiS
ec6eab8a49 Translated using Weblate (Polish)
Currently translated at 100.0% (473 of 473 strings)
2019-08-29 21:24:00 +02:00
Wojtek
bd1169a8c7 Translated using Weblate (Polish)
Currently translated at 100.0% (473 of 473 strings)
2019-08-29 21:23:59 +02:00
Czech Translator
e3e60facf9 Translated using Weblate (Czech)
Currently translated at 98.9% (468 of 473 strings)
2019-08-29 21:23:58 +02:00
naofum
fc0fa3c519 Translated using Weblate (Japanese)
Currently translated at 100.0% (473 of 473 strings)
2019-08-29 21:23:56 +02:00
Enol P
acffbe1385 Translated using Weblate (Asturian)
Currently translated at 27.3% (129 of 473 strings)
2019-08-29 21:23:56 +02:00
Юрий Иванович Шмаровский
cd31384885 Translated using Weblate (Belarusian)
Currently translated at 100.0% (473 of 473 strings)
2019-08-29 21:23:44 +02:00
Igor Nedoboy
9522ec43c7 Translated using Weblate (Russian)
Currently translated at 100.0% (473 of 473 strings)
2019-08-29 21:23:33 +02:00
TobiGr
83169fbf6d Translated using Weblate (German)
Currently translated at 99.4% (470 of 473 strings)
2019-08-29 21:23:32 +02:00
leela
9c7629ea47 Translated using Weblate (Telugu)
Currently translated at 26.8% (127 of 473 strings)
2019-08-29 21:23:31 +02:00
Tobias Groza
85d1888ba7 Merge pull request #2550 from TeamNewPipe/clear_playback_states
Clear playback states
2019-08-28 21:07:26 +02:00
Hosted Weblate
9e7e8ed7a6 Merge branch 'origin/dev' into Weblate. 2019-08-23 10:05:48 +02:00
ssantos
cbe7967310 Translated using Weblate (Portuguese)
Currently translated at 100.0% (473 of 473 strings)
2019-08-23 10:05:47 +02:00
Igor Sorocean
9e1f56c0c1 Translated using Weblate (Romanian)
Currently translated at 80.3% (380 of 473 strings)
2019-08-23 10:05:47 +02:00
Daniele Lira Mereb
3604971111 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (473 of 473 strings)
2019-08-23 10:05:44 +02:00
Igor Nedoboy
c43ac4f787 Translated using Weblate (Russian)
Currently translated at 100.0% (473 of 473 strings)
2019-08-23 10:05:34 +02:00
TobiGr
2a15f5fb51 Make export_data and import_data settings keys untranslatable 2019-08-22 21:51:59 +02:00
TobiGr
7cd5af5e72 Add option in history settings to delete playback positions 2019-08-22 21:49:33 +02:00
TobiGr
cbdfb15117 Merge remote-tracking branch 'newpipe/master' into dev 2019-08-22 21:46:42 +02:00
Marc Riera
10ccd4767a Translated using Weblate (Catalan)
Currently translated at 95.8% (453 of 473 strings)
2019-08-22 16:23:26 +02:00
Christian Schabesberger
7ba71e3b37 use newerextractor 2019-08-22 11:39:32 +02:00
Christian Schabesberger
670a95a01d Merge pull request #2530 from TeamNewPipe/release_v0.17.1
Release v0.17.1
2019-08-22 11:21:06 +02:00
Hosted Weblate
7eb0e9db49 Merge branch 'origin/dev' into Weblate. 2019-08-21 15:23:50 +02:00
thami simo
4f160ee943 Translated using Weblate (Arabic)
Currently translated at 100.0% (473 of 473 strings)
2019-08-21 15:23:48 +02:00
Claudio Maradonna
aad1c610a6 Translated using Weblate (Italian)
Currently translated at 99.4% (470 of 473 strings)
2019-08-21 15:23:47 +02:00
Yaron Shahrabani
305d14c16b Translated using Weblate (Hebrew)
Currently translated at 100.0% (473 of 473 strings)
2019-08-21 15:23:45 +02:00
gamerboy
6ca9fb2440 Translated using Weblate (Punjabi)
Currently translated at 100.0% (473 of 473 strings)
2019-08-21 15:23:44 +02:00
Seila Oxe
8581d33574 Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.2% (469 of 473 strings)
2019-08-21 15:23:43 +02:00
Eduardo Caron
fab1c7e986 Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.2% (469 of 473 strings)
2019-08-21 15:23:37 +02:00
Tobias Groza
acea26717c Fix another %s in translation 2019-08-21 14:35:39 +02:00
TobiGr
e6bcb4628a Fix Portuguese minimize_on_exit_summary
Fix #2522
2019-08-21 14:35:39 +02:00
TobiGr
c4f08d541d Add changelog for 0.17.1 (760) 2019-08-21 14:35:39 +02:00
TobiGr
58546751dd Merge remote-tracking branch 'Weblate/dev' into dev 2019-08-21 14:35:31 +02:00
Hosted Weblate
5470c9a002 Merge branch 'origin/dev' into Weblate. 2019-08-19 20:23:29 +02:00
Xiang Xu
8885b45259 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (471 of 471 strings)
2019-08-19 20:23:28 +02:00
Westminboy
85632b24fc Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (471 of 471 strings)
2019-08-19 20:23:27 +02:00
Yaron Shahrabani
96802c7b5c Translated using Weblate (Hebrew)
Currently translated at 100.0% (471 of 471 strings)
2019-08-19 20:23:27 +02:00
ssantos
e5207f8b42 Translated using Weblate (Portuguese)
Currently translated at 100.0% (471 of 471 strings)
2019-08-19 20:23:25 +02:00
naofum
9d573e1b1d Translated using Weblate (Japanese)
Currently translated at 100.0% (471 of 471 strings)
2019-08-19 20:23:24 +02:00
Yaron Shahrabani
dd276aabc1 Translated using Weblate (English)
Currently translated at 100.0% (471 of 471 strings)
2019-08-19 20:23:22 +02:00
Eduardo Caron
e4d0635ae1 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (471 of 471 strings)
2019-08-19 20:23:21 +02:00
TobiGr
60f534d7a1 Merge remote-tracking branch 'Weblate/dev' into dev 2019-08-18 11:30:04 +02:00
jimbo1qaz
8036c831a5 Add missing dependencies inherited from NewPipeExtractor into NewPipe
- NewPipe uses nanojson and jsoup, despite not declaring them.
- NewPipe depends on NewPipeExtractor, which depends on nanojson and jsoup.
- Gradle lets NewPipe use nanojson and jsoup, but this breaks when I use:

includeBuild('../NewPipeExtractor') {
    dependencySubstitution {
        substitute module('com.github.TeamNewPipe:NewPipeExtractor') with project(':extractor')
    }
}
2019-08-17 23:27:04 -07:00
jimbo1qaz
942e042933 remove dead code 2019-08-17 23:21:06 -07:00
Allan Nordhøy
223ddaa9bf Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.8% (456 of 471 strings)
2019-08-18 07:09:54 +02:00
Westminboy
1d6c722c28 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.8% (470 of 471 strings)
2019-08-18 07:09:53 +02:00
Florian
9c9dd6c7bf Translated using Weblate (French)
Currently translated at 98.3% (463 of 471 strings)
2019-08-18 07:09:51 +02:00
zmni
7ff48a6d84 Translated using Weblate (Indonesian)
Currently translated at 99.2% (467 of 471 strings)
2019-08-18 07:09:50 +02:00
thami simo
645e16fd90 Translated using Weblate (Arabic)
Currently translated at 99.6% (469 of 471 strings)
2019-08-18 07:09:49 +02:00
Trần Lê Nhật Huy
1bb58a10e2 Translated using Weblate (Vietnamese)
Currently translated at 99.6% (469 of 471 strings)
2019-08-18 07:09:47 +02:00
ΜŜβ
118788436e Translated using Weblate (Punjabi)
Currently translated at 99.6% (469 of 471 strings)
2019-08-18 07:09:45 +02:00
Marc Riera
0b0f7919a2 Translated using Weblate (Catalan)
Currently translated at 95.8% (451 of 471 strings)
2019-08-18 07:09:12 +02:00
uievawkejf
c8e23fb6ce Translated using Weblate (Ukrainian)
Currently translated at 99.4% (468 of 471 strings)
2019-08-18 07:09:11 +02:00
Osoitz
bc10717f61 Translated using Weblate (Basque)
Currently translated at 99.4% (468 of 471 strings)
2019-08-18 07:09:10 +02:00
Westminboy
e621dd3b28 Translated using Weblate (English)
Currently translated at 100.0% (471 of 471 strings)
2019-08-18 07:09:08 +02:00
Tobias Groza
20208be556 Translated using Weblate (German)
Currently translated at 99.4% (468 of 471 strings)
2019-08-18 07:09:06 +02:00
Kowith Singkornkeeree
9074733aab Translated using Weblate (Thai)
Currently translated at 54.8% (258 of 471 strings)
2019-08-18 07:09:06 +02:00
Westminboy
ae0ee61e7d Translated using Weblate (English)
Currently translated at 100.0% (471 of 471 strings)
2019-08-18 07:09:03 +02:00
Allan Nordhøy
ac797196f5 Translated using Weblate (English)
Currently translated at 100.0% (471 of 471 strings)
2019-08-18 07:09:03 +02:00
Christian Schabesberger
30aa64e9c6 Merge branch 'dev' of github.com:teamnewpipe/newpipe into dev 2019-08-18 01:01:43 +02:00
Christian Schabesberger
b992add77b move on to version 0.17.1 2019-08-18 01:00:54 +02:00
TobiGr
88ebd963f7 Merge remote-tracking branch 'Weblate/dev' into dev 2019-08-18 00:51:52 +02:00
Christian Schabesberger
96baa2978d Merge pull request #2521 from kapodamy/saf-workarround
Downloads: add switch for saf/legacy file picker
2019-08-18 00:42:59 +02:00
Christian Schabesberger
c01609b858 Merge branch 'dev' into saf-workarround 2019-08-18 00:40:43 +02:00
Christian Schabesberger
c89f0e5547 Merge pull request #2527 from Stypox/recaptcha-with-url
Fix ReCaptchaActivity
2019-08-18 00:39:30 +02:00
kapodamy
10dfcbf0b9 add manual switch in download setting fragment
switch for:
* Java I/O Api
* Storage Access Framework
2019-08-17 13:38:33 -03:00
Stypox
43446d56c5 Load the url from the exception in the ReCaptchaActivity
Sometimes YouTube introduces recaptchas only on some pages. By loading the url inside the ReCaptchaException into ReCaptchaActivity's webview, the page that originally caused the problem is shown. The user can then solve the page-specific recaptcha.
2019-08-17 09:33:51 +02:00
Stypox
e66f2ab36b Fix ReCaptchaActivity layout crash due to hidden EditText
Closes #2484
2019-08-17 09:33:20 +02:00
Stypox
63def07a0e Add url to recaptcha exceptions, after update in extractor 2019-08-17 09:25:49 +02:00
kapodamy
1ba7710af8 Merge remote-tracking branch 'origin/saf-workarround' into saf-workarround 2019-08-15 21:49:21 -03:00
kapodamy
8f13a7ec97 check if the if the content provider is disabled (the app itself) 2019-08-15 21:48:07 -03:00
Christian Schabesberger
93dff5cf7a Merge branch 'dev' into saf-workarround 2019-08-15 14:37:19 +02:00
Christian Schabesberger
6a0450b9f6 Merge pull request #2516 from rogersachan/patch-1
Add GitHub sponsors button to feature liberapay
2019-08-15 14:36:58 +02:00
nautilusx
fffeadd8ea Translated using Weblate (German)
Currently translated at 100.0% (471 of 471 strings)
2019-08-15 09:51:19 +02:00
Hosted Weblate
b697e058d9 Merge branch 'origin/dev' into Weblate. 2019-08-15 06:23:56 +02:00
thami simo
14db8b1283 Translated using Weblate (Arabic)
Currently translated at 100.0% (451 of 451 strings)
2019-08-15 06:23:54 +02:00
Kowith Singkornkeeree
45ad8621cf Translated using Weblate (Thai)
Currently translated at 59.4% (268 of 451 strings)
2019-08-15 06:23:54 +02:00
kapodamy
dee3a18ea8 misc changes
* restore permission request popup previously removed in #2486
* use legacy file picker in cases where saf file picker is not available
* fix missing file check logic in prepareSelectedDownload method (DownloadDialog.java)
2019-08-15 01:09:36 -03:00
kapodamy
950cf714d9 use legacy file picker in those cases where saf is not available 2019-08-14 22:15:42 -03:00
kapodamy
652184506b check for Storage Access Framework features
* creating files though saf
* picking folder though saf
2019-08-14 21:54:26 -03:00
Andrew
89f2cd6ec0 Merge branch 'dev' into patch-1 2019-08-14 17:39:57 +01:00
Roger
6457cac797 Merge branch 'dev' into patch-1 2019-08-14 11:42:46 -04:00
Christian Schabesberger
f66c2ba171 Merge pull request #2518 from Stypox/playlist-play-from-here
Customize "start here" actions in playlist item views
2019-08-14 15:01:37 +02:00
Christian Schabesberger
6133c97f45 Merge branch 'dev' into playlist-play-from-here 2019-08-14 14:53:06 +02:00
Christian Schabesberger
0dc71ce37a Merge pull request #2517 from Stypox/list-slowdown-fix
List slowdown fix
2019-08-14 14:51:18 +02:00
Stypox
c96a05a8f9 Customize "start here" actions in playlist item views
Now those actions start playing the whole playlist from the chosen stream, instead of playing only the chosen stream.
2019-08-14 14:17:05 +02:00
Stypox
c190dc4792 Fix annotation warnings in modified files 2019-08-14 13:11:44 +02:00
Stypox
ebf91d27c7 Clean up code for addItems() on ItemListAdapters. 2019-08-14 13:11:16 +02:00
Stypox
63301ee771 Remove "Trollolo" logs
They were probably left behind by accident after a debugging session.
2019-08-14 12:57:04 +02:00
Stypox
7da827a06a Fix annotation warnings 2019-08-14 12:55:17 +02:00
Stypox
00fc5217f5 Fix potential disposable leak in PlaylistAppendDialog 2019-08-14 12:54:17 +02:00
Stypox
04e725bb50 Fix some inspection warnings in modified files 2019-08-14 11:49:37 +02:00
Stypox
e6617ff8e8 Fix slowdowns in stream list views
Now the playback state of a stream is loaded only when needed (i.e. when the stream is visible), just as it is done with thumbnails.
Removed `StateObjectsListAdapter.java`, which used to load the state of every stream at list instantiation, generating slowdowns and freezes.
2019-08-14 11:42:39 +02:00
Roger
1b0a958436 Create FUNDING.yml 2019-08-13 22:10:04 -04:00
TobiGr
5053d470f6 Do not save playback position when watch history is disabled 2019-08-13 14:39:57 +02:00
TobiGr
8de5c53485 Fix typo in HistorySettinsFragment
Rename viewsHistroyClearKey to viewsHistoryClearKey
2019-08-13 14:25:47 +02:00
TobiGr
ec3ae7c7b8 Clean up string resources 2019-08-12 17:35:36 +02:00
TobiGr
c46af7d194 Merge branch 'weblate' into dev 2019-08-12 17:25:10 +02:00
Kowith Singkornkeeree
5254e85840 Added translation using Weblate (Thai) 2019-08-12 15:02:32 +02:00
Tobias Groza
5883f6e763 Merge pull request #2487 from kapodamy/buttons-hiding-fix-on-screen-off
fixup for #2149 (missing buttons)
2019-08-12 14:16:03 +02:00
Tobias Groza
c02383d7d9 Merge branch 'dev' into buttons-hiding-fix-on-screen-off 2019-08-12 13:57:02 +02:00
Christian Schabesberger
f98e5cc22d Merge pull request #2502 from Stypox/fix-player-resume
Fix player resume
2019-08-12 10:47:21 +02:00
Christian Schabesberger
9fbb61a744 make fastlane description better suted for fdroid 2019-08-11 23:18:56 +02:00
Stypox
5191907af0 Fix player resume 2019-08-11 22:10:05 +02:00
kapodamy
35a69b4b1d update download_menu.xml
use "ifRoom" and "always" in cases where is possible
2019-08-10 15:56:59 -03:00
Andrew
f947856a61 Revert last commit 2019-08-08 01:13:34 +00:00
Andrew
c4967532e4 Use commit from extractor pr 2019-08-08 01:07:51 +00:00
Andrew
7dc560e1f2 Merge branch 'dev' into patch-1 2019-08-08 00:29:16 +00:00
Andrew
ab03198ba6 Add debugging domain for main instance 2019-08-08 00:22:40 +00:00
yausername
a64f520644 fix item addition to list 2019-08-07 22:27:58 +05:30
yausername
5aced46345 remove controls animation/flicker 2019-08-07 22:27:58 +05:30
TobiGr
3cd485069d Fix playback position not being deleted on clearing watch history 2019-08-07 14:34:49 +02:00
Christian Schabesberger
fabb07bb28 fix import settings not working 2019-08-04 17:27:56 +02:00
kapodamy
2328ea6d07 dont hardcode the buttons 2019-08-03 12:44:55 -03:00
kapodamy
0375194e7d fix start/pause buttons disappear when screen goes off
* fix start/pause buttons disappear, issued by RecyclerView re-draw
* show start/pause buttons in pair to avoid confusions
2019-08-03 12:28:58 -03:00
kapodamy
5a6a6bcc78 clean-up: remove unused method 2019-08-03 12:28:58 -03:00
TobiGr
c8f475bba1 Add changelog for 0.17.0 2019-08-03 00:35:45 +02:00
TobiGr
31f3757880 Move on to version 0.17.0 (750) 2019-08-03 00:35:45 +02:00
Igor Nedoboy
a60a9bb144 Translated using Weblate (Russian)
Currently translated at 100.0% (451 of 451 strings)
2019-08-02 23:07:42 +02:00
Tobias Groza
21a90bb7ee Merge pull request #2486 from kapodamy/32k-issue-fix
Fix slow download speed
2019-08-02 22:23:34 +02:00
Andrew
6a8e38476f Add all (HTTP(S)) Invidious instances
Public Invidious instances from https://github.com/omarroth/invidious/wiki/invidious-instances have been added to the AndroidManifest.xml to allow opening of the public Invidious (not just `invidio.us`) links in NewPipe.
2019-08-02 18:26:13 +00:00
kapodamy
2f66913813 drop unused popup storage permission request 2019-08-02 01:07:37 -03:00
kapodamy
d9b042d9e3 socket leak fix
* fix socket leak in "DownloadRunnable"
* in "DownloadInitializer" close the HTTP body after doing range-request checks
* in "DownloadRunnableFallback" fix typo in comment
* in "DownloadDialog" fix regression, using one thread for audios instead of subtitles
2019-08-01 22:41:09 -03:00
Marc Riera
ef9044d933 Translated using Weblate (Catalan)
Currently translated at 98.4% (444 of 451 strings)
2019-08-01 19:47:13 +02:00
Bas Conrads
12c9dbf1bf Translated using Weblate (Esperanto)
Currently translated at 18.6% (84 of 451 strings)
2019-08-01 19:47:12 +02:00
Nenad
8cc8aa8693 Translated using Weblate (Serbian)
Currently translated at 50.1% (226 of 451 strings)
2019-08-01 19:47:09 +02:00
TobiGr
e529b16956 Merge branch 'weblate' into release_v0.17.0 2019-08-01 01:44:25 +02:00
TobiGr
ffe8d4b689 Update extractor version to fix video duration parsing failure 2019-07-31 18:35:46 +02:00
Tobias Groza
4e5a20ec45 Merge pull request #2368 from Stypox/menu-consistency
Make long-press menu consistent across views
2019-07-31 13:37:49 +02:00
Stypox
7c9ef58acd Fix crash when closing a not-yet-loaded popup. 2019-07-25 12:32:56 +02:00
Stypox
d076fe72cd Optimize imports in edited files 2019-07-25 11:47:38 +02:00
Stypox
25fbbfaf94 Rename action to defaultAction in StreamDialogEntry
To improve readability
2019-07-25 01:07:51 +02:00
Stypox
9df27f43de Ensure default actions cannot be overwritten permanently in StreamDialogEntry 2019-07-25 00:53:13 +02:00
Stypox
759e9846ad Remove ugly if-else-cascade in
Common actions and labels are now in a unique enum: StreamDialogEntry
If an action is not common to every long-press menu (e.g. delete) a custom action has to be provided using e.g. delete.setAction(...)
2019-07-25 00:44:12 +02:00
Stypox
3aeba7ca8a Merge branch 'dev' into menu-consistency 2019-07-24 17:21:45 +02:00
hatsunearu
2a44a091c8 Translated using Weblate (Korean)
Currently translated at 100.0% (451 of 451 strings)
2019-07-23 03:18:37 +02:00
JS Ahn
4c92aebc3c Translated using Weblate (Korean)
Currently translated at 100.0% (451 of 451 strings)
2019-07-23 03:16:54 +02:00
JS Ahn
d4ecd0dfab Translated using Weblate (Korean)
Currently translated at 100.0% (451 of 451 strings)
2019-07-23 03:15:50 +02:00
bluepencil
3f790d01fa Translated using Weblate (Korean)
Currently translated at 100.0% (451 of 451 strings)
2019-07-23 03:15:49 +02:00
Christian Schabesberger
e7b068ed8e Merge pull request #2203 from yausername/defaultTrending
added default kiosk
2019-07-22 23:31:14 +02:00
Christian Schabesberger
bd485937c4 Merge branch 'dev' into defaultTrending 2019-07-22 22:39:47 +02:00
Stypox
8edc332a4e Fix showing popup options with audio-only streams 2019-07-22 11:58:01 +02:00
Stypox
bb5028364b Complete merge after #2288: add resumePlayback to player calls.
`resumePlayback`'s value is `false` when the video is enqueued, `true` otherwise.
Also make the use of getContext() and getActivity() more consistant.
2019-07-22 10:28:53 +02:00
Stypox
ef070a4e0e Merge branch 'dev' into menu-consistency 2019-07-22 09:10:25 +02:00
Christian Schabesberger
6787d0224c Merge pull request #2453 from m0n1ker/issue-2240
Update play queue metadata
2019-07-21 16:14:02 +02:00
Christian Schabesberger
8a43e24095 Merge branch 'dev' into issue-2240 2019-07-21 16:07:32 +02:00
Christian Schabesberger
f879f549e4 Merge pull request #2440 from kapodamy/dl-bux-fix
fix downloads stuck at 99.9%
2019-07-21 16:04:52 +02:00
Christian Schabesberger
db55484163 Merge branch 'dev' into dl-bux-fix 2019-07-21 15:38:39 +02:00
Christian Schabesberger
4d8f66f28e Merge pull request #2444 from moneytoo/rotate
Handle (auto)rotation changes during activity lifecycle
2019-07-21 15:37:55 +02:00
Christian Schabesberger
7a44061fa3 Merge branch 'dev' into rotate 2019-07-21 15:12:41 +02:00
Christian Schabesberger
5d4bb42e39 Merge branch 'dev' into dl-bux-fix 2019-07-21 15:10:57 +02:00
Christian Schabesberger
3a6c22da5c update to latest dev extractor 2019-07-21 15:08:17 +02:00
Stypox
064f0e414a Merge branch 'dev' into menu-consistency 2019-07-21 11:11:06 +02:00
Mostafa Ahangarha
77db3cb6fa Translated using Weblate (Persian)
Currently translated at 70.7% (319 of 451 strings)
2019-07-18 18:05:12 +02:00
bluepencil
b83a1fd102 Translated using Weblate (Korean)
Currently translated at 100.0% (451 of 451 strings)
2019-07-16 08:03:42 +02:00
Igor Nedoboy
99c519c065 Translated using Weblate (Russian)
Currently translated at 100.0% (451 of 451 strings)
2019-07-13 21:00:45 +02:00
Allan Nordhøy
632e52b38d Translated using Weblate (Norwegian Bokmål)
Currently translated at 97.6% (440 of 451 strings)
2019-07-11 21:01:06 +02:00
Syver Stensholt
1b66ffac6c Translated using Weblate (Norwegian Bokmål)
Currently translated at 97.6% (440 of 451 strings)
2019-07-11 21:01:04 +02:00
Alan Nelson
ee9052ad3d Add title to additional metadata object 2019-07-11 00:48:28 -05:00
John Doe
550c74da77 Translated using Weblate (Croatian)
Currently translated at 100.0% (451 of 451 strings)
2019-07-10 13:01:11 +02:00
Alan Nelson
ccdd450283 Add current and total track numbers to metadata 2019-07-09 22:37:03 -05:00
Alan Nelson
224a607bc3 Fix Bluetooth AVRCP duration metadata 2019-07-09 22:34:18 -05:00
random r
8fcd23663c Translated using Weblate (Italian)
Currently translated at 100.0% (451 of 451 strings)
2019-07-09 11:00:59 +02:00
Tobias Groza
ad79a71fbd Merge pull request #2423 from Redirion/patch-2
Silence CheckForNewAppVersionTask
2019-07-07 21:08:01 +02:00
Tobias Groza
d862a59349 Merge branch 'dev' into patch-2 2019-07-07 20:39:26 +02:00
D D
2d6362dddb Translated using Weblate (Bulgarian)
Currently translated at 85.4% (385 of 451 strings)
2019-07-06 21:01:14 +02:00
Flo - Fan
ee3ec3a4ea Translated using Weblate (French)
Currently translated at 100.0% (451 of 451 strings)
2019-07-05 17:01:08 +02:00
THANOS SIOURDAKIS
daecfd97c2 Translated using Weblate (Greek)
Currently translated at 100.0% (451 of 451 strings)
2019-07-05 17:01:07 +02:00
Khaleel Jageer
200a81d536 Translated using Weblate (Tamil)
Currently translated at 33.7% (152 of 451 strings)
2019-07-05 17:01:07 +02:00
Marcel Dopita
8059ac89d3 Handle (auto)rotation changes during activity lifecycle
Fixes #1156
2019-07-04 07:30:01 +02:00
kapodamy
60f5f07dd6 commit (3 changes)
* re-write download segmenting logic (issue #).
* clean-up download threads handling.
* fix race-condition if "pause" option in download context menu was selected, in the transition from "pending" to "finished" state.
2019-07-02 21:07:21 -03:00
Osoitz
372d5ce413 Translated using Weblate (Basque)
Currently translated at 100.0% (451 of 451 strings)
2019-07-02 12:01:06 +02:00
Mehmetali
6f97819ca7 Translated using Weblate (Turkish)
Currently translated at 100.0% (451 of 451 strings)
2019-07-02 12:01:03 +02:00
JoC
2b2ee56712 Translated using Weblate (Spanish)
Currently translated at 100.0% (451 of 451 strings)
2019-06-28 10:01:02 +02:00
thami simo
3715326034 Translated using Weblate (Arabic)
Currently translated at 100.0% (451 of 451 strings)
2019-06-28 10:01:00 +02:00
Cenk YILDIZLI
6cbb8b1753 Translated using Weblate (Turkish)
Currently translated at 99.1% (447 of 451 strings)
2019-06-28 10:00:57 +02:00
Christian Schabesberger
806896ea05 Merge pull request #2295 from sherlockbeard/removeextra
removed the gema strings.
2019-06-27 14:29:42 +02:00
Redirion
fc8746e077 Update CheckForNewAppVersionTask.java 2019-06-26 18:37:04 +02:00
Christian Schabesberger
e11df5bb49 Merge branch 'dev' into removeextra 2019-06-26 15:42:47 +02:00
Redirion
37a9e98ebc Update CheckForNewAppVersionTask.java 2019-06-25 13:53:23 +02:00
Redirion
80b4975188 Update CheckForNewAppVersionTask.java 2019-06-25 13:47:16 +02:00
Redirion
c4ef40f4dc Removed tabs 2019-06-25 13:41:08 +02:00
Redirion
6a4bb6e3e1 Update CheckForNewAppVersionTask.java 2019-06-25 13:39:47 +02:00
Redirion
05ef926a7f Update CheckForNewAppVersionTask.java 2019-06-25 13:31:26 +02:00
Redirion
0007451735 Update CheckForNewAppVersionTask.java 2019-06-25 13:22:40 +02:00
Redirion
e599de038a Silence CheckForNewAppVersionTask
Closes #2421
2019-06-25 11:49:59 +02:00
Tobias Groza
61472a995f Merge pull request #2288 from nv95/playback_state_list
Playback positions in lists
2019-06-23 19:44:13 +02:00
Vasily
2a41802f36 Merge branch 'dev' into playback_state_list 2019-06-23 20:23:29 +03:00
gkhnblt
1d1cee17c3 Translated using Weblate (Turkish)
Currently translated at 98.0% (442 of 451 strings)
2019-06-23 19:00:19 +02:00
Michael Moroni
e99266f9d8 Translated using Weblate (Italian)
Currently translated at 100.0% (451 of 451 strings)
2019-06-21 14:00:36 +02:00
Eduardo Caron
1f2cd064f7 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (451 of 451 strings)
2019-06-21 14:00:35 +02:00
minsk21
9c2cf9eef7 Translated using Weblate (Belarusian)
Currently translated at 73.4% (331 of 451 strings)
2019-06-18 21:02:47 +02:00
Tobias Groza
38b0b79644 Merge pull request #2149 from kapodamy/ps-branch
Downloader fixes
2019-06-17 22:53:11 +02:00
JoC
5252834075 Translated using Weblate (Spanish)
Currently translated at 100.0% (451 of 451 strings)
2019-06-15 19:53:20 +02:00
kapodamy
162df5eb6c Merge branch 'dev' into ps-branch 2019-06-14 12:55:49 -03:00
kapodamy
ac5e2e0532 bugs fixes
* fix storage warning dialogs created on invalid contexts
* implement mkdirs in StoredDirectoryHelper
2019-06-14 12:19:50 -03:00
Stypox
f0ba6afbdf Merge branch 'dev' into menu-consistency 2019-06-14 09:40:40 +02:00
Hosted Weblate
04a5f43472 Merge branch 'origin/dev' into Weblate. 2019-06-13 14:30:35 +02:00
Allan Nordhøy
a15ef4b7ce Translated using Weblate (Norwegian Bokmål)
Currently translated at 94.9% (428 of 451 strings)
2019-06-13 14:30:34 +02:00
Jeff Huang
f1f9147433 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:30:33 +02:00
Nathan Follens
3c0d7de377 Translated using Weblate (Flemish)
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:30:31 +02:00
Arnaud Jacquemin
2a57d74f1a Translated using Weblate (French)
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:30:29 +02:00
Florian
79717859b3 Translated using Weblate (French)
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:30:28 +02:00
Prashant Shahi
be423939ed Translated using Weblate (Nepali)
Currently translated at 6.0% (27 of 451 strings)
2019-06-13 14:30:27 +02:00
Nathan Follens
086cceb271 Translated using Weblate (Dutch)
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:30:21 +02:00
zmni
a14033afb7 Translated using Weblate (Indonesian)
Currently translated at 99.8% (450 of 451 strings)
2019-06-13 14:30:20 +02:00
Rex_sa
cc89a342ed Translated using Weblate (Arabic)
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:30:18 +02:00
ButterflyOfFire
25c3669564 Translated using Weblate (Arabic)
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:30:17 +02:00
Michael Moroni
21eff0b2ec Translated using Weblate (Italian)
Currently translated at 98.2% (443 of 451 strings)
2019-06-13 14:30:16 +02:00
pjammo
472fd72c82 Translated using Weblate (Italian)
Currently translated at 98.2% (443 of 451 strings)
2019-06-13 14:30:15 +02:00
WaldiS
429a9a42d3 Translated using Weblate (Polish)
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:30:13 +02:00
Yaron Shahrabani
90c525e99a Translated using Weblate (Hebrew)
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:30:12 +02:00
Stjepan
196117998a Translated using Weblate (Croatian)
Currently translated at 99.3% (448 of 451 strings)
2019-06-13 14:30:10 +02:00
ssantos
630cbc77a8 Translated using Weblate (Portuguese)
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:30:09 +02:00
Marc Riera
b6e4afe321 Translated using Weblate (Catalan)
Currently translated at 97.1% (438 of 451 strings)
2019-06-13 14:30:06 +02:00
naofum
59085ff8c8 Translated using Weblate (Japanese)
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:30:04 +02:00
AB
a4274c6301 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:30:02 +02:00
THANOS SIOURDAKIS
b4ef44b343 Translated using Weblate (Greek)
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:30:01 +02:00
postsorino
08bc97582b Translated using Weblate (Greek)
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:30:00 +02:00
gabriellluz
3952c88510 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:29:59 +02:00
Lucas Ayala
b1f27b9da7 Translated using Weblate (Spanish)
Currently translated at 100.0% (451 of 451 strings)
2019-06-13 14:29:55 +02:00
Tobias Groza
171b258d5c Merge pull request #2394 from Redirion/patch-1
Fixed selected subtitle track name not being shown
2019-06-12 22:50:34 +02:00
Redirion
af971b6a19 Fixed selected subtitle stream not being shown
closes #2393
this ammends my obviously incomplete fix in PR #2311.

This is just an UI issue. Subtitle track selection works, it just shows "No Captions" unfortunately.
2019-06-12 14:44:36 +02:00
Karel S
7ca026393b Translated using Weblate (Czech)
Currently translated at 100.0% (451 of 451 strings)
2019-06-12 10:52:28 +02:00
Vojtěch Šamla
f8784ae3c7 Translated using Weblate (Czech)
Currently translated at 100.0% (451 of 451 strings)
2019-06-12 10:52:27 +02:00
ssantos
3ddc3acf4c Translated using Weblate (German)
Currently translated at 100.0% (451 of 451 strings)
2019-06-06 08:57:12 +02:00
nautilusx
ff430f5e33 Translated using Weblate (German)
Currently translated at 100.0% (451 of 451 strings)
2019-06-06 08:57:12 +02:00
Prashant Shahi
daf2890161 Added translation using Weblate (Nepali) 2019-06-05 17:16:25 +02:00
Igor Nedoboy
4ca639323d Translated using Weblate (Russian)
Currently translated at 100.0% (451 of 451 strings)
2019-06-05 00:59:48 +02:00
Igor Nedoboy
a92bf155a3 Translated using Weblate (Russian)
Currently translated at 100.0% (451 of 451 strings)
2019-06-05 00:48:25 +02:00
Igor Nedoboy
d153772eb2 Translated using Weblate (Russian)
Currently translated at 100.0% (451 of 451 strings)
2019-06-05 00:37:18 +02:00
kapodamy
cdc8fe86ce amend rebase
resolve inconsistency in string.xml files
2019-06-04 15:45:28 -03:00
Hosted Weblate
4844037ce9 Merge branch 'origin/dev' into Weblate. 2019-06-04 13:40:03 +02:00
Jeff Huang
691c1e1a37 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (443 of 443 strings)
2019-06-04 13:40:03 +02:00
Jazz
bd55b91a86 Translated using Weblate (French)
Currently translated at 99.8% (442 of 443 strings)
2019-06-04 13:40:02 +02:00
Eduardo Serra
8842f53696 Translated using Weblate (Spanish)
Currently translated at 100.0% (443 of 443 strings)
2019-06-04 13:40:02 +02:00
ButterflyOfFire
ffed9f6116 Translated using Weblate (Arabic)
Currently translated at 100.0% (443 of 443 strings)
2019-06-04 13:40:01 +02:00
pjammo
50e8f45601 Translated using Weblate (Italian)
Currently translated at 100.0% (443 of 443 strings)
2019-06-04 13:40:00 +02:00
WaldiS
8cbfe9e6cf Translated using Weblate (Polish)
Currently translated at 100.0% (443 of 443 strings)
2019-06-04 13:40:00 +02:00
Karel S
99ad3dc292 Translated using Weblate (Czech)
Currently translated at 99.8% (442 of 443 strings)
2019-06-04 13:40:00 +02:00
monolifed
6908355d38 Translated using Weblate (Turkish)
Currently translated at 100.0% (443 of 443 strings)
2019-06-04 13:39:56 +02:00
kapodamy
7b948f83c3 Space reserving tweaks for huge video resolutions
* improve space reserving, allows write better 4K/8K video data
* do not use cache dirs in the muxers, Android can force close NewPipe if the device is running out of storage. Is a aggressive cache cleaning >:/
* (for devs) webm & mkv are the same thing
* calculate the final file size inside of the mission, instead getting from the UI
* simplify ps algorithms constructors
* [missing old commit message] simplify the loading of pending downloads
2019-06-03 18:26:26 -03:00
kapodamy
34b2b96158 Simplify the storage APIs use
* use Java I/O (classic way) on older android versions
* use Storage Access Framework on newer android versions (Android Lollipop or later)
* both changes have the external SD Card write permission
* add option to ask the save path on each download
* warn the user if the save paths are not defined, this only happens on the first NewPipe run (Android Lollipop or later)
2019-06-03 18:26:24 -03:00
kapodamy
d1573a0a6e misc changes
* implement socket timeout error
* use 128k buffer size for copy
* use NewPipe HTTP user agent in the downloads
* automatically recover downloads with network errors that are queued
2019-06-03 18:25:43 -03:00
kapodamy
16d6bda85d Webm muxer fixes and strings.xml changes
* replace "In queue" to "Pending" in the downloads header to avoid confusions (all languages)
* use 29bits Clusters size to support huge video resolutions (fixes #2291) (WebmWriter.java)
* add missing changes to WebmMuxer.java (i forget select the audio track)
2019-06-03 18:24:49 -03:00
kapodamy
4b3eb2ece5 Forget the download save path if the storage API is changed 2019-06-03 18:19:20 -03:00
kapodamy
1089de6321 Add confirm dialog before clear the finished download list 2019-06-03 18:19:18 -03:00
kapodamy
d00dc798f4 more SAF implementation
* full support for Directory API (Android Lollipop or later)
* best effort to handle any kind errors (missing file, revoked permissions, etc) and recover the download
* implemented directory choosing
* fix download database version upgrading
* misc. cleanup
* do not release permission on the old save path (if the user change the download directory) under SAF api
2019-06-03 18:18:20 -03:00
kapodamy
f6b32823ba Implement Storage Access Framework
* re-work finished mission database
* re-work DownloadMission and bump it Serializable version
* keep the classic Java IO API
* SAF Tree API support on Android Lollipop or higher
* add wrapper for SAF stream opening
* implement Closeable in SharpStream to replace the dispose() method

* do required changes for this API:
** remove any file creation logic from DownloadInitializer
** make PostProcessing Serializable and reduce the number of iterations
** update all strings.xml files
** storage helpers: StoredDirectoryHelper & StoredFileHelper
** best effort to handle any kind of SAF errors/exceptions
2019-06-03 18:16:41 -03:00
kapodamy
9e34fee58c New MP4 muxer + Queue changes + Storage fixes
Main changes:
* correctly check the available space (CircularFile.java)
* misc cleanup (CircularFile.java)
* use the "Error Reporter" for non-http errors
* rewrite network state checking and add better support for API 21 (Lollipop) or higher
* implement "metered networks"
* add buttons in "Downloads" activity to start/pause all pending downloads, ignoring the queue flag or if the network is "metered"
* add workaround for VPN connections and/or network switching. Example: switching WiFi to 3G
* rewrite DataReader ¡Webm muxer is now 57% more faster!
* rewrite CircularFile, use file buffers instead of memory buffers. Less troubles in low-end devices
* fix missing offset for KaxCluster (WebMWriter.java), manifested as no thumbnails on file explorers

Download queue:
* remember queue status, unless the user pause the download (un-queue)
* semi-automatic downloads, between networks. Effective if the user create a new download or the downloads activity is starts
* allow enqueue failed downloads
* new option, queue limit, enabled by default. Used to allow one or multiple downloads at same time

Miscellaneous:
* fix crash while selecting details/error menu (mistake on MissionFragment.java)
* misc serialize changes (DownloadMission.java)
* minor UI tweaks
* allow overwrite paused downloads
* fix wrong icons for grid/list button in downloads
* add share option
* implement #2006
* correct misspelled word in strings.xml (es) (cmn)
* fix MissionAdapter crash during device shutdown

New Mp4Muxer + required changes:
* new mp4 muxer (from dash only) with this, muxing on Android 7 is possible now!!!
* re-work in SharpStream
* drop mp4 dash muxer
* misc changes: add warning in SecondaryStreamHelper.java,
* strip m4a DASH files to normal m4a format (youtube only)

Fix storage issues:
* warn to the user if is choosing a "read only" download directory (for external SD Cards), useless is rooted :)
* "write proof" allow post-processing resuming only if the device ran out of space
* implement "insufficient storage" error for downloads
2019-06-03 18:09:43 -03:00
Tobias Groza
1684a2110c Update Extractor 2019-06-03 22:06:58 +02:00
Tobias Groza
5e00e34552 Merge remote-tracking branch 'Weblate/dev' into dev 2019-06-03 22:04:36 +02:00
Yaron Shahrabani
ce204eba62 Translated using Weblate (Hebrew)
Currently translated at 100.0% (443 of 443 strings)
2019-06-02 12:48:16 +02:00
Yaron Shahrabani
c7cb652322 Translated using Weblate (Hebrew)
Currently translated at 99.8% (442 of 443 strings)
2019-06-02 12:44:09 +02:00
Yaron Shahrabani
f8ccc3128e Translated using Weblate (Hebrew)
Currently translated at 99.8% (442 of 443 strings)
2019-06-02 12:44:08 +02:00
bob mar
4a8baaef45 Translated using Weblate (Hebrew)
Currently translated at 99.8% (442 of 443 strings)
2019-06-02 12:44:08 +02:00
artik banana
a9f3939c83 Translated using Weblate (Hebrew)
Currently translated at 99.8% (442 of 443 strings)
2019-06-02 12:27:18 +02:00
Joseph Kim
d8cb950248 Translated using Weblate (Korean)
Currently translated at 100.0% (443 of 443 strings)
2019-06-02 12:27:07 +02:00
AB
aefc51db4b Translated using Weblate (Ukrainian)
Currently translated at 100.0% (443 of 443 strings)
2019-06-02 12:27:00 +02:00
artik banana
fb18ea7ff8 Translated using Weblate (Hebrew)
Currently translated at 99.8% (442 of 443 strings)
2019-06-02 12:26:58 +02:00
bob mar
407c61e212 Translated using Weblate (Hebrew)
Currently translated at 99.8% (442 of 443 strings)
2019-06-02 12:26:58 +02:00
ssantos
d8e6ad48ca Translated using Weblate (Portuguese)
Currently translated at 100.0% (443 of 443 strings)
2019-06-02 02:18:34 +02:00
yunna
bd42f4188f Translated using Weblate (Japanese)
Currently translated at 99.8% (442 of 443 strings)
2019-06-02 02:18:34 +02:00
yunna
f766f383ea Translated using Weblate (English)
Currently translated at 100.0% (443 of 443 strings)
2019-06-02 02:18:28 +02:00
ssantos
1a9922d790 Translated using Weblate (German)
Currently translated at 100.0% (443 of 443 strings)
2019-06-02 02:18:24 +02:00
Tobias Groza
6213623431 Merge pull request #2235 from TeamNewPipe/readme-services
Add supported services section to readme
2019-06-02 02:03:14 +02:00
Tobias Groza
2809ee7a3e Merge branch 'dev' into readme-services 2019-06-02 02:02:44 +02:00
Tobias Groza
281cae7a18 Merge branch 'master' into dev 2019-05-31 23:46:28 +02:00
Tobias Groza
1670751c94 Merge pull request #2312 from TeamNewPipe/release_v0.16.2
Release v0.16.2
2019-05-31 23:30:39 +02:00
mohammadmdp
e1ead9d2ef Translated using Weblate (Persian)
Currently translated at 58.9% (261 of 443 strings)
2019-05-31 11:24:47 +02:00
Karel S
359a9a96d6 Translated using Weblate (Czech)
Currently translated at 99.8% (442 of 443 strings)
2019-05-31 11:24:44 +02:00
Stypox
b6cfb8a3dc Remove dupliacte direct_on_background string
start_here_on_background has the same meaning

start_here_on_main is now unused, but I left it there so that if it ever becomes useful again, it is ready to be used.
2019-05-30 15:30:13 +02:00
Stypox
6f028ecb19 Remove unused imports from modified files 2019-05-29 20:45:05 +02:00
Stypox
8695466690 Make subscription long-press menu consistant in local sub list
Inverted unsubscribe with share, since share has always been put after content-specific actions.
2019-05-29 20:39:17 +02:00
Stypox
bdb1be9967 Remove useless overrides of showStreamDialog
They were exactly the same as the base class function
2019-05-29 20:25:44 +02:00
Cipisek Rumcajsu
9395df4cc3 Translated using Weblate (Czech)
Currently translated at 90.3% (400 of 443 strings)
2019-05-29 18:08:08 +02:00
Karel S
93edb333d4 Translated using Weblate (Czech)
Currently translated at 90.3% (400 of 443 strings)
2019-05-29 18:08:08 +02:00
Stypox
30eeef46c2 Removed unused showStreamDialog from VideoDetailFragment
VideoDetailFragment already borrows a consistant menu from the stream list it holds.
2019-05-29 16:25:23 +02:00
Stypox
8b584f3922 Make long-press menu consistent across views: fix #2354
Also made the code that creates the menus consistent across files.
2019-05-29 16:22:01 +02:00
Tobias Groza
0c354c4fdb Remove old strings
Remove strings which have been deleted from the English strings file during development, but were translated via Weblate, which failed to pull and push our upstream repo.
2019-05-27 00:11:37 +02:00
Tobias Groza
bd7413119a Merge branch 'weblate' into release_v0.16.2
Update translations
2019-05-26 22:58:53 +02:00
Davide Palma
f26915aab6 Translated using Weblate (Italian)
Currently translated at 99.8% (442 of 443 strings)
2019-05-25 04:49:13 +02:00
Tobias Groza
f6068dc69d Translated using Weblate (German)
Currently translated at 100.0% (443 of 443 strings)
2019-05-25 04:49:11 +02:00
Marc Riera
bd2c65cd94 Translated using Weblate (Catalan)
Currently translated at 96.8% (429 of 443 strings)
2019-05-15 11:49:29 +02:00
Tobias Groza
4777910644 Update changelog for 0.16.2 2019-05-14 23:17:04 +02:00
Tobias Groza
66b26e52ce Update extractor version 2019-05-14 23:16:43 +02:00
Tolstovka
a758267d72 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (443 of 443 strings)
2019-05-13 10:53:20 +02:00
Tolstovka
72eae64698 Translated using Weblate (Russian)
Currently translated at 100.0% (443 of 443 strings)
2019-05-13 10:53:18 +02:00
84436
d63c18f7f0 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (443 of 443 strings)
2019-05-10 10:19:35 +02:00
Eduardo Caron
b05e3ca8d8 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (443 of 443 strings)
2019-05-10 10:17:50 +02:00
gabriellluz
0a88100b67 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (443 of 443 strings)
2019-05-08 16:49:07 +02:00
sherlockbeard
43b859f778 Merge branch 'dev' into removeextra 2019-05-07 13:59:32 +05:30
sherlockbeard
d1bd7f695f Update strings.xml 2019-05-07 13:57:31 +05:30
Vasiliy
312e1378d3 Fix tablet ui 2019-05-06 19:16:39 +03:00
abvgeej
55d6825f63 Translated using Weblate (Russian)
Currently translated at 99.5% (441 of 443 strings)
2019-05-06 14:48:53 +02:00
Jonathan Tavares
e4f9af7076 Translated using Weblate (Portuguese (Brazil))
Currently translated at 98.6% (437 of 443 strings)
2019-05-06 14:48:49 +02:00
Tobias Groza
ff52fe4884 Add changelog for NewPipe 0.16.2 2019-05-03 07:58:46 +02:00
Snow K1ng
0ab29b7c1f Translated using Weblate (Romanian)
Currently translated at 75.8% (336 of 443 strings)
2019-04-29 13:48:19 +02:00
yunna
d742ed7b65 Translated using Weblate (Japanese)
Currently translated at 100.0% (443 of 443 strings)
2019-04-29 13:46:50 +02:00
Jesper Hertel
a684e380b7 Translated using Weblate (Danish)
Currently translated at 98.9% (438 of 443 strings)
2019-04-29 13:45:08 +02:00
AB
c90feaf3db Translated using Weblate (Ukrainian)
Currently translated at 100.0% (443 of 443 strings)
2019-04-28 21:49:00 +02:00
Chandra Mohan Jha
460610f672 Translated using Weblate (Hindi)
Currently translated at 77.2% (342 of 443 strings)
2019-04-28 21:49:00 +02:00
Jesper Hertel
46511533aa Translated using Weblate (Danish)
Currently translated at 88.7% (393 of 443 strings)
2019-04-28 21:48:59 +02:00
Tobias Groza
40efed6580 Update version code and name to NewPipe 0.16.2 2019-04-28 03:34:47 +02:00
Tobias Groza
78b1c1eb4a Merge remote-tracking branch 'TeamNewPipe/master' into dev 2019-04-28 03:34:38 +02:00
Tobias Groza
5a59a3dd50 Merge pull request #2311 from Redirion/FixSubs
Readd CustomTrackSelector
2019-04-28 02:29:20 +02:00
Robin
0763280196 Readd CustomTrackSelector 2019-04-28 01:45:19 +02:00
Vasiliy
93f2518159 Animate states changed 2019-04-27 22:27:08 +03:00
Vasiliy
273f731dd5 Refactor adapter 2019-04-27 21:23:52 +03:00
Vasiliy
c7cd9e86ac Option to disable states indicators 2019-04-27 19:04:13 +03:00
Vasiliy
41fb6f5464 Update states in lists 2019-04-27 18:12:00 +03:00
Vasiliy
03b1a8bd41 Merge branch 'dev' into playback_state_list 2019-04-27 17:37:43 +03:00
Chandra Mohan Jha
e7d0685ebc Translated using Weblate (Hindi)
Currently translated at 74.5% (330 of 443 strings)
2019-04-27 09:58:33 +02:00
sXp
aadbfe1eed Translated using Weblate (Hindi)
Currently translated at 74.5% (330 of 443 strings)
2019-04-27 09:58:31 +02:00
Chandra Mohan Jha
4a54fbb872 Translated using Weblate (Hindi)
Currently translated at 74.5% (330 of 443 strings)
2019-04-27 09:58:09 +02:00
sXp
8b1836d699 Translated using Weblate (Hindi)
Currently translated at 74.5% (330 of 443 strings)
2019-04-27 09:58:08 +02:00
Chandra Mohan Jha
c47d4fd35a Translated using Weblate (Hindi)
Currently translated at 74.5% (330 of 443 strings)
2019-04-27 09:58:08 +02:00
pjammo
a58af1275c Translated using Weblate (Italian)
Currently translated at 99.5% (441 of 443 strings)
2019-04-26 19:48:45 +02:00
Marc Riera
1d63b39553 Translated using Weblate (Catalan)
Currently translated at 91.6% (406 of 443 strings)
2019-04-26 19:48:44 +02:00
Jesper Hertel
c300d52b29 Translated using Weblate (Danish)
Currently translated at 87.1% (386 of 443 strings)
2019-04-25 14:48:56 +02:00
Sören Strecke
5314e275bc Translated using Weblate (German)
Currently translated at 100.0% (443 of 443 strings)
2019-04-24 11:37:07 +02:00
yunna
08f8b9770a Translated using Weblate (Japanese)
Currently translated at 100.0% (443 of 443 strings)
2019-04-23 22:48:54 +02:00
YONGLE
a9c64b2fec Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (443 of 443 strings)
2019-04-23 22:48:50 +02:00
sherlock
1edfa78a05 removed the gena strings. 2019-04-17 16:45:40 +05:30
Kristjan Räts
1df8af35d4 Translated using Weblate (Estonian)
Currently translated at 100.0% (443 of 443 strings)
2019-04-16 21:05:04 +02:00
Vasiliy
f47c5e53b1 Merge branch 'playback_resume_v2' into playback_state_list 2019-04-15 22:19:54 +03:00
Vasiliy
a48cbc6971 Show streams states for local lists 2019-04-15 22:18:24 +03:00
Vasiliy
73be8cf074 Base implementation of showing playback positions in lists 2019-04-15 21:37:36 +03:00
Vasiliy
002a1412cb Fix scrolling details 2019-04-15 21:22:31 +03:00
Tobias Groza
049cd2d236 Merge pull request #1969 from nv95/close_button
Show close button when playing completed
2019-04-14 11:47:33 +02:00
Tobias Groza
e99714eba6 Merge remote-tracking branch 'TeamNewPipe/dev' into close_button 2019-04-13 18:18:17 +02:00
Vasiliy
4e1423d224 Implement playback state management 2019-04-13 13:34:36 +03:00
Lambda Monad
4751075e87 Translated using Weblate (Indonesian)
Currently translated at 99.3% (440 of 443 strings)
2019-04-12 21:04:47 +02:00
Tobias Groza
416e0fb609 Merge pull request #2271 from Stypox/dev
Add "share at current time" button to the main video player
2019-04-11 19:18:52 +02:00
minsk21
f96a371464 Translated using Weblate (Belarusian)
Currently translated at 74.5% (330 of 443 strings)
2019-04-10 04:04:47 +02:00
___
e423192265 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (443 of 443 strings)
2019-04-09 03:16:34 +02:00
minsk21
e9444e058c Translated using Weblate (Belarusian)
Currently translated at 74.3% (329 of 443 strings)
2019-04-09 03:16:28 +02:00
Yaron Shahrabani
037632fbf0 Translated using Weblate (Hebrew)
Currently translated at 100.0% (443 of 443 strings)
2019-04-07 15:59:53 +02:00
Yoav
6cdea85a49 Translated using Weblate (Hebrew)
Currently translated at 100.0% (443 of 443 strings)
2019-04-07 15:59:49 +02:00
Yaron Shahrabani
f86d755890 Translated using Weblate (Hebrew)
Currently translated at 100.0% (443 of 443 strings)
2019-04-07 15:59:49 +02:00
Stypox
98cc97251a Merge branch 'dev' into dev 2019-04-07 08:18:39 +02:00
Tobias Groza
562f414e3e Merge pull request #2237 from epitron/dev
Fixed English translations for Play/Enqueue commands
2019-04-06 23:32:05 +02:00
Tobias Groza
1afc301432 Merge branch 'dev' into dev 2019-04-06 23:23:15 +02:00
Yaron Shahrabani
115b44585b Translated using Weblate (Hebrew)
Currently translated at 100.0% (443 of 443 strings)
2019-04-06 21:10:05 +02:00
artik banana
3ff47623d5 Translated using Weblate (Hebrew)
Currently translated at 100.0% (443 of 443 strings)
2019-04-06 21:10:03 +02:00
Yaron Shahrabani
943e03f9d8 Translated using Weblate (Hebrew)
Currently translated at 100.0% (443 of 443 strings)
2019-04-06 21:10:03 +02:00
AB
f7a534a0d0 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (443 of 443 strings)
2019-04-06 20:59:53 +02:00
Yaron Shahrabani
72e30d8e40 Translated using Weblate (Hebrew)
Currently translated at 100.0% (443 of 443 strings)
2019-04-06 20:59:50 +02:00
Yehuda Levy
eb265300fc Translated using Weblate (Hebrew)
Currently translated at 100.0% (443 of 443 strings)
2019-04-06 20:59:48 +02:00
artik banana
704b8f61dd Translated using Weblate (Hebrew)
Currently translated at 100.0% (443 of 443 strings)
2019-04-06 20:59:47 +02:00
Stypox
40957c445f Implemented share button in MainVideoPlayer
Android Studio also decided to change the indentation of some lines
2019-04-06 20:27:13 +02:00
Stypox
8eead9fda2 Add share button to main player layout
Placed under "more options"
2019-04-06 20:21:32 +02:00
Stypox
aadc8168be Remove share utilities from BaseStateFragment
Replaced by ShareUtils
2019-04-06 20:17:04 +02:00
Stypox
cb33f04bfc Add ShareUtils class to share videos or open urls in browser. 2019-04-06 20:11:23 +02:00
Florian
82cb71bf3f Translated using Weblate (French)
Currently translated at 99.8% (442 of 443 strings)
2019-04-06 09:53:58 +02:00
Stjepan
c37b88a239 Translated using Weblate (Croatian)
Currently translated at 99.3% (440 of 443 strings)
2019-04-06 09:53:57 +02:00
___
de59bf695d Translated using Weblate (Ukrainian)
Currently translated at 99.8% (442 of 443 strings)
2019-04-06 09:53:55 +02:00
Tobias Groza
592627b013 Merge pull request #2247 from yausername/preferredTabState
preferred tab based on selected state, fixes #2238
2019-04-04 16:16:51 +02:00
Tobias Groza
9ed1fb2588 Merge branch 'dev' into preferredTabState 2019-04-04 15:22:57 +02:00
Tobias Groza
8232a92653 Translated using Weblate (Romanian)
Currently translated at 75.6% (335 of 443 strings)
2019-04-03 17:04:43 +02:00
Tobias Groza
09eeaa92d1 Merge pull request #2207 from yausername/timestampClickFix
seek on clicking timestamp links in comments
2019-04-03 16:04:31 +02:00
Igor Nedoboy
1e4b1a2c70 Translated using Weblate (Russian)
Currently translated at 100.0% (443 of 443 strings)
2019-03-31 22:58:10 +02:00
Marco Ieni
0a1e7a7c86 Translated using Weblate (Italian)
Currently translated at 99.3% (440 of 443 strings)
2019-03-31 22:16:38 +02:00
nautilusx
e5f3b2bf6e Translated using Weblate (German)
Currently translated at 100.0% (443 of 443 strings)
2019-03-31 22:16:37 +02:00
Florian
29183c10ff Translated using Weblate (French)
Currently translated at 99.1% (439 of 443 strings)
2019-03-31 22:16:37 +02:00
Stjepan
46b8bdace7 Translated using Weblate (Croatian)
Currently translated at 99.3% (440 of 443 strings)
2019-03-31 22:16:36 +02:00
Igor Nedoboy
9b6924ec9f Translated using Weblate (Russian)
Currently translated at 100.0% (443 of 443 strings)
2019-03-31 22:16:19 +02:00
Stjepan
c69de107e5 Translated using Weblate (Croatian)
Currently translated at 68.8% (305 of 443 strings)
2019-03-29 00:36:30 +01:00
Igor Nedoboy
c4d451e420 Translated using Weblate (Russian)
Currently translated at 100.0% (443 of 443 strings)
2019-03-29 00:36:25 +01:00
sherlockbeard
be6bce5771 Translated using Weblate (Hindi)
Currently translated at 74.3% (329 of 443 strings)
2019-03-27 21:04:26 +01:00
TobiGr
9bcccc87e6 Update README
Add supported services section
Move comment support
2019-03-26 23:36:12 +01:00
Tobias Groza
bf845be727 Merge branch 'dev' into timestampClickFix 2019-03-26 23:20:55 +01:00
Ahanaf Taskin Ar-Rafee
e92a5414d1 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 30.5% (135 of 443 strings)
2019-03-25 06:38:50 +01:00
yausername
657125f43c save selected tab sate in stream detail fragment, fixes #2238 2019-03-24 06:31:28 +05:30
Christian Schabesberger
e98f68e93b Merge pull request #2242 from yausername/fixMissingAuthorName
fix empty author endpoint
2019-03-23 23:43:05 +01:00
Florian
bef84e9eec Translated using Weblate (French)
Currently translated at 97.3% (431 of 443 strings)
2019-03-23 20:38:52 +01:00
Le Poisson Libre
6a5f2402c7 Translated using Weblate (French)
Currently translated at 97.3% (431 of 443 strings)
2019-03-23 20:38:49 +01:00
yausername
039a8e0b87 reordered services 2019-03-23 19:49:37 +05:30
yausername
d6cc6ba144 fix empty author endpoint 2019-03-23 00:22:59 +05:30
yausername
07f8dcb3ca use ellipsis character 2019-03-22 05:56:56 +05:30
yausername
a026143a84 linkify optimizations 2019-03-22 04:57:33 +05:30
Andrea Gelmini
73a5b6738d Translated using Weblate (Italian)
Currently translated at 99.1% (439 of 443 strings)
2019-03-21 18:03:59 +01:00
epitron
3e2b12ae4a Fixed English translations for Play/Enqueue commands 2019-03-21 11:24:52 -04:00
naofum
8073364b7a Translated using Weblate (Japanese)
Currently translated at 100.0% (443 of 443 strings)
2019-03-20 03:14:37 +01:00
Osoitz
b141d96e7c Translated using Weblate (Basque)
Currently translated at 100.0% (443 of 443 strings)
2019-03-20 03:14:36 +01:00
Serdar Sağlam
a86e8b98fe Translated using Weblate (Turkish)
Currently translated at 100.0% (443 of 443 strings)
2019-03-20 03:14:34 +01:00
WaldiS
a7d77716f3 Translated using Weblate (Polish)
Currently translated at 100.0% (443 of 443 strings)
2019-03-18 09:39:23 +01:00
Igor Nedoboy
b017e439b1 Translated using Weblate (Russian)
Currently translated at 100.0% (443 of 443 strings)
2019-03-17 21:06:17 +01:00
ssantos
a7156f665a Translated using Weblate (Portuguese)
Currently translated at 100.0% (443 of 443 strings)
2019-03-16 12:54:18 +01:00
WaldiS
44e34d084e Translated using Weblate (Polish)
Currently translated at 99.8% (442 of 443 strings)
2019-03-16 12:54:18 +01:00
C. Rüdinger
065820ffa4 Translated using Weblate (German)
Currently translated at 100.0% (443 of 443 strings)
2019-03-16 12:54:17 +01:00
Jeff Huang
26991928ae Translated using Weblate (Chinese (Traditional))
Currently translated at 99.8% (442 of 443 strings)
2019-03-16 12:54:16 +01:00
ssantos
f4fa68c390 Translated using Weblate (German)
Currently translated at 100.0% (443 of 443 strings)
2019-03-16 12:54:09 +01:00
Gontzal Manuel Pujana Onaindia
8b86f9ea6d Translated using Weblate (Basque)
Currently translated at 100.0% (443 of 443 strings)
2019-03-14 19:00:35 +01:00
Christian Schabesberger
48f966e7db add changelog for 730 2019-03-14 09:24:02 +01:00
Christian Schabesberger
d8746dc592 hotfix decrypt function and move on to version v0.16.1 2019-03-14 09:20:37 +01:00
Ritvik Saraf
6421d3017e seek on clicking timestamp links in comments 2019-03-13 07:01:24 +05:30
Tobias Groza
f9e771f8f7 Merge pull request #2198 from Redirion/directOnBackground
Directplay on Background
2019-03-12 13:42:43 +01:00
Tobias Groza
09456ce421 Merge branch 'dev' into directOnBackground 2019-03-12 13:36:14 +01:00
dextro67
716f7e722b Translated using Weblate (Hindi)
Currently translated at 73.6% (326 of 443 strings)
2019-03-12 04:03:54 +01:00
Der_Floh
ffa4b1483f Translated using Weblate (German)
Currently translated at 100.0% (443 of 443 strings)
2019-03-12 04:03:53 +01:00
Ritvik Saraf
76f7165462 Merge remote-tracking branch 'upstream/dev' into defaultTrending 2019-03-12 06:17:21 +05:30
Ritvik Saraf
fdf0d8e9c8 fixed memory leak 2019-03-12 06:07:56 +05:30
Christian Schabesberger
6651aa924f Merge pull request #2184 from Redirion/exoplayerupdate
Update ExoPlayer to 2.9.6
2019-03-11 20:43:28 +01:00
Ritvik Saraf
369fd95e2b skip tests, fix later 2019-03-11 06:27:18 +05:30
Ritvik Saraf
e242adec66 updated extractor 2019-03-11 03:16:17 +05:30
Ritvik Saraf
58e562f7d4 added default kiosk 2019-03-11 03:08:30 +05:30
Olexandr Nesterenko
70238fd773 Translated using Weblate (Ukrainian)
Currently translated at 98.4% (436 of 443 strings)
2019-03-10 20:09:04 +01:00
WaldiS
fc4e007cc4 Translated using Weblate (Polish)
Currently translated at 100.0% (443 of 443 strings)
2019-03-10 20:09:00 +01:00
Nathan Follens
b7667ce97a Translated using Weblate (Flemish)
Currently translated at 100.0% (443 of 443 strings)
2019-03-10 20:08:59 +01:00
ssantos
1315da0da7 Translated using Weblate (German)
Currently translated at 100.0% (443 of 443 strings)
2019-03-10 20:08:57 +01:00
Ritvik Saraf
a8b5534838 darker color for peertube 2019-03-10 19:08:08 +05:30
Ritvik Saraf
2581fa4176 init services in app onCreate 2019-03-10 17:30:21 +05:30
Ritvik Saraf
d90b1ca5be merged upstream/dev, changes for peertube support 2019-03-10 01:02:25 +05:30
84436
c4d8eae547 Translated using Weblate (Vietnamese)
Currently translated at 99.3% (440 of 443 strings)
2019-03-09 17:04:15 +01:00
Pj Pj
b01fc1be62 Translated using Weblate (Telugu)
Currently translated at 28.7% (127 of 443 strings)
2019-03-09 17:04:13 +01:00
marciozomb13
c46e3cf5cb Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.5% (441 of 443 strings)
2019-03-09 17:04:12 +01:00
WaldiS
1a6b915112 Translated using Weblate (Polish)
Currently translated at 100.0% (443 of 443 strings)
2019-03-09 17:04:11 +01:00
Terry Louwers
2f38943488 Translated using Weblate (Dutch)
Currently translated at 100.0% (443 of 443 strings)
2019-03-09 17:04:09 +01:00
Marco Szeto
06711dc6c3 Translated using Weblate (Chinese (Hong Kong))
Currently translated at 31.8% (141 of 443 strings)
2019-03-09 17:04:08 +01:00
Robin
cc7e342ab7 Merge remote-tracking branch 'upstream/dev' into directOnBackground 2019-03-08 23:02:47 +01:00
Robin
5b64743987 Directplay on Background 2019-03-08 22:52:17 +01:00
Robin
a84ad031d9 Merge remote-tracking branch 'upstream/dev' into exoplayerupdate 2019-03-07 16:06:02 +01:00
Tobias Groza
c4c2fe2a9c Merge pull request #1963 from Klearchos-K/dev
Issue #1951 - Search shared text
2019-03-07 15:50:51 +01:00
Tobias Groza
8ccaef454c Merge branch 'dev' into dev 2019-03-07 15:20:42 +01:00
Marian Hanzel
27579dff37 Translated using Weblate (Slovak)
Currently translated at 88.3% (391 of 443 strings)
2019-03-06 22:13:04 +01:00
Nikola Perović
389d08c233 Translated using Weblate (Serbian)
Currently translated at 47.4% (210 of 443 strings)
2019-03-06 22:12:59 +01:00
Michalis Nikolaidis
5412a087fe Translated using Weblate (Greek)
Currently translated at 100.0% (443 of 443 strings)
2019-03-06 22:12:59 +01:00
Konstantinos Giannopoulos
dd0f3ac651 Translated using Weblate (Greek)
Currently translated at 100.0% (443 of 443 strings)
2019-03-06 22:12:58 +01:00
YONGLE
4d4d776e4d Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (443 of 443 strings)
2019-03-06 22:12:51 +01:00
Robin
7877b107c1 Merge branch 'exoplayerupdate' of https://github.com/Redirion/NewPipe into exoplayerupdate 2019-03-06 09:38:17 +01:00
Robin
a2aa0aa9a8 Fix for wrong case after language normalization 2019-03-06 09:37:55 +01:00
Redirion
b3475d30c0 Merge branch 'dev' into exoplayerupdate 2019-03-05 21:44:27 +01:00
Tobias Groza
6484c8d636 Merge pull request #2183 from Redirion/Cleanup
delete unused files
2019-03-05 21:38:19 +01:00
Tobias Groza
587cf554f2 Merge branch 'dev' into Cleanup 2019-03-05 21:30:48 +01:00
Tobias Groza
1d4e4eb6b3 Merge pull request #2178 from Redirion/patch-1
Cache duration String to improve performance of background player
2019-03-05 21:06:22 +01:00
Tobias Groza
31c4ed7d0e Update app/src/main/java/org/schabi/newpipe/player/BackgroundPlayer.java
Co-Authored-By: Redirion <redirion@web.de>
2019-03-05 20:57:05 +01:00
Robin
7f246b2d3d Removed unused import 2019-03-05 19:54:37 +01:00
Robin
7d68cff700 NOTE for legacy version: Removed Lint markers and completely dropped Jelly Bean workarounds 2019-03-05 19:48:39 +01:00
Robin
4d80bdcc9f Update ExoPlayer to 2.9.6, including httook dependency and deprecations 2019-03-05 18:05:44 +01:00
Robin
8b4a94e5aa delete unused files 2019-03-05 18:01:11 +01:00
Redirion
111ad14ad3 Merge branch 'dev' into patch-1 2019-03-05 17:57:52 +01:00
Tobias Groza
aec3f19d23 Merge pull request #2179 from Redirion/patch-2
Improve performance of getTimeString
2019-03-04 19:16:43 +01:00
Redirion
d8b80f961a Improved performance of getTimeString
This pull requests complements pull request  #2178 by reducing general computational time for the method getTimeString.

On my local machine (Desktop PC with Java) my tests with a sample size of 10000 calls to the method with param 86400001 showed a performance improvement of about 50%.

See sample code below to reproduce:

    private static final StringBuilder stringBuilder = new StringBuilder();
    private static final Formatter stringFormatter = new Formatter(stringBuilder, Locale.getDefault());
    
    public static String getTimeString(int milliSeconds) {
        int seconds = (milliSeconds % 60000) / 1000;
        int minutes = (milliSeconds % 3600000) / 60000;
        int hours = (milliSeconds % 86400000) / 3600000;
        int days = (milliSeconds % (86400000 * 7)) / 86400000;

        stringBuilder.setLength(0);
        return days > 0 ? stringFormatter.format("%d:%02d:%02d:%02d", days, hours, minutes, seconds).toString()
                : hours > 0 ? stringFormatter.format("%d:%02d:%02d", hours, minutes, seconds).toString()
                : stringFormatter.format("%02d:%02d", minutes, seconds).toString();
    }
    
    public static String getTimeStringL(int milliSeconds) {
        long seconds = (milliSeconds % 60000L) / 1000L;
        long minutes = (milliSeconds % 3600000L) / 60000L;
        long hours = (milliSeconds % 86400000L) / 3600000L;
        long days = (milliSeconds % (86400000L * 7L)) / 86400000L;

        stringBuilder.setLength(0);
        return days > 0 ? stringFormatter.format("%d:%02d:%02d:%02d", days, hours, minutes, seconds).toString()
                : hours > 0 ? stringFormatter.format("%d:%02d:%02d", hours, minutes, seconds).toString()
                : stringFormatter.format("%02d:%02d", minutes, seconds).toString();
    }
    
	public static void main(String[] args) throws Exception {
		final int SAMPLE_SIZE = 25000;
		long[] results = new long[SAMPLE_SIZE];
		for(int i = 0; i < SAMPLE_SIZE; i++) {
			long now = System.nanoTime();
			getTimeString(86400001);
			results[i] = System.nanoTime() - now;
		}
		long sum = 0;
		for(int i = 0; i < SAMPLE_SIZE; i++) {
			sum += results[i];
		}
		System.out.println("Average execution time: " + (sum/SAMPLE_SIZE));
		results = new long[SAMPLE_SIZE];
		for(int i = 0; i < SAMPLE_SIZE; i++) {
			long now = System.nanoTime();
			getTimeStringL(86400001);
			results[i] = System.nanoTime() - now;
		}
		sum = 0;
		for(int i = 0; i < SAMPLE_SIZE; i++) {
			sum += results[i];
		}
		System.out.println("Average execution time: " + (sum/SAMPLE_SIZE));
2019-03-04 15:45:59 +01:00
rimasx
891bb7fa40 Translated using Weblate (Estonian)
Currently translated at 100.0% (443 of 443 strings)
2019-03-04 11:58:31 +01:00
Rex_sa
0e3af45466 Translated using Weblate (Arabic)
Currently translated at 100.0% (443 of 443 strings)
2019-03-04 11:58:24 +01:00
Redirion
6aebbc3109 Cache duration String to improve performance
In VideoPlayer the Duration String is cached effectively by setting it to the playbackSeekBar. As the playbackSeekBar doesn't exist in BackgroundPlayer, using two addition variables will reduce performance impact of notification updates by almost 50% and thus perform similar to VideoPlayer.

This addresses issue #2170
2019-03-04 10:24:08 +01:00
Christian Schabesberger
15eb7f3186 Merge pull request #2023 from dotvirus/enqueue-playlist
Add playlist to queue when long clicking on 'Background'
2019-03-03 20:59:15 +01:00
Christian Schabesberger
fb4cd98014 Merge branch 'dev' into enqueue-playlist 2019-03-03 20:53:17 +01:00
Christian Schabesberger
eb692dea59 Merge pull request #2168 from yausername/commentSizeAndLinks
make links in comments clickable, increase text size
2019-03-03 20:52:11 +01:00
Christian Schabesberger
d8039fb542 Merge branch 'dev' into enqueue-playlist 2019-03-03 20:50:00 +01:00
Christian Schabesberger
5e06d19d77 Merge branch 'dev' into commentSizeAndLinks 2019-03-03 20:46:03 +01:00
Christian Schabesberger
963f390336 Merge pull request #2176 from yausername/fixScrollOnBlank
fixed scroll w/ comments and related streams disabled
2019-03-03 20:41:07 +01:00
Ritvik Saraf
2309e15261 fixed scroll w/ comments and related streams disabled 2019-03-03 18:20:15 +05:30
Ritvik Saraf
8491035b2f updated extractor 2019-03-03 04:34:50 +05:30
Ritvik Saraf
4d4107aefc Merge remote-tracking branch 'upstream/dev' into commentSizeAndLinks 2019-03-03 04:32:19 +05:30
Ritvik Saraf
67d2b9131e handling timestamp links in comments 2019-03-02 05:12:06 +05:30
Christian Schabesberger
da8644168c Merge branch 'master' into dev 2019-03-01 09:53:43 +01:00
Ritvik Saraf
c0004e988a make links in comments clickable, increase text size 2019-03-01 13:28:32 +05:30
Javi
b9187445e0 Translated using Weblate (Spanish)
Currently translated at 100.0% (443 of 443 strings)
2019-02-27 22:28:31 +01:00
Christian Schabesberger
554ebf7ab9 Merge pull request #2161 from Redirion/patch-1
Fixed CheckForNewAppVersionTask being executed when it shouldn't
2019-02-27 22:14:53 +01:00
Redirion
3e54cd7284 Update CheckForNewAppVersionTask.java 2019-02-26 19:33:01 +01:00
Redirion
a7afc23a9a Fixed Asynctask being executed when it shouldn't
#1 check if cancel was called in onPrepare
#2 if we currently don't have a Connection, don't show crash report dialogue to user
2019-02-26 19:23:54 +01:00
abvgeej
fa3a047519 Translated using Weblate (Russian)
Currently translated at 100.0% (443 of 443 strings)
2019-02-25 23:18:20 +01:00
Christian Schabesberger
f24fab0fa2 fix brake when selecting a mediaccc channel form subscription page 2019-02-25 12:24:48 +01:00
Christian Schabesberger
261620fd13 Merge branch 'master' into release_v0.16.0 2019-02-24 23:06:06 +01:00
Christian Schabesberger
9af6effad9 move on to version 0.16.0 2019-02-24 22:52:07 +01:00
Christian Schabesberger
92602916dd merge weblate 2019-02-24 22:51:08 +01:00
Christian Schabesberger
f4d215664e Merge pull request #2117 from nv95/patch1_ui
Small ux improve
2019-02-24 22:34:12 +01:00
Christian Schabesberger
84894a557a Merge branch 'dev' into patch1_ui 2019-02-24 22:27:06 +01:00
Christian Schabesberger
ffad6e4c61 Merge pull request #2148 from yausername/commentsAndRelatedUx
added top padding for comments and related videos
2019-02-24 22:26:46 +01:00
Christian Schabesberger
93b266e6be Merge branch 'dev' into commentsAndRelatedUx 2019-02-24 22:19:47 +01:00
Christian Schabesberger
f92ea28581 Merge pull request #2151 from nv95/fix_leak
Fix AudioManager memory leak
2019-02-24 22:19:27 +01:00
Christian Schabesberger
85213e4b6c Merge branch 'dev' into patch1_ui 2019-02-24 22:18:06 +01:00
Christian Schabesberger
4e46119e18 Merge branch 'dev' into commentsAndRelatedUx 2019-02-24 22:17:24 +01:00
Christian Schabesberger
fdc6e9f1c3 Merge branch 'dev' into fix_leak 2019-02-24 22:12:46 +01:00
Christian Schabesberger
cb20f1e212 Merge pull request #2153 from TeamNewPipe/fix_url
fix invalid channel url for commends
2019-02-24 22:10:40 +01:00
Christian Schabesberger
e3fccd7125 fix invalid channel url for commends 2019-02-24 22:10:16 +01:00
Vasiliy
15142c1ec3 Fix AudioManager memory leak 2019-02-24 10:51:30 +02:00
Nathan Follens
6c7b90e1c3 Translated using Weblate (Flemish)
Currently translated at 100.0% (443 of 443 strings)
2019-02-24 06:18:27 +01:00
Nathan Follens
d8e57144f7 Translated using Weblate (Dutch)
Currently translated at 100.0% (443 of 443 strings)
2019-02-24 06:18:27 +01:00
Ritvik Saraf
49fe8a427a added top padding for comments and related videos 2019-02-24 02:21:11 +05:30
Vasiliy
4587428d13 Merge branch 'dev' into close_button 2019-02-23 13:19:09 +02:00
Vasiliy
5318e77035 Merge branch 'dev' into patch1_ui 2019-02-23 13:18:14 +02:00
Christian Schabesberger
e69c45a246 Merge pull request #1650 from yausername/dev
comments support
2019-02-21 15:50:21 +01:00
Ritvik Saraf
3f87a6d714 Merge remote-tracking branch 'origin/dev' into dev 2019-02-20 05:29:34 +05:30
Ritvik Saraf
841124b1f3 updated extractor, fixed settings padding 2019-02-20 05:24:33 +05:30
Hosted Weblate
257a878ef4 Merge branch 'origin/dev' into Weblate. 2019-02-19 19:18:29 +01:00
84436
07d3f82912 Translated using Weblate (Vietnamese)
Currently translated at 99.3% (440 of 443 strings)
2019-02-19 19:18:26 +01:00
Ali Demirtas
7d3eb4f5a6 Translated using Weblate (Turkish)
Currently translated at 100.0% (443 of 443 strings)
2019-02-19 19:18:12 +01:00
srkrishna
0efcc55373 Translated using Weblate (Tamil)
Currently translated at 34.5% (153 of 443 strings)
2019-02-19 19:18:12 +01:00
Christian Schabesberger
eafceb8a6c Merge branch 'dev' into dev 2019-02-19 17:35:49 +01:00
Christian Schabesberger
5ac8318e71 Merge pull request #2136 from TeamNewPipe/db_doc
add database doc in dia
2019-02-19 16:06:11 +01:00
Christian Schabesberger
7981f9dc91 add database doc in dia 2019-02-19 16:03:10 +01:00
Christian Schabesberger
a9bf04cbc6 Merge pull request #2135 from TeamNewPipe/firetv
add support for search in amazon firetv
2019-02-19 15:00:22 +01:00
Christian Schabesberger
4b5591d884 move firetv utils into utils package 2019-02-19 14:57:49 +01:00
Christian Schabesberger
c08197f025 Merge branch 'dev' into feature/amazonfiretv-search-support 2019-02-19 14:54:48 +01:00
Christian Schabesberger
5d22eabfa3 Merge pull request #2092 from connectety/updated-urls
support for youtube-nocookie.com
2019-02-19 14:30:56 +01:00
Christian Schabesberger
c3a38e384a Merge branch 'dev' into updated-urls 2019-02-19 14:30:34 +01:00
Christian Schabesberger
0d3dd94559 Merge pull request #2120 from Redirion/patch-1
Fix delayed ducking of Audio
2019-02-19 14:30:11 +01:00
Christian Schabesberger
9cdaa37519 Merge branch 'dev' into patch-1 2019-02-19 14:29:34 +01:00
Christian Schabesberger
202a319d69 Merge pull request #2129 from TeamNewPipe/remove-old-player
Remove old player from the manifest
2019-02-19 14:29:02 +01:00
Christian Schabesberger
198384b2ed Merge branch 'dev' into remove-old-player 2019-02-19 14:28:53 +01:00
Christian Schabesberger
9d8b070f1e Merge pull request #2133 from kapodamy/popup-player-fixup
Fix random Popup player crash
2019-02-19 14:28:04 +01:00
dimqua
28ba2d5008 Translated using Weblate (Russian)
Currently translated at 100.0% (443 of 443 strings)
2019-02-19 14:07:27 +01:00
Arthur
37ddd63d27 Translated using Weblate (Russian)
Currently translated at 100.0% (443 of 443 strings)
2019-02-19 14:07:26 +01:00
dimqua
d7f8b8c1e0 Translated using Weblate (Russian)
Currently translated at 97.5% (432 of 443 strings)
2019-02-18 13:28:20 +01:00
Arthur
9e70c5bbea Translated using Weblate (Russian)
Currently translated at 97.5% (432 of 443 strings)
2019-02-18 13:28:19 +01:00
kapodamy
4dd572063e fix crash while switching from popup to fullscreen player, or closing the popup player. 2019-02-17 16:59:35 -03:00
TobiGr
db9cf95648 Remove old player from the manifest
See https://github.com/TeamNewPipe/NewPipe/pull/1884 for more info
2019-02-17 09:52:05 +01:00
Ritvik Saraf
df6bae4712 merged upstream/dev 2019-02-16 02:06:18 +05:30
Ritvik Saraf
56cb8209b8 refactored comments capability 2019-02-16 01:23:26 +05:30
WaldiS
aba9c2e113 Translated using Weblate (Polish)
Currently translated at 100.0% (443 of 443 strings)
2019-02-15 17:24:20 +01:00
Ali Demirtas
3d25008739 Translated using Weblate (Turkish)
Currently translated at 97.5% (432 of 443 strings)
2019-02-14 10:11:03 +01:00
Redirion
9437f057d0 Fix delayed ducking of Audio
Scenario: listening to a video on NewPipe over Bluetooth and a Notification Sound causes audio focus event AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK.

Problem: With the current implementation animateAudio would cause the audio to reach the target volume AFTER the notification sound is played, which is irritating and annoying.

Solution: animateAudio should just be used on focusGain where it is sensible to increase audio gradually. On ducking event the reaction should be immediate.

This very simple fix does this. Please approve.
2019-02-14 09:52:46 +01:00
Emanuele Petriglia
917d6089a7 Translated using Weblate (Italian)
Currently translated at 97.5% (432 of 443 strings)
2019-02-13 19:10:46 +01:00
toanpv
f19e99e3ad Translated using Weblate (Vietnamese)
Currently translated at 74.9% (332 of 443 strings)
2019-02-13 12:11:48 +01:00
Allan Nordhøy
2d0fb05fa6 Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.8% (429 of 443 strings)
2019-02-13 12:11:46 +01:00
Chris
c617f2dfad Translated using Weblate (Malay)
Currently translated at 100.0% (443 of 443 strings)
2019-02-13 12:11:46 +01:00
naofum
747c5fc89a Translated using Weblate (Japanese)
Currently translated at 96.6% (428 of 443 strings)
2019-02-13 12:11:14 +01:00
Chris
4f662ef203 Translated using Weblate (Indonesian)
Currently translated at 100.0% (443 of 443 strings)
2019-02-13 12:11:13 +01:00
Le Poisson Libre
eb274ad88f Translated using Weblate (French)
Currently translated at 91.9% (407 of 443 strings)
2019-02-13 12:11:09 +01:00
Chris
bd7b41be9b Translated using Weblate (English)
Currently translated at 99.1% (439 of 443 strings)
2019-02-13 12:11:07 +01:00
Chris
076720bfff Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (443 of 443 strings)
2019-02-13 12:11:06 +01:00
Osoitz
2aadae407e Translated using Weblate (Basque)
Currently translated at 100.0% (443 of 443 strings)
2019-02-13 12:11:05 +01:00
Rex_sa
b16bb07774 Translated using Weblate (Arabic)
Currently translated at 100.0% (443 of 443 strings)
2019-02-13 12:11:00 +01:00
naofum
81dd083388 Translated using Weblate (Japanese)
Currently translated at 98.4% (436 of 443 strings)
2019-02-12 16:20:23 +01:00
Chris
92d4cef1e2 Translated using Weblate (Japanese)
Currently translated at 98.4% (436 of 443 strings)
2019-02-12 16:20:22 +01:00
Vasiliy
0cb5197ccf Merge remote-tracking branch 'upstream/dev' into patch1_ui 2019-02-12 10:21:03 +02:00
C. Rüdinger
d2cd79dcf5 Translated using Weblate (German)
Currently translated at 99.8% (442 of 443 strings)
2019-02-10 23:34:08 +01:00
Hosted Weblate
0ef8b391e4 Merge branch 'origin/dev' into Weblate. 2019-02-09 13:57:02 +01:00
Eduardo Caron
0fbd105977 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (443 of 443 strings)
2019-02-09 13:57:02 +01:00
ssantos
5c23af541e Translated using Weblate (Portuguese)
Currently translated at 100.0% (443 of 443 strings)
2019-02-09 13:56:57 +01:00
WaldiS
db021ff78b Translated using Weblate (Polish)
Currently translated at 100.0% (443 of 443 strings)
2019-02-09 13:56:57 +01:00
Allan Nordhøy
31294c6f54 Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.8% (429 of 443 strings)
2019-02-09 13:56:56 +01:00
JS Ahn
03d3495759 Translated using Weblate (Korean)
Currently translated at 78.6% (348 of 443 strings)
2019-02-09 13:56:56 +01:00
ssantos
4644e105a8 Translated using Weblate (German)
Currently translated at 100.0% (443 of 443 strings)
2019-02-09 13:56:53 +01:00
Tobias Groza
af5002508d Translated using Weblate (German)
Currently translated at 100.0% (443 of 443 strings)
2019-02-09 13:56:52 +01:00
Nathan Follens
9416d2b9c7 Translated using Weblate (Flemish)
Currently translated at 100.0% (443 of 443 strings)
2019-02-09 13:56:52 +01:00
Nathan Follens
f60f5d5a6c Translated using Weblate (Dutch)
Currently translated at 100.0% (443 of 443 strings)
2019-02-09 13:56:46 +01:00
ezjerry liao
26d00f87a8 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (443 of 443 strings)
2019-02-09 13:56:44 +01:00
Nathan Follens
6c33ea423c Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.6% (428 of 443 strings)
2019-02-09 13:56:40 +01:00
Connectety-W
ad354aca4e added support for youtube-nocookie.com 2019-02-09 12:30:14 +01:00
Christian Schabesberger
ce6a5ebf0a Merge pull request #2107 from chin123/fix_padding_settings
Fix padding in settings layout (Fixes #1866)
2019-02-09 09:08:20 +01:00
Yaron Shahrabani
d66ef38e8d Translated using Weblate (Hebrew)
Currently translated at 100.0% (443 of 443 strings)
2019-02-09 03:38:29 +01:00
Chinmaya Krishnan Mahesh
1b6c49f621 Fix padding in settings layout (Fixes #1866) 2019-02-08 17:33:35 -06:00
Allan Nordhøy
0262c83815 Translated using Weblate (English)
Currently translated at 98.9% (438 of 443 strings)
2019-02-08 21:38:01 +01:00
Allan Nordhøy
c212934130 Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.8% (429 of 443 strings)
2019-02-07 15:12:26 +01:00
Yaron Shahrabani
ac30e47e59 Translated using Weblate (Hebrew)
Currently translated at 98.2% (435 of 443 strings)
2019-02-06 20:36:39 +01:00
Yehuda Levy
d640057453 Translated using Weblate (Hebrew)
Currently translated at 90.1% (399 of 443 strings)
2019-02-06 09:17:45 +01:00
Yaron Shahrabani
0cea136d4d Translated using Weblate (Hebrew)
Currently translated at 90.1% (399 of 443 strings)
2019-02-06 09:17:44 +01:00
Hosted Weblate
9b3d93e734 Merge branch 'origin/dev' into Weblate. 2019-02-06 08:40:24 +01:00
Emin Tufan Çetin
ca3782ac62 Translated using Weblate (Turkish)
Currently translated at 100.0% (441 of 441 strings)
2019-02-06 08:40:24 +01:00
dimqua
dc9ffb7fd5 Translated using Weblate (Russian)
Currently translated at 96.8% (427 of 441 strings)
2019-02-06 08:40:23 +01:00
WaldiS
b21b3a55fe Translated using Weblate (Polish)
Currently translated at 100.0% (441 of 441 strings)
2019-02-06 08:40:21 +01:00
Mostafa Ahangarha
e62bd85a7a Translated using Weblate (Persian)
Currently translated at 57.8% (255 of 441 strings)
2019-02-06 08:40:19 +01:00
Michael Moroni
fed221b008 Translated using Weblate (Italian)
Currently translated at 100.0% (441 of 441 strings)
2019-02-06 08:40:18 +01:00
Terry Louwers
935298d159 Translated using Weblate (Dutch)
Currently translated at 100.0% (441 of 441 strings)
2019-02-06 08:40:17 +01:00
Nathan Follens
909919250c Translated using Weblate (Dutch)
Currently translated at 100.0% (441 of 441 strings)
2019-02-06 08:40:14 +01:00
Emil Tang Kristensen
d24f278f7c Translated using Weblate (Danish)
Currently translated at 85.7% (378 of 441 strings)
2019-02-06 08:40:14 +01:00
赖文胜
ca408a495c Translated using Weblate (Chinese (Simplified))
Currently translated at 97.1% (428 of 441 strings)
2019-02-06 08:39:42 +01:00
Sérgio Marques
ee99719137 Translated using Weblate (Portuguese)
Currently translated at 100.0% (441 of 441 strings)
2019-02-06 08:39:36 +01:00
Christian Schabesberger
5fb0729eae Merge pull request #2083 from TeamNewPipe/ccc
Add MediaCCC support
2019-02-05 18:28:22 +01:00
Christian Schabesberger
a1db3187cd Merge branch 'dev' into ccc 2019-02-05 18:28:17 +01:00
Christian Schabesberger
488a3cf1ff Merge pull request #2084 from TeamNewPipe/splash
add splash screen
2019-02-05 18:27:15 +01:00
Christian Schabesberger
1253a620a4 Merge pull request #2094 from def14nt/add-instable-warning
Added a warning about instability
2019-02-05 18:27:02 +01:00
Christian Schabesberger
64547fc4a7 remove splash for older android 2019-02-05 18:24:34 +01:00
Emil Tang Kristensen
d643d140cf Added translation using Weblate (Danish) 2019-02-04 20:57:57 +01:00
Ali Demirtas
222e2e3242 Translated using Weblate (Turkish)
Currently translated at 100.0% (441 of 441 strings)
2019-02-04 12:37:19 +01:00
Ali Demirtas
ea7b6daf26 Translated using Weblate (Turkish)
Currently translated at 100.0% (441 of 441 strings)
2019-02-04 02:10:01 +01:00
DefiantDog66
14cfab495d Added a warning about instability
This is a follow up to TeamNewPipe#2069. I've removed the "WARNING" from the second one as it looks a bit silly to have the same thing twice, when the user is already attracted to the first one, which means they will most probably read the second warning.

I can revert this if you don't like it.
2019-02-03 19:47:51 +00:00
Alec Holmes
ed4b4a1a3c Updated search fragment to be amazon fire tv friendly 2019-02-01 13:02:28 +00:00
Hosted Weblate
511c552188 Merge branch 'origin/dev' into Weblate. 2019-02-01 09:37:22 +01:00
ssantos
8c650219eb Translated using Weblate (Portuguese)
Currently translated at 100.0% (441 of 441 strings)
2019-02-01 09:37:22 +01:00
WaldiS
189b779abe Translated using Weblate (Polish)
Currently translated at 100.0% (441 of 441 strings)
2019-02-01 09:37:18 +01:00
Michael Moroni
c26074b184 Translated using Weblate (Italian)
Currently translated at 100.0% (441 of 441 strings)
2019-02-01 09:37:16 +01:00
Emanuele Petriglia
6c70779ff1 Translated using Weblate (Italian)
Currently translated at 100.0% (441 of 441 strings)
2019-02-01 09:37:15 +01:00
Yaron Shahrabani
73897481ac Translated using Weblate (Hebrew)
Currently translated at 83.7% (369 of 441 strings)
2019-02-01 09:37:11 +01:00
C. Rüdinger
a62c523ed5 Translated using Weblate (German)
Currently translated at 100.0% (441 of 441 strings)
2019-02-01 09:37:08 +01:00
Florian
0f46f57b52 Translated using Weblate (French)
Currently translated at 89.8% (396 of 441 strings)
2019-02-01 09:37:08 +01:00
Nathan Follens
bc4d65a20c Translated using Weblate (Dutch)
Currently translated at 86.4% (381 of 441 strings)
2019-02-01 09:37:07 +01:00
Vojtěch Šamla
f1e9a44ad9 Translated using Weblate (Czech)
Currently translated at 88.4% (390 of 441 strings)
2019-02-01 09:37:06 +01:00
Marc Riera
61972c4719 Translated using Weblate (Catalan)
Currently translated at 92.1% (406 of 441 strings)
2019-02-01 09:37:05 +01:00
Almin Agic
9183c9c220 Translated using Weblate (Bosnian (latin))
Currently translated at 4.3% (19 of 441 strings)
2019-02-01 09:37:03 +01:00
Rex_sa
1ce59f13ff Translated using Weblate (Arabic)
Currently translated at 87.8% (387 of 441 strings)
2019-02-01 09:37:00 +01:00
Christian Schabesberger
1bac5db6d5 add splash 2019-01-31 18:13:00 +01:00
Christian Schabesberger
58f2c4d8e6 Merge branch 'dev' into ccc 2019-01-31 16:48:22 +01:00
Robin
2c2c61b2fc Add Artist and Duration to MediaDescription 2019-01-31 16:47:33 +01:00
Christian Schabesberger
98b04a4a83 Merge branch 'dev' into ccc 2019-01-31 14:28:10 +01:00
Christian Schabesberger
3ac64c44f4 Merge pull request #1900 from anoymouserver/patch-1
support for invidio.us links
2019-01-31 14:10:10 +01:00
Christian Schabesberger
3375847302 Merge branch 'dev' into patch-1 2019-01-31 14:02:24 +01:00
Christian Schabesberger
14043c86f5 fix backstack issue with mediaccc 2019-01-31 13:24:02 +01:00
Jeff Huang
030117780a Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (441 of 441 strings)
2019-01-31 08:57:07 +01:00
Benedikt Freisen
971c9fe5a1 Translated using Weblate (German)
Currently translated at 100.0% (441 of 441 strings)
2019-01-30 08:49:53 +01:00
Ritvik Saraf
77c6d3d576 merged upstream/dev 2019-01-29 22:32:58 +05:30
Christian Schabesberger
6edbfe2a6f add content filter to mediaccc 2019-01-29 17:20:30 +01:00
Christian Schabesberger
d0a3125df4 fox ogg 2019-01-29 16:13:46 +01:00
Christian Schabesberger
d8c76d4c21 add conferences 2019-01-29 15:39:18 +01:00
Christian Schabesberger
a1cc0897df make frontend not crash on scrolling on ccc search 2019-01-29 15:39:18 +01:00
Christian Schabesberger
e88a90f242 add theming to mediaccc 2019-01-29 15:39:18 +01:00
Christian Schabesberger
1ae54f6f8c further compatiblity fix for meadic.ccc 2019-01-29 15:39:18 +01:00
Hosted Weblate
8a4cb484fa Merge branch 'origin/dev' into Weblate. 2019-01-29 14:17:45 +01:00
Licaon Kter
93defbf341 Translated using Weblate (Romanian)
Currently translated at 84.1% (322 of 383 strings)
2019-01-29 14:17:45 +01:00
Allan Nordhøy
ca1089da9a Translated using Weblate (Norwegian Bokmål)
Currently translated at 97.7% (374 of 383 strings)
2019-01-29 14:17:44 +01:00
Rex_sa
dd07c7db0e Translated using Weblate (Arabic)
Currently translated at 100.0% (383 of 383 strings)
2019-01-29 14:17:42 +01:00
Almin Agic
dfe932e37a Added translation using Weblate (Bosnian (latin)) 2019-01-29 14:17:38 +01:00
Christian Schabesberger
568cf9c259 Merge pull request #2067 from TeamNewPipe/release_v0.15.1
release v0.15.1
2019-01-29 13:40:15 +01:00
Christian Schabesberger
b4ef20e785 fix failing tests 2019-01-29 13:38:38 +01:00
Christian Schabesberger
3a56dabf42 fix exception on viewing downloads 2019-01-29 13:23:39 +01:00
anoy
3ac4899b96 Merge branch 'dev' into patch-1 2019-01-28 21:19:21 +01:00
Christian Schabesberger
b7b228d9ce merge weblate 2019-01-27 22:00:00 +01:00
Laura Arjona Reina
45339fd6d2 Translated using Weblate (Spanish)
Currently translated at 100.0% (383 of 383 strings)
2019-01-27 17:26:10 +01:00
nautilusx
1856a5a82f Translated using Weblate (German)
Currently translated at 100.0% (383 of 383 strings)
2019-01-27 17:26:02 +01:00
Christian Schabesberger
b2aa703b62 add changelog for version v0.15.1 2019-01-27 16:57:56 +01:00
Christian Schabesberger
b31897d65d Merge pull request #2066 from TeamNewPipe/fix_icons
fix icon messup
2019-01-27 16:48:01 +01:00
Christian Schabesberger
a92f776ebe fix icon messup 2019-01-27 16:46:44 +01:00
Christian Schabesberger
b84ed675f5 Merge pull request #2062 from kapodamy/anoth-buggy-giga-fix
Downloads: add null checks
2019-01-25 22:21:28 +01:00
kapodamy
21eb98a52c add null check
add checks for null. This happens after rotating the screen while is turned off
2019-01-24 23:23:30 -03:00
qazaxtan
75dd8d492b Translated using Weblate (Romanian)
Currently translated at 84.1% (322 of 383 strings)
2019-01-23 18:05:27 +01:00
Christian Schabesberger
338893ded4 fix merge conflict 2019-01-23 16:12:21 +01:00
Christian Schabesberger
b459900040 Merge branch 'fix_download' into dev 2019-01-23 14:14:49 +01:00
Christian Schabesberger
d31300f4f9 Merge pull request #2048 from gkeegan/dev
Add updating section to README
2019-01-23 12:54:52 +01:00
kapodamy
f2285c0b19 MP4 muxer +misc modifications
* allow retry downloads with "post-processing failed" error in the new muxer
* MPEG-4 muxer  ¡¡ no DASH output!!
* keep the progress if download fails
* remove TODO in SecondaryStreamHelper.java
* misc clean-up
* delete TestAlgo.java
* delete ExtSDDownloadFailedActivity.java and remove it from AndroidManifest.xml
* use hardcored version for changing icon colors
2019-01-22 18:53:31 -03:00
kapodamy
684cb81974 Update MissionsFragment.java
work-around for reading the current theme icons
2019-01-22 18:53:31 -03:00
kapodamy
9db272f30e Update MissionsFragment.java
use another way to get the "Context"
2019-01-22 18:53:31 -03:00
kapodamy
c4a5e8dc86 misc fixes
* add null checks before resuming a download
* (MissionAdapter.java) reset percent after resuming a download. prevents the "Error" string get stuck, until the download start
2019-01-22 18:53:30 -03:00
kapodamy
df4dd0122f Update missions_header.xml
make the separator line """"""""simetric""""""""""
2019-01-22 18:53:30 -03:00
kapodamy
8fed18b2ac Update MissionAdapter.java
* check if the iterator is initialized
2019-01-22 18:53:30 -03:00
kapodamy
ecabbb57e6 Update download_menu.xml
* hide clear button by default
2019-01-22 18:53:30 -03:00
kapodamy
8d1d4092aa add missing icons in bright theme
* missing white icons
* update attrs.xml and styles.xml
2019-01-22 18:53:30 -03:00
kapodamy
6185c4ddcf delete list and grid icons
* delete all grid.png files
* delete all list.png files
2019-01-22 18:53:29 -03:00
SiD ViCiO
3ccbbccd10 Translated using Weblate (Spanish)
Currently translated at 91.9% (352 of 383 strings)
2019-01-22 02:53:19 +01:00
YONGLE
30e0ccc77b Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (383 of 383 strings)
2019-01-22 02:53:18 +01:00
thami simo
50f7b72b09 Translated using Weblate (Arabic)
Currently translated at 93.2% (357 of 383 strings)
2019-01-22 02:52:58 +01:00
qazaxtan
a5828c7949 Translated using Weblate (Romanian)
Currently translated at 72.1% (276 of 383 strings)
2019-01-22 02:52:55 +01:00
Tobias Groza
22a5e72470 Translated using Weblate (Romanian)
Currently translated at 72.1% (276 of 383 strings)
2019-01-22 02:52:54 +01:00
Keegan Given
5d14dca818 Add link to #1981 2019-01-21 22:21:24 +00:00
Keegan Given
f97cb821f8 Update README.md
Move Updates underneath Coming Features. Make it linkable.
2019-01-21 21:55:45 +00:00
Keegan Given
d02dce5562 Add updating section to README
This will help cull the number of "how to update?" Issues whenever we need to push out a fix, like how recently NewPipe got completely broken.

This attempts to be an all-inclusive guide to updating NewPipe. If there are any (clean/official) links to additional info, please comment them and I will add it.

Also let me know if this section should be relocated within the README. I figured it would be best to keep it up top, so people see it right away, and then don't make a new Issue.
2019-01-21 02:35:39 +00:00
Christian Schabesberger
c6bd42843b Merge pull request #2040 from TeamNewPipe/fix_livestream
Fix livestream
2019-01-20 14:24:53 +01:00
Christian Schabesberger
43e4fbfcd0 fix livestream issue, and move on to v0.15.1 2019-01-20 14:23:41 +01:00
Igor Nedoboy
ac8430cbba Translated using Weblate (Russian)
Currently translated at 100.0% (383 of 383 strings)
2019-01-20 00:22:24 +01:00
Ritvik Saraf
86d619be30 merged upstream/dev 2019-01-19 15:48:05 +05:30
Ritvik Saraf
fec7672598 updated extractor for url decryption fix 2019-01-19 15:26:31 +05:30
Roberto Palenga
44d2744a8c Translated using Weblate (Italian)
Currently translated at 100.0% (383 of 383 strings)
2019-01-19 01:20:51 +01:00
philSism
22bfbe96c8 Translated using Weblate (Greek)
Currently translated at 100.0% (383 of 383 strings)
2019-01-19 01:20:51 +01:00
dotvirus
c0aca723da Update PlaylistFragment.java 2019-01-18 23:58:24 +01:00
dotvirus
28e5ee51ec Add playlist to queue when long click on 'Background' 2019-01-18 23:16:02 +01:00
Christian Schabesberger
c5d1271894 Merge pull request #2022 from TeamNewPipe/dev
release_v0.15.0
2019-01-18 21:18:10 +01:00
Christian Schabesberger
050d3058f9 Merge pull request #2021 from TeamNewPipe/release_v0.15.0
add changelog for version v0.15.0
2019-01-18 21:16:38 +01:00
Christian Schabesberger
2ae99afa21 add changelog for version v0.15.0 2019-01-18 21:13:04 +01:00
Christian Schabesberger
b094c9190f Merge pull request #2020 from TeamNewPipe/release_v0.15.0
Release v0.15.0
2019-01-18 20:54:52 +01:00
Christian Schabesberger
1a9e1e6f7c Merge branch 'dev' into release_v0.15.0 2019-01-18 20:50:46 +01:00
Christian Schabesberger
8c94926693 move on to version 0.15.0 2019-01-18 20:46:50 +01:00
Christian Schabesberger
880a176e65 move on to version 0.15.0 2019-01-18 20:34:43 +01:00
Christian Schabesberger
8de1b5f3d9 Merge pull request #2014 from TeamNewPipe/fix_decrypt
fix decrypt error once again
2019-01-18 17:23:38 +01:00
Christian Schabesberger
178f4546fc Merge branch 'dev' into fix_decrypt 2019-01-18 17:13:49 +01:00
Christian Schabesberger
7564a49344 fix decrypt error once again 2019-01-18 17:11:31 +01:00
Edwar Tikhonov
6c5c42c2b5 Translated using Weblate (Russian)
Currently translated at 100.0% (383 of 383 strings)
2019-01-15 19:20:55 +01:00
naofum
b1653b359e Translated using Weblate (Japanese)
Currently translated at 84.3% (323 of 383 strings)
2019-01-15 19:20:52 +01:00
DeadMetaler
11098afab5 Translated using Weblate (Belarusian)
Currently translated at 86.7% (332 of 383 strings)
2019-01-13 00:19:37 +01:00
AppSoft4
a64051e0f1 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (383 of 383 strings)
2019-01-12 21:06:58 +01:00
Nathan Follens
db8ac4a9ae Translated using Weblate (Flemish)
Currently translated at 100.0% (383 of 383 strings)
2019-01-12 21:06:57 +01:00
Nathan Follens
890474a635 Translated using Weblate (Dutch)
Currently translated at 100.0% (383 of 383 strings)
2019-01-12 21:06:54 +01:00
Tobias Groza
c7941a85ed Merge pull request #1999 from thisBrian/patch-1
Correct 'description' spelling
2019-01-11 17:15:07 +01:00
Brian
fab5f26e09 Correct 'description' spelling 2019-01-12 04:41:16 +13:00
zmni
a39b10eee9 Translated using Weblate (Indonesian)
Currently translated at 100.0% (383 of 383 strings)
2019-01-08 19:07:15 +01:00
srkrishna
97b933a990 Translated using Weblate (Tamil)
Currently translated at 40.5% (155 of 383 strings)
2019-01-07 15:06:58 +01:00
Sérgio Marques
4926e90514 Translated using Weblate (Portuguese)
Currently translated at 100.0% (383 of 383 strings)
2019-01-07 15:06:58 +01:00
zmni
6dca975844 Translated using Weblate (Indonesian)
Currently translated at 100.0% (383 of 383 strings)
2019-01-04 12:07:00 +01:00
zelos-h
e31743770a Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (383 of 383 strings)
2019-01-04 12:06:59 +01:00
Markel @wakutiteo
d8aab62d75 Translated using Weblate (Spanish)
Currently translated at 90.9% (348 of 383 strings)
2019-01-03 00:48:39 +01:00
Jeff Huang
f90603a18f Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (383 of 383 strings)
2019-01-03 00:48:38 +01:00
Marc Riera
5fce9facbe Translated using Weblate (Catalan)
Currently translated at 99.7% (382 of 383 strings)
2019-01-03 00:48:37 +01:00
zelos-h
32b48d5cdb Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (383 of 383 strings)
2019-01-03 00:48:36 +01:00
Jeff Huang
3e4f0d682b Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (383 of 383 strings)
2019-01-03 00:48:35 +01:00
Yaron Shahrabani
98449ddfe0 Translated using Weblate (Hebrew)
Currently translated at 88.5% (339 of 383 strings)
2019-01-01 10:09:41 +01:00
WaldiS
26040d4e9f Translated using Weblate (Polish)
Currently translated at 100.0% (383 of 383 strings)
2018-12-30 19:03:39 +01:00
Vasily
7ab10aeb80 Remove search history items using swipe 2018-12-29 20:55:24 +02:00
Vasily
9316962e47 Clear history option menu item 2018-12-29 20:55:10 +02:00
Ritvik Saraf
845663f80f added themeing for peertube, change peertube instance 2018-12-29 23:06:39 +05:30
srkrishna
83cea5e1ee Translated using Weblate (Tamil)
Currently translated at 39.7% (152 of 383 strings)
2018-12-29 00:09:42 +01:00
postsorino
3e73a5dbd3 Translated using Weblate (Greek)
Currently translated at 99.5% (381 of 383 strings)
2018-12-29 00:09:41 +01:00
Tobias Groza
dd424a4cb3 Translated using Weblate (Greek)
Currently translated at 99.5% (381 of 383 strings)
2018-12-29 00:09:38 +01:00
Éfrit
0c79f5cce3 Translated using Weblate (French)
Currently translated at 100.0% (383 of 383 strings)
2018-12-29 00:09:37 +01:00
krtkush
794c3703e5 Merge branch '1520_app_update_notif' of https://github.com/krtkush/NewPipe into 1520_app_update_notif 2018-12-28 18:09:05 +05:30
krtkush
b674006fcc Conflict resolution. 2018-12-28 18:07:54 +05:30
Vasily
505c528194 Show close button when playing completed 2018-12-27 16:51:48 +02:00
Ritvik Saraf
9530af95f4 Merge branch 'dev' into peertube 2018-12-25 20:18:39 +05:30
Ritvik Saraf
559c397b2f more NPE fix 2018-12-25 20:17:56 +05:30
Ritvik Saraf
c1efa78820 Merge branch 'dev' into peertube 2018-12-25 20:00:56 +05:30
Ritvik Saraf
646698f1ed fixed NPE in soundcloud 2018-12-25 19:59:03 +05:30
Ritvik Saraf
d61797fa3a merged dev 2018-12-25 19:31:25 +05:30
Ritvik Saraf
c9b938ae55 readded animations 2018-12-25 15:36:15 +05:30
Klearchos-K
e4409e8ea4 Update RouterActivity.java
Add dunction handleText() for #1951 issue
2018-12-24 20:11:21 +02:00
Ritvik Saraf
990c220fa0 updated extractor 2018-12-23 09:44:42 +05:30
Yehuda Levy
38641d4edf Translated using Weblate (Hebrew)
Currently translated at 88.5% (339 of 383 strings)
2018-12-23 02:09:26 +01:00
srkrishna
450072bd23 Translated using Weblate (Tamil)
Currently translated at 39.4% (151 of 383 strings)
2018-12-21 22:09:14 +01:00
srkrishna
25eb93fae0 Translated using Weblate (Tamil)
Currently translated at 37.1% (142 of 383 strings)
2018-12-20 14:09:13 +01:00
Ben De Meester
bcf6f60571 Translated using Weblate (Flemish)
Currently translated at 85.4% (327 of 383 strings)
2018-12-20 14:09:11 +01:00
Ben De Meester
2076b8f1d7 Translated using Weblate (Dutch)
Currently translated at 100.0% (383 of 383 strings)
2018-12-20 14:09:10 +01:00
Ritvik Saraf
f19cfb75e6 merged upstream/dev 2018-12-20 08:51:44 +05:30
Ritvik Saraf
ceaacc771d removed jerky animations 2018-12-19 10:58:59 +05:30
Ritvik Saraf
48067e3285 up next text alignment 2018-12-17 10:03:04 +05:30
sXp
003855a94c Translated using Weblate (Hindi)
Currently translated at 85.4% (327 of 383 strings)
2018-12-15 19:03:36 +01:00
Christian Schabesberger
3599ab3caf Merge pull request #1759 from kapodamy/giga-postprocessing
Fucking travis
2018-12-11 16:37:28 +01:00
srkrishna
e7a26b436d Translated using Weblate (Tamil)
Currently translated at 32.9% (126 of 383 strings)
2018-12-10 19:42:55 +01:00
AB
ab94bc18dc Translated using Weblate (Ukrainian)
Currently translated at 100.0% (383 of 383 strings)
2018-12-10 13:08:54 +01:00
Eduardo Caron
36e91ea155 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (383 of 383 strings)
2018-12-10 13:08:53 +01:00
Christian Schabesberger
6035be9ce6 Merge branch 'dev' into giga-postprocessing 2018-12-10 12:12:38 +01:00
Kartikey Kushwaha
67499bdc65 Merge branch 'dev' into 1520_app_update_notif 2018-12-09 18:43:20 +05:30
Ritvik Saraf
222c8fdb62 tablet ui support for comments 2018-12-09 03:21:55 +05:30
srkrishna
9d648bad51 Translated using Weblate (Tamil)
Currently translated at 30.3% (116 of 383 strings)
2018-12-08 22:08:52 +01:00
Ritvik Saraf
1a62b9a161 removed dislike button, added comment published time 2018-12-08 20:32:28 +05:30
Echelon Arpa
33021e8fe0 Translated using Weblate (Turkish)
Currently translated at 100.0% (383 of 383 strings)
2018-12-07 21:09:01 +01:00
Emin Tufan Çetin
5a2ae4c3e3 Translated using Weblate (Turkish)
Currently translated at 100.0% (383 of 383 strings)
2018-12-07 21:09:01 +01:00
srkrishna
9eaef84cc8 Translated using Weblate (Tamil)
Currently translated at 29.8% (114 of 383 strings)
2018-12-07 21:09:00 +01:00
Rintaro matsuo
fcc4d655f5 Translated using Weblate (Japanese)
Currently translated at 81.5% (312 of 383 strings)
2018-12-07 21:08:59 +01:00
ScratchBuild
8d0ac4f5f0 Translated using Weblate (Japanese)
Currently translated at 81.5% (312 of 383 strings)
2018-12-07 21:08:58 +01:00
Tobias Groza
d56cf003f8 Translated using Weblate (German)
Currently translated at 100.0% (383 of 383 strings)
2018-12-07 21:08:58 +01:00
Kristjan Räts
34d0c0b1ba Translated using Weblate (Estonian)
Currently translated at 100.0% (383 of 383 strings)
2018-12-07 21:08:56 +01:00
Vojtěch Šamla
9bbbffbe7a Translated using Weblate (Czech)
Currently translated at 100.0% (383 of 383 strings)
2018-12-07 21:08:55 +01:00
Tobias Groza
ccd0f7d9cc Merge pull request #1878 from shivanju/auto_queue_logic
#1336 Fix for inserting new streams when auto queuing is enabled
2018-12-07 19:43:41 +01:00
Ritvik Saraf
ccb9bceecc removed unused imports 2018-12-07 08:42:05 +05:30
Ritvik Saraf
c1a67ff1f8 minor scrolling fix and ellipsize fix 2018-12-07 06:45:33 +05:30
Kartikey Kushwaha
bfda8dcc02 Merge branch 'dev' into 1520_app_update_notif 2018-12-05 13:04:24 +05:30
kapodamy
8746e7c9ad Merge branch 'dev' into giga-postprocessing 2018-12-05 01:15:39 -03:00
kapodamy
e2aa36d083 fast download pausing
* fast download pausing
* fix UI thread blocking when calling pause()
* check running threads before start the download
* fix null pointer exception in onDestroy in the download service, without calling onCreate method (android 8)
2018-12-05 01:07:59 -03:00
Ritvik Saraf
ff90f257cc removed useless log statement 2018-12-04 23:37:02 +05:30
Ritvik Saraf
9b84046865 merged upstream/dev 2018-12-04 23:19:57 +05:30
Shivanju Awasthi
51434a39f8 Merge branch 'dev' into auto_queue_logic 2018-12-04 16:22:18 +00:00
Christian Schabesberger
3e2031be7c Merge pull request #1925 from TeamNewPipe/stale
disable stalebot again
2018-12-03 23:30:58 +01:00
Christian Schabesberger
ea4e8805b7 disable stalebot again 2018-12-03 23:30:28 +01:00
Tobias Groza
f62bfeac08 Merge branch 'dev' into 1520_app_update_notif 2018-12-03 16:33:46 +01:00
Tobias Groza
b9042c37f9 Merge pull request #1915 from agarwalakash06/issue-1505
Issue 1505: Delete on right swipe
2018-12-03 16:06:27 +01:00
srkrishna
49a58dcab1 Translated using Weblate (Tamil)
Currently translated at 29.0% (111 of 383 strings)
2018-12-02 16:08:42 +01:00
notramo
e2acbeddc2 Translated using Weblate (Hungarian)
Currently translated at 84.9% (325 of 383 strings)
2018-12-02 16:08:41 +01:00
Kristjan Räts
449b17d830 Translated using Weblate (Estonian)
Currently translated at 86.4% (331 of 383 strings)
2018-12-02 16:08:39 +01:00
Kartikey Kushwaha
7ed460ce02 Merge branch 'dev' into 1520_app_update_notif 2018-12-02 18:07:08 +05:30
kapodamy
9f4a7e664f more of the same
* misc code clean-up
* fix weird download speed, before switching the list view
* fix CircularFile.java getting stuck on post-processing huge files >2GiB
* keep crashed post-processing downloads visible to the user
2018-12-01 22:14:56 -03:00
Akash Agarwal
38eb75b13f Merge branch 'dev' into issue-1505 2018-12-01 14:12:28 +05:30
Christian Schabesberger
0ad56874b4 Merge pull request #1918 from TeamNewPipe/stale
add stalebot confic
2018-12-01 09:36:45 +01:00
Christian Schabesberger
c1168693fa add stalebot confic 2018-12-01 09:35:42 +01:00
Christian Schabesberger
feb8c27f1f Merge branch 'dev' into giga-postprocessing 2018-12-01 09:30:38 +01:00
Christian Schabesberger
c20ebd66e5 Merge branch 'dev' into auto_queue_logic 2018-12-01 09:29:25 +01:00
Christian Schabesberger
4d78d530dc Merge pull request #1917 from TeamNewPipe/cont
update contribution guidelines
2018-12-01 09:23:58 +01:00
Christian Schabesberger
22b20c15de update contribution guidelines 2018-12-01 09:21:57 +01:00
Akash Agarwal
c69b224c65 Issue 1505: Delete on right swipe 2018-12-01 00:42:56 +05:30
Christian Schabesberger
805d328d6c Merge pull request #1902 from Ping20002015/master
Fix NPE for issue #1901
2018-11-30 12:08:59 +01:00
mahmut özcan
edcb692f78 Translated using Weblate (Turkish)
Currently translated at 97.1% (372 of 383 strings)
2018-11-29 22:08:34 +01:00
ask6155
f33586f062 Translated using Weblate (Hindi)
Currently translated at 81.5% (312 of 383 strings)
2018-11-29 22:08:30 +01:00
kapodamy
b8293f134d Update settings_keys.xml
* remane max_try -> maximum_try
2018-11-29 15:19:53 -03:00
kapodamy
7e9bcff0f3 Merge branch 'dev' into giga-postprocessing 2018-11-28 22:53:29 -03:00
kapodamy
eba3b32708 misc improvements
* don't show notifications while download activity
* proper icon in failed download notifications
* re-write list auto-refresh (MissionAdapter.java)
* improve I/O performance (CircularFile.java)
* fix implementation of "save thread position" on multi-thread downloads
2018-11-28 22:24:52 -03:00
Olexandr Nesterenko
d61bf26e17 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (383 of 383 strings)
2018-11-28 15:17:37 +01:00
AB
2e662b5745 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (383 of 383 strings)
2018-11-28 15:17:36 +01:00
Helios
9714fa369b Translated using Weblate (Tamil)
Currently translated at 28.7% (110 of 383 strings)
2018-11-28 15:17:34 +01:00
Markel @wakutiteo
0e8acba08e Translated using Weblate (Spanish)
Currently translated at 88.3% (338 of 383 strings)
2018-11-28 15:17:28 +01:00
Sérgio Marques
a18e588e55 Translated using Weblate (Portuguese)
Currently translated at 100.0% (383 of 383 strings)
2018-11-28 15:17:27 +01:00
ask6155
bf55e3c0cc Translated using Weblate (Hindi)
Currently translated at 79.6% (305 of 383 strings)
2018-11-28 15:17:20 +01:00
ButterflyOfFire
486d114e64 Translated using Weblate (Arabic)
Currently translated at 85.9% (329 of 383 strings)
2018-11-28 15:17:19 +01:00
Prabjot Singh
ac5c060a98 Translated using Weblate (Hindi)
Currently translated at 79.6% (305 of 383 strings)
2018-11-28 15:17:18 +01:00
ask6155
86a9d197cb Translated using Weblate (Hindi)
Currently translated at 79.6% (305 of 383 strings)
2018-11-28 15:17:17 +01:00
Shivanju Awasthi
e911dbb9d4 Merge branch 'dev' into auto_queue_logic 2018-11-26 22:56:01 +05:30
Ping20002015
e26d123f67 Merge branch 'dev' into master 2018-11-26 18:00:22 +01:00
MadderRagax
70aac81900 Translated using Weblate (Swedish)
Currently translated at 98.4% (377 of 383 strings)
2018-11-26 14:42:04 +01:00
Eduardo Caron
28e78d98f6 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (383 of 383 strings)
2018-11-26 14:42:02 +01:00
Mostafa Ahangarha
fabc5ae032 Translated using Weblate (Persian)
Currently translated at 62.4% (239 of 383 strings)
2018-11-26 14:42:01 +01:00
ditokp
e40882455d Translated using Weblate (Indonesian)
Currently translated at 99.7% (382 of 383 strings)
2018-11-26 14:41:54 +01:00
Whod
f1483e8c8e Translated using Weblate (Bulgarian)
Currently translated at 100.0% (383 of 383 strings)
2018-11-26 14:41:51 +01:00
Viktar Vauchkevich
bd40e2c3ff Translated using Weblate (Belarusian)
Currently translated at 86.7% (332 of 383 strings)
2018-11-26 14:41:49 +01:00
Gontzal Manuel Pujana Onaindia
9479498713 Translated using Weblate (Basque)
Currently translated at 100.0% (383 of 383 strings)
2018-11-26 14:41:49 +01:00
ssantos
6bd8523ec2 Translated using Weblate (Portuguese)
Currently translated at 100.0% (383 of 383 strings)
2018-11-26 14:41:46 +01:00
Christian Schabesberger
22e3cddd91 Merge pull request #1884 from TeamNewPipe/remove_4.x
Remove support for android 4.1 - 4.3
2018-11-25 22:49:13 +01:00
krtkush
c864b15c34 Test code revert. 2018-11-26 01:18:33 +05:30
krtkush
069654c5f9 vector -> png 2018-11-26 01:18:02 +05:30
kapodamy
f3d4d4747a and more fixes
* fix content length reading
* use float overflow. Expensive, double is used instead
* fix invalid cast after click the mission body
* use a list for maximum attemps (downloads)
* minor clean up (DownloadManager.java)
* dont pass SharedPreferences instace to DownloadManager
* use a switch instead of checkbox for cross_network_downloads
* notify media scanner after deleting a finished download
2018-11-24 20:13:18 -03:00
shivanju
5bbb0cd666 issue:1336 Remove auto queued stream if a new stream gets appended 2018-11-24 17:35:17 +05:30
Ping20002015
7b5ba3bdc2 Fix NPE for issue #1901 2018-11-23 19:38:01 +01:00
anoy
5ac17ee6b8 added support for invidio.us links 2018-11-23 19:18:34 +01:00
kapodamy
d647555e3a more fixes
* use bold style in status (mission_item_linear.xml)
* fix download attemps not begin updated
* dont stop the queue if a download fails
* implement partial wake-lock & wifi-lock
* show notifications for failed downloads
* ¿proper bitmap dispose? (DownloadManagerService.java)
* improve buffer filling (CircularFile.java)
* [Mp4Dash] increment reserved space from 2MiB to 15MiB. This is expensive but useful for devices with low ram
* [WebM] use 2MiB of reserved space
* fix debug warning if one thread is used
* fix wrong download speed when the activity is suspended
* Fix "Queue" menu item that appears in post-processing errors
* fix mission length dont being updated (missing commit)
2018-11-22 23:33:34 -03:00
krtkush
26e22f97ee Conflict resolution 2018-11-23 01:41:47 +05:30
Shivanju Awasthi
84976a65e0 Merge branch 'dev' into auto_queue_logic 2018-11-22 23:25:13 +05:30
kapodamy
fef9d541ed misc fixes
* use getPreferredLocalization() instead of getLocalization()
* use lastest commit in build.gradle
* fix missing cast in MissionAdapter.java
2018-11-19 15:50:15 -03:00
krtkush
ad5535af81 Code refactoring, PR changes. 2018-11-19 23:27:13 +05:30
Yaron Shahrabani
cdcfb4ffce Translated using Weblate (Hebrew)
Currently translated at 78.9% (302 of 383 strings)
2018-11-18 21:40:36 +01:00
b1a6b64a90
5403ac8893 Translated using Weblate (French)
Currently translated at 99.5% (381 of 383 strings)
2018-11-18 21:40:35 +01:00
Igor Nedoboy
9b26457781 Translated using Weblate (Russian)
Currently translated at 100.0% (383 of 383 strings)
2018-11-18 21:40:33 +01:00
krtkush
939cc56951 Pull request changes v2. 2018-11-18 19:18:16 +05:30
krtkush
23309e6fdf Pull request changes. 2018-11-18 19:15:50 +05:30
MadderRagax
3f60c961d9 Translated using Weblate (Swedish)
Currently translated at 97.9% (375 of 383 strings)
2018-11-18 13:43:46 +01:00
Ariel Shulman
9e7f07e196 Translated using Weblate (Hebrew)
Currently translated at 78.9% (302 of 383 strings)
2018-11-18 13:43:45 +01:00
ssantos
eda4439ee8 Translated using Weblate (German)
Currently translated at 100.0% (383 of 383 strings)
2018-11-18 13:43:43 +01:00
b1a6b64a90
ad02558ade Translated using Weblate (French)
Currently translated at 99.5% (381 of 383 strings)
2018-11-18 13:43:38 +01:00
WaldiS
0d1901cfe5 Translated using Weblate (Polish)
Currently translated at 100.0% (383 of 383 strings)
2018-11-17 14:08:01 +01:00
Emanuele Petriglia
ce493d1ae2 Translated using Weblate (Italian)
Currently translated at 100.0% (383 of 383 strings)
2018-11-17 14:07:59 +01:00
wellinkstein
09312ecd1d Translated using Weblate (French)
Currently translated at 98.2% (376 of 383 strings)
2018-11-17 14:07:58 +01:00
ezjerry liao
2f274d5f52 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (383 of 383 strings)
2018-11-17 14:07:56 +01:00
Marc Riera
6dbf226365 Translated using Weblate (Catalan)
Currently translated at 99.5% (381 of 383 strings)
2018-11-17 14:07:54 +01:00
Viktar Vauchkevich
6401b5f54d Translated using Weblate (Belarusian)
Currently translated at 85.1% (326 of 383 strings)
2018-11-17 14:07:50 +01:00
beriain
ac2dd81d39 Translated using Weblate (Basque)
Currently translated at 85.1% (326 of 383 strings)
2018-11-17 14:07:50 +01:00
kapodamy
6784522195 Merge branch 'dev' into giga-postprocessing 2018-11-15 20:53:30 -03:00
kapodamy
f42d077f30 misc utils
Also this include:
* Mp4 DASH reader/writter
* WebM reader/writter
* a subtitle converter for Timed Text Markup Language v1 and TranScript (v1, v2 and v3)
* SharpStream to wrap IntputStream and OutputStream in one interface
* custom implementation of DataInputStream
2018-11-15 20:17:22 -03:00
Christian Schabesberger
eaca47ebc6 Merge branch 'dev' into remove_4.x 2018-11-15 13:27:27 +01:00
Tobias Groza
4d57223847 Merge pull request #1886 from nicholasfagan/dev
Fix broken screenshots in README.md
2018-11-15 08:20:02 +01:00
Nick Fagan
d9ab96236b Fix broken screenshots in README.md 2018-11-14 15:28:44 -04:00
AB
44b2e62eef Translated using Weblate (Ukrainian)
Currently translated at 84.9% (325 of 383 strings)
2018-11-13 20:43:45 +01:00
Igor Nedoboy
7d5d4df761 Translated using Weblate (Russian)
Currently translated at 100.0% (383 of 383 strings)
2018-11-13 20:43:41 +01:00
Mostafa Ahangarha
da7716db60 Translated using Weblate (Persian)
Currently translated at 35.0% (134 of 383 strings)
2018-11-13 20:43:39 +01:00
postsorino
862c5d342b Translated using Weblate (Greek)
Currently translated at 84.6% (324 of 383 strings)
2018-11-13 20:43:34 +01:00
Igor Nedoboy
6167d5dbfc Translated using Weblate (English)
Currently translated at 100.0% (383 of 383 strings)
2018-11-13 20:43:32 +01:00
Shivanju Awasthi
2856fb029f Merge branch 'dev' into auto_queue_logic 2018-11-14 00:17:54 +05:30
Christian Schabesberger
8fb945312a put autoplay next stream setting into behaviour page 2018-11-13 17:30:04 +01:00
Christian Schabesberger
25d6806ebd set minSdk to 19 and deprecate old player 2018-11-13 17:27:47 +01:00
Christian Schabesberger
51070d9afd Merge pull request #1818 from TeamNewPipe/screenshot-order
Fix fastlane screenshot order
2018-11-13 16:58:37 +01:00
Christian Schabesberger
1048caa496 Merge branch 'dev' into screenshot-order 2018-11-13 16:58:18 +01:00
Christian Schabesberger
0cd7ac05aa Merge pull request #1879 from jludden/play_one_click
downloaded files can now be opened with one click
2018-11-13 13:43:28 +01:00
Christian Schabesberger
2793c42d91 Merge branch 'dev' into play_one_click 2018-11-13 13:18:57 +01:00
Christian Schabesberger
2eaa7288e4 Merge pull request #1876 from bboa/dev
Missed strings
2018-11-13 12:53:01 +01:00
ssantos
f9341bea79 Translated using Weblate (Portuguese)
Currently translated at 100.0% (383 of 383 strings)
2018-11-12 10:08:44 +01:00
jludden
0df8d13020 downloads can now be viewed with one click fixed 2018-11-11 22:25:37 +08:00
jludden
d27622de1e downloaded files can now be opened with one click
For consistency, I removed the view file option from the overflow menu as well
2018-11-11 19:54:35 +08:00
shivanju
47c3da131c issue:1336 Fix for inserting new streams when auto queuing is enabled 2018-11-11 16:24:49 +05:30
Igor Nedoboy
3a608bb582 Translated using Weblate (Russian)
Currently translated at 100.0% (383 of 383 strings)
2018-11-11 00:47:04 +01:00
Igor Nedoboy
64f9228ee3 Update strings.xml 2018-11-11 02:44:45 +03:00
Igor Nedoboy
c926482b3c Translated using Weblate (Russian)
Currently translated at 100.0% (383 of 383 strings)
2018-11-10 23:38:19 +01:00
Igor Nedoboy
9562972c42 Translated using Weblate (Russian)
Currently translated at 100.0% (383 of 383 strings)
2018-11-10 23:02:17 +01:00
Igor Nedoboy
b462b7fcc4 Update strings.xml 2018-11-10 17:08:04 +03:00
Igor Nedoboy
b34f9d7fd3 Update strings.xml 2018-11-10 03:06:55 +03:00
Igor Nedoboy
57732c3e5f Update strings.xml 2018-11-10 02:56:14 +03:00
kapodamy
eb1f56488f resbase (08/11/2018) 2018-11-08 22:00:13 -03:00
kapodamy
5825843f68 main commit
Post-processing infrastructure
* remove interfaces with one implementation
* fix download resources with unknow length
* marquee style for ProgressDrawable
* "view details" option in mission context menu
* notification for finished downloads
* postprocessing infrastructure: sub-missions, circular file, layers for layers of abstractions for Java IO streams
* Mp4 muxing (only DASH brand)
* WebM muxing
* Captions downloading
* alert dialog for overwrite existing downloads finished or not.

Misc changes
* delete SQLiteDownloadDataSource.java
* delete DownloadMissionSQLiteHelper.java
* implement Localization from #114

Misc fixes (this branch)
* restore old mission listeners variables. Prevents registered listeners get de-referenced on low-end devices
* DownloadManagerService.checkForRunningMission() now return false if the mission has a error.
* use Intent.FLAG_ACTIVITY_NEW_TASK when launching an activity from gigaget threads (apparently it is required in old versions of android)

More changes
* proper error handling "infrastructure"
* queue instead of multiple downloads
* move serialized pending downloads (.giga files) to app data
* stop downloads when swicthing to mobile network (never works, see 2nd point)
* save the thread count for next downloads
* a lot of incoherences fixed
* delete DownloadManagerTest.java (too many changes to keep this file updated)
2018-11-08 19:00:44 -03:00
Андрій
dd56a5d869 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (383 of 383 strings)
2018-11-08 17:07:53 +01:00
Nitin Khanna
86f82c0e61 pop-up player crash fixed 2018-11-07 22:01:39 +05:30
rimasx
8ae45240b2 Translated using Weblate (Estonian)
Currently translated at 99.7% (382 of 383 strings)
2018-11-06 15:02:39 +01:00
WaldiS
6d845af7f1 Translated using Weblate (Polish)
Currently translated at 100.0% (383 of 383 strings)
2018-11-02 08:23:47 +01:00
Piotr Kaczmarek
733ebb8caf Translated using Weblate (Polish)
Currently translated at 100.0% (383 of 383 strings)
2018-11-02 08:23:47 +01:00
Max Mathys
695a194467 Translated using Weblate (Finnish)
Currently translated at 100.0% (383 of 383 strings)
2018-11-02 08:23:46 +01:00
simo
8a56257ade Translated using Weblate (Arabic)
Currently translated at 100.0% (383 of 383 strings)
2018-11-02 08:23:45 +01:00
Christian Schabesberger
45fea983b9 Merge pull request #1835 from ritiek/fix-res-crash
Fix crash with default resolution set to best and limited mobile data resolution
2018-11-01 20:22:44 +01:00
Ritiek Malhotra
642b499e70 Fix crash with default resolution best on mobile data 2018-10-31 21:44:12 +05:30
Christian Schabesberger
5c5575bb72 Merge branch 'dev' into screenshot-order 2018-10-31 10:26:31 +01:00
Dual Natan
4d5dc0d39c Translated using Weblate (Macedonian)
Currently translated at 100.0% (383 of 383 strings)
2018-10-29 19:23:30 +01:00
Christian Schabesberger
fba0a8036b Merge pull request #1825 from TeamNewPipe/release_0.14.2
Release 0.14.2
2018-10-27 09:58:56 +02:00
Christian Schabesberger
d82274f5d4 fucking android bullshit 2018-10-27 09:57:11 +02:00
Christian Schabesberger
3cf81230b2 Merge branch 'dev' into release_0.14.2 2018-10-26 15:02:11 +02:00
Christian Schabesberger
17bab456e4 Merge pull request #1845 from AndhikaWB/patch-1
Fix spelling of country names in settings
2018-10-26 15:01:34 +02:00
Christian Schabesberger
e1cc006db7 fix race condition when returning to main player 2018-10-26 14:59:49 +02:00
Tobias Groza
7e95dd3c76 Change from "Côte d'Ivoire" to "Côte d\'Ivoire"
Co-Authored-By: AndhikaWB <karagasnoelan@gmail.com>
2018-10-26 16:22:35 +07:00
AndhikaWB
ff3ce46a26 Update settings_keys.xml 2018-10-26 00:09:04 +07:00
AndhikaWB
4d61c2c5e0 Fix spelling in of country names in settings
- [x] I carefully read the [contribution guidelines](https://github.com/TeamNewPipe/NewPipe/blob/HEAD/.github/CONTRIBUTING.md) and agree to them.

Closes TeamNewPipe/NewPipe#1504
2018-10-26 00:04:36 +07:00
Eduardo Caron
8589ee14ff Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (383 of 383 strings)
2018-10-25 17:26:00 +02:00
Stjepan
1727387c9c Translated using Weblate (Croatian)
Currently translated at 86.9% (333 of 383 strings)
2018-10-25 17:25:58 +02:00
ezjerry liao
e1146e4655 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (383 of 383 strings)
2018-10-25 17:25:54 +02:00
Christian Schabesberger
afaba7ccdf fix broken search result 2018-10-25 15:58:06 +02:00
Christian Schabesberger
ccb3ceae4f add release node 2018-10-25 10:58:37 +02:00
Christian Schabesberger
d0d93f6d2d Merge branch 'dev' into release_0.14.2 2018-10-25 10:57:39 +02:00
Christian Schabesberger
67f091c731 Merge pull request #1830 from boredomdenied/dev
Add foreground service permission for API 28+ devices
2018-10-25 10:54:52 +02:00
krtkush
c29b0645bd Merge branch '1520_app_update_notif' of https://github.com/krtkush/NewPipe into 1520_app_update_notif 2018-10-22 23:12:51 +05:30
krtkush
96dac0f979 Code review suggested changes. 2018-10-22 23:12:25 +05:30
Tobias Groza
fda9b59129 Code review changes.
Co-Authored-By: krtkush <kartikey92@gmail.com>
2018-10-22 23:08:46 +05:30
Christian Schabesberger
fa3aebb7b1 localisation to localization 2018-10-22 12:25:50 +02:00
Christian Schabesberger
988251deb6 fix weblate collision 2018-10-22 12:15:16 +02:00
Christian Schabesberger
d99a389c49 merge weblate 2018-10-22 12:07:12 +02:00
Marian Hanzel
7508f9d3bb Translated using Weblate (Slovak)
Currently translated at 100.0% (383 of 383 strings)
2018-10-21 09:45:21 +02:00
Heimen Stoffels
b2512d7aee Translated using Weblate (Dutch)
Currently translated at 100.0% (383 of 383 strings)
2018-10-21 09:45:18 +02:00
Olexandr Nesterenko
eb74e1e3b2 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (383 of 383 strings)
2018-10-21 09:45:13 +02:00
boredomdenied
bd91e82b17 Update AndroidManifest.xml
remove needless additional line
2018-10-19 21:07:59 -05:00
boredomdenied
bae60acfe7 Update AndroidManifest.xml
Fix foreground playback in android Pie API 28. Tested in emulator & Pixel 3 device.
2018-10-19 20:52:22 -05:00
Emin Tufan Çetin
426cefe8ee Translated using Weblate (Turkish)
Currently translated at 100.0% (383 of 383 strings)
2018-10-20 01:33:46 +02:00
Allan Nordhøy
a36fe3ef21 Translated using Weblate (Swedish)
Currently translated at 100.0% (383 of 383 strings)
2018-10-20 01:33:46 +02:00
Allan Nordhøy
ee0756c7c0 Translated using Weblate (Russian)
Currently translated at 99.7% (382 of 383 strings)
2018-10-20 01:33:45 +02:00
Jaggie
44b96121e4 Translated using Weblate (Punjabi)
Currently translated at 7.3% (28 of 383 strings)
2018-10-20 01:33:44 +02:00
Allan Nordhøy
8add777b34 Translated using Weblate (German)
Currently translated at 100.0% (383 of 383 strings)
2018-10-20 01:33:42 +02:00
Allan Nordhøy
6932b15144 Translated using Weblate (English)
Currently translated at 100.0% (383 of 383 strings)
2018-10-20 01:33:41 +02:00
Allan Nordhøy
c09edda797 Translated using Weblate (Norwegian Bokmål)
Currently translated at 99.7% (382 of 383 strings)
2018-10-20 01:33:38 +02:00
Christian Schabesberger
0e86010565 move on to version 0.14.2 2018-10-19 15:53:19 +02:00
Ritvik Saraf
fa5896ee5b fixed screen rotation for viewpager 2018-10-19 18:44:03 +05:30
Tobias Groza
6fe3fdce11 Merge pull request #1828 from comradekingu/patch-8
Spelling and linguistic updates for readme
2018-10-19 11:00:39 +02:00
Allan Nordhøy
90769a12b1 Spelling and linguistic updates 2018-10-19 02:05:29 +02:00
Kartikey Kushwaha
3c6d27b504 Delete R.java 2018-10-18 23:04:07 +05:30
Kartikey Kushwaha
6ef25eb861 Delete Manifest.java 2018-10-18 23:03:21 +05:30
Kartikey Kushwaha
ec28e972bb Delete BuildConfig.java 2018-10-18 23:02:59 +05:30
Kartikey Kushwaha
d1a9033525 Delete R.java 2018-10-18 23:02:38 +05:30
Kartikey Kushwaha
2d5bc3ada8 Delete Manifest.java 2018-10-18 23:02:30 +05:30
Kartikey Kushwaha
506ffb9885 Delete BuildConfig.java 2018-10-18 23:02:19 +05:30
krtkush
8ef702fa07 Removed updates options from settings in case of non github apk. 2018-10-18 22:59:33 +05:30
Mostafa Ahangarha
1d49b725b6 Translated using Weblate (Persian)
Currently translated at 23.2% (89 of 383 strings)
2018-10-18 11:31:57 +02:00
Stjepan
204feb97ce Translated using Weblate (Croatian)
Currently translated at 86.9% (333 of 383 strings)
2018-10-18 11:31:56 +02:00
maa123
e12389a748 Translated using Weblate (Japanese)
Currently translated at 96.8% (371 of 383 strings)
2018-10-18 11:31:52 +02:00
Ritvik Saraf
9fc38b5bb8 improved fling behavior, added tab indicator dots, added next video in related videos 2018-10-17 00:23:02 +05:30
TobiGr
907e5a10d6 Rename screenshots to display them in correct order in the F-Droid app 2018-10-16 16:33:09 +02:00
Christian Schabesberger
670591e221 Merge pull request #1792 from TeamNewPipe/lang
Add support for Localization
2018-10-16 16:16:05 +02:00
Christian Schabesberger
8006a7d578 Merge branch 'dev' into lang 2018-10-16 16:01:32 +02:00
Christian Schabesberger
8b9078b82e Merge pull request #1801 from TacoTheDank/dev
simply update gradles to 28, AS 3.2.0, and a few dependencies
2018-10-16 16:00:44 +02:00
Christian Schabesberger
56d4edd3ae Merge branch 'dev' into dev 2018-10-16 03:47:29 +02:00
Christian Schabesberger
a7f5ea865e Merge branch 'dev' into lang 2018-10-16 03:47:11 +02:00
Christian Schabesberger
2a62144abd Merge pull request #1800 from TeamNewPipe/history-screenshot
Update screenshots and readme
2018-10-16 03:46:38 +02:00
Christian Schabesberger
c7ea7a4f65 Merge branch 'dev' into dev 2018-10-16 03:45:14 +02:00
TobiGr
7ea090ba8d Update video detail screenshot 2018-10-15 15:16:24 +02:00
TobiGr
9294e353d3 Add link to privacy policy to readme
Closes TeamNewPipe/NewPipe#1789
Part of TeamNewPipe/NewPipe#1817
2018-10-15 15:02:34 +02:00
TobiGr
71c50c58ee Move tablet screenshots for better F-Droid integration 2018-10-15 15:00:41 +02:00
TobiGr
e322299fda Update history screenshot 2018-10-15 14:52:07 +02:00
Ákos Surányi
06602a568a Translated using Weblate (Hungarian)
Currently translated at 90.8% (348 of 383 strings)
2018-10-14 21:31:53 +02:00
krtkush
54ac5e8940 Merge branch '1520_app_update_notif' of https://github.com/krtkush/NewPipe into 1520_app_update_notif 2018-10-14 19:16:59 +05:30
krtkush
e2341363d4 Added check for SHA1 key. 2018-10-14 19:16:28 +05:30
Tobias Groza
a0f0529ad8 Merge pull request #1810 from saderror256/patch-1
Fix broken bold
2018-10-14 15:01:24 +02:00
SadError256
c371d863d9 Fix broken bold
also removed useless backslash in html5
2018-10-13 18:20:47 -04:00
Ákos Surányi
16d8c75953 Translated using Weblate (Hungarian)
Currently translated at 41.5% (159 of 383 strings)
2018-10-13 17:20:53 +02:00
Toldi Balázs
fa48c0e76b Translated using Weblate (Hungarian)
Currently translated at 41.5% (159 of 383 strings)
2018-10-13 17:20:51 +02:00
Ritvik Saraf
cc6989b4f9 updated extractor 2018-10-12 13:16:16 +05:30
Ritvik Saraf
fc31458cc4 added peertube 2018-10-12 02:34:30 +05:30
Tobias Groza
2d17cfaf2b Merge pull request #1644 from ritiek/separate-gesture-options
Separate options for volume and brightness gestures
2018-10-11 17:41:34 +02:00
Matej U
f379de0a3a Translated using Weblate (Slovenian)
Currently translated at 62.6% (240 of 383 strings)
2018-10-11 11:34:26 +02:00
TacoTheDank
d3fcb0aa6a Update build.gradle 2018-10-10 14:29:26 -04:00
Ritiek Malhotra
046740f10b Merge branch 'dev' into separate-gesture-options 2018-10-10 08:41:42 -07:00
TacoTheDank
ffae2eda83 simply update gradles to 28, and some dependencies 2018-10-09 12:22:30 -04:00
Christian Schabesberger
8334b8fe46 Merge pull request #1798 from TeamNewPipe/screenshots
add tablet screenshot
2018-10-08 12:35:57 +02:00
Christian Schabesberger
c6c6e58d28 add tablet screenshot 2018-10-08 12:35:13 +02:00
Christian Schabesberger
2ff0d6665c Merge pull request #1617 from nv95/tablet_ui
Tablet ui and grid list layout
2018-10-08 12:15:02 +02:00
Christian Schabesberger
dc6108c970 Merge branch 'dev' into tablet_ui 2018-10-08 11:56:25 +02:00
Christian Schabesberger
6f52f9b4af Merge pull request #1796 from saderror256/patch-1
Update README.md
2018-10-08 11:39:31 +02:00
zelos-h
b6eb896f0b Translated using Weblate (Chinese (Traditional))
Currently translated at 99.7% (382 of 383 strings)
2018-10-08 10:57:24 +02:00
SadError256
adf861c36d Update README.md 2018-10-07 13:39:02 -04:00
Christian Schabesberger
4e1bcdf209 Merge pull request #1516 from Somethingweirdhere/LongTapInSubs
Long-tap delete and share in subscriptions
2018-10-07 14:08:09 +02:00
Christian Schabesberger
d107fe19f7 Merge branch 'dev' into LongTapInSubs 2018-10-07 13:59:39 +02:00
Christian Schabesberger
fa03ff51d4 Merge pull request #1651 from comradekingu/patch-7
Spelling: Language rework
2018-10-07 13:39:03 +02:00
Christian Schabesberger
f6c6536b48 Merge branch 'dev' into patch-7 2018-10-07 13:26:10 +02:00
Christian Schabesberger
38e4249182 Merge branch 'dev' into lang 2018-10-07 13:25:35 +02:00
Christian Schabesberger
2dd8c0beee Merge pull request #1773 from prg318/clarify-bookmarks
[Closes #1772] change 'tab_bookmarks' string to 'Bookmarked Playlists' for UI clarity
2018-10-06 18:16:38 +02:00
Christian Schabesberger
6a35494ef1 Merge branch 'dev' into patch-7 2018-10-06 18:16:10 +02:00
Christian Schabesberger
bf1c42e085 Merge branch 'dev' into clarify-bookmarks 2018-10-06 18:10:18 +02:00
Christian Schabesberger
f1aa3d8c90 Merge branch 'dev' into 1520_app_update_notif 2018-10-06 18:04:39 +02:00
Christian Schabesberger
0ef6bf8067 Merge pull request #1783 from coin3x/enqueue-autoplay
Enqueuing now triggers video playing if the play queue has already ended
2018-10-06 17:55:22 +02:00
Christian Schabesberger
9d63e2ae97 Merge branch 'dev' into enqueue-autoplay 2018-10-06 17:35:55 +02:00
Christian Schabesberger
fdd8060296 Merge branch 'dev' into lang 2018-10-06 17:29:42 +02:00
Christian Schabesberger
ebbb23ffbb fix bugs in country search 2018-10-06 17:18:19 +02:00
Christian Schabesberger
0e413109bd Merge pull request #1748 from MaX-Lo/store_last_aspect_ratio
store and reload the last used aspect ratio
2018-10-06 12:09:14 +02:00
Christian Schabesberger
f7e29c1e00 revert sdk upgrade 2018-10-06 12:06:03 +02:00
Christian Schabesberger
42f777d49a Merge branch 'dev' into clarify-bookmarks 2018-10-06 12:01:34 +02:00
Christian Schabesberger
efb8ea4c25 make local settings be live updated 2018-10-05 16:31:23 +02:00
Christian Schabesberger
52bf5690c0 add support for content language and content country 2018-10-05 16:20:27 +02:00
Jasmine Vyas
607dff9263 Translated using Weblate (Hindi)
Currently translated at 92.6% (355 of 383 strings)
2018-10-04 22:28:46 +02:00
Coin
0510db75fb Enqueuing now triggers video playing if the play queue has done playing 2018-10-03 00:31:28 +08:00
Ritvik Saraf
cf3e53eb71 update notify on dataset change 2018-10-02 21:30:11 +05:30
Ritvik Saraf
b8865e925d added content setting to disable comments 2018-10-02 20:56:14 +05:30
Ritvik Saraf
2e9a860aaa added viewpager. changed from parallaxscrollview to coordinate layout 2018-10-02 20:39:16 +05:30
MaX
859eecabc0 Merge branch 'dev' into store_last_aspect_ratio 2018-10-02 10:44:04 +02:00
MadderRagax
7a0253631b Translated using Weblate (Swedish)
Currently translated at 100.0% (383 of 383 strings)
2018-10-01 18:21:22 +02:00
ezjerry liao
c12a60c1ad Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (383 of 383 strings)
2018-10-01 18:21:21 +02:00
ButterflyOfFire
df9dbd6130 Translated using Weblate (Arabic)
Currently translated at 100.0% (383 of 383 strings)
2018-10-01 18:21:16 +02:00
Tobias Groza
a98e745116 Merge pull request #1771 from jludden/dev
Enable linear layout in Downloads activity with full video names
2018-10-01 17:40:40 +02:00
Lukas Sabota
61f1b10a06 Change 'tab_bookmarks' string to 'Bookmarked Playlists' for UI clarity 2018-09-30 11:34:16 -04:00
jludden
4bcb2a5c9d update linear layout
re-arrange elements and allow the video title to display over multiple lines
2018-09-30 07:42:02 +08:00
MaX
7e48648f9e Merge branch 'dev' into store_last_aspect_ratio 2018-09-29 12:45:10 +02:00
Ritvik Saraf
e4bef056e6 merged upstream/dev 2018-09-29 15:46:47 +05:30
jludden
bcc97d1aa7 Adding switch view button to downloads activity
Can now switch between linear and grid layouts in the downloads activity
2018-09-29 15:13:15 +08:00
Christian Schabesberger
49f9d36718 Merge pull request #1640 from BO41/code-clean
Code clean
2018-09-28 17:17:30 +02:00
O Passante
f9cb258a5e Translated using Weblate (Galician)
Currently translated at 100.0% (383 of 383 strings)
2018-09-28 11:26:41 +02:00
Ritvik Saraf
803b8eab28 updated extractor version 2018-09-28 05:04:36 +05:30
Ritvik Saraf
08bbfc50ee updated extractor 2018-09-27 23:27:52 +05:30
O Passante
97381a4908 Translated using Weblate (Galician)
Currently translated at 100.0% (383 of 383 strings)
2018-09-27 01:28:42 +02:00
Ritvik Saraf
4e6722f201 updated extractor and downloader 2018-09-27 04:20:57 +05:30
Ritvik Saraf
a29e2116a7 handling error while loading comments 2018-09-27 00:53:36 +05:30
RainSlide
7a15acc546 Translated using Weblate (Chinese (Simplified))
Currently translated at 29.2% (112 of 383 strings)
2018-09-25 18:13:16 +02:00
O Passante
0265de2137 Added translation using Weblate (Galician) 2018-09-25 18:13:14 +02:00
Nigel Ticknor
595b9910f5 Translated using Weblate (Japanese)
Currently translated at 93.9% (360 of 383 strings)
2018-09-25 14:22:36 +02:00
Heimen Stoffels
f4d4d2cc35 Translated using Weblate (Dutch)
Currently translated at 100.0% (383 of 383 strings)
2018-09-25 14:22:35 +02:00
zelos-h
b4fb4d7dcf Translated using Weblate (Chinese (Traditional))
Currently translated at 96.0% (368 of 383 strings)
2018-09-25 14:22:30 +02:00
RainSlide
1a375fb523 Translated using Weblate (Chinese (Simplified))
Currently translated at 29.2% (112 of 383 strings)
2018-09-25 14:22:27 +02:00
zelos-h
658c0ff5c4 Translated using Weblate (Chinese (Hong Kong))
Currently translated at 37.8% (145 of 383 strings)
2018-09-25 14:22:23 +02:00
Ritvik Saraf
515be677a9 no comments 2018-09-24 14:53:43 +05:30
Ritvik Saraf
d694c5f511 smoother transition to comments fragment 2018-09-23 19:45:26 +05:30
Ritvik Saraf
66c753f3a3 changed comments fragment loading animation 2018-09-23 15:22:45 +05:30
Ritvik Saraf
7047b62442 added comments fragment 2018-09-23 07:02:19 +05:30
MaX-Lo
6092f06d46 store the last used aspect ratio in SharedPreferences and reload them on
resuming the VideoPlayer Activity (similar to storing/reloading the last used: screen rotation)
2018-09-22 11:32:13 +02:00
ezjerry liao
4671b956b3 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (383 of 383 strings)
2018-09-21 16:22:02 +02:00
postsorino
552ba6999a Translated using Weblate (Greek)
Currently translated at 99.7% (382 of 383 strings)
2018-09-20 15:16:07 +02:00
zelos-h
b86bc4455f Translated using Weblate (Chinese (Traditional))
Currently translated at 94.2% (361 of 383 strings)
2018-09-20 15:16:03 +02:00
Allan Nordhøy
b6d36ee117 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (383 of 383 strings)
2018-09-19 08:30:03 +02:00
Ritvik Saraf
5cc73555cd updated extractor version 2018-09-19 05:41:01 +05:30
Ritvik Saraf
219922cd82 added commentsInfo in streamInfo 2018-09-19 05:13:55 +05:30
Tobias Groza
5d57f864dc Translated using Weblate (Vietnamese)
Currently translated at 97.1% (372 of 383 strings)
2018-09-17 23:21:52 +02:00
naofum
c6ee2816db Translated using Weblate (Japanese)
Currently translated at 93.7% (359 of 383 strings)
2018-09-17 23:21:51 +02:00
Tobias Groza
0aa898b13f Translated using Weblate (Chinese (Hong Kong))
Currently translated at 37.8% (145 of 383 strings)
2018-09-17 23:21:49 +02:00
Stjepan
b22e82c8ce Translated using Weblate (Croatian)
Currently translated at 85.6% (328 of 383 strings)
2018-09-17 23:21:47 +02:00
zelos-h
63dee1e1ac Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (383 of 383 strings)
2018-09-16 13:27:50 +02:00
epsimatt
91c87ac301 Translated using Weblate (Korean)
Currently translated at 96.0% (368 of 383 strings)
2018-09-16 13:27:46 +02:00
Kartikey Kushwaha
7124d9bca5 Removed flvor checks. Added update settings under main settings. 2018-09-15 20:51:17 +05:30
Ritvik Saraf
08127e5806 added basic/crappy comments support 2018-09-15 17:15:44 +05:30
Kartikey Kushwaha
6417bd91ef Pull request changes v1. 2018-09-15 14:08:32 +05:30
Kartikey Kushwaha
cde5f7d12e Merge branch 'dev' of https://github.com/krtkush/NewPipe into 1520_app_update_notif 2018-09-15 13:30:09 +05:30
Kartikey Kushwaha
395c9587b6 Conflict resolution. 2018-09-15 13:22:13 +05:30
Kartikey Kushwaha
17197ad670 Pull request changes begins here. 2018-09-15 12:51:39 +05:30
Shuuji TAKAHASHI (shuuji3)
42371a6e8d Translated using Weblate (Japanese)
Currently translated at 88.7% (340 of 383 strings)
2018-09-14 21:20:02 +02:00
Ritiek Malhotra
d7aae849f6 Merge branch 'dev' into separate-gesture-options 2018-09-12 21:41:47 +05:30
DanieLoche
4fe9413662 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (383 of 383 strings)
2018-09-12 12:20:25 +02:00
CaptainCrumble
37bf51cebf Translated using Weblate (Portuguese)
Currently translated at 91.3% (350 of 383 strings)
2018-09-12 12:20:25 +02:00
DanieLoche
eee9cb8b87 Translated using Weblate (Portuguese)
Currently translated at 91.3% (350 of 383 strings)
2018-09-12 12:20:24 +02:00
DanieLoche
1724bca5f0 Translated using Weblate (French)
Currently translated at 100.0% (383 of 383 strings)
2018-09-12 12:20:21 +02:00
Cipisek Rumcajsu
ae6581fb55 Translated using Weblate (Czech)
Currently translated at 99.7% (382 of 383 strings)
2018-09-12 12:20:20 +02:00
Michael Moroni
0c632307ea Translated using Weblate (Italian)
Currently translated at 100.0% (383 of 383 strings)
2018-09-12 12:20:15 +02:00
BO41
479887eb84 fix broken merge resolve
fixing merge conflicts broke build
2018-09-11 19:37:12 +02:00
BO41
af280a7343 Java language level + javadoc + xml
replace with <>
String builder

BUILD SUCCESSFUL in 4s
39 actionable tasks: 4 executed, 35 up-to-date
2018-09-11 19:20:10 +02:00
BO41
802b26e870 error handling + imports + unboxing 2018-09-11 19:18:50 +02:00
BO41
0ab86937d2 data flow issue + declaration redundancy
make final
unused methods
make final

BUILD SUCCESSFUL in 0s
39 actionable tasks: 39 up-to-date
2018-09-11 19:18:41 +02:00
BO41
3ab06bf383 class structure
BUILD SUCCESSFUL in 17s
39 actionable tasks: 6 executed, 33 up-to-date
2018-09-11 19:18:14 +02:00
BO41
5db0cc5241 performance + usability
obsolete layout params
Ellipsis string can be replaced with ellipsis character
Missing inputType
Usage of showAsAction=always

BUILD SUCCESSFUL in 5s
39 actionable tasks: 4 executed, 35 up-to-date
2018-09-11 19:18:14 +02:00
BO41
a588ec084b correctness
use apply() on SharedPreferences
use dp instead of sp for text sizes

BUILD SUCCESSFUL in 22s
39 actionable tasks: 10 executed, 29 up-to-date
2018-09-11 19:18:02 +02:00
BO41
5660b5ddc6 accessibility
image without contentDescription
Keyboard inaccessible widget

BUILD SUCCESSFUL in 6s
39 actionable tasks: 4 executed, 35 up-to-date
2018-09-11 19:14:42 +02:00
BO41
27fbe69033 code cleanup
mainly removes throw statements

automated using Android Studio, staged by hand

BUILD SUCCESSFUL in 52s
39 actionable tasks: 37 executed, 2 up-to-date
2018-09-11 19:14:21 +02:00
Christian Schabesberger
1672ecb892 Merge branch 'dev' into patch-7 2018-09-11 16:34:58 +02:00
Christian Schabesberger
784e01347c fix wrong subscriptini count 2018-09-11 15:16:39 +02:00
Emin Tufan Çetin
5cc21a831b Translated using Weblate (Turkish)
Currently translated at 100.0% (383 of 383 strings)
2018-09-10 19:13:10 +02:00
Robson Cassiano
dcb9380b50 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (383 of 383 strings)
2018-09-10 19:13:08 +02:00
ButterflyOfFire
b1957773bb Translated using Weblate (Arabic)
Currently translated at 100.0% (383 of 383 strings)
2018-09-10 19:13:05 +02:00
switchtegrax1
c4f4583f20 Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.7% (382 of 383 strings)
2018-09-09 18:58:19 +02:00
Dominik Zabicki
440cdbdb23 Translated using Weblate (Polish)
Currently translated at 100.0% (383 of 383 strings)
2018-09-09 18:58:18 +02:00
Duppadaadadii
58bfde33a9 Translated using Weblate (Finnish)
Currently translated at 99.7% (382 of 383 strings)
2018-09-09 18:58:17 +02:00
skil3z
7c33e49ef6 Translated using Weblate (Finnish)
Currently translated at 99.7% (382 of 383 strings)
2018-09-09 18:58:17 +02:00
Rex_sa
3bf318e2b7 Translated using Weblate (Arabic)
Currently translated at 100.0% (383 of 383 strings)
2018-09-09 18:58:10 +02:00
Ritiek Malhotra
f56193ac18 We don't need to check this 2018-09-08 23:13:04 +05:30
ScratchBuild
31efa7a8f8 Translated using Weblate (Japanese)
Currently translated at 74.1% (284 of 383 strings)
2018-09-08 19:15:24 +02:00
skil3z
372932abaf Translated using Weblate (Finnish)
Currently translated at 74.6% (286 of 383 strings)
2018-09-08 19:15:23 +02:00
M Andreev
4c6dd2cdf2 Translated using Weblate (Bulgarian)
Currently translated at 99.4% (381 of 383 strings)
2018-09-08 19:15:18 +02:00
Stjepan
6d04e39151 Translated using Weblate (Croatian)
Currently translated at 65.7% (252 of 383 strings)
2018-09-08 19:15:15 +02:00
Ritiek Malhotra
afa257e79a Merge branch 'dev' into separate-gesture-options 2018-09-08 10:05:51 -07:00
Christian Schabesberger
05f8ee9747 fix channel links in description part 2 2018-09-07 22:23:32 +02:00
Christian Schabesberger
818ae03928 fix decrypt url and move on to v0.14.1 2018-09-07 21:51:14 +02:00
Christian Schabesberger
97ad3c1e6d Merge pull request #1654 from mauriciocolli/misc-fixes
Improve "selected tabs" and misc fixes
2018-09-05 20:52:29 +02:00
Ritiek Malhotra
97555645f8 Merge branch 'dev' into separate-gesture-options 2018-09-05 09:21:05 -07:00
Mauricio Colli
612228bb73 Update extractor version
- Handle case where subscribers count is not available
- Fix NPE when a YouTube playlist is empty
- Quick fix for the kiosks in SoundCloud
2018-09-05 07:29:15 -03:00
kaka Thic
e350f43adc Translated using Weblate (Vietnamese)
Currently translated at 95.8% (367 of 383 strings)
2018-09-05 08:26:05 +02:00
Çağdaş Tatar
2257f3484d Translated using Weblate (Turkish)
Currently translated at 100.0% (383 of 383 strings)
2018-09-05 08:25:35 +02:00
Mauricio Colli
6e75d41956 Use current volume as the start value in the volume gesture
- Renamed some variables/classes to increase readability
2018-09-04 23:54:17 -03:00
Mauricio Colli
9883a38698 Fix registering of broadcast receiver 2018-09-04 23:54:17 -03:00
Mauricio Colli
07256e2e34 Handle case where subscribers count is not available 2018-09-04 23:54:17 -03:00
Mauricio Colli
43674ae80a Improve tabs UX and saving/loading
- Show icons in the tabs list and dialog chooser
- Add a "restore to defaults" button
- Make removing gesture more user intuitive
2018-09-04 23:54:17 -03:00
Christian Schabesberger
f4ba8df02b Merge branch 'dev' into patch-7 2018-09-04 17:53:39 +02:00
Christian Schabesberger
c066ebd76f merge extractor fix for empty subscriptioin count 2018-09-04 14:31:08 +02:00
Christian Schabesberger
6e382c64a4 Reciever not registered 2018-09-04 13:07:39 +02:00
notramo
99ebf03876 Translated using Weblate (Hungarian)
Currently translated at 40.7% (156 of 383 strings)
2018-09-03 19:18:49 +02:00
postsorino
995d79e373 Translated using Weblate (Greek)
Currently translated at 98.1% (376 of 383 strings)
2018-09-03 19:18:46 +02:00
Allan Nordhøy
0cd153ab61 Spelling: Language rework 2018-09-03 13:07:10 +02:00
Christian Schabesberger
81e76f260c fix drawer header font color for white theme 2018-09-01 12:33:08 +02:00
Vasily
b24baa68ba Tablet UI in player 2018-08-31 17:30:06 +03:00
Vasily
d4c1b8d321 Fix: remove title from PlaylistDialog 2018-08-31 17:12:56 +03:00
Vasily
1e53d6bfab Scroll top related streams when loading 2018-08-31 17:08:13 +03:00
Ritiek Malhotra
5931cd6af7 Separate options for volume and brightness gestures 2018-08-31 19:30:40 +05:30
u1
a1be03543c Grid layout for subscriptions 2018-08-31 16:49:25 +03:00
u1
b1a5547de2 Fix reordering playlist items on grid layout 2018-08-31 16:34:35 +03:00
Christian Schabesberger
93571961ee merge weblate changes 2018-08-31 14:11:16 +02:00
Vasily
ee4942dfd7 Grid layout for local lists 2018-08-31 14:34:32 +03:00
MadderRagax
cb24347b23 Translated using Weblate (Swedish)
Currently translated at 100.0% (383 of 383 strings)
2018-08-30 23:23:27 +02:00
Vincent Tam
146b7be825 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (383 of 383 strings)
2018-08-29 12:35:17 +02:00
Vincent Tam
50203c5f87 Translated using Weblate (Chinese (Simplified))
Currently translated at 27.4% (105 of 383 strings)
2018-08-29 12:35:16 +02:00
Vincent Tam
b188073fb0 Translated using Weblate (Chinese (Hong Kong))
Currently translated at 36.2% (139 of 383 strings)
2018-08-29 12:35:14 +02:00
Vasily
8aef24be1e Merge branch 'tablet_ui' of https://github.com/nv95/NewPipe into tablet_ui 2018-08-29 09:00:15 +03:00
Vasily
fb25f6c7ac Automatic list layout 2018-08-29 08:19:15 +03:00
Vasily
fbd983217d Hide related streams while loading 2018-08-29 08:08:35 +03:00
Vasily
ce21fe2087 Always show description on tablets 2018-08-29 08:01:18 +03:00
Christian Schabesberger
17cd395712 Merge branch 'dev' into tablet_ui 2018-08-28 21:28:10 +02:00
Christian Schabesberger
bfe9de05cd Merge branch 'dev' into LongTapInSubs 2018-08-28 18:39:11 +02:00
Christian Schabesberger
91c60df0e9 move on to v0.14.0 2018-08-28 18:04:45 +02:00
Christian Schabesberger
ad065e9281 Merge pull request #1623 from TeamNewPipe/refactor_and_bugfix
Refactor and bugfix
2018-08-28 16:30:09 +02:00
Christian Schabesberger
b1429366da fixes acording to code review
fixes moreacording to code review

fixed link handling once more
2018-08-28 12:19:07 +02:00
ButterflyOfFire
8bf7af2e74 Translated using Weblate (Arabic)
Currently translated at 100.0% (383 of 383 strings)
2018-08-28 02:34:24 +02:00
Christian Schabesberger
2003f51d49 fix thumbnail not shown in background player 2018-08-27 16:37:21 +02:00
Christian Schabesberger
ce83fd9a10 make dash parser ignore segmented streams 2018-08-27 16:37:21 +02:00
Christian Schabesberger
eacbaa3680 fix exception on nothing found 2018-08-27 16:37:21 +02:00
Christian Schabesberger
98c65fb9b7 add more debug statements to BasePlayer 2018-08-27 16:37:21 +02:00
Christian Schabesberger
44a71d8565 add reset extSD card folder dialog 2018-08-27 16:37:21 +02:00
Christian Schabesberger
badd4d3207 fix linkhandling in description
bla
2018-08-27 16:37:21 +02:00
Christian Schabesberger
0f517b803b fix layout width of currentPlayTime 2018-08-27 16:37:21 +02:00
Christian Schabesberger
c2d11e786f rename Search Query handler 2018-08-27 16:37:21 +02:00
Christian Schabesberger
b0efe49e29 fix cycling search results 2018-08-27 16:37:21 +02:00
Christian Schabesberger
2d029b9f76 fix exception when loading premium videos 2018-08-27 16:37:21 +02:00
Dual Natan
8ad917cff0 Translated using Weblate (Macedonian)
Currently translated at 100.0% (383 of 383 strings)
2018-08-25 15:56:40 +02:00
Mauricio Colli
4e478c65d3 Merge pull request #1604 from TheMatten/player_controls
Gesture controls
2018-08-24 13:36:58 -03:00
TheMatten
a469086915 Add background to fast rewind icon, change android:src to tools:src
-White icon was barely visible on bright backgrounds
-Secondly, drawable is set programmatically anyway and so it's setting in
 XML is good just for a confusion
2018-08-24 13:24:35 -03:00
TheMatten
bf05ff6048 Use animated circular design for gesture control (brightness and volume)
-Previous version used emojis for brightness and volume icons, which may
 be inconsistent across devices and do not fit well with other parts of UI
 (Frankly, previous version was more informative than eye-candy)

-This commit replaces old version with circular progress bar that shows
 current value (before conversion). Gesture mode (volume/brightness) is
 indicated by icon that changes between (4/3) modes according to current
 value

-Text information about current value was removed, because with progress
 bar present it does not add any real value to UI.
2018-08-24 13:24:35 -03:00
Christian Schabesberger
a817d8cbf9 git replace getFragmentManager() with getFM() 2018-08-24 12:30:23 +02:00
Christian Schabesberger
4a19c78fa5 despaget certain parts of the new design 2018-08-24 12:27:02 +02:00
Somethingweirdhere
e8bb7da906 Put listener initialization into onCreate 2018-08-24 12:26:16 +02:00
Somethingweirdhere
523477fc2b Added swiping to remove, which is enabled by long-pressing 2018-08-24 12:26:16 +02:00
Somethingweirdhere
c730426be0 Fixed dragging 2018-08-24 12:26:15 +02:00
Somethingweirdhere
57d6c97203 Fixed revert 2018-08-24 12:26:15 +02:00
Somethingweirdhere
fce17aa1d4 Revert "Revert "Changed the default preferences to show trending.""
This reverts commit b441665
2018-08-24 12:26:15 +02:00
Somethingweirdhere
01abc244b1 Fixed revert 2018-08-24 12:26:15 +02:00
Somethingweirdhere
7bedacf5ad Revert "Revert "Changed the way how kiosks are handled""
This reverts commit b020567
2018-08-24 12:26:15 +02:00
Somethingweirdhere
552a1d0464 Options here again 2018-08-24 12:26:15 +02:00
Somethingweirdhere
8dde25532a Code reviewed 2018-08-24 12:26:15 +02:00
Somethingweirdhere
f29fa939ab Removing by long pressing no longer removes a random tab, but the pressed one. 2018-08-24 12:23:26 +02:00
Somethingweirdhere
614bdb33b4 Added dragging 2018-08-24 12:23:26 +02:00
Somethingweirdhere
71761675cf Fixes problems 1-3 2018-08-24 12:23:26 +02:00
Somethingweirdhere
d9194aa859 Revert "Changed the way how kiosks are handled"
This reverts commit f3da712
2018-08-24 12:23:26 +02:00
Somethingweirdhere
f15081a474 Revert "Changed the default preferences to show trending."
This reverts commit 25481d0
2018-08-24 12:23:26 +02:00
Somethingweirdhere
2f99ff4a0c Changed the default preferences to show trending. 2018-08-24 12:23:26 +02:00
Somethingweirdhere
3a7d26aa46 Changed the way how kiosks are handled 2018-08-24 12:23:26 +02:00
Somethingweirdhere
3f35bc593c Ever more UI tweaks 2018-08-24 12:23:26 +02:00
Somethingweirdhere
e5e708d781 UI tweaks 2018-08-24 12:23:26 +02:00
Somethingweirdhere
d694561980 Added fab and handles, made cards cardier 2018-08-24 12:23:26 +02:00
Somethingweirdhere
8d6d18e875 UI redisign 2018-08-24 12:23:26 +02:00
Somethingweirdhere
072e27ed27 Code cleanup 2018-08-24 12:23:26 +02:00
Somethingweirdhere
6d64215614 + New Tab is now on the bottom
Made dialog more beautiful
2018-08-24 12:17:42 +02:00
Somethingweirdhere
33f5ed5b14 Reduced Font size, fixed bugs that were created when moving the setting 2018-08-24 12:17:42 +02:00
Somethingweirdhere
27f509c8e0 Fixed 2. Use CardView to reprecent each tab. 2018-08-24 12:17:42 +02:00
Somethingweirdhere
890b3e13c9 Fixed 1. Put the tab settings into Aperence settings 2018-08-24 12:16:41 +02:00
Somethingweirdhere
b730cb099f Fixed 4. buggy behavior when adding a new tab. 2018-08-24 12:16:41 +02:00
Somethingweirdhere
fc94f184d2 Reduced lag and increased button size for older devices&users. 2018-08-24 12:16:41 +02:00
Somethingweirdhere
cbf6540889 New selection menu 2018-08-24 12:16:41 +02:00
Somethingweirdhere
40804a7fb3 Navigation drawer has services in a new menu! 2018-08-24 12:16:41 +02:00
Somethingweirdhere
d4101c4f43 Nav drawer now moves behind the status bar and the colors also work correctly. 2018-08-24 12:14:53 +02:00
Somethingweirdhere
409bebd5bc Nav drawer now moves behind the status bar 2018-08-24 12:14:53 +02:00
Somethingweirdhere
8e3ad69adb Videos now also open from the History Tab. 2018-08-24 12:14:53 +02:00
Somethingweirdhere
c8e46d9e21 PopUp now looks better on hell theme 2018-08-24 12:14:53 +02:00
Somethingweirdhere
c56241ffc1 Tab icons now work correctly in bright theme 2018-08-24 12:14:53 +02:00
Somethingweirdhere
be62a2bfc5 Fixed icons and tab titles 2018-08-24 12:14:53 +02:00
Somethingweirdhere
5cb7771484 Fixed bugs&crashes 2018-08-24 12:14:53 +02:00
Somethingweirdhere
6675d3e2cd Set up custom Main Page tabs 2018-08-24 12:14:53 +02:00
Somethingweirdhere
8ecbe4c8ad Created a dialog for the main page content 2018-08-24 12:13:44 +02:00
Somethingweirdhere
edb75c4bab Fixed crash in Subscriptions section 2018-08-24 12:12:08 +02:00
Somethingweirdhere
54b21c716a Added drawer menu 2018-08-24 12:04:35 +02:00
Somethingweirdhere
4704274b87 New Branch 2018-08-24 11:54:59 +02:00
Mauricio Colli
78547aa119 Merge pull request #1597 from mauriciocolli/close-popup-overlay
New way to close the popup player
2018-08-23 23:56:41 -03:00
Mauricio Colli
3887231c73 Fix popup position when draggable area is resized
A common case where this happens is when the soft input is visible.
2018-08-22 23:58:12 -03:00
Mauricio Colli
8a29cfbb7e Remove popup shutdown gesture in favor of the new close overlay 2018-08-22 23:58:12 -03:00
Mauricio Colli
a01d6eaf72 Don't make controls visible when moving popup 2018-08-22 23:58:12 -03:00
Mauricio Colli
69fc571b56 Add overlay to close popup 2018-08-22 23:57:57 -03:00
DPap
4cfd9c322b Translated using Weblate (Greek)
Currently translated at 96.6% (370 of 383 strings)
2018-08-22 22:38:46 +02:00
Somethingweirdhere
4326354ca6 Code cleanup 2018-08-22 13:59:12 +02:00
Vasily
4208c852e1 Update translations 2018-08-22 10:33:10 +03:00
Vasily
7330b4532e Fix crash on screen rotation 2018-08-22 10:29:37 +03:00
Vasily
1e0f6f9e41 Grid view 2018-08-22 10:14:01 +03:00
Vasily
216e2367c6 Video details tablet layout 2018-08-22 08:32:58 +03:00
DPap
d2dce8801b Translated using Weblate (Greek)
Currently translated at 91.9% (352 of 383 strings)
2018-08-21 19:38:17 +02:00
DPap
5b8bb9f678 Translated using Weblate (Greek)
Currently translated at 79.6% (305 of 383 strings)
2018-08-20 16:38:19 +02:00
AB
2076f146cf Translated using Weblate (Ukrainian)
Currently translated at 100.0% (383 of 383 strings)
2018-08-18 22:43:37 +02:00
Kartikey Kushwaha
910c10f554 Removed debug code 2018-08-17 01:46:33 +05:30
Kartikey Kushwaha
04e974b326 Bug fix. 2018-08-17 01:11:51 +05:30
Kartikey Kushwaha
e7abeb5ad9 Added version code check. 2018-08-17 00:53:42 +05:30
Somethingweirdhere
f4416fe007 Doesn't use getChannelInfo() anymore. 2018-08-16 01:04:37 +02:00
Somethingweirdhere
510591ef0f Removed use of blockingFirst() and scheduleDirect() 2018-08-16 00:45:37 +02:00
Somethingweirdhere
a5e89d1dd1 Merge branch 'dev' into LongTapInSubs 2018-08-15 23:33:59 +02:00
Haris Subandie Md. Suhaimin
5d4f2b7862 Translated using Weblate (Malay)
Currently translated at 7.8% (30 of 383 strings)
2018-08-15 21:43:39 +02:00
Igor Nedoboy
e3815e40d2 Translated using Weblate (Russian)
Currently translated at 100.0% (383 of 383 strings)
2018-08-15 21:43:35 +02:00
Ivan Dekovets
6dccfb4774 Translated using Weblate (Belarusian)
Currently translated at 100.0% (383 of 383 strings)
2018-08-15 13:57:25 +02:00
Haris Subandie Md. Suhaimin
1ccc1f4c1a Added translation using Weblate (Malay) 2018-08-15 13:57:23 +02:00
Ivan Dekovets
042809620a Translated using Weblate (Belarusian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-15 08:48:29 +02:00
Tobias Groza
cb4c8abd94 Translated using Weblate (Telugu)
Currently translated at 34.2% (131 of 383 strings)
2018-08-15 03:30:48 +02:00
Mauricio Colli
e86302f5b9 Added translation using Weblate (Belarusian) 2018-08-15 03:30:43 +02:00
AB
de080d5811 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (383 of 383 strings)
2018-08-14 16:36:58 +02:00
Ale-Ma
21b7045f93 Translated using Weblate (Italian)
Currently translated at 100.0% (383 of 383 strings)
2018-08-14 16:36:55 +02:00
Telugu Speaker
627301f83d Translated using Weblate (Telugu)
Currently translated at 34.2% (131 of 383 strings)
2018-08-14 03:44:47 +02:00
Mauricio Colli
607ca84fcc Merge pull request #1545 from MadderRagax/dev
Fixing #1543 - Removed incorrect explanations of the M4A and WebM audio formats
2018-08-12 23:53:00 -03:00
oscar
a7f36248d0 Removed incorrect explanations of the M4A and WebM audio formats 2018-08-12 23:46:21 -03:00
Mauricio Colli
d008d15167 Merge pull request #1560 from kapodamy/wifi-check-fix
Additional checks to obtain WiFi status
2018-08-12 23:27:00 -03:00
Mauricio Colli
607dc436bd Merge branch 'dev' into wifi-check-fix 2018-08-12 23:20:21 -03:00
Praveen0899
4384948f6c Translated using Weblate (Telugu)
Currently translated at 33.9% (130 of 383 strings)
2018-08-13 03:35:37 +02:00
rimasx
5e05e9ec93 Translated using Weblate (Estonian)
Currently translated at 99,7% (382 of 383 strings)
2018-08-12 22:08:40 +02:00
Igor Nedoboy
ac1fe66cf9 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-12 22:08:34 +02:00
Kartikey Kushwaha
2a18eacf62 More refactoring. 2018-08-12 20:57:30 +05:30
Kartikey Kushwaha
af42e32ae6 Code refactored and added comments. 2018-08-12 18:34:20 +05:30
Kartikey Kushwaha
12b93d6637 Added new icon for update notification. 2018-08-12 17:18:46 +05:30
Kartikey Kushwaha
930c971035 Added version check in the pop-up player 2018-08-12 16:41:21 +05:30
Kartikey Kushwaha
06f20c66f8 Moved the new version check to the application class. 2018-08-12 16:35:53 +05:30
Kartikey Kushwaha
7c875a8541 Merge branch 'dev' of https://github.com/krtkush/NewPipe into 1520_app_update_notif 2018-08-12 15:19:15 +05:30
Kartikey Kushwaha
f85e19c75d Added notification channel and code to show notification. 2018-08-12 15:01:50 +05:30
Kartikey Kushwaha
5e2aa51627 Moved the asynctask to its own class. 2018-08-11 19:36:23 +05:30
Kartikey Kushwaha
75a44fb30a Added HTTPS request to get version data. Added APK flaor for github and fdroid. 2018-08-11 19:13:52 +05:30
Dharmendra
86732b6ae4 Translated using Weblate (Hindi)
Currently translated at 91.3% (350 of 383 strings)
2018-08-09 20:45:17 +02:00
AB
0713f55e9c Translated using Weblate (Ukrainian)
Currently translated at 100.0% (383 of 383 strings)
2018-08-09 20:45:08 +02:00
Igor Nedoboy
5c32d73409 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-08 13:38:05 +02:00
Igor Nedoboy
5e13a1735d Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-08 01:54:07 +02:00
Igor Nedoboy
6a1fbb00d9 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-08 00:04:07 +02:00
Nathan Follens
20c3badfac Translated using Weblate (Flemish)
Currently translated at 100,0% (383 of 383 strings)
2018-08-07 23:16:56 +02:00
Igor Nedoboy
7817cfe0c1 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-07 23:16:53 +02:00
Nathan Follens
9ed823b5a5 Translated using Weblate (Flemish)
Currently translated at 100,0% (383 of 383 strings)
2018-08-07 10:46:08 +02:00
Nathan Follens
c6a5dedf0a Translated using Weblate (Dutch)
Currently translated at 100,0% (383 of 383 strings)
2018-08-07 10:45:30 +02:00
Igor Nedoboy
01c9ab36b7 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-07 02:11:09 +02:00
Igor Nedoboy
27f5bdeef1 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-07 01:54:23 +02:00
Igor Nedoboy
723898f87d Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-07 00:24:15 +02:00
Igor Nedoboy
bc05cc1445 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-07 00:09:20 +02:00
Igor Nedoboy
dcf4e43e28 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-06 22:23:11 +02:00
Igor Nedoboy
3868c53908 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-06 21:59:23 +02:00
Igor Nedoboy
a71c693ca3 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-06 17:24:30 +02:00
Igor Nedoboy
691f93f01c Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-06 16:52:59 +02:00
Igor Nedoboy
4cff749186 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-06 14:23:44 +02:00
AB
e1ac1547fd Translated using Weblate (Ukrainian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-06 11:58:58 +02:00
Igor Nedoboy
e53bd505fb Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-06 11:58:55 +02:00
mesnevi
cfa926542e Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-06 11:58:53 +02:00
Igor Nedoboy
79097eca47 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-05 22:52:07 +02:00
Igor Nedoboy
d1741e40e3 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-05 20:20:01 +02:00
Igor Nedoboy
5d0528d195 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-05 15:32:32 +02:00
Igor Nedoboy
a9ea06f753 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-05 13:30:04 +02:00
Igor Nedoboy
62e121c12c Translated using Weblate (Ukrainian)
Currently translated at 99,7% (382 of 383 strings)
2018-08-05 12:41:09 +02:00
Igor Nedoboy
02ef05160f Translated using Weblate (Turkish)
Currently translated at 99,7% (382 of 383 strings)
2018-08-05 12:41:09 +02:00
Igor Nedoboy
6e66c013c0 Translated using Weblate (Swedish)
Currently translated at 99,7% (382 of 383 strings)
2018-08-05 12:41:08 +02:00
Igor Nedoboy
dcb11f01e1 Translated using Weblate (Spanish)
Currently translated at 99,7% (382 of 383 strings)
2018-08-05 12:41:08 +02:00
Igor Nedoboy
8a0e4b577c Translated using Weblate (Slovak)
Currently translated at 93,7% (359 of 383 strings)
2018-08-05 12:41:07 +02:00
Igor Nedoboy
b57f420261 Translated using Weblate (Portuguese (Brazil))
Currently translated at 99,7% (382 of 383 strings)
2018-08-05 12:41:06 +02:00
Igor Nedoboy
7d1790abe3 Translated using Weblate (Polish)
Currently translated at 96,3% (369 of 383 strings)
2018-08-05 12:41:06 +02:00
Igor Nedoboy
1fc494571b Translated using Weblate (Norwegian Bokmål)
Currently translated at 98,6% (378 of 383 strings)
2018-08-05 12:41:05 +02:00
Igor Nedoboy
e6d97bc773 Translated using Weblate (Macedonian)
Currently translated at 96,3% (369 of 383 strings)
2018-08-05 12:41:05 +02:00
Igor Nedoboy
0e53323fb7 Translated using Weblate (Italian)
Currently translated at 98,6% (378 of 383 strings)
2018-08-05 12:41:04 +02:00
Igor Nedoboy
eb4764d2b2 Translated using Weblate (German)
Currently translated at 99,7% (382 of 383 strings)
2018-08-05 12:41:04 +02:00
Igor Nedoboy
298a91adbf Translated using Weblate (French)
Currently translated at 98,1% (376 of 383 strings)
2018-08-05 12:41:03 +02:00
Igor Nedoboy
2cb9912039 Translated using Weblate (Flemish)
Currently translated at 98,6% (378 of 383 strings)
2018-08-05 12:41:03 +02:00
Igor Nedoboy
e52bfe4335 Translated using Weblate (Estonian)
Currently translated at 91,6% (351 of 383 strings)
2018-08-05 12:41:02 +02:00
Igor Nedoboy
761a249e05 Translated using Weblate (Dutch)
Currently translated at 99,7% (382 of 383 strings)
2018-08-05 12:41:02 +02:00
Igor Nedoboy
c42df3a0c2 Translated using Weblate (Czech)
Currently translated at 93,9% (360 of 383 strings)
2018-08-05 12:41:01 +02:00
Igor Nedoboy
3d359b7a98 Translated using Weblate (Chinese (Traditional))
Currently translated at 99,7% (382 of 383 strings)
2018-08-05 12:41:01 +02:00
Igor Nedoboy
deef6417ad Translated using Weblate (Chinese (Simplified))
Currently translated at 97,1% (372 of 383 strings)
2018-08-05 12:41:00 +02:00
Igor Nedoboy
f55a8deb97 Translated using Weblate (Catalan)
Currently translated at 99,7% (382 of 383 strings)
2018-08-05 12:40:58 +02:00
Igor Nedoboy
333506e00b Translated using Weblate (Bulgarian)
Currently translated at 98,4% (377 of 383 strings)
2018-08-05 12:40:58 +02:00
Igor Nedoboy
bbc1642b90 Translated using Weblate (Basque)
Currently translated at 99,7% (382 of 383 strings)
2018-08-05 12:40:57 +02:00
Igor Nedoboy
8209eda27a Translated using Weblate (Arabic)
Currently translated at 99,7% (382 of 383 strings)
2018-08-05 12:40:56 +02:00
Igor Nedoboy
b13f7a599b Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-05 12:40:54 +02:00
Igor Nedoboy
cb0f700be1 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-05 12:16:07 +02:00
Igor Nedoboy
7b6d6b466a Translated using Weblate (English)
Currently translated at 99,7% (382 of 383 strings)
2018-08-05 12:13:00 +02:00
Igor Nedoboy
76f97e5c2e Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-05 12:12:59 +02:00
Igor Nedoboy
4669a1ab57 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-04 23:46:04 +02:00
mesnevi
b1ad0edbe1 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-04 23:46:03 +02:00
Igor Nedoboy
51a695d047 Translated using Weblate (Slovak)
Currently translated at 93.7% (359 of 383 strings)
2018-08-04 20:36:34 +02:00
Igor Nedoboy
396e2d14f3 Translated using Weblate (Polish)
Currently translated at 96.3% (369 of 383 strings)
2018-08-04 20:36:34 +02:00
Igor Nedoboy
245479c339 Translated using Weblate (Norwegian Bokmål)
Currently translated at 99.7% (382 of 383 strings)
2018-08-04 20:36:33 +02:00
Igor Nedoboy
092215f47a Translated using Weblate (Macedonian)
Currently translated at 96.3% (369 of 383 strings)
2018-08-04 20:36:32 +02:00
Igor Nedoboy
fcb46db718 Translated using Weblate (Italian)
Currently translated at 98.6% (378 of 383 strings)
2018-08-04 20:36:32 +02:00
Igor Nedoboy
60c58c8b9c Translated using Weblate (Indonesian)
Currently translated at 93.7% (359 of 383 strings)
2018-08-04 20:36:31 +02:00
Igor Nedoboy
124a2839b5 Translated using Weblate (French)
Currently translated at 98.4% (377 of 383 strings)
2018-08-04 20:36:31 +02:00
Igor Nedoboy
ededfe10ab Translated using Weblate (Flemish)
Currently translated at 98.6% (378 of 383 strings)
2018-08-04 20:36:30 +02:00
Igor Nedoboy
81895c20d6 Translated using Weblate (English)
Currently translated at 99.7% (382 of 383 strings)
2018-08-04 20:36:30 +02:00
Igor Nedoboy
46fabe065c Translated using Weblate (Czech)
Currently translated at 93.9% (360 of 383 strings)
2018-08-04 20:36:29 +02:00
Igor Nedoboy
7ac338756a Translated using Weblate (Chinese (Simplified))
Currently translated at 97.1% (372 of 383 strings)
2018-08-04 20:36:28 +02:00
Igor Nedoboy
640b8edd78 Translated using Weblate (Bulgarian)
Currently translated at 98.6% (378 of 383 strings)
2018-08-04 20:36:28 +02:00
Igor Nedoboy
c5d98752fa Translated using Weblate (Esperanto)
Currently translated at 25.0% (96 of 383 strings)
2018-08-04 20:36:25 +02:00
MadderRagax
a6a5bef447 Update translation via weblate
Translated using Weblate (Swedish)

Currently translated at 100.0% (383 of 383 strings)

Translated using Weblate (Chinese (Mandarin))

Currently translated at 27.4% (105 of 383 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 97.1% (372 of 383 strings)

Translated using Weblate (German)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Russian)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Russian)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Russian)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Russian)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Russian)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Russian)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Russian)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Russian)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Arabic)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Basque)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Dutch)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Spanish)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Catalan)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (German)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Turkish)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Swedish)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (French)

Currently translated at 97,1% (372 of 383 strings)

Translated using Weblate (French)

Currently translated at 97,1% (372 of 383 strings)

Translated using Weblate (Russian)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Arabic)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Basque)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Dutch)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Spanish)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Catalan)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Chinese (Traditional))

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (German)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Swedish)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Turkish)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Portuguese (Brazil))

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Estonian)

Currently translated at 91.6% (351 of 383 strings)

Translated using Weblate (Russian)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Russian)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Russian)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Russian)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Russian)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Russian)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Russian)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Russian)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Russian)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Russian)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Russian)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Russian)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Russian)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Russian)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Russian)

Currently translated at 100,0% (383 of 383 strings)

Translated using Weblate (Russian)

Currently translated at 100,0% (383 of 383 strings)
2018-08-04 17:58:57 +02:00
Igor Nedoboy
042885c155 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-04 16:17:24 +02:00
Igor Nedoboy
cbb9dcf7d0 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-04 14:43:27 +02:00
Igor Nedoboy
9b080800e1 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-04 14:23:07 +02:00
Igor Nedoboy
6effbf50a8 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-04 14:10:52 +02:00
Igor Nedoboy
398f9aa19a Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-04 13:53:37 +02:00
Igor Nedoboy
935d89747f Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-04 13:41:41 +02:00
Igor Nedoboy
21c2fbfd39 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-04 12:54:43 +02:00
Igor Nedoboy
bd337f3aac Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-04 12:30:54 +02:00
Igor Nedoboy
4a673eee81 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-04 12:10:15 +02:00
Igor Nedoboy
cebf349f9a Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-04 11:58:15 +02:00
Igor Nedoboy
3683deb51c Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-04 11:35:35 +02:00
Igor Nedoboy
99ee076db9 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-04 11:13:01 +02:00
Igor Nedoboy
04f759041f Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-04 10:52:31 +02:00
Igor Nedoboy
75f89059e7 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-04 10:51:04 +02:00
Igor Nedoboy
a81f31156d Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-04 02:51:46 +02:00
Igor Nedoboy
f706452e67 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 23:19:08 +02:00
Igor Nedoboy
b0126afbcf Translated using Weblate (Estonian)
Currently translated at 91.6% (351 of 383 strings)
2018-08-03 23:18:13 +02:00
Igor Nedoboy
5b8393ff89 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 21:51:52 +02:00
Igor Nedoboy
d2235da06a Translated using Weblate (Turkish)
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 21:49:53 +02:00
Igor Nedoboy
a87f6a0791 Translated using Weblate (Swedish)
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 21:46:13 +02:00
Igor Nedoboy
7e7cfb79a4 Translated using Weblate (Ukrainian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 21:45:49 +02:00
Igor Nedoboy
fb43a5265c Translated using Weblate (German)
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 21:44:09 +02:00
Igor Nedoboy
439a814133 Translated using Weblate (Chinese (Traditional))
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 21:42:37 +02:00
Igor Nedoboy
d9dfcc04bf Translated using Weblate (Catalan)
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 21:42:13 +02:00
Igor Nedoboy
0cfac137b7 Translated using Weblate (Spanish)
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 21:41:16 +02:00
Igor Nedoboy
4575ee805a Translated using Weblate (Dutch)
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 21:40:02 +02:00
Igor Nedoboy
67f70ce2cc Translated using Weblate (Basque)
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 21:39:06 +02:00
Igor Nedoboy
2f641ffb13 Translated using Weblate (Arabic)
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 21:38:43 +02:00
Igor Nedoboy
50f92269c2 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 21:37:23 +02:00
Igor Nedoboy
f220f397ae Translated using Weblate (French)
Currently translated at 97,1% (372 of 383 strings)
2018-08-03 19:32:56 +02:00
PiR
cdb4096124 Translated using Weblate (French)
Currently translated at 97,1% (372 of 383 strings)
2018-08-03 19:32:51 +02:00
Igor Nedoboy
01938af65b Translated using Weblate (Swedish)
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 19:32:12 +02:00
Igor Nedoboy
47a1fca32f Translated using Weblate (Ukrainian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 19:31:23 +02:00
Igor Nedoboy
321342cf6d Translated using Weblate (Portuguese (Brazil))
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 19:30:30 +02:00
Igor Nedoboy
086e9beb59 Translated using Weblate (Turkish)
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 19:29:40 +02:00
Igor Nedoboy
3519d4b219 Translated using Weblate (German)
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 19:27:39 +02:00
Igor Nedoboy
9034b9a9ae Translated using Weblate (Chinese (Traditional))
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 19:26:01 +02:00
Igor Nedoboy
90ba8440a0 Translated using Weblate (Catalan)
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 19:24:45 +02:00
Igor Nedoboy
4988b37d6f Translated using Weblate (Spanish)
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 19:23:04 +02:00
Igor Nedoboy
ad4799ee60 Translated using Weblate (Dutch)
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 19:22:17 +02:00
Igor Nedoboy
35229f8ae5 Translated using Weblate (Basque)
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 19:19:46 +02:00
Igor Nedoboy
7a011d9e75 Translated using Weblate (Arabic)
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 19:18:48 +02:00
Igor Nedoboy
3d86835979 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 14:06:07 +02:00
Igor Nedoboy
4073306538 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 14:04:42 +02:00
Igor Nedoboy
b86aa28d6a Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 14:03:46 +02:00
Igor Nedoboy
d43cee29f2 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 14:03:05 +02:00
Igor Nedoboy
acad468b4a Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 14:02:07 +02:00
Igor Nedoboy
4cbe842cfa Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 14:01:13 +02:00
Igor Nedoboy
d93e227190 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 13:59:48 +02:00
Igor Nedoboy
a9cf424998 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-08-03 13:10:41 +02:00
ssantos
6d8fdf46d5 Translated using Weblate (German)
Currently translated at 100,0% (383 of 383 strings)
2018-08-02 22:53:59 +02:00
Hosted Weblate
781f98ef91 Merge branch 'origin/dev' into Weblate 2018-08-02 12:43:38 +02:00
YeeVonAngg
1313f685da Translated using Weblate (Chinese (Simplified))
Currently translated at 97.1% (372 of 383 strings)
2018-08-02 12:43:38 +02:00
YeeVonAngg
4779a993d3 Translated using Weblate (Chinese (Mandarin))
Currently translated at 27.4% (105 of 383 strings)
2018-08-02 12:43:37 +02:00
MadderRagax
342b2ae5dc Translated using Weblate (Swedish)
Currently translated at 100.0% (383 of 383 strings)
2018-08-02 12:43:28 +02:00
Christian Schabesberger
ce8ae40206 Merge pull request #1573 from cpba/patch-1
Fix typo in v0.13.7 changelog
2018-08-02 10:20:15 +02:00
Maxime Burlandy
d0704f621f Translated using Weblate (French)
Currently translated at 97.1% (372 of 383 strings)
2018-08-02 09:38:18 +02:00
D D
c6da4043ed Translated using Weblate (Bulgarian)
Currently translated at 98.4% (377 of 383 strings)
2018-08-02 08:34:57 +02:00
Carles Pastor Badosa
1aa3761d1a Fix typo in v0.13.7 changelog 2018-08-02 03:22:26 +02:00
Víctor Manuel Tapia Ramírez
ff769caf82 Translated using Weblate (Spanish)
Currently translated at 100,0% (383 of 383 strings)
2018-08-01 03:25:41 +02:00
MadderRagax
be6bc68b56 Translated using Weblate (Swedish)
Currently translated at 100.0% (383 of 383 strings)
2018-08-01 00:47:30 +02:00
Dual Natan
feb3d11f63 Translated using Weblate (Swedish)
Currently translated at 100.0% (383 of 383 strings)
2018-08-01 00:47:18 +02:00
Igor Nedoboy
d2f9b063b2 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-07-30 22:19:48 +02:00
Emin Tufan Çetin
315089c361 Translated using Weblate (Turkish)
Currently translated at 100.0% (383 of 383 strings)
2018-07-30 17:43:06 +02:00
Igor Nedoboy
e95df0dbd5 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-07-30 08:05:57 +02:00
Igor Nedoboy
8fed029ee3 Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-07-30 06:06:16 +02:00
Igor Nedoboy
522daf5aff Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-07-30 05:56:58 +02:00
Igor Nedoboy
e948eebe84 Translated using Weblate (Russian)
Currently translated at 99,4% (381 of 383 strings)
2018-07-30 05:31:23 +02:00
Igor Nedoboy
783d4e7e8a Translated using Weblate (Russian)
Currently translated at 100,0% (383 of 383 strings)
2018-07-30 05:13:13 +02:00
Eduardo Caron
1ce2198621 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (383 of 383 strings)
2018-07-30 02:43:29 +02:00
Freddy Morán Jr
f521def4a5 Translated using Weblate (Spanish)
Currently translated at 99.4% (381 of 383 strings)
2018-07-29 21:43:48 +02:00
Eduardo Caron
75202921a1 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (383 of 383 strings)
2018-07-29 02:12:45 +02:00
kapodamy
4ef8b93344 patch for ListHelper.java
double check for null
2018-07-28 12:07:10 -03:00
Andrey mm
881b191b8d Translated using Weblate (Russian)
Currently translated at 100.0% (383 of 383 strings)
2018-07-26 12:41:57 +02:00
mesnevi
b39e071d1e Translated using Weblate (Russian)
Currently translated at 100.0% (383 of 383 strings)
2018-07-26 12:41:52 +02:00
mesnevi
84cb3a1060 Translated using Weblate (Russian)
Currently translated at 100.0% (383 of 383 strings)
2018-07-25 12:19:47 +02:00
AB
f4ea3980c2 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (383 of 383 strings)
2018-07-25 10:43:30 +02:00
Hosted Weblate
ef73720a5e Merge branch 'origin/dev' into Weblate 2018-07-24 04:51:05 +02:00
Rex_sa
d8cdc57702 Translated using Weblate (Arabic)
Currently translated at 100,0% (383 of 383 strings)
2018-07-24 04:51:02 +02:00
Christian Schabesberger
b52dee37f4 move on to version v0.13.7 2018-07-23 18:54:40 +02:00
Ali Demirtas
21bd9f09da Translated using Weblate (Turkish)
Currently translated at 100,0% (383 of 383 strings)
2018-07-22 18:53:19 +02:00
Weblate
44f24e58f6 Merge branch 'origin/dev' into Weblate 2018-07-22 15:03:59 +02:00
Allan Nordhøy
860c4d045a Translated using Weblate (Norwegian Bokmål)
Currently translated at 95.8% (367 of 383 strings)
2018-07-22 15:03:58 +02:00
Marc Riera
3b0c96f654 Translated using Weblate (Catalan)
Currently translated at 100.0% (383 of 383 strings)
2018-07-22 15:03:56 +02:00
Jeff Huang
65b744472b Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (383 of 383 strings)
2018-07-22 15:03:53 +02:00
Christian Schabesberger
26489b0f00 fix filters 2018-07-22 13:55:17 +02:00
Marc Riera
414abad05f Translated using Weblate (Catalan)
Currently translated at 100,0% (383 of 383 strings)
2018-07-22 12:41:26 +02:00
Heimen Stoffels
735d9a5391 Translated using Weblate (Dutch)
Currently translated at 100.0% (383 of 383 strings)
2018-07-22 11:40:53 +02:00
Osoitz
50571449cb Translated using Weblate (Basque)
Currently translated at 100.0% (383 of 383 strings)
2018-07-22 11:01:08 +02:00
Weblate
a31aacd115 Merge branch 'origin/dev' into Weblate 2018-07-22 10:57:42 +02:00
Rex_sa
f5b57cc0da Translated using Weblate (Arabic)
Currently translated at 100.0% (379 of 379 strings)
2018-07-22 10:57:42 +02:00
Osoitz
b7006a8f2c Translated using Weblate (Basque)
Currently translated at 100.0% (379 of 379 strings)
2018-07-22 10:57:35 +02:00
Christian Schabesberger
82bb467a2a move on to version v0.13.6 2018-07-21 14:35:03 +02:00
Christian Schabesberger
3a44e92432 Merge branch 'search' into dev 2018-07-19 16:19:33 +02:00
Christian Schabesberger
e60db5f928 make new filtersystem translatable 2018-07-19 16:18:57 +02:00
Ariel Shulman
78485287a4 Translated using Weblate (Hebrew)
Currently translated at 82.3% (312 of 379 strings)
2018-07-18 20:37:59 +02:00
D D
48b6f01b13 Translated using Weblate (Bulgarian)
Currently translated at 97.8% (371 of 379 strings)
2018-07-18 17:35:33 +02:00
Christian Schabesberger
39e04de208 show radio pin for content filter again 2018-07-18 15:05:49 +02:00
Next Hubs
68d5b59693 Translated using Weblate (Urdu)
Currently translated at 5.0% (19 of 379 strings)
2018-07-18 12:43:31 +02:00
Andrea Troiano
4ef01ef745 Translated using Weblate (Italian)
Currently translated at 100,0% (379 of 379 strings)
2018-07-18 10:28:06 +02:00
Rex_sa
573fa8870c Translated using Weblate (Arabic)
Currently translated at 100.0% (379 of 379 strings)
2018-07-17 14:34:21 +02:00
Rex_sa
88d354b08b Translated using Weblate (Arabic)
Currently translated at 100,0% (379 of 379 strings)
2018-07-16 13:17:38 +02:00
Rex_sa
0ff65b5496 Translated using Weblate (Arabic)
Currently translated at 100.0% (379 of 379 strings)
2018-07-15 21:34:22 +02:00
Christian Schabesberger
14e0dcb085 fix names from UIH to LinkHandler 2018-07-15 21:21:09 +02:00
Rex_sa
e008fd21a4 Translated using Weblate (Arabic)
Currently translated at 100.0% (379 of 379 strings)
2018-07-14 21:00:07 +02:00
Nathan Follens
4638149ad0 Translated using Weblate (Flemish)
Currently translated at 100,0% (379 of 379 strings)
2018-07-11 20:52:24 +02:00
Tobias Groza
e386bdd6b3 Translated using Weblate (Greek)
Currently translated at 19.7% (75 of 379 strings)
2018-07-11 18:38:04 +02:00
Christian Schabesberger
decb167ba9 make the new extractor refactorings work with SoundCloud 2018-07-10 16:26:42 +02:00
Tobias Groza
dd9557c13e Translated using Weblate (Greek)
Currently translated at 19.5% (74 of 379 strings)
2018-07-10 02:38:34 +02:00
Lee Hoe Mun
708d7162fb Translated using Weblate (Chinese (Mandarin))
Currently translated at 16.6% (63 of 379 strings)
2018-07-09 20:35:11 +02:00
Michalis Nikolaidis
1ee1b522f1 Translated using Weblate (Greek)
Currently translated at 19,5% (74 of 379 strings)
2018-07-09 02:11:31 +02:00
Christian Schabesberger
d5a500c037 bring everything to compile and run 2018-07-08 17:46:21 +02:00
Eduardo Caron
3e02c65bc0 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (379 of 379 strings)
2018-07-08 15:22:38 +02:00
Christian Schabesberger
d10f9a5f25 add getMoreInfo to SearchInfo 2018-07-08 14:45:00 +02:00
AB
17e7214d25 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (379 of 379 strings)
2018-07-08 09:28:02 +02:00
Víctor Manuel Tapia Ramírez
22774592db Translated using Weblate (Spanish)
Currently translated at 100,0% (379 of 379 strings)
2018-07-07 21:07:00 +02:00
Freddy Morán Jr
7c2aa6e69d Translated using Weblate (Spanish)
Currently translated at 100,0% (379 of 379 strings)
2018-07-07 21:06:55 +02:00
Ali Demirtas
d1dbcda88e Translated using Weblate (Turkish)
Currently translated at 100,0% (379 of 379 strings)
2018-07-07 19:03:18 +02:00
Jeff Huang
3e05508cf9 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (379 of 379 strings)
2018-07-07 15:10:47 +02:00
Heimen Stoffels
1acdefd358 Translated using Weblate (Dutch)
Currently translated at 100.0% (379 of 379 strings)
2018-07-07 11:06:57 +02:00
Marc Riera
23143797f9 Translated using Weblate (Catalan)
Currently translated at 100,0% (379 of 379 strings)
2018-07-07 10:27:11 +02:00
ssantos
3364bf268b Translated using Weblate (German)
Currently translated at 100,0% (379 of 379 strings)
2018-07-07 07:51:52 +02:00
Weblate
2025d6305e Merge branch 'origin/dev' into Weblate 2018-07-07 07:48:38 +02:00
cxj
639ad7698d Translated using Weblate (Chinese (Mandarin))
Currently translated at 15,6% (59 of 378 strings)
2018-07-07 07:48:37 +02:00
D D
4eaff51ba2 Translated using Weblate (Bulgarian)
Currently translated at 61,9% (234 of 378 strings)
2018-07-07 07:48:35 +02:00
ssantos
1fb30bc3d9 Translated using Weblate (German)
Currently translated at 100,0% (378 of 378 strings)
2018-07-07 07:48:33 +02:00
Christian Schabesberger
6b66f40bcb Merge pull request #1392 from karyogamy/exoplayer-2.8.0-update
ExoPlayer 2.8.2 Update
2018-07-05 13:02:21 +02:00
Allan Nordhøy
a3cd531cc8 Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.0% (363 of 378 strings)
2018-07-04 00:40:31 +02:00
Nathan Follens
55c84192be Translated using Weblate (Flemish)
Currently translated at 100.0% (378 of 378 strings)
2018-07-03 09:36:55 +02:00
Víctor Manuel Tapia Ramírez
aa9018b97b Translated using Weblate (Spanish)
Currently translated at 100.0% (378 of 378 strings)
2018-07-03 00:43:30 +02:00
monolifed
1e79c146a7 Translated using Weblate (Turkish)
Currently translated at 100.0% (378 of 378 strings)
2018-07-02 15:43:34 +02:00
Marian Hanzel
cb8545e33d Translated using Weblate (Slovak)
Currently translated at 96.0% (363 of 378 strings)
2018-07-02 09:44:01 +02:00
Nathan Follens
4a484c535b Translated using Weblate (Flemish)
Currently translated at 100,0% (378 of 378 strings)
2018-07-02 09:27:09 +02:00
Víctor Manuel Tapia Ramírez
ee417e41ea Translated using Weblate (Spanish)
Currently translated at 100,0% (378 of 378 strings)
2018-07-02 00:16:04 +02:00
Eduardo Caron
3cdc1fcaee Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (378 of 378 strings)
2018-07-01 22:45:25 +02:00
Jeff Huang
0a023a61f9 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (378 of 378 strings)
2018-07-01 15:21:02 +02:00
monolifed
73f81c5b52 Translated using Weblate (Turkish)
Currently translated at 100.0% (378 of 378 strings)
2018-07-01 14:48:03 +02:00
Marc Riera
bc4acbb7e1 Translated using Weblate (Catalan)
Currently translated at 100,0% (378 of 378 strings)
2018-07-01 12:39:58 +02:00
Heimen Stoffels
26d07ea2c6 Translated using Weblate (Dutch)
Currently translated at 100.0% (378 of 378 strings)
2018-07-01 11:40:26 +02:00
Weblate
5380c8352d Merge branch 'origin/dev' into Weblate 2018-07-01 08:42:10 +02:00
Anton Shestakov
e85e91183e Translated using Weblate (Russian)
Currently translated at 99.4% (371 of 373 strings)
2018-07-01 08:42:07 +02:00
Somethingweirdhere
b48c251b36 Added unsubscription toast
Added error handling
Corrected threads
2018-06-30 02:42:47 +02:00
Somethingweirdhere
181a14ce59 Disposable now is cleaned properly 2018-06-30 02:20:01 +02:00
Christian Schabesberger
a208a22bc2 add link to the incredible bugreport converter 2018-06-29 14:03:15 +02:00
Somethingweirdhere
b9ea7ce066 Code looking nicer 2018-06-29 00:39:44 +02:00
Somethingweirdhere
f2f275512d It looks good now 2018-06-29 00:39:16 +02:00
Somethingweirdhere
5150c2ee62 This thing actually works lol 2018-06-28 23:56:39 +02:00
John Zhen Mo
644766b5a6 -Updated exoplayer lib to 2.8.2. 2018-06-28 12:21:03 -07:00
John Zhen Mo
ca679f5932 -Fixed potential NPE when updating thumbnail in background player. 2018-06-28 12:18:02 -07:00
John Zhen Mo
7f7145e8de -Fixed playback parameter dialog settings not persisting through rotation.
-Moved playback parameter dialog step size selector to below pitch slider.
2018-06-28 12:04:30 -07:00
John Zhen Mo
aa1878c15a -Changed baseplayer metadata getters to use media tag as source.
-Changed background player notification to no longer update bitmap on progress time change.
-Changed popup player to move above soft keyboard when it is opened.
2018-06-28 12:04:30 -07:00
John Zhen Mo
e7d23176b7 -Fixed database backup failing due to journal file name change after Room DB version update. 2018-06-28 12:04:30 -07:00
John Zhen Mo
31218c2a8c -Fixed popup player notification metadata not updated on stream change.
-Fixed popup player window not clipped to above soft input keyboard upon expansion.
2018-06-28 12:03:20 -07:00
John Zhen Mo
06374c82fd -Fixed video players end screen not cleared on restarting playback after single stream play queue is completed. 2018-06-28 12:03:20 -07:00
John Zhen Mo
8efcc8f80f -Fixed main video player end screen thumbnail not fitting screen aspect ratio. 2018-06-28 12:03:20 -07:00
John Zhen Mo
2d6317bd24 -Fixed audio-only streams thumbnail not displaying on video players.
-Fixed potential play queue desynchronization due to fast forwarding on silence.
-Added current thumbnail storing in base player to allow immediate retrieval for notification building.
-Removed video player buffer spinner during interim buffering but not initial buffering.
-Reverted foreground notification stopping on pause and on complete.
2018-06-28 12:03:20 -07:00
John Zhen Mo
157b064214 -Fixed player database and progress disposable disposed when destroying exoplayer.
-Fixed livestream not reloading on behind live window exception.
-Added nonnull annotation to player intent strings.
2018-06-28 12:01:34 -07:00
John Zhen Mo
0ece4851d2 -Updated ExoPlayer to 2.8.1, fixing livestream with long duration not loading.
-Updated OkHttp to 3.10.0 and RxJava to 2.1.14.
-Changed player recovery seek to use ExoPlayer built-in window seeking instead of seeking after stream window starts playing.
-Changed playback speed changer default step size to 25%.
-Changed player notification to reset on all state changes.
-Fixed gradle dependency version incorrect variable names.
-Fixed video player double tap not working during pause.
-[#1412] Fixed NPE when sharing video to main video activity when it was playing but is out of focus: Reset main player state when new intent is received.
-[#1410] Fixed fast forwarding and rewinding not working within 10 seconds from beginning or end of a stream window.
2018-06-28 12:01:34 -07:00
John Zhen Mo
f1f5996975 -Refactored playback resolvers and other persistent player objects to instantiate once only during player creation to enforce non-nullity.
-Fixed background and popup player service staying in foreground when playback is paused or completed.
-Fixed player metadata not updating on new stream.
-Fixed player intent playback quality not applied.
-Fixed player auto-queue not applied after stream transition or swapping.
2018-06-28 12:00:00 -07:00
John Zhen Mo
0a2dbc4688 -Fixed playlist fragment infinite update cycle.
-Updated Room DB version to 1.1.0.
2018-06-28 11:59:59 -07:00
John Zhen Mo
13587d7ab3 -Fixed some typos. 2018-06-28 11:58:33 -07:00
John Zhen Mo
0fcef064fb -Reduced fling speed required to close popup by 40%. 2018-06-28 11:58:33 -07:00
John Zhen Mo
19b8796cbc -Fixed statistics fragment button not animating when pressed.
-Removed background player notification button opacity change.
2018-06-28 11:58:33 -07:00
John Zhen Mo
15fb60a845 -Fixed bookmarked playlist not updating metadata when changed. 2018-06-28 11:58:32 -07:00
John Zhen Mo
5c202f04e7 -[#1383]Fixed popup player caption selector not populating due to full width aspect ratio selector.
-Fixed potential memory leak in media session connector containing player instance.
2018-06-28 11:58:32 -07:00
John Zhen Mo
bc6fdf81d2 -Refactored player media source resolution into external helpers.
-Baked resolved media metadata into media source for one-way data passing.
2018-06-28 11:58:32 -07:00
John Zhen Mo
3194a2bf2c -Fixed skip silence state not maintained by player on new queue.
-Fixed TrackSelector deprecations.
2018-06-28 11:58:32 -07:00
John Zhen Mo
72d1e5131f -Added skip silence toggle to playback speed control.
-Added step size selector to playback speed control.
-Added skip silence flag to player intents.
-Moved default preset in playback speed control to neutral dialog button, renamed as reset.
-Removed nightcore preset from playback speed control.
2018-06-28 11:58:32 -07:00
John Zhen Mo
7721098551 -Updated ExoPlayer to 2.8.0
-Updated MediaSource contracts in ManagedMediaSource.
-Changed PlaceholderMediaSource and FailedMediaSource to use built-in BaseMediaSource implementation.
-Changed deprecated DynamicConcatenatingMediaSource to ConcatenatingMediaSource.
-Removed manual playlist media source disposal in favor of player built-in disposal.
2018-06-28 11:58:32 -07:00
Somethingweirdhere
0b7593ad28 Delete on long press 2018-06-28 20:43:46 +02:00
Somethingweirdhere
a68823491c Delete on long press 2018-06-28 20:37:05 +02:00
Christian Schabesberger
f563bc4210 Merge pull request #1510 from karyogamy/lib-update
Library version update and database backup fix
2018-06-28 12:16:04 +02:00
Christian Schabesberger
43e7be9b86 Merge pull request #1509 from karyogamy/main-video-player-fix
Main video player fix
2018-06-28 12:00:54 +02:00
John Zhen Mo
27131d15dd -Updated room db to 1.1.1.
-Fixed database import/export to no longer include accessory db files to ensure backward compatibility.
2018-06-26 12:26:01 -07:00
John Zhen Mo
fb1a290bd9 -Updated okHttp to 3.10.0.
-Updated mockito to 2.8.9.
-Updated rxJava to 2.1.14.
-Fixed stetho to use correct lib version.
2018-06-26 12:02:26 -07:00
John Zhen Mo
ef16145695 -Fixed player new share intent causing main player crash due to player activity in background. 2018-06-26 10:21:43 -07:00
John Zhen Mo
4fbd1182c2 -Fixed minimizing to popup player does not destroying existing player when drawing over app permission is not granted. 2018-06-26 10:19:16 -07:00
Christian Schabesberger
2d39e65b5c Merge branch '640-screen-off' of https://github.com/krtkush/NewPipe into test 2018-06-26 11:23:45 +02:00
Kartikey Kushwaha
8e96b675fa Removed unwanted files. 2018-06-26 01:13:21 +05:30
Christian Schabesberger
adb6943420 Merge pull request #1354 from karyogamy/minimize-on-exit
Minimize main player on exit
2018-06-25 19:46:13 +02:00
Christian Schabesberger
eae7babf93 Merge pull request #1454 from Somethingweirdhere/dev
Added share option to long tap menu
2018-06-25 15:28:37 +02:00
Christian Schabesberger
7d5e18c05b Merge pull request #1498 from Somethingweirdhere/download
Download option in share menu
2018-06-25 12:35:34 +02:00
Somethingweirdhere
cbe001efd6 Added option to menu 2018-06-25 12:04:11 +02:00
Christian Schabesberger
86b783fb0f Merge pull request #1472 from acrosca/undo_delete
undo delete
2018-06-25 10:04:17 +02:00
Christian Schabesberger
ccc27b48df Merge pull request #1497 from karyogamy/view-history-fix
View history fix
2018-06-25 09:26:08 +02:00
Tobias Groza
a32391f560 Translated using Weblate (German)
Currently translated at 100.0% (373 of 373 strings)
2018-06-24 17:38:37 +02:00
nautilusx
aed0348802 Translated using Weblate (German)
Currently translated at 100.0% (373 of 373 strings)
2018-06-24 17:38:32 +02:00
Rossinière Vaud
1b66446c0d Translated using Weblate (Polish)
Currently translated at 100.0% (373 of 373 strings)
2018-06-24 12:42:40 +02:00
Tobias Groza
2bc0c8a483 Translated using Weblate (German)
Currently translated at 100,0% (373 of 373 strings)
2018-06-23 17:09:58 +02:00
DafabHoid
3f7e02e305 Translated using Weblate (German)
Currently translated at 100,0% (373 of 373 strings)
2018-06-23 17:09:53 +02:00
nautilusx
dd0d666003 Translated using Weblate (German)
Currently translated at 100,0% (373 of 373 strings)
2018-06-23 17:09:47 +02:00
Tobias Groza
81859a37de Translated using Weblate (German)
Currently translated at 100,0% (373 of 373 strings)
2018-06-23 17:05:55 +02:00
rimasx
180bb581a3 Translated using Weblate (Estonian)
Currently translated at 94.6% (353 of 373 strings)
2018-06-23 16:37:11 +02:00
yuriqdev
2f31779af4 Translated using Weblate (Russian)
Currently translated at 99.7% (372 of 373 strings)
2018-06-23 13:42:42 +02:00
Rossinière Vaud
ee6d512165 Translated using Weblate (Polish)
Currently translated at 100,0% (373 of 373 strings)
2018-06-23 12:08:23 +02:00
Weblate
1470fdc057 Merge branch 'origin/dev' into Weblate 2018-06-22 09:35:50 +02:00
rimasx
93bbaf187e Translated using Weblate (Estonian)
Currently translated at 94.6% (353 of 373 strings)
2018-06-22 09:35:46 +02:00
Víctor Manuel Tapia Ramírez
f1e43007f1 Translated using Weblate (Chinese (Mandarin))
Currently translated at 6.4% (24 of 373 strings)
2018-06-22 09:35:21 +02:00
D D
155436b85d Translated using Weblate (Bulgarian)
Currently translated at 62.7% (234 of 373 strings)
2018-06-22 09:35:18 +02:00
Somethingweirdhere
f3e029c3f6 Cleaned code, downloaddialog now also appears after giving storage permission. 2018-06-20 14:46:57 +02:00
Christian Schabesberger
90d6416f55 Merge pull request #1491 from annoyatron255/video-info-fix
Fix #1440 Broken Video Info Layout
2018-06-19 09:50:02 +02:00
Ale-Ma
af2a2e45af Translated using Weblate (Italian)
Currently translated at 100.0% (373 of 373 strings)
2018-06-19 09:40:03 +02:00
Andrea Troiano
e79eda9c5c Translated using Weblate (Italian)
Currently translated at 100.0% (373 of 373 strings)
2018-06-19 09:39:58 +02:00
John Zhen Mo
b338d9dbcf -Fixed view not registered when playback is started on external players. 2018-06-18 18:27:37 -07:00
John Zhen Mo
7fb9345344 -Fixed remote playlist metadata not updated when remote source data has changed. 2018-06-18 18:22:52 -07:00
Weblate
77b488568b Merge branch 'origin/dev' into Weblate 2018-06-17 15:56:31 +02:00
Edwar Tikhonov
fcf650c6eb Translated using Weblate (Russian)
Currently translated at 100.0% (373 of 373 strings)
2018-06-17 15:56:30 +02:00
rimasx
0c21023ad8 Added translation using Weblate (Estonian) 2018-06-17 15:56:28 +02:00
Somethingweirdhere
8f35a56ec8 Added download to share menu 2018-06-17 13:55:43 +02:00
annoyatron255
95ba1873e4 Fix #1440 Broken Video Info Layout 2018-06-16 18:12:56 -05:00
Andrei.Rosca
8b8652d44c undo delete - code format 2018-06-15 16:15:55 +02:00
Issam Maghni
2515b8167f Disable animation (hidden anyway by navigation) 2018-06-15 01:21:30 -04:00
Andrei.Rosca
09dd044f3d undo delete 2018-06-13 09:07:57 +02:00
Dual Natan
ace0ed9667 Translated using Weblate (Swedish)
Currently translated at 68.9% (257 of 373 strings)
2018-06-12 22:43:59 +02:00
Dual Natan
cf03708da2 Translated using Weblate (Macedonian)
Currently translated at 100.0% (373 of 373 strings)
2018-06-11 21:21:57 +02:00
Edwar Tikhonov
d4670bf6fa Translated using Weblate (Russe)
Currently translated at 100,0% (373 of 373 strings)
2018-06-11 16:04:29 +02:00
Edwar Tikhonov
feea448a24 Translated using Weblate (Русский)
Currently translated at 100,0% (373 of 373 strings)
2018-06-10 15:17:20 +02:00
aiddroid
71ad54652b Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (373 of 373 strings)
2018-06-10 10:35:41 +02:00
aiddroid
8e1deda7b0 Translated using Weblate (Chinese (Mandarin))
Currently translated at 0.0% (0 of 373 strings)
2018-06-10 09:35:42 +02:00
aiddroid
752f985e13 Translated using Weblate (简体中文(Chinese Simplified))
Currently translated at 100.0% (373 of 373 strings)
2018-06-09 10:09:35 +02:00
Kartikey Kushwaha
89e3219e06 Further fixes wrt FLAG_NOT_FOCUSABLE. 2018-06-09 01:38:57 +05:30
Kartikey Kushwaha
429dddc6c9 reintroduced hideControls method. 2018-06-09 01:13:37 +05:30
Kartikey Kushwaha
981174a490 Fixed bug #640. 2018-06-09 01:01:13 +05:30
Somethingweirdhere
201f7e9848 Added share option to Popup and Background queues 2018-06-08 15:59:05 +02:00
kapodamy
bb0d8ad58a Translated using Weblate (Spanish)
Currently translated at 99.7% (372 of 373 strings)
2018-06-08 01:44:11 +02:00
Weblate
29e64f7c1a Merge branch 'origin/dev' into Weblate 2018-06-06 20:37:29 +02:00
JAPP
4819ebd56e Translated using Weblate (French)
Currently translated at 99.1% (370 of 373 strings)
2018-06-06 20:37:23 +02:00
John Zhen Mo
3b603b0637 -Added back button press check to destroy rather than minimize main video player. 2018-06-05 23:37:20 -07:00
Somethingweirdhere
baa63249d1 Added share option to long tap menu 2018-06-05 19:48:31 +02:00
Somethingweirdhere
ee347e3081 Merge pull request #1 from TeamNewPipe/dev
Up to date
2018-06-05 19:35:47 +02:00
Christian Schabesberger
f96bc95053 Update CONTRIBUTING.md 2018-06-05 11:03:48 +02:00
John Zhen Mo
e1df4757e4 -Expanded minimize to exit to allow resuming on background player.
-Modified minimize to exit toggle to selection dialog.
2018-06-03 14:09:16 -07:00
John Zhen Mo
4fc37a7321 -Added toggle to allow main video player to switch to popup player when onstop is called.
-Fixed player state not recovering when player is stopped during multiwindow mode.
-Updated gradle to 3.1.2.
2018-06-03 13:20:39 -07:00
Christian Schabesberger
2a45a13f73 move on to version v0.13.5 2018-06-03 12:36:35 +02:00
Christian Schabesberger
067b15c300 Merge branch 'dev' of https://github.com/DafabHoid/NewPipe into test 2018-06-03 12:20:43 +02:00
Christian Schabesberger
8a1c283542 Merge branch 'media-session-fix' of https://github.com/karyogamy/NewPipe into test 2018-06-03 12:12:54 +02:00
Christian Schabesberger
93d1e8b2ff Merge pull request #1441 from DafabHoid/fixdownloadercrashrelease
Downloader: Fix crash on loading unfinished downloads from .giga files (Fixup for release builds)
2018-06-03 12:08:20 +02:00
Christian Schabesberger
c60d5b54fa Merge branch 'remeber_brightness' of https://github.com/acrosca/NewPipe into test 2018-06-03 11:02:49 +02:00
Andrei.Rosca
ef180f082e Remember brightness for the session 2018-06-02 09:06:40 +02:00
Rex_sa
f52741cc37 Translated using Weblate (Arabic)
Currently translated at 100.0% (373 of 373 strings)
2018-06-02 07:34:24 +02:00
DafabHoid
2a2661f066 Downloader: Fix crash on loading unfinished downloads from .giga files
This is a fixup, which fixes the crash in release builds, too. It keeps proguard from removing the new method "private void readObject(ObjectInputStream)", which is only called by the VM, but not from the code.
2018-06-01 14:35:03 +02:00
Rex_sa
b521903138 Translated using Weblate (Arabic)
Currently translated at 100.0% (373 of 373 strings)
2018-06-01 07:02:51 +02:00
Ali Toor
acbd699d95 Translated using Weblate (Urdu)
Currently translated at 2.9% (11 of 373 strings)
2018-05-31 06:43:02 +02:00
Andrea Troiano
6b8928becb Translated using Weblate (Italiano)
Currently translated at 100,0% (373 of 373 strings)
2018-05-30 11:14:38 +02:00
Víctor Manuel Tapia Ramírez
e393bdb1e5 Translated using Weblate (Spanish)
Currently translated at 99.7% (372 of 373 strings)
2018-05-30 10:43:28 +02:00
Osoitz
bba6b96765 Translated using Weblate (Basque)
Currently translated at 100.0% (373 of 373 strings)
2018-05-29 16:58:04 +02:00
John Zhen Mo
740116356c -Fixed media session activation.
-Removed redundant setShuffle call in media session callback and its user.
-Removed unused dummy playback preparer.
2018-05-28 20:02:02 -07:00
monolifed
2f6e4fa4a3 Translated using Weblate (Turkish)
Currently translated at 100.0% (373 of 373 strings)
2018-05-28 20:44:52 +02:00
Allan Nordhøy
fb3f6721b2 Translated using Weblate (Norwegian Bokmål)
Currently translated at 95.9% (358 of 373 strings)
2018-05-28 17:41:18 +02:00
AB
4e7bd21e5c Translated using Weblate (Ukrainian)
Currently translated at 100.0% (373 of 373 strings)
2018-05-28 17:07:13 +02:00
Jeff Huang
219c2030b9 Translated using Weblate (漢語(正體字))
Currently translated at 100.0% (373 of 373 strings)
2018-05-28 08:56:18 +02:00
Marc Riera
b75fdb4566 Translated using Weblate (català)
Currently translated at 100,0% (373 of 373 strings)
2018-05-28 08:41:52 +02:00
Nathan Follens
4584b14a31 Translated using Weblate (Vlaams)
Currently translated at 100,0% (373 of 373 strings)
2018-05-28 07:53:32 +02:00
thami simo
814ddb5932 Translated using Weblate (Arabic)
Currently translated at 100.0% (373 of 373 strings)
2018-05-28 07:45:58 +02:00
DafabHoid
6ea0f6290a Downloader: Notify the progress every 64K instead of every 512 Bytes
This improves downloading performance dramatically when cpu bound:
Before, even a high-end cpu from 2013 can't download faster than around 1MB/s.
The bigger read buffer size removes the need for a dedicated BufferedInputStream.
2018-05-28 01:07:30 +02:00
monolifed
c796fe1fe6 Translated using Weblate (Turkish)
Currently translated at 100.0% (373 of 373 strings)
2018-05-27 19:49:08 +02:00
Heimen Stoffels
a452a164e6 Translated using Weblate (Dutch)
Currently translated at 100.0% (373 of 373 strings)
2018-05-27 18:00:16 +02:00
ssantos
0d9dd69b19 Translated using Weblate (Deutsch)
Currently translated at 100,0% (373 of 373 strings)
2018-05-27 17:51:41 +02:00
Eduardo Caron
d7b73c18f1 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (373 of 373 strings)
2018-05-27 15:14:19 +02:00
Weblate
07f66c0e45 Merge branch 'dev' into weblate-merge-tmp 2018-05-27 15:11:40 +02:00
monolifed
d449acbf86 Translated using Weblate (Turkish)
Currently translated at 99.4% (369 of 371 strings)
2018-05-27 15:11:40 +02:00
Allan Nordhøy
fce416ba76 Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.2% (357 of 371 strings)
2018-05-27 15:11:35 +02:00
dadosch
cb6bfe8556 Translated using Weblate (German)
Currently translated at 100.0% (371 of 371 strings)
2018-05-27 15:11:35 +02:00
Florian
d7b31e1d25 Translated using Weblate (French)
Currently translated at 98.6% (366 of 371 strings)
2018-05-27 15:11:34 +02:00
Eduardo Caron
85057376d6 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (371 of 371 strings)
2018-05-27 15:11:31 +02:00
Christian Schabesberger
c43ac7c869 fix conflict 2018-05-27 13:30:23 +02:00
Heimen Stoffels
b2657315f1 Translated using Weblate (Dutch)
Currently translated at 100.0% (371 of 371 strings)
2018-05-27 12:36:08 +02:00
ezjerry liao
de5ed9717c Translated using Weblate (漢語(正體字))
Currently translated at 100.0% (371 of 371 strings)
2018-05-27 01:18:13 +02:00
Ali Demirtas
e17a6cbb9f Translated using Weblate (Turkish)
Currently translated at 100.0% (371 of 371 strings)
2018-05-27 00:07:08 +02:00
Marc Riera
8e783b774b Translated using Weblate (català)
Currently translated at 100,0% (371 of 371 strings)
2018-05-27 00:03:34 +02:00
AB
733663f40d Translated using Weblate (Ukrainian)
Currently translated at 100.0% (371 of 371 strings)
2018-05-26 22:34:26 +02:00
Ali Demirtas
4b2a792a62 Translated using Weblate (Türkçe)
Currently translated at 100,0% (371 of 371 strings)
2018-05-26 21:01:30 +02:00
dadosch
f7aa171d01 Translated using Weblate (Deutsch)
Currently translated at 100,0% (371 of 371 strings)

informal "du"
2018-05-26 15:14:27 +02:00
dadosch
5eafefb683 Translated using Weblate (Deutsch)
Currently translated at 100,0% (371 of 371 strings)
2018-05-26 15:12:02 +02:00
dadosch
5d1b02a856 Translated using Weblate (Deutsch)
Currently translated at 100,0% (371 of 371 strings)

informal "du"
2018-05-26 15:08:29 +02:00
dadosch
4acda3d9ae Translated using Weblate (Deutsch)
Currently translated at 100,0% (371 of 371 strings)
2018-05-26 15:07:50 +02:00
dadosch
643e10ace2 Translated using Weblate (Deutsch)
Currently translated at 100,0% (371 of 371 strings)

informal "du"
2018-05-26 15:04:45 +02:00
dadosch
7b64a232de Translated using Weblate (Deutsch)
Currently translated at 100,0% (371 of 371 strings)
2018-05-26 15:00:23 +02:00
dadosch
d7472d837d Translated using Weblate (Deutsch)
Currently translated at 100,0% (371 of 371 strings)

informal "du"
2018-05-26 14:57:32 +02:00
dadosch
94b473ab4b Translated using Weblate (Deutsch)
Currently translated at 100,0% (371 of 371 strings)
2018-05-26 14:56:36 +02:00
dadosch
4a05bbb6c8 Translated using Weblate (Deutsch)
Currently translated at 100,0% (371 of 371 strings)
2018-05-26 14:45:26 +02:00
Linux User
0343659b35 Translated using Weblate (Deutsch)
Currently translated at 100,0% (371 of 371 strings)
2018-05-26 14:45:21 +02:00
Nathan Follens
f38eadbe30 Translated using Weblate (Vlaams)
Currently translated at 100,0% (371 of 371 strings)
2018-05-26 09:32:42 +02:00
Nathan Follens
eb29a53ac5 Translated using Weblate (Nederlands)
Currently translated at 100,0% (371 of 371 strings)
2018-05-26 09:29:31 +02:00
Weblate
bc71e260e2 Merge branch 'dev' into weblate-merge-tmp 2018-05-26 08:38:30 +02:00
Bogdan Khomutsky
ddf23a3443 Translated using Weblate (Russian)
Currently translated at 100.0% (365 of 365 strings)
2018-05-26 08:38:30 +02:00
Dual Natan
d41b248d1c Translated using Weblate (Macedonian)
Currently translated at 100.0% (365 of 365 strings)
2018-05-26 08:38:29 +02:00
SN
a025b25933 Translated using Weblate (Hindi)
Currently translated at 83.0% (303 of 365 strings)
2018-05-26 08:38:28 +02:00
Charlotte Lewer
c9a52a6088 Translated using Weblate (Esperanto)
Currently translated at 25.2% (92 of 365 strings)
2018-05-26 08:38:28 +02:00
My Account
0276dca406 Translated using Weblate (Hindi)
Currently translated at 83.0% (303 of 365 strings)
2018-05-26 08:38:22 +02:00
Christian Schabesberger
3bb95ad44c add changelog for version v0.13.4 2018-05-25 18:38:07 +02:00
Christian Schabesberger
0a6572c282 roll back to more stable version of newpipe extractor 2018-05-25 18:29:30 +02:00
Christian Schabesberger
3937067be1 move on to version 0.13.4 2018-05-25 09:45:22 +02:00
Christian Schabesberger
48e4eb44f2 remove unused imports 2018-05-25 09:43:28 +02:00
TobiGr
c78cc6f2fd Add dialog to accept privacy policy before sending crash report
Add link to privacy policy in about fragment
Replace some onClickListeners with Lamdas
2018-05-25 09:29:14 +02:00
Bogdan Khomutsky
73a71e0f5c Translated using Weblate (Russian)
Currently translated at 100.0% (365 of 365 strings)
2018-05-25 08:22:43 +02:00
SINUS (সাইনাস)
93605774f0 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 40.0% (146 of 365 strings)
2018-05-24 18:34:46 +02:00
Daria Szatan
2834e5d78f Translated using Weblate (Polish)
Currently translated at 100.0% (365 of 365 strings)
2018-05-23 19:53:07 +02:00
Allan Nordhøy
dd467b4d63 Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.1% (351 of 365 strings)
2018-05-22 11:40:49 +02:00
SN
1fa541776b Translated using Weblate (Hindi)
Currently translated at 80.0% (292 of 365 strings)
2018-05-22 08:37:59 +02:00
Weblate
f6f67c7b0a Merge branch 'dev' into weblate-merge-tmp 2018-05-21 06:37:51 +02:00
lartial
9b3f19c19b Translated using Weblate (Indonesian)
Currently translated at 100.0% (365 of 365 strings)
2018-05-21 06:37:49 +02:00
Christian Schabesberger
f4a9ec15e8 Merge pull request #1407 from DafabHoid/dev
Downloader: Fix crash on loading unfinished downloads from .giga files
2018-05-19 16:19:33 +02:00
Osoitz
006c4ecb02 Translated using Weblate (Basque)
Currently translated at 100.0% (365 of 365 strings)
2018-05-19 10:34:39 +02:00
Nishargo Nigar
1c752b0e18 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 34.2% (125 of 365 strings)
2018-05-19 08:34:45 +02:00
AB
f84aff63e3 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (365 of 365 strings)
2018-05-18 19:06:33 +02:00
DafabHoid
ae8121b680 Utility: Buffer the output to files when serializing 2018-05-18 18:23:32 +02:00
DafabHoid
882fbf9275 Fix crash on loading not yet finished downloads from .giga files 2018-05-18 18:18:37 +02:00
Dual Natan
0a1743251e Translated using Weblate (Macedonian)
Currently translated at 100.0% (365 of 365 strings)
2018-05-18 11:49:10 +02:00
Osoitz
3403a127c1 Translated using Weblate (Basque)
Currently translated at 100.0% (365 of 365 strings)
2018-05-18 10:24:13 +02:00
Robson Cassiano
9c5ca9f09d Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (365 of 365 strings)
2018-05-17 16:40:02 +02:00
David Adrião
73eea5608a Translated using Weblate (Portuguese)
Currently translated at 86.3% (315 of 365 strings)
2018-05-17 13:40:38 +02:00
Osoitz
f48aeb91f4 Translated using Weblate (Basque)
Currently translated at 98.9% (361 of 365 strings)
2018-05-17 11:34:34 +02:00
Robson Cassiano
0bda964ece Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (365 of 365 strings)
2018-05-16 16:21:22 +02:00
Ale-Ma
14f5d54b50 Translated using Weblate (Italian)
Currently translated at 100.0% (365 of 365 strings)
2018-05-16 00:13:39 +02:00
Freddy Morán Jr
105ac2f6ff Translated using Weblate (Spanish)
Currently translated at 99.4% (363 of 365 strings)
2018-05-15 20:43:45 +02:00
HashikDonthineni
160560f1fd Translated using Weblate (Telugu)
Currently translated at 35.3% (129 of 365 strings)
2018-05-15 17:42:23 +02:00
ditokp
deeb667d6f Translated using Weblate (Indonesian)
Currently translated at 100.0% (365 of 365 strings)
2018-05-15 13:48:13 +02:00
Ali Demirtas
78123ff6f5 Translated using Weblate (Turkish)
Currently translated at 100.0% (365 of 365 strings)
2018-05-14 21:09:52 +02:00
anonymous
9b1fdff22f Translated using Weblate (Romanian)
Currently translated at 82.7% (302 of 365 strings)
2018-05-14 19:46:37 +02:00
Ciprian
0275502796 Translated using Weblate (Romanian)
Currently translated at 82.7% (302 of 365 strings)
2018-05-14 19:46:32 +02:00
Weblate
8af475e319 Merge branch 'dev' into weblate-merge-tmp 2018-05-14 13:34:29 +02:00
Allan Nordhøy
2202c8f09e Translated using Weblate (Norwegian Bokmål)
Currently translated at 95.8% (350 of 365 strings)
2018-05-14 13:34:28 +02:00
ScratchBuild
adf309d3a8 Translated using Weblate (Japanese)
Currently translated at 77.5% (283 of 365 strings)
2018-05-14 13:34:26 +02:00
Marc Riera
3071314586 Translated using Weblate (Catalan)
Currently translated at 100.0% (365 of 365 strings)
2018-05-14 13:34:24 +02:00
thami simo
88e1df840d Translated using Weblate (Arabic)
Currently translated at 100.0% (365 of 365 strings)
2018-05-14 13:34:21 +02:00
Christian Schabesberger
23c1b66f6c add note to contribution description 2018-05-14 13:24:35 +02:00
ezjerry liao
b0318a1cce Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (365 of 365 strings)
2018-05-14 11:52:01 +02:00
Nathan Follens
c130a66e4d Translated using Weblate (Flemish)
Currently translated at 100.0% (365 of 365 strings)
2018-05-13 18:44:26 +02:00
ssantos
3386ba6d1b Translated using Weblate (German)
Currently translated at 100.0% (365 of 365 strings)
2018-05-13 16:41:08 +02:00
Marc Riera
9275569fa6 Translated using Weblate (Catalan)
Currently translated at 100.0% (365 of 365 strings)
2018-05-13 13:50:07 +02:00
Heimen Stoffels
2b23dfd0a6 Translated using Weblate (Dutch)
Currently translated at 100.0% (365 of 365 strings)
2018-05-13 13:46:49 +02:00
thami simo
2a13d9990e Translated using Weblate (Arabic)
Currently translated at 100.0% (365 of 365 strings)
2018-05-13 12:37:46 +02:00
Weblate
c9669b51c6 Merge branch 'dev' into weblate-merge-tmp 2018-05-13 11:34:46 +02:00
Osoitz
486c180b3c Translated using Weblate (Basque)
Currently translated at 98.9% (360 of 364 strings)
2018-05-13 11:34:43 +02:00
Christian Schabesberger
9eb5bf9b87 Merge pull request #1375 from acrosca/code_inspection
Code inspection
2018-05-12 14:21:37 +02:00
Christian Schabesberger
953a89f3a1 Merge branch 'settingsExport' of https://github.com/Somethingweirdhere/NewPipe into test 2018-05-12 13:34:05 +02:00
Christian Schabesberger
d638fa1434 use commit from newpipeextractor master 2018-05-11 18:00:28 +02:00
Christian Schabesberger
e6d700288c fix afiliate parse link failure 2018-05-11 18:00:28 +02:00
Christian Schabesberger
371f14cdc9 make compartible to yoututbe service restructure 2018-05-11 18:00:28 +02:00
Christian Schabesberger
0733ae2404 make compatible with encosing urlidhandler commit 2018-05-11 18:00:28 +02:00
ButterflyOfFire
b1731ebd49 Translated using Weblate (French)
Currently translated at 99.1% (361 of 364 strings)
2018-05-11 17:37:14 +02:00
Somethingweirdhere
342b3191ac Changed to lambda convention 2018-05-11 17:17:07 +02:00
zmni
cd39445245 Translated using Weblate (Indonesian)
Currently translated at 91.2% (332 of 364 strings)
2018-05-11 16:39:32 +02:00
Freddy Morán Jr
92eac67367 Translated using Weblate (Spanish)
Currently translated at 97.2% (354 of 364 strings)
2018-05-10 19:41:12 +02:00
Edwar Tikhonov
0e31a0c704 Translated using Weblate (Russian)
Currently translated at 100.0% (364 of 364 strings)
2018-05-10 11:42:55 +02:00
gensitu
d60c117a70 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (364 of 364 strings)
2018-05-10 11:36:24 +02:00
thami simo
69ccad5998 Translated using Weblate (Arabic)
Currently translated at 100.0% (364 of 364 strings)
2018-05-10 11:34:28 +02:00
Edwar Tikhonov
b6d22320e6 Translated using Weblate (Russian)
Currently translated at 100.0% (364 of 364 strings)
2018-05-09 11:12:45 +02:00
Weblate
d3bf948dba Merge remote-tracking branch 'origin/dev' into dev 2018-05-09 09:50:28 +02:00
ditokp
5de3d96b31 Translated using Weblate (Indonesian)
Currently translated at 85.7% (312 of 364 strings)
2018-05-09 09:50:28 +02:00
Florian
d30dd64322 Translated using Weblate (French)
Currently translated at 99.1% (361 of 364 strings)
2018-05-09 09:50:27 +02:00
thami simo
386df10a5a Translated using Weblate (Arabic)
Currently translated at 100.0% (364 of 364 strings)
2018-05-09 09:50:25 +02:00
Christian Schabesberger
af147de547 upgrade gradle 2018-05-08 20:56:11 +02:00
anonymous
23cd0e5a5e Translated using Weblate (French)
Currently translated at 98.3% (358 of 364 strings)
2018-05-08 17:30:05 +02:00
anonymous
c5a566657c Translated using Weblate (French)
Currently translated at 98.3% (358 of 364 strings)
2018-05-08 16:21:31 +02:00
Alexander Sparzt
ce2018c864 Translated using Weblate (French)
Currently translated at 98.3% (358 of 364 strings)
2018-05-08 16:21:26 +02:00
anonymous
472ab46af2 Translated using Weblate (French)
Currently translated at 98.3% (358 of 364 strings)
2018-05-08 16:18:30 +02:00
Alexander Sparzt
7f87d45bb5 Translated using Weblate (French)
Currently translated at 98.3% (358 of 364 strings)
2018-05-08 16:18:25 +02:00
anonymous
e9f7ab18bb Translated using Weblate (French)
Currently translated at 98.3% (358 of 364 strings)
2018-05-08 16:16:29 +02:00
Alexander Sparzt
fba83a8afe Translated using Weblate (French)
Currently translated at 98.3% (358 of 364 strings)
2018-05-08 16:16:24 +02:00
nailyk
05089abddc Translated using Weblate (French)
Currently translated at 96.4% (351 of 364 strings)
2018-05-08 14:43:20 +02:00
Prabjot Singh
ccd70aac51 Translated using Weblate (Punjabi)
Currently translated at 5.2% (19 of 364 strings)
2018-05-08 07:41:59 +02:00
nailyk
5df8445d04 Translated using Weblate (French)
Currently translated at 96.1% (350 of 364 strings)

Peut-être existe des traductions existantes mais je ne les aies pas trouvées.
2018-05-07 18:17:34 +02:00
nailyk
8c43674fa4 Translated using Weblate (French)
Currently translated at 95.8% (349 of 364 strings)
2018-05-07 18:14:23 +02:00
Florent Peterschmitt
f162316a6b Translated using Weblate (French)
Currently translated at 94.5% (344 of 364 strings)
2018-05-07 14:37:09 +02:00
Andrea Troiano
670596ed88 Translated using Weblate (Italian)
Currently translated at 100.0% (364 of 364 strings)
2018-05-07 10:08:51 +02:00
Prabjot Singh
6b3eb716c4 Added translation using Weblate (Punjabi) 2018-05-07 06:39:45 +02:00
Emin Tufan Çetin
6a5180d94c Translated using Weblate (Turkish)
Currently translated at 100.0% (364 of 364 strings)
2018-05-06 17:16:30 +02:00
Florent Peterschmitt
83faaedfcc Translated using Weblate (French)
Currently translated at 93.4% (340 of 364 strings)
2018-05-06 13:54:09 +02:00
Florian
d98d790a7a Translated using Weblate (French)
Currently translated at 93.4% (340 of 364 strings)
2018-05-06 13:54:02 +02:00
Florian
36b5833a3a Translated using Weblate (French)
Currently translated at 93.4% (340 of 364 strings)
2018-05-06 13:51:12 +02:00
anonymous
5e86781a79 Translated using Weblate (French)
Currently translated at 89.5% (326 of 364 strings)
2018-05-06 13:27:25 +02:00
Florian
6a780504b4 Translated using Weblate (French)
Currently translated at 89.5% (326 of 364 strings)
2018-05-06 13:27:20 +02:00
Weblate
a0d8212136 Merge remote-tracking branch 'origin/dev' into dev 2018-05-06 13:01:58 +02:00
Marian Hanzel
0e1e6a9d62 Translated using Weblate (Slovak)
Currently translated at 95.8% (349 of 364 strings)
2018-05-06 13:01:58 +02:00
thami simo
812282a332 Translated using Weblate (Arabic)
Currently translated at 89.5% (326 of 364 strings)
2018-05-06 13:01:56 +02:00
r2308145
a8a4c9e97f Translated using Weblate (Czech)
Currently translated at 100.0% (364 of 364 strings)
2018-05-06 13:01:53 +02:00
Andrei.Rosca
24c293e335 fix context leaks 2018-05-06 10:50:02 +02:00
Andrei.Rosca
0a596df497 default ViewHolder 2018-05-06 10:14:24 +02:00
Andrei.Rosca
3d66c6572b prevent infinite loop 2018-05-06 10:08:56 +02:00
Andrei.Rosca
f45769cbb2 Reduce overdraw 2018-05-05 10:26:35 +02:00
Weblate
ef51f93c6f Merge remote-tracking branch 'origin/dev' into dev 2018-05-05 09:02:21 +02:00
ssantos
35af68f148 Translated using Weblate (German)
Currently translated at 100.0% (364 of 364 strings)
2018-05-05 09:02:19 +02:00
Christian Schabesberger
ff21430b43 move on to v0.13.3
also:
- reduce snack bar error visibility time
- fix metadata error
2018-05-04 16:21:36 +02:00
Weblate
fcb67f5119 Merge remote-tracking branch 'origin/dev' into dev 2018-05-04 09:40:15 +02:00
AB
0a41fbd185 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (364 of 364 strings)
2018-05-04 09:40:14 +02:00
Oleh Ilnytskyi
d32aaf488f Translated using Weblate (Russian)
Currently translated at 89.8% (327 of 364 strings)
2018-05-04 09:40:13 +02:00
Tobias Groza
1254798013 Translated using Weblate (German)
Currently translated at 92.5% (337 of 364 strings)
2018-05-04 09:40:12 +02:00
Heimen Stoffels
c72d2a2308 Translated using Weblate (Dutch)
Currently translated at 100.0% (364 of 364 strings)
2018-05-04 09:40:11 +02:00
Marc Riera
703181655b Translated using Weblate (Catalan)
Currently translated at 100.0% (364 of 364 strings)
2018-05-04 09:40:10 +02:00
Allan Nordhøy
da4a1c5bf0 Translated using Weblate (Norwegian Bokmål)
Currently translated at 94.5% (344 of 364 strings)
2018-05-04 09:40:06 +02:00
Christian Schabesberger
1130bd502e Merge pull request #1342 from Somethingweirdhere/popupplayerdont
PopUpPlayer now also has a Play and Pause button
2018-05-03 17:25:11 +02:00
AB
27ea4ee679 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (364 of 364 strings)
2018-05-03 14:36:57 +02:00
Heimen Stoffels
56e3b66d06 Translated using Weblate (Dutch)
Currently translated at 100.0% (364 of 364 strings)
2018-05-03 11:36:33 +02:00
Nathan Follens
7d4768e151 Translated using Weblate (Dutch)
Currently translated at 100.0% (364 of 364 strings)
2018-05-03 11:36:28 +02:00
Marc Riera
7ec1011610 Translated using Weblate (Catalan)
Currently translated at 100.0% (364 of 364 strings)
2018-05-03 11:18:20 +02:00
Nathan Follens
e1bbd2055c Translated using Weblate (Flemish)
Currently translated at 100.0% (364 of 364 strings)
2018-05-03 08:58:01 +02:00
Nathan Follens
8a19547d9f Translated using Weblate (Dutch)
Currently translated at 100.0% (364 of 364 strings)
2018-05-03 08:47:28 +02:00
Jeff Huang
6e6922dab8 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (364 of 364 strings)
2018-05-03 02:27:38 +02:00
Weblate
e009ade922 Merge remote-tracking branch 'origin/dev' into dev 2018-05-02 23:38:15 +02:00
Freddy Morán Jr
90e15bcab9 Translated using Weblate (Spanish)
Currently translated at 99.7% (362 of 363 strings)
2018-05-02 23:38:15 +02:00
Allan Nordhøy
2a040cea4b Translated using Weblate (Norwegian Bokmål)
Currently translated at 94.4% (343 of 363 strings)
2018-05-02 23:38:14 +02:00
Yoav
72f2a7f8db Translated using Weblate (Hebrew)
Currently translated at 86.7% (315 of 363 strings)
2018-05-02 23:38:11 +02:00
Somethingweirdhere
8a8022afe6 Now the play/pause button also has the correct scale! 2018-05-02 22:08:14 +02:00
Christian Schabesberger
b692bec310 Merge pull request #1350 from comradekingu/patch-6
Spelling: Rework new strings
2018-05-02 21:03:20 +02:00
Andrea Troiano
536c01c70d Translated using Weblate (Italian)
Currently translated at 100.0% (363 of 363 strings)
2018-05-02 10:15:53 +02:00
Allan Nordhøy
ec8e14e977 reverted the other "History &amp; Cache" 2018-05-02 09:18:04 +02:00
Allan Nordhøy
85b34f8809 New desc, "&amp; Cache" reverted 2018-05-02 09:16:53 +02:00
Lukas Wiedemann
22951a56a5 Translated using Weblate (German)
Currently translated at 100.0% (363 of 363 strings)
2018-05-01 23:37:09 +02:00
r2308145
46ad84b101 Translated using Weblate (Czech)
Currently translated at 100.0% (363 of 363 strings)
2018-05-01 22:58:31 +02:00
Marc Riera
5efb77e520 Translated using Weblate (Catalan)
Currently translated at 100.0% (363 of 363 strings)
2018-05-01 18:34:55 +02:00
Lukas Wiedemann
76903102b8 Translated using Weblate (German)
Currently translated at 100.0% (363 of 363 strings)
2018-04-30 23:26:35 +02:00
Nathan Follens
c8e26b429c Translated using Weblate (Flemish)
Currently translated at 100.0% (363 of 363 strings)
2018-04-30 21:49:04 +02:00
Marc Riera
55c1310f74 Translated using Weblate (Catalan)
Currently translated at 100.0% (363 of 363 strings)
2018-04-30 17:32:00 +02:00
Heimen Stoffels
b8278d91e0 Translated using Weblate (Dutch)
Currently translated at 100.0% (363 of 363 strings)
2018-04-30 16:58:57 +02:00
Marian Hanzel
b032502148 Translated using Weblate (Slovak)
Currently translated at 100.0% (363 of 363 strings)
2018-04-30 16:42:39 +02:00
Jeff Huang
bec1a4dd1a Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (363 of 363 strings)
2018-04-30 16:22:48 +02:00
AB
4dfb9e7977 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (363 of 363 strings)
2018-04-30 15:06:19 +02:00
Weblate
2bfa165cdc Merge remote-tracking branch 'origin/dev' into dev 2018-04-30 14:42:49 +02:00
AB
658666276d Translated using Weblate (Ukrainian)
Currently translated at 100.0% (354 of 354 strings)
2018-04-30 14:42:44 +02:00
Christian Schabesberger
62f91b9084 Merge pull request #1356 from DafabHoid/doubletap-playpause
Double-tap the middle of the player screen to pause the video
2018-04-29 17:16:09 +02:00
Christian Schabesberger
719140ab78 resolve conflict 2018-04-29 17:13:45 +02:00
Christian Schabesberger
0471fd8145 add clear orphans 2018-04-29 17:06:54 +02:00
Christian Schabesberger
a079a0c901 fix requested changes part 1 2018-04-29 13:15:52 +02:00
Christian Schabesberger
ac2fa74c8f merge chagnes with dev 2018-04-29 13:01:37 +02:00
Christian Schabesberger
4c10ef65f5 add delete while history
add delete whole history
2018-04-29 12:51:57 +02:00
Christian Schabesberger
cfa697fab2 make history ui more consistent 2018-04-29 12:51:57 +02:00
Christian Schabesberger
a09b9d3e4d made items actually deltable 2018-04-29 12:51:57 +02:00
Christian Schabesberger
c470909f19 add delete options for StatisticPlaylistFragment 2018-04-29 12:51:57 +02:00
Christian Schabesberger
5e59cfcf9d remove HistoryInfoItem again
blub
2018-04-29 12:51:57 +02:00
Christian Schabesberger
a099fe35d2 reorder playqueue/localPlaylist classes 2018-04-29 12:51:57 +02:00
Christian Schabesberger
bcfd8a2450 rename playlist to player.playqueue 2018-04-29 12:49:52 +02:00
Christian Schabesberger
8ed9d71e14 put local foo into local foo folder 2018-04-29 12:47:12 +02:00
Christian Schabesberger
004c2fa55a Project restructure for history part 1
- add HistoryInfoItem (deriving from StreamInfoItem)
  in order to add a special options menu for the list items
- delete HistoryActivity and everything that belongs to its UI (not the
  manager tho)
- put everything that is local into local. (subscriptions still missing)
2018-04-29 12:47:12 +02:00
DafabHoid
3dd63d03cb Double-tap the middle of the player screen to pause the video 2018-04-29 11:23:21 +02:00
AB
cceedab864 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (354 of 354 strings)
2018-04-29 10:34:40 +02:00
Andrei.Rosca
b494b2ea39 Remove GSON lib 2018-04-29 01:06:34 +02:00
Rubix
0b29cf086b Translated using Weblate (Romanian)
Currently translated at 86.7% (307 of 354 strings)
2018-04-27 21:40:56 +02:00
r2308145
11d33097f7 Translated using Weblate (Czech)
Currently translated at 100.0% (354 of 354 strings)
2018-04-27 11:35:54 +02:00
ButterflyOfFire
3ae61645de Translated using Weblate (Arabic)
Currently translated at 87.8% (311 of 354 strings)
2018-04-26 15:34:21 +02:00
Weblate
4711befffa Merge remote-tracking branch 'origin/dev' into dev 2018-04-25 02:40:49 +02:00
Robson Cassiano
5673d53a20 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (354 of 354 strings)
2018-04-25 02:40:47 +02:00
Christian Schabesberger
90ca4a5e92 Merge pull request #1346 from naXa777/dev
Fix #1345 Gradle build fails
2018-04-24 22:03:36 +02:00
Allan Nordhøy
ad252956ab Translated using Weblate (Norwegian Bokmål)
Currently translated at 94.3% (334 of 354 strings)
2018-04-24 21:39:29 +02:00
Marian Hanzel
1b2c091c39 Translated using Weblate (Slovak)
Currently translated at 100.0% (354 of 354 strings)
2018-04-24 09:40:59 +02:00
anonymous
9031bc0c7b Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.7% (353 of 354 strings)
2018-04-24 02:28:17 +02:00
anonymous
1d85e0ea63 Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.7% (353 of 354 strings)
2018-04-24 02:27:25 +02:00
Robson Cassiano
458774aadb Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.7% (353 of 354 strings)
2018-04-24 02:27:20 +02:00
ButterflyOfFire
ae89f7bea3 Translated using Weblate (Arabic)
Currently translated at 83.8% (297 of 354 strings)
2018-04-23 23:34:19 +02:00
Allan Nordhøy
fd77b8552b Rework new strings 2018-04-23 22:07:27 +02:00
Marian Hanzel
bae9f5e844 Translated using Weblate (Slovak)
Currently translated at 100.0% (354 of 354 strings)
2018-04-23 08:05:45 +02:00
Paul
e3f3d90b68 Translated using Weblate (Russian)
Currently translated at 99.1% (351 of 354 strings)
2018-04-22 19:41:32 +02:00
James Straub
646fa877ba Update to mobile data limiting
- Moved non-key strings from string_keys.xml to strings.xml
- Code style changes
- Replaced a hard coded key string with resource constant
2018-04-22 10:20:19 -04:00
naXa!
7f3bd8aec2 Fix #1345 Gradle build fails with "error: unescaped apostrophe in string" 2018-04-22 14:31:59 +03:00
CaptainCrumble
4501203a7a Translated using Weblate (Portuguese)
Currently translated at 93.2% (330 of 354 strings)
2018-04-22 01:40:38 +02:00
Somethingweirdhere
06292bceb2 PopUpPlayer now has a play and pause button. Tapping now doesnt pause or unpause the video and instead shows this button. 2018-04-22 00:16:07 +02:00
Somethingweirdhere
f94f14ab65 Added settings export 2018-04-21 21:11:52 +02:00
AB
7145c68e03 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (354 of 354 strings)
2018-04-21 19:11:00 +02:00
James Straub
d1b0cd74be Added the ability to limit video quality if using mobile data.
* Added a dropdown to video & audio settings
* Changes to ListHelper:
** Limits resolution when code requests the default video resolution
** Limits audio bitrate when code requests the default audio bitrate
** Removed some dead code and did some cleanup
** Make methods private/protected to help understand what was in use
** The code now chooses one format over an other using a simple raking system defined in array constants. I realized I needed to do this in order to choose the most efficient video stream. I did my best to evaluate the video and audio formats based on quality and efficiency. It's not an exact science.
** Made changes to the tests to support my changes
2018-04-21 12:35:04 -04:00
wellinkstein
bac3825c87 Translated using Weblate (French)
Currently translated at 100.0% (354 of 354 strings)
2018-04-21 15:37:08 +02:00
Dante
fc1d283414 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (354 of 354 strings)
2018-04-21 09:35:29 +02:00
anonymous
c0652daa97 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (354 of 354 strings)
2018-04-21 09:35:24 +02:00
Q. A
553903bd9d Translated using Weblate (Albanian)
Currently translated at 12.7% (45 of 354 strings)
2018-04-21 09:34:14 +02:00
Freddy Morán Jr
a43ec25b7e Translated using Weblate (Spanish)
Currently translated at 99.7% (353 of 354 strings)
2018-04-20 16:42:38 +02:00
wellinkstein
bb2a66fd02 Translated using Weblate (French)
Currently translated at 100.0% (354 of 354 strings)
2018-04-20 14:41:22 +02:00
Ale-Ma
71ac830bfa Translated using Weblate (Italian)
Currently translated at 100.0% (354 of 354 strings)
2018-04-20 12:15:48 +02:00
r2308145
82bce80c62 Translated using Weblate (Czech)
Currently translated at 100.0% (354 of 354 strings)
2018-04-20 11:48:04 +02:00
Dante
67ddf78e18 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (354 of 354 strings)
2018-04-20 09:25:12 +02:00
Marc Riera
8285df0f3f Translated using Weblate (Catalan)
Currently translated at 99.1% (351 of 354 strings)
2018-04-19 22:35:00 +02:00
Somethingweirdhere
bdb45295b9 Merge pull request #2 from TeamNewPipe/dev
d
2018-04-19 15:30:12 +02:00
Emin Tufan Çetin
f330ee8f8d Translated using Weblate (Turkish)
Currently translated at 100.0% (354 of 354 strings)
2018-04-19 10:51:45 +02:00
Joseph Kim
7331e4a7f2 Translated using Weblate (Korean)
Currently translated at 100.0% (354 of 354 strings)
2018-04-19 04:40:40 +02:00
Jeff Huang
51252d3b61 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (354 of 354 strings)
2018-04-19 01:33:35 +02:00
Somethingweirdhere
dcdb2c323e Added settings export 2018-04-19 01:31:25 +02:00
Q. A
c4ac901c67 Added translation using Weblate (Albanian) 2018-04-18 23:38:25 +02:00
Tobias Groza
a7ce072ca2 Translated using Weblate (German)
Currently translated at 100.0% (354 of 354 strings)
2018-04-18 23:34:48 +02:00
Nathan Follens
a9b427b877 Translated using Weblate (Flemish)
Currently translated at 100.0% (354 of 354 strings)
2018-04-18 22:37:17 +02:00
Nathan Follens
67a9f3a4ad Added translation using Weblate (Flemish) 2018-04-18 22:12:00 +02:00
Nathan Follens
1a4905f36a Translated using Weblate (Dutch)
Currently translated at 100.0% (354 of 354 strings)
2018-04-18 21:57:15 +02:00
Weblate
cbb1fde7b0 Merge remote-tracking branch 'origin/dev' into dev 2018-04-18 21:41:20 +02:00
DafabHoid
b86bd019a7 Translated using Weblate (German)
Currently translated at 100.0% (353 of 353 strings)
2018-04-18 21:41:20 +02:00
anonymous
6a0bada9d2 Translated using Weblate (Polish)
Currently translated at 100.0% (353 of 353 strings)
2018-04-18 21:41:18 +02:00
Christian Schabesberger
a708278cf0 Merge pull request #1327 from Somethingweirdhere/dev
Fixed crash when trying to open a downloaded file without a player
2018-04-18 20:35:44 +02:00
Mauricio Colli
119462cbc9 Fix RouterActivity choice selection
- Improve behavior when external player is enabled
- Fixes #1324
2018-04-18 11:44:46 -03:00
Tobias Groza
0324a4928c Translated using Weblate (German)
Currently translated at 100.0% (353 of 353 strings)
2018-04-18 12:00:09 +02:00
syed muzammil
895a2a56b5 Translated using Weblate (Urdu)
Currently translated at 2.5% (9 of 353 strings)
2018-04-18 01:41:26 +02:00
Somethingweirdhere
d9e616beee Fixed crash when trying to open a downloaded file without a player 2018-04-17 22:26:24 +02:00
horyzont
aa5d5d2b6d Translated using Weblate (Polish)
Currently translated at 100.0% (353 of 353 strings)
2018-04-17 21:20:47 +02:00
Somethingweirdhere
85dc555358 Fixed crash when trying to open a downloaded file without a player 2018-04-17 19:47:17 +02:00
Somethingweirdhere
15b4a7d055 Fixed crash when trying to open a downloaded file without a player 2018-04-17 19:19:12 +02:00
Andrea Troiano
696c94050d Translated using Weblate (Italian)
Currently translated at 100.0% (353 of 353 strings)
2018-04-17 09:38:03 +02:00
DafabHoid
b222614c4a Translated using Weblate (German)
Currently translated at 100.0% (353 of 353 strings)
2018-04-16 22:58:47 +02:00
Emin Tufan Çetin
edff694bf3 Translated using Weblate (Turkish)
Currently translated at 100.0% (353 of 353 strings)
2018-04-16 22:42:33 +02:00
Jeff Huang
be430a6ac0 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (353 of 353 strings)
2018-04-16 13:03:02 +02:00
AB
937d40c5f7 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (353 of 353 strings)
2018-04-16 11:42:15 +02:00
Rubix
d3979676ab Translated using Weblate (Romanian)
Currently translated at 84.1% (297 of 353 strings)
2018-04-16 10:40:03 +02:00
Emin Tufan Çetin
6716262a28 Translated using Weblate (Turkish)
Currently translated at 100.0% (353 of 353 strings)
2018-04-15 22:11:00 +02:00
r2308145
06d8bafce6 Translated using Weblate (Czech)
Currently translated at 100.0% (353 of 353 strings)
2018-04-15 19:35:47 +02:00
Anton Shestakov
f814755908 Translated using Weblate (Russian)
Currently translated at 98.8% (349 of 353 strings)
2018-04-15 16:39:47 +02:00
AB
f355fd2551 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (353 of 353 strings)
2018-04-15 10:40:28 +02:00
Andrea Troiano
ea84c62d76 Translated using Weblate (Italian)
Currently translated at 100.0% (353 of 353 strings)
2018-04-14 21:24:40 +02:00
r2308145
acda71cebb Translated using Weblate (Czech)
Currently translated at 100.0% (353 of 353 strings)
2018-04-14 19:05:22 +02:00
Heimen Stoffels
67dcd2e5c6 Translated using Weblate (Dutch)
Currently translated at 100.0% (353 of 353 strings)
2018-04-14 17:42:09 +02:00
Marc Riera
c996644613 Translated using Weblate (Catalan)
Currently translated at 100.0% (353 of 353 strings)
2018-04-14 16:00:44 +02:00
M1ck
171c3e492d Translated using Weblate (French)
Currently translated at 100.0% (353 of 353 strings)
2018-04-14 12:53:15 +02:00
Weblate
8834195cc6 Merge remote-tracking branch 'origin/dev' into dev 2018-04-14 11:39:08 +02:00
M1ck
ed57e72fa1 Translated using Weblate (French)
Currently translated at 96.9% (344 of 355 strings)
2018-04-14 11:39:07 +02:00
Dar Mackani
7e84c3e167 Translated using Weblate (Esperanto)
Currently translated at 18.3% (65 of 355 strings)
2018-04-14 11:39:07 +02:00
gensitu
4adc33471b Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (355 of 355 strings)
2018-04-14 11:39:06 +02:00
gensitu
31d07cc1e2 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (355 of 355 strings)
2018-04-14 11:39:05 +02:00
Andrea Troiano
a349a66d5a Translated using Weblate (Italian)
Currently translated at 100.0% (355 of 355 strings)
2018-04-14 11:38:59 +02:00
Christian Schabesberger
7d427b4cc4 move on to v0.13.2 2018-04-14 11:22:26 +02:00
Christian Schabesberger
6c7e54868d Merge branch 'playlist_to_next' of https://github.com/Shan11812/NewPipe into test 2018-04-14 11:04:08 +02:00
Christian Schabesberger
9484a5e2ee fix conflict 2018-04-14 11:02:31 +02:00
Christian Schabesberger
3cbd2057e3 Merge branch 'qol-follow-ups' of https://github.com/karyogamy/NewPipe into test 2018-04-14 10:53:09 +02:00
Stanisław Sikorski
71ff1cf713 Translated using Weblate (Polish)
Currently translated at 100.0% (355 of 355 strings)
2018-04-14 00:27:38 +02:00
Rintaro matsuo
c737d891bc Translated using Weblate (Japanese)
Currently translated at 81.1% (288 of 355 strings)
2018-04-13 04:39:41 +02:00
ScratchBuild
82a53343fc Translated using Weblate (Japanese)
Currently translated at 81.1% (288 of 355 strings)
2018-04-13 04:39:36 +02:00
Andrea Troiano
03fdc60018 Translated using Weblate (Italian)
Currently translated at 100.0% (355 of 355 strings)
2018-04-12 12:15:57 +02:00
John Zhen Mo
42d19d98ad -Changed media source manager near edge loading to no longer load while player position is not progressing.
-Changed main video player to always self-destruct on stop.
-Extracted main video player lifecycle states into separate data class.
-Fixed play queue in full repeat mode does not load first item after expiring.
2018-04-11 20:27:39 -07:00
John Zhen Mo
c9915bba18 -Reversed special seek logic for short buffer livestreams.
-Fixed loader cleaning potentially canceling existing correct loading items.
-Updated ExoPlayer to 2.7.3.
2018-04-11 20:27:39 -07:00
John Zhen Mo
a275d7ff50 -Rollbacks the original main player UI to display nav and status bar on click.
-Changed system UI color to translucent on Lollipop and above.
2018-04-11 20:27:39 -07:00
John Zhen Mo
74199c8624 -Designated background player as default media button receiver.
-Fixed media button intent causing illegal state exception when sent from external apps.
2018-04-11 20:27:38 -07:00
John Zhen Mo
238bff1fee -Modified adaptive track selection to upgrade with 1 second of buffer.
-Modified dynamic track updates to seek to default time instead of clamping to 0 time when negative progress is reached.
2018-04-11 20:27:38 -07:00
John Zhen Mo
de534b58c5 -Removed playlist cleaning. 2018-04-11 20:27:38 -07:00
John Zhen Mo
111a0f9f17 -Modified playback parameter dialog to use translucent background. (reverted from commit 0d25254d4831aca92ad6cf6c0c772279b32b4a07) 2018-04-11 20:27:38 -07:00
John Zhen Mo
50392ed67d -Changed failed media source exception to use cause instead of top level exception. 2018-04-11 20:27:38 -07:00
John Zhen Mo
3de9da0528 -Bump exoplayer dependency to 2.7.2. 2018-04-11 20:27:38 -07:00
John Zhen Mo
ece93cadd5 -Added better player exception handling to player.
-Added expired media source cleaning to media source manager.
2018-04-11 20:27:38 -07:00
John Zhen Mo
7219c8d33c -Fixed main player multiwindow pauses when focus changes. 2018-04-11 20:27:38 -07:00
John Zhen Mo
b0a09c7876 -Added "add to playlist" button to service player play queue item drop down.
-Refactored playlist manipulations out from media source manager.
-Fixed potential ArrayOutOfBound exception when checking if player window is live.
-Fixed service player play queue potentially not refreshing when current play queue is replaced.
2018-04-11 20:27:38 -07:00
John Zhen Mo
1d017d3cbc -Modified LIVE button to be untranslatable on all players. 2018-04-11 20:27:38 -07:00
John Zhen Mo
5fa56f2aca -Modified playback parameter dialog to use translucent background. 2018-04-11 20:27:37 -07:00
Freddy Morán Jr
5ded1b139f Translated using Weblate (Spanish)
Currently translated at 99.7% (354 of 355 strings)
2018-04-11 18:41:45 +02:00
r2308145
2abb0db272 Translated using Weblate (Czech)
Currently translated at 100.0% (355 of 355 strings)
2018-04-11 18:35:42 +02:00
Marc Riera
674c041c13 Translated using Weblate (Catalan)
Currently translated at 100.0% (354 of 354 strings)
2018-04-11 10:09:56 +02:00
Marc Riera
03c89a69a2 Translated using Weblate (Catalan)
Currently translated at 95.7% (339 of 354 strings)
2018-04-11 09:30:46 +02:00
Marc Riera
dbed5e2a62 Translated using Weblate (Catalan)
Currently translated at 76.8% (272 of 354 strings)
2018-04-11 09:30:08 +02:00
Sérgio Marques
d7519903a1 Translated using Weblate (Portuguese)
Currently translated at 80.0% (284 of 355 strings)
2018-04-11 00:40:00 +02:00
E T
ab14f0d7ac Translated using Weblate (Turkish)
Currently translated at 100.0% (355 of 355 strings)
2018-04-10 23:03:32 +02:00
Marc Riera
3b6e43b7ca Translated using Weblate (Catalan)
Currently translated at 76.8% (272 of 354 strings)
2018-04-10 22:41:59 +02:00
Marc Riera
7d3b7af874 Translated using Weblate (Catalan)
Currently translated at 32.2% (114 of 354 strings)
2018-04-10 19:28:24 +02:00
r2308145
2acc348062 Translated using Weblate (Czech)
Currently translated at 100.0% (355 of 355 strings)
2018-04-10 18:01:41 +02:00
Freddy Morán Jr
33ba8acd05 Translated using Weblate (Spanish)
Currently translated at 100.0% (355 of 355 strings)
2018-04-10 17:49:03 +02:00
ezjerry liao
0c56af7090 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (355 of 355 strings)
2018-04-10 15:01:23 +02:00
Marc Riera
4375ecaad7 Translated using Weblate (Catalan)
Currently translated at 32.2% (114 of 354 strings)
2018-04-10 13:52:48 +02:00
nagizade
90c538d4b6 Translated using Weblate (Azerbaijani)
Currently translated at 12.9% (46 of 355 strings)
2018-04-10 11:34:35 +02:00
Dante
1ffa8329d0 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (355 of 355 strings)
2018-04-10 05:32:24 +02:00
Dante
b404b7974a Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (355 of 355 strings)
2018-04-10 05:20:16 +02:00
E T
de44b580f9 Translated using Weblate (Turkish)
Currently translated at 100.0% (355 of 355 strings)
2018-04-09 22:53:10 +02:00
Roger
2a630cd745 Added translation using Weblate (Chinese (Mandarin)) 2018-04-09 22:31:57 +02:00
ssantos
1ccccc5e39 Translated using Weblate (German)
Currently translated at 100.0% (355 of 355 strings)
2018-04-09 22:31:35 +02:00
Roger
aec851acfa Added translation using Weblate (Urdu) 2018-04-09 22:28:18 +02:00
nagizade
ad5ac479fd Added translation using Weblate (Azerbaijani) 2018-04-09 10:55:09 +02:00
Heimen Stoffels
67b82a404c Translated using Weblate (Dutch)
Currently translated at 100.0% (355 of 355 strings)
2018-04-09 10:45:45 +02:00
Weblate
f7f86a2f62 Merge remote-tracking branch 'origin/dev' into dev 2018-04-09 00:13:42 +02:00
Anton Shestakov
6e42b4af27 Translated using Weblate (Russian)
Currently translated at 98.3% (348 of 354 strings)
2018-04-09 00:13:42 +02:00
Filip Sebastian
fe9ed8af76 Translated using Weblate (Romanian)
Currently translated at 74.8% (265 of 354 strings)
2018-04-09 00:13:40 +02:00
Eduardo Caron
c4c3f369c0 Translated using Weblate (Portuguese (Brazil))
Currently translated at 98.8% (350 of 354 strings)
2018-04-09 00:13:40 +02:00
M1ck
9b9bf40e47 Translated using Weblate (French)
Currently translated at 97.1% (344 of 354 strings)
2018-04-09 00:13:38 +02:00
Marc Riera
14a888a610 Added translation using Weblate (Catalan) 2018-04-09 00:13:35 +02:00
John Zhen Mo
f3d777c65c -Added accessibility caption style and text color resolver.
-Added button to open captioning settings activity from appearance settings.
-Modified player captions to use custom caption style when captioning manager is enabled.
-Removed caption size settings from appearance settings.
2018-04-08 13:58:55 -07:00
Mauricio Colli
d494b6c934 Long-click to open the downloads activity
- Closes #1263
2018-04-08 16:53:22 -03:00
Mauricio Colli
7294220727 Revert removal of menu items 2018-04-08 16:26:47 -03:00
Christian Schabesberger
665b9087b1 fix conflict 2018-04-08 18:49:27 +02:00
Christian Schabesberger
f1691050cd Merge branch 'download-permissions-screen' of https://github.com/arispoloway/NewPipe into perm 2018-04-08 18:21:27 +02:00
Aris Poloway
169b6acd24 Clean up download dialog opening 2018-04-08 11:47:11 -04:00
Mauricio Colli
35b3bf2edb Show download size preview 2018-04-08 08:45:15 -03:00
Christian Schabesberger
8f73c8c98b Merge pull request #1288 from jaller94/shot-to-short
Rename shot_description.txt to short_description.txt
2018-04-08 12:33:37 +02:00
Christian Schabesberger
94ea8c21eb Merge pull request #1289 from jaller94/german-translation
Add German translation of the description for fastlane
2018-04-08 12:32:53 +02:00
anonymous
b6a19c3e2d Translated using Weblate (French)
Currently translated at 97.1% (344 of 354 strings)
2018-04-08 12:06:00 +02:00
M1ck
21455d58a6 Translated using Weblate (French)
Currently translated at 97.1% (344 of 354 strings)
2018-04-08 12:05:55 +02:00
Christian Paul
239e9bd3db Rename shot_description.txt to short_description.txt 2018-04-08 01:46:17 -07:00
Christian Paul
0832171a2b Add German translation of the description for fastlane 2018-04-08 01:38:25 -07:00
Anton Shestakov
1edfcc629c Translated using Weblate (Russian)
Currently translated at 97.7% (346 of 354 strings)
2018-04-08 09:34:00 +02:00
ezjerry liao
9a2a8698ef Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (354 of 354 strings)
2018-04-08 03:28:46 +02:00
Nathan Follens
54c31422d9 Translated using Weblate (Dutch)
Currently translated at 100.0% (354 of 354 strings)
2018-04-08 01:49:32 +02:00
Filip Sebastian
a33464284c Translated using Weblate (Romanian)
Currently translated at 74.8% (265 of 354 strings)
2018-04-08 00:57:40 +02:00
Filip Sebastian
4842caf426 Translated using Weblate (Romanian)
Currently translated at 74.8% (265 of 354 strings)
2018-04-08 00:53:04 +02:00
Filip Sebastian
02b6b4d8eb Translated using Weblate (Romanian)
Currently translated at 74.2% (263 of 354 strings)
2018-04-08 00:18:05 +02:00
Filip Sebastian
4b0d7c7d88 Translated using Weblate (Romanian)
Currently translated at 74.2% (263 of 354 strings)
2018-04-08 00:17:57 +02:00
Filip Sebastian
559b53acc3 Translated using Weblate (Romanian)
Currently translated at 74.2% (263 of 354 strings)
2018-04-08 00:17:51 +02:00
Filip Sebastian
4233c18dbb Translated using Weblate (Romanian)
Currently translated at 70.3% (249 of 354 strings)
2018-04-08 00:11:00 +02:00
Filip Sebastian
adec2c9fcc Translated using Weblate (Romanian)
Currently translated at 70.0% (248 of 354 strings)
2018-04-08 00:10:48 +02:00
Filip Sebastian
6ad2406262 Translated using Weblate (Romanian)
Currently translated at 70.0% (248 of 354 strings)
2018-04-08 00:10:43 +02:00
Filip Sebastian
bfeb8ca104 Translated using Weblate (Romanian)
Currently translated at 69.7% (247 of 354 strings)
2018-04-08 00:10:34 +02:00
Filip Sebastian
5614edfa2f Translated using Weblate (Romanian)
Currently translated at 68.9% (244 of 354 strings)
2018-04-08 00:00:14 +02:00
Filip Sebastian
946f7b2305 Translated using Weblate (Romanian)
Currently translated at 68.9% (244 of 354 strings)
2018-04-07 23:59:49 +02:00
Filip Sebastian
dfcf435f88 Translated using Weblate (Romanian)
Currently translated at 67.7% (240 of 354 strings)
2018-04-07 23:53:12 +02:00
Filip Sebastian
0e734c267c Translated using Weblate (Romanian)
Currently translated at 66.9% (237 of 354 strings)
2018-04-07 23:49:06 +02:00
Filip Sebastian
faadcec4d1 Translated using Weblate (Romanian)
Currently translated at 66.6% (236 of 354 strings)
2018-04-07 23:47:13 +02:00
Filip Sebastian
eb81784818 Translated using Weblate (Romanian)
Currently translated at 66.3% (235 of 354 strings)
2018-04-07 23:45:01 +02:00
Filip Sebastian
327010f76b Translated using Weblate (Romanian)
Currently translated at 66.3% (235 of 354 strings)
2018-04-07 23:44:26 +02:00
Filip Sebastian
371669dcb6 Translated using Weblate (Romanian)
Currently translated at 66.3% (235 of 354 strings)
2018-04-07 23:44:19 +02:00
Filip Sebastian
fb702b93ca Translated using Weblate (Romanian)
Currently translated at 66.3% (235 of 354 strings)
2018-04-07 23:37:57 +02:00
Filip Sebastian
50c8453785 Translated using Weblate (Romanian)
Currently translated at 66.3% (235 of 354 strings)
2018-04-07 23:37:43 +02:00
Filip Sebastian
14fb5ee6c4 Translated using Weblate (Romanian)
Currently translated at 66.3% (235 of 354 strings)
2018-04-07 23:37:29 +02:00
Filip Sebastian
46c2343ec6 Translated using Weblate (Romanian)
Currently translated at 66.3% (235 of 354 strings)
2018-04-07 23:35:42 +02:00
Filip Sebastian
f5c226362f Translated using Weblate (Romanian)
Currently translated at 65.8% (233 of 354 strings)
2018-04-07 23:24:43 +02:00
Filip Sebastian
9114c1157d Translated using Weblate (Romanian)
Currently translated at 64.9% (230 of 354 strings)
2018-04-07 23:22:38 +02:00
Filip Sebastian
a4f4230275 Translated using Weblate (Romanian)
Currently translated at 64.9% (230 of 354 strings)
2018-04-07 23:22:21 +02:00
Filip Sebastian
46a6147c08 Translated using Weblate (Romanian)
Currently translated at 64.9% (230 of 354 strings)
2018-04-07 23:21:19 +02:00
Filip Sebastian
0d26923d79 Translated using Weblate (Romanian)
Currently translated at 64.9% (230 of 354 strings)
2018-04-07 23:21:09 +02:00
Filip Sebastian
b57c93cf03 Translated using Weblate (Romanian)
Currently translated at 64.6% (229 of 354 strings)
2018-04-07 23:20:04 +02:00
Filip Sebastian
ec19e4bc8f Translated using Weblate (Romanian)
Currently translated at 64.6% (229 of 354 strings)
2018-04-07 23:19:36 +02:00
Filip Sebastian
cb68a9c2ce Translated using Weblate (Romanian)
Currently translated at 64.1% (227 of 354 strings)
2018-04-07 23:16:44 +02:00
Filip Sebastian
b51ded1580 Translated using Weblate (Romanian)
Currently translated at 64.1% (227 of 354 strings)
2018-04-07 23:16:38 +02:00
Filip Sebastian
4b6fb5bfeb Translated using Weblate (Romanian)
Currently translated at 63.8% (226 of 354 strings)
2018-04-07 23:08:51 +02:00
Filip Sebastian
9b8175b5be Translated using Weblate (Romanian)
Currently translated at 63.5% (225 of 354 strings)
2018-04-07 23:07:58 +02:00
Filip Sebastian
3ecfc622e2 Translated using Weblate (Romanian)
Currently translated at 63.5% (225 of 354 strings)
2018-04-07 23:07:35 +02:00
Filip Sebastian
d8d2ee4e09 Translated using Weblate (Romanian)
Currently translated at 63.5% (225 of 354 strings)
2018-04-07 23:06:38 +02:00
Filip Sebastian
be478cb088 Translated using Weblate (Romanian)
Currently translated at 62.7% (222 of 354 strings)
2018-04-07 22:57:24 +02:00
Filip Sebastian
c187b4487f Translated using Weblate (Romanian)
Currently translated at 62.7% (222 of 354 strings)
2018-04-07 22:54:09 +02:00
Weblate
f6d21e74cb Merge remote-tracking branch 'origin/dev' into dev 2018-04-07 22:50:27 +02:00
Filip Sebastian
bde4c4bd25 Translated using Weblate (Romanian)
Currently translated at 62.4% (221 of 354 strings)
2018-04-07 22:50:25 +02:00
Mauricio Colli
d9aaceea95 Fix naming inconsistency 2018-04-07 16:09:34 -03:00
Aris Poloway
676d64a24a Open download dialog if video download is clicked instead 2018-04-07 13:32:31 -04:00
Weblate
8ae1768f71 Merge remote-tracking branch 'origin/dev' into dev 2018-04-07 13:37:23 +02:00
anonymous
212705e7e3 Translated using Weblate (German)
Currently translated at 99.4% (352 of 354 strings)
2018-04-07 13:37:22 +02:00
Andreas Kromke
b3f6524e5c Translated using Weblate (German)
Currently translated at 99.4% (352 of 354 strings)
2018-04-07 13:37:20 +02:00
Aris Poloway
5ca0a0adf2 Open downloads after permission granted 2018-04-06 17:29:58 -04:00
Mauricio Colli
669d2c44c9 Dynamically create the opening choices
- Fixes TODO
2018-04-06 06:02:51 -03:00
Mauricio Colli
604bc5b4c1 Merge pull request #1255 from Poussinou/patch-1
Add distributionSha256Sum property to gradle-wrapper.properties
2018-04-06 04:50:19 -03:00
Mauricio Colli
88268ae569 Merge pull request #1268 from arispoloway/dev
Handle links with time specified (ex. &t=xxx)
2018-04-06 04:49:02 -03:00
Mauricio Colli
140fb86401 Fix Info's start time when using VideoDetailFragment
- Update extractor dependency
2018-04-06 04:35:44 -03:00
Aris Poloway
2b281c4357 Don't save stream and store recovery position from StreamInfo 2018-04-05 23:47:20 -04:00
MohammedSR Vevo
7b6dbfb456 Translated using Weblate (Kurdish)
Currently translated at 18.0% (64 of 354 strings)
2018-04-06 00:37:32 +02:00
Aris Poloway
b3c49ac86b Revert unnecessary url clean 2018-04-05 16:45:00 -04:00
Dalibor Klobučarić
d309fd9c97 Translated using Weblate (Croatian)
Currently translated at 77.4% (274 of 354 strings)
2018-04-05 11:35:13 +02:00
Aris Poloway
f3a280dcb6 Don't preemptively clean url and save StreamInfo with PlayQueueItem 2018-04-04 20:43:14 -04:00
MORTI
43894687a2 Translated using Weblate (French)
Currently translated at 96.3% (341 of 354 strings)
2018-04-05 01:40:08 +02:00
MohammedSR Vevo
8dd8928dab Translated using Weblate (Kurdish)
Currently translated at 4.2% (15 of 354 strings)
2018-04-04 23:26:31 +02:00
MohammedSR Vevo
282a4d15c2 Translated using Weblate (Kurdish)
Currently translated at 3.3% (12 of 354 strings)
2018-04-04 23:25:25 +02:00
MohammedSR Vevo
83a2ffc67e Added translation using Weblate (Kurdish) 2018-04-04 23:13:05 +02:00
Eduardo Caron
e9a6e3fae0 Translated using Weblate (Portuguese (Brazil))
Currently translated at 98.0% (347 of 354 strings)
2018-04-04 17:55:55 +02:00
Eduardo Caron
97944b9793 Translated using Weblate (Portuguese (Brazil))
Currently translated at 96.6% (342 of 354 strings)
2018-04-04 17:43:44 +02:00
Çağdaş Tatar
0b5d995b6d Translated using Weblate (Turkish)
Currently translated at 100.0% (354 of 354 strings)
2018-04-04 16:48:18 +02:00
Çağdaş Tatar
1781a9fe9a Translated using Weblate (Turkish)
Currently translated at 99.4% (352 of 354 strings)
2018-04-04 15:53:38 +02:00
Çağdaş Tatar
a0479bf7ca Translated using Weblate (Turkish)
Currently translated at 99.4% (352 of 354 strings)
2018-04-04 15:48:54 +02:00
r2308145
2affa31edf Translated using Weblate (Czech)
Currently translated at 100.0% (354 of 354 strings)
2018-04-04 13:35:50 +02:00
Poussinou
0bd040a851 Update gradle to 4.6 (and add corresponding distributionSha256Sum) 2018-04-04 13:33:21 +02:00
Tobias Groza
616c6a1607 Translated using Weblate (German)
Currently translated at 99.4% (352 of 354 strings)
2018-04-04 12:38:10 +02:00
anonymous
a5176fbf80 Translated using Weblate (German)
Currently translated at 99.4% (352 of 354 strings)
2018-04-04 12:38:01 +02:00
Nick Undnick
f2b76b7582 Translated using Weblate (German)
Currently translated at 99.4% (352 of 354 strings)
2018-04-04 12:37:56 +02:00
ssantos
f4847f31ae Translated using Weblate (German)
Currently translated at 99.4% (352 of 354 strings)
2018-04-04 12:37:51 +02:00
Dalibor Klobučarić
05adcf2c12 Translated using Weblate (Croatian)
Currently translated at 76.2% (270 of 354 strings)
2018-04-04 10:39:56 +02:00
Dalibor Klobučarić
ea301be3c1 Translated using Weblate (Croatian)
Currently translated at 76.2% (270 of 354 strings)
2018-04-04 10:39:45 +02:00
Dalibor Klobučarić
88e9785b01 Translated using Weblate (Croatian)
Currently translated at 72.8% (258 of 354 strings)
2018-04-04 10:36:04 +02:00
Dual Natan
78efabfc1c Translated using Weblate (Macedonian)
Currently translated at 100.0% (354 of 354 strings)
2018-04-04 05:38:53 +02:00
Poussinou
9d3e22200c Update gradle-wrapper.properties 2018-04-03 21:59:42 +02:00
ssantos
183f9701fd Translated using Weblate (German)
Currently translated at 99.4% (352 of 354 strings)
2018-04-03 12:16:27 +02:00
ssantos
ebbba134fe Translated using Weblate (German)
Currently translated at 98.8% (350 of 354 strings)
2018-04-03 12:07:17 +02:00
ssantos
c257be8176 Translated using Weblate (German)
Currently translated at 98.3% (348 of 354 strings)
2018-04-03 12:00:19 +02:00
Dual Natan
afb0aea660 Translated using Weblate (Macedonian)
Currently translated at 100.0% (354 of 354 strings)
2018-04-03 05:17:57 +02:00
Dual Natan
960bf46f44 Translated using Weblate (Macedonian)
Currently translated at 77.9% (276 of 354 strings)
2018-04-03 04:42:16 +02:00
Dual Natan
16db799e88 Translated using Weblate (Macedonian)
Currently translated at 57.0% (202 of 354 strings)
2018-04-03 04:12:55 +02:00
Dual Natan
f8f2cdcfcc Translated using Weblate (Macedonian)
Currently translated at 42.0% (149 of 354 strings)
2018-04-03 03:40:03 +02:00
Dual Natan
a1f7862f96 Translated using Weblate (Macedonian)
Currently translated at 7.9% (28 of 354 strings)
2018-04-03 02:29:01 +02:00
Dual Natan
3ff9284f2a Added translation using Weblate (Macedonian) 2018-04-03 02:07:39 +02:00
Weblate
edf8f27c0f Merge remote-tracking branch 'origin/dev' into dev 2018-04-02 23:39:25 +02:00
horyzont
a720953ff3 Translated using Weblate (Polish)
Currently translated at 100.0% (354 of 354 strings)
2018-04-02 23:39:23 +02:00
Christian Schabesberger
f79dd26a82 remove outdated ccc slides 2018-04-02 20:54:26 +02:00
Christian Schabesberger
36b5fce4dd remove translation stuff 2018-04-02 20:53:56 +02:00
Christian Schabesberger
89537322fd fix email button not working 2018-04-02 20:53:32 +02:00
r2308145
2229ce1fe9 Translated using Weblate (Czech)
Currently translated at 100.0% (354 of 354 strings)
2018-04-02 16:36:12 +02:00
r2308145
f257b2177a Translated using Weblate (Czech)
Currently translated at 98.5% (349 of 354 strings)
2018-04-02 16:33:35 +02:00
r2308145
056c1fd43e Translated using Weblate (Czech)
Currently translated at 97.7% (346 of 354 strings)
2018-04-02 14:59:50 +02:00
r2308145
acacd3134f Translated using Weblate (Czech)
Currently translated at 96.8% (343 of 354 strings)
2018-04-02 14:58:11 +02:00
r2308145
1fe0ba1a6e Translated using Weblate (Czech)
Currently translated at 96.3% (341 of 354 strings)
2018-04-02 14:43:01 +02:00
r2308145
e639f4b5de Translated using Weblate (Czech)
Currently translated at 95.4% (338 of 354 strings)
2018-04-02 14:35:57 +02:00
r2308145
5a234bd989 Translated using Weblate (Czech)
Currently translated at 94.6% (335 of 354 strings)
2018-04-02 14:34:55 +02:00
r2308145
661227266e Translated using Weblate (Czech)
Currently translated at 88.9% (315 of 354 strings)
2018-04-02 14:22:33 +02:00
horyzont
e01556fd9a Translated using Weblate (Polish)
Currently translated at 100.0% (354 of 354 strings)
2018-04-01 23:03:18 +02:00
horyzont
5cb53ffc18 Translated using Weblate (Polish)
Currently translated at 100.0% (354 of 354 strings)
2018-04-01 23:01:44 +02:00
horyzont
e7178626ab Translated using Weblate (Polish)
Currently translated at 100.0% (354 of 354 strings)
2018-04-01 22:56:07 +02:00
horyzont
7f0948b0ed Translated using Weblate (Polish)
Currently translated at 99.7% (353 of 354 strings)
2018-04-01 22:50:49 +02:00
Weblate
4baee67781 Merge remote-tracking branch 'origin/dev' into dev 2018-04-01 22:41:06 +02:00
Heimen Stoffels
7061f38abe Translated using Weblate (Dutch)
Currently translated at 100.0% (354 of 354 strings)
2018-04-01 22:41:06 +02:00
horyzont
2aa259c0b2 Translated using Weblate (Polish)
Currently translated at 98.3% (348 of 354 strings)
2018-04-01 22:41:02 +02:00
Christian Schabesberger
a0f74e715a fix bugreport for kiosk 2018-04-01 21:54:00 +02:00
Christian Schabesberger
c13e761c3f remove global ip range label 2018-04-01 19:58:07 +02:00
shan11812
2837e44bab Adds 'Add to Playlist' option to Related and Channel lists 2018-04-01 20:47:24 +05:30
Heimen Stoffels
d41e3bb41e Translated using Weblate (Dutch)
Currently translated at 100.0% (354 of 354 strings)
2018-04-01 16:43:09 +02:00
Weblate
4160bbb8c4 Merge remote-tracking branch 'origin/dev' into dev 2018-04-01 15:38:23 +02:00
Veli Tasalı
404a20f280 Translated using Weblate (Turkish)
Currently translated at 99.4% (352 of 354 strings)
2018-04-01 15:38:23 +02:00
se7entime
2241146b9f Translated using Weblate (Indonesian)
Currently translated at 89.2% (316 of 354 strings)
2018-04-01 15:38:20 +02:00
Christian Schabesberger
bcb26c5721 move on to version 0.13.1 2018-04-01 15:29:57 +02:00
Christian Schabesberger
a681d8c1ba Merge pull request #1227 from TeamNewPipe/removebeta
remove beta
2018-04-01 15:28:49 +02:00
cozyplanes
0515b74f75 Translated using Weblate (Korean)
Currently translated at 100.0% (354 of 354 strings)
2018-04-01 13:40:13 +02:00
Veli Tasalı
7eeb96d88e Translated using Weblate (Turkish)
Currently translated at 99.1% (351 of 354 strings)
2018-03-31 18:01:21 +02:00
se7entime
5b6c73ef06 Translated using Weblate (Indonesian)
Currently translated at 89.5% (317 of 354 strings)
2018-03-31 15:30:26 +02:00
se7entime
c70b866d16 Translated using Weblate (Indonesian)
Currently translated at 87.2% (309 of 354 strings)
2018-03-31 15:28:10 +02:00
se7entime
b84f2874dc Translated using Weblate (Indonesian)
Currently translated at 87.2% (309 of 354 strings)
2018-03-31 15:28:03 +02:00
se7entime
c372b5529b Translated using Weblate (Indonesian)
Currently translated at 80.5% (285 of 354 strings)
2018-03-31 15:25:16 +02:00
se7entime
a43156c38d Translated using Weblate (Indonesian)
Currently translated at 74.5% (264 of 354 strings)
2018-03-31 15:22:37 +02:00
se7entime
a15112febc Translated using Weblate (Indonesian)
Currently translated at 68.9% (244 of 354 strings)
2018-03-31 15:19:45 +02:00
se7entime
1c6a677a39 Translated using Weblate (Indonesian)
Currently translated at 67.7% (240 of 354 strings)
2018-03-31 15:18:34 +02:00
se7entime
9bf749a2c8 Translated using Weblate (Indonesian)
Currently translated at 65.5% (232 of 354 strings)
2018-03-31 15:15:16 +02:00
se7entime
f6c9d9df20 Translated using Weblate (Indonesian)
Currently translated at 57.3% (203 of 354 strings)
2018-03-31 15:04:54 +02:00
se7entime
5386e0ded9 Translated using Weblate (Indonesian)
Currently translated at 56.7% (201 of 354 strings)
2018-03-31 15:04:27 +02:00
se7entime
8fab405a3a Translated using Weblate (Indonesian)
Currently translated at 55.0% (195 of 354 strings)
2018-03-31 15:03:32 +02:00
se7entime
ee409f3ca9 Translated using Weblate (Indonesian)
Currently translated at 49.7% (176 of 354 strings)
2018-03-31 15:00:23 +02:00
Weblate
bda9beacaa Merge remote-tracking branch 'origin/dev' into dev 2018-03-31 14:59:25 +02:00
Veli Tasalı
5d8c7e5733 Translated using Weblate (Turkish)
Currently translated at 96.8% (343 of 354 strings)
2018-03-31 14:59:24 +02:00
Stnby
a68c763125 Translated using Weblate (Lithuanian)
Currently translated at 87.8% (311 of 354 strings)
2018-03-31 14:59:23 +02:00
se7entime
31ac89d9d6 Translated using Weblate (Indonesian)
Currently translated at 49.4% (175 of 354 strings)
2018-03-31 14:59:22 +02:00
se7entime
8b258cbbe4 Translated using Weblate (Indonesian)
Currently translated at 47.7% (169 of 354 strings)
2018-03-31 14:55:56 +02:00
se7entime
53676fc0fd Translated using Weblate (Indonesian)
Currently translated at 47.1% (167 of 354 strings)
2018-03-31 14:53:54 +02:00
Christian Schabesberger
42c561af9e update build tools to 27.0.3 2018-03-30 18:45:27 +02:00
Christian Schabesberger
fae777c14c make service items in drawer be dynamicly generated 2018-03-30 18:41:11 +02:00
Christian Schabesberger
1af6dc614a remove global ip range label 2018-03-30 14:46:26 +02:00
Christian Schabesberger
2986004638 remove entry points in three dot menu in main screen 2018-03-30 11:52:05 +02:00
Christian Schabesberger
d6f7b4706b remove beta build 2018-03-30 11:09:07 +02:00
Christian Schabesberger
b40dd3e5c0 update gradle 2018-03-30 10:58:32 +02:00
Schabi
2f4097ca9d Merge branch 'dev' of github.com:teamnewpipe/NewPipe into dev 2018-03-28 09:58:18 +02:00
Schabi
c8a91fbb25 add note to check if bugs exist in latest version 2018-03-28 09:58:09 +02:00
Víctor Manuel Tapia Ramírez
0ec259a5fc Translated using Weblate (Spanish)
Currently translated at 100.0% (354 of 354 strings)
2018-03-28 09:50:20 +02:00
Weblate
2fda99bdb7 Merge remote-tracking branch 'origin/dev' into dev 2018-03-28 05:36:47 +02:00
nautilusx
1bb4ac4e9c Translated using Weblate (German)
Currently translated at 95.7% (339 of 354 strings)
2018-03-28 05:36:45 +02:00
MORTI
f376b98c09 Translated using Weblate (French)
Currently translated at 96.3% (341 of 354 strings)
2018-03-28 05:36:41 +02:00
Christian Schabesberger
7382fdb2d2 Merge pull request #1217 from Grammost/patch-1
Fix broken Librepay link in README.md
2018-03-27 11:53:08 +02:00
Edwar Tikhonov
aead9592cf Translated using Weblate (Russian)
Currently translated at 94.9% (336 of 354 strings)
2018-03-27 11:39:53 +02:00
MORTI
bedacf29d9 Translated using Weblate (French)
Currently translated at 96.0% (340 of 354 strings)
2018-03-27 04:49:28 +02:00
anonymous
570e9a8307 Translated using Weblate (French)
Currently translated at 89.2% (316 of 354 strings)
2018-03-27 01:15:17 +02:00
justanidea
fcb94ec603 Translated using Weblate (French)
Currently translated at 88.9% (315 of 354 strings)
2018-03-27 01:13:44 +02:00
anonymous
69886ed58b Translated using Weblate (French)
Currently translated at 88.7% (314 of 354 strings)
2018-03-27 01:13:05 +02:00
MORTI
798235cd21 Translated using Weblate (French)
Currently translated at 88.4% (313 of 354 strings)
2018-03-27 01:12:25 +02:00
Grammost
b38b6b6f35 Update README.md 2018-03-26 15:10:03 +00:00
Grammost
2dba13c52e Fix broken Librepay link in README.md 2018-03-26 14:49:59 +00:00
ezjerry liao
ff366cb2c5 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (354 of 354 strings)
2018-03-26 11:33:45 +02:00
Weblate
a87861a993 Merge remote-tracking branch 'origin/dev' into dev 2018-03-25 23:34:16 +02:00
AB
65476356c9 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (354 of 354 strings)
2018-03-25 23:34:12 +02:00
Christian Schabesberger
8af6667f3e Merge pull request #1212 from karyogamy/sub-quick-fix
Subscription Front Page Crash Fix
2018-03-25 20:31:36 +02:00
John Zhen Mo
b546df7b95 -Fixed activity not available exception when setting title on subscription fragments when used as front pager. 2018-03-25 10:29:37 -07:00
Emanuele Petriglia
20c1f12da8 Translated using Weblate (Italian)
Currently translated at 100.0% (354 of 354 strings)
2018-03-25 13:21:40 +02:00
Weblate
e65ff201af Merge remote-tracking branch 'origin/dev' into dev 2018-03-25 11:36:18 +02:00
Tobias Groza
4f367a3dcd Translated using Weblate (German)
Currently translated at 89.8% (318 of 354 strings)
2018-03-25 11:36:16 +02:00
Heimen Stoffels
d7093bce4d Translated using Weblate (Dutch)
Currently translated at 100.0% (354 of 354 strings)
2018-03-25 11:36:13 +02:00
Christian Schabesberger
79e3e59cae move on to version 0.13.0 2018-03-25 11:18:51 +02:00
anonymous
f1b292df93 Translated using Weblate (German)
Currently translated at 89.8% (318 of 354 strings)
2018-03-25 00:41:30 +01:00
Tobias Groza
0cd383b8dd Translated using Weblate (German)
Currently translated at 88.9% (315 of 354 strings)
2018-03-25 00:40:01 +01:00
Weblate
22c404a667 Merge remote-tracking branch 'origin/dev' into dev 2018-03-24 18:40:13 +01:00
Oleh Ilnytskyi
ba11a59d89 Translated using Weblate (Polish)
Currently translated at 93.0% (319 of 343 strings)
2018-03-24 18:40:13 +01:00
Freddy Morán Jr
06020851a9 Translated using Weblate (Spanish)
Currently translated at 100.0% (343 of 343 strings)
2018-03-24 18:40:07 +01:00
Christian Schabesberger
fd5cbde18c fix readme conflict 2018-03-24 10:56:31 +01:00
Christian Schabesberger
384398a1e2 Merge branch 'qol-updates' of https://github.com/karyogamy/NewPipe into ui 2018-03-24 10:50:17 +01:00
Christian Schabesberger
2bdba4ba8b fix somehow broken librepay donate link 2018-03-24 10:35:43 +01:00
Christian Schabesberger
db4179a530 fix weird librepay link broken 2018-03-24 10:25:42 +01:00
Christian Schabesberger
b905b74dc2 Merge pull request #1201 from TobiGr/readme
Update README.md
2018-03-24 10:21:58 +01:00
Mohammad Hassan
ff05c36856 Translated using Weblate (Arabic)
Currently translated at 87.4% (300 of 343 strings)
2018-03-24 02:34:15 +01:00
TobiGr
40ea5eb53d Update README.md
Add compressed screenshots
Add liberapay to donation section
2018-03-23 16:15:50 +01:00
John Zhen Mo
02f48ccc7f -Removed duplicate dialog open instances in service player activity. 2018-03-22 18:44:03 -07:00
John Zhen Mo
72eaff148c -Fixed main player paused video not abandoning audio focus after navigating away from activity during interruption, when resume on focus regain is enabled.
-Separated onPause and onPlay functions from onPlayPause.
-Renamed onVideoPlayPause to onPlayPause.
2018-03-22 18:12:11 -07:00
John Zhen Mo
8b60397f06 -Changed detail fragment thumbnail failure to produce a snackbar error rather than a full error activity. 2018-03-22 18:11:59 -07:00
John Zhen Mo
18d019c62a -Added quadratic slider strategy implementation and tests.
-Modified playback speed control to use quadratic sliders instead of linear.
-Modified number formatters in player helper to use double instead of float.
-Simplified slider behavior in playback parameter dialog.
-Fixed potential NPE in base local fragment.
2018-03-21 20:08:33 -07:00
Weblate
27527b18e1 Merge remote-tracking branch 'origin/dev' into dev 2018-03-21 23:37:21 +01:00
Tobias Groza
ae9aa2662a Translated using Weblate (German)
Currently translated at 93.2% (320 of 343 strings)
2018-03-21 23:37:17 +01:00
Christian Schabesberger
3bfb593b21 Merge pull request #1197 from TeamNewPipe/remove-ip-range
Remove IP range
2018-03-21 20:59:41 +01:00
wb9688
8556e99241 Remove IP range
This would close #1148. I haven't tested it myself yet. @TheAssassin: Could you update the Sentry part?
2018-03-21 10:55:22 +01:00
John Zhen Mo
e885822a34 -Added playback speed control dialog to allow full user control over player tempo and pitch parameters.
-Changed tempo and pitch button in service player activity and tempo button in main video player to open speed control dialog.
-Changed LIVE button to be no longer clickable when player position is at or beyond default position.
-Changed main video player to use AppCompatActivity rather than Activity.
-Fixed video player tempo button not updating when player speed parameters change.
-Fixed player crashing on lower sdk versions due to no MediaButtonReceiver, added intent back to manifest.
-Fixed inconsistent gradle library naming.
-Fixed stetho dependencies incorrect version.
2018-03-21 00:11:54 -07:00
Weblate
8ebb564a79 Merge remote-tracking branch 'origin/dev' into dev 2018-03-20 16:36:52 +01:00
Tobias Groza
7dc176edcb Translated using Weblate (German)
Currently translated at 93.2% (320 of 343 strings)
2018-03-20 16:36:47 +01:00
John Zhen Mo
5167fe078b -Refactored synchronization checks out from MediaSourceManager to ManagedMediaSource.
-Fixed null input causing potential NPE on PlayQueueItem.
2018-03-19 16:44:18 -07:00
John Zhen Mo
bc7188c8a8 -Added media session implementation for all players.
-Extracted version numbers in gradle dependencies.
-Updated ExoPlayer to 2.7.1.
-Updated RxJava to 2.1.10, RxAndroid to 2.0.2 and RxBinding to 2.1.1.
-Removed deprecated implementation of media buttons.
2018-03-19 16:44:18 -07:00
John Zhen Mo
5a05cb96be -Changed start position seek to occur after media source window has been prepared.
-Fixed livestream not seeking to live when started from play queue.
-Fixed media source manager synchronization to only occur after timeline change has completed.
-Fixed auto queue not working when last item is replayed after the auto-queued item is removed.
-Updated ExoPlayer to 2.7.1.
2018-03-19 16:44:17 -07:00
John Zhen Mo
0258726f0a -Changed thumbnail toggle in disabled mode to load dark dummy image.
-Changed play queue items to display service names.
-Fixed Soundcloud playlist not fitting thumbnail.
-Refactored image display options to follow uniform behavior.
-Refactoring and style changes on audio reactor and media button receiver.
2018-03-19 16:44:17 -07:00
John Zhen Mo
2fa9aa04f4 -Bump support library and multidex version. 2018-03-19 16:40:40 -07:00
John Zhen Mo
a5f9927459 -Fixed main player animations not working on first call. 2018-03-19 16:40:40 -07:00
John Zhen Mo
61b422502b -[#1060] Added toggle to disable thumbnail loading.
-Added button to wipe metadata cache.
-Added more paddings on player buttons.
-Added new animations to main player secondary controls and play queue expand/collapse.
-Refactored play queue item touch callback for use in all players.
-Improved MediaSourceManager to better handle expired stream reloading.
-[#1186] Changed live sync button text to "LIVE".
-Removed MediaSourceManager loader coupling on main players.
-Moved service dependent expiry resolution to ServiceHelper.
-[#1186] Fixed livestream timeline updates causing negative time position.
-[#1186] Fixed livestream not starting from live-edge.
-Fixed main player system UI not retracting on playback start.
2018-03-19 16:40:40 -07:00
Christian Schabesberger
1e57b5ea49 Merge pull request #1193 from TeamNewPipe/fix_page
made frontend combatible to latest extractor refactorings
2018-03-19 23:22:28 +01:00
Allan Nordhøy
12ce915e8e Translated using Weblate (Norwegian Bokmål)
Currently translated at 93.2% (320 of 343 strings)
2018-03-19 22:44:34 +01:00
ezjerry liao
a32273af91 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (343 of 343 strings)
2018-03-19 12:40:50 +01:00
Christian Schabesberger
96a327af17 made frontend combatible to latest extractor refactorings 2018-03-18 16:37:49 +01:00
AB
1910e81ad9 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (343 of 343 strings)
2018-03-18 14:40:32 +01:00
ezjerry liao
80593e774c Translated using Weblate (Chinese (Traditional))
Currently translated at 99.7% (342 of 343 strings)
2018-03-18 13:35:17 +01:00
AB
c092fc8e18 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (343 of 343 strings)
2018-03-17 13:40:27 +01:00
E T
579efa15c7 Translated using Weblate (Turkish)
Currently translated at 100.0% (343 of 343 strings)
2018-03-17 12:40:00 +01:00
E T
37ff4e9aeb Translated using Weblate (Turkish)
Currently translated at 100.0% (343 of 343 strings)
2018-03-16 12:21:00 +01:00
Weblate
4e4a7de5d4 Merge remote-tracking branch 'origin/dev' into dev 2018-03-15 15:35:15 +01:00
Olexandr Nesterenko
2d1bc6436a Translated using Weblate (Ukrainian)
Currently translated at 98.8% (339 of 343 strings)
2018-03-15 15:35:15 +01:00
Edwar Tikhonov
65726d75cc Translated using Weblate (Russian)
Currently translated at 100.0% (343 of 343 strings)
2018-03-15 15:35:13 +01:00
Yaron Shahrabani
d63c0a32eb Translated using Weblate (Hebrew)
Currently translated at 75.8% (260 of 343 strings)
2018-03-15 15:35:12 +01:00
ezjerry liao
e49c4162e5 Translated using Weblate (Chinese (Traditional))
Currently translated at 98.5% (338 of 343 strings)
2018-03-15 15:35:07 +01:00
Christian Schabesberger
ffc5ad5ce7 Merge branch 'media_buttons' of https://github.com/alexandrepa/NewPipe into media 2018-03-14 18:27:17 +01:00
Edwar Tikhonov
2dbfc28d69 Translated using Weblate (Russian)
Currently translated at 100.0% (343 of 343 strings)
2018-03-14 16:34:36 +01:00
ezjerry liao
1ac7b2b8cb Translated using Weblate (Chinese (Traditional))
Currently translated at 98.2% (337 of 343 strings)
2018-03-14 13:35:30 +01:00
cozyplanes
7d047e612e Translated using Weblate (Korean)
Currently translated at 100.0% (343 of 343 strings)
2018-03-14 12:38:22 +01:00
alexandre patelli
24f2999669 Handling play/pause button from different headsets 2018-03-13 22:57:59 +01:00
Eduardo Caron
b08728b645 Translated using Weblate (Portuguese (Brazil))
Currently translated at 98.8% (339 of 343 strings)
2018-03-13 18:38:49 +01:00
cozyplanes
00dee43a1e Translated using Weblate (Korean)
Currently translated at 100.0% (343 of 343 strings)
2018-03-13 12:23:55 +01:00
Freddy Morán Jr
21e300b9f3 Translated using Weblate (Spanish)
Currently translated at 100.0% (343 of 343 strings)
2018-03-12 21:18:01 +01:00
Emanuele Petriglia
158f0aa2d9 Translated using Weblate (Italian)
Currently translated at 100.0% (343 of 343 strings)
2018-03-12 17:53:29 +01:00
Weblate
10fb763d66 Merge remote-tracking branch 'origin/dev' into dev 2018-03-12 17:00:19 +01:00
cozyplanes
4aa2c1c2c2 Translated using Weblate (Korean)
Currently translated at 95.0% (326 of 343 strings)
2018-03-12 17:00:18 +01:00
Heimen Stoffels
bdf044d264 Translated using Weblate (Dutch)
Currently translated at 100.0% (343 of 343 strings)
2018-03-12 17:00:08 +01:00
Christian Schabesberger
6049a1f2f5 fix playlist banner foo 2018-03-12 16:18:03 +01:00
Christian Schabesberger
a9fea9f606 fix release crash because of setting sidebar header 2018-03-12 16:00:38 +01:00
Weblate
11002e9d45 Merge remote-tracking branch 'origin/dev' into dev 2018-03-12 15:50:38 +01:00
cozyplanes
e7a0b850df Translated using Weblate (Korean)
Currently translated at 100.0% (324 of 324 strings)
2018-03-12 15:50:33 +01:00
Christian Schabesberger
736c902f3c fix weblate conflict 2018-03-11 21:38:19 +01:00
ButterflyOfFire
a67ff564d0 Translated using Weblate (Arabic)
Currently translated at 91.6% (297 of 324 strings)
2018-03-11 20:36:51 +01:00
Andreas Kleinert
2a778383b1 Translated using Weblate (German)
Currently translated at 93.2% (302 of 324 strings)
2018-03-11 20:36:47 +01:00
alexandre patelli
36457400e7 Review Fixes 2018-03-11 19:23:00 +01:00
alexandre patelli
1d629e7b2e Direct use of AudioManager from AudioReactor 2018-03-11 15:09:11 +01:00
alexandre patelli
5f764ab8f5 Media Button Play/Pause, Previous and Next in Background Player 2018-03-10 18:25:20 +01:00
Pablo Hinojosa
a8c9edbc3f Translated using Weblate (Spanish)
Currently translated at 100.0% (324 of 324 strings)
2018-03-10 17:38:49 +01:00
Emanuele Petriglia
0a5bffe826 Translated using Weblate (Italian)
Currently translated at 100.0% (324 of 324 strings)
2018-03-10 17:38:39 +01:00
Mauricio Colli
9c9b6bc0d6 Change thumbnail's scale strategy
- Closes #1054
2018-03-10 13:36:50 -03:00
Mauricio Colli
562f7e7e41 Add duration view to video detail fragment
- Add "textAllCaps" to the mini stream layout
- Closes #609
2018-03-10 13:20:10 -03:00
Mauricio Colli
594c55afa6 Merge pull request #1145 from mauriciocolli/dev
Implement subscriptions import/export
2018-03-10 12:11:13 -03:00
Pablo Hinojosa
0abf97e999 Translated using Weblate (Spanish)
Currently translated at 100.0% (324 of 324 strings)
2018-03-10 16:07:50 +01:00
Freddy Morán Jr
b811aec773 Translated using Weblate (Spanish)
Currently translated at 98.7% (320 of 324 strings)
2018-03-10 15:47:34 +01:00
AB
ca47f566dc Translated using Weblate (Ukrainian)
Currently translated at 100.0% (324 of 324 strings)
2018-03-10 14:41:06 +01:00
Yaron Shahrabani
65674f7fd4 Translated using Weblate (Hebrew)
Currently translated at 79.6% (258 of 324 strings)
2018-03-10 09:36:40 +01:00
Eduardo Caron
dcc510ff6c Translated using Weblate (Portuguese (Brazil))
Currently translated at 98.7% (320 of 324 strings)
2018-03-10 00:39:26 +01:00
Emanuele Petriglia
a4fe43a964 Translated using Weblate (Italian)
Currently translated at 100.0% (324 of 324 strings)
2018-03-09 16:44:18 +01:00
Kotoba Murasaki
3dab4c07cf Translated using Weblate (Ukrainian)
Currently translated at 100.0% (324 of 324 strings)
2018-03-09 13:52:18 +01:00
E T
ee3248ea5d Translated using Weblate (Turkish)
Currently translated at 100.0% (324 of 324 strings)
2018-03-09 12:28:47 +01:00
anonymous
7be5ec0521 Translated using Weblate (Hebrew)
Currently translated at 79.3% (257 of 324 strings)
2018-03-09 09:25:05 +01:00
Yaron Shahrabani
04e90cc279 Translated using Weblate (Hebrew)
Currently translated at 78.7% (255 of 324 strings)
2018-03-09 09:24:48 +01:00
anonymous
ec8d488249 Translated using Weblate (Hebrew)
Currently translated at 78.0% (253 of 324 strings)
2018-03-09 09:24:03 +01:00
Yaron Shahrabani
41fdafac45 Translated using Weblate (Hebrew)
Currently translated at 76.8% (249 of 324 strings)
2018-03-09 09:23:19 +01:00
anonymous
d2e2622279 Translated using Weblate (Hebrew)
Currently translated at 75.9% (246 of 324 strings)
2018-03-09 09:22:41 +01:00
Yaron Shahrabani
9476bd6527 Translated using Weblate (Hebrew)
Currently translated at 75.6% (245 of 324 strings)
2018-03-09 09:22:32 +01:00
anonymous
24a06ea6f6 Translated using Weblate (Hebrew)
Currently translated at 75.6% (245 of 324 strings)
2018-03-09 09:22:09 +01:00
Yaron Shahrabani
2567f8eefb Translated using Weblate (Hebrew)
Currently translated at 75.3% (244 of 324 strings)
2018-03-09 09:21:54 +01:00
ezjerry liao
fa5f5ce251 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (324 of 324 strings)
2018-03-09 02:58:02 +01:00
Heimen Stoffels
728a61756a Translated using Weblate (Dutch)
Currently translated at 100.0% (324 of 324 strings)
2018-03-08 21:25:11 +01:00
Kotoba Murasaki
736ccbe376 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (324 of 324 strings)
2018-03-08 20:38:45 +01:00
Weblate
fa2b226b9e Merge remote-tracking branch 'origin/dev' into dev 2018-03-08 20:24:24 +01:00
Kotoba Murasaki
e8c5ae194d Translated using Weblate (Ukrainian)
Currently translated at 100.0% (318 of 318 strings)
2018-03-08 20:24:19 +01:00
Mauricio Colli
cc2feab37e Implement UI for subscriptions import/export
- Nice and easy to use import/export options in the subscriptions fragment
- Includes instructions for each service (in the import fragment/screen)
2018-03-08 11:50:46 -03:00
Mauricio Colli
83b084a90b Implement subscriptions import/export
- Import subscriptions from YouTube and SoundCloud (all services that the extractor support)
- Import/export a JSON representation of the subscriptions
- [Minor] Remove some javax annotations in favor of the one provided by the android support library
2018-03-08 10:39:24 -03:00
Christian Schabesberger
e2ac0722c8 Merge pull request #1155 from TeamNewPipe/update-readme
Update README.md
2018-03-06 19:46:55 +01:00
Schabi
c3efb40b8e move to latest version of extractor 2018-03-06 19:44:17 +01:00
Schabi
03d7a416f3 add live lable to toolbar 2018-03-06 19:24:58 +01:00
Schabi
e6e812fdb0 Merge branch 'exoplayer-update' of https://github.com/karyogamy/NewPipe into live 2018-03-06 17:23:37 +01:00
John Zhen Mo
b34160eeec -Fixed main video player losing state when killed in background.
-Disabled auto queuing when repeating is enabled.
-Added method to use startForegroundService instead of startService in sdk 26 and up.
2018-03-05 19:03:49 -08:00
John Zhen Mo
d01aeab242 -Added auto-queuing to allow next or related streams to queue up when the last item on play queue is playing.
-Added toggle to enable auto-queuing.
-Modified main video player to only pause the video onPause.
-Fixed main video player not saving play queue state onStop.
2018-03-04 20:16:38 -08:00
anonymous
9904e01252 Translated using Weblate (Serbian)
Currently translated at 78.6% (250 of 318 strings)
2018-03-04 14:41:36 +01:00
John Zhen Mo
7f068b691b -Removed system ui on main player for Kitkat or above.
-[#1151] Hide video player UI on playing to avoid unnecessary interruptions after pause, seek and resize.
2018-03-03 20:58:53 -08:00
John Zhen Mo
59558efed1 -Added seamless shuffling.
-Reenabled full window loading in MediaSourceManager.
2018-03-03 20:58:06 -08:00
John Zhen Mo
a88e19a8ed -Added toggle to enable fast inexact seek in players.
-Improved player sync calls to recognize different metadata updates.
-Changed MediaSourceManager to synchronize only after timeline changes and reenabled multiple sync calls to player.
-Renamed listener and synchronization methods related to MediaSourceManager.
2018-03-03 14:24:21 -08:00
John Zhen Mo
0c17f0825b -Added loader eviction to avoid spawning too many threads in MediaSourceManager.
-Added nonnull and final constraints to variables in MediaSourceManager.
-Added nonnull and final constraints on context related objects in BasePlayer.
-Fixed Hls livestreams crashing player when behind live window for too long.
-Fixed cache miss when InfoCache key mismatch between StreamInfo and StreamInfoItem.
2018-03-03 11:42:23 -08:00
Mladen Pejaković
9384d2523a Translated using Weblate (Serbian)
Currently translated at 78.3% (249 of 318 strings)
2018-03-03 14:03:02 +01:00
anonymous
0e13172a89 Translated using Weblate (Serbian)
Currently translated at 78.3% (249 of 318 strings)
2018-03-03 14:02:34 +01:00
Mladen Pejaković
92f34452b5 Translated using Weblate (Serbian)
Currently translated at 77.9% (248 of 318 strings)
2018-03-03 14:02:17 +01:00
anonymous
db54929584 Translated using Weblate (Serbian)
Currently translated at 77.9% (248 of 318 strings)
2018-03-03 14:01:59 +01:00
Mladen Pejaković
ba23cafb18 Translated using Weblate (Serbian)
Currently translated at 77.6% (247 of 318 strings)
2018-03-03 14:01:43 +01:00
anonymous
a2e189767b Translated using Weblate (Serbian)
Currently translated at 77.3% (246 of 318 strings)
2018-03-03 14:01:30 +01:00
anonymous
0d236fd678 Translated using Weblate (Serbian)
Currently translated at 76.4% (243 of 318 strings)
2018-03-03 14:00:48 +01:00
Mladen Pejaković
9979b160c7 Translated using Weblate (Serbian)
Currently translated at 76.1% (242 of 318 strings)
2018-03-03 14:00:39 +01:00
anonymous
65b332c395 Translated using Weblate (Serbian)
Currently translated at 76.1% (242 of 318 strings)
2018-03-03 13:59:43 +01:00
Mladen Pejaković
b867ac8cc7 Translated using Weblate (Serbian)
Currently translated at 75.7% (241 of 318 strings)
2018-03-03 13:59:38 +01:00
Enol P
9a0ff24ffe Translated using Weblate (Asturian)
Currently translated at 97.4% (310 of 318 strings)
2018-03-03 03:34:28 +01:00
Eduardo Caron
9540a12b6f Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.0% (315 of 318 strings)
2018-03-03 01:41:17 +01:00
wb9688
fdfb53c05c Update README.md 2018-03-02 10:10:15 +01:00
HardLight
3ec979cc40 Translated using Weblate (Lithuanian)
Currently translated at 100.0% (318 of 318 strings)
2018-03-01 22:38:41 +01:00
John Zhen Mo
9ea08c8a4b -Re-added loading for items prior to current index in MediaSourceManager to allow faster access time.
-Added some null checks annotation.
2018-02-28 23:25:45 -08:00
Digiwizkid
629eada5c3 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 40.5% (129 of 318 strings)
2018-03-01 04:34:43 +01:00
John Zhen Mo
a1220c77da -Added serialized cache for transferring serializable objects too large for intent transactions.
-Fixed potential transaction too large exceptions for player intents.
2018-02-28 17:47:12 -08:00
John Zhen Mo
b4668367c6 -Added better assertions and documentations to new mechanism in MediaSourceManager.
-Modified LoadController to allow fast playback start and increased buffer zigzag window.
-Removed unnecessary loading on timeline changes.
-Changed select message in MediaSourceManager to cause immediate load.
-Reduced default expiration time in MediaSourceManager.
-Fixed main video player not showing end time on audio-only streams.
-Fixed live stream has player view disabled after transitioning from audio stream.
-Fixed inconsistent progress bar height between live and non-live video on main player.
2018-02-28 17:45:05 -08:00
John Zhen Mo
77da40e507 -Added perpetual extractor source loading on network failures.
-Fixed play queue playlist desynchronization caused by media source manager window loading expansion on sublist prior to current item.
-Fixed failed media source not treated as ready for playback.
2018-02-26 22:37:19 -08:00
John Zhen Mo
b3b2748bb7 -Improved player queue stability by using more aggressive synchronization policy.
-Added sync buttons on live streams to allow seeking to live edge.
-Added custom cache key for extractor sources to allow more persistent reuse.
-Refactored player data source factories into own class and separating live and non-live data sources.
2018-02-26 19:57:59 -08:00
ezjerry liao
26e8143616 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (318 of 318 strings)
2018-02-26 14:30:19 +01:00
John Zhen Mo
1444fe5468 -Fixed potential NPE when obtaining broadcast receiver.
-Extracted expiration time in media source manager.
-Re-enabled long click on live stream info items.
-Fixed dash source building to use mpd instead of extractor.
2018-02-25 20:12:30 -08:00
John Zhen Mo
ac431e3ece -Fixed failed media source not treated as ready. 2018-02-25 15:32:25 -08:00
John Zhen Mo
563a4137bd -Fixed inconsistent audio focus state when audio becomes noisy (e.g. headset unplugged).
-Fixed live media sources failing when using cached data source by introducing
cacheless data sources.
-Added custom track selector to circumvent ExoPlayer's language normalization NPE.
-Updated Extractor to correctly load live streams.
-Removed deprecated deferred media source and media source manager.
-Removed Livestream exceptions.
2018-02-25 15:10:11 -08:00
John Zhen Mo
19cbcd0c1d -Fixed media source update index check.
-Fixed media source manager excessive loading.
-Remove unneeded fields in loaded media source.
2018-02-24 21:54:47 -08:00
John Zhen Mo
8803b60b28 -Updated Exoplayer to 2.7.0.
-PoC for new seamless stream loading mechanism.
2018-02-24 21:54:47 -08:00
Weblate
e9f59ae769 Merge remote-tracking branch 'origin/dev' into dev 2018-02-24 23:37:04 +01:00
Matej U
5cf3bee336 Translated using Weblate (Slovenian)
Currently translated at 77.3% (246 of 318 strings)
2018-02-24 23:37:04 +01:00
Maciej Gamrat
060fe835c7 Translated using Weblate (Polish)
Currently translated at 100.0% (318 of 318 strings)
2018-02-24 23:37:02 +01:00
Toldi Balázs
2688ea8f59 Translated using Weblate (Hungarian)
Currently translated at 44.6% (142 of 318 strings)
2018-02-24 23:37:01 +01:00
Arun Negi
8eb61cf752 Translated using Weblate (Hindi)
Currently translated at 99.6% (317 of 318 strings)
2018-02-24 23:36:56 +01:00
Tobias Groza
6628901d46 Translated using Weblate (German)
Currently translated at 94.6% (301 of 318 strings)
2018-02-24 23:36:52 +01:00
Christian Schabesberger
5a31882be3 Merge branch 'dev' of github.com:teamnewpipe/NewPipe into dev 2018-02-24 22:57:34 +01:00
Christian Schabesberger
a42da09d6c make NewPipe compatible with latest Extractor refactorings 2018-02-24 22:57:25 +01:00
nieko-nera
658cf5c873 Translated using Weblate (Lithuanian)
Currently translated at 100.0% (318 of 318 strings)
2018-02-24 19:38:45 +01:00
Coffeemaker
b8c752b740 Translated using Weblate (Polish)
Currently translated at 100.0% (318 of 318 strings)
2018-02-24 18:51:39 +01:00
Maciej Gamrat
9151ae7081 Translated using Weblate (Polish)
Currently translated at 100.0% (318 of 318 strings)
2018-02-24 18:51:28 +01:00
anonymous
a1a894f722 Translated using Weblate (Polish)
Currently translated at 100.0% (318 of 318 strings)
2018-02-24 18:50:22 +01:00
Maciej Gamrat
3352ee3151 Translated using Weblate (Polish)
Currently translated at 100.0% (318 of 318 strings)
2018-02-24 18:49:38 +01:00
Maciej Gamrat
da3533a430 Translated using Weblate (Polish)
Currently translated at 100.0% (318 of 318 strings)
2018-02-24 18:48:41 +01:00
anonymous
0bb7f9becf Translated using Weblate (Polish)
Currently translated at 83.0% (264 of 318 strings)
2018-02-24 18:02:21 +01:00
Maciej Gamrat
40c64ee2d8 Translated using Weblate (Polish)
Currently translated at 83.0% (264 of 318 strings)
2018-02-24 18:01:21 +01:00
r2308145
66651f7111 Translated using Weblate (Czech)
Currently translated at 100.0% (318 of 318 strings)
2018-02-24 13:43:02 +01:00
Freddy Morán Jr
c7d0bd5dec Translated using Weblate (Spanish)
Currently translated at 100.0% (318 of 318 strings)
2018-02-24 03:40:58 +01:00
anonymous
9ce0a9d49d Translated using Weblate (Hungarian)
Currently translated at 30.5% (97 of 318 strings)
2018-02-23 22:54:03 +01:00
Toldi Balázs
2070b353c2 Translated using Weblate (Hungarian)
Currently translated at 30.1% (96 of 318 strings)
2018-02-23 22:52:47 +01:00
anonymous
1d91f3b91b Translated using Weblate (Hungarian)
Currently translated at 29.5% (94 of 318 strings)
2018-02-23 22:52:04 +01:00
Toldi Balázs
8b0aebfddb Translated using Weblate (Hungarian)
Currently translated at 29.2% (93 of 318 strings)
2018-02-23 22:51:13 +01:00
anonymous
467905d7b0 Translated using Weblate (Hungarian)
Currently translated at 29.2% (93 of 318 strings)
2018-02-23 22:50:48 +01:00
Toldi Balázs
cc81921bcb Translated using Weblate (Hungarian)
Currently translated at 28.9% (92 of 318 strings)
2018-02-23 22:50:36 +01:00
anonymous
8600c04ff3 Translated using Weblate (Hungarian)
Currently translated at 28.6% (91 of 318 strings)
2018-02-23 22:50:00 +01:00
Toldi Balázs
3f31445f12 Translated using Weblate (Hungarian)
Currently translated at 27.3% (87 of 318 strings)
2018-02-23 22:49:15 +01:00
anonymous
8a33371f37 Translated using Weblate (Hungarian)
Currently translated at 26.7% (85 of 318 strings)
2018-02-23 22:48:01 +01:00
Toldi Balázs
1164bd7183 Translated using Weblate (Hungarian)
Currently translated at 25.7% (82 of 318 strings)
2018-02-23 22:40:53 +01:00
anonymous
589fcd09c0 Translated using Weblate (Hungarian)
Currently translated at 25.4% (81 of 318 strings)
2018-02-23 22:40:37 +01:00
Weblate
c5d49016d4 Merge remote-tracking branch 'origin/dev' into dev 2018-02-23 18:48:55 +01:00
Freddy Morán Jr
8886b12151 Translated using Weblate (Spanish)
Currently translated at 99.0% (315 of 318 strings)
2018-02-23 18:48:54 +01:00
nieko-nera
336ffd7cf0 Translated using Weblate (Lithuanian)
Currently translated at 100.0% (318 of 318 strings)
2018-02-23 18:48:50 +01:00
Christian Schabesberger
3088778a9f Merge pull request #1136 from wb9688/okhttp-uil
Use OkHttp with UIL
2018-02-23 18:06:13 +01:00
E T
4c1de83b24 Translated using Weblate (Turkish)
Currently translated at 100.0% (318 of 318 strings)
2018-02-23 11:43:24 +01:00
Emanuele Petriglia
ee2fbfc2d1 Translated using Weblate (Italian)
Currently translated at 100.0% (318 of 318 strings)
2018-02-23 09:46:40 +01:00
Heimen Stoffels
dff7fe722b Translated using Weblate (Dutch)
Currently translated at 100.0% (318 of 318 strings)
2018-02-22 22:48:45 +01:00
Weblate
eb6dac2e9f Merge remote-tracking branch 'origin/dev' into dev 2018-02-22 22:41:15 +01:00
Oleh Ilnytskyi
255760de16 Translated using Weblate (Ukrainian)
Currently translated at 69.8% (220 of 315 strings)
2018-02-22 22:41:09 +01:00
wb9688
a2373b817a Use OkHttp with UIL 2018-02-22 13:25:56 +01:00
Christian Schabesberger
72a9940863 Merge branch 'player_fix' of https://github.com/karyogamy/NewPipe into dev 2018-02-21 23:20:08 +01:00
Christian Schabesberger
46e088b5f3 made debug setting get a debug symbol 2018-02-21 23:14:14 +01:00
Christian Schabesberger
a3468b51e2 Merge branch 'pfix' into dev 2018-02-21 23:00:56 +01:00
John Zhen Mo
34f19c4268 -Changed Rx exception handling to swallow undeliverable exceptions by default. 2018-02-21 10:42:54 -08:00
Mauricio Colli
1d2c616ce0 Improve some aspects of the Downloader implementation 2018-02-21 08:08:52 -03:00
r2308145
99e0f0c3e4 Translated using Weblate (Czech)
Currently translated at 100.0% (315 of 315 strings)
2018-02-21 12:04:15 +01:00
Christian Schabesberger
7d4c45c4c0 Merge tag 'v0.11.6-beta'
v0.11.6-beta
2018-02-21 11:38:48 +01:00
John Zhen Mo
1a92dfb019 -Changed global Rx exception handling to no longer trigger error activity if the exception is undeliverable.
-Added debug settings to force reporting of undeliverable Rx exceptions.
-Changed back MediaSourceManager to use serial disposable for syncing.
2018-02-20 22:35:34 -08:00
John Zhen Mo
cc7f27fb53 -Added debug default values on settings init. 2018-02-20 21:16:53 -08:00
John Zhen Mo
e8402008bc -Added debug preference settings for debug and beta builds.
-Removed leak canary toggle on app menu.
-Added leak canary settings to debug preference.
-Removed/renamed leak canary related strings.
2018-02-20 21:16:53 -08:00
John Zhen Mo
c1a302834c -Fixed auto-generated string not translatable. 2018-02-20 21:15:23 -08:00
John Zhen Mo
762f374f93 -Fixed media source manager sync identical item multiple times, causing OOM.
-Removed deprecated translated leak canary string from other languages.
2018-02-20 21:15:23 -08:00
John Zhen Mo
e21d2bd511 -Fixed video player source loading for audio only streams.
-Changed "monitor leak" string to "LeakCanary" as untranslatable.
2018-02-20 21:15:23 -08:00
John Zhen Mo
d936ca6b89 -Added view registration on repeats.
-Added drag reorder speed clamping to play queue list.
-Fixed service player activity memory leak.
-Fixed media source manager sync disposable fallthrough causing NPE.
-Fixed thread bouncing during play queue item async stream resolution.
-Updated ExoPlayer to 2.6.0.
2018-02-20 21:15:23 -08:00
Weblate
88ac821070 Merge remote-tracking branch 'origin/dev' into dev 2018-02-21 02:52:10 +01:00
Arun Negi
c20837d5f5 Translated using Weblate (Hindi)
Currently translated at 100.0% (315 of 315 strings)
2018-02-21 02:52:09 +01:00
aladar42
81a4c66f92 Translated using Weblate (Czech)
Currently translated at 98.7% (311 of 315 strings)
2018-02-21 02:52:07 +01:00
ezjerry liao
e4dfb02cb0 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (315 of 315 strings)
2018-02-21 02:52:03 +01:00
Christian Schabesberger
0abaab4880 Merge branch 'okhttp' of https://github.com/wb9688/NewPipe into ht 2018-02-21 00:28:03 +01:00
Christian Schabesberger
a1aaa52c2a add link to NewPipe blog 2018-02-21 00:24:43 +01:00
Emanuele Petriglia
b3a509ad14 Translated using Weblate (Italian)
Currently translated at 100.0% (315 of 315 strings)
2018-02-20 19:12:39 +01:00
Freddy Morán Jr
ad0f58090f Translated using Weblate (Spanish)
Currently translated at 100.0% (315 of 315 strings)
2018-02-20 18:48:54 +01:00
Heimen Stoffels
43c4e619c2 Translated using Weblate (Dutch)
Currently translated at 100.0% (315 of 315 strings)
2018-02-20 17:52:58 +01:00
wb9688
427397ba7b Translated using Weblate (Dutch)
Currently translated at 99.6% (314 of 315 strings)
2018-02-20 17:52:53 +01:00
Arun Negi
b51abf1ea6 Translated using Weblate (Hindi)
Currently translated at 100.0% (315 of 315 strings)
2018-02-20 16:39:48 +01:00
wb9688
76e082159d Use OkHttp 2018-02-20 16:24:43 +01:00
Weblate
d36c371c1d Merge remote-tracking branch 'origin/dev' into dev 2018-02-20 14:36:49 +01:00
Marian Hanzel
a5b2100f8a Translated using Weblate (Slovak)
Currently translated at 100.0% (314 of 314 strings)
2018-02-20 14:36:49 +01:00
S Pimenta
fe19780f06 Translated using Weblate (Portuguese)
Currently translated at 80.2% (252 of 314 strings)
2018-02-20 14:36:48 +01:00
justanidea
83f1d7af82 Translated using Weblate (French)
Currently translated at 96.4% (303 of 314 strings)
2018-02-20 14:36:48 +01:00
ezjerry liao
1916616b07 Translated using Weblate (Chinese (Traditional))
Currently translated at 99.0% (311 of 314 strings)
2018-02-20 14:36:47 +01:00
anonymous
0a6a684acc Translated using Weblate (Hindi)
Currently translated at 76.1% (239 of 314 strings)
2018-02-20 14:36:43 +01:00
Christian Schabesberger
6d9aecd500 update extractor 2018-02-20 13:52:20 +01:00
Christian Schabesberger
4d25db2e11 move on to version 0.12.0 2018-02-20 13:44:32 +01:00
Christian Schabesberger
77d5714059 Merge pull request #1109 from TobiGr/soundcloud-kiosk
Enable SoundCloud kiosks as main page fragment for debug and beta
2018-02-20 13:38:20 +01:00
Christian Schabesberger
76c59cbdea Merge pull request #1125 from TeamNewPipe/header
Header
2018-02-19 22:42:02 +01:00
Christian Schabesberger
212f7dfc93 fix drawer header service label noch chaning, and other things 2018-02-19 21:04:13 +01:00
CookieCaptain D
9ba37ce34c Translated using Weblate (Portuguese)
Currently translated at 77.7% (244 of 314 strings)
2018-02-19 20:05:18 +01:00
S Pimenta
6c439bfbc4 Translated using Weblate (Portuguese)
Currently translated at 77.3% (243 of 314 strings)
2018-02-19 20:04:30 +01:00
CookieCaptain D
352d0db08b Translated using Weblate (Portuguese)
Currently translated at 76.4% (240 of 314 strings)
2018-02-19 20:03:22 +01:00
S Pimenta
be8ce1fce5 Translated using Weblate (Portuguese)
Currently translated at 75.7% (238 of 314 strings)
2018-02-19 20:02:28 +01:00
Marian Hanzel
f6356e576a Translated using Weblate (Slovak)
Currently translated at 100.0% (314 of 314 strings)
2018-02-19 17:48:30 +01:00
Florian
83a34a8ba1 Translated using Weblate (French)
Currently translated at 89.4% (281 of 314 strings)
2018-02-19 12:36:11 +01:00
Freddy Morán Jr
fb7a855eda Translated using Weblate (Spanish)
Currently translated at 96.8% (304 of 314 strings)
2018-02-18 19:38:56 +01:00
Weblate
9c1d778623 Merge remote-tracking branch 'origin/dev' into dev 2018-02-17 15:51:54 +01:00
Eduardo Caron
1bad2a023d Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.3% (312 of 314 strings)
2018-02-17 15:51:53 +01:00
Allan Nordhøy
999da51e99 Translated using Weblate (Norwegian Bokmål)
Currently translated at 97.4% (306 of 314 strings)
2018-02-17 15:51:52 +01:00
Tobias Groza
ea4b965eeb Translated using Weblate (German)
Currently translated at 94.5% (297 of 314 strings)
2018-02-17 15:51:51 +01:00
E T
33160e83cb Translated using Weblate (Turkish)
Currently translated at 100.0% (314 of 314 strings)
2018-02-17 15:51:48 +01:00
Christian Schabesberger
3e5e7f49cc add inital drawer hader layout 2018-02-16 23:56:04 +01:00
Christian Schabesberger
cc02b01c2b Merge pull request #1111 from TeamNewPipe/renav
add header/footer to drawer
2018-02-16 21:43:39 +01:00
Christian Schabesberger
243e5391db Merge pull request #1106 from TeamNewPipe/upenuns
Remove actionBarHandler
2018-02-16 21:42:54 +01:00
Nathan Follens
230ad5c04f Translated using Weblate (Dutch)
Currently translated at 100.0% (314 of 314 strings)
2018-02-16 21:23:48 +01:00
Emanuele Petriglia
289cfaa407 Translated using Weblate (Italian)
Currently translated at 100.0% (314 of 314 strings)
2018-02-16 19:12:05 +01:00
Weblate
0798745c16 Merge remote-tracking branch 'origin/dev' into dev 2018-02-16 18:39:33 +01:00
Matej U
094695a7ff Translated using Weblate (Slovenian)
Currently translated at 81.8% (226 of 276 strings)
2018-02-16 18:39:27 +01:00
Christian Schabesberger
86f041b803 add header/footer to drawer 2018-02-16 14:45:52 +01:00
TobiGr
00e65153f4 Enable SoundCloud kiosks as main page fragment for debug and beta 2018-02-16 13:13:40 +01:00
Christian Schabesberger
b12f0490f3 remove ActionBarHandler 2018-02-16 12:18:15 +01:00
Christian Schabesberger
42a2bc8a9a clean DetailFragment code 2018-02-16 11:31:25 +01:00
Christian Schabesberger
8adca3725d solve merge conflict 2018-02-14 21:06:20 +01:00
Christian Schabesberger
b57d4b3048 Merge branch 'subtitles' of https://github.com/karyogamy/NewPipe into sub 2018-02-14 20:59:40 +01:00
Christian Schabesberger
9c7aa241e4 fixed preferred_player inconsistancy 2018-02-14 19:33:43 +01:00
Christian Schabesberger
c3ec9b2ad7 Merge pull request #1097 from TeamNewPipe/router
merge RouterActivity and RouterVideoActivity and add Hooktube support
2018-02-13 19:10:48 +01:00
Christian Schabesberger
195070f8f5 Merge branch 'dev' into router 2018-02-13 19:10:35 +01:00
Christian Schabesberger
cbfe91f36f merge RouterActivity and RouterVideoActivity
change share title

fixed compatiblity issue

rename info_screen to show_info
2018-02-12 23:07:17 +01:00
Christian Schabesberger
738e2ac344 merge RouterActivity and RouterVideoActivity 2018-02-12 19:44:35 +01:00
Christian Schabesberger
ba0be665ae fixed issues from prevoius merge 2018-02-12 00:43:12 +01:00
Christian Schabesberger
0ba6f8b39f Merge pull request #1092 from TeamNewPipe/icon
move download menu item into detail controls menu
2018-02-11 21:47:43 +01:00
Christian Schabesberger
2773f5fbc8 move download menu item into detail controls menu 2018-02-11 21:34:32 +01:00
John Zhen Mo
263a816c3b -Fixed preferences fetching. 2018-02-11 11:40:08 -08:00
John Zhen Mo
e7d148336b -Changed leak canary toggle text to "monitor leaks".
-Added toast when enabling/disabling heap dumping.
2018-02-11 11:33:17 -08:00
John Zhen Mo
829059ea01 -Added toggle for enabling leak canary heap dump. 2018-02-11 11:33:16 -08:00
John Zhen Mo
622d698ff8 -Added LeakCanary to debug build for memory detection on activities and fragments.
-Added LeakCanary no-op lib to release and beta builds.
2018-02-11 11:32:57 -08:00
John Zhen Mo
f09b04dce0 -Code clean up on resize switching. 2018-02-11 11:32:40 -08:00
John Zhen Mo
59f8583895 -Added settings for managing caption font size. 2018-02-11 11:32:40 -08:00
John Zhen Mo
f506fc0478 -Moved caption extraction and menu building into exoplayer track changing callback.
-Updated extractor dependency.
2018-02-11 11:32:39 -08:00
John Zhen Mo
880676d670 -Modified popup video player to show extra options only when screen is large enough.
-Modified available resize options for different player modes.
-Fixed caption menu not working on popup player.
-Extracted hardcoded strings.
-Added button effects to both main and popup players.
2018-02-11 11:32:39 -08:00
John Zhen Mo
6485327b97 -Replace main player dropdown menu with expand/collapse custom UI. 2018-02-11 11:32:10 -08:00
John Zhen Mo
5773152ed3 -Added subtitles loading and display.
-Added subtitles switching button to popup and main players.
-Added aspect ratio switching button to popup pand main players.
2018-02-11 11:31:49 -08:00
Christian Schabesberger
e88312659b Merge branch 'play' into dev 2018-02-11 20:26:06 +01:00
Christian Schabesberger
c4d0ba549f Merge pull request #1083 from comradekingu/patch-5
Spelling: ZIP, Warning:
2018-02-11 18:06:55 +01:00
John Zhen Mo
cb41afb11f -Fixed Soundcloud playlist bookmark button not working when entered from search page.
-Fixed NPE when playlist fragment is destroyed while renaming.
-Fixed remote playlist thumbnail to use uploader avatar when thumbnail url is unavailable.
-Added dispose on exit to all database requests in local playlist fragment.
2018-02-10 17:20:56 -08:00
Enol P
6d27aea9f2 Translated using Weblate (Asturian)
Currently translated at 100.0% (276 of 276 strings)
2018-02-10 16:43:12 +01:00
Eduardo Caron
39e1f9cb76 Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.2% (274 of 276 strings)
2018-02-10 15:39:03 +01:00
M1ck
8fb7d64f79 Translated using Weblate (French)
Currently translated at 100.0% (276 of 276 strings)
2018-02-10 15:36:20 +01:00
E T
08fdef4870 Translated using Weblate (Turkish)
Currently translated at 100.0% (276 of 276 strings)
2018-02-09 17:32:51 +01:00
anonymous
aa0196b9d0 Translated using Weblate (French)
Currently translated at 100.0% (276 of 276 strings)
2018-02-09 14:38:10 +01:00
M1ck
a3426f92ac Translated using Weblate (French)
Currently translated at 99.6% (275 of 276 strings)
2018-02-09 14:38:05 +01:00
anonymous
d50d4254c5 Translated using Weblate (French)
Currently translated at 98.9% (273 of 276 strings)
2018-02-09 14:33:33 +01:00
M1ck
50cdadc4a2 Translated using Weblate (French)
Currently translated at 98.5% (272 of 276 strings)
2018-02-09 14:33:19 +01:00
anonymous
5aa9b6cb12 Translated using Weblate (French)
Currently translated at 98.5% (272 of 276 strings)
2018-02-09 14:33:00 +01:00
M1ck
44fc8d80e0 Translated using Weblate (French)
Currently translated at 97.4% (269 of 276 strings)
2018-02-09 14:31:44 +01:00
anonymous
817fa57bfe Translated using Weblate (French)
Currently translated at 97.4% (269 of 276 strings)
2018-02-09 14:30:52 +01:00
M1ck
668e2da01b Translated using Weblate (French)
Currently translated at 97.1% (268 of 276 strings)
2018-02-09 14:30:40 +01:00
anonymous
7f3982d153 Translated using Weblate (French)
Currently translated at 97.1% (268 of 276 strings)
2018-02-09 14:30:25 +01:00
John Zhen Mo
f62ae930c7 -Merged bookmark buttons on playlist fragment into one.
-Fixed bookmark button flickering on visibility toggling.
-Removed toolbar up button control from local fragments, delegating functionality back to main fragment.
-Updated extractor to latest.
2018-02-08 19:53:11 -08:00
John Zhen Mo
d0808ce159 -Fixed playlist creation icon in playlist append dialog.
-Fixed bookmarking disposable not part of playlist fragment lifecycle.
-Rearranged local fragment directory structure.
2018-02-08 18:48:36 -08:00
ezjerry liao
7b19dadbf5 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (276 of 276 strings)
2018-02-09 03:10:03 +01:00
Allan Nordhøy
43ab0283d9 ZIP, Warning: 2018-02-09 02:53:59 +01:00
Weblate
c27e9d5901 Merge remote-tracking branch 'origin/dev' into dev 2018-02-09 02:51:17 +01:00
ScratchBuild
e0d21627bb Translated using Weblate (Japanese)
Currently translated at 85.5% (236 of 276 strings)
2018-02-09 02:51:15 +01:00
ezjerry liao
1b1dd6ef88 Translated using Weblate (Chinese (Traditional))
Currently translated at 96.0% (265 of 276 strings)
2018-02-09 02:51:11 +01:00
Allan Nordhøy
10700007d5 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (276 of 276 strings)
2018-02-09 02:51:08 +01:00
John Zhen Mo
c5ec8d04c1 -Fixed playlist bookmark button not showing out when activity / playlist fragment is created by external share. 2018-02-08 15:58:48 -08:00
John Zhen Mo
490b250db6 -Removed Leak Canary dependency.
-Fixed local playlist header margins.
2018-02-08 11:53:08 -08:00
John Zhen Mo
0630423c8e -Fixed bookmark fragment in main pager not showing hamburger menu. 2018-02-08 10:13:29 -08:00
Christian Schabesberger
c2e06517e1 Merge pull request #1074 from TeamNewPipe/fix-sc
Fix opening SoundCloud links
2018-02-08 12:51:15 +01:00
Rintaro matsuo
b01ae33d1e Translated using Weblate (Japanese)
Currently translated at 78.9% (218 of 276 strings)
2018-02-08 08:17:32 +01:00
ScratchBuild
a55ee32058 Translated using Weblate (Japanese)
Currently translated at 78.9% (218 of 276 strings)
2018-02-08 08:12:40 +01:00
John Zhen Mo
c3941d5bec -Added remote playlist table creation to migrations. 2018-02-07 19:24:36 -08:00
John Zhen Mo
6020dc2b2d -Renamed "watch history" fragment under bookmark to "last played".
-Renamed "watched history" fragment under history to "watch history".
2018-02-07 19:24:36 -08:00
John Zhen Mo
7ab41e0c3a -Added listener unregistration to local item adapters to release dependency and avoid memory leak.
-Added listener unregistration on all listeners using contexts in local item related fragments.
2018-02-07 19:24:36 -08:00
John Zhen Mo
c0a75f5b98 -Added ability to save playlist as remote playlist link rather than storing it in database.
-Added LeakCanary as part of debug build.
-Modified bookmark list to show both remote and local playlists.
-Removed ability to save channel items as local playlist, in favor of subscribe.
2018-02-07 19:24:36 -08:00
John Zhen Mo
efd4db40ef -Fixed NPE issues when button views are clicked on local playlist and statistics playlist fragments are out of focus.
-Added disk cache size limit for image loader.
-Fixed button names for playlist rename dialog.
2018-02-07 19:24:36 -08:00
John Zhen Mo
3c3fe7bf83 -Fixed database updates cause outdated record to overwrite reordered local playlist when fragment is active.
-Fixed save on exit causes empty list being saved after orientation changes on older devices.
-Fixed NPE on animating garbage collected views on local item fragments.
-Reduced drag speed from 15 to 12 items per second.
2018-02-07 19:24:36 -08:00
John Zhen Mo
268762166a -Added save on exit to local playlist fragment.
-Improved drag reordering experience by setting minimum velocity.
-Increased save debounce to 10 seconds.
2018-02-07 19:24:36 -08:00
John Zhen Mo
53a1833e26 -Increased save join debounce time to 2 seconds.
-Added add to playlist option for videos available as base list items.
-Moved video count to second row on local playlist header.
-Removed bottom line on playlist control UI.
2018-02-07 19:24:36 -08:00
John Zhen Mo
1ff8b5fb9f -Refactored info item and local item click gestures into the same OnClickGesture. 2018-02-07 19:24:35 -08:00
John Zhen Mo
225b43ca3c -Modified BaseLocalItemFragment to no longer cache items when going into background.
-Refactored and restructured all LocalItem related fragments and dialogs.
-Added error logging to unmonitored single-use observables.
-Modified playlist metadata query to return by alphabetical order.
-Removed sending toast when playlist is renamed or deleted as it is obvious.
-Removed unused code in main fragment.
2018-02-07 19:24:35 -08:00
John Zhen Mo
75a58d6381 -Fixed memory leak on rogue observable in history fragment.
-Removed stream id from playlist stream join table since only foreign constraint is needed.
-Added bar to playlist control UI.
-Modified local playlist fragment to no longer save when out of focus.
2018-02-07 19:24:35 -08:00
John Zhen Mo
62814f083e -Fixed memory leak in playlist append dialog due to rogue flowables.
-Changed image loader memory cache to use limited LRU.
2018-02-07 19:24:35 -08:00
John Zhen Mo
6f9deea873 -Fixed memory leak due to image loader overusing memory cache.
-Added disk cache for local item loading.
2018-02-07 19:24:35 -08:00
John Zhen Mo
d3160eed9d -Added state saving for streams on skip and player exception events.
-Added query for loading saved stream states.
-Modified orphan record removal to no longer consider stream table records.
2018-02-07 19:24:35 -08:00
John Zhen Mo
9b4a07de34 -Redone control panel in video detail fragment.
-Added playlist append menu item to channel and playlist fragments.
-Added debouncing to local playlist fragment to allow saving join when list is reordered or item is deleted.
-Extracted hardcoded strings.
2018-02-07 19:24:35 -08:00
John Zhen Mo
d31eeac49e -Condensed repeating entries on stream history.
-Changed search history to show service name and stream history to show repeat count.
-Removed history entry abstract and unused info items.
2018-02-07 19:24:35 -08:00
John Zhen Mo
84c5d27416 -Revamped local items to display more information such as service name, etc.
-Enabled reordering, renaming, removing of items on playlist fragment.
-Enabled removal of dangling streams entries when history is cleared.
-Changed playlist append menu item to icon on service player activity.
-Added adapter and builder for local items, removed dependency on infoitem and existing infolist for database entry items.
-Removed watch history entity and DAO.
-Extracted info item selected listener to remove adding boilerplate code when long click functionality is optional.
-Fixed query returning no record on left join when right table is empty.
2018-02-07 19:24:35 -08:00
John Zhen Mo
17d77aa31f -Removed watch history table.
-Added migration for dropping watch history table.
2018-02-07 19:24:35 -08:00
John Zhen Mo
388ec3e3d3 -Added history record manager as single entry for all database history transactions.
-Merged stream record manager into history record manager.
-Removed subject-based history database actions.
-Merged normalized history table into watch history fragment.
-Modified history fragments to use long click for delete actions.
-Refactored DAO operations from search fragment to record manager.
-Added index to search history table on search string.
-Fix baseplayer round repeat not detected by discontinuity.
2018-02-07 19:24:35 -08:00
John Zhen Mo
f0829f9ef3 -Added support for changing local playlist name and thumbnail url.
-Added query to remove stream table orphans.
-Added query for retrieving flattened watch history records.
-Added holder for local playlist stream info items.
-Refactored info item on select listener as on touch gesture.
2018-02-07 19:24:35 -08:00
John Zhen Mo
81f481833c -Added icon for bookmark pager. 2018-02-07 19:24:35 -08:00
John Zhen Mo
a74c4168f3 -Improved bulk stream upsert into playlist performance by 5x.
-Added custom info item type for plain stream entity.
2018-02-07 19:24:34 -08:00
John Zhen Mo
776dbc34f7 -Added bulk playlist creation and append.
-Added UI to create playlist from service player activity.
-Added state saving to playlist dialogs.
-Removed access to history activity on service player activity.
-Made StreamEntity serializable.
2018-02-07 19:24:34 -08:00
John Zhen Mo
168ac91ab8 -Fixed toast exception on playlist creation. 2018-02-07 19:24:34 -08:00
John Zhen Mo
9bd26798b6 -Added icon for adding stream to playlist.
-Renamed HistoryPlaylistFragment to StatisticsPlaylistFragment.
2018-02-07 19:24:34 -08:00
John Zhen Mo
4ae81a2de4 -Deprecating database get instance without context.
-Added comments to migrations.
2018-02-07 19:24:34 -08:00
John Zhen Mo
3c314ced0a -Bump database version to 2.
-Added migration script for upgrading database from version 1 to 2.
-Fixed database name of stream type in stream entity.
2018-02-07 19:24:34 -08:00
John Zhen Mo
ba9d0d7707 -Added basic UI for local playlists.
-Added UI for watch history and most played fragments.
-Added stream state table for storing playback timestamp and future usage.
-Enabled playlist deletion.
2018-02-07 19:24:34 -08:00
John Zhen Mo
38946e4b0f -Added UI for creating playlist.
-Added UI for appending item to playlists.
-Added mini variant of playlist info item.
2018-02-07 19:24:34 -08:00
John Zhen Mo
f71242a036 -Added schema for local playlist and stream statistics.
-Added normalized schema for stream history.
-Added managers for specialized database access for stream and local playlist.
2018-02-07 19:24:34 -08:00
Rintaro matsuo
960fd9be38 Translated using Weblate (Japanese)
Currently translated at 72.4% (200 of 276 strings)
2018-02-08 02:19:25 +01:00
ScratchBuild
40844dcd76 Translated using Weblate (Japanese)
Currently translated at 72.4% (200 of 276 strings)
2018-02-08 02:18:59 +01:00
Rintaro matsuo
420d28c713 Translated using Weblate (Japanese)
Currently translated at 72.4% (200 of 276 strings)
2018-02-08 02:17:54 +01:00
Weblate
5bbd6afaf1 Merge remote-tracking branch 'origin/dev' into dev 2018-02-08 02:17:40 +01:00
r2308145
77a06c7604 Translated using Weblate (Czech)
Currently translated at 100.0% (276 of 276 strings)
2018-02-08 02:17:38 +01:00
ezjerry liao
1f4f87d3bd Translated using Weblate (Chinese (Traditional))
Currently translated at 95.6% (264 of 276 strings)
2018-02-08 02:17:38 +01:00
thami simo
2e8d86575e Translated using Weblate (Arabic)
Currently translated at 94.2% (260 of 276 strings)
2018-02-08 02:17:35 +01:00
ScratchBuild
ef0659f436 Translated using Weblate (Japanese)
Currently translated at 72.4% (200 of 276 strings)
2018-02-08 02:17:33 +01:00
Christian Schabesberger
e18e69966f Merge pull request #1077 from TeamNewPipe/revert-1076-patch-1
Revert "Control media volume with the hardware buttons."
2018-02-07 21:39:19 +01:00
Christian Schabesberger
e7b4b88055 Revert "Control media volume with the hardware buttons." 2018-02-07 19:38:57 +01:00
Christian Schabesberger
de65d1e1fc Merge pull request #1076 from wojcik-online/patch-1
Control media volume with the hardware buttons.
2018-02-07 19:38:22 +01:00
wójcik.online
7ea0862f95 import AudioManager 2018-02-07 19:35:04 +01:00
wójcik.online
efc7049dfd Control media volume with the hardware buttons.
Control media volume with the hardware buttons in the MainActivity. This is how the YouTube app works. Closes #1072.
2018-02-07 19:24:25 +01:00
r2308145
629549d76f Translated using Weblate (Czech)
Currently translated at 100.0% (276 of 276 strings)
2018-02-07 19:19:31 +01:00
Oleh Ilnytskyi
756fb795d6 Translated using Weblate (Ukrainian)
Currently translated at 68.8% (190 of 276 strings)
2018-02-07 15:41:38 +01:00
BurningKarl
13d1974a5b Translated using Weblate (German)
Currently translated at 99.2% (274 of 276 strings)
2018-02-07 14:36:33 +01:00
wb9688
d3168a9022 Fix opening SoundCloud links 2018-02-07 10:22:27 +01:00
Freddy Morán Jr
059378eedf Translated using Weblate (Spanish)
Currently translated at 100.0% (276 of 276 strings)
2018-02-06 20:07:07 +01:00
Nathan Follens
e973868a90 Translated using Weblate (Dutch)
Currently translated at 100.0% (276 of 276 strings)
2018-02-06 12:23:33 +01:00
Emanuele Petriglia
2a0e5d6835 Translated using Weblate (Italian)
Currently translated at 100.0% (276 of 276 strings)
2018-02-06 09:53:09 +01:00
Weblate
5537abe2c3 Merge remote-tracking branch 'origin/dev' into dev 2018-02-05 22:40:19 +01:00
Oleh Ilnytskyi
5eae235b3c Translated using Weblate (Ukrainian)
Currently translated at 38.2% (102 of 267 strings)
2018-02-05 22:40:18 +01:00
ezjerry liao
bfc7718a21 Translated using Weblate (Chinese (Traditional))
Currently translated at 86.1% (230 of 267 strings)
2018-02-05 22:40:10 +01:00
TotalCaesar659
405d6bee78 Translated using Weblate (Russian)
Currently translated at 94.3% (252 of 267 strings)
2018-02-05 22:40:07 +01:00
Christian Schabesberger
f65f2da890 moved on to v0.11.6 2018-02-04 18:40:45 +01:00
Christian Schabesberger
30ab58c33d added some more lambdas 2018-02-04 17:50:22 +01:00
Christian Schabesberger
87ba5a7eb6 Merge branch 'eximport' into dev 2018-02-04 13:40:03 +01:00
Christian Schabesberger
6e8593af91 add import database function
bla

remove unused restart function

add allert dialog and add time to filename
2018-02-04 13:38:58 +01:00
Weblate
0ab1d3fc40 Merge remote-tracking branch 'origin/dev' into dev 2018-02-04 03:36:15 +01:00
ezjerry liao
f22d13e695 Translated using Weblate (Chinese (Traditional))
Currently translated at 83.5% (223 of 267 strings)
2018-02-04 03:36:07 +01:00
Mauricio Colli
cdde61a460 Change service icons for now
- Use place holders while the legal discussion is happening
2018-02-03 22:32:01 -02:00
Mauricio Colli
989ce126f1 Improve up button behavior
- Closes #614
2018-02-03 09:03:55 -02:00
ScratchBuild
28618e822e Translated using Weblate (Japanese)
Currently translated at 74.5% (199 of 267 strings)
2018-02-03 08:38:18 +01:00
Weblate
6772381afc Merge remote-tracking branch 'origin/dev' into dev 2018-01-31 13:34:27 +01:00
孟武尼德霍格龍
75b45beabc Translated using Weblate (Chinese (Traditional))
Currently translated at 77.2% (207 of 268 strings)
2018-01-31 13:34:24 +01:00
ButterflyOfFire
56d53e9b01 Translated using Weblate (Arabic)
Currently translated at 95.1% (255 of 268 strings)
2018-01-31 13:34:15 +01:00
Mauricio Colli
3a8b04e2d1 Fix and improve service switching (introduced colors)
- Every service now have its own colors
- Fix bug navigation button and backstack count
- Fix and themed properly the icons and colors of the main fragment tabs
- Re-organized the styles and colors (too much in one file)
2018-01-30 05:07:40 -02:00
Christian Schabesberger
1ce7d66fb1 Merge pull request #1043 from TobiGr/preferred-string
Make preferred string not translatable
2018-01-29 00:47:55 +01:00
TobiGr
7b5a9b69fe make preferred string not translatable 2018-01-28 21:27:20 +01:00
Allan Nordhøy
837b22ccac Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (268 of 268 strings)
2018-01-28 19:24:39 +01:00
Christian Schabesberger
7146719393 add export newipe db function 2018-01-28 19:02:34 +01:00
Weblate
71ee604c69 Merge remote-tracking branch 'origin/dev' into dev 2018-01-27 21:19:32 +01:00
Mateusz
9945a5b813 Translated using Weblate (Polish)
Currently translated at 98.1% (263 of 268 strings)
2018-01-27 21:19:31 +01:00
Kompiuterių meistras +37060040
7254387042 Translated using Weblate (Lithuanian)
Currently translated at 91.0% (244 of 268 strings)
2018-01-27 21:19:29 +01:00
Jonas
3a7f2a94a6 Translated using Weblate (French)
Currently translated at 100.0% (268 of 268 strings)
2018-01-27 21:19:26 +01:00
Mauricio Colli
6bea4aa96b Fix player switching
- Background to popup wasn't asking for permission
- The new task flag is needed to switch from the background/popup UI to the main player
2018-01-27 02:57:00 -02:00
Mauricio Colli
fa262bbceb Improve settings theme color
- Closes #863
2018-01-27 02:56:10 -02:00
Eduardo Caron
3139fe0170 Translated using Weblate (Portuguese (Brazil))
Currently translated at 98.8% (265 of 268 strings)
2018-01-25 22:39:19 +01:00
Freddy Morán Jr
ef6c5de65b Translated using Weblate (Spanish)
Currently translated at 100.0% (268 of 268 strings)
2018-01-25 19:40:22 +01:00
M1ck
07799563b5 Translated using Weblate (French)
Currently translated at 99.6% (267 of 268 strings)
2018-01-25 18:36:21 +01:00
Nathan Follens
b1de4b7bd6 Translated using Weblate (Dutch)
Currently translated at 100.0% (268 of 268 strings)
2018-01-25 18:16:29 +01:00
E T
2b8ae9a5ea Translated using Weblate (Turkish)
Currently translated at 99.6% (267 of 268 strings)
2018-01-25 14:42:33 +01:00
Georg Rieger
7c52d3ec5d Translated using Weblate (German)
Currently translated at 99.6% (267 of 268 strings)
2018-01-25 14:37:17 +01:00
Osoitz
aefaa7619e Translated using Weblate (Basque)
Currently translated at 99.6% (267 of 268 strings)
2018-01-25 14:34:34 +01:00
Emanuele Petriglia
ca202290bf Translated using Weblate (Italian)
Currently translated at 100.0% (268 of 268 strings)
2018-01-24 14:46:59 +01:00
Weblate
cbdbc4cba2 Merge remote-tracking branch 'origin/dev' into dev 2018-01-24 13:10:42 +01:00
M1ck
8abf904a78 Translated using Weblate (French)
Currently translated at 100.0% (252 of 252 strings)
2018-01-24 13:10:32 +01:00
Mauricio Colli
ecf7969c46 Improve settings up button behavior
- Fix #736
2018-01-23 11:45:41 -02:00
Mauricio Colli
a473e3d623 Add preferred player 2018-01-23 11:15:36 -02:00
Weblate
1f8e90858e Merge remote-tracking branch 'origin/dev' into dev 2018-01-23 12:17:34 +01:00
Osoitz
2c2edca8fa Translated using Weblate (Spanish)
Currently translated at 100.0% (252 of 252 strings)
2018-01-23 12:17:33 +01:00
Rubix
50e86ff1ca Translated using Weblate (Romanian)
Currently translated at 87.6% (221 of 252 strings)
2018-01-23 12:17:33 +01:00
Rintaro matsuo
02ecc5011a Translated using Weblate (Japanese)
Currently translated at 78.9% (199 of 252 strings)
2018-01-23 12:17:32 +01:00
nautilusx
6e666a018b Translated using Weblate (German)
Currently translated at 96.8% (244 of 252 strings)
2018-01-23 12:17:31 +01:00
M2ck
66fbb2ce1e Translated using Weblate (French)
Currently translated at 100.0% (252 of 252 strings)
2018-01-23 12:17:30 +01:00
r2308145
b00722ec0a Translated using Weblate (Czech)
Currently translated at 100.0% (252 of 252 strings)
2018-01-23 12:17:29 +01:00
ButterflyOfFire
77b1413319 Translated using Weblate (Arabic)
Currently translated at 100.0% (252 of 252 strings)
2018-01-23 12:17:29 +01:00
Osoitz
87b8d60c9d Translated using Weblate (Basque)
Currently translated at 100.0% (252 of 252 strings)
2018-01-23 12:17:26 +01:00
Christian Schabesberger
db5203e1ff Merge pull request #1023 from TobiGr/update-screenshots
Update screenshots
2018-01-23 00:27:28 +01:00
TobiGr
ea022670c4 Update screenshots 2018-01-22 21:04:27 +01:00
r2308145
54b009cc49 Translated using Weblate (Czech)
Currently translated at 100.0% (252 of 252 strings)
2018-01-22 19:09:37 +01:00
E T
80c3acace9 Translated using Weblate (Turkish)
Currently translated at 100.0% (252 of 252 strings)
2018-01-21 17:40:52 +01:00
Nathan Follens
cea9428b47 Translated using Weblate (Dutch)
Currently translated at 100.0% (252 of 252 strings)
2018-01-21 17:34:51 +01:00
Emanuele Petriglia
f8ffbfabbe Translated using Weblate (Italian)
Currently translated at 100.0% (252 of 252 strings)
2018-01-21 12:12:04 +01:00
Allan Nordhøy
836a1e652b Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (252 of 252 strings)
2018-01-20 23:27:15 +01:00
Freddy Morán Jr
d8544e0b84 Translated using Weblate (Spanish)
Currently translated at 100.0% (252 of 252 strings)
2018-01-20 23:06:06 +01:00
M2ck
4817d7fddc Translated using Weblate (French)
Currently translated at 100.0% (252 of 252 strings)
2018-01-20 23:00:00 +01:00
ButterflyOfFire
e6a385a85e Translated using Weblate (Arabic)
Currently translated at 100.0% (252 of 252 strings)
2018-01-20 21:34:50 +01:00
Weblate
3634f68364 Merge remote-tracking branch 'origin/dev' into dev 2018-01-20 21:31:01 +01:00
Freddy Morán Jr
f17ffa94fe Translated using Weblate (Spanish)
Currently translated at 100.0% (249 of 249 strings)
2018-01-20 21:31:00 +01:00
Coffeemaker
d52bcd46a1 Translated using Weblate (German)
Currently translated at 97.5% (243 of 249 strings)
2018-01-20 21:30:56 +01:00
ButterflyOfFire
7e58b0b6fe Translated using Weblate (Arabic)
Currently translated at 100.0% (249 of 249 strings)
2018-01-20 21:30:49 +01:00
Christian Schabesberger
f451f1f65d resolve conflict 2018-01-20 18:06:34 +01:00
Christian Schabesberger
4d12e71fba move on to v0.11.5 2018-01-20 16:00:39 +01:00
Christian Schabesberger
66fde7a212 fix loop in channel 2018-01-20 15:59:34 +01:00
Christian Schabesberger
86eccf219d refactore some more lambda functions 2018-01-20 15:24:45 +01:00
Christian Schabesberger
677865f347 player popup menu icons for white theme 2018-01-20 14:46:10 +01:00
Christian Schabesberger
eb4b3810e9 refactor ExtractionHelper using lambda expression 2018-01-20 13:57:31 +01:00
Christian Schabesberger
5f26501ddf fix triangle play button when returning to app 2018-01-20 13:39:06 +01:00
Emanuele Petriglia
b33a72f864 Translated using Weblate (Italian)
Currently translated at 100.0% (249 of 249 strings)
2018-01-19 20:07:50 +01:00
Freddy Morán Jr
675f43b968 Translated using Weblate (Spanish)
Currently translated at 100.0% (249 of 249 strings)
2018-01-19 01:24:52 +01:00
M2ck
9f117a2e59 Translated using Weblate (French)
Currently translated at 100.0% (249 of 249 strings)
2018-01-19 00:33:40 +01:00
Yann Hodiesne
a0844229a3 Translated using Weblate (French)
Currently translated at 97.9% (244 of 249 strings)
2018-01-19 00:23:06 +01:00
M2ck
114fcc144c Translated using Weblate (French)
Currently translated at 97.9% (244 of 249 strings)
2018-01-19 00:19:11 +01:00
Weblate
43372ff648 Merge remote-tracking branch 'origin/dev' into dev 2018-01-19 00:17:53 +01:00
ScratchBuild
b8ebbc5404 Translated using Weblate (Japanese)
Currently translated at 79.5% (194 of 244 strings)
2018-01-19 00:17:51 +01:00
M2ck
28309f82f3 Translated using Weblate (French)
Currently translated at 100.0% (244 of 244 strings)
2018-01-19 00:17:45 +01:00
Christian Schabesberger
c70fa391b6 fix conflict with weblate 2018-01-18 20:43:30 +01:00
nautilusx
caab589dce Translated using Weblate (German)
Currently translated at 99.5% (243 of 244 strings)
2018-01-18 08:18:08 +01:00
maruyuki
20370054e7 Translated using Weblate (Japanese)
Currently translated at 56.9% (139 of 244 strings)
2018-01-18 08:18:04 +01:00
anonymous
f1882cb1e1 Translated using Weblate (German)
Currently translated at 97.5% (238 of 244 strings)
2018-01-12 19:37:15 +01:00
Nick Undnick
2ed149852d Translated using Weblate (German)
Currently translated at 97.5% (238 of 244 strings)
2018-01-10 18:22:38 +01:00
Coffeemaker
ac7226a0df Translated using Weblate (German)
Currently translated at 97.5% (238 of 244 strings)
2018-01-10 18:22:00 +01:00
Coffeemaker
5705650ca8 Translated using Weblate (Telugu)
Currently translated at 53.6% (131 of 244 strings)
2018-01-09 17:53:16 +01:00
Coffeemaker
60855ca7c5 Translated using Weblate (Tamil)
Currently translated at 5.7% (14 of 244 strings)
2018-01-09 17:53:16 +01:00
Coffeemaker
b8d8d181f3 Translated using Weblate (Slovak)
Currently translated at 70.0% (171 of 244 strings)
2018-01-09 17:53:16 +01:00
Thomas Lavend'Homme
6309160fc6 Translated using Weblate (French)
Currently translated at 100.0% (244 of 244 strings)
2018-01-09 17:53:14 +01:00
ButterflyOfFire
fc0e6ed273 Translated using Weblate (Arabic)
Currently translated at 100.0% (244 of 244 strings)
2018-01-09 17:53:04 +01:00
Christian Schabesberger
ada0cee656 move on to v0.11.4 2018-01-09 14:11:37 +01:00
Christian Schabesberger
6dde524d2c Merge branch 'dev' of github.com:teamnewpipe/NewPipe into dev 2018-01-09 14:02:39 +01:00
Christian Schabesberger
6a631e1915 forece select activity when opening with browser 2018-01-09 14:02:32 +01:00
Christian Schabesberger
bb6fa343cf Merge pull request #976 from coffeemakr/feature-share-subject
Add subject to shared URL's (fixes #975)
2018-01-09 13:53:29 +01:00
Christian Schabesberger
7557acde6c Merge pull request #977 from TobiGr/TranslationChecker-Fix
Fix crash due to no "other" item in plurals
2018-01-09 13:51:14 +01:00
TobiGr
25ed8952f9 Fix crash due to no "other" item in plurals 2018-01-09 13:24:50 +01:00
Coffeemakr
b93d94b0bd Add subject to shared URL's (fixes #975) 2018-01-09 12:41:30 +01:00
Christian Schabesberger
33d75fd2fb switch languageCode to content country 2018-01-09 12:25:40 +01:00
Christian Schabesberger
28a9855fd2 add countrycodes 2018-01-09 11:33:17 +01:00
Christian Schabesberger
9aad07621c fix many/other problem 2018-01-09 10:28:28 +01:00
Christian Schabesberger
384cde6eaa fix weblate merge failure 2018-01-08 13:29:25 +01:00
Sebastian Rasmussen
5ae98661ad Translated using Weblate (Swedish)
Currently translated at 100.0% (244 of 244 strings)
2018-01-08 13:21:19 +01:00
Alberto Moshpirit
8f4d9ceca9 Translated using Weblate (Spanish)
Currently translated at 100.0% (244 of 244 strings)
2018-01-08 13:21:15 +01:00
Christian Schabesberger
83d9a1233e horrible hack for fixing channel load next page foo 2018-01-06 20:39:33 +01:00
thami simo
522a287d79 Translated using Weblate (Arabic)
Currently translated at 96.3% (235 of 244 strings)
2018-01-06 17:21:06 +01:00
Sebastian Rasmussen
e052d4660d Translated using Weblate (Swedish)
Currently translated at 100.0% (244 of 244 strings)
2018-01-06 17:21:03 +01:00
John Zhen Mo
39b0b2f032 -Added player conversion to background and popup players.
-[#919] Fixed custom notification does not trigger unlocking on lockscreen.
-[#947] Fixes player crashing on internet outage, issue partially addressed.
-Fixed main player losing state after destroy while in background.
-Fixed main player controls not hiding automatically after orientation change.
-Fixed dialog uploader not marqueeing when too long.
-Fixed popup permission throwing NPE on BaseList.
-Refactored popup permissions to start in NavigationHelper.
-Extracted hardcoded string for player menus.
-Bump Java version to 1.8.
-Some lambda conversions.
2018-01-03 22:53:38 -08:00
Christian Schabesberger
0223d6d200 moved on to v0.11.3 2018-01-04 05:34:19 +01:00
Christian Schabesberger
808ce72078 fix share menu for playlists 2018-01-04 05:28:01 +01:00
Christian Schabesberger
3a84c47176 hopefully fix plurals 2018-01-04 04:56:45 +01:00
Weblate
20c2426128 Merge remote-tracking branch 'origin/dev' into dev 2017-12-30 19:06:47 +01:00
Phạm Nguyễn Hoàng
bf11d4c9fa Translated using Weblate (Vietnamese)
Currently translated at 59.0% (144 of 244 strings)
2017-12-30 19:06:47 +01:00
Matej U
783c0f79d7 Translated using Weblate (Slovenian)
Currently translated at 91.8% (224 of 244 strings)
2017-12-30 19:06:46 +01:00
Ivan Krušlin
98b94bd9c4 Translated using Weblate (Croatian)
Currently translated at 97.1% (237 of 244 strings)
2017-12-30 19:06:44 +01:00
Rex_sa
ff0178f965 Translated using Weblate (Arabic)
Currently translated at 91.8% (224 of 244 strings)
2017-12-30 19:06:41 +01:00
Schabi
7f88c3d0a9 roleback wrong fix 2017-12-30 00:27:29 +01:00
Schabi
11e8e38f2c setup context for making notifications open via setContextIntent() 2017-12-29 17:29:15 +01:00
Schabi
50c5314eaf fix yt trending content language 2017-12-29 15:02:23 +01:00
Schabi
a7a76d4f58 add beta 2 logo 2017-12-26 14:48:06 +01:00
Schabi
4df4f68fe1 Merge branch 'dev' 2017-12-24 12:17:55 +01:00
Schabi
7db8d37137 update extractor and move on to version v0.11.2 2017-12-24 12:17:41 +01:00
Christian Schabesberger
b7503a7d81 Merge pull request #936 from TobiGr/readme-website
Add website, blog and press kit to README.MD
2017-12-23 17:47:59 +01:00
Schabi
9f5d4034e3 fix fullscreen button on popup 2017-12-23 17:34:47 +01:00
Tobias Groza
3c941f6c4b Add website, blog and press kit to README.MD 2017-12-23 16:35:40 +01:00
Christian Schabesberger
ec8fff421a fix avatar not vissible on info screen bug 2017-12-22 16:53:43 +01:00
Christian Schabesberger
a47a0b5432 Merge pull request #904 from Jawnnypoo/tweaks
Pull up support lib version so all always match
2017-12-22 15:25:33 +01:00
Christian Schabesberger
96ba46f21d Merge pull request #931 from TobiGr/notification-icon
Change notification bar icon for popup and background player
2017-12-21 16:03:15 +01:00
Ariel Shulman
90f48d5817 Translated using Weblate (Hebrew)
Currently translated at 100.0% (244 of 244 strings)
2017-12-20 23:47:19 +01:00
Jonas
7288dd097a Translated using Weblate (Spanish)
Currently translated at 100.0% (244 of 244 strings)
2017-12-20 17:02:16 +01:00
TobiGr
0119d62a35 change notification bar icon for popup and background player 2017-12-20 16:29:32 +01:00
Kompiuterių meistras +37060040
4d6ab73fa9 Translated using Weblate (Lithuanian)
Currently translated at 100.0% (244 of 244 strings)
2017-12-20 13:06:09 +01:00
anonymous
f58c95840a Translated using Weblate (Lithuanian)
Currently translated at 60.6% (148 of 244 strings)
2017-12-20 11:04:43 +01:00
Weblate
ecf24f81ec Merge remote-tracking branch 'origin/dev' into dev 2017-12-18 14:15:55 +01:00
Rex_sa
dd3306a940 Translated using Weblate (Arabic)
Currently translated at 91.3% (223 of 244 strings)
2017-12-18 14:15:52 +01:00
Claudio Maradonna
bbb2b98f27 Translated using Weblate (Italian)
Currently translated at 100.0% (244 of 244 strings)
2017-12-18 14:15:32 +01:00
Christian Schabesberger
bc7332780d fix show rending before page was loaded 2017-12-17 12:55:30 +01:00
Joseph Kim
6f3bc3ac8f Translated using Weblate (Korean)
Currently translated at 99.5% (243 of 244 strings)
2017-12-14 11:48:42 +01:00
Weblate
cd04d869b7 Merge remote-tracking branch 'origin/dev' into dev 2017-12-12 15:49:41 +01:00
Eduardo Caron
909e15cbdd Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (244 of 244 strings)
2017-12-12 15:49:31 +01:00
Christian Schabesberger
33fa30ab78 Merge branch 'feature-small-code-improvements' of https://github.com/coffeemakr/NewPipe into coffe 2017-12-11 18:06:38 +01:00
Anthony MARGERAND
44933ac17a Translated using Weblate (French)
Currently translated at 100.0% (244 of 244 strings)
2017-12-10 16:35:06 +01:00
Coffeemakr
bb2af96deb Use getters for extractor items 2017-12-10 11:07:51 +01:00
Coffeemakr
1fe6da14ea Small code improvements 2017-12-10 11:07:08 +01:00
Weblate
b7b9653c21 Merge remote-tracking branch 'origin/dev' into dev 2017-12-09 18:07:20 +01:00
alekksander
8adc5918f8 Translated using Weblate (Polish)
Currently translated at 100.0% (244 of 244 strings)
2017-12-09 18:07:19 +01:00
Tobias Groza
0db593b1bb Translated using Weblate (German)
Currently translated at 100.0% (244 of 244 strings)
2017-12-09 18:07:10 +01:00
Christian Schabesberger
a0c9dbeb78 Merge pull request #910 from coffeemakr/bugfix-integrate-extractor
Fix failing test
2017-12-09 17:36:13 +01:00
Nathan Follens
61d5546d89 Translated using Weblate (Dutch)
Currently translated at 100.0% (244 of 244 strings)
2017-12-09 14:30:18 +01:00
alekksander
f97b7c943b Translated using Weblate (Polish)
Currently translated at 100.0% (244 of 244 strings)
2017-12-09 13:58:19 +01:00
Duppadaadadii
97549b633b Translated using Weblate (Finnish)
Currently translated at 100.0% (244 of 244 strings)
2017-12-09 10:54:55 +01:00
Sérgio Marques
1949e4a9d4 Translated using Weblate (Portuguese)
Currently translated at 93.4% (228 of 244 strings)
2017-12-09 02:49:06 +01:00
Coffeemakr
ecb5f7a5ba Try Travis' solution 2017-12-08 20:26:44 +01:00
Emanuele Petriglia
6021f72cf0 Translated using Weblate (Italian)
Currently translated at 99.1% (242 of 244 strings)
2017-12-08 16:49:42 +01:00
nailyk
c00ef74f96 Translated using Weblate (French)
Currently translated at 99.5% (243 of 244 strings)
2017-12-08 14:46:23 +01:00
Coffeemakr
962e070150 Use Mediaformat objects instead of ids for tests 2017-12-08 13:57:44 +01:00
r2308145
221cbf5e07 Translated using Weblate (Czech)
Currently translated at 100.0% (244 of 244 strings)
2017-12-08 13:45:20 +01:00
Weblate
a72d37ab69 Merge remote-tracking branch 'origin/dev' into dev 2017-12-07 12:40:55 +01:00
E T
f92227e5df Translated using Weblate (Turkish)
Currently translated at 100.0% (244 of 244 strings)
2017-12-07 12:40:54 +01:00
Eduardo Caron
c50617452f Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (244 of 244 strings)
2017-12-07 12:40:52 +01:00
Allan Nordhøy
3957eca94d Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (244 of 244 strings)
2017-12-07 12:40:51 +01:00
Tobias Groza
70111cf614 Translated using Weblate (German)
Currently translated at 99.5% (243 of 244 strings)
2017-12-07 12:40:49 +01:00
r2308145
f9e03c9a40 Translated using Weblate (Czech)
Currently translated at 100.0% (244 of 244 strings)
2017-12-07 12:40:45 +01:00
Christian Schabesberger
88fbdf1cc4 Merge branch 'dev' of github.com:teamnewpipe/NewPipe into dev 2017-12-07 11:36:05 +01:00
Christian Schabesberger
7b76bd79e8 fix swaped name/url for channel 2017-12-07 11:33:34 +01:00
Allan Nordhøy
f4b58e649d Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (244 of 244 strings)
2017-12-07 01:27:39 +01:00
John
91ff301d53 Pull up support lib version so all always match 2017-12-06 18:19:56 -06:00
Eduardo Caron
f5e1c99259 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (244 of 244 strings)
2017-12-07 01:12:44 +01:00
Enol P
abdcd3cc30 Translated using Weblate (Asturian)
Currently translated at 100.0% (244 of 244 strings)
2017-12-07 00:57:40 +01:00
Weblate
23615a39ac Merge remote-tracking branch 'origin/dev' into dev 2017-12-07 00:52:53 +01:00
r2308145
5fa5fc39fc Translated using Weblate (Czech)
Currently translated at 100.0% (239 of 239 strings)
2017-12-07 00:52:50 +01:00
Enol P
01b3c7e91b Translated using Weblate (Asturian)
Currently translated at 100.0% (239 of 239 strings)
2017-12-07 00:52:42 +01:00
Christian Schabesberger
e4e364af3f move on to v0.11.1 2017-12-06 14:49:48 +01:00
Christian Schabesberger
f2358692af update to latest newpipeextractor 2017-12-06 14:29:26 +01:00
TobiGr
26ed6299e3 - add donation hint and website to about activity
- move NewPipe's license to license tab
2017-12-05 17:07:31 +01:00
Christian Schabesberger
3a85187111 Merge pull request #895 from TeamNewPipe/remember
remember last screen orientation
2017-12-05 12:59:00 +01:00
Christian Schabesberger
4261a2eed3 remember last screen orientation 2017-12-05 12:51:23 +01:00
antfarmer
fef17163a9 Translated using Weblate (Bulgarian)
Currently translated at 76.1% (182 of 239 strings)
2017-12-01 11:44:51 +01:00
Deva
9dd447a14f Translated using Weblate (Tamil)
Currently translated at 5.8% (14 of 239 strings)
2017-11-27 15:50:18 +01:00
r2308145
ecf4407ba4 Translated using Weblate (Czech)
Currently translated at 100.0% (239 of 239 strings)
2017-11-27 13:42:16 +01:00
antfarmer
039c0d3ee6 Translated using Weblate (Bulgarian)
Currently translated at 45.6% (109 of 239 strings)
2017-11-25 19:44:55 +01:00
antfarmer
5808aead55 Added translation using Weblate (Bulgarian) 2017-11-23 21:00:38 +01:00
Eduardo Caron
e797e2e7f1 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (239 of 239 strings)
2017-11-23 20:58:37 +01:00
Weblate
23cacbfe65 Merge remote-tracking branch 'origin/dev' into dev 2017-11-23 19:46:19 +01:00
Massedil
4f94ee9b72 Translated using Weblate (French)
Currently translated at 100.0% (239 of 239 strings)

https://github.com/TeamNewPipe/NewPipe/issues/852
2017-11-23 19:46:16 +01:00
TheAssassin
0d1a26298a Recreate LICENSE
git revert screwed up so there was no LICENSE file at all any more, hence we have to recreate it.
2017-11-21 21:18:33 +01:00
TheAssassin
8ccd0b23e9 Revert "Create LICENSE"
This reverts commit d273f69852.
2017-11-21 21:14:52 +01:00
TheAssassin
9d8b991354 Revert "Rename LICENSE to LICENSE.txt"
This reverts commit eee3ccafc3.
2017-11-21 21:14:40 +01:00
TheAssassin
d273f69852 Create LICENSE 2017-11-21 16:06:47 +01:00
TheAssassin
eee3ccafc3 Rename LICENSE to LICENSE.txt
Should satisfy GitHub's license detection.
See https://help.github.com/articles/licensing-a-repository/ for details.
2017-11-21 15:15:07 +01:00
Allan Nordhøy
3686e90e81 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (239 of 239 strings)
2017-11-21 05:26:38 +01:00
wb9688
f5f8371865 Remove setting 2017-11-20 19:31:33 +01:00
wb9688
1191455d37 Show selected service 2017-11-20 16:04:18 +01:00
Andrey mm
1a5d9da2bf Translated using Weblate (Russian)
Currently translated at 99.5% (238 of 239 strings)
2017-11-20 04:49:02 +01:00
wb9688
011e151c91 Merge branch 'dev' into multiple-services 2017-11-19 17:41:57 +01:00
wb9688
54aa40eac1 Add simple drawer for selecting service 2017-11-19 17:21:46 +01:00
Andrey mm
21a7a73f6d Translated using Weblate (Russian)
Currently translated at 93.7% (224 of 239 strings)

changed according to format of "default audio" title
2017-11-18 08:40:20 +01:00
Andrey mm
5090b41eef Translated using Weblate (Russian)
Currently translated at 93.7% (224 of 239 strings)
2017-11-18 08:28:56 +01:00
ktln
0e55aa6249 Translated using Weblate (Russian)
Currently translated at 93.7% (224 of 239 strings)
2017-11-18 06:28:54 +01:00
Andrey mm
dd2dcf4df2 Translated using Weblate (Russian)
Currently translated at 93.7% (224 of 239 strings)
2017-11-18 06:28:20 +01:00
Oscar Hemelaar
2e84b28998 Translated using Weblate (French)
Currently translated at 100.0% (239 of 239 strings)
2017-11-17 22:46:13 +01:00
Oscar Hemelaar
e6cbfea5a7 Translated using Weblate (Spanish)
Currently translated at 100.0% (239 of 239 strings)
2017-11-16 22:05:00 +01:00
Weblate
641d662944 Merge remote-tracking branch 'origin/dev' into dev 2017-11-16 22:01:48 +01:00
Oscar Hemelaar
09208e183b Translated using Weblate (French)
Currently translated at 100.0% (239 of 239 strings)
2017-11-16 22:01:43 +01:00
Christian Schabesberger
fba3ece688 resolve conflict 2017-11-16 12:20:03 +01:00
Christian Schabesberger
f7d849a3cc Merge branch 'expiring_lru' of https://github.com/karyogamy/NewPipe into info 2017-11-16 11:55:39 +01:00
Allan Nordhøy
709c700cc6 Translated using Weblate (Norwegian Bokmål)
Currently translated at 99.5% (238 of 239 strings)
2017-11-16 07:48:32 +01:00
John Zhen Mo
2da411c1ec -#836: Modified notifications texts to use custom colors instead of device-specific styles. 2017-11-15 20:42:05 -08:00
John Zhen Mo
d6e4f3c809 -Saves the recovery timestamp when player source fails during a valid stream playback. 2017-11-15 20:09:38 -08:00
Freddy Morán Jr
1bb08db8ba Translated using Weblate (Spanish)
Currently translated at 98.7% (236 of 239 strings)
2017-11-15 19:49:38 +01:00
Daria Szatan
2ba116b1e6 Translated using Weblate (Polish)
Currently translated at 69.8% (167 of 239 strings)
2017-11-15 16:48:24 +01:00
lolloCreator
7088de0fb9 Translated using Weblate (Italian)
Currently translated at 100.0% (239 of 239 strings)
2017-11-15 16:47:12 +01:00
Duppadaadadii
7084f73d6c Translated using Weblate (Finnish)
Currently translated at 100.0% (239 of 239 strings)
2017-11-15 13:45:56 +01:00
John Zhen Mo
69374e25fe -Fixed cursor position to point to end after search text insert.
-Reduced and slightly changed offset of search text insert image.
2017-11-14 15:58:13 -08:00
John Zhen Mo
5e16969d61 -Increased search item insert arrow click space. 2017-11-14 11:34:17 -08:00
John Zhen Mo
0fe5a44e5a -Removed todo for timeout feature on info cache. 2017-11-14 11:34:16 -08:00
John Zhen Mo
98e617001d -Added search suggestion insert per #840. 2017-11-14 11:34:16 -08:00
John Zhen Mo
979bd09b29 -Fixed popup player not in foreground when opened by external intent.
-Fixed popup overlay permission causing exception when opened externally.
2017-11-14 11:34:15 -08:00
John Zhen Mo
77678b8f31 -Modified InfoItem LRU cache expire to allow expiration (current default 4 hours).
-Modified info type display on InfoItemDialog to show uploader name if exists.
2017-11-14 11:34:15 -08:00
lolloCreator
3575cac9d7 Translated using Weblate (Italian)
Currently translated at 100.0% (239 of 239 strings)
2017-11-14 16:40:51 +01:00
Weblate
8cdeaf1b27 Merge remote-tracking branch 'origin/dev' into dev 2017-11-14 13:23:41 +01:00
E T
08a8c6c414 Translated using Weblate (Turkish)
Currently translated at 100.0% (239 of 239 strings)
2017-11-14 13:23:40 +01:00
CookieCaptain D
fa5c1b22ae Translated using Weblate (Portuguese)
Currently translated at 95.8% (229 of 239 strings)
2017-11-14 13:23:34 +01:00
vipul jurel
a99e7f3288 Translated using Weblate (Hindi)
Currently translated at 100.0% (239 of 239 strings)
2017-11-14 13:23:32 +01:00
Duppadaadadii
a29506ed2f Translated using Weblate (Finnish)
Currently translated at 100.0% (239 of 239 strings)
2017-11-14 13:23:16 +01:00
Christian Schabesberger
1434b40d03 fix not compilling because of icepick 2017-11-14 12:14:01 +01:00
marin
6d6609187b Add dropdown menu and switch to background option 2017-11-13 20:29:54 +01:00
anonymous
9682eaae2a Translated using Weblate (Portuguese)
Currently translated at 92.4% (221 of 239 strings)
2017-11-13 19:48:08 +01:00
anonymous
1cdb4ccc17 Translated using Weblate (Portuguese)
Currently translated at 90.7% (217 of 239 strings)
2017-11-13 19:47:03 +01:00
CookieCaptain D
2a878dffbc Translated using Weblate (Portuguese)
Currently translated at 90.3% (216 of 239 strings)
2017-11-13 19:46:47 +01:00
anonymous
49f4fb7ed7 Translated using Weblate (Portuguese)
Currently translated at 89.9% (215 of 239 strings)
2017-11-13 19:46:31 +01:00
CookieCaptain D
caa985660a Translated using Weblate (Portuguese)
Currently translated at 89.1% (213 of 239 strings)
2017-11-13 19:45:46 +01:00
Weblate
3842a1e4fb Merge remote-tracking branch 'origin/dev' into dev 2017-11-13 18:41:49 +01:00
Matej U
e06d83cb93 Translated using Weblate (Slovenian)
Currently translated at 92.8% (222 of 239 strings)
2017-11-13 18:41:48 +01:00
Morten R
67df894448 Translated using Weblate (German)
Currently translated at 100.0% (239 of 239 strings)
2017-11-13 18:41:45 +01:00
Charles de Lacombe
d1ec6cf21b Translated using Weblate (French)
Currently translated at 94.5% (226 of 239 strings)
2017-11-13 18:41:43 +01:00
Enol P
537c561cee Translated using Weblate (Asturian)
Currently translated at 94.9% (227 of 239 strings)
2017-11-13 18:41:42 +01:00
Nathan Follens
a65ddc5b36 Translated using Weblate (Dutch)
Currently translated at 100.0% (239 of 239 strings)
2017-11-13 18:41:40 +01:00
Christian Schabesberger
1fb1b3a784 Merge branch 'dev' of github.com:teamnewpipe/NewPipe into dev 2017-11-12 23:58:29 +01:00
Christian Schabesberger
b80879765c Merge branch 'dev' of https://github.com/lawonga/NewPipe into fix 2017-11-12 23:58:08 +01:00
Weblate
10919fe15b Merge remote-tracking branch 'origin/dev' into dev 2017-11-12 21:52:51 +01:00
vipul jurel
9e5fe1edca Translated using Weblate (Hindi)
Currently translated at 100.0% (239 of 239 strings)
2017-11-12 21:52:50 +01:00
Mathias Norräng
03ee3f3d2a Translated using Weblate (Swedish)
Currently translated at 100.0% (239 of 239 strings)
2017-11-12 21:52:38 +01:00
Christian Schabesberger
4113283069 Merge pull request #833 from TeamNewPipe/fastlane
[WIP] add fastlane support
2017-11-12 21:34:10 +01:00
Mathias Norräng
56c5f696df Translated using Weblate (Swedish)
Currently translated at 61.0% (146 of 239 strings)
2017-11-12 21:12:20 +01:00
Weblate
9beb76e641 Merge remote-tracking branch 'origin/dev' into dev 2017-11-12 18:48:19 +01:00
YFdyh000
f71403be58 Translated using Weblate (Chinese (Simplified))
Currently translated at 87.4% (209 of 239 strings)
2017-11-12 18:48:16 +01:00
vipul jurel
d0e5d36b1b Translated using Weblate (Hindi)
Currently translated at 100.0% (239 of 239 strings)
2017-11-12 18:48:05 +01:00
Christian Schabesberger
fdeb7543ca fix channel rssbutton null pointer bug 2017-11-12 13:59:11 +01:00
Weblate
90716f4f5b Merge remote-tracking branch 'origin/dev' into dev 2017-11-12 13:22:06 +01:00
Ivan Krušlin
54d41bc288 Translated using Weblate (Croatian)
Currently translated at 100.0% (233 of 233 strings)
2017-11-12 13:22:05 +01:00
drgsh
d63c7a9042 Translated using Weblate (Hindi)
Currently translated at 25.7% (60 of 233 strings)
2017-11-12 13:22:01 +01:00
Christian Schabesberger
cd5b60cbed fix layout 2017-11-12 09:16:51 +01:00
Christian Schabesberger
6d60e6698a Merge branch 'play-queue-enhancement' of https://github.com/karyogamy/NewPipe into pqe 2017-11-12 08:33:05 +01:00
Christian Schabesberger
d53cb01396 add fastlane support
fix screenthots link

add description
2017-11-12 08:31:09 +01:00
lawonga
8baaecab1b #827 Fixes auto rotation bug with useAsFrontPage on by preserving the useAsFrontPage boolean setting 2017-11-11 19:51:20 -08:00
John Zhen Mo
1368f9f89e -Fixed channel header contrast color. 2017-11-11 15:05:48 -08:00
John Zhen Mo
ce36f3ae3b -Modified play queue action buttons on playlist and channel fragments.
-Added info item menu with custom title banner on long click.
-Enabled starting playlists and channels from middle.
-Enabled caching for play queue item thumbnails.
-Modified play queue to revert to first item on deleting last item.
2017-11-11 14:48:16 -08:00
John Zhen Mo
cf147aa161 -Reverted dropdown menu UI for list view info items. 2017-11-11 14:48:16 -08:00
John Zhen Mo
7700cff5e5 -Added play buttons to channel fragment similar to playlist fragment.
-Fixed abstract info play queue reloading the same initial page.
-Fixed OOB on get item for abstract play queue.
2017-11-11 14:48:16 -08:00
John Zhen Mo
b883f313ba -Fixed NPE when popup is updated during shutdown. 2017-11-11 14:48:16 -08:00
John Zhen Mo
b1ee22cde6 -Added scroll to fetch for external play queues.
-Modified service player activity scrolling to be instantaneous when difference is too large.
-Modified service player activity to no longer update metadata if nothing change when sync is called.
2017-11-11 14:48:16 -08:00
John Zhen Mo
b32f149a1b -Refactored Channel and Playlist PlayQueue into AbstractInfo playQueue.
-Increase list item action dropdown padding.
2017-11-11 14:48:16 -08:00
John Zhen Mo
1d136c6c35 -Added fast seeking on background notification when play queue size is 1.
-Fixed player intent with quality selection not used in detail fragment.
-Fixed window index not reset on sync when not playing.
-Fix dropdown play string for stream info item.
2017-11-11 14:48:16 -08:00
John Zhen Mo
b8a17580c5 -Added play queue dropdown to channel info items.
-Added play queue dropdown to playlist info items.
-Added Channel Play Queue.
-Renamed External Play Queue to Playlist Play Queue.
-Modified Playlist Play Queue to allow loading from initial state.
2017-11-11 14:48:16 -08:00
John Zhen Mo
87febf8679 -Added dropdown to start play for all StreamInfoItem.
-Refactored NavigationHelper to allow service player control to open anywhere.
-Refactored NavigationHelper to allow starting player at anywhere.
2017-11-11 14:48:16 -08:00
John Zhen Mo
38b2ffd450 -Added fling to toss popup view when velocity is below shutdown.
-Added string for unknown content.
-Fixed NPE when UI element is touched after player shuts down in service activity.
-Fixed shuffle reset caused by position discontinuity offsets index.
-Moved some more player shared preferences to PlayerHelper.
2017-11-11 14:48:16 -08:00
John Zhen Mo
01e031e7e7 -Modified recovery to not set if progress position is 0 or less.
-Modified queue item synchronization to no longer trigger update when the sync is run on the identical item.
2017-11-11 14:48:16 -08:00
John Zhen Mo
0b1eda3050 -Improved null checks in player stream resolution.
-Improved naming in MediaSourceManager
2017-11-11 14:48:16 -08:00
Weblate
52cdf96dfe Merge remote-tracking branch 'origin/dev' into dev 2017-11-11 18:55:55 +01:00
nautilusx
1f5eba59c5 Translated using Weblate (German)
Currently translated at 99.5% (232 of 233 strings)
2017-11-11 18:55:51 +01:00
r2308145
372c2f2be0 Translated using Weblate (Czech)
Currently translated at 100.0% (233 of 233 strings)
2017-11-11 18:55:48 +01:00
Ivan Krušlin
25e0b46396 Translated using Weblate (Croatian)
Currently translated at 100.0% (233 of 233 strings)
2017-11-11 18:55:45 +01:00
wb9688
621a1909ec Merge remote-tracking branch 'origin/dev' into multiple-services 2017-11-11 13:18:26 +01:00
Christian Schabesberger
d3332583b6 Merge branch 'dev' of github.com:teamnewpipe/NewPipe into dev 2017-11-10 21:31:39 +01:00
Christian Schabesberger
cb5cf9bb09 update support lib to 27.0.1 2017-11-10 21:31:19 +01:00
Nick Undnick
6cb2c2a84e Translated using Weblate (German)
Currently translated at 99.5% (232 of 233 strings)
2017-11-10 20:54:24 +01:00
nautilusx
633137fd79 Translated using Weblate (German)
Currently translated at 99.5% (232 of 233 strings)
2017-11-10 20:53:22 +01:00
Weblate
9627fdf33f Merge remote-tracking branch 'origin/dev' into dev 2017-11-10 20:46:38 +01:00
Praveen0899
b39366c80a Translated using Weblate (Telugu)
Currently translated at 72.5% (169 of 233 strings)
2017-11-10 20:46:38 +01:00
drgsh
ac01c49666 Translated using Weblate (Hindi)
Currently translated at 23.6% (55 of 233 strings)
2017-11-10 20:46:13 +01:00
r2308145
80d16ea407 Translated using Weblate (Czech)
Currently translated at 100.0% (233 of 233 strings)
2017-11-10 20:46:11 +01:00
Tobias Groza
4f44f26333 Translated using Weblate (German)
Currently translated at 99.5% (232 of 233 strings)
2017-11-10 20:46:08 +01:00
Christian Schabesberger
a21bdb1487 Merge branch 'studio-3' of https://github.com/wb9688/NewPipe into a 2017-11-10 20:45:05 +01:00
Christian Schabesberger
4d6a2f40d3 Merge pull request #830 from TobiGr/fix-ta-language-code
Fix Tamil language code
2017-11-10 19:47:12 +01:00
Nick Undnick
e6773aac0e Translated using Weblate (German)
Currently translated at 99.5% (232 of 233 strings)
2017-11-10 19:46:31 +01:00
TobiGr
997381d0c3 Fix Tamil language code 2017-11-10 16:57:58 +01:00
wb9688
ac53eeb76d Upgrade ACRA 2017-11-10 15:36:13 +01:00
wb9688
a09c8934fc Fix Travis 2017-11-10 15:34:57 +01:00
Ephraim Raj
b4120c39e6 Translated using Weblate (Hindi)
Currently translated at 21.8% (51 of 233 strings)
2017-11-10 13:46:37 +01:00
wb9688
5d6320d925 Upgrade to Studio 3 2017-11-10 10:33:59 +01:00
Xuacu Saturio
985bf50f7f Translated using Weblate (Asturian)
Currently translated at 96.5% (225 of 233 strings)
2017-11-09 22:44:19 +01:00
Allan Nordhøy
84d21af644 Translated using Weblate (Norwegian Bokmål)
Currently translated at 95.7% (223 of 233 strings)
2017-11-09 21:47:47 +01:00
Weblate
267cd99b04 Merge remote-tracking branch 'origin/dev' into dev 2017-11-08 19:49:19 +01:00
r2308145
401960079c Translated using Weblate (Czech)
Currently translated at 100.0% (233 of 233 strings)
2017-11-08 19:49:17 +01:00
Freddy Morán Jr
1fbc8a2850 Translated using Weblate (Spanish)
Currently translated at 98.7% (230 of 233 strings)
2017-11-08 19:49:08 +01:00
Christian Schabesberger
16fe5a94ac Merge pull request #821 from Stokkie64/patch-1
Update CONTRIBUTING.md
2017-11-08 13:02:34 +01:00
Arjen Singels
1c20a4d9eb Update CONTRIBUTING.md
fixed typo.
2017-11-08 13:58:01 +02:00
Christian Schabesberger
3a9f30d954 Merge pull request #812 from imallan/dev
Fixes ClassCastException when getting Bitmap from AdaptiveIcon
2017-11-08 12:55:07 +01:00
Christian Schabesberger
856aacf8ce Merge pull request #819 from TobiGr/fix-czech-plurals
Fix Czech plurals
2017-11-08 12:54:38 +01:00
TobiGr
441b510775 Fix plurals not showing number of views, videos and subscribers
Fix typo in pull request template
2017-11-07 14:48:48 +01:00
Weblate
88a10b5af1 Merge remote-tracking branch 'origin/dev' into dev 2017-11-07 11:44:38 +01:00
Duppadaadadii
65205ace95 Translated using Weblate (Finnish)
Currently translated at 100.0% (233 of 233 strings)
2017-11-07 11:44:37 +01:00
Nathan Follens
1a4ef06ee9 Translated using Weblate (Dutch)
Currently translated at 100.0% (233 of 233 strings)
2017-11-07 11:44:31 +01:00
r2308145
64ac631040 Translated using Weblate (Czech)
Currently translated at 100.0% (233 of 233 strings)
2017-11-07 11:44:30 +01:00
Omar
4e4cabb929 Translated using Weblate (Arabic)
Currently translated at 40.3% (94 of 233 strings)
2017-11-07 11:44:22 +01:00
Christian Schabesberger
b242c86869 add support for indian languages 2017-11-07 11:04:12 +01:00
vesp
d37fee346a Translated using Weblate (Czech)
Currently translated at 100.0% (233 of 233 strings)
2017-11-06 22:41:56 +01:00
r2308145
cc52d3b0af Translated using Weblate (Czech)
Currently translated at 100.0% (233 of 233 strings)
2017-11-06 22:41:07 +01:00
vesp
d5b1bae305 Translated using Weblate (Czech)
Currently translated at 100.0% (233 of 233 strings)
2017-11-06 22:39:44 +01:00
r2308145
04e22faf85 Translated using Weblate (Czech)
Currently translated at 100.0% (233 of 233 strings)
2017-11-06 22:38:51 +01:00
Nathan Follens
48cb3ed138 Translated using Weblate (Dutch)
Currently translated at 100.0% (233 of 233 strings)
2017-11-06 18:24:39 +01:00
wb9688
ebdeee8b3c Translated using Weblate (Dutch)
Currently translated at 100.0% (233 of 233 strings)
2017-11-06 18:21:29 +01:00
anonymous
6449d7d4ee Translated using Weblate (Dutch)
Currently translated at 100.0% (233 of 233 strings)
2017-11-06 18:20:08 +01:00
yilun
4b775d15a2 Fixes ClassCastException when getting Bitmap from AdaptiveIcon on Android 8+ 2017-11-06 12:27:10 +00:00
wb9688
e4d6a453b0 Translated using Weblate (Dutch)
Currently translated at 100.0% (233 of 233 strings)
2017-11-06 11:44:55 +01:00
anonymous
9dcbcd57cb Translated using Weblate (Arabic)
Currently translated at 33.4% (78 of 233 strings)
2017-11-06 10:36:44 +01:00
Omar
17aa44c88b Translated using Weblate (Arabic)
Currently translated at 33.4% (78 of 233 strings)
2017-11-06 10:36:32 +01:00
Weblate
60dc266e13 Merge remote-tracking branch 'origin/dev' into dev 2017-11-05 23:03:03 +01:00
Duppadaadadii
60ed308caa Translated using Weblate (Finnish)
Currently translated at 100.0% (233 of 233 strings)
2017-11-05 23:02:59 +01:00
Christian Schabesberger
c485e7e167 merge master 2017-11-05 21:00:05 +01:00
Christian Schabesberger
71a8361580 merge dev 2017-11-05 20:59:17 +01:00
Christian Schabesberger
666dce1b6f move on to version v0.11.0 2017-11-05 20:58:32 +01:00
Christian Schabesberger
7bed1c2295 merge weblate crash 2017-11-05 18:08:53 +01:00
Duppadaadadii
51325089f0 Translated using Weblate (Finnish)
Currently translated at 99.5% (232 of 233 strings)
2017-11-05 00:48:12 +01:00
Mladen Pejaković
90666a84ac Translated using Weblate (Serbian)
Currently translated at 99.1% (231 of 233 strings)
2017-11-05 00:48:10 +01:00
Christian Schabesberger
0c37bd3a64 Merge pull request #809 from TobiGr/fix-kosk-strings
Remove unused "service_kosk_string" strings
2017-11-03 21:59:21 +01:00
Weblate
753517fb56 Merge remote-tracking branch 'origin/dev' into dev 2017-11-03 21:45:03 +01:00
Ivan Krušlin
b939daac2a Translated using Weblate (Croatian)
Currently translated at 90.1% (210 of 233 strings)
2017-11-03 21:44:58 +01:00
TobiGr
8f2b7b2783 remove unused "service_kosk_string" strings 2017-11-03 18:58:19 +01:00
Christian Schabesberger
883d4b4065 Merge branch 'dev' of github.com:teamnewpipe/NewPipe into dev 2017-11-02 20:46:45 +01:00
Christian Schabesberger
ff38ae202b Merge branch 'fix-open-channel-url-in-browser' of https://github.com/coffeemakr/NewPipe into chan 2017-11-02 20:36:31 +01:00
Tobias Groza
7b71302a63 Translated using Weblate (German)
Currently translated at 97.8% (228 of 233 strings)
2017-11-02 18:46:20 +01:00
Duppadaadadii
cbf8fc5bb9 Translated using Weblate (Finnish)
Currently translated at 99.5% (232 of 233 strings)
2017-11-02 16:45:36 +01:00
Tobias Groza
00797a7834 Translated using Weblate (Lithuanian)
Currently translated at 60.9% (142 of 233 strings)
2017-11-02 08:11:42 +01:00
Coffeemaker
de092e5357 Translated using Weblate (German)
Currently translated at 97.8% (228 of 233 strings)
2017-11-01 18:30:50 +01:00
Georg Rieger
bba8739008 Translated using Weblate (German)
Currently translated at 96.5% (225 of 233 strings)
2017-11-01 16:45:26 +01:00
Coffeemaker
3c5564b274 Translated using Weblate (German)
Currently translated at 96.1% (224 of 233 strings)
2017-11-01 16:45:13 +01:00
Georg Rieger
f3ff24cfbf Translated using Weblate (German)
Currently translated at 95.7% (223 of 233 strings)
2017-11-01 16:44:52 +01:00
Tobias Groza
975b519585 Translated using Weblate (German)
Currently translated at 95.2% (222 of 233 strings)
2017-11-01 16:37:58 +01:00
Georg Rieger
7f1f34f812 Translated using Weblate (German)
Currently translated at 95.2% (222 of 233 strings)
2017-11-01 16:37:28 +01:00
Tobias Groza
d5bab1006e Translated using Weblate (German)
Currently translated at 91.8% (214 of 233 strings)
2017-11-01 16:32:26 +01:00
Coffeemakr
b52e48a355 Use provided url instead of channelInfo 2017-11-01 16:30:24 +01:00
Emanuele Petriglia
68a807a446 Translated using Weblate (Italian)
Currently translated at 100.0% (233 of 233 strings)
2017-11-01 13:17:25 +01:00
Weblate
0dc6b66825 Merge remote-tracking branch 'origin/dev' into dev 2017-11-01 12:14:16 +01:00
Anton Shestakov
a9db7616aa Translated using Weblate (Russian)
Currently translated at 95.2% (222 of 233 strings)
2017-11-01 12:14:15 +01:00
nailyk
b71e2833d6 Translated using Weblate (French)
Currently translated at 96.9% (226 of 233 strings)
2017-11-01 12:14:13 +01:00
blacklight
56bc919866 Translated using Weblate (Dutch)
Currently translated at 88.8% (207 of 233 strings)
2017-11-01 12:14:11 +01:00
Eduardo Caron
ac3d8cddbe Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (233 of 233 strings)
2017-11-01 12:14:03 +01:00
Christian Schabesberger
aa10b392ae Merge pull request #803 from coffeemakr/bugfix-play-from-sdcard
[WIP] Add root-path /storage (fixes #707)
2017-11-01 01:37:29 +01:00
Christian Schabesberger
e8ea1c92b1 Merge pull request #805 from karyogamy/notification-controls-intent-fix
Fixes Open Control intent exception between SDK 21 and 24
2017-11-01 01:37:15 +01:00
Weblate
b5d7b80fe9 Merge remote-tracking branch 'origin/dev' into dev 2017-10-31 20:46:09 +01:00
Joona Mattila
2a328e28da Translated using Weblate (Finnish)
Currently translated at 100.0% (219 of 219 strings)
2017-10-31 20:46:03 +01:00
Christian Schabesberger
3d1cc348c8 fix getUploaderName() and move on to v0.10.2 2017-10-31 19:47:46 +01:00
John Zhen Mo
3d5c173d61 -Fixed new task intent for opening controls on players between sdk 21 and 24. 2017-10-31 07:17:51 -07:00
Christian Schabesberger
9a5da5199d Merge branch 'dev' of github.com:teamnewpipe/NewPipe into dev 2017-10-31 14:18:46 +01:00
Christian Schabesberger
764a171a25 fix nullpinter exception for getUploaderName() 2017-10-31 14:18:38 +01:00
Coffeemakr
25061ab07c Add root-path /storage (fixes #707)
See
https://stackoverflow.com/questions/32333094/android-fileprovider-for-ext-sdcard
for why this solution migth work.
2017-10-31 12:14:44 +01:00
Christian Schabesberger
6074925102 Update README.md 2017-10-31 10:41:39 +01:00
Christian Schabesberger
f8c0c449bf Merge branch 'fature-log-kodi-videos' of https://github.com/coffeemakr/NewPipe into kodi 2017-10-31 10:08:28 +01:00
Coffeemakr
26d18c588e Implement channel menu (closes #759) 2017-10-31 09:25:27 +01:00
Coffeemakr
6f18dd26a2 Call history listener for Kodi (closes #798)
If Kore (the Kodi App) was sucessfully started the history listener is
invoked.
2017-10-31 07:47:14 +01:00
Coffeemakr
7340bc05b4 Small refactoring for Kore and Kodi
* Improve installation procedure
2017-10-31 07:45:53 +01:00
John Zhen Mo
b0948cf9fc -Modified selected play queue item to highlight entire item instead of text.
-Added selected item bullet.
-Modified play queue panel darker on main video player.
-Fixed color issue on play queue panel on light-themed main video player.
-Fixed hold-to-enqueue tooltip flashing when clicked on earlier sdk versions.
-Fixed queue item removal causing metadata for currently playing to refresh.
2017-10-30 20:59:21 -07:00
John Zhen Mo
86c16fa5d8 -Fixed activity padding.
-Fixed expanded notification artist name.
-Fixed playpause on complete setting wrong index.
2017-10-30 20:58:47 -07:00
John Zhen Mo
68695bbf92 -Modified MediaSourceManager to immediately load on critical events.
-Fixed tag name for background service actcivity.
-Removed unused track selector.
-Removed unused database entities.
2017-10-30 20:58:47 -07:00
John Zhen Mo
b4fdbdeb1b -Added load debouncing to MediaSourceManager to prevent mass loading due to rapid timeline change.
-Added marquee title to main video player.
-Modified destroyPlayer to always dispose play queue and media source manager.
-Remove unused code from players.
2017-10-30 20:58:47 -07:00
John Zhen Mo
1fb3774e03 -Changed play queue item building to shrink thumbnail before caching.
-Renamed refactor directory in player to helper.
-Fixed background player notification update causing lag on older spec models.
-Fixed service activity theme not changing after user setting is changed.
-Fixed NPE on popup player fling to close.
-Fixed audio reactor volume and max volume mixup.
-Added correct toast for each player error case.
-Fixed button coloring for play queue service activity on landscape.
-Changed title and uploader text to marquee for vertical service activity.
-Removed cache clearing on every thumbnail load.
2017-10-30 20:58:47 -07:00
John Zhen Mo
f284a799ef -Added wake and wifi lock to popup video player.
-Added seek time display to player binding activity.
-Added button effect for all image buttons on player binding activity.
-Added click to scroll to current selected on metadata layout for player binding activity.
-Refactored player utilities and preference getters into PlayerHelper.
-Refactored player caching into CacheFactory.
-Refactored player audio related methods into AudioReactor.
-Refactored player locks into LockManager.
-Refactored player loading and buffering mechanics into LoadController.
-Fixed outdated names for background player.
2017-10-30 20:58:47 -07:00
John Zhen Mo
c6e759a94c -Fixed popup player not playing in foreground.
-Fixed activity binder memory leak in popup and background players.
-Fixed out of bound window after removing last item on play queue.
-Fixed MediaSourceManager continues to process update after disposed.
-Changed play queue append to shuffle if queue is already shuffled.
2017-10-30 20:58:46 -07:00
John Zhen Mo
052c9a9869 -Added persisting settings when switching between players. 2017-10-30 20:58:46 -07:00
John Zhen Mo
0806344ffb -Changed quality resolution to persist across player.
-Updated ExoPlayer to 2.5.4.
-Expanded button size in main video player play queue.
-Removed Quality event.
-Extracted player error strings to xml.
2017-10-30 20:58:46 -07:00
John Zhen Mo
d0e626c6ee -Fixed popup and main video players not using different quality resolution. 2017-10-30 20:58:46 -07:00
John Zhen Mo
9068247856 -Reverted manual track selection from exoplayer track selector.
-Added quality record to play queue items.
-Added quality and recovery record play queue events.
-Added landscape view for ServicePlayerActivity.
-Moved repeat and shuffle button to play queue panel in main video player.
-Fixed potential NPE in MediaSourceManager by no longer nulling play queue on dispose.
-Renamed PlayQueueEvent to PlayQueueEventType.
-Renamed PlayQueueMessage to PlayQueueEvent.
2017-10-30 20:58:46 -07:00
John Zhen Mo
4553850412 -Baked recovery records into play queue items.
-Added previous and next button on main video player.
-Reverted double tap to seek for popup and main video players.
-Improved shuffling to use recovery record.
-Changed shuffling to place current playing stream to top of queue.
-Fixed exception when removing last item on queue.
-Changed fast forward and rewind button to previous and next on background notification.
-Changed background notification to not update when screen is off and update immediately when screen is turned back on.
-Removed unused intent strings.
-Changed "Append" to "Enqueue" for append text.
2017-10-30 20:58:46 -07:00
John Zhen Mo
21d42c92e5 -Reduced text size for hold to append tip.
-Added options to turn off hold to append tip.
2017-10-30 20:58:46 -07:00
John Zhen Mo
eb9770e3ba -Fixed set index ignoring selection to current index when queue at current index changed.
-Modified popup player to disable rendering when screen is off.
2017-10-30 20:58:46 -07:00
John Zhen Mo
d54a6e0b0e -Added helper text on click for background and popup button on detail fragment for feature discovery.
-Fixed popup video queuing causes existing popup player to change quality.
2017-10-30 20:58:45 -07:00
John Zhen M
a8f5cfa640 -Added different toast for append long click on detail fragment.
-Corrected drag handle icon.
-Removed reorder icon.
-Refactored play queue item selection.
2017-10-30 20:58:45 -07:00
John Zhen M
0d3e0c201e -Fixed MediaSourceManager from inserting already inserted entry. 2017-10-30 20:58:45 -07:00
John Zhen M
cc4e4a4f91 -Fixed external popup share not starting. 2017-10-30 20:58:45 -07:00
John Zhen M
b597774bb9 -Enabled play queue control in main video player.
-Fixed video players does not resolve to preferred quality on playlists.
-Refactored resolution conversion to Localization.
-Fixed video player quality menu building exception when stream info is not yet available.
2017-10-30 20:58:45 -07:00
John Zhen M
87fca5cffe -Enabled play queue control panel for popup video player.
-Refactored background player activity into generic play queue control panel activity.
-Changed control panel activities into singleTask.
2017-10-30 20:58:45 -07:00
John Zhen M
9685456ee4 -Added new intents to append streams to current player.
-Added long clicks for popup and background player buttons on details fragment for append intents.
-Removed restrictions for preventing UI to show up when player is buffering.
-Fixed icons for all repeat modes.
-Added Progress bar to background activity when player is in not ready state.
-Fixed Track Selection when switching between video and audio only on video players.
-Fixed video player to enable tunnelling only after sdk > 21.
-Fixed activity exception from restarting after service is shutdown on earlier sdk versions.
2017-10-30 20:58:45 -07:00
John Zhen M
6a9e3ef639 -Added dropdown menu for background player activity.
-Added icons for shuffle and drag handle.
-Fixed exception when returning to background player activity after service shuts down.
-Fixed open detail only working for Youtube.
2017-10-30 20:58:45 -07:00
John Zhen M
b5a9f042cc -Fixed background player activity crashes on receiving update when stopped (lifecycle still active). 2017-10-30 20:58:45 -07:00
John Zhen M
770dcc1832 -Fixed incorrect indexing due to item removed after shuffle.
-Fixed activity binding not unbound after service shutdown.
2017-10-30 20:58:45 -07:00
John Zhen M
94f7baf299 -Added variable speed and pitch to background player.
-Moved playback speed LUT to BasePlayer.
2017-10-30 20:58:44 -07:00
John Zhen M
77979eddde -Added shuffle button to background player.
-Extracted MediaSourceManager window size as parameter.
-Removed redundant list manipulation in PlayQueueAdapter.
2017-10-30 20:58:44 -07:00
John Zhen M
f1e52b8b92 -Fixed incorrect stream from being played after consecutive player errors.
-Fixed MediaSource reuse due to MediaSourceManager not resetting source on block.
2017-10-30 20:58:44 -07:00
John Zhen M
2e414cfd63 - Added move mechanic to background player through handles (on both thumbnail and icon).
- Added remove and open detail as long click popup dropdown on background player.
- Vastly simplified list manipulation in MediaSourceManager by delegating most control to DynamicConcatenatingMediaSource.
2017-10-30 20:58:44 -07:00
John Zhen M
f5b5982e1c -Improved DeferredMediaSource to build source on IO thread.
-Improved exception handling for player.
2017-10-30 20:58:44 -07:00
John Zhen M
eebd83d6ac -Fixed deferred media source from releasing reused resources.
-Fixed external play queue to load more than once.
-Fixed wrong item removal due to player error.
-Added new event to indicate error to play queue.
-Changed player error to skip item instead of removing.
-Modified play queue adapter to update changed items only.
-Removed headers from play queue adapter.
-Merged event broadcast on play queue.
-Changed toast on player error.
-Modified remove event to no longer indicate current index status.
-Modified move event to no longer indicate randomization status.
-Added shuffle check to play queue.
2017-10-30 20:58:44 -07:00
John Zhen M
a9aee21e58 - Improved play queue adapter for selection.
- Fixed media source resolution on background player for streams without an audio only stream.
- Fixed background player not updating when screen turns back on.
- Fixed background player notification switching to wrong repeat mode icon opacity on click.
2017-10-30 20:58:44 -07:00
John Zhen M
bd9ee18e56 -Fixed TransactionTooLarge due to notification being shown for too long.
-Fixed Play Queue rewinding to last played video upon removing the currently playing.
2017-10-30 20:58:44 -07:00
John Zhen M
c75c2d0f21 -Added documentations for play queue components. 2017-10-30 20:58:44 -07:00
John Zhen M
80f3e3c3b6 -Added temporary fix for mapping track selection with video streams.
-Updated ExoPlayer to 2.5.3.
2017-10-30 20:58:44 -07:00
John Zhen M
86a1fcf009 -Fixed unavailable current info when initial stream of playlist fails. 2017-10-30 20:58:43 -07:00
John Zhen M
c235c647a0 -Fixed background player notification update NPE. 2017-10-30 20:58:43 -07:00
John Zhen M
09d8ae1316 -Generify all player intents to use play queues.
-Fixed sync updates out-of-sync on background notification.
-Fixed main video player destroyed on resume.
-Fixed track selection using wrong dimension for parameter.
-Fixed background player to use default audio quality.
-Removed quality index from single queue items.
2017-10-30 20:58:43 -07:00
John Zhen M
cb7e94449c -Modified quality change to persist with its binding player.
-Fixed media source stops loading when the sequence of failed media is longer than window size.
-Changed player to release and reset on intent start.
-Removed update event.
2017-10-30 20:58:43 -07:00
John Zhen M
e742091a37 -Modified quality change to use internal track selection.
-Enabled audio processing integration with system EQ.
-Re-endabled HDR through tunneling on videos only.
2017-10-30 20:58:43 -07:00
John Zhen M
8e3be3826f -Fixed Deferred Media Source not working on non-extractor (e.g. dash) sources.
-Fixed NPE when extracting streams with no audio.
2017-10-30 20:58:43 -07:00
John Zhen M
9bc95f030c -Baked stream info resolution into custom media source, allowing for simpler playlist control.
-Added track merging on different stream qualities, allowing for implementation of smooth transition on A/V quality and captions change.
2017-10-30 20:58:43 -07:00
John Zhen M
9576d5bd89 -Fixed audio focus not working with timeline changes.
-Changed circular loading to boundary loading.
2017-10-30 20:58:43 -07:00
John Zhen M
a0ba3ce2e4 -Made playback manager load circular.
-Improved play previous button to reset before 5 seconds.
2017-10-30 20:58:43 -07:00
John Zhen M
6b816a11f7 -Added reorder event.
-Improved player blocking.
2017-10-30 20:58:43 -07:00
John Zhen M
86c7b8522e -Reverted current item removal and update logic.
-Updated external play queue.
2017-10-30 20:58:43 -07:00
John Zhen M
f9eb2a1ee5 -Fixed activity pause and resume lifecycle. 2017-10-30 20:58:43 -07:00
John Zhen M
174d040ca3 -Modified quality update to no longer invalidate concatenated media sources.
-Improved play queue and timeline update.
2017-10-30 20:58:42 -07:00
John Zhen M
6b16b08712 -Fixed bad window timeline caused by reusing media source on unblocking.
-Fixed timeline recovery skipping.
-Fixed timeline updates resumes playing when player is paused.
2017-10-30 20:58:42 -07:00
John Zhen M
e9cdb28a06 -Fixed audio focus change not firing. 2017-10-30 20:58:42 -07:00
John Zhen M
f8abf92a66 -Refactored Playback manager to expose only readonly methods.
-Removed swap and move operations.
-Code clean up.
2017-10-30 20:58:42 -07:00
John Zhen M
9413856463 -Added back notification on popup player. 2017-10-30 20:58:42 -07:00
John Zhen M
c24d46cf0f -Fixed seek problems caused by dynamic timeline .
-Removed debouncing, players are now much more responsive.
-Removed some redundant methods.
2017-10-30 20:58:42 -07:00
John Zhen M
c38e4190f1 -Fix restart button not working 2017-10-30 20:58:42 -07:00
John Zhen M
53cec61cdf -Removed redundant track removal after playing.
-Reverted thumbnail loader to use ImageLoader.
2017-10-30 20:58:42 -07:00
John Zhen M
150c3b413a -Fixed memory leak due to permanent remote view bitmap references.
-Removed redundant code in popup player.
2017-10-30 20:58:42 -07:00
John Zhen M
eb15c04254 -Added debouncing to index change reactor.
-Fixed repeat mode on background notification.
2017-10-30 20:58:42 -07:00
John Zhen M
7d7a6f7ccc -Enable background and popup playlists. 2017-10-30 20:58:42 -07:00
John Zhen M
b54d18d888 -Changed intents to start all players, including player swap.
-Make play queue and items serializable
-Removed now deprecated code for playing url in exoplayer
2017-10-30 20:58:42 -07:00
John Zhen M
705028c79d -Modified player repeat mode to use exoplayer repeat mode.
-Merged playback manager init load logic with normal load logic.
2017-10-30 20:58:41 -07:00
John Zhen M
a91ef2ce9e -Fix play queue remove.
-Fix player discontinuity refresh.
2017-10-30 20:58:41 -07:00
John Zhen M
73f46d3762 -Modified play queues and items to use extraction helper.
-Fixed play queue item removal.
-Rebase changes.
2017-10-30 20:58:41 -07:00
John Zhen M
1ceda017c7 -Revert subscription fragment merge fault 2017-10-30 20:58:41 -07:00
John Zhen M
725cedab72 -Unregister extractor submodule 2017-10-30 20:58:41 -07:00
John Zhen M
40b60e8313 -Error processing for failed video during queued playback. 2017-10-30 20:58:41 -07:00
John Zhen M
5c01f04a07 -Functional playlist using full play queue buffering. 2017-10-30 20:58:41 -07:00
John Zhen M
183181ee54 -Added full play queue buffering playback manager. 2017-10-30 20:58:41 -07:00
John Zhen M
74b58cae59 -Improved play queue message bus
-Hooking play queue engines with video players (to be removed)
-Proof of concept for previous and next controls
2017-10-30 20:58:41 -07:00
John Zhen M
b859823011 -Hooking playback manager and play queue into main video player. 2017-10-30 20:58:41 -07:00
John Zhen M
701320b100 -Added separate events for play queue index removal. 2017-10-30 20:58:40 -07:00
John Zhen M
dcdcf17f5e -Added on change event bus to Play Queue.
-Added playback manager for player interaction.
2017-10-30 20:58:40 -07:00
John Zhen M
7c9c3de644 -Rename playlist in players to play queue. 2017-10-30 20:58:40 -07:00
John Zhen M
cbcd281784 -Added MediaSourceManager and Playlist adapters. 2017-10-30 20:58:40 -07:00
John Zhen M
e70dcdc642 -Added rudimentary playlist fragment.
-Added schema for stream storage.
2017-10-30 20:58:40 -07:00
Christian Schabesberger
391d3e7fc7 fix back button for feed on main page 2017-10-30 23:03:18 +01:00
Christian Schabesberger
02d986fc89 fix multidefined swipe problem in history page 2017-10-30 22:46:55 +01:00
Christian Schabesberger
65a6488e44 dont show search history in suggestion when disabled 2017-10-30 22:04:58 +01:00
Christian Schabesberger
cf703d5213 Merge branch 'patch-1' of https://github.com/SpajicM/NewPipe into chron 2017-10-30 21:40:19 +01:00
Weblate
3a8437c6f3 Merge remote-tracking branch 'origin/dev' into dev 2017-10-30 19:45:58 +01:00
Joona Mattila
640396da64 Translated using Weblate (Finnish)
Currently translated at 100.0% (219 of 219 strings)
2017-10-30 19:45:55 +01:00
SpajicM
7e005549fe Fix history showing even when disabled 2017-10-30 11:53:44 +01:00
Christian Schabesberger
59b3362715 put bountysource bounty lable on top of readme 2017-10-29 21:34:52 +01:00
Weblate
9dc8e47113 Merge remote-tracking branch 'origin/dev' into dev 2017-10-29 19:17:45 +01:00
Emanuele Petriglia
e958545230 Translated using Weblate (Italian)
Currently translated at 100.0% (220 of 220 strings)
2017-10-29 19:17:43 +01:00
Joona Mattila
76f3e170d5 Translated using Weblate (Finnish)
Currently translated at 100.0% (220 of 220 strings)
2017-10-29 19:17:40 +01:00
Christian Schabesberger
a5af49dafd fix weblate crash 2017-10-29 14:23:47 +01:00
Christian Schabesberger
736d9fe450 Merge branch 'license-dialog' of https://github.com/TobiGr/NewPipe into license 2017-10-29 10:28:52 +01:00
Emanuele Petriglia
bd7a520316 Translated using Weblate (Italian)
Currently translated at 100.0% (220 of 220 strings)
2017-10-28 21:36:16 +02:00
Freddy Morán Jr
7f5b5d6f03 Translated using Weblate (Spanish)
Currently translated at 99.5% (219 of 220 strings)
2017-10-28 01:49:13 +02:00
Christian Schabesberger
8d5a59e7d5 fix light theme for main page 2017-10-26 23:56:02 +02:00
Christian Schabesberger
989acce0a5 Merge branch 'popup_improvement' of https://github.com/karyogamy/NewPipe into size 2017-10-26 20:49:43 +02:00
Christian Schabesberger
641b4a806a Merge branch 'tabs' into dev 2017-10-26 20:46:05 +02:00
Christian Schabesberger
025a44b629 fix channel title for new tabs 2017-10-26 20:45:16 +02:00
Christian Schabesberger
dd64bf2af7 make title contain current tab 2017-10-26 15:16:35 +02:00
Filip Sebastian
d5b3f65076 Translated using Weblate (Romanian)
Currently translated at 100.0% (220 of 220 strings)
2017-10-26 14:53:31 +02:00
ButterflyOfFire
66de4cbead Translated using Weblate (French)
Currently translated at 98.1% (216 of 220 strings)
2017-10-26 14:53:26 +02:00
ButterflyOfFire
be3d6adf77 Translated using Weblate (Arabic)
Currently translated at 30.9% (68 of 220 strings)
2017-10-26 14:53:23 +02:00
Eduardo Caron
65e83e8fb6 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (220 of 220 strings)
2017-10-26 14:53:14 +02:00
Christian Schabesberger
7a2be6f12c Merge pull request #784 from TobiGr/fix-kiosk-typo
Fix kiosk typo
2017-10-26 14:16:12 +02:00
Tobias Groza
0d6662b558 Translated using Weblate (German)
Currently translated at 95.0% (209 of 220 strings)
2017-10-26 11:46:10 +02:00
TobiGr
0a2aa54508 fix typo 2017-10-26 09:23:43 +02:00
John Zhen Mo
f6353cfb47 -Added fling mechanic for popup player shutdown.
-Changed long click to fill screen for popup player.
-Added 2-finger resizing for popup player.
-Removed long click resize mechanic.
2017-10-25 22:00:58 -07:00
Anton Shestakov
fb71ba3b7c Translated using Weblate (Russian)
Currently translated at 98.1% (216 of 220 strings)
2017-10-26 06:48:31 +02:00
Filip Sebastian
ac6e086c26 Translated using Weblate (French)
Currently translated at 94.0% (207 of 220 strings)
2017-10-25 20:39:55 +02:00
Christian Schabesberger
4c4cfb49b4 make tabs contain icons instead of title 2017-10-25 16:09:26 +02:00
Christian Schabesberger
9a073713bb put tabs on top 2017-10-25 15:20:57 +02:00
Filip Sebastian
4db3bd3270 Translated using Weblate (Romanian)
Currently translated at 100.0% (220 of 220 strings)
2017-10-25 00:01:23 +02:00
Filip Sebastian
d5d9ed7200 Translated using Weblate (Romanian)
Currently translated at 100.0% (220 of 220 strings)
2017-10-25 00:00:28 +02:00
Weblate
0e409bb993 Merge remote-tracking branch 'origin/dev' into dev 2017-10-24 23:56:06 +02:00
Joona Mattila
89a8769399 Translated using Weblate (Finnish)
Currently translated at 99.0% (204 of 206 strings)
2017-10-24 23:56:04 +02:00
Filip Sebastian
fdfd94b9d0 Translated using Weblate (Romanian)
Currently translated at 100.0% (206 of 206 strings)
2017-10-24 23:55:54 +02:00
Christian Schabesberger
ba56aec353 Merge branch 'trending' into dev 2017-10-23 23:14:49 +02:00
Christian Schabesberger
3ac3cedc19 add fdroid build server node to contribution.md 2017-10-23 15:16:34 +02:00
Christian Schabesberger
2756db6601 downgrade gralde wrapper to 4.2 2017-10-23 14:59:30 +02:00
Christian Schabesberger
7d296ee650 remove hardcoded strings form MainFragment 2017-10-23 00:26:20 +02:00
Christian Schabesberger
ccd26b4146 fix kiosk service/icon 2017-10-22 23:56:39 +02:00
Christian Schabesberger
5d4269be4c Merge branch 'dev' into trending 2017-10-22 23:43:48 +02:00
Christian Schabesberger
54cdfc0c16 deactivate icon 2017-10-22 22:53:27 +02:00
Christian Schabesberger
fd899a2e95 fix cammel case 2017-10-22 22:10:48 +02:00
Christian Schabesberger
d1f446aae2 make summary a dynamic string 2017-10-22 22:06:25 +02:00
Christian Schabesberger
c3f04ea67d fix Kisok spelling error 2017-10-22 21:46:50 +02:00
Coin
7b56aaad53 Translated using Weblate (Chinese (Hong Kong))
Currently translated at 68.9% (142 of 206 strings)
2017-10-22 09:44:44 +02:00
Joona Mattila
b73677fa5e Translated using Weblate (Finnish)
Currently translated at 98.0% (202 of 206 strings)
2017-10-21 01:46:12 +02:00
TobiGr
0040ee5cb6 Fix charset issue.
Move Java I/O related methods to separate thread.
2017-10-20 23:41:30 +02:00
Weblate
f391574113 Merge remote-tracking branch 'origin/dev' into dev 2017-10-19 22:34:40 +02:00
Joona Mattila
ea863b0c24 Added translation using Weblate (Finnish) 2017-10-19 22:34:36 +02:00
Christian Schabesberger
4506c90e59 Merge pull request #771 from TeamNewPipe/master
Release v0.10.1
2017-10-18 11:59:53 +02:00
Christian Schabesberger
894a63ed82 Merge branch 'dev' into master 2017-10-18 11:56:11 +02:00
Christian Schabesberger
0155454526 moved on to version v0.10.1 2017-10-18 11:44:24 +02:00
Weblate
f7aafb87a8 Merge remote-tracking branch 'origin/dev' into dev 2017-10-17 14:51:16 +02:00
Anton Shestakov
227001ec32 Translated using Weblate (Russian)
Currently translated at 99.0% (204 of 206 strings)
2017-10-17 14:51:15 +02:00
Sérgio Marques
d765364915 Translated using Weblate (Portuguese)
Currently translated at 100.0% (206 of 206 strings)
2017-10-17 14:51:15 +02:00
developerchan1
3d47e63d6f Translated using Weblate (Indonesian)
Currently translated at 81.0% (167 of 206 strings)
2017-10-17 14:51:12 +02:00
Allan Nordhøy
79c5c3cc57 Translated using Weblate (Norwegian Bokmål)
Currently translated at 99.5% (205 of 206 strings)
2017-10-17 14:51:02 +02:00
Christian Schabesberger
8babbddcf9 Merge pull request #766 from jlelse/dev
Updated Gradle wrapper
2017-10-16 15:25:11 +02:00
Christian Schabesberger
13756508d3 Merge pull request #757 from coffeemakr/fix-service-id-not-initialized
Fix service id not initialized
2017-10-16 15:22:26 +02:00
Bruno Guerreiro
b7fe001b13 Translated using Weblate (Portuguese)
Currently translated at 100.0% (206 of 206 strings)
2017-10-15 19:10:11 +02:00
TheAssassin
35b4110a7a Fix half finished paragraph 2017-10-15 18:42:49 +02:00
Jan-Lk Else
cdca0c6325 Updated Gradle wrapper 2017-10-14 11:42:00 +02:00
Christian Schabesberger
d928f5759f try to fix margin / padding 2017-10-13 13:55:55 +02:00
Christian Schabesberger
23eeb4353d make main page changes display emediatly 2017-10-13 13:49:31 +02:00
Christian Schabesberger
8e8d74b5b7 remove header front kiosk 2017-10-13 13:01:16 +02:00
Weblate
094851cc7d Merge remote-tracking branch 'origin/dev' into dev 2017-10-13 02:33:58 +02:00
Enol P
f55612be40 Translated using Weblate (Asturian)
Currently translated at 100.0% (206 of 206 strings)
2017-10-13 02:33:51 +02:00
Christian Schabesberger
0951f0f824 small fixes
small fixes
2017-10-11 15:25:10 +02:00
Tryton Van Meer
b70fd826e7 Fix crash when returning to player.
When switching apps or locking the phone, destroyPlayer is called which sets audioManager to null. So upon returning to the player and pressing play, the app crashes.
So now initPlayer checks if audioManager is null and sets it if needed.
2017-10-11 14:27:32 +02:00
Coin
994559b39b Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (206 of 206 strings)
2017-10-10 18:06:26 +02:00
Christian Schabesberger
f7534b3a0f Merge branch 'dev' into trending 2017-10-09 14:37:20 +02:00
Christian Schabesberger
7fcc07805a make kiosk selector signle service again 2017-10-09 14:34:10 +02:00
Christian Schabesberger
7f9f075147 add selector for kiosk 2017-10-09 14:22:27 +02:00
Christian Schabesberger
cbfc359a99 add service icons 2017-10-09 12:22:01 +02:00
Nathan Follens
907842c672 Translated using Weblate (Dutch)
Currently translated at 100.0% (206 of 206 strings)
2017-10-09 11:50:02 +02:00
Cyril Müller
c890ab44d6 Merge branch 'dev' into fix-service-id-not-initialized 2017-10-09 11:23:19 +02:00
Coffeemakr
89b11ff71c Fail-fast for service id == -1 2017-10-08 22:11:38 +02:00
Tobias Groza
3e34eeeed7 Translated using Weblate (German)
Currently translated at 99.5% (205 of 206 strings)
2017-10-08 21:45:38 +02:00
Coffeemakr
69302fcbd0 Add icepicker proguard rules 2017-10-08 17:52:12 +02:00
Coffeemakr
60879351a9 Code improvement and logging 2017-10-08 17:52:07 +02:00
Matej U
f4433ac508 Translated using Weblate (Slovenian)
Currently translated at 100.0% (206 of 206 strings)
2017-10-07 21:12:32 +02:00
E T
7b7d0d6171 Translated using Weblate (Turkish)
Currently translated at 100.0% (206 of 206 strings)
2017-10-07 19:51:07 +02:00
Freddy Morán Jr
a6e0ed09a8 Translated using Weblate (Spanish)
Currently translated at 100.0% (206 of 206 strings)
2017-10-07 19:16:42 +02:00
Emanuele Petriglia
19ed6ebbaf Translated using Weblate (Italian)
Currently translated at 100.0% (206 of 206 strings)
2017-10-07 14:21:02 +02:00
Andrea Troiano
dfeee17d39 Translated using Weblate (Italian)
Currently translated at 100.0% (206 of 206 strings)
2017-10-07 13:28:50 +02:00
Jonas
4c429c869c Translated using Weblate (French)
Currently translated at 100.0% (206 of 206 strings)
2017-10-06 12:15:39 +02:00
Christian Schabesberger
6d8a361c9a add menu to select kiosk of current service 2017-10-05 14:57:19 +02:00
Eduardo Caron
825de1b6ee Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (206 of 206 strings)
2017-10-05 13:19:37 +02:00
Weblate
124461f587 Merge remote-tracking branch 'origin/dev' into dev 2017-10-05 13:12:38 +02:00
CaptainCrumble
a570fa6110 Translated using Weblate (Portuguese)
Currently translated at 98.5% (202 of 205 strings)
2017-10-05 13:12:37 +02:00
CaptainCrumble
0e8df83bbd Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (205 of 205 strings)
2017-10-05 13:11:14 +02:00
Christian Schabesberger
952c8428d8 Merge pull request #748 from mauriciocolli/improve-search
Improve search
2017-10-04 11:03:53 +02:00
Matej U
5fe2c10aa1 Translated using Weblate (Slovenian)
Currently translated at 100.0% (205 of 205 strings)
2017-10-02 21:11:57 +02:00
Andrea Troiano
1f4aa2506b Translated using Weblate (Italian)
Currently translated at 100.0% (205 of 205 strings)
2017-10-02 15:46:44 +02:00
Andrea Troiano
9f8844fa5f Translated using Weblate (Italian)
Currently translated at 100.0% (205 of 205 strings)
2017-10-01 15:31:58 +02:00
E T
990aa88e00 Translated using Weblate (Turkish)
Currently translated at 100.0% (205 of 205 strings)
2017-09-30 09:19:13 +02:00
Nathan Follens
9e335c1894 Translated using Weblate (Dutch)
Currently translated at 100.0% (205 of 205 strings)
2017-09-29 23:27:32 +02:00
Jonas
8f2b9a6bb7 Translated using Weblate (French)
Currently translated at 100.0% (205 of 205 strings)
2017-09-29 18:41:33 +02:00
Anton Shestakov
448f3e8918 Translated using Weblate (Russian)
Currently translated at 98.5% (202 of 205 strings)
2017-09-29 12:47:49 +02:00
Mladen Pejaković
62b2ab7571 Translated using Weblate (Serbian)
Currently translated at 100.0% (205 of 205 strings)
2017-09-29 11:27:25 +02:00
Christian Schabesberger
46fa9a9366 translate kiosk name using resources
fix CDATA fuu
2017-09-28 16:38:44 +02:00
Christian Schabesberger
29fee28d1d fix channel selection 2017-09-28 15:36:15 +02:00
Mauricio Colli
78cbfa20d9 Improve search
- Use a list instead of a popup
- Show search history entries
2017-09-28 10:06:48 -03:00
Freddy Morán Jr
ccd42d42ab Translated using Weblate (Spanish)
Currently translated at 100.0% (205 of 205 strings)
2017-09-27 18:47:50 +02:00
Tobias Groza
abe03ef9a3 Translated using Weblate (German)
Currently translated at 99.5% (204 of 205 strings)
2017-09-27 18:45:48 +02:00
Anton Shestakov
9813ffb83b Translated using Weblate (Russian)
Currently translated at 97.5% (200 of 205 strings)
2017-09-27 15:47:52 +02:00
Mikas
b4eefa3eed Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (205 of 205 strings)
2017-09-26 18:52:53 +02:00
Christian Schabesberger
3490273b49 made fragments frontpagable 2017-09-26 18:16:39 +02:00
Christian Schabesberger
65c8b6e66a add selection for front page 2017-09-26 17:29:38 +02:00
Anton Shestakov
6a166b798a Translated using Weblate (Russian)
Currently translated at 97.5% (200 of 205 strings)

(cherry picked from commit efa262480a)
2017-09-26 09:04:38 -03:00
Jona Abdinghoff
0686aec606 Translated using Weblate (German)
Currently translated at 99.5% (204 of 205 strings)

(cherry picked from commit 2c8dd9ce2a)
2017-09-26 09:04:38 -03:00
Mikas
54b3c62803 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (205 of 205 strings)

(cherry picked from commit 4a4b1e0e49)
2017-09-26 09:04:38 -03:00
nailyk
40d83ba7e7 Translated using Weblate (French)
Currently translated at 100.0% (205 of 205 strings)

(cherry picked from commit cb5e37184a)
2017-09-26 09:04:38 -03:00
trmdi
ea3c379d88 Translated using Weblate (Vietnamese)
Currently translated at 68.2% (140 of 205 strings)

(cherry picked from commit 094a3af8ae)
2017-09-26 09:04:38 -03:00
Yann Hodiesne
a6ee3e99ea Translated using Weblate (French)
Currently translated at 100.0% (205 of 205 strings)

(cherry picked from commit 283d33aa27)
2017-09-26 09:04:38 -03:00
nailyk
b2cab4aea0 Translated using Weblate (French)
Currently translated at 100.0% (205 of 205 strings)

(cherry picked from commit 6c445c0833)
2017-09-26 09:04:38 -03:00
Krysa Czech
2a2e532acc Translated using Weblate (Czech)
Currently translated at 100.0% (205 of 205 strings)

(cherry picked from commit dd10c1756f)
2017-09-26 09:04:38 -03:00
pawelkw
0954a494e7 Translated using Weblate (Polish)
Currently translated at 80.9% (166 of 205 strings)

(cherry picked from commit 5ecad47d6e)
2017-09-26 09:04:38 -03:00
Krysa Czech
bc32c946ff Translated using Weblate (Czech)
Currently translated at 76.0% (156 of 205 strings)

(cherry picked from commit edfdabb691)
2017-09-26 09:04:38 -03:00
Ivan Krušlin
95debf66e5 Translated using Weblate (Croatian)
Currently translated at 100.0% (205 of 205 strings)

(cherry picked from commit 4653e94c57)
2017-09-26 09:04:38 -03:00
Bruno Tendler
3b166f82a8 Translated using Weblate (Spanish)
Currently translated at 100.0% (205 of 205 strings)

(cherry picked from commit 54df50f84d)
2017-09-26 09:04:38 -03:00
Ivan Krušlin
7d19250565 Translated using Weblate (Croatian)
Currently translated at 100.0% (205 of 205 strings)

(cherry picked from commit 6341ad88e8)
2017-09-26 09:04:38 -03:00
E T
c510a4149d Translated using Weblate (Turkish)
Currently translated at 100.0% (205 of 205 strings)

(cherry picked from commit f893edeb82)
2017-09-26 09:04:38 -03:00
E T
33e473c509 Translated using Weblate (Turkish)
Currently translated at 100.0% (205 of 205 strings)

(cherry picked from commit c1fe03aab6)
2017-09-26 09:04:38 -03:00
Christian Schabesberger
e3dfdb0b06 Merge pull request #738 from comradekingu/patch-4
Spelling: View → Play
2017-09-26 14:01:23 +02:00
Anton Shestakov
efa262480a Translated using Weblate (Russian)
Currently translated at 97.5% (200 of 205 strings)
2017-09-26 13:32:59 +02:00
Jona Abdinghoff
2c8dd9ce2a Translated using Weblate (German)
Currently translated at 99.5% (204 of 205 strings)
2017-09-26 09:46:23 +02:00
Allan Nordhøy
ead1399e7b Spelling: View → Play 2017-09-25 16:12:47 +02:00
Christian Schabesberger
5ebde97352 fix error report and add setting for current_service 2017-09-25 13:05:54 +02:00
Christian Schabesberger
f6c624b59a make name translatable, fix tab on items, remove back button
s/kisok/kiosk/g
2017-09-25 12:52:13 +02:00
Mikas
4a4b1e0e49 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (205 of 205 strings)
2017-09-25 00:47:09 +02:00
nailyk
cb5e37184a Translated using Weblate (French)
Currently translated at 100.0% (205 of 205 strings)
2017-09-23 21:45:34 +02:00
Fablab user
4b78a9366d s/TEAMPLATE/TEMPLATE/g
remove old teamplate
2017-09-23 21:17:08 +02:00
Christian Schabesberger
90b9223aae Merge branch 'dev' into trending 2017-09-23 20:39:01 +02:00
trmdi
094a3af8ae Translated using Weblate (Vietnamese)
Currently translated at 68.2% (140 of 205 strings)
2017-09-23 18:49:19 +02:00
Christian Schabesberger
0d2296917a creating first prototype of kiosk page 2017-09-23 17:39:04 +02:00
Coffeemakr
d6fffc7e55 Use correct long comparison (fixes #726) 2017-09-23 08:35:06 -03:00
Yann Hodiesne
283d33aa27 Translated using Weblate (French)
Currently translated at 100.0% (205 of 205 strings)
2017-09-22 19:31:22 +02:00
nailyk
6c445c0833 Translated using Weblate (French)
Currently translated at 100.0% (205 of 205 strings)
2017-09-22 19:30:28 +02:00
Krysa Czech
dd10c1756f Translated using Weblate (Czech)
Currently translated at 100.0% (205 of 205 strings)
2017-09-22 19:04:04 +02:00
TobiGr
74bda719a6 add themes to license dialog 2017-09-22 11:07:17 +02:00
Adrian Campos
ced75a9b60 Added Adaptive launcher Icon 2017-09-21 22:46:36 -03:00
pawelkw
5ecad47d6e Translated using Weblate (Polish)
Currently translated at 80.9% (166 of 205 strings)
2017-09-21 21:47:16 +02:00
Christian Schabesberger
6e11ca1ac4 Merge pull request #722 from TeamNewPipe/beta
add everything for beta release
2017-09-21 10:08:11 +02:00
Krysa Czech
edfdabb691 Translated using Weblate (Czech)
Currently translated at 76.0% (156 of 205 strings)
2017-09-21 00:45:00 +02:00
Ivan Krušlin
4653e94c57 Translated using Weblate (Croatian)
Currently translated at 100.0% (205 of 205 strings)
2017-09-21 00:44:47 +02:00
Bruno Tendler
54df50f84d Translated using Weblate (Spanish)
Currently translated at 100.0% (205 of 205 strings)
2017-09-20 21:49:00 +02:00
Christian Schabesberger
7588c8de5a Update screenshots 2017-09-19 20:50:01 -03:00
Christian Schabesberger
d564199e88 add sigle issue signle thread rule 2017-09-19 20:41:45 -03:00
TobiGr
e458adb342 Update README.md
- add Bountysource to donate section
- add navigation
- add Github badges
2017-09-19 20:40:51 -03:00
John Carlson
b43a7354cf Use google() in buildscript 2017-09-19 20:40:31 -03:00
Ivan Krušlin
6341ad88e8 Translated using Weblate (Croatian)
Currently translated at 100.0% (205 of 205 strings)
2017-09-19 20:00:50 +02:00
Allan Nordhøy
314b2fb14f Spelling of file formats (#703) 2017-09-19 18:38:27 +02:00
Tobias Groza
795ba89dc4 Support dark theme in file picker (#699) 2017-09-19 18:38:27 +02:00
Felix Ableitner
5b8ff28556 Open youtube links directly from search (fixes #35) (#692)
* Open youtube links directly from search (fixes #35)
2017-09-19 18:38:27 +02:00
Christian Schabesberger
5e66a66111 enable minify 2017-09-19 18:38:27 +02:00
Mauricio Colli
3e6bed538a Update extractor version 2017-09-19 18:38:27 +02:00
E T
f893edeb82 Translated using Weblate (Turkish)
Currently translated at 100.0% (205 of 205 strings)
2017-09-18 01:11:35 +02:00
Weblate
64e4adef29 Merge remote-tracking branch 'origin/master' 2017-09-16 10:36:43 +02:00
E T
c1fe03aab6 Translated using Weblate (Turkish)
Currently translated at 100.0% (205 of 205 strings)
2017-09-16 10:36:32 +02:00
wb9688
25db3c2940 Update NewPipeExtractor 2017-09-16 10:25:54 +02:00
wb9688
442290d7f0 Hide spinner 2017-09-14 11:43:30 +02:00
wb9688
a6eb871f5e Change layout for audio-only streams 2017-09-14 10:49:39 +02:00
wb9688
b500c3f526 Add service setting 2017-09-14 09:31:01 +02:00
Christian Schabesberger
4b0a071a35 Merge pull request #691 from TeamNewPipe/minify
enable minify
2017-09-13 21:07:55 +02:00
Christian Schabesberger
4ef69969a7 enable minify 2017-09-12 13:32:53 +02:00
Weblate
c5885d9ce4 Merge remote-tracking branch 'origin/master' 2017-09-11 23:15:20 +02:00
Allan Nordhøy
4c2d705311 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (205 of 205 strings)
2017-09-11 23:15:16 +02:00
Mauricio Colli
939017ada9 Update extractor version 2017-09-11 11:21:01 -03:00
Matej U
322c5c05cf Translated using Weblate (Slovenian)
Currently translated at 100.0% (205 of 205 strings)
2017-09-11 11:29:26 +02:00
Jonas
cd174b8ce9 Translated using Weblate (French)
Currently translated at 100.0% (205 of 205 strings)
2017-09-11 10:12:00 +02:00
Oscar Hemelaar
f5999f28e9 Translated using Weblate (French)
Currently translated at 97.0% (199 of 205 strings)
2017-09-11 10:06:02 +02:00
Jonas
428a754bfc Translated using Weblate (French)
Currently translated at 96.5% (198 of 205 strings)
2017-09-11 10:05:38 +02:00
Weblate
9ba2a9d907 Merge remote-tracking branch 'origin/master' 2017-09-09 22:34:46 +02:00
Eduardo Caron
71a22348c9 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (205 of 205 strings)
2017-09-09 22:34:45 +02:00
Tobias Groza
4ac0db1869 Translated using Weblate (French)
Currently translated at 80.9% (166 of 205 strings)
2017-09-09 22:34:36 +02:00
Nathan Follens
bca9035302 Translated using Weblate (Dutch)
Currently translated at 100.0% (205 of 205 strings)
2017-09-09 22:34:25 +02:00
Christian Schabesberger
33b316d72f update extractor to not throw channelextractor exception 2017-09-09 22:22:27 +02:00
Christian Schabesberger
020322df0b add everything for beta release
add AndroidManifest.xml for beta
2017-09-09 20:46:58 +02:00
Christian Schabesberger
6068043fd4 Fix pullrequest teamplate markdown issue 2017-09-09 19:04:30 +02:00
Weblate
2bf4032a6f Merge remote-tracking branch 'origin/master' 2017-09-09 00:46:59 +02:00
Enrico Monese
5e659e3f46 Translated using Weblate (Italian)
Currently translated at 97.0% (199 of 205 strings)
2017-09-09 00:46:56 +02:00
Mauricio Colli
23f70d6b8b Update extractor 2017-09-08 11:34:02 -03:00
Osoitz
ddcf2c5206 Translated using Weblate (Basque)
Currently translated at 100.0% (205 of 205 strings)
2017-09-08 15:44:27 +02:00
Tobias Groza
6b88349c77 Translated using Weblate (German)
Currently translated at 98.0% (201 of 205 strings)
2017-09-07 18:46:03 +02:00
Marian Hanzel
4eb2d3805d Translated using Weblate (Slovak)
Currently translated at 84.8% (174 of 205 strings)
2017-09-06 00:48:04 +02:00
Gaman Gabriel
6cdddc4e9f Translated using Weblate (Romanian)
Currently translated at 77.5% (159 of 205 strings)
2017-09-05 18:48:21 +02:00
Freddy Morán Jr
406d844722 Translated using Weblate (Spanish)
Currently translated at 100.0% (205 of 205 strings)
2017-09-05 14:47:09 +02:00
Mladen Pejaković
09ee0357c7 Translated using Weblate (Serbian)
Currently translated at 100.0% (205 of 205 strings)
2017-09-04 16:23:20 +02:00
Mauricio Colli
f603f63361 Another fix for Weblate 2017-09-04 09:31:53 -03:00
Mauricio Colli
720bb5d615 Fix strings for Weblate 2017-09-04 09:26:00 -03:00
Mauricio Colli
eebd76661d Translated using Weblate (Portuguese (Brazil))
Currently translated at 98.5% (203 of 206 strings)
2017-09-04 14:10:52 +02:00
Mauricio Colli
7885ae5d3f Merge pull request #669 from mauriciocolli/refactor-newpipe
Update extractor and refactored NewPipe
2017-09-04 08:50:21 -03:00
Christian Schabesberger
08257cc5dd Merge pull request #671 from TobiGr/readme-typos
Fix typos in README
2017-09-04 01:39:23 +02:00
TobiGr
27f8144bb8 fix typos in README 2017-09-04 00:39:33 +02:00
Mauricio Colli
146d4a8365 Update extractor and refactored NewPipe 2017-09-03 13:57:12 -03:00
Walter White
bddd9b3409 Translated using Weblate (French)
Currently translated at 83.6% (164 of 196 strings)
2017-09-03 06:04:15 +02:00
Mauricio Colli
0d4d83f3a6 Translated using Weblate (English)
Currently translated at 100.0% (196 of 196 strings)
2017-09-03 06:04:14 +02:00
Anton Shestakov
4bb0bb4ff0 Translated using Weblate (Russian)
Currently translated at 97.9% (192 of 196 strings)
2017-09-02 18:48:04 +02:00
Mauricio Colli
2d75968532 Translated using Weblate (English)
Currently translated at 100.0% (196 of 196 strings)
2017-09-02 00:45:25 +02:00
Nathan Follens
aa0e759168 Translated using Weblate (Dutch)
Currently translated at 100.0% (196 of 196 strings)
2017-09-01 23:47:19 +02:00
Eduardo Caron
cdae745c00 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (196 of 196 strings)
2017-09-01 22:54:42 +02:00
Freddy Morán Jr
a8b6af1f03 Translated using Weblate (Spanish)
Currently translated at 100.0% (196 of 196 strings)
2017-09-01 06:58:52 +02:00
Mauricio Colli
c7106073b4 Translated using Weblate (German)
Currently translated at 90.8% (178 of 196 strings)
2017-09-01 00:17:13 +02:00
Mauricio Colli
d96139798f Translated using Weblate (English)
Currently translated at 100.0% (196 of 196 strings)
2017-09-01 00:17:13 +02:00
nautilusx
bd560644fe Translated using Weblate (German)
Currently translated at 97.9% (192 of 196 strings)
2017-08-31 22:09:52 +02:00
Tobias Groza
f6772c4138 Translated using Weblate (German)
Currently translated at 88.7% (174 of 196 strings)
2017-08-31 12:51:23 +02:00
Mauricio Colli
dd733640e5 Translated using Weblate (Portuguese (Brazil))
Currently translated at 86.7% (170 of 196 strings)
2017-08-31 05:20:12 +02:00
Allan Nordhøy
75a0c0a527 Translated using Weblate (Norwegian Bokmål)
Currently translated at 78.0% (153 of 196 strings)
2017-08-31 05:20:12 +02:00
Mauricio Colli
a5925875a7 Translated using Weblate (English)
Currently translated at 100.0% (196 of 196 strings)
2017-08-31 05:20:02 +02:00
Allan Nordhøy
84157f9247 Translated using Weblate (English)
Currently translated at 100.0% (196 of 196 strings)

Note that "Billion" is often "Milliard" in other languages.
2017-08-31 05:17:26 +02:00
Allan Nordhøy
fcf3ed7881 Translated using Weblate (English)
Currently translated at 100.0% (196 of 196 strings)
2017-08-31 03:45:01 +02:00
theVikac
dac3be69d6 Translated using Weblate (Croatian)
Currently translated at 100.0% (196 of 196 strings)
2017-08-30 09:15:40 +02:00
haseoxth
5118e5cceb Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (196 of 196 strings)
2017-08-30 08:15:06 +02:00
Janusz May
7ca0d20dda Translated using Weblate (Polish)
Currently translated at 98.9% (194 of 196 strings)
2017-08-29 15:47:28 +02:00
Marian Hanzel
378222e484 Translated using Weblate (Slovak)
Currently translated at 100.0% (196 of 196 strings)
2017-08-29 08:41:45 +02:00
mueller-ma
812bec205c Translated using Weblate (German)
Currently translated at 98.4% (193 of 196 strings)
2017-08-28 12:46:04 +02:00
Matej U
2ee8803e33 Translated using Weblate (Slovenian)
Currently translated at 100.0% (196 of 196 strings)
2017-08-27 12:48:39 +02:00
wb9688
007616ca42 Translated using Weblate (Dutch)
Currently translated at 100.0% (196 of 196 strings)
2017-08-27 09:45:09 +02:00
Osoitz
f3b235e4a7 Translated using Weblate (Basque)
Currently translated at 95.9% (188 of 196 strings)
2017-08-26 15:44:19 +02:00
anonymous
074d4be4ba Translated using Weblate (Dutch)
Currently translated at 100.0% (196 of 196 strings)
2017-08-26 09:34:35 +02:00
wb9688
03cd48257b Translated using Weblate (Dutch)
Currently translated at 100.0% (196 of 196 strings)
2017-08-26 09:33:21 +02:00
zmni
546db83de3 Translated using Weblate (Indonesian)
Currently translated at 95.4% (187 of 196 strings)
2017-08-25 18:46:09 +02:00
Matej U
cc11a39f7e Translated using Weblate (Slovenian)
Currently translated at 99.4% (195 of 196 strings)
2017-08-24 00:48:01 +02:00
Eduardo Caron
a83b365afd Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (196 of 196 strings)
2017-08-23 15:22:27 +02:00
Freddy Morán Jr
6a6cfac603 Translated using Weblate (Spanish)
Currently translated at 100.0% (196 of 196 strings)
2017-08-22 01:27:56 +02:00
Weblate
5270cedc56 Merge remote-tracking branch 'origin/master' 2017-08-20 21:45:05 +02:00
Michalis Nikolaidis
2ac833d2a6 Translated using Weblate (Greek)
Currently translated at 22.6% (44 of 194 strings)
2017-08-20 21:45:04 +02:00
Blader
f7be210b12 Translated using Weblate (Dutch)
Currently translated at 93.2% (181 of 194 strings)
2017-08-20 21:44:58 +02:00
Christian Schabesberger
24774d7921 Merge pull request #656 from karyogamy/exoplayer_update
Updated ExoPlayer to r2.5.1
2017-08-18 22:05:31 +02:00
John Zhen M
2b2e954b84 -Updated ExoPlayer to r2.5.1.
-Fixes some more deprecations due to Exoplayer and Android O notification updates.
2017-08-18 11:07:57 -07:00
Tonelico
85108be686 Android O Notification Building Fix (#655)
-Added simple notification channel for Android O.
-Fixes notification building failure for background and popup player on Android O.
-Reduce notification channel importance to low to avoid making noise on every notification update.
2017-08-18 09:05:31 -03:00
Oscar Hemelaar
9fbac943bb Translated using Weblate (French)
Currently translated at 98.4% (191 of 194 strings)
2017-08-18 00:45:31 +02:00
theVikac
d901eaa8d2 Translated using Weblate (Croatian)
Currently translated at 100.0% (194 of 194 strings)
2017-08-17 12:44:50 +02:00
mueller-ma
5fb0e8d007 Translated using Weblate (German)
Currently translated at 98.4% (191 of 194 strings)

In german there is no 's
2017-08-16 21:45:40 +02:00
theVikac
cd5c76cb76 Translated using Weblate (Croatian)
Currently translated at 100.0% (194 of 194 strings)
2017-08-16 10:56:32 +02:00
theVikac
b2a64f8bf3 Added translation using Weblate (Croatian) 2017-08-16 10:50:18 +02:00
mueller-ma
b91acc9de5 Translated using Weblate (German)
Currently translated at 96.9% (188 of 194 strings)
2017-08-15 19:40:37 +02:00
Weblate
07836c7ffa Merge remote-tracking branch 'origin/master' 2017-08-15 19:40:01 +02:00
Tobias Groza
8b30a0d7cc Translated using Weblate (German)
Currently translated at 96.9% (188 of 194 strings)
2017-08-15 19:39:58 +02:00
Mauricio Colli
13a3e2feb2 Merge pull request #654 from coffeemakr/feature-add-components
Add licenses for RxJava
2017-08-15 13:10:11 -03:00
Coffeemakr
f4dca71497 Add licenses for RxJava (and bindings) 2017-08-15 17:21:11 +02:00
Gian Maria Viglianti
e4c6e87338 Translated using Weblate (Italian)
Currently translated at 100.0% (194 of 194 strings)
2017-08-14 18:46:46 +02:00
Eduardo Caron
b2862520fd Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (194 of 194 strings)
2017-08-14 18:34:54 +02:00
Lucas Friederich
bb29f1ea95 Translated using Weblate (Portuguese (Brazil))
Currently translated at 96.3% (187 of 194 strings)
2017-08-14 18:32:58 +02:00
Freddy Morán Jr
69b92757f4 Translated using Weblate (Spanish)
Currently translated at 100.0% (194 of 194 strings)
2017-08-14 03:46:52 +02:00
Mladen Pejaković
62ae2652c7 Translated using Weblate (Serbian)
Currently translated at 95.3% (185 of 194 strings)
2017-08-14 00:46:35 +02:00
anonymous
6f6633050b Translated using Weblate (Italian)
Currently translated at 100.0% (194 of 194 strings)
2017-08-13 17:22:20 +02:00
Gian Maria Viglianti
d37bfd6651 Translated using Weblate (Italian)
Currently translated at 100.0% (194 of 194 strings)
2017-08-13 17:21:56 +02:00
anonymous
55a17a8a83 Translated using Weblate (Italian)
Currently translated at 100.0% (194 of 194 strings)
2017-08-13 17:21:04 +02:00
Gian Maria Viglianti
422b06b72d Translated using Weblate (Italian)
Currently translated at 100.0% (194 of 194 strings)
2017-08-13 17:17:58 +02:00
Freddy Morán Jr
873a1d1c3b Translated using Weblate (Spanish)
Currently translated at 100.0% (194 of 194 strings)
2017-08-13 03:06:27 +02:00
Weblate
44d06767b5 Merge remote-tracking branch 'origin/master' 2017-08-12 18:45:10 +02:00
Thomas Lavend'Homme
3f4379afbf Translated using Weblate (French)
Currently translated at 98.9% (181 of 183 strings)
2017-08-12 18:45:06 +02:00
Cyril Müller
c0515de6b7 Add search and watch history (#626)
Add search and watch history

* Make MainActicity a single task
* Remove some casting
* SearchFragment: start searching when created with query
* Handle settings change in onResume
* History: Log pop up and background playback
* History: Add swipe to remove functionallity
* Enable history by default
* Use stream item
* Store more information about the stream
* Integrate history database into AppDatabase
* Remove redundant casts
* Re-enable date converters
* History: Use Rx Java and run DB in background
 * Also make HistoryDAO extend BasicDAO
* History: RX-ify swipe to remove
* Sort history entries by creation date
* History: Set toolbar title
* Don't repeat history entries
  * Introduced setters so we can update entries in the database
  * If the latest entry has the same (main) values, just update it
2017-08-12 01:50:25 -03:00
anonymous
09159ec245 Translated using Weblate (French)
Currently translated at 93.9% (172 of 183 strings)
2017-08-11 17:05:11 +02:00
Thomas Lavend'Homme
ab0bf80888 Translated using Weblate (French)
Currently translated at 93.4% (171 of 183 strings)
2017-08-11 17:04:40 +02:00
anonymous
74b8eaed04 Translated using Weblate (French)
Currently translated at 86.3% (158 of 183 strings)
2017-08-11 16:05:34 +02:00
anonymous
d64b5ccae2 Translated using Weblate (French)
Currently translated at 85.7% (157 of 183 strings)
2017-08-11 15:58:59 +02:00
anonymous
3883212ca7 Translated using Weblate (French)
Currently translated at 85.2% (156 of 183 strings)
2017-08-11 15:56:20 +02:00
anonymous
1cec41dba0 Translated using Weblate (French)
Currently translated at 84.6% (155 of 183 strings)
2017-08-11 15:56:01 +02:00
anonymous
d00c0ff60c Translated using Weblate (French)
Currently translated at 84.1% (154 of 183 strings)
2017-08-11 15:55:42 +02:00
anonymous
1d597c5f5b Translated using Weblate (French)
Currently translated at 83.6% (153 of 183 strings)
2017-08-11 15:54:41 +02:00
anonymous
c004ef7d0b Translated using Weblate (French)
Currently translated at 83.0% (152 of 183 strings)
2017-08-11 15:54:22 +02:00
Freddy Morán Jr
1bfb977b28 Translated using Weblate (Spanish)
Currently translated at 100.0% (183 of 183 strings)
2017-08-10 19:18:55 +02:00
Osoitz
04138047f6 Translated using Weblate (Basque)
Currently translated at 100.0% (183 of 183 strings)
2017-08-10 14:03:01 +02:00
zmni
147e99a915 Translated using Weblate (Indonesian)
Currently translated at 97.2% (178 of 183 strings)
2017-08-09 15:45:45 +02:00
Matej U
6f7d162edc Translated using Weblate (Slovenian)
Currently translated at 97.8% (179 of 183 strings)
2017-08-09 12:46:52 +02:00
Weblate
910aee4b73 Merge remote-tracking branch 'origin/master' 2017-08-07 20:03:29 +02:00
mueller-ma
77e376751a Translated using Weblate (German)
Currently translated at 96.7% (177 of 183 strings)
2017-08-07 20:03:28 +02:00
Eduardo Caron
7e1264ac44 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (183 of 183 strings)
2017-08-07 20:03:26 +02:00
Christian Schabesberger
8f3a4a5a04 moved on to version v0.10.0 2017-08-07 18:16:19 +02:00
anonymous
2d2689362d Translated using Weblate (German)
Currently translated at 93.9% (172 of 183 strings)
2017-08-07 17:52:56 +02:00
Coffeemaker
913500a6de Translated using Weblate (German)
Currently translated at 93.9% (172 of 183 strings)
2017-08-07 17:51:43 +02:00
Weblate
81d7c54a55 Merge remote-tracking branch 'origin/master' 2017-08-07 17:50:22 +02:00
mueller-ma
4501d5a8fc Translated using Weblate (German)
Currently translated at 99.4% (172 of 173 strings)
2017-08-07 17:50:16 +02:00
Tonelico
becc90409f Added option to resume on audio focus regain. (#624) 2017-08-07 10:04:36 -03:00
Tonelico
10c4f7b465 Added basic channel subscription and feed pages (#620)
Added basic channel subscription and feed pages

- Room Persistence for sqlite support.
- RxJava2 for reactive async support.
- Stetho for database inspection support.
- Enabled Multidex for debug build.
2017-08-07 10:02:30 -03:00
Janusz May
cb5b0ff764 Translated using Weblate (Polish)
Currently translated at 98.8% (171 of 173 strings)
2017-08-04 18:46:15 +02:00
Wout B
277a817eaf Translated using Weblate (Dutch)
Currently translated at 100.0% (173 of 173 strings)
2017-08-04 17:07:20 +02:00
zmni
fbac6f6a57 Translated using Weblate (Indonesian)
Currently translated at 100.0% (173 of 173 strings)
2017-08-04 15:58:58 +02:00
monolifed
b1b0d6ceb6 Translated using Weblate (Turkish)
Currently translated at 100.0% (173 of 173 strings)
2017-08-03 21:38:20 +02:00
Eduardo Caron
07421542df Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (173 of 173 strings)
2017-08-03 14:19:56 +02:00
Weblate
74a8139ac9 Merge remote-tracking branch 'origin/master' 2017-08-03 14:16:37 +02:00
Osoitz
77eb76fefb Translated using Weblate (Basque)
Currently translated at 100.0% (167 of 167 strings)
2017-08-03 14:16:35 +02:00
Eduardo Caron
42a450c61f Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (167 of 167 strings)
2017-08-03 14:16:26 +02:00
TheAssassin
9e2ed10144 Fix bugs in CONTRIBUTING.md
Spelling and grammar bugs, a few additions here and there, make it sound like a team project instead of a one-man show.
2017-08-02 23:34:46 +02:00
Christian Schabesberger
27e5ce7f9b update sentry linkg 2017-08-02 23:19:34 +02:00
Mauricio Colli
f7b322da49 Fix audio focus bug 2017-08-02 14:14:45 -03:00
Mauricio Colli
16ad13c962 Update travis' android and build-tools version 2017-08-01 23:18:47 -03:00
Mauricio Colli
a8880bbc0a Merge pull request #642 from karyogamy/sdk_26_updrade
Upgrade target sdk and support library version to 26
2017-08-01 22:58:54 -03:00
Mauricio Colli
f020b88db3 Move maven repository declaration
- Remove redundant jcenter (already included in the "global application" build.gradle)
2017-08-01 22:56:04 -03:00
Mauricio Colli
a4f5c9e2a3 Merge pull request #636 from coffeemakr/feature-renaming-patterns
Add renaming filename preferences
2017-08-01 22:03:19 -03:00
Mauricio Colli
96d3841dba Fix issues #636 2017-08-01 21:56:51 -03:00
John Zhen M
39277d569f - Updated target, build tools and support libraries version to 26.
- Added dependency repositories jcenter and maven.google.com.
- Changed deprecated ActionBarActivity to AppCompatActivity.
2017-08-01 14:54:32 -07:00
Bruno Guerreiro
75b5bc03f7 Translated using Weblate (Portuguese)
Currently translated at 100.0% (167 of 167 strings)
2017-08-01 18:37:57 +02:00
Osoitz
01e17d9c2e Translated using Weblate (Basque)
Currently translated at 100.0% (167 of 167 strings)
2017-08-01 11:20:14 +02:00
Emilio Loi
8047ff96a8 Translated using Weblate (Italian)
Currently translated at 100.0% (167 of 167 strings)
2017-07-29 15:45:43 +02:00
Gian Maria Viglianti
0e737a2f3b Translated using Weblate (Italian)
Currently translated at 100.0% (167 of 167 strings)
2017-07-28 13:10:51 +02:00
Emilio Loi
854579d814 Translated using Weblate (Italian)
Currently translated at 100.0% (167 of 167 strings)
2017-07-28 13:10:42 +02:00
Emilio Loi
f3cbd99e45 Translated using Weblate (Italian)
Currently translated at 100.0% (167 of 167 strings)

"Cancellare" is "to clear" in writing context
2017-07-28 13:07:02 +02:00
Emilio Loi
c13ed3f347 Translated using Weblate (Italian)
Currently translated at 100.0% (167 of 167 strings)

There is enough space to more descriptive with this text
2017-07-28 13:05:33 +02:00
Emilio Loi
7409b58546 Translated using Weblate (Italian)
Currently translated at 99.4% (167 of 167 strings)
2017-07-28 13:00:17 +02:00
Emilio Loi
404ebb8810 Translated using Weblate (Italian)
Currently translated at 99.4% (166 of 167 strings)

I've inverted position of sentence "help is always welcome" from end to start, merging "The more is done the better it gets!" with the first part of the paragraph
2017-07-28 13:00:13 +02:00
Emilio Loi
b4a9a300c5 Translated using Weblate (Italian)
Currently translated at 97.6% (163 of 167 strings)
2017-07-28 12:58:37 +02:00
Fekrod
aa637e6a2b Translated using Weblate (Vietnamese)
Currently translated at 100.0% (167 of 167 strings)
2017-07-27 04:27:32 +02:00
Fekrod
85132e1e6e Added translation using Weblate (Vietnamese) 2017-07-27 02:59:08 +02:00
Eduardo Caron
f0aa5a4646 Translated using Weblate (Portuguese (Brazil))
Currently translated at 98.8% (165 of 167 strings)
2017-07-26 15:46:21 +02:00
Coffeemakr
b0479d0bd9 Add renaming filename patterns 2017-07-24 13:01:24 +02:00
riotism
e475b888aa Translated using Weblate (Chinese (Hong Kong))
Currently translated at 100.0% (167 of 167 strings)
2017-07-23 21:44:23 +02:00
Nigel
a8a3bbd9f5 Translated using Weblate (Chinese (Hong Kong))
Currently translated at 100.0% (167 of 167 strings)
2017-07-22 20:38:39 +02:00
riotism
f3cbd17598 Translated using Weblate (Chinese (Hong Kong))
Currently translated at 100.0% (167 of 167 strings)
2017-07-22 20:38:09 +02:00
riotism
3d7e4dc286 Translated using Weblate (Chinese (Hong Kong))
Currently translated at 100.0% (167 of 167 strings)
2017-07-22 20:35:53 +02:00
anonymous
2e98729527 Translated using Weblate (German)
Currently translated at 100.0% (167 of 167 strings)
2017-07-20 12:45:26 +02:00
Coffeemaker
3ac838a7ec Translated using Weblate (German)
Currently translated at 99.4% (167 of 167 strings)
2017-07-19 11:42:47 +02:00
Weblate
a1bd5bfc00 Merge remote-tracking branch 'origin/master' 2017-07-19 11:42:41 +02:00
Matej U
b99571a797 Translated using Weblate (Slovenian)
Currently translated at 98.8% (165 of 167 strings)
2017-07-19 11:42:41 +02:00
anonymous
43dec8914c Translated using Weblate (German)
Currently translated at 99.4% (166 of 167 strings)
2017-07-19 11:42:39 +02:00
Christian Schabesberger
5b5cb78595 Merge pull request #633 from coffeemakr/fix-time-links
Prevent "time links" from beeing clicked
2017-07-19 11:38:07 +02:00
Coffeemakr
cb8c919609 Prevent time links from beeing clicked 2017-07-19 10:26:26 +02:00
Anton Shestakov
be3810dfed Translated using Weblate (Russian)
Currently translated at 100.0% (167 of 167 strings)
2017-07-19 07:58:41 +02:00
Weblate
b961b59ad4 Merge remote-tracking branch 'origin/master' 2017-07-17 23:14:27 +02:00
Matej U
d2fbb86d8a Translated using Weblate (Slovenian)
Currently translated at 98.2% (164 of 167 strings)
2017-07-17 23:14:27 +02:00
Mauricio Colli
782c6211d0 Added translation using Weblate (Lithuanian) 2017-07-17 23:14:24 +02:00
Christian Schabesberger
c0dd11b61a move on to v0.9.10 2017-07-15 23:01:34 +02:00
Weblate
885830849e Merge remote-tracking branch 'origin/master' 2017-07-15 15:45:49 +02:00
Coffeemaker
079958f66b Translated using Weblate (German)
Currently translated at 97.6% (164 of 168 strings)
2017-07-15 15:45:48 +02:00
naofum
77c5d7d160 Translated using Weblate (Japanese)
Currently translated at 94.0% (158 of 168 strings)
2017-07-15 15:45:38 +02:00
Mauricio Colli
327195dcca Merge pull request #628 from coffeemakr/fix-make-github-url-untranslatable
Make github_url not translatable
2017-07-13 22:06:21 -03:00
Coffeemakr
cfbc88d375 Make github_url not translatable 2017-07-13 22:05:47 +02:00
Tobias Groza
d75a11b397 Translated using Weblate (German)
Currently translated at 94.6% (159 of 168 strings)
2017-07-13 22:02:54 +02:00
Freddy Morán Jr
8706da2890 Translated using Weblate (Spanish)
Currently translated at 100.0% (168 of 168 strings)
2017-07-13 20:25:43 +02:00
monolifed
824a06c39b Translated using Weblate (Turkish)
Currently translated at 100.0% (168 of 168 strings)
2017-07-12 19:52:00 +02:00
Nathan Follens
9c80c37ee9 Translated using Weblate (Dutch)
Currently translated at 100.0% (168 of 168 strings)
2017-07-12 18:51:06 +02:00
Weblate
ad6d383ee2 Merge remote-tracking branch 'origin/master' 2017-07-12 18:44:34 +02:00
Tobias Groza
5251f970b7 Translated using Weblate (German)
Currently translated at 100.0% (151 of 151 strings)
2017-07-12 18:44:33 +02:00
Coin
2225927bb1 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (151 of 151 strings)
2017-07-12 18:44:28 +02:00
Mauricio Colli
d210b600d7 Merge pull request #625 from coffeemakr/fix-nullpointer-in-background-handler
Check if view still exists in UICallback
2017-07-12 08:46:20 -03:00
Coffeemakr
70da5769d4 Check if view still exists in UICallback 2017-07-12 09:51:23 +02:00
Mauricio Colli
69e3814c77 Merge pull request #612 from coffeemakr/feature-about-activity
Add about activity
2017-07-11 12:49:14 -03:00
Coffeemakr
d950e11332 Small fixes for AboutActivity
* Remove parent activity
 * Finish activity on "up action"
 * Remove unused dimensions
2017-07-11 12:52:20 +02:00
Weblate
1a2b18f722 Merge remote-tracking branch 'origin/master' 2017-07-10 18:13:22 +02:00
George Netu
af78369f87 Translated using Weblate (Romanian)
Currently translated at 99.3% (150 of 151 strings)
2017-07-10 18:13:21 +02:00
Coin
8e4aca0582 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (151 of 151 strings)
2017-07-10 18:13:18 +02:00
Mauricio Colli
b603c178d1 Fix focus search fragment 2017-07-10 00:25:10 -03:00
Mauricio Colli
31e5a7afb0 Improve navigation/backstack 2017-07-10 00:14:24 -03:00
Mauricio Colli
6fb1847327 Update gradle wrapper version 2017-07-09 23:22:46 -03:00
Mauricio Colli
0c1d773134 Merge pull request #596 from marcobiscaro2112/master
Adds support for adjustable playback speed
2017-07-09 22:49:05 -03:00
Mauricio Colli
894ea27df2 Fix issues #596 2017-07-09 22:38:47 -03:00
Coffeemakr
f13731f91e Add about activity 2017-07-05 19:35:15 +02:00
Weblate
6742cbfd59 Merge remote-tracking branch 'origin/master' 2017-07-05 18:44:18 +02:00
Osoitz
6c0dea6138 Translated using Weblate (Basque)
Currently translated at 100.0% (151 of 151 strings)
2017-07-05 18:44:14 +02:00
Mauricio Colli
388e8d0c2f Merge pull request #607 from coffeemakr/fix-remove-bottom-margin-2
Fix margin at the bottom (v2)
2017-07-04 13:33:19 -03:00
Weblate
27b455592a Merge remote-tracking branch 'origin/master' 2017-07-03 16:36:40 +02:00
Osoitz
dad1c04528 Translated using Weblate (Basque)
Currently translated at 100.0% (151 of 151 strings)
2017-07-03 16:36:35 +02:00
Coffeemakr
4ad9fcdc6f Revert error/retry/loading changes 2017-07-02 22:22:37 +02:00
Christian Schabesberger
81b7fe0e9c Merge pull request #606 from edcaron/patch-1
fix f-droid repository link
2017-07-02 22:16:42 +02:00
Eduardo Caron
735cc8d6cc fix f-droid repository link 2017-07-02 16:14:22 -03:00
Christian Schabesberger
43a1c4ce11 move on to v0.9.9 2017-06-30 21:34:28 +02:00
Mauricio Colli
9ca048a881 Merge pull request #600 from coffeemakr/feature-code-improvements
Remove unused code
2017-06-29 17:51:33 -03:00
Coffeemakr
bab3dd417e Remove unused code
* Remove Giga crash handler
 * Some refactoring
 * Remove unused download dialog
 * Remove duplicated intent creation
2017-06-29 12:54:07 +02:00
Weblate
11541310d6 Merge remote-tracking branch 'origin/master' 2017-06-29 07:50:35 +02:00
Anton Shestakov
76740303c5 Translated using Weblate (Russian)
Currently translated at 100.0% (151 of 151 strings)
2017-06-29 07:50:32 +02:00
Mauricio Colli
0a7ecb89ce Adjust fragments' enter/exit animations
- Make a little bit faster
2017-06-28 16:38:13 -03:00
Mauricio Colli
c16a7d5da2 Merge pull request #599 from coffeemakr/feature-code-improvements
Code Improvements
2017-06-28 16:28:16 -03:00
Coffeemakr
b03723c3fb Code improvements
* Replace unchecked casts with checked casts
 * remove Utility.finViewById
 * Fix return activity checking
 * Create UserAction enum
 * Fix typos
 * Add instrumented test for error info
 * ErrorInfo make fields final
 * Log exception using logger
 * Add inherited annotations
 * Resolve deprecation warnings
 * Remove unused methods from utility
 * Reformat code
 * Remove unused methods from Utility and improve getFileExt
 * Create OnScrollBelowItemsListener
2017-06-28 18:56:05 +02:00
Mauricio Colli
40213b2d6a Fix autoplay
- Closes #595
2017-06-27 22:39:33 -03:00
Mauricio Colli
e8b71e867c Merge pull request #588 from coffeemakr/feature-speedup
Speed up detail page loading ⏱
2017-06-27 18:12:30 -03:00
Coffeemakr
8ab1b7fd8f Fix loading and retry positioning 2017-06-27 22:36:31 +02:00
Coffeemakr
8009aa975e Revert unused changes 2017-06-27 14:11:15 +02:00
Coffeemakr
cea706d14a Synchronize initRealtedVideoStreams* 2017-06-27 12:44:20 +02:00
Marco Biscaro
7b60648424 Adds support for adjustable playback speed
ExoPlayer was updated to 2.4.2, which supports playback speed change.

A speed selector was also added in the MainPlayer and PlayerPopup.

Fixes #153.
2017-06-26 19:22:16 -03:00
Eduardo Caron
3cb4952281 Translated using Weblate (Portuguese)
Currently translated at 93.3% (141 of 151 strings)
2017-06-26 21:46:21 +02:00
Coffeemakr
ec1ae647b0 Revert toolbar_search_clear 2017-06-26 14:19:42 +02:00
Coffeemakr
a3be9f36b3 Fix landscape stream item height 2017-06-26 12:42:35 +02:00
Weblate
451910763d Merge remote-tracking branch 'origin/master' 2017-06-19 12:46:26 +02:00
Coffeemaker
884dc38701 Translated using Weblate (German)
Currently translated at 100.0% (151 of 151 strings)
2017-06-19 12:46:26 +02:00
Anton Shestakov
3cca7aead9 Translated using Weblate (Russian)
Currently translated at 96.0% (145 of 151 strings)
2017-06-19 12:46:24 +02:00
Coffeemakr
4c4852129e Layout fixes
* Add selectableItemBackground to the player button
* Make uploader margin to padding
* Convert layout gravity center_horizontal to width=match_parent
2017-06-18 17:25:13 +02:00
Coffeemakr
ae2b0cc76b Format code and remove unused methods 2017-06-18 15:43:11 +02:00
Coffeemakr
71e963c853 Correct icons and title alignment 2017-06-17 14:19:55 +02:00
Coffeemakr
89b680f6d9 Revert RecyclerView to LinearLayout 2017-06-17 13:43:09 +02:00
Christian Schabesberger
f3eacac4ce Merge pull request #586 from coffeemakr/fix-spaces-in-folder
Fix download path handling (#580)
2017-06-16 18:05:05 +02:00
Anton Shestakov
26ec32cbe1 Translated using Weblate (Russian)
Currently translated at 95.3% (144 of 151 strings)
2017-06-16 15:46:23 +02:00
Coffeemakr
6d74038866 Improve speed
* Replace relative layouts and use Recycler view
 * Handle HTML in background
2017-06-16 14:02:45 +02:00
Kristoffer Grundström
7e45e88914 Translated using Weblate (Swedish)
Currently translated at 66.8% (101 of 151 strings)
2017-06-15 03:46:30 +02:00
Coffeemakr
62a4869eb7 Fix download path handling (#580) 2017-06-13 10:47:40 +02:00
Weblate
4f8b51701b Merge remote-tracking branch 'origin/master' 2017-06-13 00:53:12 +02:00
Kristoffer Grundström
169bcc2550 Added translation using Weblate (Swedish) 2017-06-13 00:53:09 +02:00
Christian Schabesberger
88b29cbbf9 moved on to v0.8.9 2017-06-11 14:16:43 +02:00
Christian Schabesberger
51d4d0d3dc Merge branch 'improve-backstack' of https://github.com/mauriciocolli/NewPipe into back 2017-06-11 14:08:47 +02:00
Christian Schabesberger
a482aa1e21 Merge branch 'master' of https://github.com/SpajicM/NewPipe into count 2017-06-11 14:03:49 +02:00
Christian Schabesberger
040b38689d update extractor to v0.9.8 2017-06-11 14:02:57 +02:00
Christian Schabesberger
8e8e53c4d5 update gradle 2017-06-11 13:54:44 +02:00
Marian Hanzel
d717c6d2f6 Translated using Weblate (Slovak)
Currently translated at 100.0% (151 of 151 strings)
2017-06-11 11:27:55 +02:00
Gian Maria Viglianti
9587ce97a8 Translated using Weblate (Italian)
Currently translated at 100.0% (151 of 151 strings)
2017-06-10 00:45:35 +02:00
Janusz May
aaaf573475 Translated using Weblate (Polish)
Currently translated at 100.0% (151 of 151 strings)
2017-06-09 21:45:56 +02:00
zmni
6c6f322d90 Translated using Weblate (Indonesian)
Currently translated at 100.0% (151 of 151 strings)
2017-06-09 19:21:07 +02:00
Matej U
c03f0ed1fb Translated using Weblate (Slovenian)
Currently translated at 100.0% (151 of 151 strings)
2017-06-09 09:46:56 +02:00
Benedikt Freisen
55287393be Translated using Weblate (German)
Currently translated at 100.0% (151 of 151 strings)
2017-06-09 00:45:04 +02:00
Eduardo Caron
9575f92165 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (151 of 151 strings)
2017-06-09 00:24:10 +02:00
SpajicM
a5cbaad804 BackgroundPlayer: Add timestamp in expanded notification 2017-06-08 23:28:45 +02:00
monolifed
f492414b5e Translated using Weblate (Turkish)
Currently translated at 100.0% (151 of 151 strings)
2017-06-08 18:46:54 +02:00
monolifed
3e6ddf7176 Translated using Weblate (English)
Currently translated at 100.0% (151 of 151 strings)
2017-06-08 18:44:44 +02:00
Gian Maria Viglianti
29ffb05653 Translated using Weblate (Italian)
Currently translated at 100.0% (151 of 151 strings)
2017-06-08 00:17:12 +02:00
Freddy Morán Jr
50c3ee2e9c Translated using Weblate (Spanish)
Currently translated at 100.0% (151 of 151 strings)
2017-06-07 21:40:04 +02:00
Janusz May
6292470677 Translated using Weblate (Polish)
Currently translated at 100.0% (151 of 151 strings)
2017-06-07 20:05:38 +02:00
Nathan Follens
8d912f2673 Translated using Weblate (Dutch)
Currently translated at 100.0% (151 of 151 strings)
2017-06-07 16:53:40 +02:00
Coffeemaker
227d129c3a Translated using Weblate (German)
Currently translated at 100.0% (151 of 151 strings)
2017-06-06 23:03:03 +02:00
Benedikt Freisen
d9eeb6afa0 Translated using Weblate (German)
Currently translated at 100.0% (151 of 151 strings)
2017-06-06 23:00:51 +02:00
anonymous
478aecb0f4 Translated using Weblate (German)
Currently translated at 100.0% (151 of 151 strings)
2017-06-06 23:00:14 +02:00
Benedikt Freisen
abb82154c9 Translated using Weblate (German)
Currently translated at 100.0% (151 of 151 strings)
2017-06-06 22:53:06 +02:00
nailyk
03c8b6b5f5 Translated using Weblate (French)
Currently translated at 100.0% (151 of 151 strings)
2017-06-06 20:13:20 +02:00
monolifed
2281300165 Translated using Weblate (Turkish)
Currently translated at 100.0% (151 of 151 strings)
2017-06-06 17:45:46 +02:00
Mauricio Colli
84068d101b Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (151 of 151 strings)
2017-06-06 17:19:26 +02:00
Mauricio Colli
62020fa85b Translated using Weblate (English)
Currently translated at 100.0% (151 of 151 strings)
2017-06-06 17:09:05 +02:00
Mauricio Colli
3c8bf5ccc9 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (151 of 151 strings)
2017-06-06 17:06:39 +02:00
Mauricio Colli
71d5762be8 Remove unnecessary check 2017-06-06 11:46:57 -03:00
monolifed
65d5358366 Translated using Weblate (Turkish)
Currently translated at 100.0% (151 of 151 strings)
2017-06-05 22:16:25 +02:00
Mauricio Colli
6ecdfaf19e Improve backstack and theme change 2017-06-05 16:33:01 -03:00
Nathan Follens
32bd6ae1ac Translated using Weblate (Dutch)
Currently translated at 100.0% (151 of 151 strings)
2017-06-05 18:48:51 +02:00
Mauricio Colli
92231a1e26 Translated using Weblate (French)
Currently translated at 98.6% (149 of 151 strings)
2017-06-05 16:13:31 +02:00
Koleon
38ad4dc440 Translated using Weblate (Czech)
Currently translated at 87.4% (132 of 151 strings)
2017-06-05 16:13:30 +02:00
Eduardo Caron
6645a47b0e Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (151 of 151 strings)
2017-06-05 16:05:12 +02:00
Freddy Morán Jr
75a2d20b0b Translated using Weblate (Spanish)
Currently translated at 100.0% (151 of 151 strings)
2017-06-05 16:00:44 +02:00
naofum
8c15d708e6 Translated using Weblate (Japanese)
Currently translated at 100.0% (151 of 151 strings)
2017-06-05 15:57:13 +02:00
Mauricio Colli
539b7ad87b Update some strings.xml files 2017-06-04 21:10:50 -03:00
Mauricio Colli
fc7c2c9f5a Merge remote-tracking branch 'weblate/master' into fix-strings
# Conflicts:
#	app/src/main/res/values-b+ast/strings.xml
#	app/src/main/res/values-fr/strings.xml
#	app/src/main/res/values-pl/strings.xml
#	app/src/main/res/values-pt-rBR/strings.xml
2017-06-04 20:57:00 -03:00
יובל הרמן
3cd760f654 Translated using Weblate (Hebrew)
Currently translated at 60.7% (107 of 176 strings)
2017-06-04 15:45:11 +02:00
Janusz May
2ec0a5d003 Translated using Weblate (Polish)
Currently translated at 100.0% (176 of 176 strings)
2017-06-02 12:52:45 +02:00
OrNicarZ
1a605e814b Translated using Weblate (French)
Currently translated at 99.4% (175 of 176 strings)
2017-06-02 12:52:44 +02:00
יובל הרמן
fe0053a15d Added translation using Weblate (Hebrew) 2017-06-02 12:52:43 +02:00
Eduardo Caron
014f3e5aff Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (176 of 176 strings)
2017-05-31 21:27:25 +02:00
Enol P
4a25e3b644 Translated using Weblate (Asturian)
Currently translated at 98.8% (174 of 176 strings)
2017-05-31 21:27:24 +02:00
anonymous
e7f59bc436 Translated using Weblate (Polish)
Currently translated at 100.0% (176 of 176 strings)
2017-05-31 21:27:22 +02:00
Christian Schabesberger
488d1ccd5a resolve another weblate crash 2017-05-30 22:08:08 +02:00
Janusz May
409b36c254 Translated using Weblate (Polish)
Currently translated at 100.0% (176 of 176 strings)
2017-05-30 17:33:52 +02:00
Janusz May
b0e567dbfa Translated using Weblate (Polish)
Currently translated at 100.0% (176 of 176 strings)
2017-05-30 17:29:14 +02:00
Freddy Morán Jr
c6086ba281 Translated using Weblate (Spanish)
Currently translated at 100.0% (176 of 176 strings)
2017-05-30 16:33:32 +02:00
Marian Hanzel
aede925351 Translated using Weblate (Slovak)
Currently translated at 100.0% (176 of 176 strings)
2017-05-30 16:33:29 +02:00
Christian Schabesberger
9d38c66510 add .weblate to git ignore 2017-05-29 22:50:41 +02:00
Christian Schabesberger
0c516189c3 try to fix another weblate crash 2017-05-29 22:42:23 +02:00
Freddy Morán Jr
c2936ea289 Translated using Weblate (Spanish)
Currently translated at 100.0% (176 of 176 strings)
2017-05-29 15:44:14 +02:00
Gian Maria Viglianti
dc33460a34 Translated using Weblate (Italian)
Currently translated at 100.0% (176 of 176 strings)
2017-05-29 15:44:14 +02:00
anonymous
ffacc93b55 Translated using Weblate (Armenian)
Currently translated at 18.7% (33 of 176 strings)
2017-05-29 15:44:12 +02:00
Christian Schabesberger
74f0ee2718 fix another weblate crash 2017-05-27 18:45:10 +02:00
ktln
7189791d9f Translated using Weblate (Armenian)
Currently translated at 18.1% (32 of 176 strings)
2017-05-27 13:24:00 +02:00
Eduardo Caron
dc18d53c8f Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (176 of 176 strings)
2017-05-27 13:22:42 +02:00
Bruno Guerreiro
f71ef8e130 Translated using Weblate (Portuguese)
Currently translated at 100.0% (176 of 176 strings)
2017-05-27 13:22:41 +02:00
anonymous
6eec9d8993 Translated using Weblate (Armenian)
Currently translated at 18.1% (32 of 176 strings)
2017-05-27 13:22:39 +02:00
Дима Гайнуллин
9560f98359 Translated using Weblate (Russian)
Currently translated at 100.0% (176 of 176 strings)
2017-05-26 01:30:12 +02:00
Eduardo Caron
217433bf69 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (176 of 176 strings)
2017-05-26 01:30:11 +02:00
ktln
ff5db1b939 Translated using Weblate (Armenian)
Currently translated at 16.4% (29 of 176 strings)
2017-05-26 01:30:10 +02:00
Bruno Guerreiro
455a46d3ad Translated using Weblate (Portuguese)
Currently translated at 100.0% (176 of 176 strings)
2017-05-26 01:30:08 +02:00
Christian Schabesberger
039a879104 fix weblate crash 2017-05-25 10:43:17 +02:00
ktln
dfba9ea53b Translated using Weblate (Russian)
Currently translated at 100.0% (176 of 176 strings)
2017-05-25 02:16:14 +02:00
anonymous
177cce5e8f Translated using Weblate (Russian)
Currently translated at 100.0% (176 of 176 strings)
2017-05-25 01:06:23 +02:00
ktln
309d36260e Translated using Weblate (Russian)
Currently translated at 100.0% (176 of 176 strings)
2017-05-25 01:04:29 +02:00
ktln
bdc73eb755 Translated using Weblate (Russian)
Currently translated at 100.0% (176 of 176 strings)
2017-05-25 00:57:39 +02:00
Anton Shestakov
0786750eb9 Translated using Weblate (Russian)
Currently translated at 96.5% (170 of 176 strings)
2017-05-25 00:54:12 +02:00
Слободан Симић(Slobodan Simić)
9f5d921275 Translated using Weblate (Serbian)
Currently translated at 100.0% (176 of 176 strings)
2017-05-25 00:50:25 +02:00
ktln
8991b2d8e3 Translated using Weblate (Armenian)
Currently translated at 7.3% (13 of 176 strings)
2017-05-25 00:50:24 +02:00
ktln
79dffce59b Translated using Weblate (Russian)
Currently translated at 96.5% (170 of 176 strings)
2017-05-25 00:50:22 +02:00
Christian Schabesberger
e0301a621b Merge pull request #575 from mauriciocolli/clean-up-strings
Remove unused strings
2017-05-24 23:29:08 +02:00
Mauricio Colli
1e4361abdc Merge branch 'master' into clean-up-strings 2017-05-24 18:18:50 -03:00
Mauricio Colli
80c26fd278 Merge new translations 2017-05-24 18:11:34 -03:00
Weblate
3339531086 Merge remote-tracking branch 'origin/master' 2017-05-24 18:37:33 +02:00
monolifed
07ad9fbb11 Translated using Weblate (Turkish)
Currently translated at 100.0% (176 of 176 strings)
2017-05-24 18:37:33 +02:00
ktln
6ddc581d76 Translated using Weblate (Russian)
Currently translated at 96.5% (170 of 176 strings)
2017-05-24 18:37:33 +02:00
Слободан Симић(Slobodan Simić)
dfe94172aa Translated using Weblate (Serbian)
Currently translated at 100.0% (176 of 176 strings)
2017-05-24 18:37:30 +02:00
Mauricio Colli
edb632f9c7 Remove unused strings 2017-05-23 11:53:50 -03:00
Christian Schabesberger
7f73612b9f add use english into contribution notes 2017-05-23 11:11:12 +02:00
Christian Schabesberger
7f130f18b6 Merge pull request #573 from sirekanyan/master
Initial string resources for Armenian language
2017-05-23 11:09:50 +02:00
Anton Shestakov
d05a4c53aa Translated using Weblate (Russian)
Currently translated at 93.7% (165 of 176 strings)
2017-05-22 23:38:03 +02:00
ktln
d99a9b90a0 Translated using Weblate (Russian)
Currently translated at 93.1% (164 of 176 strings)
2017-05-22 23:36:37 +02:00
sirekanyan
f311225312 Added initial string resources for Armenian language 2017-05-23 00:26:15 +03:00
Anton Shestakov
dee17fc313 Translated using Weblate (Russian)
Currently translated at 89.7% (158 of 176 strings)
2017-05-22 22:22:08 +02:00
Nathan Follens
0662538d60 Translated using Weblate (Dutch)
Currently translated at 100.0% (176 of 176 strings)
2017-05-21 21:11:27 +02:00
se7entime
5b52ad91ac Translated using Weblate (Indonesian)
Currently translated at 100.0% (176 of 176 strings)
2017-05-21 14:55:38 +02:00
ktln
8552c41bff Translated using Weblate (Russian)
Currently translated at 89.2% (157 of 176 strings)
2017-05-21 08:39:28 +02:00
Weblate
7ecd298285 Merge remote-tracking branch 'origin/master' 2017-05-21 08:35:39 +02:00
Mauricio Colli
2546f515d1 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (176 of 176 strings)
2017-05-21 08:35:39 +02:00
naofum
8804924d27 Translated using Weblate (Japanese)
Currently translated at 100.0% (176 of 176 strings)
2017-05-21 08:35:38 +02:00
Anton Shestakov
e410cae141 Translated using Weblate (Russian)
Currently translated at 88.0% (155 of 176 strings)
2017-05-21 08:35:34 +02:00
Christian Schabesberger
140cfaec90 moved on to version 0.9.7 2017-05-20 17:45:50 +02:00
Дима Гайнуллин
a0f20aac23 Translated using Weblate (Russian)
Currently translated at 86.9% (153 of 176 strings)
2017-05-20 15:40:42 +02:00
ktln
93fafb362f Translated using Weblate (Russian)
Currently translated at 86.9% (153 of 176 strings)
2017-05-20 15:39:44 +02:00
anonymous
9152df5512 Translated using Weblate (Russian)
Currently translated at 84.0% (148 of 176 strings)
2017-05-20 15:37:48 +02:00
Anton Shestakov
415bcd9f7e Translated using Weblate (Russian)
Currently translated at 83.5% (147 of 176 strings)
2017-05-20 15:37:13 +02:00
Дима Гайнуллин
2224033a85 Translated using Weblate (Russian)
Currently translated at 82.9% (146 of 176 strings)
2017-05-20 15:36:57 +02:00
Anton Shestakov
ade0498684 Translated using Weblate (Russian)
Currently translated at 82.9% (146 of 176 strings)
2017-05-20 15:34:06 +02:00
Дима Гайнуллин
211b00fff4 Translated using Weblate (Russian)
Currently translated at 82.9% (146 of 176 strings)
2017-05-20 15:33:52 +02:00
ktln
77c72d03a8 Translated using Weblate (Russian)
Currently translated at 82.9% (146 of 176 strings)
2017-05-20 15:32:32 +02:00
Anton Shestakov
f429d93351 Translated using Weblate (Russian)
Currently translated at 82.3% (145 of 176 strings)
2017-05-20 15:25:48 +02:00
Дима Гайнуллин
e428f8b116 Translated using Weblate (Russian)
Currently translated at 82.3% (145 of 176 strings)
2017-05-20 15:20:18 +02:00
Anton Shestakov
9482b9d638 Translated using Weblate (Russian)
Currently translated at 82.3% (145 of 176 strings)
2017-05-20 15:19:15 +02:00
Дима Гайнуллин
e019c9f720 Translated using Weblate (Russian)
Currently translated at 82.3% (145 of 176 strings)
2017-05-20 15:12:17 +02:00
Anton Shestakov
e2778366e9 Translated using Weblate (Russian)
Currently translated at 82.3% (145 of 176 strings)
2017-05-20 15:11:49 +02:00
ktln
36d2f8339c Translated using Weblate (Russian)
Currently translated at 82.3% (145 of 176 strings)
2017-05-20 15:11:30 +02:00
anonymous
a4a0c3b9fd Translated using Weblate (Russian)
Currently translated at 81.2% (143 of 176 strings)
2017-05-20 15:10:44 +02:00
ktln
1b1b6c8af8 Translated using Weblate (Russian)
Currently translated at 80.6% (142 of 176 strings)
2017-05-20 15:10:20 +02:00
Anton Shestakov
064fd2bc68 Translated using Weblate (Russian)
Currently translated at 80.1% (141 of 176 strings)
2017-05-20 15:10:11 +02:00
ktln
13152ab6ea Translated using Weblate (Russian)
Currently translated at 79.5% (140 of 176 strings)
2017-05-20 15:07:58 +02:00
Anton Shestakov
1743d821eb Translated using Weblate (Russian)
Currently translated at 78.9% (139 of 176 strings)
2017-05-20 15:04:08 +02:00
ktln
ff16e577ef Translated using Weblate (Russian)
Currently translated at 78.9% (139 of 176 strings)
2017-05-20 15:02:58 +02:00
Anton Shestakov
86062c6e94 Translated using Weblate (Russian)
Currently translated at 78.4% (138 of 176 strings)
2017-05-20 15:02:43 +02:00
ktln
8ce2350563 Translated using Weblate (Russian)
Currently translated at 78.4% (138 of 176 strings)
2017-05-20 15:00:51 +02:00
Anton Shestakov
cb8989af7f Translated using Weblate (Russian)
Currently translated at 77.8% (137 of 176 strings)
2017-05-20 15:00:25 +02:00
ktln
877fa45eb4 Translated using Weblate (Russian)
Currently translated at 77.2% (136 of 176 strings)
2017-05-20 14:59:24 +02:00
Anton Shestakov
e33942486d Translated using Weblate (Russian)
Currently translated at 76.7% (135 of 176 strings)
2017-05-20 14:58:50 +02:00
Дима Гайнуллин
9606e080ef Translated using Weblate (Russian)
Currently translated at 76.7% (135 of 176 strings)
2017-05-20 14:57:45 +02:00
Anton Shestakov
d5cd9c55be Translated using Weblate (Russian)
Currently translated at 76.7% (135 of 176 strings)
2017-05-20 14:56:39 +02:00
Дима Гайнуллин
9c197ced80 Translated using Weblate (Russian)
Currently translated at 75.0% (132 of 176 strings)
2017-05-20 14:40:15 +02:00
Anton Shestakov
f8424599e1 Translated using Weblate (Russian)
Currently translated at 75.0% (132 of 176 strings)
2017-05-20 14:38:59 +02:00
naofum
ccee18057a Translated using Weblate (Japanese)
Currently translated at 100.0% (176 of 176 strings)
2017-05-20 07:11:53 +02:00
Freddy Morán Jr
1ad0f342ad Translated using Weblate (Spanish)
Currently translated at 100.0% (176 of 176 strings)
2017-05-19 15:39:44 +02:00
Eduardo Caron
7a16ac574b Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (176 of 176 strings)
2017-05-19 15:16:03 +02:00
Matej U
f46738f750 Translated using Weblate (Slovenian)
Currently translated at 100.0% (176 of 176 strings)
2017-05-19 13:49:47 +02:00
monolifed
fb8ff3fece Translated using Weblate (Turkish)
Currently translated at 100.0% (176 of 176 strings)
2017-05-19 12:20:03 +02:00
Weblate
7498dd3800 Merge remote-tracking branch 'origin/master' 2017-05-19 03:46:42 +02:00
Freddy Morán Jr
957c31b9c5 Translated using Weblate (Spanish)
Currently translated at 100.0% (172 of 172 strings)
2017-05-19 03:46:40 +02:00
Mauricio Colli
b260570e8c Merge pull request #568 from mauriciocolli/option-search-suggestions
Add option to disable the search suggestions
2017-05-16 22:17:28 -03:00
Mauricio Colli
46542747b7 Merge pull request #567 from mauriciocolli/option-gestures-player
Add option to disable the gesture controls of the player
2017-05-16 22:14:31 -03:00
Mauricio Colli
d64480fc9b Add option to disable the search suggestions 2017-05-16 22:14:07 -03:00
Mauricio Colli
c00e694d40 Add option to disable the gesture controls of the player 2017-05-16 21:45:38 -03:00
Bruno Guerreiro
f0761cc95e Translated using Weblate (Portuguese)
Currently translated at 100.0% (172 of 172 strings)
2017-05-16 21:32:24 +02:00
Eduardo Caron
068554955c Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (172 of 172 strings)
2017-05-16 21:25:48 +02:00
Freddy Morán Jr
a2f915f556 Translated using Weblate (Spanish)
Currently translated at 100.0% (172 of 172 strings)
2017-05-16 14:38:29 +02:00
Mohamad Hasan Al Banna
cffd35c974 Translated using Weblate (Indonesian)
Currently translated at 100.0% (172 of 172 strings)
2017-05-15 17:53:50 +02:00
naofum
2ef2aa98a4 Translated using Weblate (Japanese)
Currently translated at 100.0% (172 of 172 strings)
2017-05-15 17:23:57 +02:00
Théophane
ba98b30aa4 Translated using Weblate (French)
Currently translated at 100.0% (172 of 172 strings)
2017-05-15 16:23:59 +02:00
E T
87c0f9c803 Translated using Weblate (Turkish)
Currently translated at 100.0% (172 of 172 strings)
2017-05-15 16:08:54 +02:00
Matej U
ce620b9e28 Translated using Weblate (Slovenian)
Currently translated at 100.0% (172 of 172 strings)
2017-05-15 14:44:49 +02:00
Weblate
fcbb5536eb Merge remote-tracking branch 'origin/master' 2017-05-15 14:42:35 +02:00
Matej U
72df6dbd80 Translated using Weblate (Slovenian)
Currently translated at 100.0% (171 of 171 strings)
2017-05-15 14:42:32 +02:00
Christian Schabesberger
3a6b023dbf update gradle to version 2.3.2 2017-05-15 12:27:46 +02:00
Mauricio Colli
8b67f1358d Implement no-audio icon 2017-05-15 00:57:57 -03:00
Mauricio Colli
2aebb3b8db Add and update resources 2017-05-15 00:57:04 -03:00
Weblate
f2b38be2b0 Merge remote-tracking branch 'origin/master' 2017-05-14 21:46:25 +02:00
E T
a43001f30d Translated using Weblate (Turkish)
Currently translated at 100.0% (171 of 171 strings)
2017-05-14 21:46:25 +02:00
cwgt
17abe1ea5c Translated using Weblate (Bengali (Bangladesh))
Currently translated at 100.0% (167 of 167 strings)
2017-05-14 21:46:24 +02:00
Bruno Guerreiro
6aaefab618 Translated using Weblate (Portuguese)
Currently translated at 98.2% (168 of 171 strings)
2017-05-14 21:46:22 +02:00
Mauricio Colli
cd867fb4d1 Merge pull request #559 from mauriciocolli/default-popup-resolution
Change popup default resolution
2017-05-14 14:01:12 -03:00
Mauricio Colli
25988f61a6 Change popup default resolution 2017-05-14 13:57:08 -03:00
Mauricio Colli
be421e580d Merge pull request #557 from mauriciocolli/fix-settings-rotation
Fix settings on screen rotation
2017-05-14 11:20:29 -03:00
Mauricio Colli
641ab25470 Fix Settings on screen rotation 2017-05-14 11:10:00 -03:00
Mauricio Colli
a508539c2e Merge pull request #556 from mauriciocolli/fix-audio-focus
Improve behavior on audio focus gain
2017-05-14 10:54:13 -03:00
Mauricio Colli
cac79d9a0d Improve behavior on audio focus gain 2017-05-14 10:46:28 -03:00
Christian Schabesberger
9ede8118da Merge pull request #553 from mauriciocolli/fix-screen-on
Fix keep screen on
2017-05-14 10:48:05 +02:00
Mauricio Colli
e47761750a Fix 'keep screen on' 2017-05-14 00:32:28 -03:00
Christian Schabesberger
2f181ce7c9 move on to version 0.9.6 2017-05-13 22:13:28 +02:00
Christian Schabesberger
3a13d4a1de Merge pull request #546 from mueller-ma/kodi
Change order of buttons in the title bar
2017-05-13 20:16:24 +02:00
Christian Schabesberger
719de00e0f Merge branch 'fix-menu-update' of https://github.com/mauriciocolli/NewPipe 2017-05-13 20:08:18 +02:00
cwgt
ddffe99f53 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 100.0% (167 of 167 strings)
2017-05-13 11:36:43 +02:00
Eduardo Caron
9ade596f06 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (171 of 171 strings)
2017-05-11 20:33:38 +02:00
nailyk
46f413b7f2 Translated using Weblate (French)
Currently translated at 100.0% (171 of 171 strings)
2017-05-11 19:41:37 +02:00
nailyk
5fe2e7b8ad Translated using Weblate (French)
Currently translated at 92.3% (158 of 171 strings)

 popup_mode_share_menu_title a été traduit "Module popup de Newpipe", restons cohérents.
2017-05-11 19:33:46 +02:00
nailyk
3008cbb5f4 Translated using Weblate (French)
Currently translated at 91.8% (157 of 171 strings)
2017-05-11 19:20:57 +02:00
Weblate
f7983960e5 Merge remote-tracking branch 'origin/master' 2017-05-10 21:07:55 +02:00
monolifed
bb8007bb7c Translated using Weblate (Turkish)
Currently translated at 100.0% (171 of 171 strings)
2017-05-10 21:07:55 +02:00
Freddy Morán Jr
01751ba97a Translated using Weblate (Spanish)
Currently translated at 100.0% (171 of 171 strings)
2017-05-10 21:07:55 +02:00
Tobias Groza
f41475d11c Translated using Weblate (German)
Currently translated at 96.4% (165 of 171 strings)
2017-05-10 21:07:54 +02:00
Nathan Follens
d8914d9b6d Translated using Weblate (Dutch)
Currently translated at 100.0% (171 of 171 strings)
2017-05-10 21:07:52 +02:00
mueller-ma
94cc2ad365 change order of buttons, see https://github.com/TeamNewPipe/NewPipe/issues/471#issuecomment-300267118 2017-05-09 20:57:42 +02:00
Christian Schabesberger
e07464b81c Merge pull request #545 from mauriciocolli/fix-image-loader
Fix image loading bug
2017-05-09 20:19:43 +02:00
Jose Maeso
9d231b55b5 Translated using Weblate (Spanish)
Currently translated at 100.0% (171 of 171 strings)
2017-05-09 18:09:23 +02:00
Freddy Morán Jr
77d8dac3c1 Translated using Weblate (Spanish)
Currently translated at 100.0% (171 of 171 strings)
2017-05-09 18:07:54 +02:00
Freddy Morán Jr
e160015283 Translated using Weblate (Spanish)
Currently translated at 100.0% (171 of 171 strings)
2017-05-09 18:05:47 +02:00
mueller-ma
aeb0cac3ee change order of buttons. closes #471 2017-05-09 17:11:19 +02:00
naofum
a539f94837 Translated using Weblate (Japanese)
Currently translated at 100.0% (171 of 171 strings)
2017-05-09 16:19:42 +02:00
monolifed
df70751071 Translated using Weblate (Turkish)
Currently translated at 100.0% (171 of 171 strings)
2017-05-09 14:34:49 +02:00
E T
e55f1dff78 Translated using Weblate (Turkish)
Currently translated at 97.6% (167 of 171 strings)
2017-05-09 14:12:43 +02:00
Weblate
47646e1c62 Merge remote-tracking branch 'origin/master' 2017-05-09 14:11:45 +02:00
E T
80e673f20c Translated using Weblate (Turkish)
Currently translated at 100.0% (167 of 167 strings)
2017-05-09 14:11:41 +02:00
Mauricio Colli
9ca8c5480c Fix image loader bug 2017-05-09 00:12:06 -03:00
Mauricio Colli
4d0d3c7ead Update menu items after change in settings 2017-05-08 22:23:27 -03:00
Christian Schabesberger
58137aadc9 Merge pull request #543 from mueller-ma/patch-1
Remove untranslatable string
2017-05-08 22:45:21 +02:00
mueller-ma
82a59ae479 Remove untranslatable string 2017-05-08 20:51:13 +02:00
Mauricio Colli
affd23b14e Fix animations 2017-05-08 10:33:26 -03:00
Mauricio Colli
9c7f249756 Clean and move some classes 2017-05-08 10:28:33 -03:00
Christian Schabesberger
e2a0502171 Merge pull request #538 from cwgt/bn-bd-translation
Add Bangla translation (for Bangladesh)
2017-05-08 11:44:27 +02:00
cwgt
3832a4b355 Add Bangla translation (for Bangladesh) 2017-05-08 15:27:55 +06:00
cwgt
84f059415c Create strings.xml 2017-05-08 13:32:33 +06:00
Christian Schabesberger
bb292e3199 add some more screenshots 2017-05-07 20:41:44 +02:00
Christian Schabesberger
70541bf561 moved on to version 0.9.5 2017-05-07 20:05:00 +02:00
Christian Schabesberger
48dd8e88e3 Merge branch 'master' of github.com:theScrabi/NewPipe 2017-05-07 19:48:21 +02:00
Eduardo Caron
52c2e0899d Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.4% (166 of 167 strings)
2017-05-07 18:46:09 +02:00
Christian Schabesberger
9955d5b62f Merge branch 'resize' 2017-05-04 21:31:38 +02:00
Marian Hanzel
8e26247fa1 Translated using Weblate (Slovak)
Currently translated at 100.0% (167 of 167 strings)
2017-05-04 21:02:23 +02:00
Weblate
72924e2692 Merge remote-tracking branch 'origin/master' 2017-05-04 18:46:39 +02:00
Eduardo Caron
8c2c8d630f Translated using Weblate (Portuguese (Brazil))
Currently translated at 98.8% (165 of 167 strings)
2017-05-04 18:46:39 +02:00
Freddy Morán Jr
5ccf0baa6b Translated using Weblate (Spanish)
Currently translated at 100.0% (167 of 167 strings)
2017-05-04 18:46:36 +02:00
Christian Schabesberger
8fff0ccdf2 Merge pull request #532 from mauriciocolli/improve-readme
Update Readme
2017-05-04 00:10:44 +02:00
Mauricio Colli
35264bfb97 Update Readme 2017-05-03 16:13:31 -03:00
Matej U
4c9b0dc8e9 Translated using Weblate (Slovenian)
Currently translated at 100.0% (167 of 167 strings)
2017-05-02 21:02:58 +02:00
Freddy Morán Jr
4deb7caa83 Translated using Weblate (Spanish)
Currently translated at 100.0% (167 of 167 strings)
2017-05-02 17:22:14 +02:00
Enol P
45f1a512b4 Translated using Weblate (Asturian)
Currently translated at 98.2% (164 of 167 strings)
2017-05-01 18:44:12 +02:00
Mladen Pejaković
ab95fdc087 Translated using Weblate (Serbian)
Currently translated at 99.4% (166 of 167 strings)
2017-05-01 15:46:36 +02:00
Christian Schabesberger
df608b9ded Merge branch 'feature-resize' of https://github.com/mauriciocolli/NewPipe into resize 2017-05-01 15:15:30 +02:00
Tobias Groza
6a4c81d160 Translated using Weblate (German)
Currently translated at 98.2% (164 of 167 strings)
2017-05-01 12:45:14 +02:00
Mauricio Colli
040d658540 Implement resizable popup 2017-05-01 02:23:50 -03:00
naofum
cbc9913e9c Translated using Weblate (Japanese)
Currently translated at 100.0% (167 of 167 strings)
2017-04-30 05:47:23 +02:00
Wout Bertrums
f007cbd5ee Translated using Weblate (Dutch)
Currently translated at 100.0% (167 of 167 strings)
2017-04-29 18:46:39 +02:00
zmni
7351591df7 Translated using Weblate (Indonesian)
Currently translated at 100.0% (167 of 167 strings)
2017-04-29 16:52:22 +02:00
monolifed
5222d4cbba Translated using Weblate (Turkish)
Currently translated at 100.0% (167 of 167 strings)
2017-04-29 09:48:33 +02:00
Weblate
ef9966815e Merge remote-tracking branch 'origin/master' 2017-04-29 08:27:55 +02:00
anonymous
ad73440ce9 Translated using Weblate (Czech)
Currently translated at 93.9% (154 of 164 strings)
2017-04-29 08:27:51 +02:00
Christian Schabesberger
c81cfdc455 moved on to version 0.9.4 2017-04-28 21:26:11 +02:00
Christian Schabesberger
134c3804db Merge branch 'fix-search' of https://github.com/mauriciocolli/NewPipe into fix-search 2017-04-28 20:42:37 +02:00
Christian Schabesberger
e355df5eda update NewPipeExtractor 2017-04-28 20:19:23 +02:00
Mauricio Colli
a68e0a95f4 Fix NullPointerException 2017-04-28 01:07:54 -03:00
Mauricio Colli
6fd6facf72 Improve animations of VideoDetailFragment 2017-04-28 00:58:50 -03:00
Mauricio Colli
00102d4048 Try to fix travis 2017-04-26 17:07:24 -03:00
Mauricio Colli
adbeff11d4 Minor improvements 2017-04-26 16:32:20 -03:00
Mauricio Colli
a8fe329678 Improve fragments
- They save the state now, that means, no more reloading after rotating the screen or switching between apps
2017-04-26 16:32:04 -03:00
Mauricio Colli
a4b61bf730 Add new workers 2017-04-26 16:25:09 -03:00
Mauricio Colli
ee592def0c Add drawables and improve layouts 2017-04-26 16:24:33 -03:00
Allan Nordhøy
c14e117239 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (164 of 164 strings)
2017-04-25 03:46:10 +02:00
rapi3
b6e94dde0c Translated using Weblate (Romanian)
Currently translated at 100.0% (164 of 164 strings)
2017-04-23 15:46:17 +02:00
monolifed
63a4a44d7e Translated using Weblate (Turkish)
Currently translated at 100.0% (164 of 164 strings)
2017-04-23 12:46:56 +02:00
Allan Nordhøy
eb8ab5d527 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (164 of 164 strings)
2017-04-23 00:57:22 +02:00
riotism
b778d40d65 Translated using Weblate (Chinese (Hong Kong))
Currently translated at 97.5% (160 of 164 strings)
2017-04-22 18:44:35 +02:00
rapi3
2f570672dc Translated using Weblate (Romanian)
Currently translated at 100.0% (164 of 164 strings)
2017-04-21 14:11:07 +02:00
anonymous
9290ed490f Translated using Weblate (Turkish)
Currently translated at 100.0% (164 of 164 strings)
2017-04-21 11:12:23 +02:00
monolifed
1bda812c75 Translated using Weblate (Turkish)
Currently translated at 100.0% (164 of 164 strings)
2017-04-21 11:11:23 +02:00
Weblate
ab82406c98 Merge remote-tracking branch 'origin/master' 2017-04-19 17:36:17 +02:00
Mladen Pejaković
be763349df Translated using Weblate (Serbian)
Currently translated at 99.3% (163 of 164 strings)
2017-04-19 17:36:16 +02:00
zmni
91764ad601 Translated using Weblate (Indonesian)
Currently translated at 100.0% (164 of 164 strings)
2017-04-19 17:36:14 +02:00
Christian Schabesberger
1c4031aa38 Merge branch 'master' of github.com:theScrabi/NewPipe 2017-04-18 22:39:16 +02:00
Christian Schabesberger
c3bc648dd4 moved on to version 0.9.3 2017-04-18 22:34:32 +02:00
Christian Schabesberger
c97d794272 updated sdk and support lib 2017-04-18 22:34:04 +02:00
Christian Schabesberger
8e7d2e91e9 Merge branch 'feature-backplayer' of https://github.com/mauriciocolli/NewPipe into mark 2017-04-18 22:06:47 +02:00
Laura Arjona Reina
cf0fbbbd3d Translated using Weblate (Spanish)
Currently translated at 100.0% (164 of 164 strings)
2017-04-18 20:19:12 +02:00
Tobias Groza
7d3ede7946 Translated using Weblate (German)
Currently translated at 100.0% (164 of 164 strings)
2017-04-18 12:58:44 +02:00
Eduardo Caron
1aa308eb5d Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (164 of 164 strings)
2017-04-18 00:35:02 +02:00
anonymous
4bfd30e34a Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.3% (163 of 164 strings)
2017-04-18 00:28:43 +02:00
Eduardo Caron
0f46c90688 Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.3% (163 of 164 strings)
2017-04-18 00:27:31 +02:00
Matej U
aa2173fc4a Translated using Weblate (Slovenian)
Currently translated at 100.0% (164 of 164 strings)
2017-04-17 18:09:10 +02:00
Mauricio Colli
932cb1d19c Remove ugly bitmap sharing and improvements
- Now it is just using the ImageLoader to load the image, and better yet, it already have cache implemented in it
- Improve MainActivity intent handler
- Improve utils classes
2017-04-17 01:21:48 -03:00
Mauricio Colli
18b038d8e4 Improve notification layouts 2017-04-17 01:20:14 -03:00
Mauricio Colli
2ac71c75c0 Improve players
- Background player is using ExoPlayer internally now
2017-04-17 01:19:53 -03:00
naofum
4067ba5232 Translated using Weblate (Japanese)
Currently translated at 100.0% (164 of 164 strings)
2017-04-16 16:48:37 +02:00
Marian Hanzel
ab47dd5a5b Translated using Weblate (Slovak)
Currently translated at 100.0% (164 of 164 strings)
2017-04-15 22:32:17 +02:00
Nathan Follens
3130910307 Translated using Weblate (Dutch)
Currently translated at 100.0% (164 of 164 strings)
2017-04-15 17:35:12 +02:00
Sérgio Marques
22113439a4 Translated using Weblate (Portuguese)
Currently translated at 100.0% (164 of 164 strings)
2017-04-15 16:09:58 +02:00
Weblate
2d25a9ad7a Merge remote-tracking branch 'origin/master' 2017-04-15 16:07:22 +02:00
Freddy Morán Jr
8f0a2cc2f0 Translated using Weblate (Spanish)
Currently translated at 100.0% (161 of 161 strings)
2017-04-15 16:07:22 +02:00
Marian Hanzel
4ca39258c9 Translated using Weblate (Slovak)
Currently translated at 100.0% (161 of 161 strings)
2017-04-15 16:07:21 +02:00
Enol P
d0c0238b8b Translated using Weblate (Asturian)
Currently translated at 98.1% (158 of 161 strings)
2017-04-15 16:07:20 +02:00
Sérgio Marques
f9f08e5169 Translated using Weblate (Portuguese)
Currently translated at 100.0% (161 of 161 strings)
2017-04-15 16:07:18 +02:00
Christian Schabesberger
cfc51b2401 Merge branch 'master' of github.com:theScrabi/NewPipe 2017-04-15 14:05:39 +02:00
Christian Schabesberger
54c2704cb5 switch to dark default theme 2017-04-15 14:05:31 +02:00
Christian Schabesberger
9b51c946fe add 1080p to available features 2017-04-15 13:43:21 +02:00
Christian Schabesberger
06f38cbcb4 Merge branch 'feature-4k60f' of git://github.com/mauriciocolli/NewPipe into 4k 2017-04-15 12:52:03 +02:00
Christian Schabesberger
f368d6b257 update extractor 2017-04-15 12:51:35 +02:00
Marian Hanzel
f4301da14d Translated using Weblate (Slovak)
Currently translated at 100.0% (161 of 161 strings)
2017-04-13 21:49:26 +02:00
Weblate
f34c09f165 Merge remote-tracking branch 'origin/master' 2017-04-13 20:51:06 +02:00
Freddy Morán Jr
6d1db56512 Translated using Weblate (Spanish)
Currently translated at 100.0% (161 of 161 strings)
2017-04-13 20:51:03 +02:00
Christian Schabesberger
b70c07d004 update extractor 2017-04-13 19:41:43 +02:00
Christian Schabesberger
f9f48a5eb6 Merge branch 'master' of github.com:theScrabi/NewPipe 2017-04-13 19:41:28 +02:00
Christian Schabesberger
14e4e73444 update gradle 2017-04-13 19:41:15 +02:00
Nathan Follens
f2ce4d2daf Translated using Weblate (Dutch)
Currently translated at 100.0% (161 of 161 strings)
2017-04-13 19:10:56 +02:00
naofum
468ebdda87 Translated using Weblate (Japanese)
Currently translated at 100.0% (161 of 161 strings)
2017-04-13 16:53:26 +02:00
nautilusx
a1f0fb3b14 Translated using Weblate (German)
Currently translated at 100.0% (161 of 161 strings)
2017-04-13 16:08:34 +02:00
zmni
3c9f4de234 Translated using Weblate (Indonesian)
Currently translated at 100.0% (161 of 161 strings)
2017-04-13 15:59:13 +02:00
Tobias Groza
8ae411619f Translated using Weblate (German)
Currently translated at 96.8% (156 of 161 strings)
2017-04-13 15:56:35 +02:00
nautilusx
61e5c9121a Translated using Weblate (German)
Currently translated at 96.2% (155 of 161 strings)
2017-04-13 15:55:28 +02:00
Weblate
8a3cf0d5dc Merge remote-tracking branch 'origin/master' 2017-04-13 15:53:52 +02:00
Freddy Morán Jr
ecb5df65ac Translated using Weblate (Spanish)
Currently translated at 100.0% (160 of 160 strings)
2017-04-13 15:53:52 +02:00
anonymous
5f1e98a0d3 Translated using Weblate (German)
Currently translated at 96.2% (154 of 160 strings)
2017-04-13 15:53:49 +02:00
Mauricio Colli
3b9a477499 Add resolution support up to 4k and 60 fps
- Up to 4k with 60 fps
    - Not every device can play in that resolution and bitrate
    - Add option to hide these high resolution greater than 1080p (2k,4k) for not clutter the menus
- Add a default resolution for the popup, wil be used when opening in popup mode from another app
2017-04-12 03:07:15 -03:00
Christian Schabesberger
e5bf98a741 move on to version 0.9.2 2017-04-11 22:51:04 +02:00
Christian Schabesberger
06fafc247e move to version 0.9.2 of NewPipeExtractor 2017-04-11 22:49:18 +02:00
Christian Schabesberger
e8bb17b631 Merge branch 'fix-next-video' of git://github.com/mauriciocolli/NewPipe into mul 2017-04-11 22:26:41 +02:00
Freddy Morán Jr
363cd07883 Translated using Weblate (Spanish)
Currently translated at 100.0% (160 of 160 strings)
2017-04-11 18:56:03 +02:00
Mladen Pejaković
2b4a9286c4 Translated using Weblate (Serbian)
Currently translated at 99.3% (159 of 160 strings)
2017-04-11 00:46:21 +02:00
Nathan Follens
34c985026f Translated using Weblate (Dutch)
Currently translated at 100.0% (160 of 160 strings)
2017-04-10 17:40:52 +02:00
naofum
4a0aa42914 Translated using Weblate (Japanese)
Currently translated at 100.0% (160 of 160 strings)
2017-04-10 17:21:54 +02:00
Mauricio Colli
746c2a15bf Migrate to fragments and improvements
- Migrate to fragments
- Fix #487
- Don't show "Open in popup mode" to channel links
- New backstack of videos
- Change the subscribers count to format using `NumberFormat`, for example some locales use `.`  others `,`, this handles it automatically (and the old method had a bug for leading zero, e.g. 4.82.125 instead of 4.082.125)
- Add string 'subscribers' for channels with more than 1 subscriber (plural)
- Popup player chooses the default format and resolution based on the new preference (format)
- Fix taskaffinity of the router activities
- Show title before loading, as it is available from the items already loaded
2017-04-09 14:34:00 -03:00
zmni
9318bb5306 Translated using Weblate (Indonesian)
Currently translated at 100.0% (160 of 160 strings)
2017-04-09 07:39:53 +02:00
Matej U
2a10ceb74f Translated using Weblate (Slovenian)
Currently translated at 100.0% (160 of 160 strings)
2017-04-08 22:08:31 +02:00
Weblate
83f4db59e2 Merge remote-tracking branch 'origin/master' 2017-04-08 21:47:50 +02:00
Olexandr Nesterenko
9f66f759ad Translated using Weblate (Ukrainian)
Currently translated at 84.9% (135 of 159 strings)
2017-04-08 21:47:47 +02:00
Christian Schabesberger
6f015349e8 moved on to v0.9.1 2017-04-08 17:17:58 +02:00
Christian Schabesberger
a37802c2b9 add prefered video format 2017-04-08 17:17:11 +02:00
Florian
4fa3baf5e1 Translated using Weblate (French)
Currently translated at 99.3% (158 of 159 strings)
2017-04-07 12:45:03 +02:00
Oscar Hemelaar
ef8c2c81d5 Translated using Weblate (Italian)
Currently translated at 98.7% (157 of 159 strings)
2017-04-07 03:45:31 +02:00
Mladen Pejaković
8c80d8c457 Translated using Weblate (Serbian)
Currently translated at 99.3% (158 of 159 strings)
2017-04-07 00:46:25 +02:00
Matej U
1596872c54 Translated using Weblate (Slovenian)
Currently translated at 100.0% (159 of 159 strings)
2017-04-05 14:47:22 +02:00
Oscar Hemelaar
da8873fa78 Translated using Weblate (French)
Currently translated at 99.3% (158 of 159 strings)
2017-04-05 12:14:32 +02:00
Oscar Hemelaar
ecd8439b3f Translated using Weblate (French)
Currently translated at 98.1% (156 of 159 strings)

if it's for a video restart button, it's "Relancer"
2017-04-05 02:53:08 +02:00
Oscar Hemelaar
5d178532ac Translated using Weblate (French)
Currently translated at 97.4% (155 of 159 strings)
2017-04-05 02:52:24 +02:00
Oscar Hemelaar
08e40a013d Translated using Weblate (French)
Currently translated at 96.8% (154 of 159 strings)

or "OK" ?
2017-04-05 02:50:49 +02:00
Oscar Hemelaar
c136f7363c Translated using Weblate (French)
Currently translated at 96.2% (153 of 159 strings)
2017-04-05 02:50:26 +02:00
Florian
a60f10d739 Translated using Weblate (French)
Currently translated at 90.5% (144 of 159 strings)
2017-04-04 21:45:44 +02:00
naofum
ae46afcb42 Translated using Weblate (Japanese)
Currently translated at 100.0% (159 of 159 strings)
2017-04-04 16:15:27 +02:00
mueller-ma
bffb9f6800 Translated using Weblate (German)
Currently translated at 95.5% (152 of 159 strings)
2017-04-03 09:29:35 +02:00
Tobias Groza
79aa9ad04b Translated using Weblate (German)
Currently translated at 94.9% (151 of 159 strings)
2017-04-03 09:26:41 +02:00
anonymous
ff5714f04a Translated using Weblate (French)
Currently translated at 89.9% (143 of 159 strings)
2017-04-02 18:59:25 +02:00
zmni
ce499a9766 Translated using Weblate (Indonesian)
Currently translated at 100.0% (159 of 159 strings)
2017-04-02 16:49:33 +02:00
Weblate
d3bb8b7651 Merge remote-tracking branch 'origin/master' 2017-04-02 16:48:37 +02:00
Freddy Morán Jr
6d9c23c4cb Translated using Weblate (Spanish)
Currently translated at 100.0% (158 of 158 strings)
2017-04-02 16:48:36 +02:00
Nathan Follens
b95a9332a9 Translated using Weblate (Dutch)
Currently translated at 100.0% (158 of 158 strings)
2017-04-02 16:48:35 +02:00
zmni
609715eb5c Translated using Weblate (Indonesian)
Currently translated at 100.0% (158 of 158 strings)
2017-04-02 16:48:33 +02:00
Christian Schabesberger
a1266c919c Merge branch 'fix-next-video' of git://github.com/mauriciocolli/NewPipe into strfx 2017-04-02 15:56:41 +02:00
Christian Schabesberger
a1925a0302 Merge branch 'master' of github.com:theScrabi/NewPipe 2017-04-02 15:48:53 +02:00
Christian Schabesberger
a7a4c03372 update features list, and moved on to v0.9.0 2017-04-02 15:47:21 +02:00
Christian Schabesberger
37201600e0 Merge pull request #494 from mueller-ma/patch-1
Fix list in readme
2017-04-02 15:44:14 +02:00
mueller-ma
a94f40ed62 Fix list in readme 2017-04-02 14:33:52 +02:00
naofum
0b08cf8c76 Translated using Weblate (Japanese)
Currently translated at 100.0% (158 of 158 strings)
2017-04-01 13:36:04 +02:00
Mauricio Colli
33e29be7db Fix next video and refactor
- Refactor VideoItemDetailActivity, StreamExtractorWorker
- Remove redundant styles
- Change dimensions
- Nicer animation/transitions
2017-03-31 20:39:54 -03:00
Freddy Morán Jr
bd1c7851c7 Translated using Weblate (Portuguese)
Currently translated at 100.0% (158 of 158 strings)
2017-04-01 01:02:49 +02:00
Freddy Morán Jr
82faea5965 Translated using Weblate (Spanish)
Currently translated at 100.0% (158 of 158 strings)
2017-04-01 00:51:34 +02:00
Weblate
0bbbfd3217 Merge remote-tracking branch 'origin/master' 2017-04-01 00:44:52 +02:00
Freddy Morán Jr
fb578ecda8 Translated using Weblate (Spanish)
Currently translated at 100.0% (156 of 156 strings)
2017-04-01 00:44:41 +02:00
Christian Schabesberger
e804647a65 make exoplayer default player 2017-03-29 09:17:03 +02:00
Christian Schabesberger
c3c3a94593 Merge branch 'feature-popup-fullscreen' of git://github.com/mauriciocolli/NewPipe into toogle 2017-03-29 08:48:00 +02:00
Mauricio Colli
9d55569f80 Fix keep screen on 2017-03-28 09:12:03 -03:00
Christian Schabesberger
5dd8271c15 Merge pull request #489 from mauriciocolli/master
Fix travis and some clean-up
2017-03-27 23:53:04 +02:00
Mauricio Colli
7a4a54c3ea Fix travis
- Remove duplicate of AndroidManifest
- Remove some non-translatable strings from "ar" translation, and general clean-up of other
2017-03-27 16:34:37 -03:00
Mauricio Colli
7c9078a625 Fix non-commited file 2017-03-27 11:26:36 -03:00
Mauricio Colli
71ae342f52 Implement screen orientation toggle 2017-03-27 10:12:22 -03:00
Mauricio Colli
b43c56085d Implement fullscreen and quality selector
- Implement cache
- Abstract player
- Quality selector
- Fullscreen switcher
- Change some drawables
2017-03-27 01:08:16 -03:00
Christian Schabesberger
83d2ab95e0 Merge branch 'master' of github.com:TeamNewPipe/NewPipe 2017-03-26 17:29:25 +02:00
Christian Schabesberger
20a8d7372c fix broken overlay on .svg icon 2017-03-26 17:29:16 +02:00
Weblate
c36ba88db7 Merge remote-tracking branch 'origin/master' 2017-03-25 14:05:16 +01:00
Nathan Follens
4aa23023ee Translated using Weblate (Dutch)
Currently translated at 100.0% (156 of 156 strings)
2017-03-25 14:05:13 +01:00
Christian Schabesberger
8735cf931a update to new backend with playlist support 2017-03-22 20:14:56 +01:00
Weblate
2473069326 Merge remote-tracking branch 'origin/master' 2017-03-21 09:44:34 +01:00
vesp
03bab57a97 Translated using Weblate (Czech)
Currently translated at 99.3% (155 of 156 strings)
2017-03-21 09:44:32 +01:00
Christian Schabesberger
e3baf69533 fix channel rotation problem 2017-03-17 20:35:22 +01:00
Christian Schabesberger
461f747af1 add IOException 2017-03-17 20:18:44 +01:00
Christian Schabesberger
028872a7d8 Merge pull request #483 from mauriciocolli/patch-2
Fix bug when fetching unavailable content
2017-03-17 17:10:03 +01:00
Christian Schabesberger
a1483b6c55 Merge pull request #481 from mauriciocolli/patch-1
Handle embed links
2017-03-17 17:09:13 +01:00
mauriciocolli
e406ba094c Improve bug detection
- Show a message with the appropriate error (network error)
2017-03-17 12:09:20 -03:00
mauriciocolli
c100d15ba8 Fix bug when fetching unavailable content
- Fix #482
- When opening a invalid/deleted/unavailable video, the popup was just printing the error, now it shows a message to the user and exits
2017-03-17 11:50:27 -03:00
mauriciocolli
b4ea592638 Handle embed links
- Fix #480
- Add /embed/ to intent filter, as the app already handles these type of links internally
2017-03-17 00:27:59 -03:00
Sérgio Marques
16b757d9a3 Translated using Weblate (Portuguese)
Currently translated at 100.0% (156 of 156 strings)
2017-03-17 00:46:17 +01:00
Sérgio Marques
2aa801a392 Translated using Weblate (Portuguese)
Currently translated at 100.0% (156 of 156 strings)
2017-03-14 23:24:24 +01:00
Matej U
b838344526 Translated using Weblate (Slovenian)
Currently translated at 100.0% (156 of 156 strings)
2017-03-13 10:30:41 +01:00
zmni
233a3df222 Translated using Weblate (Indonesian)
Currently translated at 100.0% (156 of 156 strings)
2017-03-11 13:27:00 +01:00
naofum
da6661b1ea Translated using Weblate (Japanese)
Currently translated at 100.0% (156 of 156 strings)
2017-03-11 12:37:49 +01:00
Mladen Pejaković
c6e120fc51 Translated using Weblate (Serbian)
Currently translated at 100.0% (156 of 156 strings)
2017-03-10 23:09:42 +01:00
Marian Hanzel
c416a1254d Translated using Weblate (Slovak)
Currently translated at 100.0% (156 of 156 strings)
2017-03-10 23:07:10 +01:00
Weblate
2aa4f6ddda Merge remote-tracking branch 'origin/master' 2017-03-10 21:45:11 +01:00
Enrico Monese
129597023d Translated using Weblate (Italian)
Currently translated at 100.0% (154 of 154 strings)
2017-03-10 21:45:10 +01:00
vesp
02aed86b7e Translated using Weblate (Czech)
Currently translated at 98.7% (152 of 154 strings)
2017-03-10 21:45:10 +01:00
Tobias Groza
e44f4b5823 Translated using Weblate (German)
Currently translated at 98.7% (152 of 154 strings)
2017-03-10 21:45:08 +01:00
Christian Schabesberger
2f0c0f0fc2 Merge branch 'master' of github.com:TeamNewPipe/NewPipe 2017-03-09 16:21:36 +01:00
Christian Schabesberger
e5ce3f3007 moved on to version 0.8.12 2017-03-09 16:21:20 +01:00
Christian Schabesberger
095a2be748 change popuplayer class description 2017-03-09 16:14:49 +01:00
Christian Schabesberger
c75fe88757 Merge branch 'feature-popup' of git://github.com/mauriciocolli/NewPipe 2017-03-09 16:08:33 +01:00
Christian Schabesberger
a8ff4b0744 Fix backbutton behaviour
- close on MainActivity when back pressed
- clear NavStack on rotation
2017-03-09 16:01:09 +01:00
Christian Schabesberger
c02c511e31 Update .travis.yml
update build-tools version for travis
2017-03-09 15:41:10 +01:00
Mauricio Colli
b9550fb528 Merge remote-tracking branch 'upstream/master' into feature-popup 2017-03-09 04:49:15 -03:00
Mauricio Colli
a37d8f083a Implement popup mode
- Add icons replay, fast_forward
- Add strings
- Add menu entry
- Add as option to open link directly to popup mode
2017-03-09 04:42:40 -03:00
Mauricio Colli
abff1f537b Add ExoMedia and remove ExoPlayer
- Remove ExoPlayer files
- Added ExoMedia library
2017-03-09 01:44:00 -03:00
Enrico Monese
483fde5e42 Translated using Weblate (Italian)
Currently translated at 100.0% (154 of 154 strings)
2017-03-08 23:52:45 +01:00
Weblate
761b7ea57b Merge remote-tracking branch 'origin/master' 2017-03-07 18:45:34 +01:00
zmni
af92631a0c Translated using Weblate (Indonesian)
Currently translated at 100.0% (154 of 154 strings)
2017-03-07 18:45:29 +01:00
Christian Schabesberger
ffe832d061 update gradle verson 2017-03-07 14:14:02 +01:00
Christian Schabesberger
a08cbfcef1 Merge branch 'master' of github.com:TeamNewPipe/NewPipe 2017-03-06 15:36:13 +01:00
Christian Schabesberger
d2d6ac1bf8 add CCC slides 2017-03-06 15:36:04 +01:00
Weblate
615ffca64b Merge remote-tracking branch 'origin/master' 2017-03-05 16:35:55 +01:00
Tobias Groza
2fcf6197c5 Translated using Weblate (German)
Currently translated at 97.4% (150 of 154 strings)
2017-03-05 16:35:54 +01:00
zmni
22d31ae14f Translated using Weblate (Indonesian)
Currently translated at 100.0% (154 of 154 strings)
2017-03-05 16:35:52 +01:00
Christian Schabesberger
8c786e121b get down to support lib 25.1.0 2017-03-04 13:30:21 +01:00
Christian Schabesberger
99d2a33c8c reset support lib to 25.1.1
25.2.0 is not yet supported by fdroid
2017-03-04 13:23:54 +01:00
Marian Hanzel
010a24db3f Translated using Weblate (Slovak)
Currently translated at 100.0% (154 of 154 strings)
2017-03-04 10:57:28 +01:00
Weblate
9408da453b Merge remote-tracking branch 'origin/master' 2017-03-02 15:26:33 +01:00
Jose Maeso
dbda4202fd Translated using Weblate (Spanish)
Currently translated at 98.7% (152 of 154 strings)
2017-03-02 15:26:32 +01:00
Mladen Pejaković
5776e91459 Translated using Weblate (Serbian)
Currently translated at 100.0% (154 of 154 strings)
2017-03-02 15:26:32 +01:00
Matej U
664d7b69b1 Translated using Weblate (Slovenian)
Currently translated at 100.0% (154 of 154 strings)
2017-03-02 15:26:30 +01:00
Christian Schabesberger
6b9140c60d make extractor sub use https 2017-03-01 19:25:19 +01:00
Christian Schabesberger
383857d110 add extractor submodule 2017-03-01 19:08:12 +01:00
Christian Schabesberger
cffd049c8a remove extractor 2017-03-01 19:06:27 +01:00
Christian Schabesberger
ecabc65e94 Merge branch 'master' of github.com:TeamNewPipe/NewPipe 2017-03-01 18:03:50 +01:00
Christian Schabesberger
780f1d5da3 made extractor systemindipendent again 2017-03-01 18:03:36 +01:00
naofum
e2d0fc34a3 Translated using Weblate (Japanese)
Currently translated at 100.0% (154 of 154 strings)
2017-03-01 17:41:48 +01:00
Christian Schabesberger
3404231457 get rid of xul xml parser 2017-03-01 16:40:04 +01:00
Mladen Pejaković
b17928570d Translated using Weblate (Serbian)
Currently translated at 100.0% (154 of 154 strings)
2017-03-01 14:15:48 +01:00
Weblate
8ed86261ef Merge remote-tracking branch 'origin/master' 2017-03-01 12:45:58 +01:00
RACER
a313b91a0a Translated using Weblate (Japanese)
Currently translated at 100.0% (149 of 149 strings)
2017-03-01 12:45:45 +01:00
Christian Schabesberger
7b6dae20be add loading footer to search fragment 2017-02-28 13:24:07 +01:00
Christian Schabesberger
552c70bb0d add adblocker for youtube red stuff 2017-02-28 13:05:20 +01:00
Christian Schabesberger
8f734737f0 fix bug and add footer cycle to channel 2017-02-28 12:13:29 +01:00
Christian Schabesberger
800e7bcb7a moved on to v0.8.11 2017-02-27 21:37:22 +01:00
Christian Schabesberger
2002234d86 fix channel load more videos error 2017-02-27 21:31:20 +01:00
Christian Schabesberger
5923663e08 add routed_intent activity 2017-02-27 21:14:03 +01:00
Christian Schabesberger
4cdf20ab8c fix differences 2017-02-27 19:21:41 +01:00
Christian Schabesberger
af65a1cfef Merge branch 'feature-theme-change' of git://github.com/mauriciocolli/NewPipe into conf 2017-02-27 19:04:38 +01:00
Christian Schabesberger
927057ab83 Merge pull request #465 from mauriciocolli/fix-travis
Fix travis and YoutubeStreamUrlIdHandler
2017-02-27 19:03:28 +01:00
Christian Schabesberger
ffbc001ad5 fix navstack channel problem 2017-02-27 19:00:06 +01:00
Christian Schabesberger
f5625a1151 fix dashmpd bug 2017-02-27 17:57:16 +01:00
Christian Schabesberger
ce2ceb8a1b fix layout 2017-02-27 16:38:01 +01:00
Christian Schabesberger
c14771534f redesign channel activity 2017-02-27 15:58:09 +01:00
59436419
553cec16d5 Removed old icons 2017-02-27 17:30:47 +05:30
59436419
d17496f720 Improved code for changing theme 2017-02-27 17:25:15 +05:30
Christian Schabesberger
89e70626eb update support framework 2017-02-26 21:38:02 +01:00
Mauricio Colli
2ccae841d6 Change variable names
For a better understanding of what is going on
2017-02-26 07:47:13 -03:00
Mauricio Colli
07f6d0f149 Fix bug lower case id
This method was passing the lowercase url
2017-02-25 18:15:50 -03:00
Mauricio Colli
319d769233 Change video Id
The previous wasn't working
2017-02-25 18:14:32 -03:00
Mauricio Colli
6ec393699e Check if selected theme it's not the current 2017-02-25 16:04:10 -03:00
Mauricio Colli
f8d9e0fa60 Implement restart dialog 2017-02-25 15:36:31 -03:00
Mauricio Colli
50ed962a82 Add necessary strings 2017-02-25 15:34:45 -03:00
Christian Schabesberger
8654705e9b Change T to K 2017-02-22 12:12:39 +01:00
Weblate
b79ed8185f Merge remote-tracking branch 'origin/master' 2017-02-21 17:48:35 +01:00
Rom1
0d6c67f64f Translated using Weblate (French)
Currently translated at 96.6% (144 of 149 strings)
2017-02-21 17:48:34 +01:00
Marian Hanzel
e97a6569a6 Translated using Weblate (Slovak)
Currently translated at 100.0% (149 of 149 strings)
2017-02-21 17:48:32 +01:00
Christian Schabesberger
d0d41c6b16 move on to v0.8.10 2017-02-19 16:09:39 +01:00
Christian Schabesberger
f7a531e71b Merge branch 'fix_nav' 2017-02-19 16:09:02 +01:00
Christian Schabesberger
c28fddc4dd did some finetuning 2017-02-19 16:07:45 +01:00
zmni
b6ea10fc73 Translated using Weblate (Indonesian)
Currently translated at 100.0% (149 of 149 strings)
2017-02-19 15:45:16 +01:00
Gian Maria Viglianti
320eb44061 Translated using Weblate (Italian)
Currently translated at 100.0% (149 of 149 strings)
2017-02-19 00:54:12 +01:00
Christian Schabesberger
7a6b5dd5b7 add initial support for NavStack 2017-02-18 21:59:48 +01:00
naofum
460653ed16 Translated using Weblate (Japanese)
Currently translated at 100.0% (149 of 149 strings)
2017-02-17 16:18:49 +01:00
Mladen Pejaković
b6fda788c5 Translated using Weblate (Serbian)
Currently translated at 100.0% (149 of 149 strings)
2017-02-16 22:12:17 +01:00
Matej U
da4b9306fa Translated using Weblate (Slovenian)
Currently translated at 100.0% (149 of 149 strings)
2017-02-16 22:00:25 +01:00
Weblate
d76c02cbf4 Merge remote-tracking branch 'origin/master' 2017-02-16 21:44:49 +01:00
nonamebg
4d5466b5cd Translated using Weblate (English)
Currently translated at 100.0% (141 of 141 strings)
2017-02-16 21:44:40 +01:00
Christian Schabesberger
e9c20ac8b0 add search channels to available features 2017-02-16 13:57:48 +01:00
Christian Schabesberger
961820a250 Merge branch 'search_channel' 2017-02-16 13:33:46 +01:00
Christian Schabesberger
4cc2976061 add unit test for new channel search 2017-02-16 00:46:15 +01:00
Christian Schabesberger
477f182b43 convert android tests to junit tests 2017-02-16 00:17:43 +01:00
Christian Schabesberger
a5252bb765 add search filter menu 2017-02-15 15:21:36 +01:00
Christian Schabesberger
3f0078f38a git channel item running 2017-02-15 12:59:36 +01:00
Christian Schabesberger
91434dd2ac setup core for search channel support 2017-02-13 00:55:11 +01:00
Christian Schabesberger
f29bd0a6e7 fix actionbar icon theming 2017-02-12 16:45:01 +01:00
Christian Schabesberger
7186f58374 remove StreamInfoItemSearchCollector 2017-02-12 14:22:39 +01:00
Christian Schabesberger
5c8bcf15ba make colector hirarchicall
remove broken commit()
2017-02-12 13:39:39 +01:00
Christian Schabesberger
130757ee99 Update CONTRIBUTING.md 2017-02-12 00:16:41 +01:00
Christian Schabesberger
5020a4f9dc add mailinglist to contributing 2017-02-11 22:26:00 +01:00
Christian Schabesberger
ef15902ec4 add InfoItem 2017-02-11 21:33:01 +01:00
zmni
ed8d13f837 Translated using Weblate (Indonesian)
Currently translated at 100.0% (141 of 141 strings)
2017-02-11 19:20:01 +01:00
ksyko
c2fcae7c43 Merge pull request #1 from TeamNewPipe/master
0.8.9 update
2017-02-11 23:21:58 +05:30
aladar42
27f2c65e6d Translated using Weblate (Czech)
Currently translated at 100.0% (141 of 141 strings)
2017-02-10 18:44:38 +01:00
Weblate
0b3428ede9 Merge remote-tracking branch 'origin/master' 2017-02-08 17:13:21 +01:00
aladar42
3e0102ad2a Translated using Weblate (Czech)
Currently translated at 100.0% (141 of 141 strings)
2017-02-08 17:13:19 +01:00
Christian Schabesberger
c42002ccc5 removed download notice again 2017-02-06 00:04:20 +01:00
Christian Schabesberger
e8101d5d91 change download link 2017-02-05 23:56:26 +01:00
Christian Schabesberger
ecdf4ad502 add np download to readme 2017-02-05 21:09:36 +01:00
Matej U
af760f9cdc Translated using Weblate (Slovenian)
Currently translated at 100.0% (141 of 141 strings)
2017-02-05 20:16:33 +01:00
Weblate
b3491da49f Merge remote-tracking branch 'origin/master' 2017-02-05 12:46:26 +01:00
Snob Malkowitch
c322feeaff Translated using Weblate (Russian)
Currently translated at 94.3% (134 of 142 strings)
2017-02-05 12:46:18 +01:00
Christian Schabesberger
b26f46a063 Merge pull request #439 from marcobiscaro2112/master
Adding brazilian portuguese translation
2017-02-03 12:37:22 +01:00
Christian Schabesberger
9f0944dc5a Merge pull request #441 from k3b/master
fix NullPointerExcpeption when opening "Downloads" with android-api < 23
2017-02-03 12:35:52 +01:00
k3b
e869098434 fix NullPointerExcpeption when opening "Downloads" with android-api < 23 2017-02-02 01:58:47 +01:00
Weblate
4baa23af5f Merge remote-tracking branch 'origin/master' 2017-02-01 20:58:21 +01:00
aladar42
78fc5bbbd5 Translated using Weblate (Czech)
Currently translated at 97.1% (138 of 142 strings)
2017-02-01 20:58:20 +01:00
Wiredframe
a69784d168 Translated using Weblate (German)
Currently translated at 100.0% (142 of 142 strings)
2017-02-01 20:58:11 +01:00
Marco Biscaro
d48a7f1a18 Adding brazilian portuguese translation
(Also set settings_keys as untranslatable)
2017-02-01 12:32:06 -02:00
Christian Schabesberger
082c6128ad moved on to 0.8.9 2017-01-31 18:28:47 +01:00
Christian Schabesberger
7c9771873b Merge branch 'master' of git://github.com/ksyko/NewPipe into jf 2017-01-31 18:25:30 +01:00
Christian Schabesberger
7257cdacc8 fix background button problem 2017-01-31 18:23:22 +01:00
Christian Schabesberger
140b480f82 url signature fix
* fixed stacktrace
* changed player url
* took regex fix from youtube-dl

final fix taken from youtube-dl
2017-01-31 18:06:44 +01:00
Christian Schabesberger
77db2f8a48 update support Framework 2017-01-31 10:58:53 +01:00
naofum
22bc81b0eb Translated using Weblate (Japanese)
Currently translated at 100.0% (142 of 142 strings)
2017-01-27 15:50:44 +01:00
Mladen Pejaković
b52b3d4be0 Translated using Weblate (Serbian)
Currently translated at 100.0% (142 of 142 strings)
2017-01-26 18:49:26 +01:00
Nathan Follens
f845098b42 Translated using Weblate (Dutch)
Currently translated at 100.0% (142 of 142 strings)
2017-01-26 16:48:57 +01:00
Weblate
0f7397e3b8 Merge remote-tracking branch 'origin/master' 2017-01-26 15:46:09 +01:00
Shaye Faletha
0b9d99fdc9 Translated using Weblate (Polish)
Currently translated at 99.2% (140 of 141 strings)
2017-01-26 15:46:06 +01:00
59436419
9a1da5cc75 Made changes for ICS and JB 2017-01-26 12:07:41 +05:30
Christian Schabesberger
9e76f94cf6 update support lib and move on to 0.8.8 2017-01-22 14:47:05 +01:00
Christian Schabesberger
7d6b92e064 Merge branch 'feature-improve-search-fragment' of git://github.com/coffeemakr/NewPipe into cofe 2017-01-22 14:42:36 +01:00
Christian Schabesberger
849a45a3ca resolve conflict 2017-01-22 14:26:01 +01:00
Christian Schabesberger
7ddea5a71b Merge branch 'feature-accept-embed-links' of git://github.com/coffeemakr/NewPipe into url 2017-01-22 13:55:53 +01:00
Christian Schabesberger
5d81358c15 rename Themer to ThemableActivity 2017-01-22 13:48:50 +01:00
Christian Schabesberger
492aad9d70 Merge branch 'master' of git://github.com/ksyko/NewPipe into kyko 2017-01-22 13:32:39 +01:00
Weblate
647cfcd401 Merge remote-tracking branch 'origin/master' 2017-01-21 15:44:14 +01:00
Yann Hodiesne
c60d98e52d Translated using Weblate (French)
Currently translated at 97.1% (137 of 141 strings)
2017-01-21 15:44:14 +01:00
Osoitz
d3cfac6b15 Translated using Weblate (Basque)
Currently translated at 37.5% (53 of 141 strings)
2017-01-21 15:44:11 +01:00
Coffeemakr
7fb4e5a143 Rename download db sqlite file
Rename the sqlite database to "downloads.db" instead of "newpipe.db"
to make sure the file will create a conflicts later.
2017-01-20 18:57:30 +01:00
Coffeemakr
8e451b2a83 Use fragments setHasOptionsMenu
Remove complications by allowing android to handle fragment's
options menu.

See https://developer.android.com/guide/components/fragments.html#ActionBar
2017-01-19 19:39:33 +01:00
ksyko
8083f06fe7 Update SettingsFragment.java 2017-01-18 00:12:36 +05:30
59436419
44521a2e56 Added dark theme 2017-01-17 22:35:23 +05:30
59436419
dfeed3d0eb Added dark theme 2017-01-17 22:31:00 +05:30
59436419
081a45b70d Added dark theme 2017-01-17 22:13:33 +05:30
59436419
616a721bba Added dark theme 2017-01-17 21:43:30 +05:30
59436419
c9aa553b32 Added dark theme 2017-01-17 20:54:00 +05:30
59436419
e3d59c3cff Added dark theme 2017-01-17 20:47:12 +05:30
59436419
df51635674 Added dark theme 2017-01-17 20:33:54 +05:30
59436419
1e81f61760 Added dark theme 2017-01-17 20:31:14 +05:30
59436419
a4043eab83 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	app/src/main/java/org/schabi/newpipe/Themer.java
#	app/src/main/java/org/schabi/newpipe/download/DownloadActivity.java
#	app/src/main/java/org/schabi/newpipe/settings/SettingsActivity.java
#	app/src/main/res/layout-v18/fragment_videoitem_detail.xml
#	app/src/main/res/layout/fragment_videoitem_detail.xml
#	app/src/main/res/xml/settings.xml
2017-01-17 16:18:00 +05:30
59436419
60dc19d2bc Added Dark Theme 2017-01-17 16:13:14 +05:30
ksyko
a2e4585fe8 Update InfoItemHolder.java 2017-01-17 16:13:02 +05:30
ksyko
b5df281447 Update fragment_videoitem_detail.xml 2017-01-17 16:13:02 +05:30
ksyko
650917f9f9 Update fragment_videoitem_detail.xml 2017-01-17 16:13:02 +05:30
ksyko
3a9c95a9ae Update fragment_videoitem_detail.xml 2017-01-17 16:13:01 +05:30
59436419
5458acfcad Added dark theme 2017-01-17 16:13:01 +05:30
59436419
68e80e6054 Added dark theme 2017-01-17 16:13:01 +05:30
Christian Schabesberger
e4aa69b8d3 add some super.function() thingies 2017-01-16 16:06:54 +01:00
Coffeemakr
dfd40e43da Fix for #407 2017-01-16 13:01:52 +01:00
Coffeemakr
7efd111d9c Improve Search fragment
* Keep search query when fragment is restored
 * Simplify SuggestionListAdapter
   * Use ResourceCursorAdapter for view creation
 * Fix deprecation warning
 * Some clean code
2017-01-16 07:33:58 +01:00
Matej U
6809172203 Translated using Weblate (Slovenian)
Currently translated at 99.2% (140 of 141 strings)
2017-01-15 12:46:28 +01:00
Coffeemaker
40a4343f06 Translated using Weblate (German)
Currently translated at 98.5% (139 of 141 strings)
2017-01-13 18:45:02 +01:00
Matej U
cd9333b39e Translated using Weblate (Slovenian)
Currently translated at 98.5% (139 of 141 strings)
2017-01-12 21:46:19 +01:00
Mladen Pejaković
82d426c781 Translated using Weblate (Serbian)
Currently translated at 100.0% (141 of 141 strings)
2017-01-12 21:46:11 +01:00
YFdyh000
c7e773de25 Translated using Weblate (Chinese (Simplified))
Currently translated at 98.5% (139 of 141 strings)
2017-01-12 18:44:21 +01:00
Coffeemakr
2ded33110f Improve YoutubeStreamUrlIdHandler
* Make it a singelton
 * Accept embed links
 * Accept share links (youtube.com/shared?ci=...)
 * Add tests
 * Accept host case insensititve
2017-01-11 17:25:53 +01:00
zmni
b26c0aa9da Translated using Weblate (Indonesian)
Currently translated at 100.0% (141 of 141 strings)
2017-01-11 16:51:32 +01:00
Mladen Pejaković
2fc8fb6f17 Translated using Weblate (Serbian)
Currently translated at 100.0% (141 of 141 strings)
2017-01-10 21:08:24 +01:00
Coffeemakr
ea76f1d6e2 Improve DownloadManager and -Service
* Fix permission at some places
 * Fix access problem for downloaded files with external player
 * Store finished Downloads
 * Remove binding to DownloadService just to download a file
 * Javadoc
 * Code improvements
2017-01-10 17:48:55 +01:00
naofum
7cda1d116b Translated using Weblate (Japanese)
Currently translated at 100.0% (141 of 141 strings)
2017-01-10 17:03:28 +01:00
Weblate
8bf7a1a9db Merge remote-tracking branch 'origin/master' 2017-01-10 17:02:24 +01:00
naofum
0aa0ad65c0 Translated using Weblate (Japanese)
Currently translated at 100.0% (140 of 140 strings)
2017-01-10 17:02:21 +01:00
Coffeemakr
53ff58daa3 DownloadManagerService: Don't bind if no permissions 2017-01-10 13:35:16 +01:00
Christian Schabesberger
b3225bebe6 fix recaptch weblate conflict 2017-01-09 22:46:07 +01:00
Allan Nordhøy
4beafad71f Translated using Weblate (Norwegian Bokmål)
Currently translated at 92.8% (130 of 140 strings)
2017-01-09 21:45:13 +01:00
Allan Nordhøy
c96f933626 Translated using Weblate (English)
Currently translated at 100.0% (140 of 140 strings)
2017-01-09 21:45:12 +01:00
LNJ
bea6359d5f Translated using Weblate (German)
Currently translated at 99.2% (139 of 140 strings)
2017-01-09 21:45:04 +01:00
Christian Schabesberger
92db9cb59b update support lib and move on to 0.8.7 2017-01-04 17:20:01 +01:00
Benoît Mauduit
410c4ca736 Remove old comment 2017-01-03 14:38:22 +01:00
Benoît Mauduit
80c9dbf180 Cosmetic 2017-01-03 14:38:22 +01:00
Benoît Mauduit
c9edac2820 Change the way to start reCaptchaActivity
* Use startActivityForResult() and onActivityResult() to refresh the
  search request when returning from reCaptcha activity.
2017-01-03 14:38:22 +01:00
Benoît Mauduit
143df9a529 Start reCaptcha activity when starting video directly 2017-01-03 14:38:22 +01:00
Benoît Mauduit
c87da9903f Set result code and finish() Activity instead of starting MainActivity
* Activities will start reCaptchaActivity with startActivityForResult and
look for RECAPTCHA_REQUEST and RESULT_OK | RESULT_CANCELED in : 'onActivityResult()'
2017-01-03 14:38:22 +01:00
Andi Saputro
0f69e6c64d Translated using Weblate (Indonesian)
Currently translated at 100.0% (140 of 140 strings)
2016-12-31 18:45:16 +01:00
ksyko
1b9a6e53ce Update InfoItemHolder.java 2016-12-31 22:32:16 +05:30
ksyko
c7abf377eb Update fragment_videoitem_detail.xml 2016-12-31 21:51:41 +05:30
ksyko
175d8ce572 Update fragment_videoitem_detail.xml 2016-12-31 21:43:01 +05:30
ksyko
1708a401cf Update fragment_videoitem_detail.xml 2016-12-31 21:42:04 +05:30
59436419
141278e668 Added dark theme 2016-12-31 13:46:52 +05:30
59436419
754bd82699 Added dark theme 2016-12-30 01:07:27 +05:30
andideveloper
999efb6660 Translated using Weblate (Indonesian)
Currently translated at 100.0% (140 of 140 strings)
2016-12-29 17:25:23 +01:00
Weblate
0b391a9ef3 Merge remote-tracking branch 'origin/master' 2016-12-28 12:46:32 +01:00
naofum
2a99ac4430 Translated using Weblate (Japanese)
Currently translated at 100.0% (140 of 140 strings)
2016-12-28 12:46:22 +01:00
Christian Schabesberger
a5589d0865 Merge branch 'feature-background-progress' of git://github.com/coffeemakr/NewPipe into coffeemakr-feature-background-progress 2016-12-28 10:46:38 +01:00
Coffeemakr
83541a0d5d Add 8dp margin on the right side of the progress bar 2016-12-28 08:15:12 +01:00
Coffeemakr
ac0dff7aa1 Make shure thread quits before service 2016-12-27 16:17:59 +01:00
Coffeemakr
f22b5157f5 Notify thread on play/pause 2016-12-27 15:58:17 +01:00
Coffeemakr
659d0d6115 Add PlaybackState broadcast messages
They can be used to retrieve the current playback
 * Duration
 * Played time
 * If the media player is playing
2016-12-27 15:52:02 +01:00
Marian Hanzel
fd8c99fd8d Translated using Weblate (Slovak)
Currently translated at 100.0% (140 of 140 strings)
2016-12-27 15:47:58 +01:00
Coffeemakr
9494f3a299 Add progress bar to expanded notification 2016-12-27 14:49:59 +01:00
Coffeemakr
8021848b03 Remove note field completly
Always use noteBuilder directly to generate a notification
2016-12-27 14:41:30 +01:00
Coffeemakr
5a127c26e6 Improve notification building/updateing
* Use custom notification builder which has methods to set the artist
  and title and also a method to set the playing state
* Update builder instead of view -> resovles deprecated warnings
2016-12-27 14:37:18 +01:00
Coffeemakr
a7d734c20c Ignore vim's temporary files 2016-12-27 13:32:03 +01:00
Coffeemakr
7c7129f9a1 Notifications: Set customs views in builder 2016-12-27 13:31:34 +01:00
Coffeemakr
05cbc7891d Typos corrected in StreamInfo 2016-12-27 13:26:48 +01:00
Coffeemakr
14623456ff Correct typos 2016-12-27 13:19:12 +01:00
Coffeemakr
5064ec3ac4 Fix spelling 2016-12-27 13:16:51 +01:00
Gian Maria Viglianti
892888796d Translated using Weblate (Italian)
Currently translated at 100.0% (140 of 140 strings)
2016-12-26 14:57:31 +01:00
Weblate
4f2826d2c2 Merge remote-tracking branch 'origin/master' 2016-12-26 10:23:57 +01:00
YFdyh000
7f824d725b Translated using Weblate (Chinese (Simplified))
Currently translated at 98.5% (138 of 140 strings)
2016-12-26 10:23:56 +01:00
naofum
da4096c4ef Translated using Weblate (Japanese)
Currently translated at 100.0% (140 of 140 strings)
2016-12-26 10:23:55 +01:00
Christian Schabesberger
1aed11c156 change ip address provider
removed null bomb
2016-12-25 19:32:38 +01:00
Christian Schabesberger
e99e944ac3 make share with newpipe part of newpipe 2016-12-25 19:28:40 +01:00
Christian Schabesberger
6e523d37ba add copyright notice to DownloadListener 2016-12-25 15:24:37 +01:00
Christian Schabesberger
2aebf6b522 Merge branch 'master' of git://github.com/fr3ts0n/NewPipe into fr3ts0n-master 2016-12-25 15:20:31 +01:00
Mladen Pejaković
3f740980a3 Translated using Weblate (Serbian)
Currently translated at 100.0% (140 of 140 strings)
2016-12-25 14:16:58 +01:00
Weblate
66b73d1592 Merge remote-tracking branch 'origin/master' 2016-12-25 12:44:13 +01:00
RACER
be4b03b84b Translated using Weblate (Japanese)
Currently translated at 100.0% (138 of 138 strings)
2016-12-25 12:44:13 +01:00
Osoitz
3594037efe Translated using Weblate (Basque)
Currently translated at 34.0% (47 of 138 strings)
2016-12-25 12:44:11 +01:00
Christian Schabesberger
38c5cb50fb fixed Downloader.getInstance() in unit tests 2016-12-24 17:11:29 +01:00
Christian Schabesberger
3767a96e0f moved on to version 0.8.6 2016-12-24 16:06:24 +01:00
Christian Schabesberger
937a387f4e rename reCaptchaException to ReCaptchaException 2016-12-24 15:19:40 +01:00
Christian Schabesberger
cd65f1dffc Merge branch 'reCaptcha' of git://github.com/be-neth/NewPipe into be-neth-reCaptcha 2016-12-24 14:13:12 +01:00
Christian Schabesberger
d4e6856cbe Merge pull request #394 from ngoisaosang/master
Try to fix accept SDK Licenses
2016-12-24 14:12:36 +01:00
ngoisaosang
f61d779108 Try to fix travis 2016-12-24 07:25:27 +07:00
ngoisaosang
b8b22d4d91 Fix travis 2016-12-23 13:47:20 +07:00
ngoisaosang
25d0e39736 Update gradle 2016-12-22 22:45:42 +07:00
ngoisaosang
79a9497e65 Fix travis build 2016-12-22 17:40:01 +07:00
Christian Schabesberger
c55dcccb1e Merge branch 'fix-channel-bannel-url' of git://github.com/coffeemakr/NewPipe into coffeemakr-fix-channel-bannel-url 2016-12-21 21:01:47 +01:00
Christian Schabesberger
820e606719 fix duration_background name 2016-12-21 21:00:05 +01:00
Christian Schabesberger
96291a8522 Merge branch 'coffeemakr-fix-yt-dublicated-result-page' 2016-12-21 20:56:40 +01:00
Christian Schabesberger
e7b52bd3b0 Merge pull request #392 from ksyko/patch-1
Fixes spelling
2016-12-21 20:42:03 +01:00
ksyko
dd3251c08d Fixes spelling 2016-12-21 20:38:51 +05:30
Coffeemakr
f4aabdd9b8 Accept SDK Licenses 2016-12-19 19:40:28 +01:00
Coffeemakr
cb1fe5f017 Try to fix travis 2016-12-19 19:36:24 +01:00
Coffeemakr
83837bde11 Google begins with page 1 so we add 1 to our page starting with 0 2016-12-19 19:28:16 +01:00
Coffeemakr
05189dadbf Fix banner extaction 2016-12-19 13:32:03 +01:00
Selim
dbb1f371b3 Translated using Weblate (Turkish)
Currently translated at 94.2% (130 of 138 strings)
2016-12-13 21:46:13 +01:00
Benoît Mauduit
5cc1bbc4bb Add missing Override decorator 2016-12-07 22:26:54 +01:00
Benoît Mauduit
53796043c3 Start reCaptchaActivity when reCaptcha is requested and fix Typo
* Fix typo setSearchWorkerResultListner to setSearchWorkerResultListener
2016-12-07 22:26:54 +01:00
Benoît Mauduit
a5ac528c02 Add reCaptchaException 2016-12-07 22:26:54 +01:00
Benoît Mauduit
54eb353d0d Add ReCaptcha Activity
* ReCaptchas are implemented using a simple WebView with Javascript enable.

 * All HTTP responses inside the WebView are catched (using onPageFinished())
 ** When Google reCatcha cookies are detected, register cookies to the
    Downloader class and Return to MainActivity
2016-12-07 22:26:54 +01:00
Benoît Mauduit
3391067cab Adding cookies member to Downloader 2016-12-07 22:26:54 +01:00
Benoît Mauduit
b4f595eb75 Make Downloader class a Singleton 2016-12-07 22:26:54 +01:00
Weblate
58bc0c17d0 Merge remote-tracking branch 'origin/master' 2016-12-02 10:24:55 +01:00
Cyxae Dexyc
4385404ad6 Translated using Weblate (French)
Currently translated at 98.5% (136 of 138 strings)
2016-12-02 10:24:54 +01:00
Marian Hanzel
61aadcffd2 Translated using Weblate (Slovak)
Currently translated at 100.0% (138 of 138 strings)
2016-12-02 10:24:52 +01:00
Christian Schabesberger
f575826394 fix unit tests 2016-11-20 19:01:06 +01:00
Christian Schabesberger
389959dd18 Merge pull request #366 from coffeemakr/delete-swiss-high-german
Delete Swiss High German translation
2016-11-20 15:43:37 +01:00
Christian Schabesberger
af4734eee3 update to sdk version 25 2016-11-18 23:56:08 +01:00
Christian Schabesberger
f76b37ec39 Merge branch 'master' of github.com:TeamNewPipe/NewPipe 2016-11-18 23:52:34 +01:00
Christian Schabesberger
379149fe2f update unit tests so it works with current updates 2016-11-18 23:52:17 +01:00
Christian Schabesberger
3bd477631c fixed spelling error 2016-11-18 22:08:53 +01:00
Freddy Morán Jr
72c0987bad Translated using Weblate (Spanish)
Currently translated at 100.0% (138 of 138 strings)
2016-11-10 03:46:02 +01:00
fr3ts0n
5bba8e02a6 add media scanner notification after successful download 2016-11-06 21:08:57 +01:00
Freddy Morán Jr
b270de3335 Translated using Weblate (Spanish)
Currently translated at 100.0% (138 of 138 strings)
2016-11-03 21:46:25 +01:00
Freddy Morán Jr
e22bcf0ac5 Translated using Weblate (Serbian)
Currently translated at 100.0% (138 of 138 strings)
2016-11-03 21:46:13 +01:00
Freddy Morán Jr
c1d55d828f Translated using Weblate (Portuguese)
Currently translated at 100.0% (138 of 138 strings)
2016-11-03 21:45:51 +01:00
Freddy Morán Jr
da77970328 Translated using Weblate (Indonesian)
Currently translated at 100.0% (138 of 138 strings)
2016-11-03 21:45:12 +01:00
Freddy Morán Jr
32f3caaee0 Translated using Weblate (German)
Currently translated at 100.0% (138 of 138 strings)
2016-11-03 21:44:57 +01:00
Дима Гайнуллин
8bbacb1d78 Translated using Weblate (Russian)
Currently translated at 88.4% (122 of 138 strings)
2016-11-03 18:45:52 +01:00
Nathan Follens
5904510410 Translated using Weblate (Dutch)
Currently translated at 100.0% (138 of 138 strings)
2016-10-30 00:44:27 +02:00
Enol P
e16624251b Translated using Weblate (Asturian)
Currently translated at 97.1% (134 of 138 strings)
2016-10-21 03:44:09 +02:00
zmni
389f22a0e5 Translated using Weblate (Indonesian)
Currently translated at 99.2% (137 of 138 strings)
2016-10-16 12:45:00 +02:00
zmni
7b91aa16b6 Translated using Weblate (Indonesian)
Currently translated at 95.6% (132 of 138 strings)
2016-10-13 21:45:17 +02:00
Jona Abdinghoff
89ec688632 Translated using Weblate (German)
Currently translated at 99.2% (137 of 138 strings)
2016-10-12 00:44:52 +02:00
Nathan Follens
fdd0d586c9 Translated using Weblate (Dutch)
Currently translated at 99.2% (137 of 138 strings)
2016-10-12 00:44:25 +02:00
Coffeemakr
6f5604791f Delete swiss high german 2016-10-11 07:30:18 +02:00
Gian Maria Viglianti
eb9fba4147 Translated using Weblate (Italian)
Currently translated at 100.0% (138 of 138 strings)
2016-10-10 18:45:06 +02:00
Weblate
afb62f729f Merge remote-tracking branch 'origin/master' 2016-10-04 15:45:09 +02:00
Nathan Follens
1ccc23dc9c Translated using Weblate (Dutch)
Currently translated at 68.8% (95 of 138 strings)
2016-10-04 15:45:07 +02:00
intrnl
7ea5cb9c5c Translated using Weblate (Indonesian)
Currently translated at 37.6% (52 of 138 strings)
2016-10-04 15:44:59 +02:00
Christian Schabesberger
c301d6e5d5 Merge branch 'master' of github.com:TeamNewPipe/NewPipe 2016-10-01 23:22:18 +02:00
naofum
44ad69b94d Translated using Weblate (Japanese)
Currently translated at 100.0% (138 of 138 strings)
2016-10-01 18:45:10 +02:00
Christian Schabesberger
d14515ab88 Merge remote-tracking branch 'origin/master' 2016-09-28 17:13:23 +02:00
Christian Schabesberger
01875b389d clean up extractor 2016-09-28 17:13:15 +02:00
Christian Schabesberger
5eef116aaa put Suggestion extraction into its own class 2016-09-28 12:53:23 +02:00
Weblate
442220debc Merge remote-tracking branch 'origin/master' 2016-09-28 12:45:55 +02:00
kamadi
4914caad51 Translated using Weblate (Russian)
Currently translated at 48.5% (67 of 138 strings)
2016-09-28 12:45:54 +02:00
Gian Maria Viglianti
08cab863f1 Translated using Weblate (Italian)
Currently translated at 98.5% (136 of 138 strings)
2016-09-28 12:45:54 +02:00
Marian Hanzel
02458d4fc1 Translated using Weblate (Slovak)
Currently translated at 98.5% (136 of 138 strings)
2016-09-28 12:45:51 +02:00
Christian Schabesberger
6ed4130b66 fix collisions 2016-09-28 11:54:35 +02:00
Felix Ableitner
5f7ee15d1e Launch video player in single task mode (fixes #154) 2016-09-28 13:09:42 +09:00
Christian Schabesberger
43afd5a2b8 clean up downloader thing 2016-09-27 22:59:04 +02:00
Christian Schabesberger
f9ac199c1f fixed .webm download locatiion issue 2016-09-27 21:33:26 +02:00
Christian Schabesberger
920c169d55 update CI batch in README 2016-09-27 20:22:01 +02:00
Christian Schabesberger
76ba2824a2 stability improvements 2016-09-27 20:18:41 +02:00
Christian Schabesberger
ca0d594547 cleaning away android stuff from extractor 2016-09-27 20:06:33 +02:00
Christian Schabesberger
44b6d900f0 Merge branch 'master' of github.com:TeamNewPipe/NewPipe 2016-09-27 14:58:54 +02:00
Christian Schabesberger
3b2c0186aa update issue teamplate 2016-09-27 14:58:46 +02:00
Christian Schabesberger
efa605700d update contributions link in the readme 2016-09-27 14:33:30 +02:00
Christian Schabesberger
cac360d37b add .github folder 2016-09-27 14:30:03 +02:00
Christian Schabesberger
75e28893fb update contribution guidelines once again 2016-09-27 14:14:59 +02:00
Christian Schabesberger
360a44b5a0 update contribution guidelines 2016-09-27 13:43:43 +02:00
Christian Schabesberger
2b89e24a4b make download dialog use radio button 2016-09-26 20:18:32 +02:00
Christian Schabesberger
931f34d2fd fixed related videos nullpointer exception 2016-09-26 18:01:39 +02:00
Christian Schabesberger
abfdcea4db moved on to 0.8.5 2016-09-26 17:32:03 +02:00
Christian Schabesberger
80b3b8ac0f change readme layout 2016-09-26 17:04:54 +02:00
Christian Schabesberger
60e18aa045 similar videos scroll bug workaround 2016-09-26 17:02:55 +02:00
Christian Schabesberger
85e2b124ab Merge branch 'master' of github.com:theScrabi/NewPipe 2016-09-25 21:22:37 +02:00
Christian Schabesberger
81a8cd0641 update to gradle2.2.0 2016-09-25 21:22:29 +02:00
Weblate
303805755d Merge remote-tracking branch 'origin/master' 2016-09-25 19:23:20 +02:00
Gian Maria Viglianti
38837d6424 Translated using Weblate (Italian)
Currently translated at 97.1% (134 of 138 strings)
2016-09-25 19:23:19 +02:00
Christian Schabesberger
8a582c2a24 fix weblate merge conflict 2016-09-25 19:23:10 +02:00
Tiago Roque Medeiros
5cfb65002d Translated using Weblate (Portuguese)
Currently translated at 99.2% (137 of 138 strings)
2016-09-22 18:45:35 +02:00
Benedikt Freisen
fa6dee45ec Translated using Weblate (German)
Currently translated at 98.5% (136 of 138 strings)
2016-09-20 16:56:29 +02:00
Sérgio Marques
af25fe93da Translated using Weblate (Portuguese)
Currently translated at 99.2% (137 of 138 strings)
2016-09-20 16:56:28 +02:00
naofum
395ad3e8ef Translated using Weblate (Japanese)
Currently translated at 99.2% (137 of 138 strings)
2016-09-18 09:45:36 +02:00
marxsouza12
2cbaca8968 Translated using Weblate (Portuguese)
Currently translated at 97.1% (134 of 138 strings)
2016-09-18 09:45:34 +02:00
Christian Schabesberger
bf90788e04 update featurs at readme
update featurs at readme once again
2016-09-15 10:35:22 +02:00
Christian Schabesberger
83ffb849cd update featurs at readme 2016-09-15 10:31:48 +02:00
Christian Schabesberger
a34a33e419 Merge branch 'master' of github.com:theScrabi/NewPipe 2016-09-14 18:35:22 +02:00
Christian Schabesberger
57f620485f fix ui crash bug 2016-09-14 18:35:17 +02:00
Weblate
18cdde963b Merge remote-tracking branch 'origin/master' 2016-09-14 15:45:35 +02:00
Mladen Pejaković
6c1f472de3 Translated using Weblate (Serbian)
Currently translated at 99.2% (137 of 138 strings)
2016-09-14 15:45:35 +02:00
Christian Schabesberger
efd2ac353e fix WORLD_MODE_READABLE bug
blub
2016-09-14 11:29:40 +02:00
Christian Schabesberger
863bf9dc8b fix channel has no second page bug 2016-09-14 11:15:08 +02:00
Weblate
fd411c17cd Merge remote-tracking branch 'origin/master' 2016-09-14 00:50:31 +02:00
YFdyh000
5424c23d69 Translated using Weblate (Simplified Chinese)
Currently translated at 97.8% (135 of 138 strings)
2016-09-14 00:50:31 +02:00
Christian Schabesberger
b8a0801786 fixed bug regarding channels
acual fix
2016-09-14 00:50:18 +02:00
Christian Schabesberger
39ff1cd898 Merge pull request #357 from theScrabi/ref_crashreport
Refactore crashreport
2016-09-14 00:05:37 +02:00
Christian Schabesberger
a2a3b0575d gather all bug shit things 2016-09-13 23:39:32 +02:00
Christian Schabesberger
2b8954353d removed crash test line 2016-09-13 23:31:28 +02:00
Christian Schabesberger
9bd5aa0da4 add package field to crash report 2016-09-13 23:31:06 +02:00
Christian Schabesberger
af2cddee91 made acra catch and report errors 2016-09-13 23:24:49 +02:00
Christian Schabesberger
27bc414616 add copyright notice 2016-09-13 22:38:45 +02:00
Christian Schabesberger
14eaedd73a use intent system to pass errors to error activity 2016-09-13 22:36:47 +02:00
Christian Schabesberger
a2effef346 fix build tooles for CI 2016-09-13 00:21:02 +02:00
Christian Schabesberger
caf938f79f add channel extractor tests 2016-09-12 23:44:57 +02:00
Christian Schabesberger
8ececc11d2 Merge branch 'master' of github.com:theScrabi/NewPipe 2016-09-12 23:07:31 +02:00
Christian Schabesberger
cf1d546683 add new play icon 2016-09-12 23:07:23 +02:00
Weblate
e8144f4906 Merge remote-tracking branch 'origin/master' 2016-09-12 22:35:28 +02:00
naofum
bfb6f14769 Translated using Weblate (Japanese)
Currently translated at 99.2% (136 of 137 strings)
2016-09-12 22:35:27 +02:00
Christian Schabesberger
ff1ba2b5bf Merge branch 'master' of github.com:theScrabi/NewPipe 2016-09-12 22:35:15 +02:00
Christian Schabesberger
8c26f29f94 shitty fix for detail progressbar 2016-09-12 17:49:49 +02:00
Weblate
bdd57f3b3e Merge remote-tracking branch 'origin/master' 2016-09-12 16:22:16 +02:00
YFdyh000
e09bf4d09c Translated using Weblate (Simplified Chinese)
Currently translated at 98.5% (135 of 137 strings)
2016-09-12 16:22:16 +02:00
Christian Schabesberger
e0dbf4c2cd fix settings updateSummary 2016-09-12 16:22:02 +02:00
Christian Schabesberger
4bba84af8a Merge pull request #316 from jaytj95/master
Added rewind capability to notification control
2016-09-12 00:57:53 +02:00
Christian Schabesberger
bd7077c1cf fix rising exception for empty related videos 2016-09-12 00:56:20 +02:00
Christian Schabesberger
a63128bd45 add addblock 2016-09-12 00:51:03 +02:00
Christian Schabesberger
6944f4a68a add copyright headers and update sdk 2016-09-12 00:33:11 +02:00
Christian Schabesberger
54ab0ab17e fix merge with add_cahnnels 2016-09-12 00:12:00 +02:00
Christian Schabesberger
2080bb2da1 Merge pull request #350 from KeizerDev/splash-screen
Added Splash Screen to bypass blank screen on start up.
2016-09-11 23:57:30 +02:00
Christian Schabesberger
cc74c98509 add bugrepport to channel acitivty 2016-09-11 23:15:22 +02:00
Christian Schabesberger
dd6c6ae03f seems to made it working 2016-09-10 18:47:35 +02:00
Christian Schabesberger
4f8ca9ef16 fucking brought it almost to work fuck 2016-09-10 18:28:48 +02:00
Christian Schabesberger
53059bcb91 level 1 of making loading more content work 2016-09-10 16:26:21 +02:00
Filip Sebastian
cb056f4f80 Translated using Weblate (Romanian)
Currently translated at 100.0% (133 of 133 strings)
2016-08-24 12:45:40 +02:00
Robert-Jan Keizer
05bfa8b85e Added splash screen to bypass blank screen on start up. 2016-08-22 01:13:09 +02:00
Christian Schabesberger
6dc5350c43 update gradle and fix load image error string 2016-08-20 00:56:10 +02:00
Enol P
5cdf807d92 Translated using Weblate (Asturian)
Currently translated at 100.0% (133 of 133 strings)
2016-08-18 06:44:10 +02:00
Enol P
9c2a9e64c2 Translated using Weblate (Asturian)
Currently translated at 100.0% (133 of 133 strings)
2016-08-16 03:43:01 +02:00
Enol P
3b60b801c2 Added translation using Weblate (Asturian) 2016-08-16 02:38:40 +02:00
Danial Behzadi
c78eb80686 Translated using Weblate (Persian)
Currently translated at 100.0% (133 of 133 strings)
2016-08-12 15:45:23 +02:00
Danial Behzadi
9b9da648c9 Translated using Weblate (Persian)
Currently translated at 100.0% (133 of 133 strings)
2016-08-10 15:33:17 +02:00
Danial Behzadi
adc2b9c43a Added translation using Weblate (Persian) 2016-08-10 14:21:05 +02:00
Weblate
b3954e9acd Merge remote-tracking branch 'origin/master' 2016-08-08 22:05:14 +02:00
Christian Schabesberger
6e36f0ef83 Merge branch 'master' of github.com:theScrabi/NewPipe 2016-08-08 22:11:40 +02:00
Christian Schabesberger
64afb907e6 change icon 2016-08-08 22:11:32 +02:00
Rom1
3552125075 Translated using Weblate (French)
Currently translated at 100.0% (133 of 133 strings)
2016-08-08 22:05:13 +02:00
Christian Schabesberger
2601bf6d81 change view naming in detail fragment 2016-08-08 20:21:18 +02:00
David
3da032b7ee Update filepicker to the newest version and Fix for #343 2016-08-03 18:36:46 -03:00
Christian Schabesberger
7bea94144e fix search fragment progressbar 2016-08-03 17:18:05 +02:00
Dawid
40b08a593f Translated using Weblate (Polish)
Currently translated at 95.4% (127 of 133 strings)
2016-08-03 15:45:26 +02:00
Christian Schabesberger
5d06e8310d animate item button and made channel layout use recyclerview propper 2016-08-03 15:32:25 +02:00
Christian Schabesberger
1ab82dfa32 made channel activity use recycler view 2016-08-03 13:09:48 +02:00
Sérgio Marques
b93372926a Translated using Weblate (Portuguese)
Currently translated at 100.0% (133 of 133 strings)
2016-08-03 12:45:28 +02:00
Christian Schabesberger
557bcc40ef made detail fragment use recycler view 2016-08-03 00:54:03 +02:00
Christian Schabesberger
06e2e548be restructure detail activity 2016-08-03 00:12:58 +02:00
Christian Schabesberger
7a25588995 remove listactivity layout 2016-08-02 21:30:55 +02:00
Christian Schabesberger
8107337566 restructure ui 2016-08-02 21:17:54 +02:00
Christian Schabesberger
d6de11f54c remove video item list plemp 2016-08-02 20:59:53 +02:00
Christian Schabesberger
2f2334eac4 make search fagment handle video items 2016-08-02 18:38:05 +02:00
Christian Schabesberger
3a5b9203d8 put search fragment into own package 2016-08-02 15:06:02 +02:00
Christian Schabesberger
c46ce1170c add search fragment 2016-08-02 01:42:05 +02:00
Christian Schabesberger
1170c508b4 add new architecture 2016-08-02 01:26:12 +02:00
Christian Schabesberger
f34cacbc5c add recycler view adapter 2016-08-02 00:58:52 +02:00
Christian Schabesberger
4164195fae show channelvideos 2016-08-01 21:50:41 +02:00
Christian Schabesberger
c03b106118 add channel avatar 2016-08-01 11:48:52 +02:00
Dawid
c760a4e0ef Added translation using Weblate (Polish) 2016-08-01 09:28:48 +02:00
Christian Schabesberger
f3a73ecc4a add feed function 2016-08-01 02:10:38 +02:00
Christian Schabesberger
6beb36f92f get channel banner 2016-08-01 01:56:19 +02:00
Christian Schabesberger
033a4ecbe8 add now (actual) logo 2016-07-31 17:23:46 +02:00
Sérgio Marques
6360d61721 Translated using Weblate (Portuguese)
Currently translated at 100.0% (133 of 133 strings)
2016-07-31 16:20:39 +02:00
Christian Schabesberger
5dd3f6cd02 add new logo to assets 2016-07-31 14:40:19 +02:00
Utku BERBEROĞLU
cb3c595d2b Translated using Weblate (Turkish)
Currently translated at 34.5% (46 of 133 strings)
2016-07-30 18:46:18 +02:00
Marian Hanzel
f4414851be Translated using Weblate (Slovak)
Currently translated at 100.0% (133 of 133 strings)
2016-07-27 10:01:18 +02:00
Christian Schabesberger
9a0f61e60b add basics 2016-07-26 13:50:52 +02:00
naofum
22fc690c65 Translated using Weblate (Japanese)
Currently translated at 100.0% (133 of 133 strings)
2016-07-25 13:23:40 +02:00
Christian Schabesberger
c5583bd77b try to fix failing CI 2016-07-25 12:28:00 +02:00
Christian Schabesberger
8fbee92255 try to fix failing CI 2016-07-25 12:11:55 +02:00
Christian Schabesberger
1fd6685b3b removed orebot/tor support 2016-07-25 11:59:37 +02:00
Christian Schabesberger
e6fe1d2008 Merge branch 'master' of github.com:theScrabi/NewPipe 2016-07-25 11:13:04 +02:00
Christian Schabesberger
c0ce14dba5 moved on to new sdk, and put settings activity result into its fragment 2016-07-25 11:12:54 +02:00
YFdyh000
9f315fb021 Translated using Weblate (Simplified Chinese)
Currently translated at 100.0% (133 of 133 strings)
2016-07-25 03:56:47 +02:00
Christian Schabesberger
dc46b3f6c0 Merge pull request #314 from satiricon/pref-filepicker
File picker for download preferences.
2016-07-25 00:48:48 +02:00
Christian Schabesberger
24dd94fba3 Merge pull request #317 from ggppjj/master
Change "click" to "tap".
2016-07-25 00:46:49 +02:00
Christian Schabesberger
d3d4e8c721 Merge pull request #321 from DevFactory/release/collection-interfaces-should-be-used-fix-1
Code quality fix - Declarations should use Java collection interfaces such as "List" rather than specific implementation.
2016-07-25 00:46:33 +02:00
Nigel
990d3fc714 Translated using Weblate (Chinese (Hong Kong))
Currently translated at 97.7% (130 of 133 strings)
2016-07-24 12:44:17 +02:00
Christian Schabesberger
9c82f0b12a moved to sdk version 24 2016-07-21 16:43:24 +02:00
Christian Schabesberger
47bdd2e565 Merge pull request #331 from Gracecr/patch-1
Allow for large times stamps fixing #330
2016-07-21 07:15:13 +02:00
David
9a5e82cb1e Updating code to make it compatible with master 2016-07-19 16:56:53 -03:00
David
2ab9db3c07 A little cleanup 2016-07-19 16:53:20 -03:00
David
b3fdd2b0cb Done with the file picker for the download settings 2016-07-19 16:53:20 -03:00
David
bd43efd2c2 The file picker is working and I'm reordering the code to make it easier to follow 2016-07-19 16:52:37 -03:00
David
36babcaf36 Trying to make last filepicker version work, maybe I'm having some memory problems 2016-07-19 16:51:14 -03:00
David
45be3fb0e8 Starting to add a filepicker to the directory preferences 2016-07-19 16:51:14 -03:00
Gracecr
c880047c4f Allows for large times stamps fixing #330
@scde submitted #330, along with a couple proposed fixes.
This is the second proposed fix, which allows for arbitrarily large
timestamps. All credit to @scde for this.
2016-07-14 16:50:57 -04:00
Christian Schabesberger
66e88829dd Merge pull request #327 from adelolmo/master
fix build. remove wrong xliff namespaces from spanish translation.
2016-07-04 17:46:52 +02:00
Andoni del Olmo
3add3d75a1 skip ads and channels from test. 2016-07-04 12:05:43 +02:00
Andoni del Olmo
8644a4542a skip ads and channels from test. 2016-07-04 11:43:18 +02:00
andoni
0b6bae6ce3 change test search term to avoid google ads. 2016-07-03 16:25:32 +02:00
Faisal Hameed
13346ab750 Fixing squid:S1319 - Declarations should use Java collection interfaces such as "List" rather than specific implementation. 2016-07-01 04:05:55 +05:00
andoni
f65c08431c support all variants of vnd.youtube url. 2016-06-30 20:21:54 +02:00
andoni
4cde97e65d fix build. remove wrong xliff namespaces from spanish translation. 2016-06-30 20:14:27 +02:00
Christian Schabesberger
049b36b1b6 Merge pull request #323 from DevFactory/release/public-static-fields-should-be-constants-fix-1
Code quality fix - "public static" fields should be constant.
2016-06-30 16:57:42 +02:00
Christian Schabesberger
faed0958b3 Merge pull request #322 from DevFactory/release/string-literals-should-not-be-duplicated-fix-1
Code quality fix - String literals should not be duplicated.
2016-06-30 16:56:41 +02:00
Christian Schabesberger
3b36b7f01b Merge pull request #324 from DevFactory/release/redundant-modifiers-should-not-be-used-fix-1
Code quality fix - Redundant modifiers should not be used.
2016-06-30 16:56:11 +02:00
Weblate
5a2b236e71 Merge remote-tracking branch 'origin/master' 2016-06-30 16:55:41 +02:00
Riccardo Boninsegna
e5db08b0a8 Translated using Weblate (Italian)
Currently translated at 100.0% (133 of 133 strings)
2016-06-30 16:55:41 +02:00
Coffeemaker
e29eeb5d3d Translated using Weblate (German)
Currently translated at 96.2% (128 of 133 strings)
2016-06-30 16:55:41 +02:00
Christian Schabesberger
6dac88c394 Merge pull request #325 from DevFactory/release/redundant-field-initializers-fix-1
Code quality fix - Redundant Field Initializer.
2016-06-30 16:55:35 +02:00
Riccardo Boninsegna
580a0069dc Translated using Weblate (Italian)
Currently translated at 100.0% (133 of 133 strings)
2016-06-29 22:28:04 +02:00
Coffeemaker
187d65ffa5 Added translation using Weblate (Swiss High German) 2016-06-29 18:54:53 +02:00
Christian Schabesberger
7b0ef1824f add warning to nod add newpipe to playstore 2016-06-28 22:37:24 +02:00
Faisal Hameed
404017cba3 Fixing squid:S1192 - String literals should not be duplicated. 2016-06-24 14:54:18 +05:00
Faisal Hameed
dd2398efad Fixing pmd:RedundantFieldInitializer - Redundant Field Initializer. 2016-06-24 05:44:42 +05:00
Faisal Hameed
a44518a757 Fixing squid:S2333 - Redundant modifiers should not be used. 2016-06-24 05:44:09 +05:00
Faisal Hameed
83eb83025a Fixing squid:S1444 - "public static" fields should be constant. 2016-06-24 05:30:46 +05:00
Gabriel Jones
464a113f11 Change "click" to "tap". 2016-06-23 11:41:01 -04:00
Weblate
25a776cc93 Merge remote-tracking branch 'origin/master' 2016-06-22 23:41:13 +02:00
Rom1
7d19fb878d Translated using Weblate (French)
Currently translated at 100.0% (133 of 133 strings)
2016-06-22 23:41:12 +02:00
Christian Schabesberger
f5aef6879a Update CONTRIBUTING.md
fixed broken slack link
2016-06-22 23:41:09 +02:00
hatsunearu
29014d7b4a Translated using Weblate (Korean)
Currently translated at 85.7% (114 of 133 strings)
2016-06-22 09:45:15 +02:00
hd hd
9668a78732 Translated using Weblate (Hungarian)
Currently translated at 100.0% (133 of 133 strings)
2016-06-22 03:44:49 +02:00
devnoname120
a1aafb17c9 Translated using Weblate (French)
Currently translated at 100.0% (133 of 133 strings)

Not literally translated because used here: ddc3b47dfa/app/src/main/java/org/schabi/newpipe/VideoItemListFragment.java (L182)
2016-06-22 00:44:36 +02:00
Murat Dikici
9883678fd9 Translated using Weblate (Turkish)
Currently translated at 17.2% (23 of 133 strings)
2016-06-20 09:45:49 +02:00
hd hd
ba72379aa9 Translated using Weblate (Hungarian)
Currently translated at 100.0% (133 of 133 strings)
2016-06-20 00:58:09 +02:00
devnoname120
3206fef865 Translated using Weblate (French)
Currently translated at 81.2% (108 of 133 strings)
2016-06-19 22:55:25 +02:00
Freddy Morán Jr
06b6216b9d Translated using Weblate (Spanish)
Currently translated at 100.0% (133 of 133 strings)
2016-06-18 21:45:48 +02:00
Marian Hanzel
5458606abe Translated using Weblate (Slovak)
Currently translated at 100.0% (133 of 133 strings)
2016-06-18 12:35:17 +02:00
Murat Dikici
ad5cf99d9e Added translation using Weblate (Turkish) 2016-06-18 08:40:56 +02:00
Freddy Morán Jr
0445086e67 Translated using Weblate (Spanish)
Currently translated at 100.0% (133 of 133 strings)
2016-06-16 15:11:35 +02:00
Jason John
51641dcc9a Added rewind capability to notification control ( seekTo(0) ) 2016-06-16 09:11:18 -04:00
David
d1e698185e A little cleanup 2016-06-16 07:58:09 -03:00
David
d145a3e967 Done with the file picker for the download settings 2016-06-15 12:56:03 -03:00
David
4a5190292c The file picker is working and I'm reordering the code to make it easier to follow 2016-06-15 12:56:03 -03:00
David
1b7cece306 Trying to make last filepicker version work, maybe I'm having some memory problems 2016-06-15 12:55:37 -03:00
David
181c83090d Starting to add a filepicker to the directory preferences 2016-06-15 12:53:02 -03:00
Christian Schabesberger
54c32b9fe2 moved on to version 0.8.0:
* moved on to version 0.8.0
* removed posibility to use *.jar files
* updated dependend libraries
2016-06-12 18:24:16 +02:00
David
9d5951765f Fix for #310 2016-06-08 12:35:54 -03:00
David
ddc3b47dfa Fix for #308 part 2 2016-06-07 11:43:13 -03:00
David
59523d6a08 Fix for #308 2016-06-07 11:32:31 -03:00
Christian Schabesberger
686f395158 Merge pull request #307 from mingchen/master
Upgrade gradle wrapper to 2.10 and fix compile errors.
2016-06-04 10:54:12 +02:00
Ming Chen
f7b7340b30 Fix compile error due to improper define of xmlns 2016-06-03 16:13:30 -07:00
Ming Chen
9bcdad0218 Upgrade wrapper to 2.10 2016-06-03 15:53:02 -07:00
Matej U
ff4601f487 Translated using Weblate (Slovenian)
Currently translated at 100.0% (133 of 133 strings)
2016-06-03 10:49:16 +02:00
Renan Souza do Nascimento
535cebde51 Translated using Weblate (Portuguese)
Currently translated at 99.2% (132 of 133 strings)
2016-05-31 00:45:17 +02:00
Weblate
ed23faa455 Merge remote-tracking branch 'origin/master' 2016-05-27 15:29:12 +02:00
naofum
0c695d721d Translated using Weblate (Japanese)
Currently translated at 100.0% (133 of 133 strings)
2016-05-27 15:29:12 +02:00
Benedikt Freisen
d7a208dcee Translated using Weblate (German)
Currently translated at 91.7% (122 of 133 strings)
2016-05-27 15:29:11 +02:00
Christian Schabesberger
3eb2a26e4e blub commit 2016-05-27 15:29:02 +02:00
Mladen Pejaković
cc2d365e5a Translated using Weblate (Serbian)
Currently translated at 100.0% (133 of 133 strings)
2016-05-26 22:41:03 +02:00
naofum
76ac2cc58e Translated using Weblate (Japanese)
Currently translated at 100.0% (133 of 133 strings)
2016-05-26 12:44:04 +02:00
Christian Schabesberger
aee26fcffc add downloads menu item to detail fragment 2016-05-26 00:11:42 +02:00
Christian Schabesberger
685eebeb56 add title to activitys 2016-05-25 23:51:22 +02:00
Christian Schabesberger
f23ae091cc add icons for progress tiles 2016-05-25 23:35:27 +02:00
Christian Schabesberger
1421dca35f clean up gigaget code 2016-05-25 23:08:15 +02:00
Christian Schabesberger
39c2f31a22 changed color of download blocks 2016-05-25 22:59:32 +02:00
Christian Schabesberger
239ef1c238 add action for downloads menu item 2016-05-25 22:34:36 +02:00
Christian Schabesberger
466ba93750 Merge branch 'master' of github.com:theScrabi/NewPipe 2016-05-25 22:19:47 +02:00
Marian Hanzel
72007a0162 Translated using Weblate (Slovak)
Currently translated at 100.0% (129 of 129 strings)
2016-05-25 19:50:47 +02:00
David
26c0445b83 Fix for #273 2016-05-25 08:27:15 -03:00
Christian Schabesberger
6f6c1704d4 add downloads menu item 2016-05-24 14:06:49 +02:00
Weblate
14aa6de422 Merge remote-tracking branch 'origin/master' 2016-05-24 13:51:33 +02:00
Mladen Pejaković
eeb770ffe3 Translated using Weblate (Serbian)
Currently translated at 100.0% (129 of 129 strings)
2016-05-24 13:51:33 +02:00
David
382ac3470b Fix for #298 2016-05-24 08:51:08 -03:00
naofum
3abfb08090 Translated using Weblate (Japanese)
Currently translated at 100.0% (129 of 129 strings)
2016-05-23 13:24:57 +02:00
Matej U
b4aac839c9 Translated using Weblate (Slovenian)
Currently translated at 100.0% (129 of 129 strings)
2016-05-22 22:29:22 +02:00
YFdyh000
da984c23df Translated using Weblate (Simplified Chinese)
Currently translated at 100.0% (129 of 129 strings)
2016-05-22 16:14:29 +02:00
Mladen Pejaković
cab770159d Translated using Weblate (Serbian)
Currently translated at 100.0% (129 of 129 strings)
2016-05-22 13:56:29 +02:00
Christian Schabesberger
7c2ff977d8 Merge branch 'download-manager' of git://github.com/satiricon/NewPipe into satiricon-download-manager 2016-05-22 12:47:24 +02:00
Christian Schabesberger
5bd9334f8f Merge branch 'master' of github.com:theScrabi/NewPipe 2016-05-22 12:44:41 +02:00
Christian Schabesberger
c5544df64c made StreamExtractor use StreamPreviewInfoCollector 2016-05-22 12:39:57 +02:00
Christian Schabesberger
c85e3c07d6 Merge pull request #287 from prashantkhurana/fix/Media-controls-on-main-screen
Added media volume control on main screen Fixes #38
2016-05-22 09:18:23 +02:00
Christian Schabesberger
674e1c0519 Merge pull request #294 from prashantkhurana/Feature/Hide-uploader-bug
Fix to hide uploader correctly
2016-05-22 09:16:37 +02:00
Prashant Khurana
7154a1edb8 Fix to hide uploader correctly 2016-05-15 22:20:28 -04:00
Licaon Kter
be1252e0e6 Translated using Weblate (Romanian)
Currently translated at 64.8% (70 of 108 strings)
2016-05-12 15:45:25 +02:00
Christian Schabesberger
a4ce6c707c update support lib 2016-05-10 00:26:32 +02:00
David
affce74b84 Added menu to download activity 2016-05-02 10:47:18 -03:00
David
730de4061f deleted some unused code and assets 2016-05-02 10:47:18 -03:00
David
3beafa2a74 Added new download dialog 2016-05-02 10:47:18 -03:00
David
c622923edd Fixed the download dialog. Next take it to the previous activity 2016-05-02 10:47:18 -03:00
David
6940021293 Fixed dir settings 2016-05-02 10:47:18 -03:00
David
0156a4f39e Added back button to download activity ActionBar 2016-05-02 10:47:18 -03:00
David
4bae12aa55 Embedded GigaGet download manager. First try. 2016-05-02 10:47:18 -03:00
M2ck
f08b1224c9 Translated using Weblate (French)
Currently translated at 100.0% (108 of 108 strings)
2016-05-02 15:44:32 +02:00
Prashant Khurana
477355db8f Added media volume control on main screen Fixes #38 2016-05-01 21:49:14 -04:00
Allan Nordhøy
11c89165c5 Translated using Weblate (Norwegian Bokmål)
Currently translated at 92.5% (100 of 108 strings)
2016-05-01 00:44:56 +02:00
riotism
825f28ab9a Translated using Weblate (Chinese (Hong Kong))
Currently translated at 92.5% (100 of 108 strings)
2016-04-28 00:44:12 +02:00
Marian Hanzel
54ff5e1dc6 Translated using Weblate (Slovak)
Currently translated at 100.0% (108 of 108 strings)
2016-04-27 18:45:19 +02:00
Gian Maria Viglianti
9b46418628 Translated using Weblate (Italian)
Currently translated at 100.0% (108 of 108 strings)
2016-04-25 13:12:42 +02:00
Benedikt Freisen
04597a9faf Translated using Weblate (German)
Currently translated at 100.0% (108 of 108 strings)
2016-04-18 21:24:55 +02:00
naofum
5b0994dc85 Translated using Weblate (Japanese)
Currently translated at 100.0% (108 of 108 strings)
2016-04-18 15:02:56 +02:00
Christian Schabesberger
7c852c69a3 add queeing videos as an future feature 2016-04-17 15:49:35 +02:00
devnoname120
df47e94ceb Translated using Weblate (French)
Currently translated at 100.0% (108 of 108 strings)
2016-04-17 03:44:30 +02:00
Sérgio Marques
3b68004005 Translated using Weblate (Portuguese)
Currently translated at 100.0% (108 of 108 strings)
2016-04-16 18:39:29 +02:00
devnoname120
5a9c327938 Translated using Weblate (French)
Currently translated at 99.0% (108 of 108 strings)
2016-04-15 01:10:28 +02:00
M2ck
3e31e9783c Translated using Weblate (French)
Currently translated at 99.0% (107 of 108 strings)
2016-04-15 01:10:25 +02:00
Yoo
46fb3639ec Translated using Weblate (Hungarian)
Currently translated at 99.0% (107 of 108 strings)
2016-04-14 18:44:40 +02:00
Rom1
a6eba57099 Translated using Weblate (French)
Currently translated at 99.0% (107 of 108 strings)
2016-04-13 14:49:46 +02:00
M2ck
c8481f961a Translated using Weblate (French)
Currently translated at 98.1% (106 of 108 strings)
2016-04-13 14:49:07 +02:00
Robin van der Vliet
56329f43fb Translated using Weblate (Esperanto)
Currently translated at 71.2% (77 of 108 strings)
2016-04-11 18:44:19 +02:00
Matej U
793fbfb5be Translated using Weblate (Slovenian)
Currently translated at 100.0% (108 of 108 strings)
2016-04-09 20:51:20 +02:00
Rom1
1d8334b762 Translated using Weblate (French)
Currently translated at 93.5% (101 of 108 strings)
2016-04-09 18:44:35 +02:00
Rom1
19330ac415 Translated using Weblate (English)
Currently translated at 100.0% (108 of 108 strings)
2016-04-09 18:44:21 +02:00
Ibrahim Derraz
7a015a0bda Translated using Weblate (French)
Currently translated at 91.6% (99 of 108 strings)
2016-04-07 16:49:27 +02:00
Rom1
f29c422c61 Translated using Weblate (French)
Currently translated at 90.7% (98 of 108 strings)
2016-04-07 16:49:10 +02:00
Ibrahim Derraz
99a369f604 Translated using Weblate (French)
Currently translated at 90.7% (98 of 108 strings)
2016-04-07 16:47:48 +02:00
Rom1
c1f0fb36ac Translated using Weblate (French)
Currently translated at 89.8% (97 of 108 strings)
2016-04-07 16:47:32 +02:00
Ibrahim Derraz
fa0a8905f7 Translated using Weblate (French)
Currently translated at 89.8% (97 of 108 strings)
2016-04-07 16:47:21 +02:00
Rom1
4e63a3269e Translated using Weblate (French)
Currently translated at 88.8% (96 of 108 strings)
2016-04-07 16:46:47 +02:00
Ibrahim Derraz
0f1873e295 Translated using Weblate (French)
Currently translated at 87.9% (95 of 108 strings)
2016-04-07 16:40:26 +02:00
Rom1
23fd28afd5 Translated using Weblate (French)
Currently translated at 86.1% (93 of 108 strings)
2016-04-07 16:38:33 +02:00
naofum
ad5a813a9a Translated using Weblate (Japanese)
Currently translated at 100.0% (108 of 108 strings)
2016-04-07 15:38:19 +02:00
Ibrahim Derraz
f245eedbdf Translated using Weblate (French)
Currently translated at 82.4% (89 of 108 strings)
2016-04-07 15:18:55 +02:00
Rom1
1ce6a6e8c5 Translated using Weblate (French)
Currently translated at 80.5% (87 of 108 strings)
2016-04-07 15:18:38 +02:00
Ibrahim Derraz
0ea7b5526c Translated using Weblate (French)
Currently translated at 80.5% (87 of 108 strings)
2016-04-07 15:18:07 +02:00
Rom1
b41e88f8f3 Translated using Weblate (French)
Currently translated at 79.6% (86 of 108 strings)
2016-04-07 15:17:56 +02:00
Ibrahim Derraz
82b9e79d99 Translated using Weblate (French)
Currently translated at 79.6% (86 of 108 strings)
2016-04-07 15:17:35 +02:00
Rom1
a5383fadb1 Translated using Weblate (French)
Currently translated at 74.0% (80 of 108 strings)
2016-04-07 15:15:24 +02:00
Ibrahim Derraz
bd7fb9bbe4 Translated using Weblate (French)
Currently translated at 73.1% (79 of 108 strings)
2016-04-07 15:15:14 +02:00
Rom1
1ddd0a333c Translated using Weblate (French)
Currently translated at 72.2% (78 of 108 strings)
2016-04-07 15:14:40 +02:00
Ibrahim Derraz
084fec08a6 Translated using Weblate (French)
Currently translated at 72.2% (78 of 108 strings)
2016-04-07 15:14:23 +02:00
Rom1
2b51448b49 Translated using Weblate (French)
Currently translated at 71.2% (77 of 108 strings)
2016-04-07 15:13:14 +02:00
Ibrahim Derraz
f4eee83477 Translated using Weblate (French)
Currently translated at 71.2% (77 of 108 strings)
2016-04-07 15:12:02 +02:00
Rom1
cd622c9e06 Translated using Weblate (French)
Currently translated at 70.3% (76 of 108 strings)
2016-04-07 15:11:52 +02:00
Ibrahim Derraz
7077ebfde2 Translated using Weblate (French)
Currently translated at 70.3% (76 of 108 strings)
2016-04-07 15:11:41 +02:00
Rom1
4862fecb12 Translated using Weblate (French)
Currently translated at 69.4% (75 of 108 strings)
2016-04-07 15:10:58 +02:00
YFdyh000
c189933705 Translated using Weblate (Simplified Chinese)
Currently translated at 100.0% (108 of 108 strings)
2016-04-06 23:14:48 +02:00
Weblate
9c3f7a9139 Merge remote-tracking branch 'origin/master' 2016-04-06 23:12:51 +02:00
Zhaofeng Li
382bf5e936 Translated using Weblate (Simplified Chinese)
Currently translated at 100.0% (108 of 108 strings)
2016-04-06 23:12:51 +02:00
Christian Schabesberger
e2fac962f3 Merge pull request #261 from zhaofengli/ui-strings-ocd-cure
Let's tweak the UI strings a bit
2016-04-06 23:12:47 +02:00
Gian Maria Viglianti
3071ebc0d5 Translated using Weblate (Italian)
Currently translated at 100.0% (108 of 108 strings)
2016-04-06 19:16:15 +02:00
Zhaofeng Li
a5fc6db1fa default_resolution_title: Fix capitalization
"Default Resolution" -> "Default resolution"

See https://www.google.com/design/spec/style/writing.html#writing-capitalization-punctuation
2016-04-06 20:08:29 +08:00
Zhaofeng Li
8060c6a775 strings.xml: Fix grammar
"Download path video" -> "Video download path"
"Download path audio" -> "Audio download path"
2016-04-06 20:06:00 +08:00
Zhaofeng Li
2a6e7f300c search_language_title: Change "Preferable" to "Preferred"
Why? See http://english.stackexchange.com/questions/128996/how-would-one-know-when-to-choose-preferred-or-preferable
2016-04-06 20:02:40 +08:00
Zhaofeng Li
98afe79eaa strings.xml: Remove unnecessary punctuations
Periods, colons and other unnecessary punctuations should not be used in labels.
See https://www.google.com/design/spec/style/writing.html#writing-capitalization-punctuation
2016-04-06 20:02:22 +08:00
halcyonest
a35590f9ea Translated using Weblate (English)
Currently translated at 100.0% (108 of 108 strings)
2016-03-29 03:44:20 +02:00
Marian Hanzel
f14f8c35b8 Translated using Weblate (Slovak)
Currently translated at 100.0% (108 of 108 strings)
2016-03-28 18:06:19 +02:00
Matej U
aa5c510c99 Translated using Weblate (Slovenian)
Currently translated at 100.0% (108 of 108 strings)
2016-03-27 18:57:00 +02:00
Benedikt Freisen
59f33a8def Translated using Weblate (German)
Currently translated at 100.0% (108 of 108 strings)
2016-03-27 16:19:49 +02:00
naofum
dbb4df598c Translated using Weblate (Japanese)
Currently translated at 100.0% (108 of 108 strings)
2016-03-27 03:45:53 +02:00
halcyonest
8452f52da0 Translated using Weblate (Korean)
Currently translated at 100.0% (108 of 108 strings)
2016-03-27 03:40:44 +02:00
Christian Schabesberger
db6613f562 yet another try to fix that test -.- 2016-03-25 20:19:43 +01:00
Christian Schabesberger
44d2775437 Merge branch 'master' of github.com:theScrabi/NewPipe 2016-03-25 20:03:05 +01:00
Christian Schabesberger
a3326dc598 another try to fixe shitty viewcount test 2016-03-25 20:02:50 +01:00
Christian Schabesberger
0cd56ddeb8 Merge branch 'master' of github.com:theScrabi/NewPipe 2016-03-25 19:37:59 +01:00
Christian Schabesberger
2a7f729e73 fixed unit test 2016-03-25 19:37:48 +01:00
Weblate
18301d8f8b Merge remote-tracking branch 'origin/master' 2016-03-25 19:34:47 +01:00
YFdyh000
8286437055 Translated using Weblate (Simplified Chinese)
Currently translated at 100.0% (108 of 108 strings)
2016-03-25 19:34:46 +01:00
Christian Schabesberger
1bef7fbbf3 Merge branch 'master' of github.com:theScrabi/NewPipe 2016-03-25 19:08:12 +01:00
YFdyh000
21e8318643 Translated using Weblate (Simplified Chinese)
Currently translated at 100.0% (108 of 108 strings)
2016-03-25 19:06:56 +01:00
Christian Schabesberger
381f054daf Merge branch 'Start-screen-hint' of git://github.com/Ashanmaril/NewPipe into Ashanmaril-Start-screen-hint 2016-03-25 19:05:56 +01:00
Christian Schabesberger
c05d9303a9 fixed download location 2016-03-25 19:01:22 +01:00
Weblate
cca72a9e4e Merge remote-tracking branch 'origin/master' 2016-03-25 18:58:08 +01:00
Oleksandr Los
d4463e5f30 Translated using Weblate (Ukrainian)
Currently translated at 71.0% (76 of 107 strings)
2016-03-25 18:58:08 +01:00
Ibrahim Derraz
92155e2154 Translated using Weblate (French)
Currently translated at 65.4% (70 of 107 strings)
2016-03-25 18:58:07 +01:00
Christian Schabesberger
287fd0bf1e Merge branch 'master' of github.com:theScrabi/NewPipe 2016-03-25 13:57:19 +01:00
Christian Schabesberger
9e910d5501 fixed commons-lang problem & moved on to 0.7.8 2016-03-25 13:56:24 +01:00
YFdyh000
ff54b4d0c9 Translated using Weblate (Simplified Chinese)
Currently translated at 100.0% (107 of 107 strings)
2016-03-25 06:45:09 +01:00
Oleksandr Los
af0b841bc3 Translated using Weblate (Ukrainian)
Currently translated at 100% (0 of 0 strings)

Created new translation.
2016-03-24 22:57:17 +01:00
Matej U
665ea85613 Translated using Weblate (Slovenian)
Currently translated at 100.0% (107 of 107 strings)
2016-03-24 21:45:10 +01:00
Benedikt Freisen
de635392c6 Translated using Weblate (German)
Currently translated at 100.0% (107 of 107 strings)
2016-03-23 12:44:33 +01:00
YFdyh000
7814cca3d5 Translated using Weblate (Simplified Chinese)
Currently translated at 100.0% (107 of 107 strings)
2016-03-23 06:12:36 +01:00
Hayden
6c7204eae0 Show/hide message 2016-03-22 20:05:43 -06:00
Hayden
834d647011 Merge remote-tracking branch 'github/Start-screen-hint' into Start-screen-hint
# Conflicts:
#	app/src/main/java/org/schabi/newpipe/VideoItemListActivity.java
2016-03-22 19:59:26 -06:00
Hayden
d872263b55 Got rid of imageview from testing 2016-03-22 19:55:00 -06:00
Hayden
4f8e4ca0ad Got rid of useless Toast from testing 2016-03-22 19:53:55 -06:00
Hayden
2abc9d0210 Text hint to start a search 2016-03-22 19:39:31 -06:00
Matej U
36fb942ce6 Translated using Weblate (Slovenian)
Currently translated at 100.0% (107 of 107 strings)
2016-03-22 19:10:20 +01:00
Tomáš Martykán
56476b35e3 Translated using Weblate (Czech)
Currently translated at 66.3% (71 of 107 strings)
2016-03-21 18:44:27 +01:00
hydroid7
38b3835891 Translated using Weblate (Hungarian)
Currently translated at 58.8% (63 of 107 strings)
2016-03-20 12:44:38 +01:00
naofum
ccf5be116a Translated using Weblate (Japanese)
Currently translated at 100.0% (107 of 107 strings)
2016-03-14 13:04:00 +01:00
Weblate
794ae4c5da Merge remote-tracking branch 'origin/master' 2016-03-13 22:38:50 +01:00
Mladen Pejaković
060e744924 Translated using Weblate (Serbian)
Currently translated at 98.1% (105 of 107 strings)
2016-03-13 22:38:50 +01:00
Christian Schabesberger
de62ed772f Merge branch 'master' of https://github.com/kamadi/NewPipe into kamadi-master 2016-03-13 22:36:33 +01:00
Christian Schabesberger
6a8c4a65c5 Merge pull request #237 from DevFactory/release/general-code-quality-fix-2
General code quality fix-2
2016-03-13 22:30:24 +01:00
Christian Schabesberger
03738aeb27 merged my changes with them of rrooij 2016-03-13 22:22:18 +01:00
Weblate
243cb8569e Merge remote-tracking branch 'origin/master' 2016-03-13 02:59:46 +01:00
Mladen Pejaković
1bd660fbbe Translated using Weblate (Serbian)
Currently translated at 98.1% (104 of 106 strings)
2016-03-13 02:59:46 +01:00
Christian Schabesberger
fec80b39f0 Merge pull request #238 from rrooij/yt_streampreviewextractor
Move YoutubeStreamPreviewInfoExtractor to separate class
2016-03-13 02:59:43 +01:00
rrooij
21768432c8 Move YoutubeStreamPreviewInfoExtractor to separate class
The class should be separate because channel support in the future would require video preview extraction too, which doesn't differ much from the extraction done from the search results.
2016-03-12 18:15:20 +01:00
Benedikt Freisen
e9b900ff28 Translated using Weblate (German)
Currently translated at 100.0% (106 of 106 strings)
2016-03-12 11:59:04 +01:00
naofum
c57cb8fec1 Translated using Weblate (Japanese)
Currently translated at 100.0% (106 of 106 strings)
2016-03-12 06:28:19 +01:00
Matej U
247681e3ef Translated using Weblate (Slovenian)
Currently translated at 100.0% (106 of 106 strings)
2016-03-11 23:46:28 +01:00
Faisal Hameed
2f9142419a Fixing squid:S1155, squid:S2293, squid:S1488 2016-03-12 02:01:47 +05:00
Christian Schabesberger
b84eb3df7f made stream type part of abstractVideoinfo 2016-03-11 16:20:02 +01:00
Christian Schabesberger
4058ec2ee9 fixed another livestream related issue 2016-03-11 15:43:50 +01:00
Christian Schabesberger
23a9061871 changed autoplay text 2016-03-11 15:10:13 +01:00
Weblate
9e95ca10b2 Merge remote-tracking branch 'origin/master' 2016-03-11 15:07:20 +01:00
Christian Schabesberger
4c0809d3d3 Translated using Weblate (German)
Currently translated at 100.0% (104 of 104 strings)
2016-03-11 15:07:20 +01:00
Christian Schabesberger
d43365f6e6 add custom error report function 2016-03-11 14:56:41 +01:00
Christian Schabesberger
c6ccc2b20d Merge pull request #232 from DevFactory/release/null-pointer-should-not-be-dereferenced-fix-1
Code quality fix - Null pointers should not be dereferenced.
2016-03-11 14:15:41 +01:00
Christian Schabesberger
31dd68be1d Merge pull request #233 from DevFactory/release/useless-parentheses-should-be-removed-fix-1
Code quality fix - Useless parentheses around expressions should be removed to prevent any misunderstanding.
2016-03-11 14:14:29 +01:00
Christian Schabesberger
1c94620c06 Merge pull request #234 from DevFactory/release/variable-should-comply-with-naming-conventions-fix-1
Code quality fix - Local variable and method parameter names should comply with a naming convention.
2016-03-11 14:13:51 +01:00
Weblate
82d214faa6 Merge remote-tracking branch 'origin/master' 2016-03-11 14:12:50 +01:00
Sérgio Marques
04b2e3689c Translated using Weblate (Portuguese)
Currently translated at 100.0% (104 of 104 strings)
2016-03-11 14:12:50 +01:00
Benedikt Volkmer
f00b8a3941 Translated using Weblate (German)
Currently translated at 100.0% (104 of 104 strings)
2016-03-11 14:12:49 +01:00
Henk de Vries
390cc9cfc9 Translated using Weblate (Dutch)
Currently translated at 95.1% (99 of 104 strings)
2016-03-11 14:12:49 +01:00
Christian Schabesberger
8259872e2d Merge pull request #235 from DevFactory/release/utility-classes-should-not-have-public-constructors-fix-1
Code quality fix - Utility classes should not have public constructors.
2016-03-11 14:12:45 +01:00
Faisal Hameed
1a3aaf86ee Fixing squid:S2259- Null pointers should not be dereferenced. 2016-03-10 15:07:23 +05:00
Faisal Hameed
cade4f932d Fixing squid:S00117- Local variable and method parameter names should comply with a naming convention. 2016-03-10 15:01:38 +05:00
Faisal Hameed
eb060602cd Fixing squid:S1118 - Utility classes should not have public constructors. 2016-03-10 14:50:42 +05:00
Faisal Hameed
805f046696 Fixing squid:UselessParenthesesCheck - Useless parentheses around expressions should be removed to prevent any misunderstanding. 2016-03-10 14:41:12 +05:00
Matej U
35e11e43de Translated using Weblate (Slovenian)
Currently translated at 100.0% (104 of 104 strings)
2016-03-08 21:22:44 +01:00
Mohamad Hasan Al Banna
ba15c6dc60 Translated using Weblate (Indonesian)
Currently translated at 100% (0 of 0 strings)

Created new translation.
2016-03-08 16:29:26 +01:00
Christian Schabesberger
569c227a99 try to give gradle more memory for CI build 2016-03-08 02:43:00 +01:00
Christian Schabesberger
8fd7599158 Merge branch 'master' of github.com:theScrabi/NewPipe 2016-03-08 02:22:35 +01:00
Christian Schabesberger
19418e5dfb fixed another parsing but related to livestreams 2016-03-08 02:22:23 +01:00
Christian Schabesberger
f90a163ede add --info to buildscript 2016-03-08 01:25:07 +01:00
Christian Schabesberger
8fb1fd3602 fixed image loading bug 2016-03-08 01:24:45 +01:00
Christian Schabesberger
0dbf2a347f moved on to version 0.7.7 2016-03-08 01:10:33 +01:00
Christian Schabesberger
38742fd5e8 fixed values-iw build failure 2016-03-08 01:09:39 +01:00
Weblate
67ce7e0979 Merge remote-tracking branch 'origin/master' 2016-03-08 01:06:49 +01:00
Benedikt Freisen
21a7e52f9a Translated using Weblate (German)
Currently translated at 99.0% (103 of 104 strings)
2016-03-08 01:06:49 +01:00
Christian Schabesberger
fcb445a381 removed --stacktrace form CI buildscript 2016-03-08 01:02:01 +01:00
Christian Schabesberger
f6450d4b4d removed not or almost not existing translations 2016-03-07 19:15:01 +01:00
Christian Schabesberger
a01d1b89b6 Merge branch 'master' of github.com:theScrabi/NewPipe 2016-03-07 18:51:51 +01:00
Christian Schabesberger
0c9b6582cc made CI script print stack trace 2016-03-07 18:51:43 +01:00
Christian Schabesberger
2d47daabf8 add xxxhdpi app icon 2016-03-07 15:03:26 +01:00
Weblate
ce20cbe435 Merge remote-tracking branch 'origin/master' 2016-03-07 15:00:43 +01:00
Matej U
99e5415bfc Translated using Weblate (Slovenian)
Currently translated at 87.5% (91 of 104 strings)
2016-03-07 15:00:42 +01:00
madiyar
b2d935dd6d Restoring search query after orientation change in two pane mode 2016-03-07 13:05:05 +06:00
madiyar
eb66cc5db8 Restoring search query after orientation change 2016-03-07 12:58:48 +06:00
naofum
6d6b8363a8 Translated using Weblate (Japanese)
Currently translated at 100.0% (104 of 104 strings)
2016-03-06 12:19:11 +01:00
Mladen Pejaković
bf79b02e15 Translated using Weblate (Serbian)
Currently translated at 100.0% (104 of 104 strings)
2016-03-05 18:57:47 +01:00
Christian Schabesberger
3ce7eda3eb made newpipe handle not available like/dislike count 2016-03-05 18:35:28 +01:00
Christian Schabesberger
378e6b6547 fixed fix portrait view 2016-03-05 17:49:11 +01:00
Christian Schabesberger
f63b35e2c0 fixed search error 2016-03-05 17:35:57 +01:00
Christian Schabesberger
9a480cbe3e fixed backarrow on player_activity 2016-03-05 17:16:28 +01:00
Christian Schabesberger
76ca937bb8 set tor into experimental state 2016-03-05 17:04:37 +01:00
Christian Schabesberger
8a29567572 merge addExoplayer 2016-03-05 16:54:24 +01:00
Christian Schabesberger
839cd7d1c7 some small fixes 2016-03-05 16:24:47 +01:00
Christian Schabesberger
0bfc7a9177 Merge branch 'master' of github.com:theScrabi/NewPipe 2016-03-05 16:15:00 +01:00
Christian Schabesberger
26e11f96e0 add streamtype field 2016-03-04 15:18:04 +01:00
Christian Schabesberger
86c36acedc removed android code from extractor side 2016-03-04 14:25:37 +01:00
Christian Schabesberger
2318ad2bde changed viewcount notation 2016-03-04 14:16:02 +01:00
Christian Schabesberger
9548dfabd6 made service list do propper error handling 2016-03-04 14:10:41 +01:00
Christian Schabesberger
0c716c12d7 fixed viewcount test again 2016-03-04 13:51:50 +01:00
Weblate
08dd176753 Merge remote-tracking branch 'origin/master' 2016-03-04 13:49:06 +01:00
Thejesh GN
07086bfb3e Translated using Weblate (Kannada)
Currently translated at 30.5% (26 of 85 strings)
2016-03-04 13:49:06 +01:00
Christian Schabesberger
b1d2e64450 ad service_id field, and pulled video/audio stream out of streaminfo 2016-03-04 13:45:41 +01:00
Christian Schabesberger
d9cd928100 fixed audio settings changed bug 2016-03-02 23:23:52 +01:00
naofum
37ec26c8fd Translated using Weblate (Japanese)
Currently translated at 100.0% (85 of 85 strings)
2016-03-02 13:05:54 +01:00
Christian Schabesberger
68b7d9cdff made duration an integer, and made youtubesearch engine throw more parsingexceptions 2016-03-02 02:36:45 +01:00
Christian Schabesberger
3aecd15916 Merge branch 'advancedErrorHandling' 2016-03-02 00:29:56 +01:00
Christian Schabesberger
97d76aee18 fixed failing unit test 2016-03-01 23:54:26 +01:00
Christian Schabesberger
781bf8e7ec fixed yet another bug 2016-03-01 23:28:22 +01:00
Christian Schabesberger
77b9457707 add error handling to suggestions 2016-03-01 18:43:36 +01:00
Christian Schabesberger
1210ab0de0 changed color of snackbar action text 2016-02-29 21:22:16 +01:00
Christian Schabesberger
3c93c4714e fixed crash during crash report 2016-02-29 21:13:02 +01:00
Christian Schabesberger
f90a1ede70 fixed some more bugs 2016-02-29 21:06:00 +01:00
Christian Schabesberger
028354b283 fixed some bugs 2016-02-29 20:33:28 +01:00
Christian Schabesberger
18493a578d made error message be displayed inside erroractivity 2016-02-29 19:23:01 +01:00
Christian Schabesberger
1829dc79c8 make erroractivity handle search engine exceptions 2016-02-29 19:02:40 +01:00
Weblate
7575e8fbe3 Merge remote-tracking branch 'origin/master' 2016-02-29 16:16:54 +01:00
Christian Schabesberger
eed9915c12 add missing gpl3 header to SuggestionListAdapter 2016-02-29 16:19:34 +01:00
Filip Sebastian
be71e45954 Translated using Weblate (Romanian)
Currently translated at 100.0% (72 of 72 strings)
2016-02-29 16:16:54 +01:00
Kamil Modzelewski
3a7978eca0 Translated using Weblate (Polish)
Currently translated at 54.1% (39 of 72 strings)
2016-02-29 16:16:53 +01:00
naofum
c37d2250d4 Translated using Weblate (Japanese)
Currently translated at 100.0% (72 of 72 strings)
2016-02-29 16:16:53 +01:00
Benedikt Freisen
45819d1cd4 Translated using Weblate (German)
Currently translated at 98.6% (71 of 72 strings)
2016-02-29 16:16:53 +01:00
Christian Schabesberger
4ac36af40c made extractor not throw exception upon missing dash mpd 2016-02-29 16:15:15 +01:00
Christian Schabesberger
1a2840b33f made ui handle missing information on search 2016-02-29 16:10:46 +01:00
Christian Schabesberger
d7e75e6011 restructured search engine 2016-02-29 15:59:06 +01:00
Gian Maria Viglianti
73316b87a3 Translated using Weblate (English)
Currently translated at 100.0% (72 of 72 strings)
2016-02-29 03:44:20 +01:00
Matej U
46402691b0 Translated using Weblate (Slovenian)
Currently translated at 100.0% (72 of 72 strings)
2016-02-27 23:05:13 +01:00
Filip Sebastian
e7cef4549f Translated using Weblate (Romanian)
Currently translated at 100.0% (72 of 72 strings)
2016-02-27 17:51:43 +01:00
Christian Schabesberger
737a41f45b display error message 2016-02-27 17:02:38 +01:00
Christian Schabesberger
045ca40a77 renamed video classes to stream classes 2016-02-27 16:37:15 +01:00
Christian Schabesberger
b1fe197c11 changed crashreport email address 2016-02-27 15:57:37 +01:00
Mladen Pejaković
8888530ae3 Translated using Weblate (Serbian)
Currently translated at 100.0% (72 of 72 strings)
2016-02-27 15:34:44 +01:00
Christian Schabesberger
2d51c7428e add ip and timestamp 2016-02-27 15:02:28 +01:00
Christian Schabesberger
863e2a80a2 set errors mail address 2016-02-27 02:26:06 +01:00
Weblate
41d17d2a47 Merge remote-tracking branch 'origin/master' 2016-02-27 02:12:18 +01:00
Christian Schabesberger
36934468d6 uppdate support framework 2016-02-27 02:14:55 +01:00
Thejesh GN
5029ce8728 Translated using Weblate (Kannada)
Currently translated at 1.3% (1 of 72 strings)
2016-02-27 02:12:17 +01:00
Gian Maria Viglianti
e6ab24bcb4 Translated using Weblate (Italian)
Currently translated at 100.0% (72 of 72 strings)
2016-02-27 02:12:17 +01:00
Christian Schabesberger
f3bd263ada new website for newpipe 2016-02-27 02:11:31 +01:00
Gian Maria Viglianti
db7ab3ffce Translated using Weblate (Italian)
Currently translated at 100.0% (72 of 72 strings)
2016-02-27 01:37:42 +01:00
Thejesh GN
85c3755b96 Translated using Weblate (Kannada)
Currently translated at 100% (0 of 0 strings)

Created new translation.
2016-02-26 10:28:11 +01:00
Christian Schabesberger
5decd55551 fixed another pattern problem 2016-02-26 01:42:38 +01:00
Christian Schabesberger
bc468b6f36 fixed stream exception handling 2016-02-26 01:32:44 +01:00
Christian Schabesberger
369d9204d9 add send via mail/share feature 2016-02-25 23:19:43 +01:00
Christian Schabesberger
7caf7be97e add info box 2016-02-25 22:02:42 +01:00
Christian Schabesberger
64c423902a made error handling work a bit 2016-02-25 03:43:13 +01:00
Christian Schabesberger
27a2dee3bd created error report activity 2016-02-24 23:12:02 +01:00
Christian Schabesberger
11d3aeb0dd fixed faling searchengine unittest 2016-02-24 22:36:16 +01:00
Christian Schabesberger
f54d8d318a remove parcelabel from VideoInfoItem 2016-02-24 22:25:51 +01:00
Christian Schabesberger
210f2ef452 Merge branch 'master' of github.com:theScrabi/NewPipe 2016-02-24 22:12:21 +01:00
Christian Schabesberger
d0bab6183a fixed related view 0 view count error 2016-02-24 22:12:13 +01:00
Christian Schabesberger
3441aceba3 fixed viewcount failure 2016-02-24 16:44:46 +01:00
Weblate
0908b9cd76 Merge remote-tracking branch 'origin/master' 2016-02-24 16:42:14 +01:00
vadin
67494ad4c4 Translated using Weblate (Spanish)
Currently translated at 98.6% (71 of 72 strings)
2016-02-24 16:42:14 +01:00
naofum
5d8f75beb4 Translated using Weblate (Japanese)
Currently translated at 100.0% (72 of 72 strings)
2016-02-24 15:06:59 +01:00
Christian Schabesberger
8e7fde99db fix bitcoin qrcode 2016-02-24 13:34:41 +01:00
Christian Schabesberger
bfdf165584 add bitcoin donations 2016-02-24 13:29:53 +01:00
Weblate
9427ebd489 Merge remote-tracking branch 'origin/master' 2016-02-23 23:33:55 +01:00
Christian Schabesberger
e4f753ae82 fixed emty search query on suggestions error 2016-02-23 23:36:02 +01:00
Benedikt Freisen
f2d9d3c2d7 Translated using Weblate (German)
Currently translated at 98.6% (71 of 72 strings)
2016-02-23 23:33:55 +01:00
Nathan Follens
04c5f31cc1 Translated using Weblate (Dutch)
Currently translated at 100.0% (72 of 72 strings)
2016-02-23 23:33:55 +01:00
Matej U
4ea86b714e Translated using Weblate (Slovenian)
Currently translated at 100.0% (72 of 72 strings)
2016-02-23 18:33:20 +01:00
Nathan Follens
cc0b96cba4 Translated using Weblate (Dutch)
Currently translated at 100.0% (72 of 72 strings)
2016-02-23 18:00:54 +01:00
Christian Schabesberger
9e176f8400 Merge branch 'kamadi-master' 2016-02-23 16:52:52 +01:00
Christian Schabesberger
7195ff349b fixed toast issue of the previous commit 2016-02-23 16:42:04 +01:00
Christian Schabesberger
8048ad343e add toast for suggestion error handling 2016-02-23 16:34:14 +01:00
Christian Schabesberger
799a27ec84 Merge branch 'master' of https://github.com/kamadi/NewPipe into kamadi-master 2016-02-23 16:21:16 +01:00
Christian Schabesberger
c7c77ab20c fixed another pattern problem 2016-02-23 15:25:34 +01:00
madiyar
8fc113cc52 Added country language param to the suggestionList method in search engine 2016-02-23 16:22:49 +06:00
madiyar
c7679bec87 Added suggestion to the searching 2016-02-23 15:01:59 +06:00
madiyar
3301d8b4fb Created suggestion adapter 2016-02-23 14:36:24 +06:00
Christian Schabesberger
f5892093a9 made exoplayer work with youtube again 2016-02-23 01:56:04 +01:00
Christian Schabesberger
b06238ba5d initial changes 2016-02-22 20:28:37 +01:00
Christian Schabesberger
dddcc80f30 merged faridk's code 2016-02-22 19:58:04 +01:00
Christian Schabesberger
8854c8c9d0 Merge branch 'master' of github.com:theScrabi/NewPipe 2016-02-22 19:19:22 +01:00
Christian Schabesberger
d02f441eb0 add age restricted material to description 2016-02-22 19:19:13 +01:00
Christian Schabesberger
ff89dd00b6 Merge branch 'rrooij-age_restriction' 2016-02-22 19:18:22 +01:00
Christian Schabesberger
7041e63268 merged age restricted video request 2016-02-22 19:17:05 +01:00
Weblate
8126fdcd15 Merge remote-tracking branch 'origin/master' 2016-02-22 19:16:57 +01:00
Selim
2d61a2f251 Translated using Weblate (Turkish)
Currently translated at 31.8% (22 of 69 strings)
2016-02-22 19:16:57 +01:00
Matej U
7594ee9dbe Translated using Weblate (Slovenian)
Currently translated at 100.0% (69 of 69 strings)
2016-02-22 19:16:56 +01:00
naofum
0862a38599 Translated using Weblate (Japanese)
Currently translated at 100.0% (69 of 69 strings)
2016-02-22 16:37:05 +01:00
Selim
bf7dc462e8 Translated using Weblate (Turkish)
Currently translated at 100% (0 of 0 strings)

Created new translation.
2016-02-22 13:46:14 +01:00
Christian Schabesberger
65b6aaec8e moved on to 0.7.6 2016-02-21 22:57:07 +01:00
Christian Schabesberger
e08aa14eab better detection for livestreams 2016-02-21 22:25:45 +01:00
Christian Schabesberger
851028997a fixed json error from the last commit 2016-02-21 21:15:39 +01:00
Christian Schabesberger
a1479d04df fixed some searchengine errors 2016-02-21 21:08:14 +01:00
rrooij
d12af16f46 VideoItemDetailFragment: check for next vid
Check if the next video is available before loading the thumbnails.
2016-02-21 19:07:24 +01:00
rrooij
2edfcb78fe YTStreamExtractor: implement getAgeRestriction 2016-02-21 18:45:28 +01:00
rrooij
3f0947fa5b Add unit test for restricted YouTube videos 2016-02-21 18:25:18 +01:00
rrooij
d2b808e540 YTStreamExtractor: fix audio tracks on restricted
Fix audio tracks on restriced videos.
2016-02-21 18:24:53 +01:00
Christian Schabesberger
2995a7dc8f actual fix for androi 6.0 notification problem
Notification buttons weren't respondig to clicks. Now they do.
2016-02-21 18:12:00 +01:00
Christian Schabesberger
819db0a30b antifix for android 6.0 notification z order problem 2016-02-21 17:55:00 +01:00
rrooij
4d727245e1 YTStreamExtractor: add support for age restricted
YouTube age restricted videos are now kind of supported. This is not a
final solution to this problem and this commit still crashes because of
some problem with the thumbnail.
2016-02-21 16:39:08 +01:00
Weblate
d8281aeb34 Merge remote-tracking branch 'origin/master' 2016-02-21 01:40:55 +01:00
LelixSuper
cd0f2061b5 Translated using Weblate (Italian)
Currently translated at 100.0% (68 of 68 strings)
2016-02-21 01:40:55 +01:00
Christian Schabesberger
96928d46ca Merge pull request #199 from szafir1100/develop
used regex to delete spaces inside parseLong() argument
2016-02-21 01:40:50 +01:00
LelixSuper
6d55ac2199 Translated using Weblate (Italian)
Currently translated at 100.0% (68 of 68 strings)
2016-02-20 15:16:59 +01:00
Tomasz Marzeion
80dae6ece7 used regex to delete spaces inside parseLong() argument 2016-02-20 13:49:47 +01:00
Matej U
a1a12ca9f7 Translated using Weblate (Slovenian)
Currently translated at 100.0% (68 of 68 strings)
2016-02-19 15:46:49 +01:00
Christian Schabesberger
5a594173fa Merge pull request #193 from satiricon/fix-autoplay
Fix ArrayIndexOutOfBoundsException when using autoplay
2016-02-19 15:14:06 +01:00
Christian Schabesberger
1e989945b9 moved on to 0.7.5 2016-02-19 14:40:49 +01:00
Christian Schabesberger
679bef849c Merge branch 'master' of github.com:theScrabi/NewPipe 2016-02-19 14:40:20 +01:00
Christian Schabesberger
1c17be9760 made new notification layout available for older platforms 2016-02-19 13:22:49 +01:00
naofum
6def0e3115 Translated using Weblate (Japanese)
Currently translated at 100.0% (68 of 68 strings)
2016-02-19 12:51:38 +01:00
David
fd3436d5c0 Fix ArrayIndexOutOfBoundsException when using autoplay 2016-02-18 13:40:26 -03:00
Christian Schabesberger
a94f9fd3e5 made the ui react on missing information 2016-02-18 13:49:01 +01:00
Christian Schabesberger
77850464d4 renamed crawler into extractor 2016-02-18 11:50:22 +01:00
Christian Schabesberger
3e9edba189 fix broken unit test 2016-02-18 11:47:21 +01:00
Christian Schabesberger
3d168542fe add arabic translation 2016-02-18 00:00:47 +01:00
Christian Schabesberger
0de00e26d8 Merge branch 'master' of github.com:theScrabi/NewPipe 2016-02-17 23:55:32 +01:00
Christian Schabesberger
f0705c612e removed play fab button 2016-02-17 23:55:19 +01:00
Christian Schabesberger
648b9b5d02 made the ui more accommodating for not available audio streams 2016-02-17 21:39:41 +01:00
Christian Schabesberger
b15a0b92f9 add support for attribution_link links 2016-02-17 20:29:31 +01:00
Christian Schabesberger
80482c0578 made settings_keys unsupportable 2016-02-17 19:23:23 +01:00
Weblate
16701923a1 Merge remote-tracking branch 'origin/master' 2016-02-17 19:21:20 +01:00
kamadi
67cee06523 Translated using Weblate (Russian)
Currently translated at 80.5% (54 of 67 strings)
2016-02-17 19:21:20 +01:00
Omar Kharrab
685dab39af Translated using Weblate (French)
Currently translated at 97.0% (65 of 67 strings)
2016-02-17 19:21:19 +01:00
David Duong
0ff9555cc4 Translated using Weblate (Czech)
Currently translated at 100.0% (67 of 67 strings)
2016-02-17 18:44:14 +01:00
Robin van der Vliet
4f808dd17d Translated using Weblate (Dutch)
Currently translated at 65.6% (44 of 67 strings)
2016-02-17 00:44:16 +01:00
vadin
69d71dac36 Translated using Weblate (Spanish)
Currently translated at 100.0% (67 of 67 strings)
2016-02-16 23:18:33 +01:00
Jossi Wolf
4880319991 Translated using Weblate (German)
Currently translated at 98.5% (66 of 67 strings)
2016-02-16 21:44:52 +01:00
Robin van der Vliet
13b9850b39 Translated using Weblate (Esperanto)
Currently translated at 100.0% (67 of 67 strings)

Imperative because it is a command to the user.
2016-02-16 17:29:05 +01:00
Robin van der Vliet
366f645eda Translated using Weblate (Esperanto)
Currently translated at 97.0% (65 of 67 strings)

Translated "media center" just as "application", if somebody has a better translation please change it.
2016-02-16 17:28:40 +01:00
Robin van der Vliet
dcf7190c90 Translated using Weblate (Esperanto)
Currently translated at 91.0% (61 of 67 strings)

elŝutujo = container for downloads
2016-02-16 17:22:13 +01:00
Robin van der Vliet
ae6647276c Translated using Weblate (Esperanto)
Currently translated at 86.5% (58 of 67 strings)

A bit long
2016-02-16 17:14:35 +01:00
Robin van der Vliet
460ff37f7a Translated using Weblate (Esperanto)
Currently translated at 79.1% (53 of 67 strings)

A bit long because
2016-02-16 17:05:14 +01:00
Robin van der Vliet
e7ef913416 Translated using Weblate (Esperanto)
Currently translated at 77.6% (52 of 67 strings)

Added "the app" because the accusative cannot really go on the word "Kore"
2016-02-16 17:03:53 +01:00
Robin van der Vliet
c149050a3a Translated using Weblate (Esperanto)
Currently translated at 71.6% (48 of 67 strings)

Added "the app" because the accusative cannot really go on the word "VLC"
2016-02-16 16:59:18 +01:00
Robin van der Vliet
a4e5ca54db Translated using Weblate (Esperanto)
Currently translated at 70.1% (47 of 67 strings)

Intent untranslated because there is not really a common translation. If somebody has a better translation, please change it.
2016-02-16 16:58:13 +01:00
Robin van der Vliet
cb81fd3353 Translated using Weblate (Esperanto)
Currently translated at 68.6% (46 of 67 strings)

Added "the program" because the accusative cannot really go on the word "Tor"
2016-02-16 16:57:28 +01:00
Farid
3a8611ebf8 Added ExoPlayer support 2016-02-15 18:49:58 -08:00
David Duong
352a883b5d Translated using Weblate (Czech)
Currently translated at 100.0% (67 of 67 strings)
2016-02-15 18:04:52 +01:00
David Duong
5247b22ef4 Translated using Weblate (Czech)
Currently translated at 100% (0 of 0 strings)

Created new translation.
2016-02-15 17:33:44 +01:00
Robin van der Vliet
1bf00e80b0 Translated using Weblate (Esperanto)
Currently translated at 67.1% (45 of 67 strings)
2016-02-14 23:57:46 +01:00
Robin van der Vliet
6331d9b7a4 Translated using Weblate (Esperanto)
Currently translated at 100% (0 of 0 strings)

Created new translation.
2016-02-14 23:44:51 +01:00
Marian Hanzel
0deb0ad851 Translated using Weblate (Slovak)
Currently translated at 100.0% (67 of 67 strings)
2016-02-14 21:45:11 +01:00
Matej U
3b42041c4e Translated using Weblate (Slovenian)
Currently translated at 100.0% (67 of 67 strings)
2016-02-14 21:23:03 +01:00
Benedikt Freisen
d8987aa94a Translated using Weblate (German)
Currently translated at 98.5% (66 of 67 strings)

Where readable and unambiguous, the compound-noun-spelling without hyphen is usually preferred.
2016-02-14 21:06:39 +01:00
Mladen Pejaković
19ed16efc6 Translated using Weblate (Serbian)
Currently translated at 100.0% (67 of 67 strings)
2016-02-14 11:33:57 +01:00
Benedikt Freisen
0e32d70aef Translated using Weblate (German)
Currently translated at 98.5% (66 of 67 strings)
2016-02-12 22:59:12 +01:00
Marian Hanzel
5b71f279fd Translated using Weblate (Slovak)
Currently translated at 100.0% (67 of 67 strings)
2016-02-12 19:59:06 +01:00
Marian Hanzel
6d170ffb16 Translated using Weblate (Slovak)
Currently translated at 100% (0 of 0 strings)

Created new translation.
2016-02-12 19:29:38 +01:00
Christian Schabesberger
72d90374a0 moved on to 0.7.4 2016-02-12 15:32:16 +01:00
Christian Schabesberger
fc8160acda fixed autoplay bug 2016-02-12 15:29:11 +01:00
Christian Schabesberger
751ffb9de9 quick and dirty solution for download/audio bug
Youtube has changed (again) this time it was a bit harder,
therfor the changes are deeper. May be still a bit unstable.
2016-02-12 01:29:14 +01:00
Christian Schabesberger
60d636940d set orbot/tor support into experimental status 2016-02-10 12:09:43 +01:00
Christian Schabesberger
7a5cca519a Merge branch 'master' of github.com:theScrabi/NewPipe 2016-02-08 18:46:56 +01:00
Christian Schabesberger
1e93d06a25 restructured ActionbarHandler 2016-02-08 18:46:42 +01:00
naofum
4341f8aaec Translated using Weblate (Japanese)
Currently translated at 100.0% (67 of 67 strings)
2016-02-08 12:44:42 +01:00
Licaon Kter
46022d60f3 Translated using Weblate (Romanian)
Currently translated at 100% (0 of 0 strings)

Created new translation.
2016-02-07 22:16:35 +01:00
Sérgio Marques
80ddc76926 Translated using Weblate (Portuguese)
Currently translated at 100.0% (67 of 67 strings)
2016-02-06 23:07:05 +01:00
naofum
bd999b4b0a Translated using Weblate (Japanese)
Currently translated at 100.0% (67 of 67 strings)
2016-02-06 11:42:08 +01:00
Christian Schabesberger
4cdc387338 Merge branch 'master' of github.com:theScrabi/NewPipe 2016-02-05 17:14:18 +01:00
Christian Schabesberger
df258a0003 Merge branch 'algoprog-master' 2016-02-05 17:10:00 +01:00
Christian Schabesberger
7cc1c0fbdd merge code, and adjust code 2016-02-05 17:09:29 +01:00
Mladen Pejaković
42644c956b Translated using Weblate (Serbian)
Currently translated at 100.0% (67 of 67 strings)
2016-02-05 14:50:14 +01:00
Weblate
00eaedcbfa Merge remote-tracking branch 'origin/master' 2016-02-05 14:38:53 +01:00
Chris Samarinas
1ff5a97c85 Translated using Weblate (Greek)
Currently translated at 100.0% (61 of 61 strings)
2016-02-05 14:38:52 +01:00
Christian Schabesberger
241414f81b Merge pull request #167 from theScrabi/crawlerRefactor
Crawler refactor
2016-02-05 14:38:48 +01:00
Christian Schabesberger
1bf046a8ba made all arrays into lists 2016-02-05 14:09:04 +01:00
Christian Schabesberger
61471fdd3c renamed UrlIdHandler into VideoUrlIdHandler 2016-02-05 13:34:44 +01:00
Allan Nordhøy
a0524fb136 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (61 of 61 strings)
2016-02-05 01:55:35 +01:00
Allan Nordhøy
fa39389a64 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100% (0 of 0 strings)

Created new translation.
2016-02-05 01:38:27 +01:00
Chris Samarinas
697a24e699 Translated using Weblate (Greek)
Currently translated at 100.0% (61 of 61 strings)
2016-02-04 06:10:42 +01:00
Chris Samarinas
cf3bb87a54 Translated using Weblate (Greek)
Currently translated at 100% (0 of 0 strings)

Created new translation.
2016-02-04 05:46:47 +01:00
Christian Schabesberger
14fb7d8a7a fixed failing tests 2016-02-02 19:01:53 +01:00
Christian Schabesberger
d097363b24 restructure parser 2016-02-02 18:43:20 +01:00
Christian Schabesberger
bad576c23d got rid of getVideoInfo() in youtube crawler 2016-02-02 14:06:09 +01:00
Weblate
8d9e4e7442 Merge remote-tracking branch 'origin/master' 2016-02-01 13:44:46 +01:00
Christian Schabesberger
431d03c63f Merge branch 'master' of github.com:theScrabi/NewPipe 2016-02-01 13:46:01 +01:00
Christian Schabesberger
24321731d9 Merge branch 'iit2014086-master' 2016-02-01 13:45:44 +01:00
Christian Schabesberger
fddcade1fb removed unnececeary call of setVolumeControlStream() 2016-02-01 13:45:22 +01:00
theshayy
a0aa7dcdc1 Translated using Weblate (French)
Currently translated at 100.0% (61 of 61 strings)
2016-02-01 13:44:46 +01:00
Teja Vojjala
d3e9f354b3 Update SettingsActivity.java 2016-02-01 15:00:08 +05:30
Teja Vojjala
e958334406 Update VideoItemListActivity.java 2016-02-01 14:29:49 +05:30
Teja Vojjala
a42029970d Update VideoItemDetailActivity.java 2016-02-01 14:29:28 +05:30
Teja Vojjala
2108e09e13 Update PlayVideoActivity.java 2016-02-01 14:28:38 +05:30
Teja Vojjala
8c010093e8 Update SettingsActivity.java 2016-02-01 14:27:24 +05:30
Teja Vojjala
adc98be441 Update PanicResponderActivity.java 2016-02-01 14:25:23 +05:30
Christian Schabesberger
fb942912db disable gema test agian 2016-01-31 20:16:21 +01:00
Christian Schabesberger
7f12b58722 use java error system in the crawler 2016-01-31 19:57:30 +01:00
Éfrit
05d58f8f98 Translated using Weblate (French)
Currently translated at 100.0% (61 of 61 strings)
2016-01-31 12:49:00 +01:00
Christian Schabesberger
46c2db310a add suport for dash 2016-01-30 00:22:16 +01:00
Teja Vojjala
607408b9b9 Update PanicResponderActivity.java 2016-01-29 20:21:44 +05:30
Teja Vojjala
b81e8cb81a Update SettingsActivity.java 2016-01-29 20:20:55 +05:30
Teja Vojjala
44ef04d90a Update PlayVideoActivity.java 2016-01-29 20:19:09 +05:30
Teja Vojjala
3e9d84b109 Merge pull request #2 from iit2014086/iit2014086-patch-2
Update VideoItemDetailActivity.java
2016-01-29 20:17:24 +05:30
Teja Vojjala
aa2d8d4833 Update VideoItemDetailActivity.java 2016-01-29 20:16:57 +05:30
Teja Vojjala
55f63b948b Merge pull request #1 from iit2014086/iit2014086-patch-1
Update VideoItemListActivity.java
2016-01-29 20:09:13 +05:30
Teja Vojjala
cece543d6b Update VideoItemListActivity.java 2016-01-29 20:07:15 +05:30
Christian Schabesberger
9204a89319 fiexed some licence headers 2016-01-28 23:27:16 +01:00
Christian Schabesberger
f8ed96bb25 renamed services into crawer 2016-01-28 21:34:35 +01:00
Christian Schabesberger
54d318bf04 detatch android related downloader from crawler 2016-01-28 21:21:19 +01:00
Christian Schabesberger
f152d66cd8 fixed some bugs 2016-01-28 12:10:50 +01:00
Sérgio Marques
576786c751 Translated using Weblate (Portuguese)
Currently translated at 100.0% (61 of 61 strings)
2016-01-19 00:22:40 +01:00
halcyonest
a6b7cd3202 Translated using Weblate (Korean)
Currently translated at 100.0% (61 of 61 strings)
2016-01-16 12:44:51 +01:00
Yoo
ea9caaaaf0 Translated using Weblate (Hungarian)
Currently translated at 96.7% (59 of 61 strings)
2016-01-14 21:44:37 +01:00
Matej U
22d8f434be Translated using Weblate (Slovenian)
Currently translated at 100.0% (61 of 61 strings)
2016-01-14 15:45:12 +01:00
halcyonest
8360c10141 Translated using Weblate (Korean)
Currently translated at 100.0% (61 of 61 strings)
2016-01-12 10:14:37 +01:00
Matej U
750dc6f2cc Translated using Weblate (Slovenian)
Currently translated at 100.0% (61 of 61 strings)
2016-01-10 14:22:05 +01:00
riotism
47b556544d Translated using Weblate (Chinese (Taiwan))
Currently translated at 100.0% (61 of 61 strings)
2016-01-09 23:06:53 +01:00
riotism
f6cee739a6 Translated using Weblate (Chinese (Hong Kong))
Currently translated at 100.0% (61 of 61 strings)
2016-01-09 23:02:34 +01:00
riotism
d1afe0028c Translated using Weblate (Chinese (China))
Currently translated at 100.0% (61 of 61 strings)
2016-01-09 22:59:42 +01:00
M2ck
a4cace1ef7 Translated using Weblate (French)
Currently translated at 100.0% (61 of 61 strings)
2016-01-09 20:55:00 +01:00
red
707ac8be27 Translated using Weblate (French)
Currently translated at 81.9% (50 of 61 strings)
2016-01-09 20:37:38 +01:00
Weblate
2f2254966a Merge remote-tracking branch 'origin/master' 2016-01-09 15:04:05 +01:00
Christian Schabesberger
eb57675f55 Translated using Weblate (German)
Currently translated at 100.0% (61 of 61 strings)
2016-01-09 15:04:05 +01:00
Christian Schabesberger
dde93c5ccf Translated using Weblate (English)
Currently translated at 100.0% (61 of 61 strings)
2016-01-09 15:04:05 +01:00
Christian Schabesberger
886b5959f7 Merge pull request #149 from narutosanjiv/master
ProgressBar must stop incase of network failure
2016-01-09 15:04:02 +01:00
naofum
dc44546ac7 Translated using Weblate (Japanese)
Currently translated at 100.0% (61 of 61 strings)
2016-01-09 13:38:56 +01:00
Sanjiv Jha
42c6698732 ProgressBar must stop incase of network failure in videolist & detail page 2016-01-09 16:39:31 +05:30
Mladen Pejaković
bd014a107f Translated using Weblate (Serbian)
Currently translated at 100.0% (61 of 61 strings)
2016-01-09 02:36:00 +01:00
Christian Schabesberger
3a7298bb99 Translated using Weblate (German)
Currently translated at 100.0% (61 of 61 strings)
2016-01-09 00:09:55 +01:00
Christian Schabesberger
aa06e3490d Merge branch 'master' of github.com:theScrabi/NewPipe 2016-01-08 22:22:55 +01:00
Christian Schabesberger
ece889b36b moved on to 0.7.3 2016-01-08 22:22:39 +01:00
Christian Schabesberger
9848f19ce6 Merge github.com:k3b/NewPipe into k3bMaster 2016-01-08 22:04:42 +01:00
Weblate
e59b087057 Merge remote-tracking branch 'origin/master' 2016-01-08 22:00:27 +01:00
Greg
5b451d1ac7 Translated using Weblate (Spanish)
Currently translated at 64.2% (36 of 56 strings)
2016-01-08 22:00:27 +01:00
Greg
f050c05b3c Translated using Weblate (Russian)
Currently translated at 98.2% (55 of 56 strings)
2016-01-08 22:00:27 +01:00
Sérgio Marques
06b8edefbf Translated using Weblate (Portuguese)
Currently translated at 100.0% (56 of 56 strings)
2016-01-08 22:00:26 +01:00
Greg
f3a2a28398 Translated using Weblate (German)
Currently translated at 91.0% (51 of 56 strings)
2016-01-08 22:00:26 +01:00
Greg
9b0a1fc2ec Translated using Weblate (English)
Currently translated at 100.0% (56 of 56 strings)
2016-01-08 22:00:26 +01:00
riotism
c87ab234eb Translated using Weblate (Chinese (Taiwan))
Currently translated at 100.0% (56 of 56 strings)
2016-01-08 22:00:25 +01:00
riotism
68468756a8 Translated using Weblate (Chinese (Hong Kong))
Currently translated at 100.0% (56 of 56 strings)
2016-01-08 22:00:24 +01:00
riotism
9016df0195 Translated using Weblate (Chinese (China))
Currently translated at 100.0% (56 of 56 strings)
2016-01-08 22:00:24 +01:00
Christian Schabesberger
7acece9705 Merge pull request #145 from 42SK/master
Fixed #143
2016-01-08 22:00:21 +01:00
red
d1896c23c0 Translated using Weblate (French)
Currently translated at 100.0% (56 of 56 strings)
2016-01-08 14:04:29 +01:00
riotism
dae19f03e0 Translated using Weblate (Chinese (China))
Currently translated at 100.0% (56 of 56 strings)
2016-01-07 23:07:42 +01:00
riotism
9dafccf0f7 Translated using Weblate (Chinese (China))
Currently translated at 100% (0 of 0 strings)

Created new translation.
2016-01-07 22:46:44 +01:00
riotism
5f270c41ae Translated using Weblate (Chinese (Taiwan))
Currently translated at 100.0% (56 of 56 strings)
2016-01-07 22:46:12 +01:00
riotism
f9f80e9003 Translated using Weblate (Chinese (Taiwan))
Currently translated at 100% (0 of 0 strings)

Created new translation.
2016-01-07 22:08:02 +01:00
riotism
c5063d4269 Translated using Weblate (Chinese (Hong Kong))
Currently translated at 100.0% (56 of 56 strings)
2016-01-07 22:06:57 +01:00
riotism
ccbe18ec1c Translated using Weblate (Chinese (Hong Kong))
Currently translated at 100% (0 of 0 strings)

Created new translation.
2016-01-07 21:21:58 +01:00
k3b
321a8a8b25 Translated using Weblate (German)
Currently translated at 91.0% (51 of 56 strings)
2016-01-07 20:20:57 +01:00
k3b
77a9560376 #143 #44 #42 #22: Fixed some download problems with invalid directories or filenames. Added user Feedback. Different settings for audio and video download dir. 2016-01-07 14:32:16 +01:00
k3b
058a039a82 #143 #44 #42 #22: Fixed some download problems with invalid directories or filenames. Added user Feedback. Different settings for audio and video download dir. 2016-01-07 14:22:55 +01:00
naofum
7c744703e4 Translated using Weblate (Japanese)
Currently translated at 100.0% (56 of 56 strings)
2016-01-07 14:15:56 +01:00
42SK
a934cbb085 Fixed #143 2016-01-07 13:28:17 +01:00
Sérgio Marques
cf4158c0d0 Translated using Weblate (Portuguese)
Currently translated at 100.0% (56 of 56 strings)
2016-01-07 00:48:13 +01:00
M2ck
dc56eab9b6 Translated using Weblate (French)
Currently translated at 100.0% (56 of 56 strings)
2016-01-06 16:47:54 +01:00
Weblate
37d1f59132 Merge remote-tracking branch 'origin/master' 2016-01-06 15:13:03 +01:00
Christian Schabesberger
ab0ce55411 merge unitTesting 2016-01-06 15:13:55 +01:00
Matej U
c1d66596d1 Translated using Weblate (Slovenian)
Currently translated at 100.0% (56 of 56 strings)
2016-01-06 15:13:03 +01:00
Mladen Pejaković
cbfccdf0d3 Translated using Weblate (Serbian)
Currently translated at 100.0% (56 of 56 strings)
2016-01-06 15:13:02 +01:00
Christian Schabesberger
9362037177 remove theme option since it's not yet working 2016-01-06 15:00:33 +01:00
Matej U
e25c93bae2 Translated using Weblate (Slovenian)
Currently translated at 100.0% (56 of 56 strings)
2016-01-06 09:28:10 +01:00
Mladen Pejaković
367c434010 Translated using Weblate (Serbian)
Currently translated at 100.0% (56 of 56 strings)
2016-01-05 23:54:30 +01:00
chschtsch
02d8463e15 rename resource 2016-01-06 00:02:10 +03:00
Christian Schabesberger
9d5a1d5c43 removed unnececeary comment 2016-01-05 21:54:40 +01:00
Christian Schabesberger
c8d94f541f resolved merge conflict 2016-01-05 21:50:25 +01:00
Christian Schabesberger
27d06eaa6b removed hardcoded string, and add licece to some files. 2016-01-05 21:41:55 +01:00
Christian Schabesberger
7f32857e00 buxfix 2016-01-05 21:23:16 +01:00
chschtsch
2f060f0f52 merging with eb0df2b 2016-01-05 23:16:50 +03:00
chschtsch
f89d405226 merging with eb0df2b 2016-01-05 23:13:52 +03:00
chschtsch
fd4459e570 Merge branch 'master' of github.com:theScrabi/NewPipe 2016-01-05 23:12:22 +03:00
Christian Schabesberger
eb0df2b101 set download path on startup 2016-01-05 21:11:15 +01:00
chschtsch
6c178cfb7e add back missing like button margin 2016-01-05 23:09:15 +03:00
chschtsch
8ced68430d update resources names to match naming convention & cleanup & start working on themes 2016-01-05 22:56:40 +03:00
Aitor Beriain
0aade598ff Translated using Weblate (Basque)
Currently translated at 100.0% (53 of 53 strings)
2016-01-04 20:02:01 +01:00
Aitor Beriain
95949fd1ab Translated using Weblate (Basque)
Currently translated at 100% (0 of 0 strings)

Created new translation.
2016-01-04 19:35:11 +01:00
naofum
1a56382112 Translated using Weblate (Japanese)
Currently translated at 100.0% (53 of 53 strings)
2016-01-04 11:51:32 +01:00
Adam Howard
d610e4b19b minor code tweaks to BackgroundPlayer 2016-01-04 01:51:24 +00:00
Adam Howard
fc44d9e36e Merge branch 'master' of github.com:theScrabi/NewPipe 2016-01-04 01:15:33 +00:00
Adam Howard
c07686576a possible fix for expandedView bug in BackgroundPlayer 2016-01-04 01:15:13 +00:00
Weblate
c2400aea4d Merge remote-tracking branch 'origin/master' 2016-01-04 00:11:51 +01:00
Benedikt Geißler
fb4bf0dde4 Translated using Weblate (German)
Currently translated at 98.1% (52 of 53 strings)
2016-01-04 00:11:51 +01:00
Christian Schabesberger
e4f638d1ce Merge branch 'master' of github.com:theScrabi/NewPipe 2016-01-04 00:11:00 +01:00
Christian Schabesberger
5c492c01a1 adjusted orbot support and moved on to 0.7.2 2016-01-04 00:10:51 +01:00
M2ck
f451e11f82 Translated using Weblate (French)
Currently translated at 100.0% (53 of 53 strings)
2016-01-03 20:55:44 +01:00
Adam Howard
95b73f35f7 Merge branch 'master' of github.com:theScrabi/NewPipe 2016-01-03 19:44:13 +00:00
Adam Howard
58147e9e12 removed commented code in BackgroundPlayer 2016-01-03 19:44:04 +00:00
Christian Schabesberger
a8830e2ede preference screen previews set values 2016-01-03 19:55:04 +01:00
Mladen Pejaković
9804bb95cc Translated using Weblate (Serbian)
Currently translated at 100.0% (53 of 53 strings)
2016-01-03 19:12:16 +01:00
Christian Schabesberger
0da1aef763 Merge pull request #136 from eighthave/tor-support-for-all-except-streaming
Tor support for all except streaming
2016-01-03 17:40:02 +01:00
M2ck
0a334804a3 Translated using Weblate (French)
Currently translated at 100.0% (51 of 51 strings)
2016-01-03 16:56:51 +01:00
naofum
94d2f03e9b Translated using Weblate (Japanese)
Currently translated at 100.0% (51 of 51 strings)
2016-01-03 10:31:40 +01:00
Hans-Christoph Steiner
9127f7f0c2 make progress notification for Tor downloader (closes #39) 2016-01-03 00:04:55 +01:00
Hans-Christoph Steiner
0bb0226bc2 download files via Tor when Tor is enabled
DownloadManager does not let you set its proxy or change how it connects to
the internet.  So we have to make a custom one, unfortunately.  This is a
very basic downloader with none of the special sauce that makes the
built-in DownloadManager handy.
2016-01-02 22:47:21 +01:00
Hans-Christoph Steiner
b3a1a5dcc2 Android provides global vars for the actual download directories 2016-01-02 21:53:48 +01:00
Hans-Christoph Steiner
984dd1cc25 checking on "Use Tor" when Orbot is not installed starts install
If the user turns on "Use Tor" and they are missing Orbot, bring them to
the screen to install Tor.
2016-01-02 21:21:34 +01:00
Hans-Christoph Steiner
5663e543a4 whenever an Activity resumes and tor is enabled, request it start
This makes sure that Orbot is running when the user expects it to be. If
NewPipe is configured to use Tor, then going to a NewPipe screen should
ensure Tor is running.
2016-01-02 21:21:34 +01:00
Hans-Christoph Steiner
d3879a0398 setup Tor at app start, and config immediately when pref is changed
This adds an Application subclass to get the onCreate() method, which is
called once at the first start up of the app, before any Activity starts.
Tor is configured there to ensure it is setup before anything happens.

This also moves the "Use Tor" pref listener to a more appropriate place.
2016-01-02 21:21:34 +01:00
Hans-Christoph Steiner
6bd2468d44 if Orbot is installed, then default to using Tor
If the user has not changed the "Use Tor" preference, then the default
should be to use Tor if Orbot is installed. The user can still override it
by going an unchecking "Use Tor".
2016-01-02 21:21:34 +01:00
Hans-Christoph Steiner
e63d43151b add a title plus summary to "Use Tor" preference 2016-01-02 21:21:33 +01:00
Hans-Christoph Steiner
0265da4ae6 use HttpsURLConnections since youtube.com always uses HTTPS
This helps enforce that the connection is encrypted. If for whatever reason
an unencrypted connection is created, an Exception will be thrown.
2016-01-02 21:21:28 +01:00
GDR!
ef255d12ae Test tor code 2016-01-02 20:22:05 +01:00
Matej U
eeb612f9a2 Translated using Weblate (Slovenian)
Currently translated at 100.0% (51 of 51 strings)
2016-01-02 19:48:51 +01:00
Mladen Pejaković
dfcb4edb81 Translated using Weblate (Serbian)
Currently translated at 100.0% (51 of 51 strings)
2016-01-02 18:04:01 +01:00
Christian Schabesberger
d3500e9036 removed onion routing from readme 2016-01-02 17:41:33 +01:00
Christian Schabesberger
adcb8c6469 add c3s thumbnail and moved on to 0.7.1 2016-01-02 17:40:58 +01:00
Christian Schabesberger
592eee7d3d Merge pull request #134 from eighthave/intent-filters-and-other-fixes
Intent filters and other fixes
2016-01-02 16:18:56 +01:00
Christian Schabesberger
7dadb2b26c fixed close notification problem 2016-01-02 16:08:18 +01:00
Hans-Christoph Steiner
7cbb135f28 include Tibetan as a language option
The Tibetan alphabet was only recently included on Android, so the language
name needs to also have the English there.  Otherwise it'll appear blank
on devices without Tibetan.
2016-01-02 12:15:56 +01:00
Hans-Christoph Steiner
966ac0673c gradle.properties is only commented out defaults, so remove from git
For anyone who tweaks this file for local settings, it becomes painful
to have it committed in git because those changes which are only
relevant to the local setup will show up in git as changed.
2016-01-02 01:35:29 +01:00
Hans-Christoph Steiner
d715eae0d1 route video downloads to "Movies" and audio to "Music"
use the standard Android folders when downloading files.
2016-01-02 01:34:18 +01:00
Hans-Christoph Steiner
ccdd13d136 youtube URLs can also come from media searches and NFC sends 2016-01-02 00:15:27 +01:00
Hans-Christoph Steiner
efe5de4c75 support youtube's custom URL schemes (vnd.youtube: and vnd.youtube.launch:) 2016-01-02 00:15:27 +01:00
Hans-Christoph Steiner
2a93e9bd2e precisely target these URLs https://www.youtube.com/watch?v=mS1gstS6YS8
These URLs have a Path that always starts with "/watch" so no need for a
pattern.  Also, everything after the "?" is considered the "Query String",
not the Path.  Anything after a "#" is the "Feature String".  The path
matching in IntentFilters only see the Path, and nothing from the "Query
String" or "Feature String".

these are the available kinds of URLs:
https://developer.apple.com/library/ios/featuredarticles/iPhoneURLScheme_Reference/YouTubeLinks/YouTubeLinks.html
2016-01-02 00:15:27 +01:00
Hans-Christoph Steiner
28dd53ae50 support another youtube URL format: https://www.youtube.com/v/mS1gstS6YS8
https://developer.apple.com/library/ios/featuredarticles/iPhoneURLScheme_Reference/YouTubeLinks/YouTubeLinks.html
2016-01-02 00:15:27 +01:00
Hans-Christoph Steiner
3c1e64d8dc simplify youtube URL IntentFilters
Each <data> elements applies to the whole IntentFilter, so there is no need
to declare the host, scheme, etc. multiple times within a single
IntentFilter.

Also, pathPrefix="/" will match all paths, so it is unnecessary.
2016-01-02 00:15:27 +01:00
Hans-Christoph Steiner
4fe3cb2bca use symlinks to provide alternate folders for Hebrew and Indonesian
These two languages must be included twice (iw/he and id/in)

For a full discussion of why, see:
https://gitlab.com/fdroid/fdroidclient/issues/139
https://stackoverflow.com/questions/5074769/cyanogenmod-translate-a-project/8470980#8470980
https://stackoverflow.com/questions/8393771/android-not-using-finding-my-hebrew-localization

I included a blank placeholder file for Indonesian, it can be simply
replaced by the real one, whenever that comes along.
2016-01-02 00:15:27 +01:00
Hans-Christoph Steiner
b31490c4e3 make all strings translatable 2016-01-02 00:14:35 +01:00
Hans-Christoph Steiner
5533f6ba86 use the standard "Movies" folder for downloads
On all of the devices that I've checked, there is a folder called "Movies"
on the SD Card by default.  NewPipe should use that standard location
since it is always downloading movies :).  People can always change that
via the preferences.

Also, this makes the defaults the same when creating the dir and when
setting the destination URL.
2016-01-02 00:14:11 +01:00
Weblate
8aa5f87a1c Merge remote-tracking branch 'origin/master' 2016-01-01 15:47:36 +01:00
Greg
6deb674377 Translated using Weblate (Hebrew)
Currently translated at 16.6% (8 of 48 strings)
2016-01-01 15:47:36 +01:00
Christian Schabesberger
12d1d998a3 Merge pull request #133 from eighthave/panic-button-support
allow "panic button" apps to wipe activity
2016-01-01 15:47:32 +01:00
Christian Schabesberger
d90162d06f ugly workaround for GEMA test failing 2016-01-01 15:43:06 +01:00
Christian Schabesberger
97c924341c inital YoutubeExtractor test 2016-01-01 15:26:03 +01:00
Hans-Christoph Steiner
e91fc225e1 after receiving panic trigger, quit remove from history
This makes the app fully exit, and removes it from the Recent Apps listing
with the goal of hiding whatever the user was currently watching, and/or
searching for.

PanicKit provides a common framework for creating "panic button" apps that
can trigger actions in "panic responder" apps.  In this case, the response
is to lock the app, if it has been configured to do so

https://dev.guardianproject.info/projects/panic/wiki
2015-12-31 21:53:14 +01:00
M2ck
43149fd832 Translated using Weblate (French)
Currently translated at 100.0% (48 of 48 strings)
2015-12-31 10:27:52 +01:00
Greg
78df579703 Translated using Weblate (Hebrew)
Currently translated at 100% (0 of 0 strings)

Created new translation.
2015-12-29 21:45:44 +01:00
Greg
f61b915894 Translated using Weblate (Russian)
Currently translated at 100.0% (48 of 48 strings)
2015-12-29 21:45:08 +01:00
Christian Schabesberger
cd3f405bff slightly improved YoutubeSearchEngineTest 2015-12-29 21:41:10 +01:00
Christian Schabesberger
7cfdca7a81 remove failing test again 2015-12-29 21:28:27 +01:00
Christian Schabesberger
216063dba8 test if CI failes on failing test 2015-12-29 21:16:18 +01:00
Christian Schabesberger
b647bacd72 add testcase for YoutubeSearchEngine 2015-12-29 21:05:02 +01:00
Christian Schabesberger
4f77937e3e Merge pull request #131 from chschtsch/refactor
refactor localization
2015-12-29 19:14:55 +01:00
chschtsch
48e299b2ac code cleanup 2015-12-29 17:53:24 +03:00
chschtsch
40f00af196 refactor localization 2015-12-29 17:35:51 +03:00
Christian Schabesberger
bd6cc22e63 small hacky error handling refactoring, and add link to c3s 2015-12-28 00:32:38 +01:00
naofum
8760792426 Translated using Weblate (Japanese)
Currently translated at 100.0% (48 of 48 strings)
2015-12-26 12:33:33 +01:00
Christian Schabesberger
870b0bf7aa Merge pull request #127 from 912d/download-directory
Added visible notification after succesful download
2015-12-25 21:27:45 +01:00
Jacek Musiał
afd0bd4318 Added visible notification after succesful downloads
After succesful download, notification will stay in notification bar. I
used "VISIBILITY_VISIBLE_NOTIFY_COMPLETED"  key.
2015-12-25 19:28:09 +01:00
Jacek Musiał
f829ac1d34 Merge remote-tracking branch 'refs/remotes/theScrabi/master' into download-directory 2015-12-25 19:25:13 +01:00
Christian Schabesberger
86a0177855 Merge pull request #126 from Adam77Root/master
Fix view count parsing for large numbers
2015-12-25 16:02:10 +01:00
Adam77Root
718d4fd0bd Fix view count parsing for large numbers 2015-12-25 15:03:11 +01:00
Mladen Pejaković
365137c32b Translated using Weblate (Serbian)
Currently translated at 100.0% (48 of 48 strings)
2015-12-25 00:22:26 +01:00
Christian Schabesberger
e83ca0dfda some improvements for background player 2015-12-25 00:09:35 +01:00
Christian Schabesberger
6a9f6ef651 Merge pull request #123 from 912d/download-directory
Added check if directory exist and try create it
2015-12-23 23:20:42 +01:00
Jacek Musiał
99122ccc03 added check if directory exist and try create it
Also I added new variable `'final File dir`' with value of key
"download_path_preference" or externalStorageDirectory.
Firstly I check if dir exits, then eventually try to create it and next
- download file.
2015-12-23 17:52:01 +01:00
Christian Schabesberger
97923697e1 fixed small writing erros in the README 2015-12-23 14:31:57 +01:00
Greg
68888b15e0 Merge pull request #121 from chschtsch/master
fix sw600dp-land layout problem (#120)
2015-12-23 13:53:42 +03:00
Greg
f48b26067b Update README.md 2015-12-23 11:31:14 +03:00
Greg
4bf2d5837d Update and rename contributing.md to CONTRIBUTING.md 2015-12-23 11:31:11 +03:00
Weblate
4eb2d09c75 Merge remote-tracking branch 'origin/master' 2015-12-22 19:39:49 +01:00
Jack Musial
a146c1c4b6 Translated using Weblate (Polish)
Currently translated at 100.0% (47 of 47 strings)
2015-12-22 19:39:48 +01:00
Sorry Keep Me Anonymous
2f1ea9aa5d Translated using Weblate (Dutch)
Currently translated at 97.8% (46 of 47 strings)
2015-12-22 19:39:48 +01:00
Greg
a90da62deb Merge pull request #122 from rrooij/contributing_guidelines
Add contribution guidelines
2015-12-22 21:39:45 +03:00
Jack Musial
c1c3fbdf26 Translated using Weblate (Polish)
Currently translated at 100.0% (47 of 47 strings)
2015-12-22 18:50:33 +01:00
rrooij
e07a824d82 Add contribution guidelines
Contribution guidelines are a helpful way to inform new potential
contributors about the way in which they can help with the project.

It's also a helpful way to enforce some consistent coding style and
quality among the contributions.
2015-12-22 16:14:56 +01:00
chschtsch
2aff660a5b fix sw600dp-land layout problem (#120) 2015-12-22 15:11:28 +03:00
Weblate
abfcbe6f0e Merge remote-tracking branch 'origin/master' 2015-12-21 22:04:25 +01:00
Matej U
28bf72ed75 Translated using Weblate (Slovenian)
Currently translated at 100.0% (47 of 47 strings)
2015-12-21 22:04:25 +01:00
naofum
21b054d4ca Translated using Weblate (Japanese)
Currently translated at 100.0% (47 of 47 strings)
2015-12-21 22:04:25 +01:00
Greg
34f115b322 remove broken screenshot links 2015-12-22 00:04:22 +03:00
naofum
8b67354076 Translated using Weblate (Japanese)
Currently translated at 100.0% (47 of 47 strings)
2015-12-21 16:20:39 +01:00
M2ck
b62e0a8b40 Translated using Weblate (French)
Currently translated at 100.0% (47 of 47 strings)
2015-12-21 14:20:07 +01:00
Matej U
f46d5376fe Translated using Weblate (Slovenian)
Currently translated at 100.0% (47 of 47 strings)
2015-12-21 13:39:59 +01:00
Matej U
dc3640578f Translated using Weblate (Slovenian)
Currently translated at 100% (0 of 0 strings)

Created new translation.
2015-12-21 13:07:59 +01:00
Sérgio Marques
0a43494de5 Translated using Weblate (Portuguese)
Currently translated at 100.0% (47 of 47 strings)
2015-12-20 22:46:22 +01:00
Sérgio Marques
2544e45d2d Translated using Weblate (Portuguese)
Currently translated at 100% (0 of 0 strings)

Created new translation.
2015-12-20 22:37:30 +01:00
Mladen Pejaković
4a53e9e018 Translated using Weblate (Serbian)
Currently translated at 100.0% (47 of 47 strings)
2015-12-20 22:21:12 +01:00
Christian Schabesberger
9d7dc99416 Update README.md 2015-12-20 21:32:37 +01:00
Christian Schabesberger
c89dc4ba5b setup for version 0.7.0 2015-12-20 21:28:07 +01:00
Christian Schabesberger
72289ced39 Merge branch 'backgroundPlayback' 2015-12-20 18:16:28 +01:00
Christian Schabesberger
3554ccde05 small adjustment before merg 2015-12-20 18:15:48 +01:00
Christian Schabesberger
73e2c42931 Merge pull request #118 from joshsoftware/master
Adding the loading screen when user scroll through videoList.
2015-12-20 13:35:10 +01:00
Christian Schabesberger
b11778ec55 some post changes on the can't play fix. 2015-12-20 13:33:39 +01:00
Christian Schabesberger
18bc937958 fixed "Can't play this video." bug. 2015-12-20 13:26:12 +01:00
Christian Schabesberger
9f618f6678 fixed loding circle for android5+ 2015-12-20 12:48:06 +01:00
Christian Schabesberger
0c3c7493de second try of fixing the failing build 2015-12-20 02:21:14 +01:00
Christian Schabesberger
8f3f02e9f7 Update .travis.yml 2015-12-20 02:13:42 +01:00
Adam Howard
69903ba889 added preference to switch between external and internal audio players 2015-12-20 00:31:31 +00:00
Adam Howard
25c5f95ad9 added white play button icon for notification controls; pause button soon to follow.
Some checks for audioStreams being null added, along with minor semnatic restructuring of parseDashManifest()
2015-12-20 00:08:12 +00:00
Sanjiv Jha
2546d1107e Merge branch 'master' of github.com:joshsoftware/NewPipe 2015-12-19 20:19:19 +05:30
Sanjiv Jha
fdbeaf8692 Added loading footer on paginate screen 2015-12-19 20:18:28 +05:30
naofum
63c0316af2 Translated using Weblate (Japanese)
Currently translated at 100.0% (46 of 46 strings)
2015-12-18 17:10:36 +01:00
Adam Howard
f2e761c07c added reacquisition of CPU lock after resuming 2015-12-17 18:27:35 +00:00
Adam Howard
6a741de7d1 removed commented-out example code 2015-12-17 18:04:18 +00:00
Adam Howard
3e94d18fe1 removed accidental 'git merge' command from manifest 2015-12-17 18:01:24 +00:00
Adam Howard
95d3651e29 Merge branch 'master' of github.com:theScrabi/NewPipe
Conflicts:
	app/src/main/AndroidManifest.xml
2015-12-17 17:53:54 +00:00
Adam Howard
cd2d88781a implemented play/pause and cancel controls 2015-12-17 17:49:12 +00:00
Shekhar Sahu
2178e86d09 Merge branch 'master' of github.com:theScrabi/NewPipe 2015-12-16 14:58:28 +05:30
Christian Schabesberger
f9ad0f12d0 Fixed serveral things:
* ugly workaround for the details_view_layout problem on older devices
* removed "display button on the left side" option since it's not nececeay anymore.
2015-12-15 22:53:29 +01:00
M2ck
63b16d925d Translated using Weblate (French)
Currently translated at 100.0% (47 of 47 strings)
2015-12-15 14:28:58 +01:00
Greg
53b9ffcbc8 Translated using Weblate (Russian)
Currently translated at 100.0% (47 of 47 strings)
2015-12-15 14:25:10 +01:00
Shekhar Sahu
df01f41980 Merge branch 'master' of github.com:theScrabi/NewPipe 2015-12-15 17:52:33 +05:30
chschtsch
b0c40d3b09 update cards & update dimens structure 2015-12-15 17:13:43 +05:30
Christian Schabesberger
5880dcbcfd update README.md and readded (still) nececeary assets 2015-12-15 16:49:34 +05:30
Greg
489bbc45f5 Update README.md 2015-12-15 16:49:26 +05:30
chschtsch
5e67502729 add screenshots and new icon 2015-12-15 16:49:25 +05:30
Weblate
842079c928 Merge remote-tracking branch 'origin/master' 2015-12-15 11:57:58 +01:00
M2ck
b0bab07a15 Translated using Weblate (French)
Currently translated at 97.8% (46 of 47 strings)
2015-12-15 11:57:58 +01:00
chschtsch
4dbb12c65d update screenshots 2015-12-15 13:55:56 +03:00
chschtsch
db500e9791 fix layout issues & update screenshots 2015-12-15 13:45:59 +03:00
chschtsch
fd8f600fec update .travis.yml & move screenshots to separate folder 2015-12-15 13:04:51 +03:00
Luca Argentieri
2e2d7d02fb Translated using Weblate (Italian)
Currently translated at 100.0% (47 of 47 strings)
2015-12-14 23:03:17 +01:00
Luca Argentieri
d068cd7f75 Translated using Weblate (Italian)
Currently translated at 100% (0 of 0 strings)

Created new translation.
2015-12-14 22:38:11 +01:00
Christian Schabesberger
5a05ffcbdd Merge pull request #114 from chschtsch/cardview
Design update & refactoring
2015-12-14 20:24:22 +01:00
chschtsch
d8c7f50b39 minor layout fixes 2015-12-14 14:52:14 +03:00
chschtsch
988e6e1c82 update like buttons 2015-12-14 14:42:13 +03:00
chschtsch
f6af19444c update like buttons 2015-12-14 14:34:28 +03:00
chschtsch
0581e50e0c update viewlike buttons 2015-12-14 14:33:00 +03:00
chschtsch
a95da9a42d update views & dimens 2015-12-14 14:10:12 +03:00
chschtsch
be10b9750f mering with master 2015-12-14 13:44:15 +03:00
chschtsch
29a3cbc688 mering with master 2015-12-14 13:07:54 +03:00
chschtsch
4f57d3a201 merging with master 2015-12-14 13:01:34 +03:00
Christian Schabesberger
c9be1398b0 fixed green arrow layout error 2015-12-13 21:13:48 +01:00
halcyonest
30eef4db12 Translated using Weblate (Korean)
Currently translated at 100.0% (47 of 47 strings)
2015-12-13 13:51:55 +01:00
halcyonest
b932dbf514 Translated using Weblate (Korean)
Currently translated at 100% (0 of 0 strings)

Created new translation.
2015-12-13 13:40:17 +01:00
chschtsch
320ac82dea merging with master 2015-12-11 14:01:04 +03:00
Christian Schabesberger
af1b21db23 code_lint and moved on to v0.6.1 2015-12-09 23:17:29 +01:00
Christian Schabesberger
0e892ff60e code_lint 2015-12-09 22:31:24 +01:00
Christian Schabesberger
074963aee0 put progressbar on top of thumbnail and made it red 2015-12-09 22:14:22 +01:00
Christian Schabesberger
37d9be9095 put fab button on top of video thumbnail 2015-12-08 21:29:29 +01:00
Adam Howard, from my DSABang
26e36454ef merged changes from master 2015-12-03 14:39:51 +00:00
Christian Schabesberger
78b95f67eb made content scroll over thumbnail 2015-12-02 21:20:52 +01:00
chschtsch
6c63841d0c update video detail layout 2015-12-02 21:55:57 +03:00
chschtsch
6ec2d91d91 fix card margin as well 2015-12-02 17:36:20 +03:00
chschtsch
3299b90c20 better padding for landscape card 2015-12-02 17:33:58 +03:00
chschtsch
7b6d6da9a6 improve card margin & edit its dimensions for landscape 2015-12-02 17:26:20 +03:00
chschtsch
7c7c61fc35 use singleLine instead of manually setting height 2015-12-02 17:18:40 +03:00
chschtsch
c5408fb6b8 finally make card layout look good 2015-12-02 17:13:01 +03:00
chschtsch
1c49102f67 update card layout 2015-12-02 17:00:37 +03:00
chschtsch
f9dd88c1cb remove divider from listview 2015-12-02 16:29:58 +03:00
chschtsch
9ed4a65fd2 move all dimensions do dimens.xml 2015-12-02 16:23:31 +03:00
chschtsch
10bebf8a89 update cards & update dimens structure 2015-12-02 15:27:19 +03:00
chschtsch
36260dac18 tryna add cardview 2015-12-02 13:08:43 +03:00
Christian Schabesberger
2e4e993967 removed unececeary commends 2015-12-02 00:19:47 +01:00
Christian Schabesberger
ef1bfe98f7 try to fix timeout error 2015-12-02 00:11:39 +01:00
Christian Schabesberger
2e123aa617 try to get emulator running part 2 2015-12-01 23:55:07 +01:00
Christian Schabesberger
cf2ef0f2a8 try to get emulator running 2015-12-01 23:48:41 +01:00
Christian Schabesberger
520f40d862 fiexed travis build error 2015-12-01 23:16:58 +01:00
Christian Schabesberger
856bdac84b Merge branch 'master' of github.com:theScrabi/NewPipe 2015-12-01 22:32:55 +01:00
Christian Schabesberger
deb7e38fcf fixed travis.yml error 2015-12-01 22:32:44 +01:00
Weblate
e5f47a4563 Merge remote-tracking branch 'origin/master' 2015-12-01 21:56:17 +01:00
Roland Sawicki
d1b465d8be Translated using Weblate (Polish)
Currently translated at 100.0% (47 of 47 strings)
2015-12-01 21:56:17 +01:00
Christian Schabesberger
5c73b2f324 trigger first CI pull 2015-12-01 21:35:18 +01:00
Christian Schabesberger
7d3e992b3f init CI 2015-12-01 21:31:10 +01:00
Christian Schabesberger
296640930e fixed some spelling errors 2015-12-01 18:50:57 +01:00
Christian Schabesberger
1c42735e3a fixed screenshot error -.- 2015-12-01 18:37:50 +01:00
Christian Schabesberger
0800bc1790 post edit README.md 2015-12-01 18:36:39 +01:00
Christian Schabesberger
bd76a12b90 update README.md and readded (still) nececeary assets 2015-12-01 18:23:06 +01:00
Christian Schabesberger
d3daea6383 Merge pull request #107 from chschtsch/refactor
Slightly update readme file + add screenshots
2015-12-01 17:52:57 +01:00
naofum
df1acd5413 Translated using Weblate (Japanese)
Currently translated at 100.0% (47 of 47 strings)
2015-12-01 14:38:28 +01:00
Greg
0d65cc09f6 Merge pull request #9 from chschtsch/master
.
2015-12-01 12:59:16 +03:00
Greg
892b082b9e Update README.md 2015-12-01 12:58:47 +03:00
Mladen Pejaković
9069ef1325 Translated using Weblate (Serbian)
Currently translated at 100.0% (47 of 47 strings)
2015-11-30 22:24:17 +01:00
Roland Sawicki
47cc493ab5 Translated using Weblate (Polish)
Currently translated at 100.0% (47 of 47 strings)
2015-11-30 22:08:09 +01:00
Greg
f43d7837f8 Merge pull request #8 from chschtsch/refactor
Refactor
2015-11-30 23:56:14 +03:00
Greg
91921ae672 Update README.md 2015-11-30 23:55:24 +03:00
Greg
eba6afc12b Merge pull request #7 from chschtsch/master
.
2015-11-30 23:52:52 +03:00
Greg
ff826a9eeb Update README.md 2015-11-30 23:49:13 +03:00
Greg
6c01a30af5 Merge pull request #5 from chschtsch/refactor
edit screenshots
2015-11-30 23:43:09 +03:00
Greg
53f8d09d31 Merge pull request #6 from chschtsch/master
.
2015-11-30 23:42:54 +03:00
chschtsch
ae191aaafe edit screenshots 2015-11-30 23:40:44 +03:00
Greg
d1694d563b Update README.md 2015-11-30 23:40:29 +03:00
Greg
75fadf79da Delete gruese_die_gema_original.png 2015-11-30 23:38:30 +03:00
Greg
23ce5a6b1e Merge pull request #4 from chschtsch/refactor
add screenshots and new icon
2015-11-30 23:36:29 +03:00
chschtsch
bb65e2b84d add screenshots and new icon 2015-11-30 23:32:10 +03:00
Greg
aa42b1d95a Update README.md 2015-11-30 23:08:28 +03:00
Greg
32d5a18198 Update README.md 2015-11-30 23:07:07 +03:00
Greg
63faefe9c3 Update README.md 2015-11-30 23:01:55 +03:00
syl0s
a90c49d030 Translated using Weblate (German)
Currently translated at 100.0% (47 of 47 strings)
2015-11-30 20:57:19 +01:00
Christian Schabesberger
b1ef3fa4df Translated using Weblate (German)
Currently translated at 100.0% (47 of 47 strings)
2015-11-30 20:55:15 +01:00
Greg
b8cf67cba9 Merge pull request #3 from theScrabi/master
.
2015-11-30 22:53:01 +03:00
Weblate
4780e10ade Merge remote-tracking branch 'origin/master' 2015-11-30 20:51:43 +01:00
Roland Sawicki
401e606fbc Translated using Weblate (Polish)
Currently translated at 95.9% (47 of 49 strings)
2015-11-30 20:51:43 +01:00
syl0s
6b4ef8f397 Translated using Weblate (German)
Currently translated at 100.0% (49 of 49 strings)
2015-11-30 20:51:41 +01:00
Greg
7c66d07779 Merge pull request #2 from theScrabi/master
pull from theScrabi/NewPipe
2015-11-30 22:51:20 +03:00
Christian Schabesberger
92aed0cc3a add link to slack group 2015-11-30 20:48:59 +01:00
Christian Schabesberger
457b08d3cc merge strings.xml collision 2015-11-30 20:00:28 +01:00
Christian Schabesberger
1e5f6fd2b8 merge code_lint 2015-11-30 19:47:21 +01:00
Adam Howard
aebfeb98aa sync so I can clone this branch on another machine 2015-11-29 17:05:44 +00:00
Christian Schabesberger
f6974e8315 code lint 2015-11-29 13:11:56 +01:00
Xenotium
2ce6313ac1 Forgot about quotes... 2015-11-29 11:49:47 +01:00
RACER
e98a113a59 Translated using Weblate (Japanese)
Currently translated at 100.0% (49 of 49 strings)
2015-11-28 15:16:15 +01:00
Mladen Pejaković
ba7bed9c2c Translated using Weblate (Serbian)
Currently translated at 100.0% (49 of 49 strings)
2015-11-27 23:47:01 +01:00
Xenotium
c9ea451c53 Make some strings non-translatable
Apart from app name, which at the moment is the same no matter what language, there are URLs here. They shouldn't reside here but make them (and the app name) at least "translatable=false".
2015-11-27 20:51:56 +01:00
Roland Sawicki
4261ff32c7 Translated using Weblate (Polish)
Currently translated at 100% (0 of 0 strings)

Created new translation.
2015-11-27 20:10:57 +01:00
Christian Schabesberger
cb4b20af45 use format strings now 2015-11-26 20:43:16 +01:00
Christian Schabesberger
b8a27adb93 removed unused resources 2015-11-26 20:22:45 +01:00
Christian Schabesberger
15b58128f4 fiexed lint layout suggestions 2015-11-26 20:16:23 +01:00
Christian Schabesberger
237282db28 refactored VideoPlayer theme 2015-11-26 19:54:13 +01:00
Christian Schabesberger
71bb59dbb8 update gradle/libs and use Perference.Editor.apply() instead of commit() 2015-11-26 19:36:14 +01:00
Christian Schabesberger
e41c46c075 made lint ignore that parentActivityName is not compatible to sdk 15 2015-11-26 19:28:50 +01:00
Christian Schabesberger
6ca9e52f2f made lint ignore some code and layout warnings 2015-11-26 19:11:31 +01:00
Christian Schabesberger
2afee89de3 added contentDescription for better accesebility 2015-11-26 18:47:36 +01:00
Christian Schabesberger
189bee3e44 named drawable folder drawable-nodpi and moved orig. gema image to assets 2015-11-26 18:37:40 +01:00
Christian Schabesberger
6b9a4d5e0a add ellipsis character to spanish translation 2015-11-26 18:32:06 +01:00
Christian Schabesberger
451e2b2182 removed hardcoded strings 2015-11-26 18:29:00 +01:00
Christian Schabesberger
f6ff41cfb4 removed obsolete translations 2015-11-26 18:26:28 +01:00
Christian Schabesberger
d6d144c927 renamed Extractor into VideoExtractor 2015-11-26 17:29:26 +01:00
Christian Schabesberger
7f86872139 Categorized settings & moved AbstractVideoInfo into service folder 2015-11-25 21:08:19 +01:00
Adam Howard
dc0fc05a9e cleaned up BackgroundPlayer code a little 2015-11-25 17:36:01 +00:00
Adam Howard
6b2c3217ab Implemented a playback notification with a progress bar. No playback controls yet. 2015-11-25 17:18:01 +00:00
Adam Howard
0f93a45b9d reimplemented BackgroundPlayer extending Service, not IntentService. See http://stackoverflow.com/questions/17237746 and http://stackoverflow.com/questions/8690198 2015-11-25 15:19:50 +00:00
Adam Howard
943027ffdd implemented stage 1 ultra-basic background play of videos; see https://github.com/theScrabi/NewPipe/wiki/Background-Playback-Mini-Roadmap 2015-11-24 00:40:36 +00:00
Greg
5d28b2400f Merge pull request #1 from theScrabi/master
merge from theScrabi/NewPipe
2015-11-23 23:02:30 +03:00
Weblate
67324bfc80 Merge remote-tracking branch 'origin/master' 2015-11-22 13:24:52 +01:00
syl0s
3c340e7144 Translated using Weblate (German)
Currently translated at 97.8% (45 of 46 strings)
2015-11-22 13:24:51 +01:00
dostoi
c834405a92 Translated using Weblate (French)
Currently translated at 97.8% (45 of 46 strings)
2015-11-22 13:24:51 +01:00
Greg
4ee9e26847 Translated using Weblate (Dutch)
Currently translated at 100.0% (46 of 46 strings)
2015-11-22 13:24:50 +01:00
Adam Howard
94293ca9d9 Merge pull request #100 from theScrabi/refactor
+ Implemented timestamps
* renamed `VideoInfoItem` to `VideoPreviewInfo`
* Moved streaming service-related classes into their own, new package: "services"
+ Added javadoc to some classes and methods (where functionality is known well enough to explain)
- De-duplicated common fields between `VideoInfo` and `VideoPreviewInfo` by moving them into a common superclass: `AbstractVideoInfo`
- Removed 2 methods in `PlayVideoActivity` which only call `super()`, and therefore are unnecessary: `onResume()` and `onPostCreate(Bundle)`
+ Added `VideoInfo(AbstractVideoInfo)` constructor
    - to support converting `VideoPreviewInfo`s into `VideoInfo`s, to reuse scraped info (yet to be implemented)
* Made the Extractor class behave as a per-video object;
    - most method return values are video-specific, so it makes sense (to me) to have Extractor be stateful. 
    - The only stateless methods are getVideoUrl(), getVideoId() and loadDecryptionCode(String)
* Implemented a constructor for YoutubeExtractor, which performs all initialisation work, such as fetching `Jsoup.Document`, and `playerArgs:JSONObject`
2015-11-21 11:11:17 +00:00
Mladen Pejaković
b9cd9f8d35 Translated using Weblate (Serbian)
Currently translated at 100.0% (46 of 46 strings)
2015-11-20 18:45:03 +01:00
Adam Howard
812dd9282d Merge pull request #102 from chschtsch/refactor
fix bug with upload date + better way to parse it
2015-11-20 01:44:32 +00:00
chschtsch
fa1d386fcc cleanup 2015-11-20 00:52:43 +03:00
chschtsch
0392bf6a02 fix bug with upload date + better way to parse it 2015-11-20 00:49:52 +03:00
naofum
97f771ff50 Translated using Weblate (Japanese)
Currently translated at 100.0% (46 of 46 strings)
2015-11-19 16:20:26 +01:00
naofum
6adcc72a8a Translated using Weblate (Japanese)
Currently translated at 100% (0 of 0 strings)

Created new translation.
2015-11-19 16:17:28 +01:00
Adam Howard
2c11bd1889 fixed Bundle casting bug incurred during related videosdisplay 2015-11-19 14:40:35 +00:00
Adam Howard
23e0196fcc * fixed counterintuitive back button behaviour in PlayVideoActivity; see https://github.com/theScrabi/NewPipe/issues/99
* fixed a rarely-caused NullPointerException caused by a related video's view-count field being missing
2015-11-19 00:08:51 +00:00
Adam Howard
91f98c125e finished implementing timestamp, along with refactoring services
* added VideoInfo(AbstractVideoInfo) constructor, to support later implementation for reusing info scraped into VideoPreviewInfo, into VideoInfo
* Made the Extractor class behave as a per-video object;
    - most method return values are video-specific, so it makes sense (to me) to have Extractor be stateful.
    - The only stateless methods are getVideoUrl(), getVideoId() and loadDecryptionCode(String)
* Implemented a constructor for YoutubeExtractor, which performs all initialisation work
2015-11-17 22:51:27 +00:00
Adam Howard
7f01e9a4d9 Merge branch 'master' of github.com:theScrabi/NewPipe
translations
2015-11-16 23:45:42 +00:00
Adam Howard
320a4e2351 Refactoring:
* renamed VideoInfoItem to VideoPreviewInfo
* moved streaming service-related classes into their own, new package services
* added javadoc to some classes and methods (where functionality is known well enough to explain)
* De-duplicated common fields between VideoInfo and VideoPreviewInfo by moving them into a common superclass: AbstractVideoInfo
* Removed 2 methods which only call super(), and therefore are unnecessary: PlayVideoActivity.onResume() and PlayVideoActivity.onPostCreate(Bundle)
2015-11-16 23:32:00 +00:00
Weblate
0829ce51fc Merge remote-tracking branch 'origin/master' 2015-11-16 17:36:14 +01:00
Mladen Pejaković
97ec50c202 Translated using Weblate (Serbian)
Currently translated at 100.0% (46 of 46 strings)
2015-11-16 17:36:12 +01:00
Adam Howard
975a3e8103 Merge branch 'master' of github.com:theScrabi/NewPipe 2015-11-16 14:18:12 +00:00
Christian Schabesberger
658ef2ef26 Merge pull request #97 from chschtsch/master
Update design
2015-11-15 11:49:49 +01:00
chschtsch
bd1e531d7b update design 2015-11-14 21:04:14 +03:00
chschtsch
e440d1d1bd update design 2015-11-14 20:55:28 +03:00
chschtsch
2110020165 update design 2015-11-14 20:48:42 +03:00
chschtsch
dac74dc30d Merge github.com:chschtsch/NewPipe 2015-11-14 20:12:11 +03:00
chschtsch
fa4b971254 update .gitignore 2015-11-14 20:11:41 +03:00
Greg
2d31ae0baa Delete NewPipe.iml 2015-11-14 19:20:31 +03:00
chschtsch
5eebfa132f update .gitignore 2015-11-14 19:19:45 +03:00
chschtsch
522febef93 update .gitignore 2015-11-14 19:17:54 +03:00
chschtsch
a421645ea5 update fragment_videoitem_detail layout 2015-11-14 19:14:51 +03:00
chschtsch
0aac4b1347 update fragment_videoitem_detail layout 2015-11-14 19:11:08 +03:00
chschtsch
36697825cf update fragment_videoitem_detail layout 2015-11-14 19:08:13 +03:00
Adam Howard
b0182ed604 halfway through implementing timestamps:
* still need to use the start position value stored in the PlayVideoActivity's Intent bundle, to set the VideoView using seekTo()
* need to test timestamp extraction regex, and possibly move it somewhere else
*need to find a better way to get the startPosition value to ActionBarHandler, which I thought used VideoInfo objects, but apparently doesn't
    * currently there is a small setStartPosition() method
2015-11-14 11:47:21 +00:00
2114 changed files with 143219 additions and 6161 deletions

85
.github/CONTRIBUTING.md vendored Normal file
View File

@@ -0,0 +1,85 @@
NewPipe contribution guidelines
===============================
## Crash reporting
Report crashes through the **automated crash report system** of NewPipe.
This way all the data needed for debugging is included in your bugreport for GitHub.
You'll see *exactly* what is sent, be able to add **your comments**, and then send it.
## Issue reporting/feature requests
* **Already reported**? Browse the [existing issues](https://github.com/TeamNewPipe/NewPipe/issues) to make sure your issue/feature hasn't been reported/requested.
* **Already fixed**? Check whether your issue/feature is already fixed/implemented.
* **Still relevant**? Check if the issue still exists in the latest release/beta version.
* **Can you fix it**? If you are an Android/Java developer, you are always welcome to fix an issue or implement a feature yourself. PRs welcome! See [Code contribution](#code-contribution) for more info.
* **Is it in English**? Issues in other languages will be ignored unless someone translates them.
* **Is it one issue**? Multiple issues require multiple reports, that can be linked to track their statuses.
* **The template**: Fill it out, everyone wins. Your issue has a chance of getting fixed.
## Translation
* 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.
## Code contribution
### Guidelines
* Stick to NewPipe's *style conventions* of [checkStyle](https://github.com/checkstyle/checkstyle) and [ktlint](https://github.com/pinterest/ktlint). They run each time you build the project.
* Stick to [F-Droid contribution guidelines](https://f-droid.org/wiki/page/Inclusion_Policy).
* In particular **do not bring non-free software** (e.g. binary blobs) into the project. Make sure you do not introduce any closed-source library from Google.
### Before starting development
* If you want to help out with an existing bug report or feature request, **leave a comment** on that issue saying you want to try your hand at it.
* If there is no existing issue for what you want to work on, **open a new one** describing the changes you are planning to introduce. This gives the team and the community a chance to give **feedback** before you spend time on something that is already in development, should be done differently, or should be avoided completely.
* Please show **intention to maintain your features** and code after you contribute a PR. Unmaintained code is a hassle for core developers. If you do not intend to maintain features you plan to contribute, please rethink your submission, or clearly state that in the PR description.
* Create PRs that cover only **one specific issue/solution/bug**. Do not create PRs that are huge monoliths and could have been split into multiple independent contributions.
* NewPipe uses [NewPipeExtractor](https://github.com/TeamNewPipe/NewPipeExtractor) to fetch data from services. If you need to change something there, you must test your changes in NewPipe. Telling NewPipe to use your extractor version can be accomplished by editing the `app/build.gradle` file: the comments under the "NewPipe libraries" section of `dependencies` will help you out.
### Kotlin in NewPipe
* NewPipe will remain mostly Java for time being
* Contributions containing a simple conversion from Java to Kotlin should be avoided. Conversions to Kotlin should only be done if Kotlin actually brings improvements like bug fixes or better performance which are not, or only with much more effort, implementable in Java. The core team sees Java as an easier to learn and generally well adopted programming language.
### Creating a Pull Request (PR)
* Make changes on a **separate branch** with a meaningful name, not on the _master_ branch or the _dev_ branch. This is commonly known as *feature branch workflow*. You may then send your changes as a pull request (PR) on GitHub.
* Please **test** (compile and run) your code before submitting changes! Ideally, provide test feedback in the PR description. Untested code will **not** be merged!
* Respond if someone requests changes or otherwise raises issues about your PRs.
* Try to figure out yourself why builds on our CI fail.
* Make sure your PR is **up-to-date** with the rest of the code. Often, a simple click on "Update branch" will do the job, but if not, you must *rebase* your branch on the `dev` branch manually and resolve the conflicts on your own. You can find help [on the wiki](https://github.com/TeamNewPipe/NewPipe/wiki/How-to-merge-a-PR). Doing this makes the maintainers' job way easier.
## IDE setup & building the app
### Basic setup
NewPipe is developed using [Android Studio](https://developer.android.com/studio/). Learn more about how to install it and how it works in the [official documentation](https://developer.android.com/studio/intro). In particular, make sure you have accepted Android Studio's SDK licences. Once Android Studio is ready, setting up the NewPipe project is fairly simple:
- Clone the NewPipe repository with `git clone https://github.com/TeamNewPipe/NewPipe.git` (or use the link from your own fork, if you want to open a PR).
- Open the folder you just cloned with Android Studio.
- Build and run it just like you would do with any other app, with the green triangle in the top bar.
You may find [SonarLint](https://www.sonarlint.org/intellij)'s **inspections** useful in helping you to write good code and prevent bugs.
### checkStyle setup
The [checkStyle](https://github.com/checkstyle/checkstyle) plugin verifies that Java code abides by the project style. It runs automatically each time you build the project. If you want to view errors directly in the editor, instead of having to skim through the build output, you can install an Android Studio plugin:
- 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.
- 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.
- Click `Ok` and you are done.
### ktlint setup
The [ktlint](https://github.com/pinterest/ktlint) plugin does the same job as checkStyle for Kotlin files. Installing the related plugin is as simple as going to `File -> Settings -> Plugins`, searching for `ktlint` and installing `Ktlint (unofficial)`.
## Communication
* The #newpipe channel on Libera Chat (`ircs://irc.libera.chat:6697/newpipe`) has the core team and other developers in it. [Click here for webchat](https://web.libera.chat/#newpipe)!
* You can also use a Matrix account to join the NewPipe channel at [#newpipe:libera.chat](https://matrix.to/#/#newpipe:libera.chat). Some convenient clients, available both for phone and desktop, are listed at that link.
* You can post your suggestions, changes, ideas etc. on either GitHub or IRC.

2
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1,2 @@
liberapay: TeamNewPipe
custom: 'https://newpipe.net/donate/'

113
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@@ -0,0 +1,113 @@
name: Bug report
description: Create a bug report to help us improve
labels: [bug]
body:
- type: markdown
attributes:
value: |
Thank you for helping to make NewPipe better by reporting a bug. :hugs:
Please fill in as much information as possible about your bug so that we don't have to play "information ping-pong" and can help you immediately.
- type: checkboxes
id: checklist
attributes:
label: "Checklist"
options:
- label: "I am able to reproduce the bug with the [latest version](https://github.com/TeamNewPipe/NewPipe/releases/latest)."
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 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."
required: true
- label: "I have read and understood the [contribution guidelines](https://github.com/TeamNewPipe/NewPipe/blob/dev/.github/CONTRIBUTING.md)."
required: true
- type: input
id: app-version
attributes:
label: Affected version
description: "In which NewPipe version did you encounter the bug?"
placeholder: "x.xx.x - Can be seen in the app from the 'About' section in the sidebar"
validations:
required: true
- type: textarea
id: steps-to-reproduce
attributes:
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 '...'
2. Press on '....'
3. Swipe down to '....'
validations:
required: true
- type: textarea
id: expected-behavior
attributes:
label: Expected behavior
description: |
Tell us what you expect to happen.
- type: textarea
id: actual-behavior
attributes:
label: Actual behavior
description: |
Tell us what happens with the steps given above.
- type: textarea
id: screen-media
attributes:
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.
- type: textarea
id: logs
attributes:
label: Logs
description: |
If your bug includes a crash (where you're shown the Error Report page with a bunch of info), tap on "Copy formatted report" at the bottom and paste it here.
- type: input
id: device-os-info
attributes:
label: Affected Android/Custom ROM version
description: |
With what operating system (+ version) did you encounter the bug?
placeholder: "Example: Android 12 / LineageOS 18.1"
- type: input
id: device-model-info
attributes:
label: Affected device model
description: |
On what device did you encounter the bug?
placeholder: "Example: Huawei P20 lite (ANE-LX1) / Samsung Galaxy S20"
- type: textarea
id: additional-information
attributes:
label: Additional information
description: |
Any other information you'd like to include, for instance that
* the affected device is foldable or a TV
* you have disabled all animations on your device
* your cat disabled your network connection
* ...

8
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: 💬 IRC
url: https://web.libera.chat/#newpipe
about: Chat with us via IRC for quick Q/A
- name: 💬 Matrix
url: https://matrix.to/#/#newpipe:libera.chat
about: Chat with us via Matrix for quick Q/A

View File

@@ -0,0 +1,51 @@
name: Feature request
description: Suggest an idea for this project
labels: [enhancement]
body:
- type: markdown
attributes:
value: |
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:
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."
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."
required: true
- label: "This issue contains only one feature request."
required: true
- label: "I have read and understood the [contribution guidelines](https://github.com/TeamNewPipe/NewPipe/blob/dev/.github/CONTRIBUTING.md)."
required: true
- type: textarea
id: feature-description
attributes:
label: Feature description
description: |
Explain how you want the app's look or behavior to change to suit your needs.
validations:
required: true
- type: textarea
id: why-is-the-feature-requested
attributes:
label: Why do you want this feature?
description: |
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:
label: Additional information
description: Any other information you'd like to include, for instance sketches, mockups, pictures of cats, etc.

35
.github/ISSUE_TEMPLATE/question.yml vendored Normal file
View File

@@ -0,0 +1,35 @@
name: Question
description: Ask about anything NewPipe-related
labels: [question]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this issue! :hugs:
Note that you can also ask questions on our [IRC channel](https://web.libera.chat/#newpipe).
- type: checkboxes
id: checklist
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."
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
- label: "I have read and understood the [contribution guidelines](https://github.com/TeamNewPipe/NewPipe/blob/dev/.github/CONTRIBUTING.md)."
required: true
- type: textarea
id: what-is-the-question
attributes:
label: What is/are your question(s)?
validations:
required: true
- type: textarea
id: additional-information
attributes:
label: Additional information
description: Any other information you'd like to include, for instance sketches, mockups, pictures of cats, etc.

34
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,34 @@
<!-- Hey there. Thank you so much for improving NewPipe, and filling out the details. Having roughly the same layout helps everyone considerably :)-->
#### What is it?
- [ ] Bugfix (user facing)
- [ ] Feature (user facing)
- [ ] Codebase improvement (dev facing)
- [ ] Meta improvement to the project (dev facing)
#### Description of the changes in your PR
<!-- While bullet points are the norm in this section, feel free to write free-form text instead of a list -->
- record videos
- create clones
- take over the world
#### Before/After Screenshots/Screen Record
<!-- If your PR changes the app's UI in any way, please include screenshots or a video showing exactly what changed, so that developers and users can pinpoint it easily. Delete this if it doesn't apply to your PR.-->
- Before:
- After:
#### Fixes the following issue(s)
<!-- Prefix issues with "Fixes" so that GitHub closes them when the PR is merged (note that each "Fixes #" should be in its own item). Also add any other relevant links. -->
- Fixes #
#### Relies on the following changes
<!-- Delete this if it doesn't apply to your PR. -->
-
#### 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.
#### Due diligence
- [ ] I read the [contribution guidelines](https://github.com/TeamNewPipe/NewPipe/blob/HEAD/.github/CONTRIBUTING.md).

116
.github/workflows/ci.yml vendored Normal file
View File

@@ -0,0 +1,116 @@
name: CI
on:
workflow_dispatch:
pull_request:
branches:
- dev
- master
paths-ignore:
- 'README.md'
- 'doc/**'
- 'fastlane/**'
- 'assets/**'
- '.github/**/*.md'
- '.github/FUNDING.yml'
- '.github/ISSUE_TEMPLATE/**'
push:
branches:
- dev
- master
paths-ignore:
- 'README.md'
- 'doc/**'
- 'fastlane/**'
- 'assets/**'
- '.github/**/*.md'
- '.github/FUNDING.yml'
- '.github/ISSUE_TEMPLATE/**'
jobs:
build-and-test-jvm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- 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 }}
- name: set up JDK 11
uses: actions/setup-java@v2
with:
java-version: 11
distribution: "temurin"
cache: 'gradle'
- name: Build debug APK and run jvm tests
run: ./gradlew assembleDebug lintDebug testDebugUnitTest --stacktrace -DskipFormatKtlint
- name: Upload APK
uses: actions/upload-artifact@v2
with:
name: app
path: app/build/outputs/apk/debug/*.apk
test-android:
# macos has hardware acceleration. See android-emulator-runner action
runs-on: macos-latest
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
- name: set up JDK 11
uses: actions/setup-java@v2
with:
java-version: 11
distribution: "temurin"
cache: 'gradle'
- name: Run android tests
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
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
if: failure()
with:
name: android-test-report-api${{ matrix.api-level }}
path: app/build/reports/androidTests/connected/**
sonar:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
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
with:
java-version: 11 # Sonar requires JDK 11
distribution: "temurin"
cache: 'gradle'
- name: Cache SonarCloud packages
uses: actions/cache@v2
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- name: Build and analyze
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: ./gradlew build sonarqube --info

130
.github/workflows/image-minimizer.js vendored Normal file
View File

@@ -0,0 +1,130 @@
/*
* Script for minimizing big images (jpg,gif,png) when they are uploaded to GitHub and not edited otherwise
*/
module.exports = async ({github, context}) => {
const IGNORE_KEY = '<!-- IGNORE IMAGE MINIFY -->';
const IGNORE_ALT_NAME_END = 'ignoreImageMinify';
// Targeted maximum height
const IMG_MAX_HEIGHT_PX = 600;
// maximum width of GitHub issues/comments
const IMG_MAX_WIDTH_PX = 800;
// all images that have a lower aspect ratio (-> have a smaller width) than this will be minimized
const MIN_ASPECT_RATIO = IMG_MAX_WIDTH_PX / IMG_MAX_HEIGHT_PX
// Get the body of the image
let initialBody = null;
if (context.eventName == 'issue_comment') {
initialBody = context.payload.comment.body;
} else if (context.eventName == 'issues') {
initialBody = context.payload.issue.body;
} else {
console.log('Aborting: No body found');
return;
}
console.log(`Found body: \n${initialBody}\n`);
// Check if we should ignore the currently processing element
if (initialBody.includes(IGNORE_KEY)) {
console.log('Ignoring: Body contains IGNORE_KEY');
return;
}
// 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;
// Check if we found something
let foundSimpleImages = REGEX_IMAGE_LOOKUP.test(initialBody);
if (!foundSimpleImages) {
console.log('Found no simple images to process');
return;
}
console.log('Found at least one simple image to process');
// Require the probe lib for getting the image dimensions
const probe = require('probe-image-size');
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;
});
if (!wasMatchModified) {
console.log('Nothing was modified. Skipping update');
return;
}
// Update the corresponding element
if (context.eventName == 'issue_comment') {
console.log('Updating comment with id', context.payload.comment.id);
await github.rest.issues.updateComment({
comment_id: context.payload.comment.id,
owner: context.repo.owner,
repo: context.repo.repo,
body: newBody
})
} else if (context.eventName == 'issues') {
console.log('Updating issue', context.payload.issue.number);
await github.rest.issues.update({
issue_number: context.payload.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: newBody
});
}
// Asnyc replace function from https://stackoverflow.com/a/48032528
async function replaceAsync(str, regex, asyncFn) {
const promises = [];
str.replace(regex, (match, ...args) => {
const promise = asyncFn(match, ...args);
promises.push(promise);
});
const data = await Promise.all(promises);
return str.replace(regex, () => data.shift());
}
}

29
.github/workflows/image-minimizer.yml vendored Normal file
View File

@@ -0,0 +1,29 @@
name: Image Minimizer
on:
issue_comment:
types: [created, edited]
issues:
types: [opened, edited]
jobs:
try-minimize:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 16
- name: Install probe-image-size
run: npm i probe-image-size@7.2.3 --ignore-scripts
- name: Minimize simple images
uses: actions/github-script@v5
timeout-minutes: 3
with:
script: |
const script = require('.github/workflows/image-minimizer.js');
await script({github, context});

20
.github/workflows/no-response.yml vendored Normal file
View File

@@ -0,0 +1,20 @@
name: No Response
# Both `issue_comment` and `scheduled` event types are required for this Action
# to work properly.
on:
issue_comment:
types: [created]
schedule:
# Run daily at midnight.
- cron: '0 0 * * *'
jobs:
noResponse:
runs-on: ubuntu-latest
steps:
- uses: lee-dohm/no-response@v0.5.0
with:
token: ${{ github.token }}
daysUntilClose: 14
responseRequiredLabel: waiting-for-author

26
.gitignore vendored
View File

@@ -1,8 +1,20 @@
.gitignore
.gradle
/local.properties
.gradle/
local.properties
.DS_Store
/build
/captures
/app/app.iml
/.idea
build/
captures/
.idea/
*.iml
*~
.weblate
*.class
app/debug/
app/release/
# vscode / eclipse files
*.classpath
*.project
*.settings
bin/
.vscode/
*.code-workspace

161
README.md
View File

@@ -1,46 +1,147 @@
# NewPipe
<p align="center"><a href="https://newpipe.net"><img src="assets/new_pipe_icon_5.png" width="150"></a></p>
<h2 align="center"><b>NewPipe</b></h2>
<h4 align="center">A libre lightweight streaming frontend for Android.</h4>
[![Translation Status](https://hosted.weblate.org/widgets/NewPipe/-/svg-badge.svg)](https://hosted.weblate.org/engage/NewPipe/)
<p align="center"><a href="https://f-droid.org/packages/org.schabi.newpipe/"><img src="https://fdroid.gitlab.io/artwork/badge/get-it-on-en.svg" alt="Get it on F-Droid" height=80/></a></p>
[![NewPipe](https://f-droid.org/repo/icons/org.schabi.newpipe.5.png)](http://dasochan.nl/newpipe/)
NewPipe: A free lightweight Youtube frontend for Android.
<p align="center">
<a href="https://github.com/TeamNewPipe/NewPipe/releases" alt="GitHub release"><img src="https://img.shields.io/github/release/TeamNewPipe/NewPipe.svg" ></a>
<a href="https://www.gnu.org/licenses/gpl-3.0" alt="License: GPLv3"><img src="https://img.shields.io/badge/License-GPL%20v3-blue.svg"></a>
<a href="https://github.com/TeamNewPipe/NewPipe/actions" alt="Build Status"><img src="https://github.com/TeamNewPipe/NewPipe/workflows/CI/badge.svg?branch=dev&event=push"></a>
<a href="https://hosted.weblate.org/engage/newpipe/" alt="Translation Status"><img src="https://hosted.weblate.org/widgets/newpipe/-/svg-badge.svg"></a>
<a href="https://web.libera.chat/#newpipe" alt="IRC channel: #newpipe"><img src="https://img.shields.io/badge/IRC%20chat-%23newpipe-brightgreen.svg"></a>
<a href="https://www.bountysource.com/teams/newpipe" alt="Bountysource bounties"><img src="https://img.shields.io/bountysource/team/newpipe/activity.svg?colorB=cd201f"></a>
</p>
<hr>
<p align="center"><a href="#screenshots">Screenshots</a> &bull; <a href="#description">Description</a> &bull; <a href="#features">Features</a> &bull; <a href="#installation-and-updates">Installation and updates</a> &bull; <a href="#contribution">Contribution</a> &bull; <a href="#donate">Donate</a> &bull; <a href="#license">License</a></p>
<p align="center"><a href="https://newpipe.net">Website</a> &bull; <a href="https://newpipe.net/blog/">Blog</a> &bull; <a href="https://newpipe.net/FAQ/">FAQ</a> &bull; <a href="https://newpipe.net/press/">Press</a></p>
<hr>
[![F-Droid](https://f-droid.org/wiki/images/0/06/F-Droid-button_get-it-on.png)](https://f-droid.org/repository/browse/?fdfilter=newpipe&fdid=org.schabi.newpipe)
*Read this in other languages: [English](README.md), [Español](doc/README.es.md), [한국어](doc/README.ko.md), [Soomaali](doc/README.so.md), [Português Brasil](doc/README.pt_BR.md), [Polski](doc/README.pl.md), [日本語](doc/README.ja.md), [Română](doc/README.ro.md), [Türkçe](doc/README.tr.md), [正體中文](doc/README.zh_TW.md).*
<b>WARNING: THIS IS A BETA VERSION, THEREFORE YOU MAY ENCOUNTER BUGS. IF YOU DO, OPEN AN ISSUE VIA OUR GITHUB REPOSITORY.</b>
<b>PUTTING NEWPIPE OR ANY FORK OF IT INTO THE GOOGLE PLAY STORE VIOLATES THEIR TERMS AND CONDITIONS.</b>
## Screenshots
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_01.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_01.png)
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_02.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_02.png)
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_03.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_03.png)
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_04.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_04.png)
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_05.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_05.png)
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_06.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_06.png)
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_07.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_07.png)
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_08.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_08.png)
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_09.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_09.png)
[<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/shot_10.png" width=160>](fastlane/metadata/android/en-US/images/phoneScreenshots/shot_10.png)
[<img src="fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_11.png" width=405>](fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_11.png)
[<img src="fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_12.png" width=405>](fastlane/metadata/android/en-US/images/tenInchScreenshots/shot_12.png)
## Description
NewPipe does not use any Google framework libraries, or the YouTube API. It only parses the website in order to gain the information it needs. Therefore this app can be used on devices without G-services installed. Also NewPipe does not store data on the YouTube website (no login), and it's free software.
NewPipe does not use any Google framework libraries, nor the YouTube API. Websites are only parsed to fetch required info, so this app can be used on devices without Google services installed. Also, you don't need a YouTube account to use NewPipe, which is copylefted libre software.
## Features
### Features
* Search videos
* Display general information about a video
* Watch Youtube videos
* Listen to Youtube videos (audio only streaming)
* Select the streaming player to watch the video with
* Download videos (working, but it could be better)
* Download audio only (working but, but it could be better)
* No Login Required
* Display general info about videos
* Watch YouTube videos
* Listen to YouTube videos
* Popup mode (floating player)
* Select streaming player to watch video with
* Download videos
* Download audio only
* Open a video in Kodi
* Show Next/Related videos
* Search Youtube in a specific language
## Coming Features
* Improved Downloading
* Bookmarks
* View history
* Search history
* Show next/related videos
* Search YouTube in a specific language
* Watch/Block age restricted material
* Display general info about channels
* Search channels
* Display general information about channels
* Subscribe to channels
* Watch videos from a channel
* Search/Watch Playlists
* ... and many more
* Orbot/Tor support (not yet directly)
* 1080p/2K/4K support
* View history
* Subscribe to channels
* Search history
* Search/watch playlists
* Watch as enqueued playlists
* Enqueue videos
* Local playlists
* Subtitles
* Livestream support
* Show comments
### Multi service support
Generally NewPipe is designed to not only support YouTube, but many more streaming services. However, right now NewPipe is not stable enough to support more than only YouTube. But if all works as planned, NewPipe will get such support by the version 2.0.
### Supported Services
# Help is always welcome !!!
Whether it's about ideas, translation, design changes, code cleaning, or real heavy code changes. Help is always welcome.
NewPipe supports multiple services. Our [docs](https://teamnewpipe.github.io/documentation/) provide more info on how a new service can be added to the app and the extractor. Please get in touch with us if you intend to add a new one. Currently supported services are:
* YouTube
* SoundCloud \[beta\]
* media.ccc.de \[beta\]
* PeerTube instances \[beta\]
* Bandcamp \[beta\]
<!-- Hidden span to keep old links compatible. -->
<span id="updates"></span>
## Installation and updates
You can install NewPipe using one of the following methods:
1. Add our custom repo to F-Droid and install it from there. The instructions are here: https://newpipe.net/FAQ/tutorials/install-add-fdroid-repo/
2. Download the APK from [GitHub Releases](https://github.com/TeamNewPipe/NewPipe/releases) and install it.
3. Update via F-Droid. This is the slowest method of getting updates, as F-Droid must recognize changes, build the APK itself, sign it, then push the update to users.
4. Build a debug APK yourself. This is the fastest way to get new features on your device, but is much more complicated, so we recommend using one of the other methods.
We recommend method 1 for most users. APKs installed using method 1 or 2 are compatible with each other, but not with those installed using method 3. This is due to the same signing key (ours) being used for 1 and 2, but a different signing key (F-Droid's) being used for 3. Building a debug APK using method 4 excludes a key entirely. Signing keys help ensure that a user isn't tricked into installing a malicious update to an app.
In the meanwhile, if you want to switch sources for some reason (e.g. NewPipe's core functionality breaks and F-Droid doesn't have the latest update yet), we recommend following this procedure:
1. Back up your data via Settings > Content > Export Database so you keep your history, subscriptions, and playlists
2. Uninstall NewPipe
3. Download the APK from the new source and install it
4. Import the data from step 1 via Settings > Content > Import Database
## Contribution
Whether you have ideas, translations, design changes, code cleaning, or real heavy code changes, help is always welcome.
The more is done the better it gets!
If you'd like to get involved, check our [contribution notes](.github/CONTRIBUTING.md).
<a href="https://hosted.weblate.org/engage/newpipe/">
<img src="https://hosted.weblate.org/widgets/newpipe/-/287x66-grey.png" alt="Translation status" />
</a>
## Donate
If you like NewPipe we'd be happy about a donation. You can either send bitcoin or donate via Bountysource or Liberapay. For further info on donating to NewPipe, please visit our [website](https://newpipe.net/donate).
<table>
<tr>
<td><img src="https://bitcoin.org/img/icons/logotop.svg" alt="Bitcoin"></td>
<td><img src="assets/bitcoin_qr_code.png" alt="Bitcoin QR code" width="100px"></td>
<td><samp>16A9J59ahMRqkLSZjhYj33n9j3fMztFxnh</samp></td>
</tr>
<tr>
<td><a href="https://liberapay.com/TeamNewPipe/"><img src="https://upload.wikimedia.org/wikipedia/commons/2/27/Liberapay_logo_v2_white-on-yellow.svg" alt="Liberapay" width="80px" ></a></td>
<td><a href="https://liberapay.com/TeamNewPipe/"><img src="assets/liberapay_qr_code.png" alt="Visit NewPipe at liberapay.com" width="100px"></a></td>
<td><a href="https://liberapay.com/TeamNewPipe/donate"><img src="assets/liberapay_donate_button.svg" alt="Donate via Liberapay" height="35px"></a></td>
</tr>
<tr>
<td><a href="https://www.bountysource.com/teams/newpipe"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/2/22/Bountysource.png/320px-Bountysource.png" alt="Bountysource" width="190px"></a></td>
<td><a href="https://www.bountysource.com/teams/newpipe"><img src="assets/bountysource_qr_code.png" alt="Visit NewPipe at bountysource.com" width="100px"></a></td>
<td><a href="https://www.bountysource.com/teams/newpipe/issues"><img src="https://img.shields.io/bountysource/team/newpipe/activity.svg?colorB=cd201f" height="30px" alt="Check out how many bounties you can earn."></a></td>
</tr>
</table>
## Privacy Policy
The NewPipe project aims to provide a private, anonymous experience for using media web services.
Therefore, the app does not collect any data without your consent. NewPipe's privacy policy explains in detail what data is sent and stored when you send a crash report, or comment in our blog. You can find the document [here](https://newpipe.net/legal/privacy/).
## License
[![GNU GPLv3 Image](https://www.gnu.org/graphics/gplv3-127x51.png)](https://www.gnu.org/licenses/gpl-3.0.en.html)
NewPipe is Free Software: You can use, study, share, and improve it at
will. Specifically you can redistribute and/or modify it under the terms of the
[GNU General Public License](https://www.gnu.org/licenses/gpl.html) as
published by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

3
app/.gitignore vendored
View File

@@ -1,3 +0,0 @@
.gitignore
/build
app.iml

View File

@@ -1,29 +1,311 @@
apply plugin: 'com.android.application'
plugins {
id "com.android.application"
id "kotlin-android"
id "kotlin-kapt"
id "kotlin-parcelize"
id "checkstyle"
id "org.sonarqube" version "3.3"
}
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
compileSdk 31
buildToolsVersion '30.0.3'
defaultConfig {
applicationId "org.schabi.newpipe"
minSdkVersion 15
targetSdkVersion 23
versionCode 6
versionName "0.6.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
resValue "string", "app_name", "NewPipe"
minSdk 19
targetSdk 29
versionCode 984
versionName "0.22.1"
multiDexEnabled true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
javaCompileOptions {
annotationProcessorOptions {
arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]
}
}
}
buildTypes {
debug {
debuggable true
// suffix the app id and the app name with git branch name
def workingBranch = getGitWorkingBranch()
def normalizedWorkingBranch = workingBranch.replaceFirst("^[^A-Za-z]+", "").replaceAll("[^0-9A-Za-z]+", "")
if (normalizedWorkingBranch.isEmpty() || workingBranch == "master" || workingBranch == "dev") {
// default values when branch name could not be determined or is master or dev
applicationIdSuffix ".debug"
resValue "string", "app_name", "NewPipe Debug"
} else {
applicationIdSuffix ".debug." + normalizedWorkingBranch
resValue "string", "app_name", "NewPipe " + workingBranch
archivesBaseName = 'NewPipe_' + normalizedWorkingBranch
}
}
// Keep the release build type at the end of the list to override 'archivesBaseName' of
// debug build. This seems to be a Gradle bug, therefore
// TODO: update Gradle version
release {
if (System.properties.containsKey('packageSuffix')) {
applicationIdSuffix System.getProperty('packageSuffix')
resValue "string", "app_name", "NewPipe " + System.getProperty('packageSuffix')
archivesBaseName = 'NewPipe_' + System.getProperty('packageSuffix')
}
minifyEnabled true
shrinkResources false // disabled to fix F-Droid's reproducible build
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
archivesBaseName = 'app'
}
}
lint {
checkReleaseBuilds false
// Or, if you prefer, you can continue to check for errors in release builds,
// but continue the build even when errors are found:
abortOnError false
// suppress false warning ("Resource IDs will be non-final in Android Gradle Plugin version
// 5.0, avoid using them in switch case statements"), which affects only library projects
disable 'NonConstantResourceId'
}
compileOptions {
// Flag to enable support for the new language APIs
coreLibraryDesugaringEnabled true
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
encoding 'utf-8'
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_11
}
sourceSets {
androidTest.assets.srcDirs += files("$projectDir/schemas".toString())
}
buildFeatures {
viewBinding true
}
}
ext {
checkstyleVersion = '9.2.1'
androidxLifecycleVersion = '2.3.1'
androidxRoomVersion = '2.3.0'
icepickVersion = '3.2.0'
exoPlayerVersion = '2.14.2'
googleAutoServiceVersion = '1.0.1'
groupieVersion = '2.10.0'
markwonVersion = '4.6.2'
leakCanaryVersion = '2.5'
stethoVersion = '1.6.0'
mockitoVersion = '4.0.0'
assertJVersion = '3.22.0'
}
configurations {
checkstyle
ktlint
}
checkstyle {
getConfigDirectory().set(rootProject.file("."))
ignoreFailures false
showViolations true
toolVersion = checkstyleVersion
}
task runCheckstyle(type: Checkstyle) {
source 'src'
include '**/*.java'
exclude '**/gen/**'
exclude '**/R.java'
exclude '**/BuildConfig.java'
exclude 'main/java/us/shandian/giga/**'
classpath = configurations.checkstyle
showViolations true
reports {
xml.getRequired().set(true)
html.getRequired().set(true)
}
}
def outputDir = "${project.buildDir}/reports/ktlint/"
def inputFiles = project.fileTree(dir: "src", include: "**/*.kt")
task runKtlint(type: JavaExec) {
inputs.files(inputFiles)
outputs.dir(outputDir)
getMainClass().set("com.pinterest.ktlint.Main")
classpath = configurations.ktlint
args "src/**/*.kt"
}
task formatKtlint(type: JavaExec) {
inputs.files(inputFiles)
outputs.dir(outputDir)
getMainClass().set("com.pinterest.ktlint.Main")
classpath = configurations.ktlint
args "-F", "src/**/*.kt"
}
afterEvaluate {
if (!System.properties.containsKey('skipFormatKtlint')) {
preDebugBuild.dependsOn formatKtlint
}
preDebugBuild.dependsOn runCheckstyle, runKtlint
}
sonarqube {
properties {
property "sonar.projectKey", "TeamNewPipe_NewPipe"
property "sonar.organization", "teamnewpipe"
property "sonar.host.url", "https://sonarcloud.io"
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:23.1.0'
compile 'com.android.support:support-v4:23.1.0'
compile 'com.android.support:design:23.1.0'
compile 'org.jsoup:jsoup:1.8.3'
compile 'org.mozilla:rhino:1.7.7'
/** Desugaring **/
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
/** NewPipe libraries **/
// You can use a local version by uncommenting a few lines in settings.gradle
// Or you can use a commit you pushed to GitHub by just replacing TeamNewPipe with your GitHub
// name and the commit hash with the commit hash of the (pushed) commit you want to test
// This works thanks to JitPack: https://jitpack.io/
implementation 'com.github.TeamNewPipe:nanojson:1d9e1aea9049fc9f85e68b43ba39fe7be1c1f751'
implementation 'com.github.TeamNewPipe:NewPipeExtractor:v0.21.14'
/** Checkstyle **/
checkstyle "com.puppycrawl.tools:checkstyle:${checkstyleVersion}"
ktlint 'com.pinterest:ktlint:0.43.2'
/** Kotlin **/
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:${kotlin_version}"
/** AndroidX **/
implementation 'androidx.appcompat:appcompat:1.3.1'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.2'
implementation 'androidx.core:core-ktx:1.6.0'
implementation 'androidx.documentfile:documentfile:1.0.1'
implementation 'androidx.fragment:fragment-ktx:1.3.6'
implementation "androidx.lifecycle:lifecycle-livedata:${androidxLifecycleVersion}"
implementation "androidx.lifecycle:lifecycle-viewmodel:${androidxLifecycleVersion}"
implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'
implementation 'androidx.media:media:1.4.3'
implementation 'androidx.multidex:multidex:2.0.1'
implementation 'androidx.preference:preference:1.1.1'
implementation 'androidx.recyclerview:recyclerview:1.2.1'
implementation "androidx.room:room-runtime:${androidxRoomVersion}"
implementation "androidx.room:room-rxjava3:${androidxRoomVersion}"
kapt "androidx.room:room-compiler:${androidxRoomVersion}"
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
// Newer version specified to prevent accessibility regressions with RecyclerView, see:
// https://developer.android.com/jetpack/androidx/releases/viewpager2#1.1.0-alpha01
implementation 'androidx.viewpager2:viewpager2:1.1.0-beta01'
implementation 'androidx.webkit:webkit:1.4.0'
implementation 'com.google.android.material:material:1.4.0'
/** Third-party libraries **/
// Instance state boilerplate elimination
implementation "frankiesardo:icepick:${icepickVersion}"
kapt "frankiesardo:icepick-processor:${icepickVersion}"
// HTML parser
implementation "org.jsoup:jsoup:1.14.3"
// HTTP client
//noinspection GradleDependency --> do not update okhttp to keep supporting Android 4.4 users
implementation "com.squareup.okhttp3:okhttp:3.12.13"
// Media player
implementation "com.google.android.exoplayer:exoplayer:${exoPlayerVersion}"
implementation "com.google.android.exoplayer:extension-mediasession:${exoPlayerVersion}"
// Metadata generator for service descriptors
compileOnly "com.google.auto.service:auto-service-annotations:${googleAutoServiceVersion}"
kapt "com.google.auto.service:auto-service:${googleAutoServiceVersion}"
// Manager for complex RecyclerView layouts
implementation "com.github.lisawray.groupie:groupie:${groupieVersion}"
implementation "com.github.lisawray.groupie:groupie-viewbinding:${groupieVersion}"
// Circular ImageView
implementation "de.hdodenhof:circleimageview:3.1.0"
// Image loading
//noinspection GradleDependency --> 2.8 is the last version, not 2.71828!
implementation "com.squareup.picasso:picasso:2.8"
// Markdown library for Android
implementation "io.noties.markwon:core:${markwonVersion}"
implementation "io.noties.markwon:linkify:${markwonVersion}"
// File picker
implementation "com.nononsenseapps:filepicker:4.2.1"
// Crash reporting
implementation "ch.acra:acra-core:5.8.4"
// Properly restarting
implementation 'com.jakewharton:process-phoenix:2.1.2'
// Reactive extensions for Java VM
implementation "io.reactivex.rxjava3:rxjava:3.0.13"
implementation "io.reactivex.rxjava3:rxandroid:3.0.0"
// RxJava binding APIs for Android UI widgets
implementation "com.jakewharton.rxbinding4:rxbinding:4.0.0"
// Date and time formatting
implementation "org.ocpsoft.prettytime:prettytime:5.0.2.Final"
/** Debugging **/
// Memory leak detection
implementation "com.squareup.leakcanary:leakcanary-object-watcher-android:${leakCanaryVersion}"
implementation "com.squareup.leakcanary:plumber-android:${leakCanaryVersion}"
debugImplementation "com.squareup.leakcanary:leakcanary-android:${leakCanaryVersion}"
// Debug bridge for Android
debugImplementation "com.facebook.stetho:stetho:${stethoVersion}"
debugImplementation "com.facebook.stetho:stetho-okhttp3:${stethoVersion}"
/** Testing **/
testImplementation 'junit:junit:4.13.2'
testImplementation "org.mockito:mockito-core:${mockitoVersion}"
testImplementation "org.mockito:mockito-inline:${mockitoVersion}"
androidTestImplementation "androidx.test.ext:junit:1.1.3"
androidTestImplementation "androidx.test:runner:1.4.0"
androidTestImplementation "androidx.room:room-testing:${androidxRoomVersion}"
androidTestImplementation "org.assertj:assertj-core:${assertJVersion}"
}
static String getGitWorkingBranch() {
try {
def gitProcess = "git rev-parse --abbrev-ref HEAD".execute()
gitProcess.waitFor()
if (gitProcess.exitValue() == 0) {
return gitProcess.text.trim()
} else {
// not a git repository
return ""
}
} catch (IOException ignored) {
// git was not found
return ""
}
}

View File

@@ -15,3 +15,39 @@
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
-dontobfuscate
-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
-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
-dontwarn icepick.**
-keep class icepick.** { *; }
-keep class **$$Icepick { *; }
-keepclasseswithmembernames class * {
@icepick.* <fields>;
}
-keepnames class * { @icepick.State *;}
# Rules for OkHttp. Copy paste 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
-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);
}

View File

@@ -0,0 +1,479 @@
{
"formatVersion": 1,
"database": {
"version": 2,
"identityHash": "b7856223e2595ddf20a3ce6243ce9527",
"entities": [
{
"tableName": "subscriptions",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `service_id` INTEGER NOT NULL, `url` TEXT, `name` TEXT, `avatar_url` TEXT, `subscriber_count` INTEGER, `description` TEXT)",
"fields": [
{
"fieldPath": "uid",
"columnName": "uid",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "serviceId",
"columnName": "service_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "url",
"columnName": "url",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "name",
"columnName": "name",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "avatarUrl",
"columnName": "avatar_url",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "subscriberCount",
"columnName": "subscriber_count",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "description",
"columnName": "description",
"affinity": "TEXT",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"uid"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_subscriptions_service_id_url",
"unique": true,
"columnNames": [
"service_id",
"url"
],
"createSql": "CREATE UNIQUE INDEX `index_subscriptions_service_id_url` ON `${TABLE_NAME}` (`service_id`, `url`)"
}
],
"foreignKeys": []
},
{
"tableName": "search_history",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `creation_date` INTEGER, `service_id` INTEGER NOT NULL, `search` TEXT)",
"fields": [
{
"fieldPath": "id",
"columnName": "id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "creationDate",
"columnName": "creation_date",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "serviceId",
"columnName": "service_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "search",
"columnName": "search",
"affinity": "TEXT",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"id"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_search_history_search",
"unique": false,
"columnNames": [
"search"
],
"createSql": "CREATE INDEX `index_search_history_search` ON `${TABLE_NAME}` (`search`)"
}
],
"foreignKeys": []
},
{
"tableName": "streams",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `service_id` INTEGER NOT NULL, `url` TEXT, `title` TEXT, `stream_type` TEXT, `duration` INTEGER, `uploader` TEXT, `thumbnail_url` TEXT)",
"fields": [
{
"fieldPath": "uid",
"columnName": "uid",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "serviceId",
"columnName": "service_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "url",
"columnName": "url",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "title",
"columnName": "title",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "streamType",
"columnName": "stream_type",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "duration",
"columnName": "duration",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "uploader",
"columnName": "uploader",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "thumbnailUrl",
"columnName": "thumbnail_url",
"affinity": "TEXT",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"uid"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_streams_service_id_url",
"unique": true,
"columnNames": [
"service_id",
"url"
],
"createSql": "CREATE UNIQUE INDEX `index_streams_service_id_url` ON `${TABLE_NAME}` (`service_id`, `url`)"
}
],
"foreignKeys": []
},
{
"tableName": "stream_history",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`stream_id` INTEGER NOT NULL, `access_date` INTEGER NOT NULL, `repeat_count` INTEGER NOT NULL, PRIMARY KEY(`stream_id`, `access_date`), FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE )",
"fields": [
{
"fieldPath": "streamUid",
"columnName": "stream_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "accessDate",
"columnName": "access_date",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "repeatCount",
"columnName": "repeat_count",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"stream_id",
"access_date"
],
"autoGenerate": false
},
"indices": [
{
"name": "index_stream_history_stream_id",
"unique": false,
"columnNames": [
"stream_id"
],
"createSql": "CREATE INDEX `index_stream_history_stream_id` ON `${TABLE_NAME}` (`stream_id`)"
}
],
"foreignKeys": [
{
"table": "streams",
"onDelete": "CASCADE",
"onUpdate": "CASCADE",
"columns": [
"stream_id"
],
"referencedColumns": [
"uid"
]
}
]
},
{
"tableName": "stream_state",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`stream_id` INTEGER NOT NULL, `progress_time` INTEGER NOT NULL, PRIMARY KEY(`stream_id`), FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE )",
"fields": [
{
"fieldPath": "streamUid",
"columnName": "stream_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "progressTime",
"columnName": "progress_time",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"stream_id"
],
"autoGenerate": false
},
"indices": [],
"foreignKeys": [
{
"table": "streams",
"onDelete": "CASCADE",
"onUpdate": "CASCADE",
"columns": [
"stream_id"
],
"referencedColumns": [
"uid"
]
}
]
},
{
"tableName": "playlists",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT, `thumbnail_url` TEXT)",
"fields": [
{
"fieldPath": "uid",
"columnName": "uid",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "name",
"columnName": "name",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "thumbnailUrl",
"columnName": "thumbnail_url",
"affinity": "TEXT",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"uid"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_playlists_name",
"unique": false,
"columnNames": [
"name"
],
"createSql": "CREATE INDEX `index_playlists_name` ON `${TABLE_NAME}` (`name`)"
}
],
"foreignKeys": []
},
{
"tableName": "playlist_stream_join",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`playlist_id` INTEGER NOT NULL, `stream_id` INTEGER NOT NULL, `join_index` INTEGER NOT NULL, PRIMARY KEY(`playlist_id`, `join_index`), FOREIGN KEY(`playlist_id`) REFERENCES `playlists`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED)",
"fields": [
{
"fieldPath": "playlistUid",
"columnName": "playlist_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "streamUid",
"columnName": "stream_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "index",
"columnName": "join_index",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"playlist_id",
"join_index"
],
"autoGenerate": false
},
"indices": [
{
"name": "index_playlist_stream_join_playlist_id_join_index",
"unique": true,
"columnNames": [
"playlist_id",
"join_index"
],
"createSql": "CREATE UNIQUE INDEX `index_playlist_stream_join_playlist_id_join_index` ON `${TABLE_NAME}` (`playlist_id`, `join_index`)"
},
{
"name": "index_playlist_stream_join_stream_id",
"unique": false,
"columnNames": [
"stream_id"
],
"createSql": "CREATE INDEX `index_playlist_stream_join_stream_id` ON `${TABLE_NAME}` (`stream_id`)"
}
],
"foreignKeys": [
{
"table": "playlists",
"onDelete": "CASCADE",
"onUpdate": "CASCADE",
"columns": [
"playlist_id"
],
"referencedColumns": [
"uid"
]
},
{
"table": "streams",
"onDelete": "CASCADE",
"onUpdate": "CASCADE",
"columns": [
"stream_id"
],
"referencedColumns": [
"uid"
]
}
]
},
{
"tableName": "remote_playlists",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `service_id` INTEGER NOT NULL, `name` TEXT, `url` TEXT, `thumbnail_url` TEXT, `uploader` TEXT, `stream_count` INTEGER)",
"fields": [
{
"fieldPath": "uid",
"columnName": "uid",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "serviceId",
"columnName": "service_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "name",
"columnName": "name",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "url",
"columnName": "url",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "thumbnailUrl",
"columnName": "thumbnail_url",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "uploader",
"columnName": "uploader",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "streamCount",
"columnName": "stream_count",
"affinity": "INTEGER",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"uid"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_remote_playlists_name",
"unique": false,
"columnNames": [
"name"
],
"createSql": "CREATE INDEX `index_remote_playlists_name` ON `${TABLE_NAME}` (`name`)"
},
{
"name": "index_remote_playlists_service_id_url",
"unique": true,
"columnNames": [
"service_id",
"url"
],
"createSql": "CREATE UNIQUE INDEX `index_remote_playlists_service_id_url` ON `${TABLE_NAME}` (`service_id`, `url`)"
}
],
"foreignKeys": []
}
],
"setupQueries": [
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, \"b7856223e2595ddf20a3ce6243ce9527\")"
]
}
}

View File

@@ -0,0 +1,707 @@
{
"formatVersion": 1,
"database": {
"version": 3,
"identityHash": "9f825b1ee281480bedd38b971feac327",
"entities": [
{
"tableName": "subscriptions",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `service_id` INTEGER NOT NULL, `url` TEXT, `name` TEXT, `avatar_url` TEXT, `subscriber_count` INTEGER, `description` TEXT)",
"fields": [
{
"fieldPath": "uid",
"columnName": "uid",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "serviceId",
"columnName": "service_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "url",
"columnName": "url",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "name",
"columnName": "name",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "avatarUrl",
"columnName": "avatar_url",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "subscriberCount",
"columnName": "subscriber_count",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "description",
"columnName": "description",
"affinity": "TEXT",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"uid"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_subscriptions_service_id_url",
"unique": true,
"columnNames": [
"service_id",
"url"
],
"createSql": "CREATE UNIQUE INDEX `index_subscriptions_service_id_url` ON `${TABLE_NAME}` (`service_id`, `url`)"
}
],
"foreignKeys": []
},
{
"tableName": "search_history",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `creation_date` INTEGER, `service_id` INTEGER NOT NULL, `search` TEXT)",
"fields": [
{
"fieldPath": "id",
"columnName": "id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "creationDate",
"columnName": "creation_date",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "serviceId",
"columnName": "service_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "search",
"columnName": "search",
"affinity": "TEXT",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"id"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_search_history_search",
"unique": false,
"columnNames": [
"search"
],
"createSql": "CREATE INDEX `index_search_history_search` ON `${TABLE_NAME}` (`search`)"
}
],
"foreignKeys": []
},
{
"tableName": "streams",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `service_id` INTEGER NOT NULL, `url` TEXT NOT NULL, `title` TEXT NOT NULL, `stream_type` TEXT NOT NULL, `duration` INTEGER NOT NULL, `uploader` TEXT NOT NULL, `thumbnail_url` TEXT, `view_count` INTEGER, `textual_upload_date` TEXT, `upload_date` INTEGER, `is_upload_date_approximation` INTEGER)",
"fields": [
{
"fieldPath": "uid",
"columnName": "uid",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "serviceId",
"columnName": "service_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "url",
"columnName": "url",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "title",
"columnName": "title",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "streamType",
"columnName": "stream_type",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "duration",
"columnName": "duration",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "uploader",
"columnName": "uploader",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "thumbnailUrl",
"columnName": "thumbnail_url",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "viewCount",
"columnName": "view_count",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "textualUploadDate",
"columnName": "textual_upload_date",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "uploadDate",
"columnName": "upload_date",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "isUploadDateApproximation",
"columnName": "is_upload_date_approximation",
"affinity": "INTEGER",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"uid"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_streams_service_id_url",
"unique": true,
"columnNames": [
"service_id",
"url"
],
"createSql": "CREATE UNIQUE INDEX `index_streams_service_id_url` ON `${TABLE_NAME}` (`service_id`, `url`)"
}
],
"foreignKeys": []
},
{
"tableName": "stream_history",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`stream_id` INTEGER NOT NULL, `access_date` INTEGER NOT NULL, `repeat_count` INTEGER NOT NULL, PRIMARY KEY(`stream_id`, `access_date`), FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE )",
"fields": [
{
"fieldPath": "streamUid",
"columnName": "stream_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "accessDate",
"columnName": "access_date",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "repeatCount",
"columnName": "repeat_count",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"stream_id",
"access_date"
],
"autoGenerate": false
},
"indices": [
{
"name": "index_stream_history_stream_id",
"unique": false,
"columnNames": [
"stream_id"
],
"createSql": "CREATE INDEX `index_stream_history_stream_id` ON `${TABLE_NAME}` (`stream_id`)"
}
],
"foreignKeys": [
{
"table": "streams",
"onDelete": "CASCADE",
"onUpdate": "CASCADE",
"columns": [
"stream_id"
],
"referencedColumns": [
"uid"
]
}
]
},
{
"tableName": "stream_state",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`stream_id` INTEGER NOT NULL, `progress_time` INTEGER NOT NULL, PRIMARY KEY(`stream_id`), FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE )",
"fields": [
{
"fieldPath": "streamUid",
"columnName": "stream_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "progressTime",
"columnName": "progress_time",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"stream_id"
],
"autoGenerate": false
},
"indices": [],
"foreignKeys": [
{
"table": "streams",
"onDelete": "CASCADE",
"onUpdate": "CASCADE",
"columns": [
"stream_id"
],
"referencedColumns": [
"uid"
]
}
]
},
{
"tableName": "playlists",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT, `thumbnail_url` TEXT)",
"fields": [
{
"fieldPath": "uid",
"columnName": "uid",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "name",
"columnName": "name",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "thumbnailUrl",
"columnName": "thumbnail_url",
"affinity": "TEXT",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"uid"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_playlists_name",
"unique": false,
"columnNames": [
"name"
],
"createSql": "CREATE INDEX `index_playlists_name` ON `${TABLE_NAME}` (`name`)"
}
],
"foreignKeys": []
},
{
"tableName": "playlist_stream_join",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`playlist_id` INTEGER NOT NULL, `stream_id` INTEGER NOT NULL, `join_index` INTEGER NOT NULL, PRIMARY KEY(`playlist_id`, `join_index`), FOREIGN KEY(`playlist_id`) REFERENCES `playlists`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED)",
"fields": [
{
"fieldPath": "playlistUid",
"columnName": "playlist_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "streamUid",
"columnName": "stream_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "index",
"columnName": "join_index",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"playlist_id",
"join_index"
],
"autoGenerate": false
},
"indices": [
{
"name": "index_playlist_stream_join_playlist_id_join_index",
"unique": true,
"columnNames": [
"playlist_id",
"join_index"
],
"createSql": "CREATE UNIQUE INDEX `index_playlist_stream_join_playlist_id_join_index` ON `${TABLE_NAME}` (`playlist_id`, `join_index`)"
},
{
"name": "index_playlist_stream_join_stream_id",
"unique": false,
"columnNames": [
"stream_id"
],
"createSql": "CREATE INDEX `index_playlist_stream_join_stream_id` ON `${TABLE_NAME}` (`stream_id`)"
}
],
"foreignKeys": [
{
"table": "playlists",
"onDelete": "CASCADE",
"onUpdate": "CASCADE",
"columns": [
"playlist_id"
],
"referencedColumns": [
"uid"
]
},
{
"table": "streams",
"onDelete": "CASCADE",
"onUpdate": "CASCADE",
"columns": [
"stream_id"
],
"referencedColumns": [
"uid"
]
}
]
},
{
"tableName": "remote_playlists",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `service_id` INTEGER NOT NULL, `name` TEXT, `url` TEXT, `thumbnail_url` TEXT, `uploader` TEXT, `stream_count` INTEGER)",
"fields": [
{
"fieldPath": "uid",
"columnName": "uid",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "serviceId",
"columnName": "service_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "name",
"columnName": "name",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "url",
"columnName": "url",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "thumbnailUrl",
"columnName": "thumbnail_url",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "uploader",
"columnName": "uploader",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "streamCount",
"columnName": "stream_count",
"affinity": "INTEGER",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"uid"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_remote_playlists_name",
"unique": false,
"columnNames": [
"name"
],
"createSql": "CREATE INDEX `index_remote_playlists_name` ON `${TABLE_NAME}` (`name`)"
},
{
"name": "index_remote_playlists_service_id_url",
"unique": true,
"columnNames": [
"service_id",
"url"
],
"createSql": "CREATE UNIQUE INDEX `index_remote_playlists_service_id_url` ON `${TABLE_NAME}` (`service_id`, `url`)"
}
],
"foreignKeys": []
},
{
"tableName": "feed",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`stream_id` INTEGER NOT NULL, `subscription_id` INTEGER NOT NULL, PRIMARY KEY(`stream_id`, `subscription_id`), FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY(`subscription_id`) REFERENCES `subscriptions`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED)",
"fields": [
{
"fieldPath": "streamId",
"columnName": "stream_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "subscriptionId",
"columnName": "subscription_id",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"stream_id",
"subscription_id"
],
"autoGenerate": false
},
"indices": [
{
"name": "index_feed_subscription_id",
"unique": false,
"columnNames": [
"subscription_id"
],
"createSql": "CREATE INDEX `index_feed_subscription_id` ON `${TABLE_NAME}` (`subscription_id`)"
}
],
"foreignKeys": [
{
"table": "streams",
"onDelete": "CASCADE",
"onUpdate": "CASCADE",
"columns": [
"stream_id"
],
"referencedColumns": [
"uid"
]
},
{
"table": "subscriptions",
"onDelete": "CASCADE",
"onUpdate": "CASCADE",
"columns": [
"subscription_id"
],
"referencedColumns": [
"uid"
]
}
]
},
{
"tableName": "feed_group",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT NOT NULL, `icon_id` INTEGER NOT NULL, `sort_order` INTEGER NOT NULL)",
"fields": [
{
"fieldPath": "uid",
"columnName": "uid",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "name",
"columnName": "name",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "icon",
"columnName": "icon_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "sortOrder",
"columnName": "sort_order",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"uid"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_feed_group_sort_order",
"unique": false,
"columnNames": [
"sort_order"
],
"createSql": "CREATE INDEX `index_feed_group_sort_order` ON `${TABLE_NAME}` (`sort_order`)"
}
],
"foreignKeys": []
},
{
"tableName": "feed_group_subscription_join",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`group_id` INTEGER NOT NULL, `subscription_id` INTEGER NOT NULL, PRIMARY KEY(`group_id`, `subscription_id`), FOREIGN KEY(`group_id`) REFERENCES `feed_group`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY(`subscription_id`) REFERENCES `subscriptions`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED)",
"fields": [
{
"fieldPath": "feedGroupId",
"columnName": "group_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "subscriptionId",
"columnName": "subscription_id",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"group_id",
"subscription_id"
],
"autoGenerate": false
},
"indices": [
{
"name": "index_feed_group_subscription_join_subscription_id",
"unique": false,
"columnNames": [
"subscription_id"
],
"createSql": "CREATE INDEX `index_feed_group_subscription_join_subscription_id` ON `${TABLE_NAME}` (`subscription_id`)"
}
],
"foreignKeys": [
{
"table": "feed_group",
"onDelete": "CASCADE",
"onUpdate": "CASCADE",
"columns": [
"group_id"
],
"referencedColumns": [
"uid"
]
},
{
"table": "subscriptions",
"onDelete": "CASCADE",
"onUpdate": "CASCADE",
"columns": [
"subscription_id"
],
"referencedColumns": [
"uid"
]
}
]
},
{
"tableName": "feed_last_updated",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`subscription_id` INTEGER NOT NULL, `last_updated` INTEGER, PRIMARY KEY(`subscription_id`), FOREIGN KEY(`subscription_id`) REFERENCES `subscriptions`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED)",
"fields": [
{
"fieldPath": "subscriptionId",
"columnName": "subscription_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "lastUpdated",
"columnName": "last_updated",
"affinity": "INTEGER",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"subscription_id"
],
"autoGenerate": false
},
"indices": [],
"foreignKeys": [
{
"table": "subscriptions",
"onDelete": "CASCADE",
"onUpdate": "CASCADE",
"columns": [
"subscription_id"
],
"referencedColumns": [
"uid"
]
}
]
}
],
"views": [],
"setupQueries": [
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '9f825b1ee281480bedd38b971feac327')"
]
}
}

View File

@@ -0,0 +1,713 @@
{
"formatVersion": 1,
"database": {
"version": 4,
"identityHash": "d8070091972a7011bce18aed62f80b90",
"entities": [
{
"tableName": "subscriptions",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `service_id` INTEGER NOT NULL, `url` TEXT, `name` TEXT, `avatar_url` TEXT, `subscriber_count` INTEGER, `description` TEXT)",
"fields": [
{
"fieldPath": "uid",
"columnName": "uid",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "serviceId",
"columnName": "service_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "url",
"columnName": "url",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "name",
"columnName": "name",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "avatarUrl",
"columnName": "avatar_url",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "subscriberCount",
"columnName": "subscriber_count",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "description",
"columnName": "description",
"affinity": "TEXT",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"uid"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_subscriptions_service_id_url",
"unique": true,
"columnNames": [
"service_id",
"url"
],
"createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_subscriptions_service_id_url` ON `${TABLE_NAME}` (`service_id`, `url`)"
}
],
"foreignKeys": []
},
{
"tableName": "search_history",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `creation_date` INTEGER, `service_id` INTEGER NOT NULL, `search` TEXT)",
"fields": [
{
"fieldPath": "id",
"columnName": "id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "creationDate",
"columnName": "creation_date",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "serviceId",
"columnName": "service_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "search",
"columnName": "search",
"affinity": "TEXT",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"id"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_search_history_search",
"unique": false,
"columnNames": [
"search"
],
"createSql": "CREATE INDEX IF NOT EXISTS `index_search_history_search` ON `${TABLE_NAME}` (`search`)"
}
],
"foreignKeys": []
},
{
"tableName": "streams",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `service_id` INTEGER NOT NULL, `url` TEXT NOT NULL, `title` TEXT NOT NULL, `stream_type` TEXT NOT NULL, `duration` INTEGER NOT NULL, `uploader` TEXT NOT NULL, `uploader_url` TEXT, `thumbnail_url` TEXT, `view_count` INTEGER, `textual_upload_date` TEXT, `upload_date` INTEGER, `is_upload_date_approximation` INTEGER)",
"fields": [
{
"fieldPath": "uid",
"columnName": "uid",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "serviceId",
"columnName": "service_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "url",
"columnName": "url",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "title",
"columnName": "title",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "streamType",
"columnName": "stream_type",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "duration",
"columnName": "duration",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "uploader",
"columnName": "uploader",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "uploaderUrl",
"columnName": "uploader_url",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "thumbnailUrl",
"columnName": "thumbnail_url",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "viewCount",
"columnName": "view_count",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "textualUploadDate",
"columnName": "textual_upload_date",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "uploadDate",
"columnName": "upload_date",
"affinity": "INTEGER",
"notNull": false
},
{
"fieldPath": "isUploadDateApproximation",
"columnName": "is_upload_date_approximation",
"affinity": "INTEGER",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"uid"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_streams_service_id_url",
"unique": true,
"columnNames": [
"service_id",
"url"
],
"createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_streams_service_id_url` ON `${TABLE_NAME}` (`service_id`, `url`)"
}
],
"foreignKeys": []
},
{
"tableName": "stream_history",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`stream_id` INTEGER NOT NULL, `access_date` INTEGER NOT NULL, `repeat_count` INTEGER NOT NULL, PRIMARY KEY(`stream_id`, `access_date`), FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE )",
"fields": [
{
"fieldPath": "streamUid",
"columnName": "stream_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "accessDate",
"columnName": "access_date",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "repeatCount",
"columnName": "repeat_count",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"stream_id",
"access_date"
],
"autoGenerate": false
},
"indices": [
{
"name": "index_stream_history_stream_id",
"unique": false,
"columnNames": [
"stream_id"
],
"createSql": "CREATE INDEX IF NOT EXISTS `index_stream_history_stream_id` ON `${TABLE_NAME}` (`stream_id`)"
}
],
"foreignKeys": [
{
"table": "streams",
"onDelete": "CASCADE",
"onUpdate": "CASCADE",
"columns": [
"stream_id"
],
"referencedColumns": [
"uid"
]
}
]
},
{
"tableName": "stream_state",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`stream_id` INTEGER NOT NULL, `progress_time` INTEGER NOT NULL, PRIMARY KEY(`stream_id`), FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE )",
"fields": [
{
"fieldPath": "streamUid",
"columnName": "stream_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "progressMillis",
"columnName": "progress_time",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"stream_id"
],
"autoGenerate": false
},
"indices": [],
"foreignKeys": [
{
"table": "streams",
"onDelete": "CASCADE",
"onUpdate": "CASCADE",
"columns": [
"stream_id"
],
"referencedColumns": [
"uid"
]
}
]
},
{
"tableName": "playlists",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT, `thumbnail_url` TEXT)",
"fields": [
{
"fieldPath": "uid",
"columnName": "uid",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "name",
"columnName": "name",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "thumbnailUrl",
"columnName": "thumbnail_url",
"affinity": "TEXT",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"uid"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_playlists_name",
"unique": false,
"columnNames": [
"name"
],
"createSql": "CREATE INDEX IF NOT EXISTS `index_playlists_name` ON `${TABLE_NAME}` (`name`)"
}
],
"foreignKeys": []
},
{
"tableName": "playlist_stream_join",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`playlist_id` INTEGER NOT NULL, `stream_id` INTEGER NOT NULL, `join_index` INTEGER NOT NULL, PRIMARY KEY(`playlist_id`, `join_index`), FOREIGN KEY(`playlist_id`) REFERENCES `playlists`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED)",
"fields": [
{
"fieldPath": "playlistUid",
"columnName": "playlist_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "streamUid",
"columnName": "stream_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "index",
"columnName": "join_index",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"playlist_id",
"join_index"
],
"autoGenerate": false
},
"indices": [
{
"name": "index_playlist_stream_join_playlist_id_join_index",
"unique": true,
"columnNames": [
"playlist_id",
"join_index"
],
"createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_playlist_stream_join_playlist_id_join_index` ON `${TABLE_NAME}` (`playlist_id`, `join_index`)"
},
{
"name": "index_playlist_stream_join_stream_id",
"unique": false,
"columnNames": [
"stream_id"
],
"createSql": "CREATE INDEX IF NOT EXISTS `index_playlist_stream_join_stream_id` ON `${TABLE_NAME}` (`stream_id`)"
}
],
"foreignKeys": [
{
"table": "playlists",
"onDelete": "CASCADE",
"onUpdate": "CASCADE",
"columns": [
"playlist_id"
],
"referencedColumns": [
"uid"
]
},
{
"table": "streams",
"onDelete": "CASCADE",
"onUpdate": "CASCADE",
"columns": [
"stream_id"
],
"referencedColumns": [
"uid"
]
}
]
},
{
"tableName": "remote_playlists",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `service_id` INTEGER NOT NULL, `name` TEXT, `url` TEXT, `thumbnail_url` TEXT, `uploader` TEXT, `stream_count` INTEGER)",
"fields": [
{
"fieldPath": "uid",
"columnName": "uid",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "serviceId",
"columnName": "service_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "name",
"columnName": "name",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "url",
"columnName": "url",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "thumbnailUrl",
"columnName": "thumbnail_url",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "uploader",
"columnName": "uploader",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "streamCount",
"columnName": "stream_count",
"affinity": "INTEGER",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"uid"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_remote_playlists_name",
"unique": false,
"columnNames": [
"name"
],
"createSql": "CREATE INDEX IF NOT EXISTS `index_remote_playlists_name` ON `${TABLE_NAME}` (`name`)"
},
{
"name": "index_remote_playlists_service_id_url",
"unique": true,
"columnNames": [
"service_id",
"url"
],
"createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_remote_playlists_service_id_url` ON `${TABLE_NAME}` (`service_id`, `url`)"
}
],
"foreignKeys": []
},
{
"tableName": "feed",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`stream_id` INTEGER NOT NULL, `subscription_id` INTEGER NOT NULL, PRIMARY KEY(`stream_id`, `subscription_id`), FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY(`subscription_id`) REFERENCES `subscriptions`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED)",
"fields": [
{
"fieldPath": "streamId",
"columnName": "stream_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "subscriptionId",
"columnName": "subscription_id",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"stream_id",
"subscription_id"
],
"autoGenerate": false
},
"indices": [
{
"name": "index_feed_subscription_id",
"unique": false,
"columnNames": [
"subscription_id"
],
"createSql": "CREATE INDEX IF NOT EXISTS `index_feed_subscription_id` ON `${TABLE_NAME}` (`subscription_id`)"
}
],
"foreignKeys": [
{
"table": "streams",
"onDelete": "CASCADE",
"onUpdate": "CASCADE",
"columns": [
"stream_id"
],
"referencedColumns": [
"uid"
]
},
{
"table": "subscriptions",
"onDelete": "CASCADE",
"onUpdate": "CASCADE",
"columns": [
"subscription_id"
],
"referencedColumns": [
"uid"
]
}
]
},
{
"tableName": "feed_group",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT NOT NULL, `icon_id` INTEGER NOT NULL, `sort_order` INTEGER NOT NULL)",
"fields": [
{
"fieldPath": "uid",
"columnName": "uid",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "name",
"columnName": "name",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "icon",
"columnName": "icon_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "sortOrder",
"columnName": "sort_order",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"uid"
],
"autoGenerate": true
},
"indices": [
{
"name": "index_feed_group_sort_order",
"unique": false,
"columnNames": [
"sort_order"
],
"createSql": "CREATE INDEX IF NOT EXISTS `index_feed_group_sort_order` ON `${TABLE_NAME}` (`sort_order`)"
}
],
"foreignKeys": []
},
{
"tableName": "feed_group_subscription_join",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`group_id` INTEGER NOT NULL, `subscription_id` INTEGER NOT NULL, PRIMARY KEY(`group_id`, `subscription_id`), FOREIGN KEY(`group_id`) REFERENCES `feed_group`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, FOREIGN KEY(`subscription_id`) REFERENCES `subscriptions`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED)",
"fields": [
{
"fieldPath": "feedGroupId",
"columnName": "group_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "subscriptionId",
"columnName": "subscription_id",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"group_id",
"subscription_id"
],
"autoGenerate": false
},
"indices": [
{
"name": "index_feed_group_subscription_join_subscription_id",
"unique": false,
"columnNames": [
"subscription_id"
],
"createSql": "CREATE INDEX IF NOT EXISTS `index_feed_group_subscription_join_subscription_id` ON `${TABLE_NAME}` (`subscription_id`)"
}
],
"foreignKeys": [
{
"table": "feed_group",
"onDelete": "CASCADE",
"onUpdate": "CASCADE",
"columns": [
"group_id"
],
"referencedColumns": [
"uid"
]
},
{
"table": "subscriptions",
"onDelete": "CASCADE",
"onUpdate": "CASCADE",
"columns": [
"subscription_id"
],
"referencedColumns": [
"uid"
]
}
]
},
{
"tableName": "feed_last_updated",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`subscription_id` INTEGER NOT NULL, `last_updated` INTEGER, PRIMARY KEY(`subscription_id`), FOREIGN KEY(`subscription_id`) REFERENCES `subscriptions`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED)",
"fields": [
{
"fieldPath": "subscriptionId",
"columnName": "subscription_id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "lastUpdated",
"columnName": "last_updated",
"affinity": "INTEGER",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"subscription_id"
],
"autoGenerate": false
},
"indices": [],
"foreignKeys": [
{
"table": "subscriptions",
"onDelete": "CASCADE",
"onUpdate": "CASCADE",
"columns": [
"subscription_id"
],
"referencedColumns": [
"uid"
]
}
]
}
],
"views": [],
"setupQueries": [
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'd8070091972a7011bce18aed62f80b90')"
]
}
}

View File

@@ -1,13 +0,0 @@
package org.schabi.newpipe;
import android.app.Application;
import android.test.ApplicationTestCase;
/**
* <a href="http://d.android.com/tools/testing/testing_android.html">Testing Fundamentals</a>
*/
public class ApplicationTest extends ApplicationTestCase<Application> {
public ApplicationTest() {
super(Application.class);
}
}

View File

@@ -0,0 +1,46 @@
package org.schabi.newpipe.error;
import android.os.Parcel;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.LargeTest;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.schabi.newpipe.R;
import org.schabi.newpipe.extractor.ServiceList;
import org.schabi.newpipe.extractor.exceptions.ParsingException;
import java.util.Arrays;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
/**
* Instrumented tests for {@link ErrorInfo}.
*/
@RunWith(AndroidJUnit4.class)
@LargeTest
public class ErrorInfoTest {
@Test
public void errorInfoTestParcelable() {
final ErrorInfo info = new ErrorInfo(new ParsingException("Hello"),
UserAction.USER_REPORT, "request", ServiceList.YouTube.getServiceId());
// Obtain a Parcel object and write the parcelable object to it:
final Parcel parcel = Parcel.obtain();
info.writeToParcel(parcel, 0);
parcel.setDataPosition(0);
final ErrorInfo infoFromParcel = (ErrorInfo) ErrorInfo.CREATOR.createFromParcel(parcel);
assertTrue(Arrays.toString(infoFromParcel.getStackTraces())
.contains(ErrorInfoTest.class.getSimpleName()));
assertEquals(UserAction.USER_REPORT, infoFromParcel.getUserAction());
assertEquals(ServiceList.YouTube.getServiceInfo().getName(),
infoFromParcel.getServiceName());
assertEquals("request", infoFromParcel.getRequest());
assertEquals(R.string.parsing_error, infoFromParcel.getMessageStringId());
parcel.recycle();
}
}

View File

@@ -0,0 +1,178 @@
package org.schabi.newpipe.local.history
import androidx.test.core.app.ApplicationProvider
import org.assertj.core.api.Assertions.assertThat
import org.junit.After
import org.junit.Assert.assertEquals
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.schabi.newpipe.database.AppDatabase
import org.schabi.newpipe.database.history.model.SearchHistoryEntry
import org.schabi.newpipe.testUtil.TestDatabase
import org.schabi.newpipe.testUtil.TrampolineSchedulerRule
import java.time.LocalDateTime
import java.time.OffsetDateTime
import java.time.ZoneOffset
class HistoryRecordManagerTest {
private lateinit var manager: HistoryRecordManager
private lateinit var database: AppDatabase
@get:Rule
val trampolineScheduler = TrampolineSchedulerRule()
@Before
fun setup() {
database = TestDatabase.createReplacingNewPipeDatabase()
manager = HistoryRecordManager(ApplicationProvider.getApplicationContext())
}
@After
fun cleanUp() {
database.close()
}
@Test
fun onSearched() {
manager.onSearched(0, "Hello").test().await().assertValue(1)
// For some reason the Flowable returned by getAll() never completes, so we can't assert
// that the number of Lists it returns is exactly 1, we can only check if the first List is
// correct. Why on earth has a Flowable been used instead of a Single for getAll()?!?
val entities = database.searchHistoryDAO().all.blockingFirst()
assertThat(entities).hasSize(1)
assertThat(entities[0].id).isEqualTo(1)
assertThat(entities[0].serviceId).isEqualTo(0)
assertThat(entities[0].search).isEqualTo("Hello")
}
@Test
fun deleteSearchHistory() {
val entries = listOf(
SearchHistoryEntry(time.minusSeconds(1), 0, "A"),
SearchHistoryEntry(time.minusSeconds(2), 2, "A"),
SearchHistoryEntry(time.minusSeconds(3), 1, "B"),
SearchHistoryEntry(time.minusSeconds(4), 0, "B"),
)
// make sure all 4 were inserted
database.searchHistoryDAO().insertAll(entries)
assertThat(database.searchHistoryDAO().all.blockingFirst()).hasSameSizeAs(entries)
// try to delete only "A" entries, "B" entries should be untouched
manager.deleteSearchHistory("A").test().await().assertValue(2)
val entities = database.searchHistoryDAO().all.blockingFirst()
assertThat(entities).hasSize(2)
assertThat(entities).usingElementComparator { o1, o2 -> if (o1.hasEqualValues(o2)) 0 else 1 }
.containsExactly(*entries.subList(2, 4).toTypedArray())
// assert that nothing happens if we delete a search query that does exist in the db
manager.deleteSearchHistory("A").test().await().assertValue(0)
val entities2 = database.searchHistoryDAO().all.blockingFirst()
assertThat(entities2).hasSize(2)
assertThat(entities2).usingElementComparator { o1, o2 -> if (o1.hasEqualValues(o2)) 0 else 1 }
.containsExactly(*entries.subList(2, 4).toTypedArray())
// delete all remaining entries
manager.deleteSearchHistory("B").test().await().assertValue(2)
assertThat(database.searchHistoryDAO().all.blockingFirst()).isEmpty()
}
@Test
fun deleteCompleteSearchHistory() {
val entries = listOf(
SearchHistoryEntry(time.minusSeconds(1), 1, "A"),
SearchHistoryEntry(time.minusSeconds(2), 2, "B"),
SearchHistoryEntry(time.minusSeconds(3), 0, "C"),
)
// make sure all 3 were inserted
database.searchHistoryDAO().insertAll(entries)
assertThat(database.searchHistoryDAO().all.blockingFirst()).hasSameSizeAs(entries)
// should remove everything
manager.deleteCompleteSearchHistory().test().await().assertValue(entries.size)
assertThat(database.searchHistoryDAO().all.blockingFirst()).isEmpty()
}
private fun insertShuffledRelatedSearches(relatedSearches: Collection<SearchHistoryEntry>) {
// shuffle to make sure the order of items returned by queries depends only on
// SearchHistoryEntry.creationDate, not on the actual insertion time, so that we can
// verify that the `ORDER BY` clause does its job
database.searchHistoryDAO().insertAll(relatedSearches.shuffled())
// make sure all entries were inserted
assertEquals(
relatedSearches.size,
database.searchHistoryDAO().all.blockingFirst().size
)
}
@Test
fun getRelatedSearches_emptyQuery() {
insertShuffledRelatedSearches(RELATED_SEARCHES_ENTRIES)
// make sure correct number of searches is returned and in correct order
val searches = manager.getRelatedSearches("", 6, 4).blockingFirst()
assertThat(searches).containsExactly(
RELATED_SEARCHES_ENTRIES[6].search, // A (even if in two places)
RELATED_SEARCHES_ENTRIES[4].search, // B
RELATED_SEARCHES_ENTRIES[5].search, // AA
RELATED_SEARCHES_ENTRIES[2].search, // BA
)
}
@Test
fun getRelatedSearches_emptyQuery_manyDuplicates() {
insertShuffledRelatedSearches(
listOf(
SearchHistoryEntry(time.minusSeconds(9), 3, "A"),
SearchHistoryEntry(time.minusSeconds(8), 3, "AB"),
SearchHistoryEntry(time.minusSeconds(7), 3, "A"),
SearchHistoryEntry(time.minusSeconds(6), 3, "A"),
SearchHistoryEntry(time.minusSeconds(5), 3, "BA"),
SearchHistoryEntry(time.minusSeconds(4), 3, "A"),
SearchHistoryEntry(time.minusSeconds(3), 3, "A"),
SearchHistoryEntry(time.minusSeconds(2), 0, "A"),
SearchHistoryEntry(time.minusSeconds(1), 2, "AA"),
)
)
val searches = manager.getRelatedSearches("", 9, 3).blockingFirst()
assertThat(searches).containsExactly("AA", "A", "BA")
}
@Test
fun getRelatedSearched_nonEmptyQuery() {
insertShuffledRelatedSearches(RELATED_SEARCHES_ENTRIES)
// make sure correct number of searches is returned and in correct order
val searches = manager.getRelatedSearches("A", 3, 5).blockingFirst()
assertThat(searches).containsExactly(
RELATED_SEARCHES_ENTRIES[6].search, // A (even if in two places)
RELATED_SEARCHES_ENTRIES[5].search, // AA
RELATED_SEARCHES_ENTRIES[1].search, // BA
)
// also make sure that the string comparison is case insensitive
val searches2 = manager.getRelatedSearches("a", 3, 5).blockingFirst()
assertThat(searches).isEqualTo(searches2)
}
companion object {
private val time = OffsetDateTime.of(LocalDateTime.of(2000, 1, 1, 1, 1), ZoneOffset.UTC)
private val RELATED_SEARCHES_ENTRIES = listOf(
SearchHistoryEntry(time.minusSeconds(7), 2, "AC"),
SearchHistoryEntry(time.minusSeconds(6), 0, "ABC"),
SearchHistoryEntry(time.minusSeconds(5), 1, "BA"),
SearchHistoryEntry(time.minusSeconds(4), 3, "A"),
SearchHistoryEntry(time.minusSeconds(2), 0, "B"),
SearchHistoryEntry(time.minusSeconds(3), 2, "AA"),
SearchHistoryEntry(time.minusSeconds(1), 1, "A"),
)
}
}

View File

@@ -0,0 +1,77 @@
package org.schabi.newpipe.local.playlist
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.stream.model.StreamEntity
import org.schabi.newpipe.extractor.stream.StreamType
import org.schabi.newpipe.testUtil.TestDatabase
import org.schabi.newpipe.testUtil.TrampolineSchedulerRule
class LocalPlaylistManagerTest {
private lateinit var manager: LocalPlaylistManager
private lateinit var database: AppDatabase
@get:Rule
val trampolineScheduler = TrampolineSchedulerRule()
@Before
fun setup() {
database = TestDatabase.createReplacingNewPipeDatabase()
manager = LocalPlaylistManager(database)
}
@After
fun cleanUp() {
database.close()
}
@Test
fun createPlaylist() {
val NEWPIPE_URL = "https://newpipe.net/"
val stream = StreamEntity(
serviceId = 1, url = NEWPIPE_URL, title = "title",
streamType = StreamType.VIDEO_STREAM, duration = 1, uploader = "uploader",
uploaderUrl = NEWPIPE_URL
)
val result = manager.createPlaylist("name", listOf(stream))
// This should not behave like this.
// Currently list of all stream ids is returned instead of playlist id
result.test().await().assertValue(listOf(1L))
}
@Test
fun createPlaylist_emptyPlaylistMustReturnEmpty() {
val result = manager.createPlaylist("name", emptyList())
// This should not behave like this.
// It should throw an error because currently the result is null
result.test().await().assertComplete()
manager.playlists.test().awaitCount(1).assertValue(emptyList())
}
@Test()
fun createPlaylist_nonExistentStreamsAreUpserted() {
val stream = StreamEntity(
serviceId = 1, url = "https://newpipe.net/", title = "title",
streamType = StreamType.VIDEO_STREAM, duration = 1, uploader = "uploader",
uploaderUrl = "https://newpipe.net/"
)
database.streamDAO().insert(stream)
val upserted = StreamEntity(
serviceId = 1, url = "https://newpipe.net/2", title = "title2",
streamType = StreamType.VIDEO_STREAM, duration = 1, uploader = "uploader",
uploaderUrl = "https://newpipe.net/"
)
val result = manager.createPlaylist("name", listOf(stream, upserted))
result.test().await().assertComplete()
database.streamDAO().all.test().awaitCount(1).assertValue(listOf(stream, upserted))
}
}

View File

@@ -0,0 +1,32 @@
package org.schabi.newpipe.testUtil
import androidx.room.Room
import androidx.test.core.app.ApplicationProvider
import org.junit.Assert.assertSame
import org.schabi.newpipe.NewPipeDatabase
import org.schabi.newpipe.database.AppDatabase
class TestDatabase {
companion object {
fun createReplacingNewPipeDatabase(): AppDatabase {
val database = Room.inMemoryDatabaseBuilder(
ApplicationProvider.getApplicationContext(),
AppDatabase::class.java
)
.allowMainThreadQueries()
.build()
val databaseField = NewPipeDatabase::class.java.getDeclaredField("databaseInstance")
databaseField.isAccessible = true
databaseField.set(NewPipeDatabase::class, database)
assertSame(
"Mocking database failed!",
database,
NewPipeDatabase.getInstance(ApplicationProvider.getApplicationContext())
)
return database
}
}
}

View File

@@ -0,0 +1,37 @@
package org.schabi.newpipe.testUtil
import io.reactivex.rxjava3.android.plugins.RxAndroidPlugins
import io.reactivex.rxjava3.plugins.RxJavaPlugins
import io.reactivex.rxjava3.schedulers.Schedulers
import org.junit.rules.TestRule
import org.junit.runner.Description
import org.junit.runners.model.Statement
/**
* Always run on [Schedulers.trampoline].
* This executes the task in the current thread in FIFO manner.
* This ensures that tasks are run quickly inside the tests
* and not scheduled away to another thread for later execution
*/
class TrampolineSchedulerRule : TestRule {
private val scheduler = Schedulers.trampoline()
override fun apply(base: Statement, description: Description): Statement =
object : Statement() {
override fun evaluate() {
try {
RxJavaPlugins.setComputationSchedulerHandler { scheduler }
RxJavaPlugins.setIoSchedulerHandler { scheduler }
RxJavaPlugins.setNewThreadSchedulerHandler { scheduler }
RxJavaPlugins.setSingleSchedulerHandler { scheduler }
RxAndroidPlugins.setInitMainThreadSchedulerHandler { scheduler }
base.evaluate()
} finally {
RxJavaPlugins.reset()
RxAndroidPlugins.reset()
}
}
}
}

View File

@@ -0,0 +1,10 @@
<?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">
<application
android:name=".DebugApp"
tools:replace="android:name" />
</manifest>

View File

@@ -0,0 +1,61 @@
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
class DebugApp : App() {
override fun onCreate() {
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(
getString(
R.string.allow_heap_dumping_key
),
false
)
)
}
override fun getDownloader(): Downloader {
val downloader = DownloaderImpl.init(
OkHttpClient.Builder()
.addNetworkInterceptor(StethoInterceptor())
)
setCookiesToDownloader(downloader)
return downloader
}
private fun initStetho() {
// Create an InitializerBuilder
val initializerBuilder = Stetho.newInitializerBuilder(this)
// Enable Chrome DevTools
initializerBuilder.enableWebKitInspector(Stetho.defaultInspectorModulesProvider(this))
// Enable command line interface
initializerBuilder.enableDumpapp(
Stetho.defaultDumperPluginsProvider(applicationContext)
)
// Use the InitializerBuilder to generate an Initializer
val initializer = initializerBuilder.build()
// Initialize Stetho with the Initializer
Stetho.initialize(initializer)
}
override fun isDisposedRxExceptionsReported(): Boolean {
return PreferenceManager.getDefaultSharedPreferences(this)
.getBoolean(getString(R.string.allow_disposed_exceptions_key), false)
}
}

View File

@@ -0,0 +1,20 @@
package org.schabi.newpipe.settings;
import android.content.Intent;
import leakcanary.LeakCanary;
/**
* Build variant dependent (BVD) leak canary API implementation for the debug settings fragment.
* This class is loaded via reflection by
* {@link DebugSettingsFragment.DebugSettingsBVDLeakCanaryAPI}.
*/
@SuppressWarnings("unused") // Class is used but loaded via reflection
public class DebugSettingsBVDLeakCanary
implements DebugSettingsFragment.DebugSettingsBVDLeakCanaryAPI {
@Override
public Intent getNewLeakDisplayActivityIntent() {
return LeakCanary.INSTANCE.newLeakDisplayActivityIntent();
}
}

View File

@@ -1,79 +1,396 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.schabi.newpipe" >
xmlns:tools="http://schemas.android.com/tools"
package="org.schabi.newpipe"
android:installLocation="auto">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<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-feature
android:name="android.hardware.touchscreen"
android:required="false" />
<uses-permission android:name= "android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<application
android:name=".App"
android:allowBackup="true"
android:banner="@mipmap/newpipe_tv_banner"
android:icon="@mipmap/ic_launcher"
android:logo="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
android:logo="@mipmap/ic_launcher"
android:theme="@style/OpeningTheme"
android:resizeableActivity="true"
tools:ignore="AllowBackup">
<activity
android:name=".VideoItemListActivity"
android:label="@string/app_name" >
android:name=".MainActivity"
android:label="@string/app_name"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".VideoItemDetailActivity"
android:label="@string/title_videoitem_detail" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".VideoItemListActivity" />
<receiver android:name="androidx.media.session.MediaButtonReceiver">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<action android:name="android.intent.action.MEDIA_BUTTON" />
</intent-filter>
</receiver>
<service
android:name=".player.MainPlayer"
android:exported="false"
android:foregroundServiceType="mediaPlayback">
<intent-filter>
<action android:name="android.intent.action.MEDIA_BUTTON" />
</intent-filter>
</service>
<activity
android:name=".player.PlayQueueActivity"
android:label="@string/title_activity_play_queue"
android:launchMode="singleTask" />
<activity
android:name=".settings.SettingsActivity"
android:label="@string/settings" />
<activity
android:name=".about.AboutActivity"
android:label="@string/title_activity_about" />
<service android:name=".local.subscription.services.SubscriptionsImportService" />
<service android:name=".local.subscription.services.SubscriptionsExportService" />
<service android:name=".local.feed.service.FeedLoadService" />
<activity
android:name=".PanicResponderActivity"
android:launchMode="singleInstance"
android:noHistory="true"
android:theme="@android:style/Theme.NoDisplay">
<intent-filter>
<action android:name="info.guardianproject.panic.action.TRIGGER" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".ExitActivity"
android:label="@string/general_error"
android:theme="@android:style/Theme.NoDisplay" />
<activity android:name=".error.ErrorActivity" />
<!-- giga get related -->
<activity
android:name=".download.DownloadActivity"
android:label="@string/app_name"
android:launchMode="singleTask" />
<service android:name="us.shandian.giga.service.DownloadManagerService" />
<activity
android:name=".util.FilePickerActivityHelper"
android:label="@string/app_name"
android:theme="@style/FilePickerThemeDark">
<intent-filter>
<action android:name="android.intent.action.GET_CONTENT" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".error.ReCaptchaActivity"
android:label="@string/recaptcha" />
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/nnf_provider_paths" />
</provider>
<activity
android:name=".RouterActivity"
android:excludeFromRecents="true"
android:label="@string/preferred_open_action_share_menu_title"
android:taskAffinity=""
android:theme="@style/RouterActivityThemeDark">
<!-- Youtube filter -->
<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" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="youtube.com"
android:scheme="http"
android:pathPattern="/?*#*/*watch"/>
<data
android:host="youtube.com"
android:scheme="https"
android:pathPattern="/?*#*/*watch"/>
<data
android:host="www.youtube.com"
android:scheme="http"
android:pathPattern="/?*#*/*watch"/>
<data
android:host="www.youtube.com"
android:scheme="https"
android:pathPattern="/?*#*/*watch"/>
<data
android:host="m.youtube.com"
android:scheme="http"
android:pathPattern="/?*#*/*watch"/>
<data
android:host="m.youtube.com"
android:scheme="https"
android:pathPattern="/?*#*/*watch"/>
<data
android:host="youtu.be"
android:scheme="https"
android:pathPrefix="/"/>
<data
android:host="youtu.be"
android:scheme="http"
android:pathPrefix="/"/>
<data android:scheme="http" />
<data android:scheme="https" />
<data android:host="youtube.com" />
<data android:host="m.youtube.com" />
<data android:host="www.youtube.com" />
<data android:host="music.youtube.com" />
<!-- video prefix -->
<data android:pathPrefix="/v/" />
<data android:pathPrefix="/embed/" />
<data android:pathPrefix="/watch" />
<data android:pathPrefix="/attribution_link" />
<data android:pathPrefix="/shorts/" />
<!-- channel prefix -->
<data android:pathPrefix="/channel/" />
<data android:pathPrefix="/user/" />
<data android:pathPrefix="/c/" />
<!-- playlist prefix -->
<data android:pathPrefix="/playlist" />
</intent-filter>
<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" />
<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="youtu.be" />
<data android:pathPrefix="/" />
</intent-filter>
<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" />
<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="www.youtube-nocookie.com" />
<data android:pathPrefix="/embed/" />
</intent-filter>
<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" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="vnd.youtube" />
<data android:scheme="vnd.youtube.launch" />
</intent-filter>
<!-- Hooktube filter -->
<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" />
<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="hooktube.com" />
<data android:host="*.hooktube.com" />
<!-- video prefix -->
<data android:pathPrefix="/v/" />
<data android:pathPrefix="/embed/" />
<data android:pathPrefix="/watch" />
<!-- channel prefix -->
<data android:pathPrefix="/channel/" />
<data android:pathPrefix="/user/" />
</intent-filter>
<!-- Invidious filter -->
<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" />
<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="tubus.eduvid.org" />
<data android:host="invidio.us" />
<data android:host="dev.invidio.us" />
<data android:host="www.invidio.us" />
<data android:host="redirect.invidious.io" />
<data android:host="invidious.snopyta.org" />
<data android:host="yewtu.be" />
<data android:host="tube.connect.cafe" />
<data android:host="invidious.kavin.rocks" />
<data android:host="invidious-us.kavin.rocks" />
<data android:host="piped.kavin.rocks" />
<data android:host="invidious.site" />
<data android:host="vid.mint.lgbt" />
<data android:host="invidiou.site" />
<data android:host="invidious.fdn.fr" />
<data android:host="invidious.048596.xyz" />
<data android:host="invidious.zee.li" />
<data android:host="vid.puffyan.us" />
<data android:host="ytprivate.com" />
<data android:host="invidious.namazso.eu" />
<data android:host="invidious.silkky.cloud" />
<data android:host="invidious.exonip.de" />
<data android:host="inv.riverside.rocks" />
<data android:host="invidious.blamefran.net" />
<data android:host="invidious.moomoo.me" />
<data android:host="ytb.trom.tf" />
<data android:host="yt.cyberhost.uk" />
<data android:host="y.com.cm" />
<data android:pathPrefix="/" />
</intent-filter>
<!-- y2u.be filter -->
<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" />
<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="y2u.be" />
<data android:pathPrefix="/" />
</intent-filter>
<!-- Soundcloud filter -->
<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" />
<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="soundcloud.com" />
<data android:host="m.soundcloud.com" />
<data android:host="www.soundcloud.com" />
<data android:pathPrefix="/" />
</intent-filter>
<!-- Share filter -->
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
<!-- media.ccc.de filter -->
<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" />
<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="media.ccc.de" />
<!-- video prefix -->
<data android:pathPrefix="/v/" />
<!-- channel prefix-->
<data android:pathPrefix="/c/" />
<data android:pathPrefix="/b/" />
</intent-filter>
<!-- PeerTube filter -->
<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" />
<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="eduvid.org" />
<data android:host="framatube.org" />
<data android:host="media.assassinate-you.net" />
<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="skeptikon.fr" />
<data android:host="media.fsfe.org" />
<data android:pathPrefix="/videos/" /> <!-- it contains playlists -->
<data android:pathPrefix="/w/" /> <!-- short video URLs -->
<data android:pathPrefix="/w/p/" /> <!-- short playlist URLs -->
<data android:pathPrefix="/accounts/" />
<data android:pathPrefix="/a/" /> <!-- short account URLs -->
<data android:pathPrefix="/video-channels/" />
<data android:pathPrefix="/c/" /> <!-- short video-channels URLs -->
</intent-filter>
<!-- 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"/>
<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"/>
</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"/>
<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=*"/>
</intent-filter>
</activity>
<activity android:name=".PlayVideoActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:theme="@style/FullscreenTheme"
android:parentActivityName=".VideoItemDetailActivity"
>
</activity>
<activity
android:name=".SettingsActivity"
android:label="@string/title_activity_settings" >
</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" />
<!-- 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"/>
<!-- Version >= 3.0. DeX Dual Mode support -->
<meta-data android:name="com.samsung.android.multidisplay.keep_process_alive" android:value="true"/>
</application>
</manifest>

View File

@@ -0,0 +1,162 @@
<!doctype html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Apache License - Version 2.0, January 2004</title>
</head>
<body>
<p>Apache License<br>Version 2.0, January 2004<br>
<a href="http://www.apache.org/licenses/">http://www.apache.org/licenses/</a> </p>
<p>TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION</p>
<p><strong><a name="definitions">1. Definitions</a></strong>.</p>
<p>"License" shall mean the terms and conditions for use, reproduction, and
distribution as defined by Sections 1 through 9 of this document.</p>
<p>"Licensor" shall mean the copyright owner or entity authorized by the
copyright owner that is granting the License.</p>
<p>"Legal Entity" shall mean the union of the acting entity and all other
entities that control, are controlled by, or are under common control with
that entity. For the purposes of this definition, "control" means (i) the
power, direct or indirect, to cause the direction or management of such
entity, whether by contract or otherwise, or (ii) ownership of fifty
percent (50%) or more of the outstanding shares, or (iii) beneficial
ownership of such entity.</p>
<p>"You" (or "Your") shall mean an individual or Legal Entity exercising
permissions granted by this License.</p>
<p>"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation source,
and configuration files.</p>
<p>"Object" form shall mean any form resulting from mechanical transformation
or translation of a Source form, including but not limited to compiled
object code, generated documentation, and conversions to other media types.</p>
<p>"Work" shall mean the work of authorship, whether in Source or Object form,
made available under the License, as indicated by a copyright notice that
is included in or attached to the work (an example is provided in the
Appendix below).</p>
<p>"Derivative Works" shall mean any work, whether in Source or Object form,
that is based on (or derived from) the Work and for which the editorial
revisions, annotations, elaborations, or other modifications represent, as
a whole, an original work of authorship. For the purposes of this License,
Derivative Works shall not include works that remain separable from, or
merely link (or bind by name) to the interfaces of, the Work and Derivative
Works thereof.</p>
<p>"Contribution" shall mean any work of authorship, including the original
version of the Work and any modifications or additions to that Work or
Derivative Works thereof, that is intentionally submitted to Licensor for
inclusion in the Work by the copyright owner or by an individual or Legal
Entity authorized to submit on behalf of the copyright owner. For the
purposes of this definition, "submitted" means any form of electronic,
verbal, or written communication sent to the Licensor or its
representatives, including but not limited to communication on electronic
mailing lists, source code control systems, and issue tracking systems that
are managed by, or on behalf of, the Licensor for the purpose of discussing
and improving the Work, but excluding communication that is conspicuously
marked or otherwise designated in writing by the copyright owner as "Not a
Contribution."</p>
<p>"Contributor" shall mean Licensor and any individual or Legal Entity on
behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.</p>
<p><strong><a name="copyright">2. Grant of Copyright License</a></strong>. Subject to the
terms and conditions of this License, each Contributor hereby grants to You
a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of, publicly
display, publicly perform, sublicense, and distribute the Work and such
Derivative Works in Source or Object form.</p>
<p><strong><a name="patent">3. Grant of Patent License</a></strong>. Subject to the terms
and conditions of this License, each Contributor hereby grants to You a
perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made, use,
offer to sell, sell, import, and otherwise transfer the Work, where such
license applies only to those patent claims licensable by such Contributor
that are necessarily infringed by their Contribution(s) alone or by
combination of their Contribution(s) with the Work to which such
Contribution(s) was submitted. If You institute patent litigation against
any entity (including a cross-claim or counterclaim in a lawsuit) alleging
that the Work or a Contribution incorporated within the Work constitutes
direct or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate as of the
date such litigation is filed.</p>
<p><strong><a name="redistribution">4. Redistribution</a></strong>. You may reproduce and
distribute copies of the Work or Derivative Works thereof in any medium,
with or without modifications, and in Source or Object form, provided that
You meet the following conditions:</p>
<ol style="list-style: lower-latin;">
<li>You must give any other recipients of the Work or Derivative Works a
copy of this License; and</li>
<li>You must cause any modified files to carry prominent notices stating
that You changed the files; and</li>
<li>You must retain, in the Source form of any Derivative Works that You
distribute, all copyright, patent, trademark, and attribution notices from
the Source form of the Work, excluding those notices that do not pertain to
any part of the Derivative Works; and</li>
<li>If the Work includes a "NOTICE" text file as part of its distribution,
then any Derivative Works that You distribute must include a readable copy
of the attribution notices contained within such NOTICE file, excluding
those notices that do not pertain to any part of the Derivative Works, in
at least one of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or documentation,
if provided along with the Derivative Works; or, within a display generated
by the Derivative Works, if and wherever such third-party notices normally
appear. The contents of the NOTICE file are for informational purposes only
and do not modify the License. You may add Your own attribution notices
within Derivative Works that You distribute, alongside or as an addendum to
the NOTICE text from the Work, provided that such additional attribution
notices cannot be construed as modifying the License.
<br/>
<br/>
You may add Your own copyright statement to Your modifications and may
provide additional or different license terms and conditions for use,
reproduction, or distribution of Your modifications, or for any such
Derivative Works as a whole, provided Your use, reproduction, and
distribution of the Work otherwise complies with the conditions stated in
this License.
</li>
</ol>
<p><strong><a name="contributions">5. Submission of Contributions</a></strong>. Unless You
explicitly state otherwise, any Contribution intentionally submitted for
inclusion in the Work by You to the Licensor shall be under the terms and
conditions of this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify the
terms of any separate license agreement you may have executed with Licensor
regarding such Contributions.</p>
<p><strong><a name="trademarks">6. Trademarks</a></strong>. This License does not grant
permission to use the trade names, trademarks, service marks, or product
names of the Licensor, except as required for reasonable and customary use
in describing the origin of the Work and reproducing the content of the
NOTICE file.</p>
<p><strong><a name="no-warranty">7. Disclaimer of Warranty</a></strong>. Unless required by
applicable law or agreed to in writing, Licensor provides the Work (and
each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including,
without limitation, any warranties or conditions of TITLE,
NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You
are solely responsible for determining the appropriateness of using or
redistributing the Work and assume any risks associated with Your exercise
of permissions under this License.</p>
<p><strong><a name="no-liability">8. Limitation of Liability</a></strong>. In no event and
under no legal theory, whether in tort (including negligence), contract, or
otherwise, unless required by applicable law (such as deliberate and
grossly negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a result
of this License or out of the use or inability to use the Work (including
but not limited to damages for loss of goodwill, work stoppage, computer
failure or malfunction, or any and all other commercial damages or losses),
even if such Contributor has been advised of the possibility of such
damages.</p>
<p><strong><a name="additional">9. Accepting Warranty or Additional Liability</a></strong>.
While redistributing the Work or Derivative Works thereof, You may choose
to offer, and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this License.
However, in accepting such obligations, You may act only on Your own behalf
and on Your sole responsibility, not on behalf of any other Contributor,
and only if You agree to indemnify, defend, and hold each Contributor
harmless for any liability incurred by, or claims asserted against, such
Contributor by reason of your accepting any such warranty or additional
liability.</p>
</body>
</html>

View File

@@ -0,0 +1,245 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- saved from url=(0050)https://www.eclipse.org/org/documents/epl-v10.html -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>Eclipse Public License - Version 1.0</title>
</head>
<body cz-shortcut-listen="true" lang="EN-US">
<h2>Eclipse Public License - v 1.0</h2>
<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
AGREEMENT.</p>
<p><b>1. DEFINITIONS</b></p>
<p>"Contribution" means:</p>
<p class="list">a) in the case of the initial Contributor, the initial
code and documentation distributed under this Agreement, and</p>
<p class="list">b) in the case of each subsequent Contributor:</p>
<p class="list">i) changes to the Program, and</p>
<p class="list">ii) additions to the Program;</p>
<p class="list">where such changes and/or additions to the Program
originate from and are distributed by that particular Contributor. A
Contribution 'originates' from a Contributor if it was added to the
Program by such Contributor itself or anyone acting on such
Contributor's behalf. Contributions do not include additions to the
Program which: (i) are separate modules of software distributed in
conjunction with the Program under their own license agreement, and (ii)
are not derivative works of the Program.</p>
<p>"Contributor" means any person or entity that distributes
the Program.</p>
<p>"Licensed Patents" mean patent claims licensable by a
Contributor which are necessarily infringed by the use or sale of its
Contribution alone or when combined with the Program.</p>
<p>"Program" means the Contributions distributed in accordance
with this Agreement.</p>
<p>"Recipient" means anyone who receives the Program under
this Agreement, including all Contributors.</p>
<p><b>2. GRANT OF RIGHTS</b></p>
<p class="list">a) Subject to the terms of this Agreement, each
Contributor hereby grants Recipient a non-exclusive, worldwide,
royalty-free copyright license to reproduce, prepare derivative works
of, publicly display, publicly perform, distribute and sublicense the
Contribution of such Contributor, if any, and such derivative works, in
source code and object code form.</p>
<p class="list">b) Subject to the terms of this Agreement, each
Contributor hereby grants Recipient a non-exclusive, worldwide,
royalty-free patent license under Licensed Patents to make, use, sell,
offer to sell, import and otherwise transfer the Contribution of such
Contributor, if any, in source code and object code form. This patent
license shall apply to the combination of the Contribution and the
Program if, at the time the Contribution is added by the Contributor,
such addition of the Contribution causes such combination to be covered
by the Licensed Patents. The patent license shall not apply to any other
combinations which include the Contribution. No hardware per se is
licensed hereunder.</p>
<p class="list">c) Recipient understands that although each Contributor
grants the licenses to its Contributions set forth herein, no assurances
are provided by any Contributor that the Program does not infringe the
patent or other intellectual property rights of any other entity. Each
Contributor disclaims any liability to Recipient for claims brought by
any other entity based on infringement of intellectual property rights
or otherwise. As a condition to exercising the rights and licenses
granted hereunder, each Recipient hereby assumes sole responsibility to
secure any other intellectual property rights needed, if any. For
example, if a third party patent license is required to allow Recipient
to distribute the Program, it is Recipient's responsibility to acquire
that license before distributing the Program.</p>
<p class="list">d) Each Contributor represents that to its knowledge it
has sufficient copyright rights in its Contribution, if any, to grant
the copyright license set forth in this Agreement.</p>
<p><b>3. REQUIREMENTS</b></p>
<p>A Contributor may choose to distribute the Program in object code
form under its own license agreement, provided that:</p>
<p class="list">a) it complies with the terms and conditions of this
Agreement; and</p>
<p class="list">b) its license agreement:</p>
<p class="list">i) effectively disclaims on behalf of all Contributors
all warranties and conditions, express and implied, including warranties
or conditions of title and non-infringement, and implied warranties or
conditions of merchantability and fitness for a particular purpose;</p>
<p class="list">ii) effectively excludes on behalf of all Contributors
all liability for damages, including direct, indirect, special,
incidental and consequential damages, such as lost profits;</p>
<p class="list">iii) states that any provisions which differ from this
Agreement are offered by that Contributor alone and not by any other
party; and</p>
<p class="list">iv) states that source code for the Program is available
from such Contributor, and informs licensees how to obtain it in a
reasonable manner on or through a medium customarily used for software
exchange.</p>
<p>When the Program is made available in source code form:</p>
<p class="list">a) it must be made available under this Agreement; and</p>
<p class="list">b) a copy of this Agreement must be included with each
copy of the Program.</p>
<p>Contributors may not remove or alter any copyright notices contained
within the Program.</p>
<p>Each Contributor must identify itself as the originator of its
Contribution, if any, in a manner that reasonably allows subsequent
Recipients to identify the originator of the Contribution.</p>
<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
<p>Commercial distributors of software may accept certain
responsibilities with respect to end users, business partners and the
like. While this license is intended to facilitate the commercial use of
the Program, the Contributor who includes the Program in a commercial
product offering should do so in a manner which does not create
potential liability for other Contributors. Therefore, if a Contributor
includes the Program in a commercial product offering, such Contributor
("Commercial Contributor") hereby agrees to defend and
indemnify every other Contributor ("Indemnified Contributor")
against any losses, damages and costs (collectively "Losses")
arising from claims, lawsuits and other legal actions brought by a third
party against the Indemnified Contributor to the extent caused by the
acts or omissions of such Commercial Contributor in connection with its
distribution of the Program in a commercial product offering. The
obligations in this section do not apply to any claims or Losses
relating to any actual or alleged intellectual property infringement. In
order to qualify, an Indemnified Contributor must: a) promptly notify
the Commercial Contributor in writing of such claim, and b) allow the
Commercial Contributor to control, and cooperate with the Commercial
Contributor in, the defense and any related settlement negotiations. The
Indemnified Contributor may participate in any such claim at its own
expense.</p>
<p>For example, a Contributor might include the Program in a commercial
product offering, Product X. That Contributor is then a Commercial
Contributor. If that Commercial Contributor then makes performance
claims, or offers warranties related to Product X, those performance
claims and warranties are such Commercial Contributor's responsibility
alone. Under this section, the Commercial Contributor would have to
defend claims against the other Contributors related to those
performance claims and warranties, and if a court requires any other
Contributor to pay any damages as a result, the Commercial Contributor
must pay those damages.</p>
<p><b>5. NO WARRANTY</b></p>
<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
responsible for determining the appropriateness of using and
distributing the Program and assumes all risks associated with its
exercise of rights under this Agreement , including but not limited to
the risks and costs of program errors, compliance with applicable laws,
damage to or loss of data, programs or equipment, and unavailability or
interruption of operations.</p>
<p><b>6. DISCLAIMER OF LIABILITY</b></p>
<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
<p><b>7. GENERAL</b></p>
<p>If any provision of this Agreement is invalid or unenforceable under
applicable law, it shall not affect the validity or enforceability of
the remainder of the terms of this Agreement, and without further action
by the parties hereto, such provision shall be reformed to the minimum
extent necessary to make such provision valid and enforceable.</p>
<p>If Recipient institutes patent litigation against any entity
(including a cross-claim or counterclaim in a lawsuit) alleging that the
Program itself (excluding combinations of the Program with other
software or hardware) infringes such Recipient's patent(s), then such
Recipient's rights granted under Section 2(b) shall terminate as of the
date such litigation is filed.</p>
<p>All Recipient's rights under this Agreement shall terminate if it
fails to comply with any of the material terms or conditions of this
Agreement and does not cure such failure in a reasonable period of time
after becoming aware of such noncompliance. If all Recipient's rights
under this Agreement terminate, Recipient agrees to cease use and
distribution of the Program as soon as reasonably practicable. However,
Recipient's obligations under this Agreement and any licenses granted by
Recipient relating to the Program shall continue and survive.</p>
<p>Everyone is permitted to copy and distribute copies of this
Agreement, but in order to avoid inconsistency the Agreement is
copyrighted and may only be modified in the following manner. The
Agreement Steward reserves the right to publish new versions (including
revisions) of this Agreement from time to time. No one other than the
Agreement Steward has the right to modify this Agreement. The Eclipse
Foundation is the initial Agreement Steward. The Eclipse Foundation may
assign the responsibility to serve as the Agreement Steward to a
suitable separate entity. Each new version of the Agreement will be
given a distinguishing version number. The Program (including
Contributions) may always be distributed subject to the version of the
Agreement under which it was received. In addition, after a new version
of the Agreement is published, Contributor may elect to distribute the
Program (including its Contributions) under the new version. Except as
expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
rights or licenses to the intellectual property of any Contributor under
this Agreement, whether expressly, by implication, estoppel or
otherwise. All rights in the Program not expressly granted under this
Agreement are reserved.</p>
<p>This Agreement is governed by the laws of the State of New York and
the intellectual property laws of the United States of America. No party
to this Agreement will bring a legal action under this Agreement more
than one year after the cause of action arose. Each party waives its
rights to a jury trial in any resulting litigation.</p>
</body>
</html>

View File

@@ -0,0 +1,639 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>GNU General Public License v3.0 - GNU Project - Free Software Foundation (FSF)</title>
<link rel="alternate" type="application/rdf+xml"
href="http://www.gnu.org/licenses/gpl-3.0.rdf" />
</head>
<body>
<h3 style="text-align: center;">GNU GENERAL PUBLIC LICENSE</h3>
<p style="text-align: center;">Version 3, 29 June 2007</p>
<p>Copyright &copy; 2007 Free Software Foundation, Inc.
&lt;<a href="http://fsf.org/">http://fsf.org/</a>&gt;</p><p>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.</p>
<h3><a name="preamble"></a>Preamble</h3>
<p>The GNU General Public License is a free, copyleft license for
software and other kinds of works.</p>
<p>The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.</p>
<p>When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.</p>
<p>To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.</p>
<p>For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.</p>
<p>Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.</p>
<p>For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.</p>
<p>Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.</p>
<p>Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.</p>
<p>The precise terms and conditions for copying, distribution and
modification follow.</p>
<h3><a name="terms"></a>TERMS AND CONDITIONS</h3>
<h4><a name="section0"></a>0. Definitions.</h4>
<p>&ldquo;This License&rdquo; refers to version 3 of the GNU General Public License.</p>
<p>&ldquo;Copyright&rdquo; also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.</p>
<p>&ldquo;The Program&rdquo; refers to any copyrightable work licensed under this
License. Each licensee is addressed as &ldquo;you&rdquo;. &ldquo;Licensees&rdquo; and
&ldquo;recipients&rdquo; may be individuals or organizations.</p>
<p>To &ldquo;modify&rdquo; a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a &ldquo;modified version&rdquo; of the
earlier work or a work &ldquo;based on&rdquo; the earlier work.</p>
<p>A &ldquo;covered work&rdquo; means either the unmodified Program or a work based
on the Program.</p>
<p>To &ldquo;propagate&rdquo; a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.</p>
<p>To &ldquo;convey&rdquo; a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.</p>
<p>An interactive user interface displays &ldquo;Appropriate Legal Notices&rdquo;
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.</p>
<h4><a name="section1"></a>1. Source Code.</h4>
<p>The &ldquo;source code&rdquo; for a work means the preferred form of the work
for making modifications to it. &ldquo;Object code&rdquo; means any non-source
form of a work.</p>
<p>A &ldquo;Standard Interface&rdquo; means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.</p>
<p>The &ldquo;System Libraries&rdquo; of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
&ldquo;Major Component&rdquo;, in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.</p>
<p>The &ldquo;Corresponding Source&rdquo; for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.</p>
<p>The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.</p>
<p>The Corresponding Source for a work in source code form is that
same work.</p>
<h4><a name="section2"></a>2. Basic Permissions.</h4>
<p>All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.</p>
<p>You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.</p>
<p>Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.</p>
<h4><a name="section3"></a>3. Protecting Users' Legal Rights From Anti-Circumvention Law.</h4>
<p>No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.</p>
<p>When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.</p>
<h4><a name="section4"></a>4. Conveying Verbatim Copies.</h4>
<p>You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.</p>
<p>You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.</p>
<h4><a name="section5"></a>5. Conveying Modified Source Versions.</h4>
<p>You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:</p>
<ul>
<li>a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.</li>
<li>b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
&ldquo;keep intact all notices&rdquo;.</li>
<li>c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.</li>
<li>d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.</li>
</ul>
<p>A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
&ldquo;aggregate&rdquo; if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.</p>
<h4><a name="section6"></a>6. Conveying Non-Source Forms.</h4>
<p>You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:</p>
<ul>
<li>a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.</li>
<li>b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.</li>
<li>c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.</li>
<li>d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.</li>
<li>e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.</li>
</ul>
<p>A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.</p>
<p>A &ldquo;User Product&rdquo; is either (1) a &ldquo;consumer product&rdquo;, which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, &ldquo;normally used&rdquo; refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.</p>
<p>&ldquo;Installation Information&rdquo; for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.</p>
<p>If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).</p>
<p>The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.</p>
<p>Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.</p>
<h4><a name="section7"></a>7. Additional Terms.</h4>
<p>&ldquo;Additional permissions&rdquo; are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.</p>
<p>When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.</p>
<p>Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:</p>
<ul>
<li>a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or</li>
<li>b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or</li>
<li>c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or</li>
<li>d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or</li>
<li>e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or</li>
<li>f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.</li>
</ul>
<p>All other non-permissive additional terms are considered &ldquo;further
restrictions&rdquo; within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.</p>
<p>If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.</p>
<p>Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.</p>
<h4><a name="section8"></a>8. Termination.</h4>
<p>You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).</p>
<p>However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.</p>
<p>Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.</p>
<p>Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.</p>
<h4><a name="section9"></a>9. Acceptance Not Required for Having Copies.</h4>
<p>You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.</p>
<h4><a name="section10"></a>10. Automatic Licensing of Downstream Recipients.</h4>
<p>Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.</p>
<p>An &ldquo;entity transaction&rdquo; is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.</p>
<p>You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.</p>
<h4><a name="section11"></a>11. Patents.</h4>
<p>A &ldquo;contributor&rdquo; is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's &ldquo;contributor version&rdquo;.</p>
<p>A contributor's &ldquo;essential patent claims&rdquo; are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, &ldquo;control&rdquo; includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.</p>
<p>Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.</p>
<p>In the following three paragraphs, a &ldquo;patent license&rdquo; is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To &ldquo;grant&rdquo; such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.</p>
<p>If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. &ldquo;Knowingly relying&rdquo; means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.</p>
<p>If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.</p>
<p>A patent license is &ldquo;discriminatory&rdquo; if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.</p>
<p>Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.</p>
<h4><a name="section12"></a>12. No Surrender of Others' Freedom.</h4>
<p>If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.</p>
<h4><a name="section13"></a>13. Use with the GNU Affero General Public License.</h4>
<p>Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.</p>
<h4><a name="section14"></a>14. Revised Versions of this License.</h4>
<p>The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.</p>
<p>Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License &ldquo;or any later version&rdquo; applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.</p>
<p>If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.</p>
<p>Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.</p>
<h4><a name="section15"></a>15. Disclaimer of Warranty.</h4>
<p>THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM &ldquo;AS IS&rdquo; WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.</p>
<h4><a name="section16"></a>16. Limitation of Liability.</h4>
<p>IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.</p>
<h4><a name="section17"></a>17. Interpretation of Sections 15 and 16.</h4>
<p>If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.</p>
</body></html>

View File

@@ -0,0 +1,26 @@
<html>
<head></head>
<body>
<p>Copyright (c) &lt;year&gt; &lt;copyright holders&gt;</p>
<p>Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:</p>
<p>
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.</p>
<p>
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.<br />
NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
</body>
</html>

View File

@@ -0,0 +1,261 @@
<!DOCTYPE html>
<!-- saved from url=(0038)https://www.mozilla.org/en-US/MPL/2.0/ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Mozilla Public License, version 2.0</title>
</head>
<body>
<h1 id="mozilla-public-license-version-2.0">Mozilla Public License<br>Version 2.0</h1>
<h2 id="definitions">1. Definitions</h2>
<dl>
<dt>1.1. “Contributor”</dt>
<dd><p>means each individual or legal entity that creates, contributes to the creation of, or
owns Covered Software.</p>
</dd>
<dt>1.2. “Contributor Version”</dt>
<dd><p>means the combination of the Contributions of others (if any) used by a Contributor and
that particular Contributors Contribution.</p>
</dd>
<dt>1.3. “Contribution”</dt>
<dd><p>means Covered Software of a particular Contributor.</p>
</dd>
<dt>1.4. “Covered Software”</dt>
<dd><p>means Source Code Form to which the initial Contributor has attached the notice in
Exhibit A, the Executable Form of such Source Code Form, and Modifications of such Source
Code Form, in each case including portions thereof.</p>
</dd>
<dt>1.5. “Incompatible With Secondary Licenses”</dt>
<dd><p>means</p>
<ol type="a">
<li><p>that the initial Contributor has attached the notice described in Exhibit B to
the Covered Software; or</p></li>
<li><p>that the Covered Software was made available under the terms of version 1.1 or
earlier of the License, but not also under the terms of a Secondary License.</p>
</li>
</ol>
</dd>
<dt>1.6. “Executable Form”</dt>
<dd><p>means any form of the work other than Source Code Form.</p>
</dd>
<dt>1.7. “Larger Work”</dt>
<dd><p>means a work that combines Covered Software with other material, in a separate file or
files, that is not Covered Software.</p>
</dd>
<dt>1.8. “License”</dt>
<dd><p>means this document.</p>
</dd>
<dt>1.9. “Licensable”</dt>
<dd><p>means having the right to grant, to the maximum extent possible, whether at the time of
the initial grant or subsequently, any and all of the rights conveyed by this License.</p>
</dd>
<dt>1.10. “Modifications”</dt>
<dd><p>means any of the following:</p>
<ol type="a">
<li><p>any file in Source Code Form that results from an addition to, deletion from, or
modification of the contents of Covered Software; or</p></li>
<li><p>any new file in Source Code Form that contains any Covered Software.</p></li>
</ol>
</dd>
<dt>1.11. “Patent Claims” of a Contributor</dt>
<dd><p>means any patent claim(s), including without limitation, method, process, and apparatus
claims, in any patent Licensable by such Contributor that would be infringed, but for the
grant of the License, by the making, using, selling, offering for sale, having made, import,
or transfer of either its Contributions or its Contributor Version.</p>
</dd>
<dt>1.12. “Secondary License”</dt>
<dd><p>means either the GNU General Public License, Version 2.0, the GNU Lesser General Public
License, Version 2.1, the GNU Affero General Public License, Version 3.0, or any later
versions of those licenses.</p>
</dd>
<dt>1.13. “Source Code Form”</dt>
<dd><p>means the form of the work preferred for making modifications.</p>
</dd>
<dt>1.14. “You” (or “Your”)</dt>
<dd><p>means an individual or a legal entity exercising rights under this License. For legal
entities, “You” includes any entity that controls, is controlled by, or is under common
control with You. For purposes of this definition, “control” means (a) the power, direct or
indirect, to cause the direction or management of such entity, whether by contract or
otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or
beneficial ownership of such entity.</p>
</dd>
</dl>
<h2 id="license-grants-and-conditions">2. License Grants and Conditions</h2>
<h3 id="grants">2.1. Grants</h3>
<p>Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license:</p>
<ol type="a">
<li><p>under intellectual property rights (other than patent or trademark) Licensable by such
Contributor to use, reproduce, make available, modify, display, perform, distribute, and
otherwise exploit its Contributions, either on an unmodified basis, with Modifications, or
as part of a Larger Work; and</p></li>
<li><p>under Patent Claims of such Contributor to make, use, sell, offer for sale, have made,
import, and otherwise transfer either its Contributions or its Contributor Version.</p></li>
</ol>
<h3 id="effective-date">2.2. Effective Date</h3>
<p>The licenses granted in Section&nbsp;2.1 with respect to any Contribution become effective for
each Contribution on the date the Contributor first distributes such Contribution.</p>
<h3 id="limitations-on-grant-scope">2.3. Limitations on Grant Scope</h3>
<p>The licenses granted in this Section&nbsp;2 are the only rights granted under this License. No
additional rights or licenses will be implied from the distribution or licensing of Covered
Software under this License. Notwithstanding Section&nbsp;2.1(b) above, no patent license is
granted by a Contributor:</p>
<ol type="a">
<li><p>for any code that a Contributor has removed from Covered Software; or</p></li>
<li><p>for infringements caused by: (i) Your and any other third partys modifications of
Covered Software, or (ii) the combination of its Contributions with other software (except
as part of its Contributor Version); or</p></li>
<li><p>under Patent Claims infringed by Covered Software in the absence of its
Contributions.</p></li>
</ol>
<p>This License does not grant any rights in the trademarks, service marks, or logos of any
Contributor (except as may be necessary to comply with the notice requirements in Section&nbsp;3.4).</p>
<h3 id="subsequent-licenses">2.4. Subsequent Licenses</h3>
<p>No Contributor makes additional grants as a result of Your choice to distribute the Covered
Software under a subsequent version of this License (see Section&nbsp;10.2) or under the terms
of a Secondary License (if permitted under the terms of Section&nbsp;3.3).</p>
<h3 id="representation">2.5. Representation</h3>
<p>Each Contributor represents that the Contributor believes its Contributions are its original
creation(s) or it has sufficient rights to grant the rights to its Contributions conveyed by
this License.</p>
<h3 id="fair-use">2.6. Fair Use</h3>
<p>This License is not intended to limit any rights You have under applicable copyright doctrines of
fair use, fair dealing, or other equivalents.</p>
<h3 id="conditions">2.7. Conditions</h3>
<p>Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in Section&nbsp;2.1.</p>
<h2 id="responsibilities">3. Responsibilities</h2>
<h3 id="distribution-of-source-form">3.1. Distribution of Source Form</h3>
<p>All distribution of Covered Software in Source Code Form, including any Modifications that You
create or to which You contribute, must be under the terms of this License. You must inform
recipients that the Source Code Form of the Covered Software is governed by the terms of this
License, and how they can obtain a copy of this License. You may not attempt to alter or
restrict the recipients rights in the Source Code Form.</p>
<h3 id="distribution-of-executable-form">3.2. Distribution of Executable Form</h3>
<p>If You distribute Covered Software in Executable Form then:</p>
<ol type="a">
<li><p>such Covered Software must also be made available in Source Code Form, as described in
Section&nbsp;3.1, and You must inform recipients of the Executable Form how they can obtain
a copy of such Source Code Form by reasonable means in a timely manner, at a charge no more
than the cost of distribution to the recipient; and</p></li>
<li><p>You may distribute such Executable Form under the terms of this License, or sublicense it
under different terms, provided that the license for the Executable Form does not attempt to
limit or alter the recipients rights in the Source Code Form under this License.</p></li>
</ol>
<h3 id="distribution-of-a-larger-work">3.3. Distribution of a Larger Work</h3>
<p>You may create and distribute a Larger Work under terms of Your choice, provided that You also
comply with the requirements of this License for the Covered Software. If the Larger Work is a
combination of Covered Software with a work governed by one or more Secondary Licenses, and the
Covered Software is not Incompatible With Secondary Licenses, this License permits You to
additionally distribute such Covered Software under the terms of such Secondary License(s), so
that the recipient of the Larger Work may, at their option, further distribute the Covered
Software under the terms of either this License or such Secondary License(s).</p>
<h3 id="notices">3.4. Notices</h3>
<p>You may not remove or alter the substance of any license notices (including copyright notices,
patent notices, disclaimers of warranty, or limitations of liability) contained within the
Source Code Form of the Covered Software, except that You may alter any license notices to the
extent required to remedy known factual inaccuracies.</p>
<h3 id="application-of-additional-terms">3.5. Application of Additional Terms</h3>
<p>You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability
obligations to one or more recipients of Covered Software. However, You may do so only on Your
own behalf, and not on behalf of any Contributor. You must make it absolutely clear that any
such warranty, support, indemnity, or liability obligation is offered by You alone, and You
hereby agree to indemnify every Contributor for any liability incurred by such Contributor as a
result of warranty, support, indemnity or liability terms You offer. You may include additional
disclaimers of warranty and limitations of liability specific to any jurisdiction.</p>
<h2 id="inability-to-comply-due-to-statute-or-regulation">4. Inability to Comply Due to Statute or
Regulation</h2>
<p>If it is impossible for You to comply with any of the terms of this License with respect to some
or all of the Covered Software due to statute, judicial order, or regulation then You must: (a)
comply with the terms of this License to the maximum extent possible; and (b) describe the
limitations and the code they affect. Such description must be placed in a text file included
with all distributions of the Covered Software under this License. Except to the extent
prohibited by statute or regulation, such description must be sufficiently detailed for a
recipient of ordinary skill to be able to understand it.</p>
<h2 id="termination">5. Termination</h2>
<p>5.1. The rights granted under this License will terminate automatically if You fail to comply
with any of its terms. However, if You become compliant, then the rights granted under this
License from a particular Contributor are reinstated (a) provisionally, unless and until such
Contributor explicitly and finally terminates Your grants, and (b) on an ongoing basis, if such
Contributor fails to notify You of the non-compliance by some reasonable means prior to 60 days
after You have come back into compliance. Moreover, Your grants from a particular Contributor
are reinstated on an ongoing basis if such Contributor notifies You of the non-compliance by
some reasonable means, this is the first time You have received notice of non-compliance with
this License from such Contributor, and You become compliant prior to 30 days after Your receipt
of the notice.</p>
<p>5.2. If You initiate litigation against any entity by asserting a patent infringement claim
(excluding declaratory judgment actions, counter-claims, and cross-claims) alleging that a
Contributor Version directly or indirectly infringes any patent, then the rights granted to You
by any and all Contributors for the Covered Software under Section&nbsp;2.1 of this License
shall terminate.</p>
<p>5.3. In the event of termination under Sections&nbsp;5.1 or 5.2 above, all end user license
agreements (excluding distributors and resellers) which have been validly granted by You or Your
distributors under this License prior to termination shall survive termination.</p>
<h2 id="disclaimer-of-warranty">6. Disclaimer of Warranty</h2>
<p><em>Covered Software is provided under this License on an “as is” basis, without warranty of any
kind, either expressed, implied, or statutory, including, without limitation, warranties that
the Covered Software is free of defects, merchantable, fit for a particular purpose or
non-infringing. The entire risk as to the quality and performance of the Covered Software is
with You. Should any Covered Software prove defective in any respect, You (not any Contributor)
assume the cost of any necessary servicing, repair, or correction. This disclaimer of warranty
constitutes an essential part of this License. No use of any Covered Software is authorized
under this License except under this disclaimer.</em></p>
<h2 id="limitation-of-liability">7. Limitation of Liability</h2>
<p><em>Under no circumstances and under no legal theory, whether tort (including negligence),
contract, or otherwise, shall any Contributor, or anyone who distributes Covered Software as
permitted above, be liable to You for any direct, indirect, special, incidental, or
consequential damages of any character including, without limitation, damages for lost profits,
loss of goodwill, work stoppage, computer failure or malfunction, or any and all other
commercial damages or losses, even if such party shall have been informed of the possibility of
such damages. This limitation of liability shall not apply to liability for death or personal
injury resulting from such partys negligence to the extent applicable law prohibits such
limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or
consequential damages, so this exclusion and limitation may not apply to You.</em></p>
<h2 id="litigation">8. Litigation</h2>
<p>Any litigation relating to this License may be brought only in the courts of a jurisdiction where
the defendant maintains its principal place of business and such litigation shall be governed by
laws of that jurisdiction, without reference to its conflict-of-law provisions. Nothing in this
Section shall prevent a partys ability to bring cross-claims or counter-claims.</p>
<h2 id="miscellaneous">9. Miscellaneous</h2>
<p>This License represents the complete agreement concerning the subject matter hereof. If any
provision of this License is held to be unenforceable, such provision shall be reformed only to
the extent necessary to make it enforceable. Any law or regulation which provides that the
language of a contract shall be construed against the drafter shall not be used to construe this
License against a Contributor.</p>
<h2 id="versions-of-the-license">10. Versions of the License</h2>
<h3 id="new-versions">10.1. New Versions</h3>
<p>Mozilla Foundation is the license steward. Except as provided in Section&nbsp;10.3, no one other
than the license steward has the right to modify or publish new versions of this License. Each
version will be given a distinguishing version number.</p>
<h3 id="effect-of-new-versions">10.2. Effect of New Versions</h3>
<p>You may distribute the Covered Software under the terms of the version of the License under which
You originally received the Covered Software, or under the terms of any subsequent version
published by the license steward.</p>
<h3 id="modified-versions">10.3. Modified Versions</h3>
<p>If you create software not governed by this License, and you want to create a new license for
such software, you may create and use a modified version of this License if you rename the
license and remove any references to the name of the license steward (except to note that such
modified license differs from this License).</p>
<h3 id="distributing-source-code-form-that-is-incompatible-with-secondary-licenses">10.4.
Distributing Source Code Form that is Incompatible With Secondary Licenses</h3>
<p>If You choose to distribute Source Code Form that is Incompatible With Secondary Licenses under
the terms of this version of the License, the notice described in Exhibit B of this License must
be attached.</p>
<h2 id="exhibit-a---source-code-form-license-notice">Exhibit A - Source Code Form License
Notice</h2>
<blockquote>
<p>This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a
copy of the MPL was not distributed with this file, You can obtain one at
https://mozilla.org/MPL/2.0/.</p>
</blockquote>
<p>If it is not possible or desirable to put the notice in a particular file, then You may include
the notice in a location (such as a LICENSE file in a relevant directory) where a recipient
would be likely to look for such a notice.</p>
<p>You may add additional accurate notices of copyright ownership.</p>
<h2 id="exhibit-b---incompatible-with-secondary-licenses-notice">Exhibit B - “Incompatible With
Secondary Licenses” Notice</h2>
<blockquote>
<p>This Source Code Form is “Incompatible With Secondary Licenses”, as defined by the Mozilla
Public License, v. 2.0.</p>
</blockquote>
</body>
</html>

View File

@@ -0,0 +1,346 @@
/*
* Copyright 2018 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package androidx.fragment.app;
import android.os.Bundle;
import android.os.Parcelable;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.IntDef;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.lifecycle.Lifecycle;
import androidx.viewpager.widget.PagerAdapter;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
// TODO: Replace this deprecated class with its ViewPager2 counterpart
/**
* This is a copy from {@link androidx.fragment.app.FragmentStatePagerAdapter}.
* <p>
* It includes a workaround to fix the menu visibility when the adapter is restored.
* </p>
* <p>
* When restoring the state of this adapter, all the fragments' menu visibility were set to false,
* effectively disabling the menu from the user until he switched pages or another event
* that triggered the menu to be visible again happened.
* </p>
* <p>
* <b>Check out the changes in:</b>
* </p>
* <ul>
* <li>{@link #saveState()}</li>
* <li>{@link #restoreState(Parcelable, ClassLoader)}</li>
* </ul>
*
* @deprecated Switch to {@link androidx.viewpager2.widget.ViewPager2} and use
* {@link androidx.viewpager2.adapter.FragmentStateAdapter} instead.
*/
@SuppressWarnings("deprecation")
@Deprecated
public abstract class FragmentStatePagerAdapterMenuWorkaround extends PagerAdapter {
private static final String TAG = "FragmentStatePagerAdapt";
private static final boolean DEBUG = false;
@Retention(RetentionPolicy.SOURCE)
@IntDef({BEHAVIOR_SET_USER_VISIBLE_HINT, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT})
private @interface Behavior { }
/**
* Indicates that {@link Fragment#setUserVisibleHint(boolean)} will be called when the current
* fragment changes.
*
* @deprecated This behavior relies on the deprecated
* {@link Fragment#setUserVisibleHint(boolean)} API. Use
* {@link #BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT} to switch to its replacement,
* {@link FragmentTransaction#setMaxLifecycle}.
* @see #FragmentStatePagerAdapterMenuWorkaround(FragmentManager, int)
*/
@Deprecated
public static final int BEHAVIOR_SET_USER_VISIBLE_HINT = 0;
/**
* Indicates that only the current fragment will be in the {@link Lifecycle.State#RESUMED}
* state. All other Fragments are capped at {@link Lifecycle.State#STARTED}.
*
* @see #FragmentStatePagerAdapterMenuWorkaround(FragmentManager, int)
*/
public static final int BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT = 1;
private final FragmentManager mFragmentManager;
private final int mBehavior;
private FragmentTransaction mCurTransaction = null;
private final ArrayList<Fragment.SavedState> mSavedState = new ArrayList<>();
private final ArrayList<Fragment> mFragments = new ArrayList<>();
private Fragment mCurrentPrimaryItem = null;
private boolean mExecutingFinishUpdate;
/**
* Constructor for {@link FragmentStatePagerAdapterMenuWorkaround}
* that sets the fragment manager for the adapter. This is the equivalent of calling
* {@link #FragmentStatePagerAdapterMenuWorkaround(FragmentManager, int)} and passing in
* {@link #BEHAVIOR_SET_USER_VISIBLE_HINT}.
*
* <p>Fragments will have {@link Fragment#setUserVisibleHint(boolean)} called whenever the
* current Fragment changes.</p>
*
* @param fm fragment manager that will interact with this adapter
* @deprecated use {@link #FragmentStatePagerAdapterMenuWorkaround(FragmentManager, int)} with
* {@link #BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT}
*/
@Deprecated
public FragmentStatePagerAdapterMenuWorkaround(@NonNull final FragmentManager fm) {
this(fm, BEHAVIOR_SET_USER_VISIBLE_HINT);
}
/**
* Constructor for {@link FragmentStatePagerAdapterMenuWorkaround}.
*
* If {@link #BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT} is passed in, then only the current
* Fragment is in the {@link Lifecycle.State#RESUMED} state, while all other fragments are
* capped at {@link Lifecycle.State#STARTED}. If {@link #BEHAVIOR_SET_USER_VISIBLE_HINT} is
* passed, all fragments are in the {@link Lifecycle.State#RESUMED} state and there will be
* callbacks to {@link Fragment#setUserVisibleHint(boolean)}.
*
* @param fm fragment manager that will interact with this adapter
* @param behavior determines if only current fragments are in a resumed state
*/
public FragmentStatePagerAdapterMenuWorkaround(@NonNull final FragmentManager fm,
@Behavior final int behavior) {
mFragmentManager = fm;
mBehavior = behavior;
}
/**
* @param position the position of the item you want
* @return the {@link Fragment} associated with a specified position
*/
@NonNull
public abstract Fragment getItem(int position);
@Override
public void startUpdate(@NonNull final ViewGroup container) {
if (container.getId() == View.NO_ID) {
throw new IllegalStateException("ViewPager with adapter " + this
+ " requires a view id");
}
}
@SuppressWarnings("deprecation")
@NonNull
@Override
public Object instantiateItem(@NonNull final ViewGroup container, final int position) {
// If we already have this item instantiated, there is nothing
// to do. This can happen when we are restoring the entire pager
// from its saved state, where the fragment manager has already
// taken care of restoring the fragments we previously had instantiated.
if (mFragments.size() > position) {
final Fragment f = mFragments.get(position);
if (f != null) {
return f;
}
}
if (mCurTransaction == null) {
mCurTransaction = mFragmentManager.beginTransaction();
}
final Fragment fragment = getItem(position);
if (DEBUG) {
Log.v(TAG, "Adding item #" + position + ": f=" + fragment);
}
if (mSavedState.size() > position) {
final Fragment.SavedState fss = mSavedState.get(position);
if (fss != null) {
fragment.setInitialSavedState(fss);
}
}
while (mFragments.size() <= position) {
mFragments.add(null);
}
fragment.setMenuVisibility(false);
if (mBehavior == BEHAVIOR_SET_USER_VISIBLE_HINT) {
fragment.setUserVisibleHint(false);
}
mFragments.set(position, fragment);
mCurTransaction.add(container.getId(), fragment);
if (mBehavior == BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) {
mCurTransaction.setMaxLifecycle(fragment, Lifecycle.State.STARTED);
}
return fragment;
}
@Override
public void destroyItem(@NonNull final ViewGroup container, final int position,
@NonNull final Object object) {
final Fragment fragment = (Fragment) object;
if (mCurTransaction == null) {
mCurTransaction = mFragmentManager.beginTransaction();
}
if (DEBUG) {
Log.v(TAG, "Removing item #" + position + ": f=" + object
+ " v=" + ((Fragment) object).getView());
}
while (mSavedState.size() <= position) {
mSavedState.add(null);
}
mSavedState.set(position, fragment.isAdded()
? mFragmentManager.saveFragmentInstanceState(fragment) : null);
mFragments.set(position, null);
mCurTransaction.remove(fragment);
if (fragment.equals(mCurrentPrimaryItem)) {
mCurrentPrimaryItem = null;
}
}
@Override
@SuppressWarnings({"ReferenceEquality", "deprecation"})
public void setPrimaryItem(@NonNull final ViewGroup container, final int position,
@NonNull final Object object) {
final Fragment fragment = (Fragment) object;
if (fragment != mCurrentPrimaryItem) {
if (mCurrentPrimaryItem != null) {
mCurrentPrimaryItem.setMenuVisibility(false);
if (mBehavior == BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) {
if (mCurTransaction == null) {
mCurTransaction = mFragmentManager.beginTransaction();
}
mCurTransaction.setMaxLifecycle(mCurrentPrimaryItem, Lifecycle.State.STARTED);
} else {
mCurrentPrimaryItem.setUserVisibleHint(false);
}
}
fragment.setMenuVisibility(true);
if (mBehavior == BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) {
if (mCurTransaction == null) {
mCurTransaction = mFragmentManager.beginTransaction();
}
mCurTransaction.setMaxLifecycle(fragment, Lifecycle.State.RESUMED);
} else {
fragment.setUserVisibleHint(true);
}
mCurrentPrimaryItem = fragment;
}
}
@Override
public void finishUpdate(@NonNull final ViewGroup container) {
if (mCurTransaction != null) {
// We drop any transactions that attempt to be committed
// from a re-entrant call to finishUpdate(). We need to
// do this as a workaround for Robolectric running measure/layout
// calls inline rather than allowing them to be posted
// as they would on a real device.
if (!mExecutingFinishUpdate) {
try {
mExecutingFinishUpdate = true;
mCurTransaction.commitNowAllowingStateLoss();
} finally {
mExecutingFinishUpdate = false;
}
}
mCurTransaction = null;
}
}
@Override
public boolean isViewFromObject(@NonNull final View view, @NonNull final Object object) {
return ((Fragment) object).getView() == view;
}
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
private final String selectedFragment = "selected_fragment";
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@Override
@Nullable
public Parcelable saveState() {
Bundle state = null;
if (mSavedState.size() > 0) {
state = new Bundle();
final Fragment.SavedState[] fss = new Fragment.SavedState[mSavedState.size()];
mSavedState.toArray(fss);
state.putParcelableArray("states", fss);
}
for (int i = 0; i < mFragments.size(); i++) {
final Fragment f = mFragments.get(i);
if (f != null && f.isAdded()) {
if (state == null) {
state = new Bundle();
}
final String key = "f" + i;
mFragmentManager.putFragment(state, key, f);
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// Check if it's the same fragment instance
if (f == mCurrentPrimaryItem) {
state.putString(selectedFragment, key);
}
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
}
}
return state;
}
@Override
public void restoreState(@Nullable final Parcelable state, @Nullable final ClassLoader loader) {
if (state != null) {
final Bundle bundle = (Bundle) state;
bundle.setClassLoader(loader);
final Parcelable[] fss = bundle.getParcelableArray("states");
mSavedState.clear();
mFragments.clear();
if (fss != null) {
for (final Parcelable parcelable : fss) {
mSavedState.add((Fragment.SavedState) parcelable);
}
}
final Iterable<String> keys = bundle.keySet();
for (final String key : keys) {
if (key.startsWith("f")) {
final int index = Integer.parseInt(key.substring(1));
final Fragment f = mFragmentManager.getFragment(bundle, key);
if (f != null) {
while (mFragments.size() <= index) {
mFragments.add(null);
}
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
final boolean wasSelected = bundle.getString(selectedFragment, "")
.equals(key);
f.setMenuVisibility(wasSelected);
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
mFragments.set(index, f);
} else {
Log.w(TAG, "Bad fragment at key " + key);
}
}
}
}
}
}

View File

@@ -0,0 +1,166 @@
package com.google.android.material.appbar;
import android.content.Context;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import android.widget.OverScroller;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
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
public final class FlingBehavior extends AppBarLayout.Behavior {
private final Rect focusScrollRect = new Rect();
public FlingBehavior(final Context context, final AttributeSet attrs) {
super(context, attrs);
}
private boolean allowScroll = true;
private final Rect globalRect = new Rect();
private final List<Integer> skipInterceptionOfElements = Arrays.asList(
R.id.itemsListPanel, R.id.playbackSeekBar,
R.id.playPauseButton, R.id.playPreviousButton, R.id.playNextButton);
@Override
public boolean onRequestChildRectangleOnScreen(
@NonNull final CoordinatorLayout coordinatorLayout, @NonNull final AppBarLayout child,
@NonNull final Rect rectangle, final boolean immediate) {
focusScrollRect.set(rectangle);
coordinatorLayout.offsetDescendantRectToMyCoords(child, focusScrollRect);
final int height = coordinatorLayout.getHeight();
if (focusScrollRect.top <= 0 && focusScrollRect.bottom >= height) {
// the child is too big to fit inside ourselves completely, ignore request
return false;
}
final int dy;
if (focusScrollRect.bottom > height) {
dy = focusScrollRect.top;
} else if (focusScrollRect.top < 0) {
// scrolling up
dy = -(height - focusScrollRect.bottom);
} else {
// nothing to do
return false;
}
final int consumed = scroll(coordinatorLayout, child, dy, getMaxDragOffset(child), 0);
return consumed == dy;
}
@Override
public boolean onInterceptTouchEvent(@NonNull final CoordinatorLayout parent,
@NonNull final AppBarLayout child,
@NonNull final MotionEvent ev) {
for (final Integer element : skipInterceptionOfElements) {
final View view = child.findViewById(element);
if (view != null) {
final boolean visible = view.getGlobalVisibleRect(globalRect);
if (visible && globalRect.contains((int) ev.getRawX(), (int) ev.getRawY())) {
allowScroll = false;
return false;
}
}
}
allowScroll = true;
switch (ev.getActionMasked()) {
case MotionEvent.ACTION_DOWN:
// remove reference to old nested scrolling child
resetNestedScrollingChild();
// Stop fling when your finger touches the screen
stopAppBarLayoutFling();
break;
default:
break;
}
return super.onInterceptTouchEvent(parent, child, ev);
}
@Override
public boolean onStartNestedScroll(@NonNull final CoordinatorLayout parent,
@NonNull final AppBarLayout child,
@NonNull final View directTargetChild,
final View target,
final int nestedScrollAxes,
final int type) {
return allowScroll && super.onStartNestedScroll(
parent, child, directTargetChild, target, nestedScrollAxes, type);
}
@Override
public boolean onNestedFling(@NonNull final CoordinatorLayout coordinatorLayout,
@NonNull final AppBarLayout child,
@NonNull final View target, final float velocityX,
final float velocityY, final boolean consumed) {
return allowScroll && super.onNestedFling(
coordinatorLayout, child, target, velocityX, velocityY, consumed);
}
@Nullable
private OverScroller getScrollerField() {
try {
final Class<?> headerBehaviorType = this.getClass()
.getSuperclass().getSuperclass().getSuperclass();
if (headerBehaviorType != null) {
final Field field = headerBehaviorType.getDeclaredField("scroller");
field.setAccessible(true);
return ((OverScroller) field.get(this));
}
} catch (final NoSuchFieldException | IllegalAccessException e) {
// ?
}
return null;
}
@Nullable
private Field getLastNestedScrollingChildRefField() {
try {
final Class<?> headerBehaviorType = this.getClass().getSuperclass().getSuperclass();
if (headerBehaviorType != null) {
final Field field
= headerBehaviorType.getDeclaredField("lastNestedScrollingChildRef");
field.setAccessible(true);
return field;
}
} catch (final NoSuchFieldException e) {
// ?
}
return null;
}
private void resetNestedScrollingChild() {
final Field field = getLastNestedScrollingChildRefField();
if (field != null) {
try {
final Object value = field.get(this);
if (value != null) {
field.set(this, null);
}
} catch (final IllegalAccessException e) {
// ?
}
}
}
private void stopAppBarLayoutFling() {
final OverScroller scroller = getScrollerField();
if (scroller != null) {
scroller.forceFinished(true);
}
}
}

View File

@@ -0,0 +1,148 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.commons.text.similarity;
import java.util.Locale;
/**
* A matching algorithm that is similar to the searching algorithms implemented in editors such
* as Sublime Text, TextMate, Atom and others.
*
* <p>
* One point is given for every matched character. Subsequent matches yield two bonus points.
* A higher score indicates a higher similarity.
* </p>
*
* <p>
* This code has been adapted from Apache Commons Lang 3.3.
* </p>
*
* @since 1.0
*
* Note: This class was forked from
* <a href="https://git.io/JyYJg">
* apache/commons-text (8cfdafc) FuzzyScore.java
* </a>
*/
public class FuzzyScore {
/**
* Locale used to change the case of text.
*/
private final Locale locale;
/**
* This returns a {@link Locale}-specific {@link FuzzyScore}.
*
* @param locale The string matching logic is case insensitive.
A {@link Locale} is necessary to normalize both Strings to lower case.
* @throws IllegalArgumentException
* This is thrown if the {@link Locale} parameter is {@code null}.
*/
public FuzzyScore(final Locale locale) {
if (locale == null) {
throw new IllegalArgumentException("Locale must not be null");
}
this.locale = locale;
}
/**
* Find the Fuzzy Score which indicates the similarity score between two
* Strings.
*
* <pre>
* score.fuzzyScore(null, null) = IllegalArgumentException
* score.fuzzyScore("not null", null) = IllegalArgumentException
* score.fuzzyScore(null, "not null") = IllegalArgumentException
* score.fuzzyScore("", "") = 0
* score.fuzzyScore("Workshop", "b") = 0
* score.fuzzyScore("Room", "o") = 1
* score.fuzzyScore("Workshop", "w") = 1
* score.fuzzyScore("Workshop", "ws") = 2
* score.fuzzyScore("Workshop", "wo") = 4
* score.fuzzyScore("Apache Software Foundation", "asf") = 3
* </pre>
*
* @param term a full term that should be matched against, must not be null
* @param query the query that will be matched against a term, must not be
* null
* @return result score
* @throws IllegalArgumentException if the term or query is {@code null}
*/
public Integer fuzzyScore(final CharSequence term, final CharSequence query) {
if (term == null || query == null) {
throw new IllegalArgumentException("CharSequences must not be null");
}
// fuzzy logic is case insensitive. We normalize the Strings to lower
// case right from the start. Turning characters to lower case
// via Character.toLowerCase(char) is unfortunately insufficient
// as it does not accept a locale.
final String termLowerCase = term.toString().toLowerCase(locale);
final String queryLowerCase = query.toString().toLowerCase(locale);
// the resulting score
int score = 0;
// the position in the term which will be scanned next for potential
// query character matches
int termIndex = 0;
// index of the previously matched character in the term
int previousMatchingCharacterIndex = Integer.MIN_VALUE;
for (int queryIndex = 0; queryIndex < queryLowerCase.length(); queryIndex++) {
final char queryChar = queryLowerCase.charAt(queryIndex);
boolean termCharacterMatchFound = false;
for (; termIndex < termLowerCase.length()
&& !termCharacterMatchFound; termIndex++) {
final char termChar = termLowerCase.charAt(termIndex);
if (queryChar == termChar) {
// simple character matches result in one point
score++;
// subsequent character matches further improve
// the score.
if (previousMatchingCharacterIndex + 1 == termIndex) {
score += 2;
}
previousMatchingCharacterIndex = termIndex;
// we can leave the nested loop. Every character in the
// query can match at most one character in the term.
termCharacterMatchFound = true;
}
}
}
return score;
}
/**
* Gets the locale.
*
* @return The locale
*/
public Locale getLocale() {
return locale;
}
}

View File

@@ -1,315 +0,0 @@
package org.schabi.newpipe;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.v4.view.MenuItemCompat;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
/**
* Created by Christian Schabesberger on 18.08.15.
*
* Copyright (C) Christian Schabesberger 2015 <chris.schabesberger@mailbox.org>
* DetailsMenuHandler.java is part of NewPipe.
*
* NewPipe is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* NewPipe is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
*/
public class ActionBarHandler {
private static final String TAG = ActionBarHandler.class.toString();
private static final String KORE_PACKET = "org.xbmc.kore";
private String websiteUrl = "";
private AppCompatActivity activity;
private VideoInfo.VideoStream[] videoStreams = null;
private VideoInfo.AudioStream audioStream = null;
private int selectedStream = -1;
private String videoTitle = "";
SharedPreferences defaultPreferences = null;
class FormatItemSelectListener implements ActionBar.OnNavigationListener {
@Override
public boolean onNavigationItemSelected(int itemPosition, long itemId) {
selectFormatItem((int)itemId);
return true;
}
}
public ActionBarHandler(AppCompatActivity activity) {
this.activity = activity;
}
public void setupNavMenu(AppCompatActivity activity) {
this.activity = activity;
activity.getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
}
public void setStreams(VideoInfo.VideoStream[] videoStreams, VideoInfo.AudioStream[] audioStreams) {
this.videoStreams = videoStreams;
selectedStream = 0;
defaultPreferences = PreferenceManager.getDefaultSharedPreferences(activity);
String[] itemArray = new String[videoStreams.length];
String defaultResolution = defaultPreferences
.getString(activity.getString(R.string.defaultResolutionPreference),
activity.getString(R.string.defaultResolutionListItem));
int defaultResolutionPos = 0;
for(int i = 0; i < videoStreams.length; i++) {
itemArray[i] = MediaFormat.getNameById(videoStreams[i].format) + " " + videoStreams[i].resolution;
if(defaultResolution.equals(videoStreams[i].resolution)) {
defaultResolutionPos = i;
}
}
ArrayAdapter<String> itemAdapter = new ArrayAdapter<String>(activity.getBaseContext(),
android.R.layout.simple_spinner_dropdown_item, itemArray);
if(activity != null) {
ActionBar ab = activity.getSupportActionBar();
ab.setListNavigationCallbacks(itemAdapter
,new FormatItemSelectListener());
ab.setSelectedNavigationItem(defaultResolutionPos);
}
// set audioStream
audioStream = null;
String preferedFormat = defaultPreferences
.getString(activity.getString(R.string.defaultAudioFormatPreference), "webm");
if(preferedFormat.equals("webm")) {
for(VideoInfo.AudioStream s : audioStreams) {
if(s.format == MediaFormat.WEBMA.id) {
audioStream = s;
}
}
} else if(preferedFormat.equals("m4a")){
for(VideoInfo.AudioStream s : audioStreams) {
if(s.format == MediaFormat.M4A.id &&
(audioStream == null || audioStream.bandwidth > s.bandwidth)) {
audioStream = s;
}
}
}
}
private void selectFormatItem(int i) {
selectedStream = i;
}
public boolean setupMenu(Menu menu, MenuInflater inflater) {
// CAUTION set item properties programmatically otherwise it would not be accepted by
// appcompat itemsinflater.inflate(R.menu.videoitem_detail, menu);
defaultPreferences = PreferenceManager.getDefaultSharedPreferences(activity);
inflater.inflate(R.menu.videoitem_detail, menu);
MenuItem castItem = menu.findItem(R.id.action_play_with_kodi);
castItem.setVisible(defaultPreferences
.getBoolean(activity.getString(R.string.showPlayWidthKodiPreference), false));
return true;
}
public boolean onItemSelected(MenuItem item) {
int id = item.getItemId();
switch(id) {
case R.id.menu_item_share:
if(!videoTitle.isEmpty()) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_TEXT, websiteUrl);
intent.setType("text/plain");
activity.startActivity(Intent.createChooser(intent, activity.getString(R.string.shareDialogTitle)));
}
return true;
case R.id.menu_item_openInBrowser: {
openInBrowser();
}
return true;
case R.id.menu_item_download:
downloadVideo();
return true;
case R.id.action_settings: {
Intent intent = new Intent(activity, SettingsActivity.class);
activity.startActivity(intent);
}
break;
case R.id.action_play_with_kodi:
playWithKodi();
return true;
case R.id.menu_item_play_audio:
playAudio();
return true;
default:
Log.e(TAG, "Menu Item not known");
}
return false;
}
public void setVideoInfo(String websiteUrl, String videoTitle) {
this.websiteUrl = websiteUrl;
this.videoTitle = videoTitle;
}
public void playVideo() {
// ----------- THE MAGIC MOMENT ---------------
if(!videoTitle.isEmpty()) {
if (PreferenceManager.getDefaultSharedPreferences(activity)
.getBoolean(activity.getString(R.string.useExternalPlayer), false)) {
// External Player
Intent intent = new Intent();
try {
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(videoStreams[selectedStream].url),
MediaFormat.getMimeById(videoStreams[selectedStream].format));
intent.putExtra(Intent.EXTRA_TITLE, videoTitle);
intent.putExtra("title", videoTitle);
activity.startActivity(intent); // HERE !!!
} catch (Exception e) {
e.printStackTrace();
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
builder.setMessage(R.string.noPlayerFound)
.setPositiveButton(R.string.installStreamPlayer, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse(activity.getString(R.string.fdroidVLCurl)));
activity.startActivity(intent);
}
})
.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
builder.create().show();
}
} else {
// Internal Player
Intent intent = new Intent(activity, PlayVideoActivity.class);
intent.putExtra(PlayVideoActivity.VIDEO_TITLE, videoTitle);
intent.putExtra(PlayVideoActivity.STREAM_URL, videoStreams[selectedStream].url);
intent.putExtra(PlayVideoActivity.VIDEO_URL, websiteUrl);
activity.startActivity(intent);
}
}
// --------------------------------------------
}
public void downloadVideo() {
if(!videoTitle.isEmpty()) {
String videoSuffix = "." + MediaFormat.getSuffixById(videoStreams[selectedStream].format);
String audioSuffix = "." + MediaFormat.getSuffixById(audioStream.format);
Bundle args = new Bundle();
args.putString(DownloadDialog.FILE_SUFFIX_VIDEO, videoSuffix);
args.putString(DownloadDialog.FILE_SUFFIX_AUDIO, audioSuffix);
args.putString(DownloadDialog.TITLE, videoTitle);
args.putString(DownloadDialog.VIDEO_URL, videoStreams[selectedStream].url);
args.putString(DownloadDialog.AUDIO_URL, audioStream.url);
DownloadDialog downloadDialog = new DownloadDialog();
downloadDialog.setArguments(args);
downloadDialog.show(activity.getSupportFragmentManager(), "downloadDialog");
}
}
public void openInBrowser() {
if(!videoTitle.isEmpty()) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse(websiteUrl));
activity.startActivity(Intent.createChooser(intent, activity.getString(R.string.chooseBrowser)));
}
}
public void playWithKodi() {
if(!videoTitle.isEmpty()) {
try {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setPackage(KORE_PACKET);
intent.setData(Uri.parse(websiteUrl.replace("https", "http")));
activity.startActivity(intent);
} catch (Exception e) {
e.printStackTrace();
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
builder.setMessage(R.string.koreNotFound)
.setPositiveButton(R.string.installeKore, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse(activity.getString(R.string.fdroidKoreUrl)));
activity.startActivity(intent);
}
})
.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
builder.create().show();
}
}
}
public void playAudio() {
Intent intent = new Intent();
try {
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(audioStream.url),
MediaFormat.getMimeById(audioStream.format));
intent.putExtra(Intent.EXTRA_TITLE, videoTitle);
intent.putExtra("title", videoTitle);
activity.startActivity(intent); // HERE !!!
} catch (Exception e) {
e.printStackTrace();
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
builder.setMessage(R.string.noPlayerFound)
.setPositiveButton(R.string.installStreamPlayer, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse(activity.getString(R.string.fdroidVLCurl)));
activity.startActivity(intent);
}
})
.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Log.i(TAG, "You unlocked a secret unicorn.");
}
});
builder.create().show();
Log.e(TAG, "Either no Streaming player for audio was installed, or something important crashed:");
e.printStackTrace();
}
}
}

View File

@@ -0,0 +1,253 @@
package org.schabi.newpipe;
import android.content.Context;
import android.content.SharedPreferences;
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;
import org.acra.ACRA;
import org.acra.config.CoreConfigurationBuilder;
import org.schabi.newpipe.error.ReCaptchaActivity;
import org.schabi.newpipe.extractor.NewPipe;
import org.schabi.newpipe.extractor.downloader.Downloader;
import org.schabi.newpipe.ktx.ExceptionUtils;
import org.schabi.newpipe.settings.NewPipeSettings;
import org.schabi.newpipe.util.Localization;
import org.schabi.newpipe.util.PicassoHelper;
import org.schabi.newpipe.util.ServiceHelper;
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 io.reactivex.rxjava3.exceptions.CompositeException;
import io.reactivex.rxjava3.exceptions.MissingBackpressureException;
import io.reactivex.rxjava3.exceptions.OnErrorNotImplementedException;
import io.reactivex.rxjava3.exceptions.UndeliverableException;
import io.reactivex.rxjava3.functions.Consumer;
import io.reactivex.rxjava3.plugins.RxJavaPlugins;
/*
* Copyright (C) Hans-Christoph Steiner 2016 <hans@eds.org>
* App.java is part of NewPipe.
*
* NewPipe is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* NewPipe is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
*/
public class App extends MultiDexApplication {
public static final String PACKAGE_NAME = BuildConfig.APPLICATION_ID;
private static final String TAG = App.class.toString();
private static App app;
@NonNull
public static App getApp() {
return app;
}
@Override
protected void attachBaseContext(final Context base) {
super.attachBaseContext(base);
initACRA();
}
@Override
public void onCreate() {
super.onCreate();
app = this;
if (ProcessPhoenix.isPhoenixProcess(this)) {
Log.i(TAG, "This is a phoenix process! "
+ "Aborting initialization of App[onCreate]");
return;
}
// Initialize settings first because others inits can use its values
NewPipeSettings.initSettings(this);
NewPipe.init(getDownloader(),
Localization.getPreferredLocalization(this),
Localization.getPreferredContentCountry(this));
Localization.initPrettyTime(Localization.resolvePrettyTime(getApplicationContext()));
StateSaver.init(this);
initNotificationChannels();
ServiceHelper.initServices(this);
// Initialize image loader
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
PicassoHelper.init(this);
PicassoHelper.setShouldLoadImages(
prefs.getBoolean(getString(R.string.download_thumbnail_key), true));
PicassoHelper.setIndicatorsEnabled(MainActivity.DEBUG
&& prefs.getBoolean(getString(R.string.show_image_indicators_key), false));
configureRxJavaErrorHandler();
}
@Override
public void onTerminate() {
super.onTerminate();
PicassoHelper.terminate();
}
protected Downloader getDownloader() {
final DownloaderImpl downloader = DownloaderImpl.init(null);
setCookiesToDownloader(downloader);
return downloader;
}
protected void setCookiesToDownloader(final DownloaderImpl downloader) {
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(
getApplicationContext());
final String key = getApplicationContext().getString(R.string.recaptcha_cookies_key);
downloader.setCookie(ReCaptchaActivity.RECAPTCHA_COOKIES_KEY, prefs.getString(key, null));
downloader.updateYoutubeRestrictedModeCookies(getApplicationContext());
}
private void configureRxJavaErrorHandler() {
// https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0#error-handling
RxJavaPlugins.setErrorHandler(new Consumer<Throwable>() {
@Override
public void accept(@NonNull final Throwable throwable) {
Log.e(TAG, "RxJavaPlugins.ErrorHandler called with -> : "
+ "throwable = [" + throwable.getClass().getName() + "]");
final Throwable actualThrowable;
if (throwable instanceof UndeliverableException) {
// As UndeliverableException is a wrapper,
// get the cause of it to get the "real" exception
actualThrowable = throwable.getCause();
} else {
actualThrowable = throwable;
}
final List<Throwable> errors;
if (actualThrowable instanceof CompositeException) {
errors = ((CompositeException) actualThrowable).getExceptions();
} else {
errors = Collections.singletonList(actualThrowable);
}
for (final Throwable error : errors) {
if (isThrowableIgnored(error)) {
return;
}
if (isThrowableCritical(error)) {
reportException(error);
return;
}
}
// Out-of-lifecycle exceptions should only be reported if a debug user wishes so,
// When exception is not reported, log it
if (isDisposedRxExceptionsReported()) {
reportException(actualThrowable);
} else {
Log.e(TAG, "RxJavaPlugin: Undeliverable Exception received: ", actualThrowable);
}
}
private boolean isThrowableIgnored(@NonNull final Throwable throwable) {
// Don't crash the application over a simple network problem
return ExceptionUtils.hasAssignableCause(throwable,
// network api cancellation
IOException.class, SocketException.class,
// blocking code disposed
InterruptedException.class, InterruptedIOException.class);
}
private boolean isThrowableCritical(@NonNull final Throwable throwable) {
// Though these exceptions cannot be ignored
return ExceptionUtils.hasAssignableCause(throwable,
NullPointerException.class, IllegalArgumentException.class, // bug in app
OnErrorNotImplementedException.class, MissingBackpressureException.class,
IllegalStateException.class); // bug in operator
}
private void reportException(@NonNull final Throwable throwable) {
// Throw uncaught exception that will trigger the report system
Thread.currentThread().getUncaughtExceptionHandler()
.uncaughtException(Thread.currentThread(), throwable);
}
});
}
/**
* Called in {@link #attachBaseContext(Context)} after calling the {@code super} method.
* Should be overridden if MultiDex is enabled, since it has to be initialized before ACRA.
*/
protected void initACRA() {
if (ACRA.isACRASenderServiceProcess()) {
return;
}
final CoreConfigurationBuilder acraConfig = new CoreConfigurationBuilder(this)
.withBuildConfigClass(BuildConfig.class);
ACRA.init(this, acraConfig);
}
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),
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),
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),
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),
NotificationManagerCompat.IMPORTANCE_LOW)
.setName(getString(R.string.error_report_channel_name))
.setDescription(getString(R.string.error_report_channel_description))
.build();
final NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
notificationManager.createNotificationChannelsCompat(Arrays.asList(mainChannel,
appUpdateChannel, hashChannel, errorReportChannel));
}
protected boolean isDisposedRxExceptionsReported() {
return false;
}
}

View File

@@ -0,0 +1,116 @@
package org.schabi.newpipe;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
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());
protected static final boolean DEBUG = MainActivity.DEBUG;
protected AppCompatActivity activity;
//These values are used for controlling fragments when they are part of the frontpage
@State
protected boolean useAsFrontPage = false;
public void useAsFrontPage(final boolean value) {
useAsFrontPage = value;
}
/*//////////////////////////////////////////////////////////////////////////
// Fragment's Lifecycle
//////////////////////////////////////////////////////////////////////////*/
@Override
public void onAttach(@NonNull final Context context) {
super.onAttach(context);
activity = (AppCompatActivity) context;
}
@Override
public void onDetach() {
super.onDetach();
activity = null;
}
@Override
public void onCreate(final Bundle savedInstanceState) {
if (DEBUG) {
Log.d(TAG, "onCreate() called with: "
+ "savedInstanceState = [" + savedInstanceState + "]");
}
super.onCreate(savedInstanceState);
Icepick.restoreInstanceState(this, savedInstanceState);
if (savedInstanceState != null) {
onRestoreInstanceState(savedInstanceState);
}
}
@Override
public void onViewCreated(@NonNull final View rootView, final Bundle savedInstanceState) {
super.onViewCreated(rootView, savedInstanceState);
if (DEBUG) {
Log.d(TAG, "onViewCreated() called with: "
+ "rootView = [" + rootView + "], "
+ "savedInstanceState = [" + savedInstanceState + "]");
}
initViews(rootView, savedInstanceState);
initListeners();
}
@Override
public void onSaveInstanceState(@NonNull final Bundle outState) {
super.onSaveInstanceState(outState);
Icepick.saveInstanceState(this, outState);
}
protected void onRestoreInstanceState(@NonNull final Bundle savedInstanceState) {
}
@Override
public void onDestroy() {
super.onDestroy();
AppWatcher.INSTANCE.getObjectWatcher().watch(this);
}
/*//////////////////////////////////////////////////////////////////////////
// Init
//////////////////////////////////////////////////////////////////////////*/
protected void initViews(final View rootView, final Bundle savedInstanceState) {
}
protected void initListeners() {
}
/*//////////////////////////////////////////////////////////////////////////
// Utils
//////////////////////////////////////////////////////////////////////////*/
public void setTitle(final String title) {
if (DEBUG) {
Log.d(TAG, "setTitle() called with: title = [" + title + "]");
}
if (!useAsFrontPage && activity != null && activity.getSupportActionBar() != null) {
activity.getSupportActionBar().setDisplayShowTitleEnabled(true);
activity.getSupportActionBar().setTitle(title);
}
}
protected FragmentManager getFM() {
return getParentFragment() == null
? getFragmentManager()
: getParentFragment().getFragmentManager();
}
}

View File

@@ -0,0 +1,264 @@
package org.schabi.newpipe;
import android.app.Application;
import android.app.IntentService;
import android.app.PendingIntent;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.content.pm.Signature;
import android.net.Uri;
import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.app.NotificationCompat;
import androidx.core.app.NotificationManagerCompat;
import androidx.core.content.pm.PackageInfoCompat;
import androidx.preference.PreferenceManager;
import com.grack.nanojson.JsonObject;
import com.grack.nanojson.JsonParser;
import com.grack.nanojson.JsonParserException;
import org.schabi.newpipe.error.ErrorInfo;
import org.schabi.newpipe.error.ErrorUtil;
import org.schabi.newpipe.error.UserAction;
import org.schabi.newpipe.extractor.downloader.Response;
import org.schabi.newpipe.extractor.exceptions.ReCaptchaException;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateEncodingException;
import java.security.cert.CertificateException;
import java.security.cert.CertificateFactory;
import java.security.cert.X509Certificate;
import java.util.List;
public final class CheckForNewAppVersion extends IntentService {
public CheckForNewAppVersion() {
super("CheckForNewAppVersion");
}
private static final boolean DEBUG = MainActivity.DEBUG;
private static final String TAG = CheckForNewAppVersion.class.getSimpleName();
// Public key of the certificate that is used in NewPipe release versions
private static final String RELEASE_CERT_PUBLIC_KEY_SHA1
= "B0:2E:90:7C:1C:D6:FC:57:C3:35:F0:88:D0:8F:50:5F:94:E4:D2:15";
private static final String NEWPIPE_API_URL = "https://newpipe.net/api/data.json";
/**
* Method to get the APK's SHA1 key. See https://stackoverflow.com/questions/9293019/#22506133.
*
* @param application The application
* @return String with the APK's SHA1 fingerprint in hexadecimal
*/
@NonNull
private static String getCertificateSHA1Fingerprint(@NonNull final Application application) {
final List<Signature> signatures;
try {
signatures = PackageInfoCompat.getSignatures(application.getPackageManager(),
application.getPackageName());
} catch (final PackageManager.NameNotFoundException e) {
ErrorUtil.createNotification(application, new ErrorInfo(e,
UserAction.CHECK_FOR_NEW_APP_VERSION, "Could not find package info"));
return "";
}
if (signatures.isEmpty()) {
return "";
}
final X509Certificate c;
try {
final byte[] cert = signatures.get(0).toByteArray();
final InputStream input = new ByteArrayInputStream(cert);
final CertificateFactory cf = CertificateFactory.getInstance("X509");
c = (X509Certificate) cf.generateCertificate(input);
} catch (final CertificateException e) {
ErrorUtil.createNotification(application, new ErrorInfo(e,
UserAction.CHECK_FOR_NEW_APP_VERSION, "Certificate error"));
return "";
}
try {
final MessageDigest md = MessageDigest.getInstance("SHA1");
final byte[] publicKey = md.digest(c.getEncoded());
return byte2HexFormatted(publicKey);
} catch (NoSuchAlgorithmException | CertificateEncodingException e) {
ErrorUtil.createNotification(application, new ErrorInfo(e,
UserAction.CHECK_FOR_NEW_APP_VERSION, "Could not retrieve SHA1 key"));
return "";
}
}
private static String byte2HexFormatted(final byte[] arr) {
final StringBuilder str = new StringBuilder(arr.length * 2);
for (int i = 0; i < arr.length; i++) {
String h = Integer.toHexString(arr[i]);
final int l = h.length();
if (l == 1) {
h = "0" + h;
}
if (l > 2) {
h = h.substring(l - 2, l);
}
str.append(h.toUpperCase());
if (i < (arr.length - 1)) {
str.append(':');
}
}
return str.toString();
}
/**
* Method to compare the current and latest available app version.
* If a newer version is available, we show the update notification.
*
* @param application The application
* @param versionName Name of new version
* @param apkLocationUrl Url with the new apk
* @param versionCode Code of new version
*/
private static void compareAppVersionAndShowNotification(@NonNull final Application application,
final String versionName,
final String apkLocationUrl,
final int versionCode) {
if (BuildConfig.VERSION_CODE >= versionCode) {
return;
}
// A pending intent to open the apk location url in the browser.
final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(apkLocationUrl));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
final PendingIntent pendingIntent
= PendingIntent.getActivity(application, 0, intent, 0);
final String channelId = application
.getString(R.string.app_update_notification_channel_id);
final NotificationCompat.Builder notificationBuilder
= new NotificationCompat.Builder(application, channelId)
.setSmallIcon(R.drawable.ic_newpipe_update)
.setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
.setContentIntent(pendingIntent)
.setAutoCancel(true)
.setContentTitle(application
.getString(R.string.app_update_notification_content_title))
.setContentText(application
.getString(R.string.app_update_notification_content_text)
+ " " + versionName);
final NotificationManagerCompat notificationManager
= NotificationManagerCompat.from(application);
notificationManager.notify(2000, notificationBuilder.build());
}
public static boolean isReleaseApk(@NonNull final App app) {
return getCertificateSHA1Fingerprint(app).equals(RELEASE_CERT_PUBLIC_KEY_SHA1);
}
private void checkNewVersion() throws IOException, ReCaptchaException {
final App app = App.getApp();
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(app);
final NewVersionManager manager = new NewVersionManager();
// Check if the current apk is a github one or not.
if (!isReleaseApk(app)) {
return;
}
// Check if the last request has happened a certain time ago
// to reduce the number of API requests.
final long expiry = prefs.getLong(app.getString(R.string.update_expiry_key), 0);
if (!manager.isExpired(expiry)) {
return;
}
// Make a network request to get latest NewPipe data.
final Response response = DownloaderImpl.getInstance().get(NEWPIPE_API_URL);
handleResponse(response, manager, prefs, app);
}
private void handleResponse(@NonNull final Response response,
@NonNull final NewVersionManager manager,
@NonNull final SharedPreferences prefs,
@NonNull final App app) {
try {
// Store a timestamp which needs to be exceeded,
// before a new request to the API is made.
final long newExpiry = manager
.coerceExpiry(response.getHeader("expires"));
prefs.edit()
.putLong(app.getString(R.string.update_expiry_key), newExpiry)
.apply();
} catch (final Exception e) {
if (DEBUG) {
Log.w(TAG, "Could not extract and save new expiry date", e);
}
}
// Parse the json from the response.
try {
final JsonObject githubStableObject = JsonParser.object()
.from(response.responseBody()).getObject("flavors")
.getObject("github").getObject("stable");
final String versionName = githubStableObject
.getString("version");
final int versionCode = githubStableObject
.getInt("version_code");
final String apkLocationUrl = githubStableObject
.getString("apk");
compareAppVersionAndShowNotification(app, versionName,
apkLocationUrl, versionCode);
} catch (final JsonParserException e) {
// Most likely something is wrong in data received from NEWPIPE_API_URL.
// Do not alarm user and fail silently.
if (DEBUG) {
Log.w(TAG, "Could not get NewPipe API: invalid json", e);
}
}
}
/**
* Start a new service which
* checks if all conditions for performing a version check are met,
* fetches the API endpoint {@link #NEWPIPE_API_URL} containing info
* about the latest NewPipe version
* and displays a notification about ana available update.
* <br>
* Following conditions need to be met, before data is request from the server:
* <ul>
* <li> The app is signed with the correct signing key (by TeamNewPipe / schabi).
* If the signing key differs from the one used upstream, the update cannot be installed.</li>
* <li>The user enabled searching for and notifying about updates in the settings.</li>
* <li>The app did not recently check for updates.
* We do not want to make unnecessary connections and DOS our servers.</li>
* </ul>
* <b>Must not be executed</b> when the app is in background.
*/
public static void startNewVersionCheckService() {
final Intent intent = new Intent(App.getApp().getApplicationContext(),
CheckForNewAppVersion.class);
App.getApp().startService(intent);
}
@Override
protected void onHandleIntent(@Nullable final Intent intent) {
try {
checkNewVersion();
} catch (final IOException e) {
Log.w(TAG, "Could not fetch NewPipe API: probably network problem", e);
} catch (final ReCaptchaException e) {
Log.e(TAG, "ReCaptchaException should never happen here.", e);
}
}
}

View File

@@ -1,89 +0,0 @@
package org.schabi.newpipe;
import android.app.Dialog;
import android.app.DownloadManager;
import android.content.Context;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.v4.app.DialogFragment;
import android.support.v7.app.AlertDialog;
import android.util.Log;
import java.io.File;
/**
* Created by Christian Schabesberger on 21.09.15.
*
* Copyright (C) Christian Schabesberger 2015 <chris.schabesberger@mailbox.org>
* DownloadDialog.java is part of NewPipe.
*
* NewPipe is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* NewPipe is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
*/
public class DownloadDialog extends DialogFragment {
private static final String TAG = DialogFragment.class.getName();
public static final String TITLE = "name";
public static final String FILE_SUFFIX_AUDIO = "file_suffix_audio";
public static final String FILE_SUFFIX_VIDEO = "file_suffix_video";
public static final String AUDIO_URL = "audio_url";
public static final String VIDEO_URL = "video_url";
Bundle arguments;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
arguments = getArguments();
super.onCreateDialog(savedInstanceState);
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(R.string.downloadDialogTitle)
.setItems(R.array.downloadOptions, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Context context = getActivity();
SharedPreferences defaultPreferences = PreferenceManager.getDefaultSharedPreferences(context);
String suffix = "";
String title = arguments.getString(TITLE);
String url = "";
switch(which) {
case 0: // Video
suffix = arguments.getString(FILE_SUFFIX_VIDEO);
url = arguments.getString(VIDEO_URL);
break;
case 1:
suffix = arguments.getString(FILE_SUFFIX_AUDIO);
url = arguments.getString(AUDIO_URL);
break;
default:
Log.d(TAG, "lolz");
}
DownloadManager dm = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
DownloadManager.Request request = new DownloadManager.Request(
Uri.parse(url));
request.setDestinationUri(Uri.fromFile(new File(
defaultPreferences.getString("download_path_preference", "/storage/emulated/0/NewPipe")
+ "/" + title + suffix)));
try {
dm.enqueue(request);
} catch (Exception e) {
e.printStackTrace();
}
}
});
return builder.create();
}
}

View File

@@ -1,90 +0,0 @@
package org.schabi.newpipe;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.UnknownHostException;
/**
* Created by Christian Schabesberger on 14.08.15.
*
* Copyright (C) Christian Schabesberger 2015 <chris.schabesberger@mailbox.org>
* Downloader.java is part of NewPipe.
*
* NewPipe is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* NewPipe is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
*/
public class Downloader {
private static final String USER_AGENT = "Mozilla/5.0";
public static String download(String siteUrl, String language) {
String ret = "";
try {
URL url = new URL(siteUrl);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestProperty("Accept-Language", language);
ret = dl(con);
}
catch(Exception e) {
e.printStackTrace();
}
return ret;
}
private static String dl(HttpURLConnection con) {
StringBuffer response = new StringBuffer();
try {
con.setRequestMethod("GET");
con.setRequestProperty("User-Agent", USER_AGENT);
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
while((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
}
catch(UnknownHostException uhe) {//thrown when there's no internet connection
uhe.printStackTrace();
//Toast.makeText(getActivity(), uhe.getMessage(), Toast.LENGTH_LONG).show();
}
catch (Exception e) {
e.printStackTrace();
}
return response.toString();
}
public static String download(String siteUrl) {
String ret = "";
try {
URL url = new URL(siteUrl);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
ret = dl(con);
}
catch(Exception e) {
e.printStackTrace();
}
return ret;
}
}

View File

@@ -0,0 +1,252 @@
package org.schabi.newpipe;
import android.content.Context;
import android.os.Build;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.preference.PreferenceManager;
import org.schabi.newpipe.error.ReCaptchaActivity;
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.concurrent.TimeUnit;
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 YOUTUBE_RESTRICTED_MODE_COOKIE = "PREF=f2=8000000";
public static final String YOUTUBE_DOMAIN = "youtube.com";
private static DownloaderImpl instance;
private final Map<String, String> mCookies;
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"),
// 16 * 1024 * 1024))
.build();
this.mCookies = new HashMap<>();
}
/**
* It's recommended to call exactly once in the entire lifetime of the application.
*
* @param builder if null, default builder will be used
* @return a new instance of {@link DownloaderImpl}
*/
public static DownloaderImpl init(@Nullable final OkHttpClient.Builder builder) {
instance = new DownloaderImpl(
builder != null ? builder : new OkHttpClient.Builder());
return instance;
}
public static DownloaderImpl getInstance() {
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);
}
}
// 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);
}
public String getCookie(final String key) {
return mCookies.get(key);
}
public void setCookie(final String key, final String cookie) {
mCookies.put(key, cookie);
}
public void removeCookie(final String key) {
mCookies.remove(key);
}
public void updateYoutubeRestrictedModeCookies(final Context context) {
final String restrictedModeEnabledKey =
context.getString(R.string.youtube_restricted_mode_enabled);
final boolean restrictedModeEnabled = PreferenceManager.getDefaultSharedPreferences(context)
.getBoolean(restrictedModeEnabledKey, false);
updateYoutubeRestrictedModeCookies(restrictedModeEnabled);
}
public void updateYoutubeRestrictedModeCookies(final boolean youtubeRestrictedModeEnabled) {
if (youtubeRestrictedModeEnabled) {
setCookie(YOUTUBE_RESTRICTED_MODE_COOKIE_KEY,
YOUTUBE_RESTRICTED_MODE_COOKIE);
} else {
removeCookie(YOUTUBE_RESTRICTED_MODE_COOKIE_KEY);
}
InfoCache.getInstance().clearCache();
}
/**
* Get the size of the content that the url is pointing by firing a HEAD request.
*
* @param url an url pointing to the content
* @return the size of the content, in bytes
*/
public long getContentLength(final String url) throws IOException {
try {
final Response response = head(url);
return Long.parseLong(response.getHeader("Content-Length"));
} catch (final NumberFormatException e) {
throw new IOException("Invalid content length", e);
} catch (final ReCaptchaException e) {
throw new IOException(e);
}
}
@Override
public Response execute(@NonNull final Request request)
throws IOException, ReCaptchaException {
final String httpMethod = request.httpMethod();
final String url = request.url();
final Map<String, List<String>> headers = request.headers();
final byte[] dataToSend = request.dataToSend();
RequestBody requestBody = null;
if (dataToSend != null) {
requestBody = RequestBody.create(null, dataToSend);
}
final okhttp3.Request.Builder requestBuilder = new okhttp3.Request.Builder()
.method(httpMethod, requestBody).url(url)
.addHeader("User-Agent", USER_AGENT);
final String cookies = getCookies(url);
if (!cookies.isEmpty()) {
requestBuilder.addHeader("Cookie", cookies);
}
for (final Map.Entry<String, List<String>> pair : headers.entrySet()) {
final String headerName = pair.getKey();
final List<String> headerValueList = pair.getValue();
if (headerValueList.size() > 1) {
requestBuilder.removeHeader(headerName);
for (final String headerValue : headerValueList) {
requestBuilder.addHeader(headerName, headerValue);
}
} else if (headerValueList.size() == 1) {
requestBuilder.header(headerName, headerValueList.get(0));
}
}
final okhttp3.Response response = client.newCall(requestBuilder.build()).execute();
if (response.code() == 429) {
response.close();
throw new ReCaptchaException("reCaptcha Challenge requested", url);
}
final ResponseBody body = response.body();
String responseBodyToReturn = null;
if (body != null) {
responseBodyToReturn = body.string();
}
final String latestUrl = response.request().url().toString();
return new Response(response.code(), response.message(), response.headers().toMultimap(),
responseBodyToReturn, latestUrl);
}
}

View File

@@ -0,0 +1,55 @@
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;
/*
* Copyright (C) Hans-Christoph Steiner 2016 <hans@eds.org>
* ExitActivity.java is part of NewPipe.
*
* NewPipe is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* NewPipe is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
*/
public class ExitActivity extends Activity {
public static void exitAndRemoveFromRecentApps(final Activity activity) {
final Intent intent = new Intent(activity, ExitActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
| Intent.FLAG_ACTIVITY_CLEAR_TASK
| Intent.FLAG_ACTIVITY_NO_ANIMATION);
activity.startActivity(intent);
}
@SuppressLint("NewApi")
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
finishAndRemoveTask();
} else {
finish();
}
NavigationHelper.restartApp(this);
}
}

View File

@@ -1,28 +0,0 @@
package org.schabi.newpipe;
/**
* Created by Christian Schabesberger on 10.08.15.
*
* Copyright (C) Christian Schabesberger 2015 <chris.schabesberger@mailbox.org>
* Extractor.java is part of NewPipe.
*
* NewPipe is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* NewPipe is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
*/
public interface Extractor {
VideoInfo getVideoInfo(String siteUrl);
String getVideoUrl(String videoId);
String getVideoId(String videoUrl);
}

View File

@@ -0,0 +1,843 @@
/*
* Created by Christian Schabesberger on 02.08.16.
* <p>
* Copyright (C) Christian Schabesberger 2016 <chris.schabesberger@mailbox.org>
* DownloadActivity.java is part of NewPipe.
* <p>
* NewPipe is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* NewPipe is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
*/
package org.schabi.newpipe;
import static org.schabi.newpipe.CheckForNewAppVersion.startNewVersionCheckService;
import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage;
import android.content.BroadcastReceiver;
import android.content.Context;
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;
import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.FrameLayout;
import android.widget.Spinner;
import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.ActionBarDrawerToggle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.view.GravityCompat;
import androidx.drawerlayout.widget.DrawerLayout;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.preference.PreferenceManager;
import com.google.android.material.bottomsheet.BottomSheetBehavior;
import org.schabi.newpipe.databinding.ActivityMainBinding;
import org.schabi.newpipe.databinding.DrawerHeaderBinding;
import org.schabi.newpipe.databinding.DrawerLayoutBinding;
import org.schabi.newpipe.databinding.InstanceSpinnerLayoutBinding;
import org.schabi.newpipe.databinding.ToolbarLayoutBinding;
import org.schabi.newpipe.error.ErrorUtil;
import org.schabi.newpipe.extractor.NewPipe;
import org.schabi.newpipe.extractor.StreamingService;
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
import org.schabi.newpipe.extractor.services.peertube.PeertubeInstance;
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.player.Player;
import org.schabi.newpipe.player.event.OnKeyDownListener;
import org.schabi.newpipe.player.helper.PlayerHolder;
import org.schabi.newpipe.player.playqueue.PlayQueue;
import org.schabi.newpipe.util.Constants;
import org.schabi.newpipe.util.DeviceUtils;
import org.schabi.newpipe.util.KioskTranslator;
import org.schabi.newpipe.util.Localization;
import org.schabi.newpipe.util.NavigationHelper;
import org.schabi.newpipe.util.PeertubeHelper;
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;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
@SuppressWarnings("ConstantConditions")
public static final boolean DEBUG = !BuildConfig.BUILD_TYPE.equals("release");
private ActivityMainBinding mainBinding;
private DrawerHeaderBinding drawerHeaderBinding;
private DrawerLayoutBinding drawerLayoutBinding;
private ToolbarLayoutBinding toolbarLayoutBinding;
private ActionBarDrawerToggle toggle;
private boolean servicesShown = false;
private BroadcastReceiver broadcastReceiver;
private static final int ITEM_ID_SUBSCRIPTIONS = -1;
private static final int ITEM_ID_FEED = -2;
private static final int ITEM_ID_BOOKMARKS = -3;
private static final int ITEM_ID_DOWNLOADS = -4;
private static final int ITEM_ID_HISTORY = -5;
private static final int ITEM_ID_SETTINGS = 0;
private static final int ITEM_ID_ABOUT = 1;
private static final int ORDER = 0;
/*//////////////////////////////////////////////////////////////////////////
// Activity's LifeCycle
//////////////////////////////////////////////////////////////////////////*/
@Override
protected void onCreate(final Bundle savedInstanceState) {
if (DEBUG) {
Log.d(TAG, "onCreate() called with: "
+ "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));
assureCorrectAppLanguage(this);
super.onCreate(savedInstanceState);
mainBinding = ActivityMainBinding.inflate(getLayoutInflater());
drawerLayoutBinding = mainBinding.drawerLayout;
drawerHeaderBinding = DrawerHeaderBinding.bind(drawerLayoutBinding.navigation
.getHeaderView(0));
toolbarLayoutBinding = mainBinding.toolbarLayout;
setContentView(mainBinding.getRoot());
if (getSupportFragmentManager().getBackStackEntryCount() == 0) {
initFragments();
}
setSupportActionBar(toolbarLayoutBinding.toolbar);
try {
setupDrawer();
} catch (final Exception e) {
ErrorUtil.showUiErrorSnackbar(this, "Setting up drawer", e);
}
if (DeviceUtils.isTv(this)) {
FocusOverlayView.setupFocusObserver(this);
}
openMiniPlayerUponPlayerStarted();
}
@Override
protected void onPostCreate(final Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
final App app = App.getApp();
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
// and eventually searching for a new version.
// The service searching for a new NewPipe version must not be started in background.
startNewVersionCheckService();
}
}
private void setupDrawer() throws ExtractionException {
addDrawerMenuForCurrentService();
toggle = new ActionBarDrawerToggle(this, mainBinding.getRoot(),
toolbarLayoutBinding.toolbar, R.string.drawer_open, R.string.drawer_close);
toggle.syncState();
mainBinding.getRoot().addDrawerListener(toggle);
mainBinding.getRoot().addDrawerListener(new DrawerLayout.SimpleDrawerListener() {
private int lastService;
@Override
public void onDrawerOpened(final View drawerView) {
lastService = ServiceHelper.getSelectedServiceId(MainActivity.this);
}
@Override
public void onDrawerClosed(final View drawerView) {
if (servicesShown) {
toggleServices();
}
if (lastService != ServiceHelper.getSelectedServiceId(MainActivity.this)) {
ActivityCompat.recreate(MainActivity.this);
}
}
});
drawerLayoutBinding.navigation.setNavigationItemSelectedListener(this::drawerItemSelected);
setupDrawerHeader();
}
/**
* Builds the drawer menu for the current service.
*
* @throws ExtractionException if the service didn't provide available kiosks
*/
private void addDrawerMenuForCurrentService() throws ExtractionException {
//Tabs
final int currentServiceId = ServiceHelper.getSelectedServiceId(this);
final StreamingService service = NewPipe.getService(currentServiceId);
int kioskId = 0;
for (final String ks : service.getKioskList().getAvailableKiosks()) {
drawerLayoutBinding.navigation.getMenu()
.add(R.id.menu_tabs_group, kioskId, 0, KioskTranslator
.getTranslatedKioskName(ks, this))
.setIcon(KioskTranslator.getKioskIcon(ks, this));
kioskId++;
}
drawerLayoutBinding.navigation.getMenu()
.add(R.id.menu_tabs_group, ITEM_ID_SUBSCRIPTIONS, ORDER,
R.string.tab_subscriptions)
.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);
drawerLayoutBinding.navigation.getMenu()
.add(R.id.menu_tabs_group, ITEM_ID_BOOKMARKS, ORDER, R.string.tab_bookmarks)
.setIcon(R.drawable.ic_bookmark);
drawerLayoutBinding.navigation.getMenu()
.add(R.id.menu_tabs_group, ITEM_ID_DOWNLOADS, ORDER, R.string.downloads)
.setIcon(R.drawable.ic_file_download);
drawerLayoutBinding.navigation.getMenu()
.add(R.id.menu_tabs_group, ITEM_ID_HISTORY, ORDER, R.string.action_history)
.setIcon(R.drawable.ic_history);
//Settings and About
drawerLayoutBinding.navigation.getMenu()
.add(R.id.menu_options_about_group, ITEM_ID_SETTINGS, ORDER, R.string.settings)
.setIcon(R.drawable.ic_settings);
drawerLayoutBinding.navigation.getMenu()
.add(R.id.menu_options_about_group, ITEM_ID_ABOUT, ORDER, R.string.tab_about)
.setIcon(R.drawable.ic_info_outline);
}
private boolean drawerItemSelected(final MenuItem item) {
switch (item.getGroupId()) {
case R.id.menu_services_group:
changeService(item);
break;
case R.id.menu_tabs_group:
try {
tabSelected(item);
} catch (final Exception e) {
ErrorUtil.showUiErrorSnackbar(this, "Selecting main page tab", e);
}
break;
case R.id.menu_options_about_group:
optionsAboutSelected(item);
break;
default:
return false;
}
mainBinding.getRoot().closeDrawers();
return true;
}
private void changeService(final MenuItem item) {
drawerLayoutBinding.navigation.getMenu()
.getItem(ServiceHelper.getSelectedServiceId(this))
.setChecked(false);
ServiceHelper.setSelectedServiceId(this, item.getItemId());
drawerLayoutBinding.navigation.getMenu()
.getItem(ServiceHelper.getSelectedServiceId(this))
.setChecked(true);
}
private void tabSelected(final MenuItem item) throws ExtractionException {
switch (item.getItemId()) {
case ITEM_ID_SUBSCRIPTIONS:
NavigationHelper.openSubscriptionFragment(getSupportFragmentManager());
break;
case ITEM_ID_FEED:
NavigationHelper.openFeedFragment(getSupportFragmentManager());
break;
case ITEM_ID_BOOKMARKS:
NavigationHelper.openBookmarksFragment(getSupportFragmentManager());
break;
case ITEM_ID_DOWNLOADS:
NavigationHelper.openDownloads(this);
break;
case ITEM_ID_HISTORY:
NavigationHelper.openStatisticFragment(getSupportFragmentManager());
break;
default:
final int currentServiceId = ServiceHelper.getSelectedServiceId(this);
final StreamingService service = NewPipe.getService(currentServiceId);
String serviceName = "";
int kioskId = 0;
for (final String ks : service.getKioskList().getAvailableKiosks()) {
if (kioskId == item.getItemId()) {
serviceName = ks;
}
kioskId++;
}
NavigationHelper.openKioskFragment(getSupportFragmentManager(), currentServiceId,
serviceName);
break;
}
}
private void optionsAboutSelected(final MenuItem item) {
switch (item.getItemId()) {
case ITEM_ID_SETTINGS:
NavigationHelper.openSettings(this);
break;
case ITEM_ID_ABOUT:
NavigationHelper.openAbout(this);
break;
}
}
private void setupDrawerHeader() {
drawerHeaderBinding.drawerHeaderActionButton.setOnClickListener(view -> toggleServices());
// If the current app name is bigger than the default "NewPipe" (7 chars),
// let the text view grow a little more as well.
if (getString(R.string.app_name).length() > "NewPipe".length()) {
final ViewGroup.LayoutParams layoutParams =
drawerHeaderBinding.drawerHeaderNewpipeTitle.getLayoutParams();
layoutParams.width = ViewGroup.LayoutParams.WRAP_CONTENT;
drawerHeaderBinding.drawerHeaderNewpipeTitle.setLayoutParams(layoutParams);
drawerHeaderBinding.drawerHeaderNewpipeTitle.setMaxLines(2);
drawerHeaderBinding.drawerHeaderNewpipeTitle.setMinWidth(getResources()
.getDimensionPixelSize(R.dimen.drawer_header_newpipe_title_default_width));
drawerHeaderBinding.drawerHeaderNewpipeTitle.setMaxWidth(getResources()
.getDimensionPixelSize(R.dimen.drawer_header_newpipe_title_max_width));
}
}
private void toggleServices() {
servicesShown = !servicesShown;
drawerLayoutBinding.navigation.getMenu().removeGroup(R.id.menu_services_group);
drawerLayoutBinding.navigation.getMenu().removeGroup(R.id.menu_tabs_group);
drawerLayoutBinding.navigation.getMenu().removeGroup(R.id.menu_options_about_group);
// Show up or down arrow
drawerHeaderBinding.drawerArrow.setImageResource(
servicesShown ? R.drawable.ic_arrow_drop_up : R.drawable.ic_arrow_drop_down);
if (servicesShown) {
showServices();
} else {
try {
addDrawerMenuForCurrentService();
} catch (final Exception e) {
ErrorUtil.showUiErrorSnackbar(this, "Showing main page tabs", e);
}
}
}
private void showServices() {
for (final StreamingService s : NewPipe.getServices()) {
final String title = s.getServiceInfo().getName()
+ (ServiceHelper.isBeta(s) ? " (beta)" : "");
final MenuItem menuItem = drawerLayoutBinding.navigation.getMenu()
.add(R.id.menu_services_group, s.getServiceId(), ORDER, title)
.setIcon(ServiceHelper.getIcon(s.getServiceId()));
// peertube specifics
if (s.getServiceId() == 3) {
enhancePeertubeMenu(s, menuItem);
}
}
drawerLayoutBinding.navigation.getMenu()
.getItem(ServiceHelper.getSelectedServiceId(this))
.setChecked(true);
}
private void enhancePeertubeMenu(final StreamingService s, final MenuItem menuItem) {
final PeertubeInstance currentInstance = PeertubeHelper.getCurrentInstance();
menuItem.setTitle(currentInstance.getName() + (ServiceHelper.isBeta(s) ? " (beta)" : ""));
final Spinner spinner = InstanceSpinnerLayoutBinding.inflate(LayoutInflater.from(this))
.getRoot();
final List<PeertubeInstance> instances = PeertubeHelper.getInstanceList(this);
final List<String> items = new ArrayList<>();
int defaultSelect = 0;
for (final PeertubeInstance instance : instances) {
items.add(instance.getName());
if (instance.getUrl().equals(currentInstance.getUrl())) {
defaultSelect = items.size() - 1;
}
}
final ArrayAdapter<String> adapter = new ArrayAdapter<>(this,
R.layout.instance_spinner_item, items);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setSelection(defaultSelect, false);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(final AdapterView<?> parent, final View view,
final int position, final long id) {
final PeertubeInstance newInstance = instances.get(position);
if (newInstance.getUrl().equals(PeertubeHelper.getCurrentInstance().getUrl())) {
return;
}
PeertubeHelper.selectInstance(newInstance, getApplicationContext());
changeService(menuItem);
mainBinding.getRoot().closeDrawers();
new Handler(Looper.getMainLooper()).postDelayed(() -> {
getSupportFragmentManager().popBackStack(null,
FragmentManager.POP_BACK_STACK_INCLUSIVE);
ActivityCompat.recreate(MainActivity.this);
}, 300);
}
@Override
public void onNothingSelected(final AdapterView<?> parent) {
}
});
menuItem.setActionView(spinner);
}
@Override
protected void onDestroy() {
super.onDestroy();
if (!isChangingConfigurations()) {
StateSaver.clearStateFiles();
}
if (broadcastReceiver != null) {
unregisterReceiver(broadcastReceiver);
}
}
@Override
protected void onResume() {
assureCorrectAppLanguage(this);
// Change the date format to match the selected language on resume
Localization.initPrettyTime(Localization.resolvePrettyTime(getApplicationContext()));
super.onResume();
// Close drawer on return, and don't show animation,
// so it looks like the drawer isn't open when the user returns to MainActivity
mainBinding.getRoot().closeDrawer(GravityCompat.START, false);
try {
final int selectedServiceId = ServiceHelper.getSelectedServiceId(this);
final String selectedServiceName = NewPipe.getService(selectedServiceId)
.getServiceInfo().getName();
drawerHeaderBinding.drawerHeaderServiceView.setText(selectedServiceName);
drawerHeaderBinding.drawerHeaderServiceIcon.setImageResource(ServiceHelper
.getIcon(selectedServiceId));
drawerHeaderBinding.drawerHeaderServiceView.post(() -> drawerHeaderBinding
.drawerHeaderServiceView.setSelected(true));
drawerHeaderBinding.drawerHeaderActionButton.setContentDescription(
getString(R.string.drawer_header_description) + selectedServiceName);
} catch (final Exception e) {
ErrorUtil.showUiErrorSnackbar(this, "Setting up service toggle", e);
}
final SharedPreferences sharedPreferences
= PreferenceManager.getDefaultSharedPreferences(this);
if (sharedPreferences.getBoolean(Constants.KEY_THEME_CHANGE, false)) {
if (DEBUG) {
Log.d(TAG, "Theme has changed, recreating activity...");
}
sharedPreferences.edit().putBoolean(Constants.KEY_THEME_CHANGE, false).apply();
ActivityCompat.recreate(this);
}
if (sharedPreferences.getBoolean(Constants.KEY_MAIN_PAGE_CHANGE, false)) {
if (DEBUG) {
Log.d(TAG, "main page has changed, recreating main fragment...");
}
sharedPreferences.edit().putBoolean(Constants.KEY_MAIN_PAGE_CHANGE, false).apply();
NavigationHelper.openMainActivity(this);
}
final boolean isHistoryEnabled = sharedPreferences.getBoolean(
getString(R.string.enable_watch_history_key), true);
drawerLayoutBinding.navigation.getMenu().findItem(ITEM_ID_HISTORY)
.setVisible(isHistoryEnabled);
}
@Override
protected void onNewIntent(final Intent intent) {
if (DEBUG) {
Log.d(TAG, "onNewIntent() called with: intent = [" + intent + "]");
}
if (intent != null) {
// Return if launched from a launcher (e.g. Nova Launcher, Pixel Launcher ...)
// to not destroy the already created backstack
final String action = intent.getAction();
if ((action != null && action.equals(Intent.ACTION_MAIN))
&& intent.hasCategory(Intent.CATEGORY_LAUNCHER)) {
return;
}
}
super.onNewIntent(intent);
setIntent(intent);
handleIntent(intent);
}
@Override
public boolean onKeyDown(final int keyCode, final KeyEvent event) {
final Fragment fragment = getSupportFragmentManager()
.findFragmentById(R.id.fragment_player_holder);
if (fragment instanceof OnKeyDownListener
&& !bottomSheetHiddenOrCollapsed()) {
// Provide keyDown event to fragment which then sends this event
// to the main player service
return ((OnKeyDownListener) fragment).onKeyDown(keyCode)
|| super.onKeyDown(keyCode, event);
}
return super.onKeyDown(keyCode, event);
}
@Override
public void onBackPressed() {
if (DEBUG) {
Log.d(TAG, "onBackPressed() called");
}
if (DeviceUtils.isTv(this)) {
if (mainBinding.getRoot().isDrawerOpen(drawerLayoutBinding.navigation)) {
mainBinding.getRoot().closeDrawers();
return;
}
}
// In case bottomSheet is not visible on the screen or collapsed we can assume that the user
// interacts with a fragment inside fragment_holder so all back presses should be
// handled by it
if (bottomSheetHiddenOrCollapsed()) {
final Fragment fragment = getSupportFragmentManager()
.findFragmentById(R.id.fragment_holder);
// If current fragment implements BackPressable (i.e. can/wanna handle back press)
// delegate the back press to it
if (fragment instanceof BackPressable) {
if (((BackPressable) fragment).onBackPressed()) {
return;
}
}
} else {
final Fragment fragmentPlayer = getSupportFragmentManager()
.findFragmentById(R.id.fragment_player_holder);
// If current fragment implements BackPressable (i.e. can/wanna handle back press)
// delegate the back press to it
if (fragmentPlayer instanceof BackPressable) {
if (!((BackPressable) fragmentPlayer).onBackPressed()) {
BottomSheetBehavior.from(mainBinding.fragmentPlayerHolder)
.setState(BottomSheetBehavior.STATE_COLLAPSED);
}
return;
}
}
if (getSupportFragmentManager().getBackStackEntryCount() == 1) {
finish();
} else {
super.onBackPressed();
}
}
@Override
public void onRequestPermissionsResult(final int requestCode,
@NonNull final String[] permissions,
@NonNull final int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
for (final int i : grantResults) {
if (i == PackageManager.PERMISSION_DENIED) {
return;
}
}
switch (requestCode) {
case PermissionHelper.DOWNLOADS_REQUEST_CODE:
NavigationHelper.openDownloads(this);
break;
case PermissionHelper.DOWNLOAD_DIALOG_REQUEST_CODE:
final Fragment fragment = getSupportFragmentManager()
.findFragmentById(R.id.fragment_player_holder);
if (fragment instanceof VideoDetailFragment) {
((VideoDetailFragment) fragment).openDownloadDialog();
}
break;
}
}
/**
* Implement the following diagram behavior for the up button:
* <pre>
* +---------------+
* | Main Screen +----+
* +-------+-------+ |
* | |
* ▲ Up | Search Button
* | |
* +----+-----+ |
* +------------+ Search |◄-----+
* | +----+-----+
* | Open |
* | something ▲ Up
* | |
* | +------------+-------------+
* | | |
* | | Video <-> Channel |
* +---►| Channel <-> Playlist |
* | Video <-> .... |
* | |
* +--------------------------+
* </pre>
*/
private void onHomeButtonPressed() {
// If search fragment wasn't found in the backstack...
if (!NavigationHelper.tryGotoSearchFragment(getSupportFragmentManager())) {
// ...go to the main fragment
NavigationHelper.gotoMainFragment(getSupportFragmentManager());
}
}
/*//////////////////////////////////////////////////////////////////////////
// Menu
//////////////////////////////////////////////////////////////////////////*/
@Override
public boolean onCreateOptionsMenu(final Menu menu) {
if (DEBUG) {
Log.d(TAG, "onCreateOptionsMenu() called with: menu = [" + menu + "]");
}
super.onCreateOptionsMenu(menu);
final Fragment fragment
= getSupportFragmentManager().findFragmentById(R.id.fragment_holder);
if (!(fragment instanceof SearchFragment)) {
toolbarLayoutBinding.toolbarSearchContainer.getRoot().setVisibility(View.GONE);
}
final ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setDisplayHomeAsUpEnabled(false);
}
updateDrawerNavigation();
return true;
}
@Override
public boolean onOptionsItemSelected(@NonNull final MenuItem item) {
if (DEBUG) {
Log.d(TAG, "onOptionsItemSelected() called with: item = [" + item + "]");
}
if (item.getItemId() == android.R.id.home) {
onHomeButtonPressed();
return true;
}
return super.onOptionsItemSelected(item);
}
/*//////////////////////////////////////////////////////////////////////////
// Init
//////////////////////////////////////////////////////////////////////////*/
private void initFragments() {
if (DEBUG) {
Log.d(TAG, "initFragments() called");
}
StateSaver.clearStateFiles();
if (getIntent() != null && getIntent().hasExtra(Constants.KEY_LINK_TYPE)) {
// When user watch a video inside popup and then tries to open the video in main player
// while the app is closed he will see a blank fragment on place of kiosk.
// Let's open it first
if (getSupportFragmentManager().getBackStackEntryCount() == 0) {
NavigationHelper.openMainFragment(getSupportFragmentManager());
}
handleIntent(getIntent());
} else {
NavigationHelper.gotoMainFragment(getSupportFragmentManager());
}
}
/*//////////////////////////////////////////////////////////////////////////
// Utils
//////////////////////////////////////////////////////////////////////////*/
private void updateDrawerNavigation() {
if (getSupportActionBar() == null) {
return;
}
final Fragment fragment = getSupportFragmentManager()
.findFragmentById(R.id.fragment_holder);
if (fragment instanceof MainFragment) {
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
if (toggle != null) {
toggle.syncState();
toolbarLayoutBinding.toolbar.setNavigationOnClickListener(v -> mainBinding.getRoot()
.openDrawer(GravityCompat.START));
mainBinding.getRoot().setDrawerLockMode(DrawerLayout.LOCK_MODE_UNDEFINED);
}
} else {
mainBinding.getRoot().setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
toolbarLayoutBinding.toolbar.setNavigationOnClickListener(v -> onHomeButtonPressed());
}
}
private void handleIntent(final Intent intent) {
try {
if (DEBUG) {
Log.d(TAG, "handleIntent() called with: intent = [" + intent + "]");
}
if (intent.hasExtra(Constants.KEY_LINK_TYPE)) {
final String url = intent.getStringExtra(Constants.KEY_URL);
final int serviceId = intent.getIntExtra(Constants.KEY_SERVICE_ID, 0);
String title = intent.getStringExtra(Constants.KEY_TITLE);
if (title == null) {
title = "";
}
final StreamingService.LinkType linkType = ((StreamingService.LinkType) intent
.getSerializableExtra(Constants.KEY_LINK_TYPE));
assert linkType != null;
switch (linkType) {
case STREAM:
final String intentCacheKey = intent.getStringExtra(
Player.PLAY_QUEUE_KEY);
final PlayQueue playQueue = intentCacheKey != null
? SerializedCache.getInstance()
.take(intentCacheKey, PlayQueue.class)
: null;
final boolean switchingPlayers = intent.getBooleanExtra(
VideoDetailFragment.KEY_SWITCHING_PLAYERS, false);
NavigationHelper.openVideoDetailFragment(
getApplicationContext(), getSupportFragmentManager(),
serviceId, url, title, playQueue, switchingPlayers);
break;
case CHANNEL:
NavigationHelper.openChannelFragment(getSupportFragmentManager(),
serviceId, url, title);
break;
case PLAYLIST:
NavigationHelper.openPlaylistFragment(getSupportFragmentManager(),
serviceId, url, title);
break;
}
} else if (intent.hasExtra(Constants.KEY_OPEN_SEARCH)) {
String searchString = intent.getStringExtra(Constants.KEY_SEARCH_STRING);
if (searchString == null) {
searchString = "";
}
final int serviceId = intent.getIntExtra(Constants.KEY_SERVICE_ID, 0);
NavigationHelper.openSearchFragment(
getSupportFragmentManager(),
serviceId,
searchString);
} else {
NavigationHelper.gotoMainFragment(getSupportFragmentManager());
}
} catch (final Exception e) {
ErrorUtil.showUiErrorSnackbar(this, "Handling intent", e);
}
}
private void openMiniPlayerIfMissing() {
final Fragment fragmentPlayer = getSupportFragmentManager()
.findFragmentById(R.id.fragment_player_holder);
if (fragmentPlayer == null) {
// We still don't have a fragment attached to the activity. It can happen when a user
// started popup or background players without opening a stream inside the fragment.
// Adding it in a collapsed state (only mini player will be visible).
NavigationHelper.showMiniPlayer(getSupportFragmentManager());
}
}
private void openMiniPlayerUponPlayerStarted() {
if (getIntent().getSerializableExtra(Constants.KEY_LINK_TYPE)
== StreamingService.LinkType.STREAM) {
// handleIntent() already takes care of opening video detail fragment
// due to an intent containing a STREAM link
return;
}
if (PlayerHolder.getInstance().isPlayerOpen()) {
// if the player is already open, no need for a broadcast receiver
openMiniPlayerIfMissing();
} else {
// listen for player start intent being sent around
broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(final Context context, final Intent intent) {
if (Objects.equals(intent.getAction(),
VideoDetailFragment.ACTION_PLAYER_STARTED)) {
openMiniPlayerIfMissing();
// At this point the player is added 100%, we can unregister. Other actions
// are useless since the fragment will not be removed after that.
unregisterReceiver(broadcastReceiver);
broadcastReceiver = null;
}
}
};
final IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(VideoDetailFragment.ACTION_PLAYER_STARTED);
registerReceiver(broadcastReceiver, intentFilter);
}
}
private boolean bottomSheetHiddenOrCollapsed() {
final BottomSheetBehavior<FrameLayout> bottomSheetBehavior =
BottomSheetBehavior.from(mainBinding.fragmentPlayerHolder);
final int sheetState = bottomSheetBehavior.getState();
return sheetState == BottomSheetBehavior.STATE_HIDDEN
|| sheetState == BottomSheetBehavior.STATE_COLLAPSED;
}
}

View File

@@ -1,64 +0,0 @@
package org.schabi.newpipe;
/**
* Created by Adam Howard on 08/11/15.
*
* Copyright (c) Christian Schabesberger <chris.schabesberger@mailbox.org>
* and Adam Howard <achdisposable1@gmail.com> 2015
*
* VideoListAdapter.java is part of NewPipe.
*
* NewPipe is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* NewPipe is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
*/
public enum MediaFormat {
// id name suffix mime type
MPEG_4 (0x0, "MPEG-4", "mp4", "video/mp4"),
v3GPP (0x1, "3GPP", "3gp", "video/3gpp"),
WEBM (0x2, "WebM", "webm", "video/webm"),
M4A (0x3, "m4a", "m4a", "audio/mp4"),
WEBMA (0x4, "WebM", "webm", "audio/webm");
public final int id;
public final String name;
public final String suffix;
public final String mimeType;
MediaFormat(int id, String name, String suffix, String mimeType) {
this.id = id;
this.name = name;
this.suffix = suffix;
this.mimeType = mimeType;
}
public static String getNameById(int ident) {
for (MediaFormat vf : MediaFormat.values()) {
if(vf.id == ident) return vf.name;
}
return "";
}
public static String getSuffixById(int ident) {
for (MediaFormat vf : MediaFormat.values()) {
if(vf.id == ident) return vf.suffix;
}
return "";
}
public static String getMimeById(int ident) {
for (MediaFormat vf : MediaFormat.values()) {
if(vf.id == ident) return vf.mimeType;
}
return "";
}
}

View File

@@ -0,0 +1,66 @@
package org.schabi.newpipe;
import android.content.Context;
import android.database.Cursor;
import androidx.annotation.NonNull;
import androidx.room.Room;
import org.schabi.newpipe.database.AppDatabase;
import static org.schabi.newpipe.database.AppDatabase.DATABASE_NAME;
import static org.schabi.newpipe.database.Migrations.MIGRATION_1_2;
import static org.schabi.newpipe.database.Migrations.MIGRATION_2_3;
import static org.schabi.newpipe.database.Migrations.MIGRATION_3_4;
public final class NewPipeDatabase {
private static volatile AppDatabase databaseInstance;
private NewPipeDatabase() {
//no instance
}
private static AppDatabase getDatabase(final Context context) {
return Room
.databaseBuilder(context.getApplicationContext(), AppDatabase.class, DATABASE_NAME)
.addMigrations(MIGRATION_1_2, MIGRATION_2_3, MIGRATION_3_4)
.build();
}
@NonNull
public static AppDatabase getInstance(@NonNull final Context context) {
AppDatabase result = databaseInstance;
if (result == null) {
synchronized (NewPipeDatabase.class) {
result = databaseInstance;
if (result == null) {
databaseInstance = getDatabase(context);
result = databaseInstance;
}
}
}
return result;
}
public static void checkpoint() {
if (databaseInstance == null) {
throw new IllegalStateException("database is not initialized");
}
final Cursor c = databaseInstance.query("pragma wal_checkpoint(full)", null);
if (c.moveToFirst() && c.getInt(0) == 1) {
throw new RuntimeException("Checkpoint was blocked from completing");
}
}
public static void close() {
if (databaseInstance != null) {
synchronized (NewPipeDatabase.class) {
if (databaseInstance != null) {
databaseInstance.close();
databaseInstance = null;
}
}
}
}
}

View File

@@ -0,0 +1,28 @@
package org.schabi.newpipe
import java.time.Instant
import java.time.ZonedDateTime
import java.time.format.DateTimeFormatter
class NewVersionManager {
fun isExpired(expiry: Long): Boolean {
return Instant.ofEpochSecond(expiry).isBefore(Instant.now())
}
/**
* Coerce expiry date time in between 6 hours and 72 hours from now
*
* @return Epoch second of expiry date time
*/
fun coerceExpiry(expiryString: String?): Long {
val now = ZonedDateTime.now()
return expiryString?.let {
var expiry = ZonedDateTime.from(DateTimeFormatter.RFC_1123_DATE_TIME.parse(expiryString))
expiry = maxOf(expiry, now.plusHours(6))
expiry = minOf(expiry, now.plusHours(72))
expiry.toEpochSecond()
} ?: now.plusHours(6).toEpochSecond()
}
}

View File

@@ -0,0 +1,49 @@
package org.schabi.newpipe;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
/*
* Copyright (C) Hans-Christoph Steiner 2016 <hans@eds.org>
* PanicResponderActivity.java is part of NewPipe.
*
* NewPipe is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* NewPipe is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
*/
public class PanicResponderActivity extends Activity {
public static final String PANIC_TRIGGER_ACTION = "info.guardianproject.panic.action.TRIGGER";
@SuppressLint("NewApi")
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final Intent intent = getIntent();
if (intent != null && PANIC_TRIGGER_ACTION.equals(intent.getAction())) {
// TODO: Explicitly clear the search results
// once they are restored when the app restarts
// or if the app reloads the current video after being killed,
// that should be cleared also
ExitActivity.exitAndRemoveFromRecentApps(this);
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
finishAndRemoveTask();
} else {
finish();
}
}
}

View File

@@ -1,336 +0,0 @@
package org.schabi.newpipe;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.Display;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.MediaController;
import android.widget.ProgressBar;
import android.widget.VideoView;
/**
* Copyright (C) Christian Schabesberger 2015 <chris.schabesberger@mailbox.org>
* PlayVideoActivity.java is part of NewPipe.
*
* NewPipe is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* NewPipe is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
*/
public class PlayVideoActivity extends AppCompatActivity {
//// TODO: 11.09.15 add "choose stream" menu
private static final String TAG = PlayVideoActivity.class.toString();
public static final String VIDEO_URL = "video_url";
public static final String STREAM_URL = "stream_url";
public static final String VIDEO_TITLE = "video_title";
private static final String POSITION = "position";
private static final long HIDING_DELAY = 3000;
private static final long TAB_HIDING_DELAY = 100;
private String videoUrl = "";
private ActionBar actionBar;
private VideoView videoView;
private int position = 0;
private MediaController mediaController;
private ProgressBar progressBar;
private View decorView;
private boolean uiIsHidden = false;
private static long lastUiShowTime = 0;
private boolean isLandscape = true;
private boolean hasSoftKeys = false;
private SharedPreferences prefs;
private static final String PREF_IS_LANDSCAPE = "is_landscape";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_play_video);
isLandscape = checkIfLandscape();
hasSoftKeys = checkIfHasSoftKeys();
actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
Intent intent = getIntent();
if(mediaController == null) {
mediaController = new MediaController(this);
}
videoView = (VideoView) findViewById(R.id.video_view);
progressBar = (ProgressBar) findViewById(R.id.play_video_progress_bar);
try {
videoView.setMediaController(mediaController);
videoView.setVideoURI(Uri.parse(intent.getStringExtra(STREAM_URL)));
} catch (Exception e) {
e.printStackTrace();
}
videoView.requestFocus();
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
progressBar.setVisibility(View.GONE);
videoView.seekTo(position);
if (position == 0) {
videoView.start();
showUi();
} else {
videoView.pause();
}
}
});
videoUrl = intent.getStringExtra(VIDEO_URL);
Button button = (Button) findViewById(R.id.content_button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(uiIsHidden) {
showUi();
} else {
hideUi();
}
}
});
decorView = getWindow().getDecorView();
decorView.setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() {
@Override
public void onSystemUiVisibilityChange(int visibility) {
if (visibility == View.VISIBLE && uiIsHidden) {
showUi();
}
}
});
if (android.os.Build.VERSION.SDK_INT >= 17) {
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
}
prefs = getPreferences(Context.MODE_PRIVATE);
if(prefs.getBoolean(PREF_IS_LANDSCAPE, false) && !isLandscape) {
toggleOrientation();
}
}
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
}
@Override
public boolean onCreatePanelMenu(int featured, Menu menu) {
super.onCreatePanelMenu(featured, menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.video_player, menu);
return true;
}
@Override
public void onResume() {
super.onResume();
}
@Override
public void onPause() {
super.onPause();
videoView.pause();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch(id) {
case android.R.id.home:
finish();
break;
case R.id.menu_item_share:
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_TEXT, videoUrl);
intent.setType("text/plain");
startActivity(Intent.createChooser(intent, getString(R.string.shareDialogTitle)));
break;
case R.id.menu_item_screen_rotation:
toggleOrientation();
break;
default:
Log.e(TAG, "Error: MenuItem not known");
return false;
}
return true;
}
@Override
public void onConfigurationChanged(Configuration config) {
super.onConfigurationChanged(config);
if (config.orientation == Configuration.ORIENTATION_LANDSCAPE) {
isLandscape = true;
adjustMediaControlMetrics();
} else if (config.orientation == Configuration.ORIENTATION_PORTRAIT){
isLandscape = false;
adjustMediaControlMetrics();
}
}
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
//savedInstanceState.putInt(POSITION, videoView.getCurrentPosition());
//videoView.pause();
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
position = savedInstanceState.getInt(POSITION);
//videoView.seekTo(position);
}
private void showUi() {
try {
uiIsHidden = false;
mediaController.show(100000);
actionBar.show();
adjustMediaControlMetrics();
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
if ((System.currentTimeMillis() - lastUiShowTime) >= HIDING_DELAY) {
hideUi();
}
}
}, HIDING_DELAY);
lastUiShowTime = System.currentTimeMillis();
}catch(Exception e) {
e.printStackTrace();
}
}
private void hideUi() {
uiIsHidden = true;
actionBar.hide();
mediaController.hide();
if (android.os.Build.VERSION.SDK_INT >= 17) {
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
}
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
private void adjustMediaControlMetrics() {
MediaController.LayoutParams mediaControllerLayout
= new MediaController.LayoutParams(MediaController.LayoutParams.MATCH_PARENT,
MediaController.LayoutParams.WRAP_CONTENT);
if(!hasSoftKeys) {
mediaControllerLayout.setMargins(20, 0, 20, 20);
} else {
int width = getNavigationBarWidth();
int height = getNavigationBarHeight();
mediaControllerLayout.setMargins(width + 20, 0, width + 20, height + 20);
}
mediaController.setLayoutParams(mediaControllerLayout);
}
private boolean checkIfHasSoftKeys(){
if(Build.VERSION.SDK_INT >= 17) {
return getNavigationBarHeight() != 0 || getNavigationBarWidth() != 0;
} else {
return true;
}
}
private int getNavigationBarHeight() {
if(Build.VERSION.SDK_INT >= 17) {
Display d = getWindowManager().getDefaultDisplay();
DisplayMetrics realDisplayMetrics = new DisplayMetrics();
d.getRealMetrics(realDisplayMetrics);
DisplayMetrics displayMetrics = new DisplayMetrics();
d.getMetrics(displayMetrics);
int realHeight = realDisplayMetrics.heightPixels;
int displayHeight = displayMetrics.heightPixels;
return (realHeight - displayHeight);
} else {
return 50;
}
}
private int getNavigationBarWidth() {
if(Build.VERSION.SDK_INT >= 17) {
Display d = getWindowManager().getDefaultDisplay();
DisplayMetrics realDisplayMetrics = new DisplayMetrics();
d.getRealMetrics(realDisplayMetrics);
DisplayMetrics displayMetrics = new DisplayMetrics();
d.getMetrics(displayMetrics);
int realWidth = realDisplayMetrics.widthPixels;
int displayWidth = displayMetrics.widthPixels;
return (realWidth - displayWidth);
} else {
return 50;
}
}
public boolean checkIfLandscape() {
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
return displayMetrics.heightPixels < displayMetrics.widthPixels;
}
private void toggleOrientation() {
if(isLandscape) {
isLandscape = false;
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
} else {
isLandscape = true;
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
}
SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean(PREF_IS_LANDSCAPE, isLandscape);
editor.commit();
}
}

View File

@@ -0,0 +1,83 @@
package org.schabi.newpipe;
import static org.schabi.newpipe.util.external_communication.ShareUtils.shareText;
import android.content.Context;
import android.view.ContextThemeWrapper;
import android.view.View;
import android.widget.PopupMenu;
import androidx.fragment.app.FragmentManager;
import org.schabi.newpipe.database.stream.model.StreamEntity;
import org.schabi.newpipe.local.dialog.PlaylistDialog;
import org.schabi.newpipe.player.playqueue.PlayQueue;
import org.schabi.newpipe.player.playqueue.PlayQueueItem;
import org.schabi.newpipe.util.NavigationHelper;
import org.schabi.newpipe.util.SaveUploaderUrlHelper;
import java.util.Collections;
public final class QueueItemMenuUtil {
private QueueItemMenuUtil() {
}
public static void openPopupMenu(final PlayQueue playQueue,
final PlayQueueItem item,
final View view,
final boolean hideDetails,
final FragmentManager fragmentManager,
final Context context) {
final ContextThemeWrapper themeWrapper =
new ContextThemeWrapper(context, R.style.DarkPopupMenu);
final PopupMenu popupMenu = new PopupMenu(themeWrapper, view);
popupMenu.inflate(R.menu.menu_play_queue_item);
if (hideDetails) {
popupMenu.getMenu().findItem(R.id.menu_item_details).setVisible(false);
}
popupMenu.setOnMenuItemClickListener(menuItem -> {
switch (menuItem.getItemId()) {
case R.id.menu_item_remove:
final int index = playQueue.indexOf(item);
playQueue.remove(index);
return true;
case R.id.menu_item_details:
// playQueue is null since we don't want any queue change
NavigationHelper.openVideoDetail(context, item.getServiceId(),
item.getUrl(), item.getTitle(), null,
false);
return true;
case R.id.menu_item_append_playlist:
PlaylistDialog.createCorrespondingDialog(
context,
Collections.singletonList(new StreamEntity(item)),
dialog -> dialog.show(
fragmentManager,
"QueueItemMenuUtil@append_playlist"
)
);
return true;
case R.id.menu_item_channel_details:
SaveUploaderUrlHelper.saveUploaderUrlIfNeeded(context, item,
// An intent must be used here.
// Opening with FragmentManager transactions is not working,
// as PlayQueueActivity doesn't use fragments.
uploaderUrl -> NavigationHelper.openChannelFragmentUsingIntent(
context, item.getServiceId(), uploaderUrl, item.getUploader()
));
return true;
case R.id.menu_item_share:
shareText(context, item.getTitle(), item.getUrl(),
item.getThumbnailUrl());
return true;
}
return false;
});
popupMenu.show();
}
}

View File

@@ -0,0 +1,848 @@
package org.schabi.newpipe;
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.AUDIO;
import static org.schabi.newpipe.extractor.StreamingService.ServiceInfo.MediaCapability.VIDEO;
import android.annotation.SuppressLint;
import android.app.IntentService;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.ContextThemeWrapper;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
import androidx.annotation.DrawableRes;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.content.res.AppCompatResources;
import androidx.core.app.NotificationCompat;
import androidx.core.app.ServiceCompat;
import androidx.core.widget.TextViewCompat;
import androidx.fragment.app.FragmentManager;
import androidx.preference.PreferenceManager;
import org.schabi.newpipe.database.stream.model.StreamEntity;
import org.schabi.newpipe.databinding.ListRadioIconItemBinding;
import org.schabi.newpipe.databinding.SingleChoiceDialogViewBinding;
import org.schabi.newpipe.download.DownloadDialog;
import org.schabi.newpipe.error.ErrorInfo;
import org.schabi.newpipe.error.ErrorUtil;
import org.schabi.newpipe.error.ReCaptchaActivity;
import org.schabi.newpipe.error.UserAction;
import org.schabi.newpipe.extractor.Info;
import org.schabi.newpipe.extractor.NewPipe;
import org.schabi.newpipe.extractor.StreamingService;
import org.schabi.newpipe.extractor.StreamingService.LinkType;
import org.schabi.newpipe.extractor.channel.ChannelInfo;
import org.schabi.newpipe.extractor.exceptions.AgeRestrictedContentException;
import org.schabi.newpipe.extractor.exceptions.ContentNotAvailableException;
import org.schabi.newpipe.extractor.exceptions.ContentNotSupportedException;
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
import org.schabi.newpipe.extractor.exceptions.GeographicRestrictionException;
import org.schabi.newpipe.extractor.exceptions.PaidContentException;
import org.schabi.newpipe.extractor.exceptions.PrivateContentException;
import org.schabi.newpipe.extractor.exceptions.ReCaptchaException;
import org.schabi.newpipe.extractor.exceptions.SoundCloudGoPlusContentException;
import org.schabi.newpipe.extractor.exceptions.YoutubeMusicPremiumContentException;
import org.schabi.newpipe.extractor.playlist.PlaylistInfo;
import org.schabi.newpipe.extractor.stream.StreamInfo;
import org.schabi.newpipe.extractor.stream.VideoStream;
import org.schabi.newpipe.ktx.ExceptionUtils;
import org.schabi.newpipe.local.dialog.PlaylistDialog;
import org.schabi.newpipe.player.MainPlayer;
import org.schabi.newpipe.player.helper.PlayerHelper;
import org.schabi.newpipe.player.helper.PlayerHolder;
import org.schabi.newpipe.player.playqueue.ChannelPlayQueue;
import org.schabi.newpipe.player.playqueue.PlayQueue;
import org.schabi.newpipe.player.playqueue.PlaylistPlayQueue;
import org.schabi.newpipe.player.playqueue.SinglePlayQueue;
import org.schabi.newpipe.util.Constants;
import org.schabi.newpipe.util.DeviceUtils;
import org.schabi.newpipe.util.ExtractorHelper;
import org.schabi.newpipe.util.ListHelper;
import org.schabi.newpipe.util.NavigationHelper;
import org.schabi.newpipe.util.PermissionHelper;
import org.schabi.newpipe.util.ThemeHelper;
import org.schabi.newpipe.util.external_communication.ShareUtils;
import org.schabi.newpipe.util.urlfinder.UrlFinder;
import org.schabi.newpipe.views.FocusOverlayView;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import icepick.Icepick;
import icepick.State;
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
import io.reactivex.rxjava3.core.Observable;
import io.reactivex.rxjava3.core.Single;
import io.reactivex.rxjava3.disposables.CompositeDisposable;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.functions.Consumer;
import io.reactivex.rxjava3.schedulers.Schedulers;
/**
* Get the url from the intent and open it in the chosen preferred player.
*/
public class RouterActivity extends AppCompatActivity {
protected final CompositeDisposable disposables = new CompositeDisposable();
@State
protected int currentServiceId = -1;
@State
protected LinkType currentLinkType;
@State
protected int selectedRadioPosition = -1;
protected int selectedPreviously = -1;
protected String currentUrl;
private StreamingService currentService;
private boolean selectionIsDownload = false;
private boolean selectionIsAddToPlaylist = false;
private AlertDialog alertDialogChoice = null;
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Icepick.restoreInstanceState(this, savedInstanceState);
if (TextUtils.isEmpty(currentUrl)) {
currentUrl = getUrl(getIntent());
if (TextUtils.isEmpty(currentUrl)) {
handleText();
finish();
}
}
setTheme(ThemeHelper.isLightThemeSelected(this)
? R.style.RouterActivityThemeLight : R.style.RouterActivityThemeDark);
}
@Override
protected void onStop() {
super.onStop();
// we need to dismiss the dialog before leaving the activity or we get leaks
if (alertDialogChoice != null) {
alertDialogChoice.dismiss();
}
}
@Override
protected void onSaveInstanceState(@NonNull final Bundle outState) {
super.onSaveInstanceState(outState);
Icepick.saveInstanceState(this, outState);
}
@Override
protected void onStart() {
super.onStart();
handleUrl(currentUrl);
}
@Override
protected void onDestroy() {
super.onDestroy();
disposables.clear();
}
private void handleUrl(final String url) {
disposables.add(Observable
.fromCallable(() -> {
try {
if (currentServiceId == -1) {
currentService = NewPipe.getServiceByUrl(url);
currentServiceId = currentService.getServiceId();
currentLinkType = currentService.getLinkTypeByUrl(url);
currentUrl = url;
} else {
currentService = NewPipe.getService(currentServiceId);
}
// return whether the url was found to be supported or not
return currentLinkType != LinkType.NONE;
} catch (final ExtractionException e) {
// this can be reached only when the url is completely unsupported
return false;
}
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(isUrlSupported -> {
if (isUrlSupported) {
onSuccess();
} else {
showUnsupportedUrlDialog(url);
}
}, throwable -> handleError(this, new ErrorInfo(throwable,
UserAction.SHARE_TO_NEWPIPE, "Getting service from url: " + url))));
}
/**
* @param context the context. It will be {@code finish()}ed at the end of the handling if it is
* an instance of {@link RouterActivity}.
* @param errorInfo the error information
*/
private static void handleError(final Context context, final ErrorInfo errorInfo) {
if (errorInfo.getThrowable() != null) {
errorInfo.getThrowable().printStackTrace();
}
if (errorInfo.getThrowable() instanceof ReCaptchaException) {
Toast.makeText(context, R.string.recaptcha_request_toast, Toast.LENGTH_LONG).show();
// Starting ReCaptcha Challenge Activity
final Intent intent = new Intent(context, ReCaptchaActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
} else if (errorInfo.getThrowable() != null
&& ExceptionUtils.isNetworkRelated(errorInfo.getThrowable())) {
Toast.makeText(context, R.string.network_error, Toast.LENGTH_LONG).show();
} else if (errorInfo.getThrowable() instanceof AgeRestrictedContentException) {
Toast.makeText(context, R.string.restricted_video_no_stream,
Toast.LENGTH_LONG).show();
} else if (errorInfo.getThrowable() instanceof GeographicRestrictionException) {
Toast.makeText(context, R.string.georestricted_content, Toast.LENGTH_LONG).show();
} else if (errorInfo.getThrowable() instanceof PaidContentException) {
Toast.makeText(context, R.string.paid_content, Toast.LENGTH_LONG).show();
} else if (errorInfo.getThrowable() instanceof PrivateContentException) {
Toast.makeText(context, R.string.private_content, Toast.LENGTH_LONG).show();
} else if (errorInfo.getThrowable() instanceof SoundCloudGoPlusContentException) {
Toast.makeText(context, R.string.soundcloud_go_plus_content,
Toast.LENGTH_LONG).show();
} else if (errorInfo.getThrowable() instanceof YoutubeMusicPremiumContentException) {
Toast.makeText(context, R.string.youtube_music_premium_content,
Toast.LENGTH_LONG).show();
} else if (errorInfo.getThrowable() instanceof ContentNotAvailableException) {
Toast.makeText(context, R.string.content_not_available, Toast.LENGTH_LONG).show();
} else if (errorInfo.getThrowable() instanceof ContentNotSupportedException) {
Toast.makeText(context, R.string.content_not_supported, Toast.LENGTH_LONG).show();
} else {
ErrorUtil.createNotification(context, errorInfo);
}
if (context instanceof RouterActivity) {
((RouterActivity) context).finish();
}
}
private void showUnsupportedUrlDialog(final String url) {
final Context context = getThemeWrapperContext();
new AlertDialog.Builder(context)
.setTitle(R.string.unsupported_url)
.setMessage(R.string.unsupported_url_dialog_message)
.setIcon(R.drawable.ic_share)
.setPositiveButton(R.string.open_in_browser,
(dialog, which) -> ShareUtils.openUrlInBrowser(this, url))
.setNegativeButton(R.string.share,
(dialog, which) -> ShareUtils.shareText(this, "", url)) // no subject
.setNeutralButton(R.string.cancel, null)
.setOnDismissListener(dialog -> finish())
.show();
}
protected void onSuccess() {
final SharedPreferences preferences = PreferenceManager
.getDefaultSharedPreferences(this);
final String selectedChoiceKey = preferences
.getString(getString(R.string.preferred_open_action_key),
getString(R.string.preferred_open_action_default));
final String showInfoKey = getString(R.string.show_info_key);
final String videoPlayerKey = getString(R.string.video_player_key);
final String backgroundPlayerKey = getString(R.string.background_player_key);
final String popupPlayerKey = getString(R.string.popup_player_key);
final String downloadKey = getString(R.string.download_key);
final String alwaysAskKey = getString(R.string.always_ask_open_action_key);
if (selectedChoiceKey.equals(alwaysAskKey)) {
final List<AdapterChoiceItem> choices
= getChoicesForService(currentService, currentLinkType);
switch (choices.size()) {
case 1:
handleChoice(choices.get(0).key);
break;
case 0:
handleChoice(showInfoKey);
break;
default:
showDialog(choices);
break;
}
} else if (selectedChoiceKey.equals(showInfoKey)) {
handleChoice(showInfoKey);
} else if (selectedChoiceKey.equals(downloadKey)) {
handleChoice(downloadKey);
} else {
final boolean isExtVideoEnabled = preferences.getBoolean(
getString(R.string.use_external_video_player_key), false);
final boolean isExtAudioEnabled = preferences.getBoolean(
getString(R.string.use_external_audio_player_key), false);
final boolean isVideoPlayerSelected = selectedChoiceKey.equals(videoPlayerKey)
|| selectedChoiceKey.equals(popupPlayerKey);
final boolean isAudioPlayerSelected = selectedChoiceKey.equals(backgroundPlayerKey);
if (currentLinkType != LinkType.STREAM) {
if (isExtAudioEnabled && isAudioPlayerSelected
|| isExtVideoEnabled && isVideoPlayerSelected) {
Toast.makeText(this, R.string.external_player_unsupported_link_type,
Toast.LENGTH_LONG).show();
handleChoice(showInfoKey);
return;
}
}
final List<StreamingService.ServiceInfo.MediaCapability> capabilities
= currentService.getServiceInfo().getMediaCapabilities();
boolean serviceSupportsChoice = false;
if (isVideoPlayerSelected) {
serviceSupportsChoice = capabilities.contains(VIDEO);
} else if (selectedChoiceKey.equals(backgroundPlayerKey)) {
serviceSupportsChoice = capabilities.contains(AUDIO);
}
if (serviceSupportsChoice) {
handleChoice(selectedChoiceKey);
} else {
handleChoice(showInfoKey);
}
}
}
private void showDialog(final List<AdapterChoiceItem> choices) {
final SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
final Context themeWrapperContext = getThemeWrapperContext();
final LayoutInflater inflater = LayoutInflater.from(themeWrapperContext);
final RadioGroup radioGroup = SingleChoiceDialogViewBinding.inflate(getLayoutInflater())
.list;
final DialogInterface.OnClickListener dialogButtonsClickListener = (dialog, which) -> {
final int indexOfChild = radioGroup.indexOfChild(
radioGroup.findViewById(radioGroup.getCheckedRadioButtonId()));
final AdapterChoiceItem choice = choices.get(indexOfChild);
handleChoice(choice.key);
// open future streams always like this one, because "always" button was used by user
if (which == DialogInterface.BUTTON_POSITIVE) {
preferences.edit()
.putString(getString(R.string.preferred_open_action_key), choice.key)
.apply();
}
};
alertDialogChoice = new AlertDialog.Builder(themeWrapperContext)
.setTitle(R.string.preferred_open_action_share_menu_title)
.setView(radioGroup)
.setCancelable(true)
.setNegativeButton(R.string.just_once, dialogButtonsClickListener)
.setPositiveButton(R.string.always, dialogButtonsClickListener)
.setOnDismissListener((dialog) -> {
if (!selectionIsDownload && !selectionIsAddToPlaylist) {
finish();
}
})
.create();
//noinspection CodeBlock2Expr
alertDialogChoice.setOnShowListener(dialog -> {
setDialogButtonsState(alertDialogChoice, radioGroup.getCheckedRadioButtonId() != -1);
});
radioGroup.setOnCheckedChangeListener((group, checkedId) ->
setDialogButtonsState(alertDialogChoice, true));
final View.OnClickListener radioButtonsClickListener = v -> {
final int indexOfChild = radioGroup.indexOfChild(v);
if (indexOfChild == -1) {
return;
}
selectedPreviously = selectedRadioPosition;
selectedRadioPosition = indexOfChild;
if (selectedPreviously == selectedRadioPosition) {
handleChoice(choices.get(selectedRadioPosition).key);
}
};
int id = 12345;
for (final AdapterChoiceItem item : choices) {
final RadioButton radioButton = ListRadioIconItemBinding.inflate(inflater).getRoot();
radioButton.setText(item.description);
TextViewCompat.setCompoundDrawablesRelativeWithIntrinsicBounds(radioButton,
AppCompatResources.getDrawable(themeWrapperContext, item.icon),
null, null, null);
radioButton.setChecked(false);
radioButton.setId(id++);
radioButton.setLayoutParams(new RadioGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
radioButton.setOnClickListener(radioButtonsClickListener);
radioGroup.addView(radioButton);
}
if (selectedRadioPosition == -1) {
final String lastSelectedPlayer = preferences.getString(
getString(R.string.preferred_open_action_last_selected_key), null);
if (!TextUtils.isEmpty(lastSelectedPlayer)) {
for (int i = 0; i < choices.size(); i++) {
final AdapterChoiceItem c = choices.get(i);
if (lastSelectedPlayer.equals(c.key)) {
selectedRadioPosition = i;
break;
}
}
}
}
selectedRadioPosition = Math.min(Math.max(-1, selectedRadioPosition), choices.size() - 1);
if (selectedRadioPosition != -1) {
((RadioButton) radioGroup.getChildAt(selectedRadioPosition)).setChecked(true);
}
selectedPreviously = selectedRadioPosition;
alertDialogChoice.show();
if (DeviceUtils.isTv(this)) {
FocusOverlayView.setupFocusObserver(alertDialogChoice);
}
}
private List<AdapterChoiceItem> getChoicesForService(final StreamingService service,
final LinkType linkType) {
final Context context = getThemeWrapperContext();
final List<AdapterChoiceItem> returnList = new ArrayList<>();
final List<StreamingService.ServiceInfo.MediaCapability> capabilities
= service.getServiceInfo().getMediaCapabilities();
final SharedPreferences preferences = PreferenceManager
.getDefaultSharedPreferences(this);
final boolean isExtVideoEnabled = preferences.getBoolean(
getString(R.string.use_external_video_player_key), false);
final boolean isExtAudioEnabled = preferences.getBoolean(
getString(R.string.use_external_audio_player_key), false);
final AdapterChoiceItem videoPlayer = new AdapterChoiceItem(
getString(R.string.video_player_key), getString(R.string.video_player),
R.drawable.ic_play_arrow);
final AdapterChoiceItem showInfo = new AdapterChoiceItem(
getString(R.string.show_info_key), getString(R.string.show_info),
R.drawable.ic_info_outline);
final AdapterChoiceItem popupPlayer = new AdapterChoiceItem(
getString(R.string.popup_player_key), getString(R.string.popup_player),
R.drawable.ic_picture_in_picture);
final AdapterChoiceItem backgroundPlayer = new AdapterChoiceItem(
getString(R.string.background_player_key), getString(R.string.background_player),
R.drawable.ic_headset);
final AdapterChoiceItem addToPlaylist = new AdapterChoiceItem(
getString(R.string.add_to_playlist_key), getString(R.string.add_to_playlist),
R.drawable.ic_add);
if (linkType == LinkType.STREAM) {
if (isExtVideoEnabled) {
// show both "show info" and "video player", they are two different activities
returnList.add(showInfo);
returnList.add(videoPlayer);
} else {
final MainPlayer.PlayerType playerType = PlayerHolder.getInstance().getType();
if (capabilities.contains(VIDEO)
&& PlayerHelper.isAutoplayAllowedByUser(context)
&& playerType == null || playerType == MainPlayer.PlayerType.VIDEO) {
// show only "video player" since the details activity will be opened and the
// video will be auto played there. Since "show info" would do the exact same
// thing, use that as a key to let VideoDetailFragment load the stream instead
// of using FetcherService (see comment in handleChoice())
returnList.add(new AdapterChoiceItem(
showInfo.key, videoPlayer.description, videoPlayer.icon));
} else {
// show only "show info" if video player is not applicable, auto play is
// disabled or a video is playing in a player different than the main one
returnList.add(showInfo);
}
}
if (capabilities.contains(VIDEO)) {
returnList.add(popupPlayer);
}
if (capabilities.contains(AUDIO)) {
returnList.add(backgroundPlayer);
}
// download is redundant for linkType CHANNEL AND PLAYLIST (till playlist downloading is
// not supported )
returnList.add(new AdapterChoiceItem(getString(R.string.download_key),
getString(R.string.download),
R.drawable.ic_file_download));
// Add to playlist is not necessary for CHANNEL and PLAYLIST linkType since those can
// not be added to a playlist
returnList.add(addToPlaylist);
} else {
returnList.add(showInfo);
if (capabilities.contains(VIDEO) && !isExtVideoEnabled) {
returnList.add(videoPlayer);
returnList.add(popupPlayer);
}
if (capabilities.contains(AUDIO) && !isExtAudioEnabled) {
returnList.add(backgroundPlayer);
}
}
return returnList;
}
private Context getThemeWrapperContext() {
return new ContextThemeWrapper(this, ThemeHelper.isLightThemeSelected(this)
? R.style.LightTheme : R.style.DarkTheme);
}
private void setDialogButtonsState(final AlertDialog dialog, final boolean state) {
final Button negativeButton = dialog.getButton(DialogInterface.BUTTON_NEGATIVE);
final Button positiveButton = dialog.getButton(DialogInterface.BUTTON_POSITIVE);
if (negativeButton == null || positiveButton == null) {
return;
}
negativeButton.setEnabled(state);
positiveButton.setEnabled(state);
}
private void handleText() {
final String searchString = getIntent().getStringExtra(Intent.EXTRA_TEXT);
final int serviceId = getIntent().getIntExtra(Constants.KEY_SERVICE_ID, 0);
final Intent intent = new Intent(getThemeWrapperContext(), MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
NavigationHelper.openSearch(getThemeWrapperContext(), serviceId, searchString);
}
private void handleChoice(final String selectedChoiceKey) {
final List<String> validChoicesList = Arrays.asList(getResources()
.getStringArray(R.array.preferred_open_action_values_list));
if (validChoicesList.contains(selectedChoiceKey)) {
PreferenceManager.getDefaultSharedPreferences(this).edit()
.putString(getString(
R.string.preferred_open_action_last_selected_key), selectedChoiceKey)
.apply();
}
if (selectedChoiceKey.equals(getString(R.string.popup_player_key))
&& !PermissionHelper.isPopupEnabled(this)) {
PermissionHelper.showPopupEnablementToast(this);
finish();
return;
}
if (selectedChoiceKey.equals(getString(R.string.download_key))) {
if (PermissionHelper.checkStoragePermissions(this,
PermissionHelper.DOWNLOAD_DIALOG_REQUEST_CODE)) {
selectionIsDownload = true;
openDownloadDialog();
}
return;
}
if (selectedChoiceKey.equals(getString(R.string.add_to_playlist_key))) {
selectionIsAddToPlaylist = true;
openAddToPlaylistDialog();
return;
}
// stop and bypass FetcherService if InfoScreen was selected since
// StreamDetailFragment can fetch data itself
if (selectedChoiceKey.equals(getString(R.string.show_info_key))) {
disposables.add(Observable
.fromCallable(() -> NavigationHelper.getIntentByLink(this, currentUrl))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(intent -> {
startActivity(intent);
finish();
}, throwable -> handleError(this, new ErrorInfo(throwable,
UserAction.SHARE_TO_NEWPIPE, "Starting info activity: " + currentUrl)))
);
return;
}
final Intent intent = new Intent(this, FetcherService.class);
final Choice choice = new Choice(currentService.getServiceId(), currentLinkType,
currentUrl, selectedChoiceKey);
intent.putExtra(FetcherService.KEY_CHOICE, choice);
startService(intent);
finish();
}
private void openAddToPlaylistDialog() {
// Getting the stream info usually takes a moment
// Notifying the user here to ensure that no confusion arises
Toast.makeText(
getApplicationContext(),
getString(R.string.processing_may_take_a_moment),
Toast.LENGTH_SHORT)
.show();
disposables.add(ExtractorHelper.getStreamInfo(currentServiceId, currentUrl, false)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
info -> PlaylistDialog.createCorrespondingDialog(
getThemeWrapperContext(),
Collections.singletonList(new StreamEntity(info)),
playlistDialog -> {
playlistDialog.setOnDismissListener(dialog -> finish());
playlistDialog.show(
this.getSupportFragmentManager(),
"addToPlaylistDialog"
);
}
),
throwable -> handleError(this, new ErrorInfo(
throwable,
UserAction.REQUESTED_STREAM,
"Tried to add " + currentUrl + " to a playlist",
currentService.getServiceId())
)
)
);
}
@SuppressLint("CheckResult")
private void openDownloadDialog() {
disposables.add(ExtractorHelper.getStreamInfo(currentServiceId, currentUrl, true)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(result -> {
final List<VideoStream> sortedVideoStreams = ListHelper
.getSortedStreamVideosList(this, result.getVideoStreams(),
result.getVideoOnlyStreams(), false);
final int selectedVideoStreamIndex = ListHelper
.getDefaultResolutionIndex(this, sortedVideoStreams);
final FragmentManager fm = getSupportFragmentManager();
final DownloadDialog downloadDialog = DownloadDialog.newInstance(result);
downloadDialog.setVideoStreams(sortedVideoStreams);
downloadDialog.setAudioStreams(result.getAudioStreams());
downloadDialog.setSelectedVideoStream(selectedVideoStreamIndex);
downloadDialog.setOnDismissListener(dialog -> finish());
downloadDialog.show(fm, "downloadDialog");
fm.executePendingTransactions();
}, throwable ->
showUnsupportedUrlDialog(currentUrl)));
}
@Override
public void onRequestPermissionsResult(final int requestCode,
@NonNull final String[] permissions,
@NonNull final int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
for (final int i : grantResults) {
if (i == PackageManager.PERMISSION_DENIED) {
finish();
return;
}
}
if (requestCode == PermissionHelper.DOWNLOAD_DIALOG_REQUEST_CODE) {
openDownloadDialog();
}
}
private static class AdapterChoiceItem {
final String description;
final String key;
@DrawableRes
final int icon;
AdapterChoiceItem(final String key, final String description, final int icon) {
this.description = description;
this.key = key;
this.icon = icon;
}
}
private static class Choice implements Serializable {
final int serviceId;
final String url;
final String playerChoice;
final LinkType linkType;
Choice(final int serviceId, final LinkType linkType,
final String url, final String playerChoice) {
this.serviceId = serviceId;
this.linkType = linkType;
this.url = url;
this.playerChoice = playerChoice;
}
@NonNull
@Override
public String toString() {
return serviceId + ":" + url + " > " + linkType + " ::: " + playerChoice;
}
}
public static class FetcherService extends IntentService {
public static final String KEY_CHOICE = "key_choice";
private static final int ID = 456;
private Disposable fetcher;
public FetcherService() {
super(FetcherService.class.getSimpleName());
}
@Override
public void onCreate() {
super.onCreate();
startForeground(ID, createNotification().build());
}
@Override
protected void onHandleIntent(@Nullable final Intent intent) {
if (intent == null) {
return;
}
final Serializable serializable = intent.getSerializableExtra(KEY_CHOICE);
if (!(serializable instanceof Choice)) {
return;
}
final Choice playerChoice = (Choice) serializable;
handleChoice(playerChoice);
}
public void handleChoice(final Choice choice) {
Single<? extends Info> single = null;
UserAction userAction = UserAction.SOMETHING_ELSE;
switch (choice.linkType) {
case STREAM:
single = ExtractorHelper.getStreamInfo(choice.serviceId, choice.url, false);
userAction = UserAction.REQUESTED_STREAM;
break;
case CHANNEL:
single = ExtractorHelper.getChannelInfo(choice.serviceId, choice.url, false);
userAction = UserAction.REQUESTED_CHANNEL;
break;
case PLAYLIST:
single = ExtractorHelper.getPlaylistInfo(choice.serviceId, choice.url, false);
userAction = UserAction.REQUESTED_PLAYLIST;
break;
}
if (single != null) {
final UserAction finalUserAction = userAction;
final Consumer<Info> resultHandler = getResultHandler(choice);
fetcher = single
.observeOn(AndroidSchedulers.mainThread())
.subscribe(info -> {
resultHandler.accept(info);
if (fetcher != null) {
fetcher.dispose();
}
}, throwable -> handleError(this, new ErrorInfo(throwable, finalUserAction,
choice.url + " opened with " + choice.playerChoice,
choice.serviceId)));
}
}
public Consumer<Info> getResultHandler(final Choice choice) {
return info -> {
final String videoPlayerKey = getString(R.string.video_player_key);
final String backgroundPlayerKey = getString(R.string.background_player_key);
final String popupPlayerKey = getString(R.string.popup_player_key);
final SharedPreferences preferences = PreferenceManager
.getDefaultSharedPreferences(this);
final boolean isExtVideoEnabled = preferences.getBoolean(
getString(R.string.use_external_video_player_key), false);
final boolean isExtAudioEnabled = preferences.getBoolean(
getString(R.string.use_external_audio_player_key), false);
final PlayQueue playQueue;
if (info instanceof StreamInfo) {
if (choice.playerChoice.equals(backgroundPlayerKey) && isExtAudioEnabled) {
NavigationHelper.playOnExternalAudioPlayer(this, (StreamInfo) info);
return;
} else if (choice.playerChoice.equals(videoPlayerKey) && isExtVideoEnabled) {
NavigationHelper.playOnExternalVideoPlayer(this, (StreamInfo) info);
return;
}
playQueue = new SinglePlayQueue((StreamInfo) info);
} else if (info instanceof ChannelInfo) {
playQueue = new ChannelPlayQueue((ChannelInfo) info);
} else if (info instanceof PlaylistInfo) {
playQueue = new PlaylistPlayQueue((PlaylistInfo) info);
} else {
return;
}
if (choice.playerChoice.equals(videoPlayerKey)) {
NavigationHelper.playOnMainPlayer(this, playQueue, false);
} else if (choice.playerChoice.equals(backgroundPlayerKey)) {
NavigationHelper.playOnBackgroundPlayer(this, playQueue, true);
} else if (choice.playerChoice.equals(popupPlayerKey)) {
NavigationHelper.playOnPopupPlayer(this, playQueue, true);
}
};
}
@Override
public void onDestroy() {
super.onDestroy();
ServiceCompat.stopForeground(this, ServiceCompat.STOP_FOREGROUND_REMOVE);
if (fetcher != null) {
fetcher.dispose();
}
}
private NotificationCompat.Builder createNotification() {
return new NotificationCompat.Builder(this, getString(R.string.notification_channel_id))
.setOngoing(true)
.setSmallIcon(R.drawable.ic_newpipe_triangle_white)
.setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
.setContentTitle(
getString(R.string.preferred_player_fetcher_notification_title))
.setContentText(
getString(R.string.preferred_player_fetcher_notification_message));
}
}
/*//////////////////////////////////////////////////////////////////////////
// Utils
//////////////////////////////////////////////////////////////////////////*/
@Nullable
private String getUrl(final Intent intent) {
String foundUrl = null;
if (intent.getData() != null) {
// Called from another app
foundUrl = intent.getData().toString();
} else if (intent.getStringExtra(Intent.EXTRA_TEXT) != null) {
// Called from the share menu
final String extraText = intent.getStringExtra(Intent.EXTRA_TEXT);
foundUrl = UrlFinder.firstUrlFromInput(extraText);
}
return foundUrl;
}
}

View File

@@ -1,39 +0,0 @@
package org.schabi.newpipe;
import java.util.ArrayList;
import java.util.Vector;
/**
* Created by Christian Schabesberger on 10.08.15.
*
* Copyright (C) Christian Schabesberger 2015 <chris.schabesberger@mailbox.org>
* SearchEngine.java is part of NewPipe.
*
* NewPipe is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* NewPipe is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
*/
public interface SearchEngine {
class Result {
public String errorMessage = "";
public String suggestion = "";
public Vector<VideoInfoItem> resultList = new Vector<>();
}
ArrayList<String> suggestionList(String query);
//Result search(String query, int page);
Result search(String query, int page, String contentCountry);
}

View File

@@ -1,50 +0,0 @@
package org.schabi.newpipe;
import android.util.Log;
import org.schabi.newpipe.youtube.YoutubeService;
/**
* Created by Christian Schabesberger on 23.08.15.
*
* Copyright (C) Christian Schabesberger 2015 <chris.schabesberger@mailbox.org>
* ServiceList.java is part of NewPipe.
*
* NewPipe is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* NewPipe is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
*/
public class ServiceList {
private static final String TAG = ServiceList.class.toString();
private static final StreamingService[] services = {
new YoutubeService()
};
public static StreamingService[] getServices() {
return services;
}
public static StreamingService getService(int serviceId) {
return services[serviceId];
}
public static StreamingService getService(String serviceName) {
return services[getIdOfService(serviceName)];
}
public static int getIdOfService(String serviceName) {
for(int i = 0; i < services.length; i++) {
if(services[i].getServiceInfo().name == serviceName) {
return i;
}
}
Log.e(TAG, "Error: Service " + serviceName + " not known.");
return -1;
}
}

View File

@@ -1,168 +0,0 @@
package org.schabi.newpipe;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.os.Bundle;
import android.os.Environment;
import android.preference.PreferenceActivity;
import android.preference.PreferenceFragment;
import android.preference.PreferenceManager;
import android.support.annotation.LayoutRes;
import android.support.annotation.Nullable;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatDelegate;
import android.support.v7.widget.Toolbar;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
/**
* Created by Christian Schabesberger on 31.08.15.
*
* Copyright (C) Christian Schabesberger 2015 <chris.schabesberger@mailbox.org>
* SettingsActivity.java is part of NewPipe.
*
* NewPipe is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* NewPipe is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
*/
public class SettingsActivity extends PreferenceActivity {
private AppCompatDelegate mDelegate = null;
@Override
protected void onCreate(Bundle savedInstanceBundle) {
getDelegate().installViewFactory();
getDelegate().onCreate(savedInstanceBundle);
super.onCreate(savedInstanceBundle);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getFragmentManager().beginTransaction()
.replace(android.R.id.content, new SettingsFragment())
.commit();
}
public static class SettingsFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.settings_screen);
}
}
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
getDelegate().onPostCreate(savedInstanceState);
}
public ActionBar getSupportActionBar() {
return getDelegate().getSupportActionBar();
}
public void setSupportActionBar(@Nullable Toolbar toolbar) {
getDelegate().setSupportActionBar(toolbar);
}
@Override
public MenuInflater getMenuInflater() {
return getDelegate().getMenuInflater();
}
@Override
public void setContentView(@LayoutRes int layoutResID) {
getDelegate().setContentView(layoutResID);
}
@Override
public void setContentView(View view) {
getDelegate().setContentView(view);
}
@Override
public void setContentView(View view, ViewGroup.LayoutParams params) {
getDelegate().setContentView(view, params);
}
@Override
public void addContentView(View view, ViewGroup.LayoutParams params) {
getDelegate().addContentView(view, params);
}
@Override
protected void onPostResume() {
super.onPostResume();
getDelegate().onPostResume();
}
@Override
protected void onTitleChanged(CharSequence title, int color) {
super.onTitleChanged(title, color);
getDelegate().setTitle(title);
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
getDelegate().onConfigurationChanged(newConfig);
}
@Override
protected void onStop() {
super.onStop();
getDelegate().onStop();
}
@Override
protected void onDestroy() {
super.onDestroy();
getDelegate().onDestroy();
}
public void invalidateOptionsMenu() {
getDelegate().invalidateOptionsMenu();
}
private AppCompatDelegate getDelegate() {
if (mDelegate == null) {
mDelegate = AppCompatDelegate.create(this, null);
}
return mDelegate;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if(id == android.R.id.home) {
finish();
}
return true;
}
public static void initSettings(Context context) {
PreferenceManager.setDefaultValues(context, R.xml.settings_screen, false);
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
if(sp.getString(context.getString(R.string.downloadPathPreference), "").isEmpty()){
SharedPreferences.Editor spEditor = sp.edit();
String newPipeDownloadStorage =
Environment.getExternalStorageDirectory().getAbsolutePath() + "/NewPipe";
spEditor.putString(context.getString(R.string.downloadPathPreference)
, newPipeDownloadStorage);
spEditor.commit();
}
}
}

View File

@@ -1,35 +0,0 @@
package org.schabi.newpipe;
/**
* Created by Christian Schabesberger on 23.08.15.
*
* Copyright (C) Christian Schabesberger 2015 <chris.schabesberger@mailbox.org>
* StreamingService.java is part of NewPipe.
*
* NewPipe is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* NewPipe is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
*/
public interface StreamingService {
class ServiceInfo {
public String name = "";
}
ServiceInfo getServiceInfo();
Extractor getExtractorInstance();
SearchEngine getSearchEngineInstance();
/**When a VIEW_ACTION is caught this function will test if the url delivered within the calling
Intent was meant to be watched with this Service.
Return false if this service shall not allow to be callean through ACTIONs.*/
boolean acceptUrl(String videoUrl);
}

View File

@@ -1,79 +0,0 @@
package org.schabi.newpipe;
import android.graphics.Bitmap;
import android.util.Log;
import java.util.Date;
import java.util.Vector;
/**
* Created by Christian Schabesberger on 26.08.15.
*
* Copyright (C) Christian Schabesberger 2015 <chris.schabesberger@mailbox.org>
* VideoInfo.java is part of NewPipe.
*
* NewPipe is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* NewPipe is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
*/
/**Info object for opened videos, ie the video ready to play.*/
public class VideoInfo {
public String id = "";
public String title = "";
public String uploader = "";
public String thumbnail_url = "";
public Bitmap thumbnail = null;
public String webpage_url = "";
public String upload_date = "";
public long view_count = 0;
public String uploader_thumbnail_url = "";
public Bitmap uploader_thumbnail = null;
public String description = "";
public int duration = -1;
public int age_limit = 0;
public int like_count = 0;
public int dislike_count = 0;
public String average_rating = "";
public VideoStream[] videoStreams = null;
public AudioStream[] audioStreams = null;
public VideoInfoItem nextVideo = null;
public VideoInfoItem[] relatedVideos = null;
public int videoAvailableStatus = VIDEO_AVAILABLE;
private static final String TAG = VideoInfo.class.toString();
public static final int VIDEO_AVAILABLE = 0x00;
public static final int VIDEO_UNAVAILABLE = 0x01;
public static final int VIDEO_UNAVAILABLE_GEMA = 0x02;//German DRM organisation
public static class VideoStream {
public VideoStream(String url, int format, String res) {
this.url = url; this.format = format; resolution = res;
}
public String url = ""; //url of the stream
public int format = -1;
public String resolution = "";
}
public static class AudioStream {
public AudioStream(String url, int format, int bandwidth, int samplingRate) {
this.url = url; this.format = format;
this.bandwidth = bandwidth; this.samplingRate = samplingRate;
}
public String url = "";
public int format = -1;
public int bandwidth = -1;
public int samplingRate = -1;
}
}

View File

@@ -1,86 +0,0 @@
package org.schabi.newpipe;
import android.graphics.Bitmap;
import android.os.Parcel;
import android.os.Parcelable;
/**
* Created by Christian Schabesberger on 26.08.15.
*
* Copyright (C) Christian Schabesberger 2015 <chris.schabesberger@mailbox.org>
* VideoInfoItem.java is part of NewPipe.
*
* NewPipe is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* NewPipe is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
*/
/**Info object for previews of unopened videos, eg search results, related videos*/
public class VideoInfoItem implements Parcelable {
public String id = "";
public String title = "";
public String uploader = "";
public String thumbnail_url = "";
public Bitmap thumbnail = null;
public String webpage_url = "";
public String upload_date = "";
public String view_count = "";
public String duration = "";
protected VideoInfoItem(Parcel in) {
id = in.readString();
title = in.readString();
uploader = in.readString();
duration = in.readString();
thumbnail_url = in.readString();
thumbnail = (Bitmap) in.readValue(Bitmap.class.getClassLoader());
webpage_url = in.readString();
upload_date = in.readString();
view_count = in.readString();
}
public VideoInfoItem() {
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(id);
dest.writeString(title);
dest.writeString(uploader);
dest.writeString(duration);
dest.writeString(thumbnail_url);
dest.writeValue(thumbnail);
dest.writeString(webpage_url);
dest.writeString(upload_date);
dest.writeString(view_count);
}
@SuppressWarnings("unused")
public static final Parcelable.Creator<VideoInfoItem> CREATOR = new Parcelable.Creator<VideoInfoItem>() {
@Override
public VideoInfoItem createFromParcel(Parcel in) {
return new VideoInfoItem(in);
}
@Override
public VideoInfoItem[] newArray(int size) {
return new VideoInfoItem[size];
}
};
}

View File

@@ -1,76 +0,0 @@
package org.schabi.newpipe;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
/**
* Created by Christian Schabesberger on 24.10.15.
*
* Copyright (C) Christian Schabesberger 2015 <chris.schabesberger@mailbox.org>
* VideoInfoItemViewCreator.java is part of NewPipe.
*
* NewPipe is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* NewPipe is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
*/
public class VideoInfoItemViewCreator {
private static final String TAG = VideoInfoItemViewCreator.class.toString();
LayoutInflater inflater;
public VideoInfoItemViewCreator(LayoutInflater inflater) {
this.inflater = inflater;
}
public View getViewByVideoInfoItem(View convertView, ViewGroup parent, VideoInfoItem info) {
ViewHolder holder;
if(convertView == null) {
convertView = inflater.inflate(R.layout.video_item, parent, false);
holder = new ViewHolder();
holder.itemThumbnailView = (ImageView) convertView.findViewById(R.id.itemThumbnailView);
holder.itemVideoTitleView = (TextView) convertView.findViewById(R.id.itemVideoTitleView);
holder.itemUploaderView = (TextView) convertView.findViewById(R.id.itemUploaderView);
holder.itemDurationView = (TextView) convertView.findViewById(R.id.itemDurationView);
holder.itemUploadDateView = (TextView) convertView.findViewById(R.id.itemUploadDateView);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
if(info.thumbnail == null) {
holder.itemThumbnailView.setImageResource(R.drawable.dummy_thumbnail);
} else {
holder.itemThumbnailView.setImageBitmap(info.thumbnail);
}
holder.itemVideoTitleView.setText(info.title);
holder.itemUploaderView.setText(info.uploader);
holder.itemDurationView.setText(info.duration);
if(!info.upload_date.isEmpty()) {
holder.itemUploadDateView.setText(info.upload_date);
} else {
//tweak if necessary: This is a hack to prevent having white space in the layout :P
holder.itemUploadDateView.setText(info.view_count);
}
return convertView;
}
private class ViewHolder {
public ImageView itemThumbnailView;
public TextView itemVideoTitleView, itemUploaderView, itemDurationView, itemUploadDateView;
}
}

View File

@@ -1,145 +0,0 @@
package org.schabi.newpipe;
import android.content.Intent;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.v4.app.NavUtils;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.Toast;
/**
* Copyright (C) Christian Schabesberger 2015 <chris.schabesberger@mailbox.org>
* VideoItemDetailActivity.java is part of NewPipe.
*
* NewPipe is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* NewPipe is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
*/
public class VideoItemDetailActivity extends AppCompatActivity {
private static final String TAG = VideoItemDetailActivity.class.toString();
VideoItemDetailFragment fragment;
private String videoUrl;
private int currentStreamingService = -1;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_videoitem_detail);
// Show the Up button in the action bar.
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
// savedInstanceState is non-null when there is fragment state
// saved from previous configurations of this activity
// (e.g. when rotating the screen from portrait to landscape).
// In this case, the fragment will automatically be re-added
// to its container so we don't need to manually add it.
// For more information, see the Fragments API guide at:
//
// http://developer.android.com/guide/components/fragments.html
//
Bundle arguments = new Bundle();
if (savedInstanceState == null) {
// this means the video was called though another app
if (getIntent().getData() != null) {
videoUrl = getIntent().getData().toString();
Log.i(TAG, "video URL passed:\"" + videoUrl + "\"");
StreamingService[] serviceList = ServiceList.getServices();
Extractor extractor = null;
for (int i = 0; i < serviceList.length; i++) {
if (serviceList[i].acceptUrl(videoUrl)) {
arguments.putInt(VideoItemDetailFragment.STREAMING_SERVICE, i);
try {
currentStreamingService = i;
extractor = ServiceList.getService(i).getExtractorInstance();
} catch (Exception e) {
e.printStackTrace();
}
break;
}
}
if(extractor == null) {
Toast.makeText(this, R.string.urlNotSupportedText, Toast.LENGTH_LONG)
.show();
}
arguments.putString(VideoItemDetailFragment.VIDEO_URL,
extractor.getVideoUrl(extractor.getVideoId(videoUrl)));
arguments.putBoolean(VideoItemDetailFragment.AUTO_PLAY,
PreferenceManager.getDefaultSharedPreferences(this)
.getBoolean(getString(R.string.autoPlayThroughIntent), false));
} else {
videoUrl = getIntent().getStringExtra(VideoItemDetailFragment.VIDEO_URL);
currentStreamingService = getIntent().getIntExtra(VideoItemDetailFragment.STREAMING_SERVICE, -1);
arguments.putString(VideoItemDetailFragment.VIDEO_URL, videoUrl);
arguments.putInt(VideoItemDetailFragment.STREAMING_SERVICE, currentStreamingService);
arguments.putBoolean(VideoItemDetailFragment.AUTO_PLAY, false);
}
} else {
videoUrl = savedInstanceState.getString(VideoItemDetailFragment.VIDEO_URL);
currentStreamingService = savedInstanceState.getInt(VideoItemDetailFragment.STREAMING_SERVICE);
arguments = savedInstanceState;
}
// Create the detail fragment and add it to the activity
// using a fragment transaction.
fragment = new VideoItemDetailFragment();
fragment.setArguments(arguments);
getSupportFragmentManager().beginTransaction()
.add(R.id.videoitem_detail_container, fragment)
.commit();
}
@Override
public void onSaveInstanceState(Bundle outState) {
outState.putString(VideoItemDetailFragment.VIDEO_URL, videoUrl);
outState.putInt(VideoItemDetailFragment.STREAMING_SERVICE, currentStreamingService);
outState.putBoolean(VideoItemDetailFragment.AUTO_PLAY, false);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == android.R.id.home) {
// This ID represents the Home or Up button. In the case of this
// activity, the Up button is shown. Use NavUtils to allow users
// to navigate up one level in the application structure. For
// more details, see the Navigation pattern on Android Design:
// http://developer.android.com/design/patterns/navigation.html#up-vs-back
Intent intent = new Intent(this, VideoItemListActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
NavUtils.navigateUpTo(this, intent);
return true;
} else {
return fragment.onOptionsItemSelected(item) ||
super.onOptionsItemSelected(item);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
fragment.onCreateOptionsMenu(menu, getMenuInflater());
return true;
}
}

View File

@@ -1,433 +0,0 @@
package org.schabi.newpipe;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Handler;
import android.preference.PreferenceManager;
import android.support.design.widget.FloatingActionButton;
import android.support.v4.app.Fragment;
import android.support.v7.app.AppCompatActivity;
import android.text.Html;
import android.text.method.LinkMovementMethod;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import android.widget.ScrollView;
import android.widget.TextView;
import android.view.MenuItem;
import java.net.URL;
import java.text.DateFormat;
import java.text.NumberFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import java.util.Vector;
/**
* Copyright (C) Christian Schabesberger 2015 <chris.schabesberger@mailbox.org>
* VideoItemDetailFragment.java is part of NewPipe.
*
* NewPipe is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* NewPipe is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
*/
public class VideoItemDetailFragment extends Fragment {
private static final String TAG = VideoItemDetailFragment.class.toString();
/**
* The fragment argument representing the item ID that this fragment
* represents.
*/
public static final String ARG_ITEM_ID = "item_id";
public static final String VIDEO_URL = "video_url";
public static final String STREAMING_SERVICE = "streaming_service";
public static final String AUTO_PLAY = "auto_play";
private AppCompatActivity activity;
private ActionBarHandler actionBarHandler;
private boolean autoPlayEnabled = false;
private Thread extractorThread = null;
private VideoInfo currentVideoInfo = null;
private boolean showNextVideoItem = false;
public interface OnInvokeCreateOptionsMenuListener {
void createOptionsMenu();
}
private OnInvokeCreateOptionsMenuListener onInvokeCreateOptionsMenuListener = null;
private class ExtractorRunnable implements Runnable {
private Handler h = new Handler();
private Extractor extractor;
private String videoUrl;
public ExtractorRunnable(String videoUrl, Extractor extractor, VideoItemDetailFragment f) {
this.extractor = extractor;
this.videoUrl = videoUrl;
}
@Override
public void run() {
try {
VideoInfo videoInfo = extractor.getVideoInfo(videoUrl);
h.post(new VideoResultReturnedRunnable(videoInfo));
if (videoInfo.videoAvailableStatus == VideoInfo.VIDEO_AVAILABLE) {
h.post(new SetThumbnailRunnable(
BitmapFactory.decodeStream(
new URL(videoInfo.thumbnail_url)
.openConnection()
.getInputStream()),
SetThumbnailRunnable.VIDEO_THUMBNAIL));
h.post(new SetThumbnailRunnable(
BitmapFactory.decodeStream(
new URL(videoInfo.uploader_thumbnail_url)
.openConnection()
.getInputStream()),
SetThumbnailRunnable.CHANNEL_THUMBNAIL));
if(showNextVideoItem) {
h.post(new SetThumbnailRunnable(
BitmapFactory.decodeStream(
new URL(videoInfo.nextVideo.thumbnail_url)
.openConnection()
.getInputStream()),
SetThumbnailRunnable.NEXT_VIDEO_THUMBNAIL));
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
private class VideoResultReturnedRunnable implements Runnable {
private VideoInfo videoInfo;
public VideoResultReturnedRunnable(VideoInfo videoInfo) {
this.videoInfo = videoInfo;
}
@Override
public void run() {
//todo: fix expired thread error:
// If the thread calling this runnable is expired, the following function will crash.
updateInfo(videoInfo);
}
}
private class SetThumbnailRunnable implements Runnable {
public static final int VIDEO_THUMBNAIL = 1;
public static final int CHANNEL_THUMBNAIL = 2;
public static final int NEXT_VIDEO_THUMBNAIL = 3;
private Bitmap thumbnail;
private int thumbnailId;
public SetThumbnailRunnable(Bitmap thumbnail, int id) {
this.thumbnail = thumbnail;
this.thumbnailId = id;
}
@Override
public void run() {
updateThumbnail(thumbnail, thumbnailId);
}
}
public void updateThumbnail(Bitmap thumbnail, int id) {
Activity a = getActivity();
ImageView thumbnailView = null;
try {
switch (id) {
case SetThumbnailRunnable.VIDEO_THUMBNAIL:
thumbnailView = (ImageView) a.findViewById(R.id.detailThumbnailView);
break;
case SetThumbnailRunnable.CHANNEL_THUMBNAIL:
thumbnailView = (ImageView) a.findViewById(R.id.detailUploaderThumbnailView);
break;
case SetThumbnailRunnable.NEXT_VIDEO_THUMBNAIL:
FrameLayout nextVideoFrame = (FrameLayout) a.findViewById(R.id.detailNextVideoFrame);
thumbnailView = (ImageView) nextVideoFrame.findViewById(R.id.itemThumbnailView);
currentVideoInfo.nextVideo.thumbnail = thumbnail;
break;
default:
Log.d(TAG, "Error: Thumbnail id not known");
return;
}
if (thumbnailView != null) {
thumbnailView.setImageBitmap(thumbnail);
}
} catch (java.lang.NullPointerException e) {
// Not good program design, I know. :/
Log.w(TAG, "updateThumbnail(): Fragment closed before thread ended work");
}
}
public void updateInfo(VideoInfo info) {
currentVideoInfo = info;
try {
VideoInfoItemViewCreator videoItemViewCreator =
new VideoInfoItemViewCreator(LayoutInflater.from(getActivity()));
ScrollView contentMainView = (ScrollView) activity.findViewById(R.id.detailMainContent);
ProgressBar progressBar = (ProgressBar) activity.findViewById(R.id.detailProgressBar);
TextView videoTitleView = (TextView) activity.findViewById(R.id.detailVideoTitleView);
TextView uploaderView = (TextView) activity.findViewById(R.id.detailUploaderView);
TextView viewCountView = (TextView) activity.findViewById(R.id.detailViewCountView);
TextView thumbsUpView = (TextView) activity.findViewById(R.id.detailThumbsUpCountView);
TextView thumbsDownView = (TextView) activity.findViewById(R.id.detailThumbsDownCountView);
TextView uploadDateView = (TextView) activity.findViewById(R.id.detailUploadDateView);
TextView descriptionView = (TextView) activity.findViewById(R.id.detailDescriptionView);
ImageView thumbnailView = (ImageView) activity.findViewById(R.id.detailThumbnailView);
FrameLayout nextVideoFrame = (FrameLayout) activity.findViewById(R.id.detailNextVideoFrame);
RelativeLayout nextVideoRootFrame =
(RelativeLayout) activity.findViewById(R.id.detailNextVideoRootLayout);
View nextVideoView = videoItemViewCreator
.getViewByVideoInfoItem(null, nextVideoFrame, info.nextVideo);
nextVideoFrame.addView(nextVideoView);
Button nextVideoButton = (Button) activity.findViewById(R.id.detailNextVideoButton);
Button similarVideosButton = (Button) activity.findViewById(R.id.detailShowSimilarButton);
contentMainView.setVisibility(View.VISIBLE);
progressBar.setVisibility(View.GONE);
if(!showNextVideoItem) {
nextVideoRootFrame.setVisibility(View.GONE);
similarVideosButton.setVisibility(View.GONE);
}
switch (info.videoAvailableStatus) {
case VideoInfo.VIDEO_AVAILABLE: {
videoTitleView.setText(info.title);
uploaderView.setText(info.uploader);
Locale locale = getPreferredLocale();
NumberFormat nf = NumberFormat.getInstance(locale);
String localisedViewCount = nf.format(info.view_count);
viewCountView.setText(localisedViewCount
+ " " + activity.getString(R.string.viewSufix));
thumbsUpView.setText(nf.format(info.like_count));
thumbsDownView.setText(nf.format(info.dislike_count));
//this is horribly convoluted
//TODO: find a better way to convert YYYY-MM-DD to a locale-specific date
//suggestions welcome
int year = Integer.parseInt(info.upload_date.substring(0, 4));
int month = Integer.parseInt(info.upload_date.substring(5, 7));
int date = Integer.parseInt(info.upload_date.substring(8, 10));
Calendar cal = Calendar.getInstance();
cal.set(year, month, date);
Date datum = cal.getTime();
DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM, locale);
String localisedDate = df.format(datum);
uploadDateView.setText(
activity.getString(R.string.uploadDatePrefix) + " " + localisedDate);
descriptionView.setText(Html.fromHtml(info.description));
descriptionView.setMovementMethod(LinkMovementMethod.getInstance());
actionBarHandler.setVideoInfo(info.webpage_url, info.title);
// parse streams
Vector<VideoInfo.VideoStream> streamsToUse = new Vector<>();
for (VideoInfo.VideoStream i : info.videoStreams) {
if (useStream(i, streamsToUse)) {
streamsToUse.add(i);
}
}
VideoInfo.VideoStream[] streamList = new VideoInfo.VideoStream[streamsToUse.size()];
for (int i = 0; i < streamList.length; i++) {
streamList[i] = streamsToUse.get(i);
}
actionBarHandler.setStreams(streamList, info.audioStreams);
}
nextVideoButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent detailIntent =
new Intent(getActivity(), VideoItemDetailActivity.class);
detailIntent.putExtra(
VideoItemDetailFragment.ARG_ITEM_ID, currentVideoInfo.nextVideo.id);
detailIntent.putExtra(
VideoItemDetailFragment.VIDEO_URL, currentVideoInfo.nextVideo.webpage_url);
//todo: make id dynamic the following line is crap
detailIntent.putExtra(VideoItemDetailFragment.STREAMING_SERVICE, 0);
startActivity(detailIntent);
}
});
break;
case VideoInfo.VIDEO_UNAVAILABLE_GEMA:
thumbnailView.setImageBitmap(BitmapFactory.decodeResource(
getResources(), R.drawable.gruese_die_gema_unangebracht));
break;
case VideoInfo.VIDEO_UNAVAILABLE:
thumbnailView.setImageBitmap(BitmapFactory.decodeResource(
getResources(), R.drawable.not_available_monkey));
break;
default:
Log.e(TAG, "Video Available Status not known.");
}
if(autoPlayEnabled) {
actionBarHandler.playVideo();
}
} catch (java.lang.NullPointerException e) {
Log.w(TAG, "updateInfo(): Fragment closed before thread ended work... or else");
e.printStackTrace();
}
}
private boolean useStream(VideoInfo.VideoStream stream, Vector<VideoInfo.VideoStream> streams) {
for(VideoInfo.VideoStream i : streams) {
if(i.resolution.equals(stream.resolution)) {
return false;
}
}
return true;
}
/**
* Mandatory empty constructor for the fragment manager to instantiate the
* fragment (e.g. upon screen orientation changes).
*/
public VideoItemDetailFragment() {
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
activity = (AppCompatActivity) getActivity();
showNextVideoItem = PreferenceManager.getDefaultSharedPreferences(getActivity())
.getBoolean(activity.getString(R.string.showNextVideo), true);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_videoitem_detail, container, false);
actionBarHandler = new ActionBarHandler(activity);
actionBarHandler.setupNavMenu(activity);
if(onInvokeCreateOptionsMenuListener != null) {
onInvokeCreateOptionsMenuListener.createOptionsMenu();
}
return rootView;
}
@Override
public void onActivityCreated(Bundle savedInstanceBundle) {
super.onActivityCreated(savedInstanceBundle);
FloatingActionButton playVideoButton =
(FloatingActionButton) getActivity().findViewById(R.id.playVideoButton);
// Sometimes when this fragment is not visible it still gets initiated
// then we must not try to access objects of this fragment.
// Otherwise the applications would crash.
if(playVideoButton != null) {
try {
StreamingService streamingService = ServiceList.getService(
getArguments().getInt(STREAMING_SERVICE));
extractorThread = new Thread(new ExtractorRunnable(
getArguments().getString(VIDEO_URL), streamingService.getExtractorInstance(), this));
autoPlayEnabled = getArguments().getBoolean(AUTO_PLAY);
extractorThread.start();
} catch (Exception e) {
e.printStackTrace();
}
if (PreferenceManager.getDefaultSharedPreferences(getActivity())
.getBoolean(getString(R.string.leftHandLayout), false) && checkIfLandscape()) {
RelativeLayout.LayoutParams oldLayout =
(RelativeLayout.LayoutParams) playVideoButton.getLayoutParams();
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
layoutParams.setMargins(oldLayout.leftMargin, oldLayout.topMargin,
oldLayout.rightMargin, oldLayout.bottomMargin);
playVideoButton.setLayoutParams(layoutParams);
}
playVideoButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
actionBarHandler.playVideo();
}
});
Button similarVideosButton = (Button) activity.findViewById(R.id.detailShowSimilarButton);
similarVideosButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(activity, VideoItemListActivity.class);
intent.putExtra(VideoItemListActivity.VIDEO_INFO_ITEMS, currentVideoInfo.relatedVideos);
activity.startActivity(intent);
}
});
}
}
public Locale getPreferredLocale() {
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getContext());
String languageKey = getContext().getString(R.string.searchLanguage);
String languageCode = "en";//i know the following lines defaults languageCode to "en", but java is picky about uninitialised values
languageCode = sp.getString(languageKey, "en");
if(languageCode.length() == 2) {
return new Locale(languageCode);
}
else if(languageCode.contains("_")) {
String country = languageCode
.substring(languageCode.indexOf("_"), languageCode.length());
return new Locale(languageCode.substring(0, 2), country);
}
return Locale.getDefault();
}
public boolean checkIfLandscape() {
DisplayMetrics displayMetrics = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
return displayMetrics.heightPixels < displayMetrics.widthPixels;
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
actionBarHandler.setupMenu(menu, inflater);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
return actionBarHandler.onItemSelected(item);
}
public void setOnInvokeCreateOptionsMenuListener(OnInvokeCreateOptionsMenuListener listener) {
this.onInvokeCreateOptionsMenuListener = listener;
}
}

View File

@@ -1,266 +0,0 @@
package org.schabi.newpipe;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Parcel;
import android.os.Parcelable;
import android.support.v4.app.NavUtils;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.SearchView;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.ImageView;
import java.util.ArrayList;
import java.util.Arrays;
/**
* Copyright (C) Christian Schabesberger 2015 <chris.schabesberger@mailbox.org>
* VideoItemListActivity.java is part of NewPipe.
*
* NewPipe is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* NewPipe is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
*/
public class VideoItemListActivity extends AppCompatActivity
implements VideoItemListFragment.Callbacks {
private static final String TAG = VideoItemListFragment.class.toString();
// arguments to give to this activity
public static final String VIDEO_INFO_ITEMS = "video_info_items";
// savedInstanceBundle arguments
private static final String QUERY = "query";
private static final String STREAMING_SERVICE = "streaming_service";
// activity modes
private static final int SEARCH_MODE = 0;
private static final int PRESENT_VIDEOS_MODE = 1;
private int mode = SEARCH_MODE;
private int currentStreamingServiceId = -1;
private String searchQuery = "";
private VideoItemListFragment listFragment;
private VideoItemDetailFragment videoFragment = null;
Menu menu = null;
public class SearchVideoQueryListener implements SearchView.OnQueryTextListener {
@Override
public boolean onQueryTextSubmit(String query) {
try {
searchQuery = query;
listFragment.search(query);
// hide virtual keyboard
InputMethodManager inputManager =
(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(
getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
// clear focus
// 1. to not open up the keyboard after switching back to this
// 2. It's a workaround to a seeming bug by the Android OS it self, causing
// onQueryTextSubmit to trigger twice when focus is not cleared.
// See: http://stackoverflow.com/questions/17874951/searchview-onquerytextsubmit-runs-twice-while-i-pressed-once
getCurrentFocus().clearFocus();
} catch(Exception e) {
e.printStackTrace();
}
return true;
}
@Override
public boolean onQueryTextChange(String newText) {
return true;
}
}
/**
* Whether or not the activity is in two-pane mode, i.e. running on a tablet
* device.
*/
private boolean mTwoPane;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_videoitem_list);
//------ todo: remove this line when multiservice support is implemented ------
currentStreamingServiceId = ServiceList.getIdOfService("Youtube");
//-----------------------------------------------------------------------------
listFragment = (VideoItemListFragment) getSupportFragmentManager()
.findFragmentById(R.id.videoitem_list);
listFragment.setStreamingService(ServiceList.getService(currentStreamingServiceId));
Bundle arguments = getIntent().getExtras();
if(arguments != null) {
//Parcelable[] p = arguments.getParcelableArray(VIDEO_INFO_ITEMS);
ArrayList<VideoInfoItem> p = arguments.getParcelableArrayList(VIDEO_INFO_ITEMS);
if(p != null) {
mode = PRESENT_VIDEOS_MODE;
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
listFragment.present(p);
}
}
if(savedInstanceState != null
&& mode != PRESENT_VIDEOS_MODE) {
searchQuery = savedInstanceState.getString(QUERY);
currentStreamingServiceId = savedInstanceState.getInt(STREAMING_SERVICE);
if(!searchQuery.isEmpty()) {
listFragment.search(searchQuery);
}
}
if (findViewById(R.id.videoitem_detail_container) != null) {
// The detail container view will be present only in the
// large-screen layouts (res/values-large and
// res/values-sw600dp). If this view is present, then the
// activity should be in two-pane mode.
mTwoPane = true;
// In two-pane mode, list items should be given the
// 'activated' state when touched.
((VideoItemListFragment) getSupportFragmentManager()
.findFragmentById(R.id.videoitem_list))
.setActivateOnItemClick(true);
SearchView searchView = (SearchView)findViewById(R.id.searchViewTablet);
if(mode != PRESENT_VIDEOS_MODE) {
// Somehow the seticonifiedbydefault property set by the layout xml is not working on
// the support version on SearchView, so it needs to be set programmatically.
searchView.setIconifiedByDefault(false);
searchView.setIconified(false);
searchView.setOnQueryTextListener(new SearchVideoQueryListener());
} else {
searchView.setVisibility(View.GONE);
}
}
SettingsActivity.initSettings(this);
}
/**
* Callback method from {@link VideoItemListFragment.Callbacks}
* indicating that the item with the given ID was selected.
*/
@Override
public void onItemSelected(String id) {
VideoListAdapter listAdapter = (VideoListAdapter) ((VideoItemListFragment)
getSupportFragmentManager()
.findFragmentById(R.id.videoitem_list))
.getListAdapter();
String webpage_url = listAdapter.getVideoList().get((int) Long.parseLong(id)).webpage_url;
if (mTwoPane) {
// In two-pane mode, show the detail view in this activity by
// adding or replacing the detail fragment using a
// fragment transaction.
Bundle arguments = new Bundle();
arguments.putString(VideoItemDetailFragment.ARG_ITEM_ID, id);
arguments.putString(VideoItemDetailFragment.VIDEO_URL, webpage_url);
arguments.putInt(VideoItemDetailFragment.STREAMING_SERVICE, currentStreamingServiceId);
videoFragment = new VideoItemDetailFragment();
videoFragment.setArguments(arguments);
videoFragment.setOnInvokeCreateOptionsMenuListener(new VideoItemDetailFragment.OnInvokeCreateOptionsMenuListener() {
@Override
public void createOptionsMenu() {
menu.clear();
onCreateOptionsMenu(menu);
}
});
getSupportFragmentManager().beginTransaction()
.replace(R.id.videoitem_detail_container, videoFragment)
.commit();
} else {
// In single-pane mode, simply start the detail activity
// for the selected item ID.
Intent detailIntent = new Intent(this, VideoItemDetailActivity.class);
detailIntent.putExtra(VideoItemDetailFragment.ARG_ITEM_ID, id);
detailIntent.putExtra(VideoItemDetailFragment.VIDEO_URL, webpage_url);
detailIntent.putExtra(VideoItemDetailFragment.STREAMING_SERVICE, currentStreamingServiceId);
startActivity(detailIntent);
}
}
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
this.menu = menu;
MenuInflater inflater = getMenuInflater();
if(mode != PRESENT_VIDEOS_MODE &&
findViewById(R.id.videoitem_detail_container) == null) {
inflater.inflate(R.menu.videoitem_list, menu);
MenuItem searchItem = menu.findItem(R.id.action_search);
SearchView searchView = (SearchView) searchItem.getActionView();
searchView.setFocusable(false);
searchView.setOnQueryTextListener(
new SearchVideoQueryListener());
} else if (videoFragment != null){
videoFragment.onCreateOptionsMenu(menu, inflater);
} else {
inflater.inflate(R.menu.videoitem_two_pannel, menu);
}
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch(id) {
case android.R.id.home: {
Intent intent = new Intent(this, VideoItemListActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
NavUtils.navigateUpTo(this, intent);
return true;
}
case R.id.action_settings: {
Intent intent = new Intent(this, SettingsActivity.class);
startActivity(intent);
return true;
}
default:
return videoFragment.onOptionsItemSelected(item) ||
super.onOptionsItemSelected(item);
}
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
/*
if (mActivatedPosition != ListView.INVALID_POSITION) {
// Serialize and persist the activated item position.
outState.putInt(STATE_ACTIVATED_POSITION, mActivatedPosition);
}
*/
outState.putString(QUERY, searchQuery);
outState.putInt(STREAMING_SERVICE, currentStreamingServiceId);
}
}

View File

@@ -1,379 +0,0 @@
package org.schabi.newpipe;
import android.content.Context;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Handler;
import android.preference.PreferenceManager;
import android.support.v4.app.ListFragment;
import android.util.Log;
import android.view.View;
import android.widget.AbsListView;
import android.widget.ListView;
import android.widget.Toast;
import java.net.URL;
import java.util.Arrays;
import java.util.List;
import java.util.Vector;
/**
* Copyright (C) Christian Schabesberger 2015 <chris.schabesberger@mailbox.org>
* VideoItemListFragment.java is part of NewPipe.
*
* NewPipe is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* NewPipe is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
*/
public class VideoItemListFragment extends ListFragment {
private static final String TAG = VideoItemListFragment.class.toString();
private StreamingService streamingService = null;
private VideoListAdapter videoListAdapter;
// activity modes
private static final int SEARCH_MODE = 0;
private static final int PRESENT_VIDEOS_MODE = 1;
private int mode = SEARCH_MODE;
private String query = "";
private int lastPage = 0;
private Thread searchThread = null;
private SearchRunnable searchRunnable = null;
private Thread loadThumbsThread = null;
private LoadThumbsRunnable loadThumbsRunnable = null;
// used to track down if results posted by threads ar still valid
private int currentRequestId = -1;
private ListView list;
private class ResultRunnable implements Runnable {
private SearchEngine.Result result;
private int requestId;
public ResultRunnable(SearchEngine.Result result, int requestId) {
this.result = result;
this.requestId = requestId;
}
@Override
public void run() {
updateListOnResult(result, requestId);
}
}
private class SearchRunnable implements Runnable {
private SearchEngine engine;
private String query;
private int page;
Handler h = new Handler();
private volatile boolean run = true;
private int requestId;
public SearchRunnable(SearchEngine engine, String query, int page, int requestId) {
this.engine = engine;
this.query = query;
this.page = page;
this.requestId = requestId;
}
void terminate() {
run = false;
}
@Override
public void run() {
try {
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getContext());
String searchLanguageKey = getContext().getString(R.string.searchLanguage);
String searchLanguage = sp.getString(searchLanguageKey, "en");
SearchEngine.Result result = engine.search(query, page, searchLanguage);
Log.i(TAG, "language code passed:\""+searchLanguage+"\"");
if(run) {
h.post(new ResultRunnable(result, requestId));
}
} catch(Exception e) {
e.printStackTrace();
h.post(new Runnable() {
@Override
public void run() {
Toast.makeText(getActivity(), "Network Error", Toast.LENGTH_SHORT).show();
}
});
}
}
}
private class LoadThumbsRunnable implements Runnable {
private Vector<String> thumbnailUrlList = new Vector<>();
private Vector<Boolean> downloadedList;
Handler h = new Handler();
private volatile boolean run = true;
private int requestId;
public LoadThumbsRunnable(Vector<VideoInfoItem> videoList,
Vector<Boolean> downloadedList, int requestId) {
for(VideoInfoItem item : videoList) {
thumbnailUrlList.add(item.thumbnail_url);
}
this.downloadedList = downloadedList;
this.requestId = requestId;
}
public void terminate() {
run = false;
}
public boolean isRunning() {
return run;
}
@Override
public void run() {
for(int i = 0; i < thumbnailUrlList.size() && run; i++) {
if(!downloadedList.get(i)) {
Bitmap thumbnail = null;
try {
thumbnail = BitmapFactory.decodeStream(
new URL(thumbnailUrlList.get(i)).openConnection().getInputStream());
h.post(new SetThumbnailRunnable(i, thumbnail, requestId));
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
private class SetThumbnailRunnable implements Runnable {
private int index;
private Bitmap thumbnail;
private int requestId;
public SetThumbnailRunnable(int index, Bitmap thumbnail, int requestId) {
this.index = index;
this.thumbnail = thumbnail;
this.requestId = requestId;
}
@Override
public void run() {
if(requestId == currentRequestId) {
videoListAdapter.updateDownloadedThumbnailList(index, true);
videoListAdapter.setThumbnail(index, thumbnail);
}
}
}
public void present(List<VideoInfoItem> videoList) {
mode = PRESENT_VIDEOS_MODE;
setListShown(true);
getListView().smoothScrollToPosition(0);
updateList(videoList);
}
public void search(String query) {
mode = SEARCH_MODE;
this.query = query;
this.lastPage = 1;
videoListAdapter.clearVideoList();
setListShown(false);
startSearch(query, lastPage);
getListView().smoothScrollToPosition(0);
}
public void nextPage() {
lastPage++;
Log.d(TAG, getString(R.string.searchPage) + Integer.toString(lastPage));
startSearch(query, lastPage);
}
private void startSearch(String query, int page) {
currentRequestId++;
terminateThreads();
searchRunnable = new SearchRunnable(streamingService.getSearchEngineInstance(),
query, page, currentRequestId);
searchThread = new Thread(searchRunnable);
searchThread.start();
}
public void setStreamingService(StreamingService streamingService) {
this.streamingService = streamingService;
}
public void updateListOnResult(SearchEngine.Result result, int requestId) {
if(requestId == currentRequestId) {
setListShown(true);
if (result.resultList.isEmpty()) {
Toast.makeText(getActivity(), result.errorMessage, Toast.LENGTH_LONG).show();
} else {
if (!result.suggestion.isEmpty()) {
Toast.makeText(getActivity(), getString(R.string.didYouMean) + result.suggestion + " ?",
Toast.LENGTH_LONG).show();
}
updateList(result.resultList);
}
}
}
private void updateList(List<VideoInfoItem> list) {
try {
videoListAdapter.addVideoList(list);
terminateThreads();
loadThumbsRunnable = new LoadThumbsRunnable(videoListAdapter.getVideoList(),
videoListAdapter.getDownloadedThumbnailList(), currentRequestId);
loadThumbsThread = new Thread(loadThumbsRunnable);
loadThumbsThread.start();
} catch(java.lang.IllegalStateException e) {
Log.w(TAG, "Trying to set value while activity doesn't exist anymore.");
} catch(Exception e) {
e.printStackTrace();
}
}
public void terminateThreads() {
if(loadThumbsRunnable != null && loadThumbsRunnable.isRunning()) {
loadThumbsRunnable.terminate();
try {
loadThumbsThread.join();
} catch(Exception e) {
e.printStackTrace();
}
}
if(searchThread != null) {
searchRunnable.terminate();
// No need to join, since we don't really terminate the thread. We just demand
// it to post its result runnable into the gui main loop.
}
}
/**
* The serialization (saved instance state) Bundle key representing the
* activated item position. Only used on tablets.
*/
private static final String STATE_ACTIVATED_POSITION = "activated_position";
/**
* The current activated item position. Only used on tablets.
*/
private int mActivatedPosition = ListView.INVALID_POSITION;
/**
* A callback interface that all activities containing this fragment must
* implement. This mechanism allows activities to be notified of item
* selections.
*/
public interface Callbacks {
/**
* Callback for when an item has been selected.
*/
void onItemSelected(String id);
}
Callbacks mCallbacks = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
list = getListView();
videoListAdapter = new VideoListAdapter(getActivity(), this);
setListAdapter(videoListAdapter);
// Restore the previously serialized activated item position.
if (savedInstanceState != null
&& savedInstanceState.containsKey(STATE_ACTIVATED_POSITION)) {
setActivatedPosition(savedInstanceState.getInt(STATE_ACTIVATED_POSITION));
}
getListView().setOnScrollListener(new AbsListView.OnScrollListener() {
long lastScrollDate = 0;
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
if (mode != PRESENT_VIDEOS_MODE
&& list.getChildAt(0) != null
&& list.getLastVisiblePosition() == list.getAdapter().getCount() - 1
&& list.getChildAt(list.getChildCount() - 1).getBottom() <= list.getHeight()) {
long time = System.currentTimeMillis();
if ((time - lastScrollDate) > 200) {
lastScrollDate = time;
nextPage();
}
}
}
});
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
// Activities containing this fragment must implement its callbacks.
if (!(context instanceof Callbacks)) {
throw new IllegalStateException("Activity must implement fragment's callbacks.");
}
mCallbacks = (Callbacks) context;
}
@Override
public void onDetach() {
super.onDetach();
}
@Override
public void onListItemClick(ListView listView, View view, int position, long id) {
super.onListItemClick(listView, view, position, id);
setActivatedPosition(position);
mCallbacks.onItemSelected(Long.toString(id));
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
/*
if (mActivatedPosition != ListView.INVALID_POSITION) {
// Serialize and persist the activated item position.
outState.putInt(STATE_ACTIVATED_POSITION, mActivatedPosition);
}
*/
}
/**
* Turns on activate-on-click mode. When this mode is on, list items will be
* given the 'activated' state when touched.
*/
public void setActivateOnItemClick(boolean activateOnItemClick) {
// When setting CHOICE_MODE_SINGLE, ListView will automatically
// give items the 'activated' state when touched.
getListView().setChoiceMode(activateOnItemClick
? ListView.CHOICE_MODE_SINGLE
: ListView.CHOICE_MODE_NONE);
}
private void setActivatedPosition(int position) {
if (position == ListView.INVALID_POSITION) {
getListView().setItemChecked(mActivatedPosition, false);
} else {
getListView().setItemChecked(position, true);
}
mActivatedPosition = position;
}
}

View File

@@ -1,111 +0,0 @@
package org.schabi.newpipe;
import android.content.Context;
import android.graphics.Bitmap;
import android.support.v4.content.ContextCompat;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import java.util.List;
import java.util.Vector;
/**
* Created by Christian Schabesberger on 11.08.15.
*
* Copyright (C) Christian Schabesberger 2015 <chris.schabesberger@mailbox.org>
* VideoListAdapter.java is part of NewPipe.
*
* NewPipe is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* NewPipe is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
*/
public class VideoListAdapter extends BaseAdapter {
private static final String TAG = VideoListAdapter.class.toString();
private Context context;
private VideoInfoItemViewCreator viewCreator;
private Vector<VideoInfoItem> videoList = new Vector<>();
private Vector<Boolean> downloadedThumbnailList = new Vector<>();
VideoItemListFragment videoListFragment;
ListView listView;
public VideoListAdapter(Context context, VideoItemListFragment videoListFragment) {
viewCreator = new VideoInfoItemViewCreator(LayoutInflater.from(context));
this.videoListFragment = videoListFragment;
this.listView = videoListFragment.getListView();
this.context = context;
}
public void addVideoList(List<VideoInfoItem> videos) {
videoList.addAll(videos);
for(int i = 0; i < videos.size(); i++) {
downloadedThumbnailList.add(false);
}
notifyDataSetChanged();
}
public void clearVideoList() {
videoList = new Vector<>();
downloadedThumbnailList = new Vector<>();
notifyDataSetChanged();
}
public Vector<VideoInfoItem> getVideoList() {
return videoList;
}
public void updateDownloadedThumbnailList(int index, boolean val) {
downloadedThumbnailList.set(index, val);
}
public Vector<Boolean> getDownloadedThumbnailList() {
return downloadedThumbnailList;
}
public void setThumbnail(int index, Bitmap thumbnail) {
videoList.get(index).thumbnail = thumbnail;
downloadedThumbnailList.set(index, true);
notifyDataSetChanged();
}
@Override
public int getCount() {
return videoList.size();
}
@Override
public Object getItem(int position) {
return videoList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
convertView = viewCreator.getViewByVideoInfoItem(convertView, parent, videoList.get(position));
if(listView.isItemChecked(position)) {
convertView.setBackgroundColor(ContextCompat.getColor(context,R.color.primaryColorYoutube));
} else {
convertView.setBackgroundColor(0);
}
return convertView;
}
}

View File

@@ -0,0 +1,198 @@
package org.schabi.newpipe.about
import android.os.Bundle
import android.view.LayoutInflater
import android.view.MenuItem
import android.view.View
import android.view.ViewGroup
import android.widget.Button
import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity
import androidx.viewpager2.adapter.FragmentStateAdapter
import com.google.android.material.tabs.TabLayout
import com.google.android.material.tabs.TabLayoutMediator
import org.schabi.newpipe.BuildConfig
import org.schabi.newpipe.R
import org.schabi.newpipe.databinding.ActivityAboutBinding
import org.schabi.newpipe.databinding.FragmentAboutBinding
import org.schabi.newpipe.util.Localization
import org.schabi.newpipe.util.ThemeHelper
import org.schabi.newpipe.util.external_communication.ShareUtils
class AboutActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
Localization.assureCorrectAppLanguage(this)
super.onCreate(savedInstanceState)
ThemeHelper.setTheme(this)
title = getString(R.string.title_activity_about)
val aboutBinding = ActivityAboutBinding.inflate(layoutInflater)
setContentView(aboutBinding.root)
setSupportActionBar(aboutBinding.aboutToolbar)
supportActionBar!!.setDisplayHomeAsUpEnabled(true)
// Create the adapter that will return a fragment for each of the three
// primary sections of the activity.
val mAboutStateAdapter = AboutStateAdapter(this)
// Set up the ViewPager with the sections adapter.
aboutBinding.aboutViewPager2.adapter = mAboutStateAdapter
TabLayoutMediator(
aboutBinding.aboutTabLayout,
aboutBinding.aboutViewPager2
) { tab: TabLayout.Tab, position: Int ->
when (position) {
POS_ABOUT -> tab.setText(R.string.tab_about)
POS_LICENSE -> tab.setText(R.string.tab_licenses)
else -> throw IllegalArgumentException("Unknown position for ViewPager2")
}
}.attach()
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
if (item.itemId == android.R.id.home) {
finish()
return true
}
return super.onOptionsItemSelected(item)
}
/**
* A placeholder fragment containing a simple view.
*/
class AboutFragment : Fragment() {
private fun Button.openLink(url: Int) {
setOnClickListener {
ShareUtils.openUrlInBrowser(
context,
requireContext().getString(url),
false
)
}
}
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
val aboutBinding = FragmentAboutBinding.inflate(inflater, container, false)
aboutBinding.aboutAppVersion.text = BuildConfig.VERSION_NAME
aboutBinding.aboutGithubLink.openLink(R.string.github_url)
aboutBinding.aboutDonationLink.openLink(R.string.donation_url)
aboutBinding.aboutWebsiteLink.openLink(R.string.website_url)
aboutBinding.aboutPrivacyPolicyLink.openLink(R.string.privacy_policy_url)
return aboutBinding.root
}
}
/**
* A [FragmentStateAdapter] that returns a fragment corresponding to
* one of the sections/tabs/pages.
*/
private class AboutStateAdapter(fa: FragmentActivity) : FragmentStateAdapter(fa) {
override fun createFragment(position: Int): Fragment {
return when (position) {
POS_ABOUT -> AboutFragment()
POS_LICENSE -> LicenseFragment.newInstance(SOFTWARE_COMPONENTS)
else -> throw IllegalArgumentException("Unknown position for ViewPager2")
}
}
override fun getItemCount(): Int {
// Show 2 total pages.
return TOTAL_COUNT
}
}
companion object {
/**
* List of all software components.
*/
private val SOFTWARE_COMPONENTS = arrayOf(
SoftwareComponent(
"ACRA", "2013", "Kevin Gaudin",
"https://github.com/ACRA/acra", StandardLicenses.APACHE2
),
SoftwareComponent(
"AndroidX", "2005 - 2011", "The Android Open Source Project",
"https://developer.android.com/jetpack", StandardLicenses.APACHE2
),
SoftwareComponent(
"CircleImageView", "2014 - 2020", "Henning Dodenhof",
"https://github.com/hdodenhof/CircleImageView", StandardLicenses.APACHE2
),
SoftwareComponent(
"ExoPlayer", "2014 - 2020", "Google, Inc.",
"https://github.com/google/ExoPlayer", StandardLicenses.APACHE2
),
SoftwareComponent(
"GigaGet", "2014 - 2015", "Peter Cai",
"https://github.com/PaperAirplane-Dev-Team/GigaGet", StandardLicenses.GPL3
),
SoftwareComponent(
"Groupie", "2016", "Lisa Wray",
"https://github.com/lisawray/groupie", StandardLicenses.MIT
),
SoftwareComponent(
"Icepick", "2015", "Frankie Sardo",
"https://github.com/frankiesardo/icepick", StandardLicenses.EPL1
),
SoftwareComponent(
"Jsoup", "2009 - 2020", "Jonathan Hedley",
"https://github.com/jhy/jsoup", StandardLicenses.MIT
),
SoftwareComponent(
"Markwon", "2019", "Dimitry Ivanov",
"https://github.com/noties/Markwon", StandardLicenses.APACHE2
),
SoftwareComponent(
"Material Components for Android", "2016 - 2020", "Google, Inc.",
"https://github.com/material-components/material-components-android",
StandardLicenses.APACHE2
),
SoftwareComponent(
"NewPipe Extractor", "2017 - 2020", "Christian Schabesberger",
"https://github.com/TeamNewPipe/NewPipeExtractor", StandardLicenses.GPL3
),
SoftwareComponent(
"NoNonsense-FilePicker", "2016", "Jonas Kalderstam",
"https://github.com/spacecowboy/NoNonsense-FilePicker", StandardLicenses.MPL2
),
SoftwareComponent(
"OkHttp", "2019", "Square, Inc.",
"https://square.github.io/okhttp/", StandardLicenses.APACHE2
),
SoftwareComponent(
"Picasso", "2013", "Square, Inc.",
"https://square.github.io/picasso/", StandardLicenses.APACHE2
),
SoftwareComponent(
"PrettyTime", "2012 - 2020", "Lincoln Baxter, III",
"https://github.com/ocpsoft/prettytime", StandardLicenses.APACHE2
),
SoftwareComponent(
"ProcessPhoenix", "2015", "Jake Wharton",
"https://github.com/JakeWharton/ProcessPhoenix", StandardLicenses.APACHE2
),
SoftwareComponent(
"RxAndroid", "2015", "The RxAndroid authors",
"https://github.com/ReactiveX/RxAndroid", StandardLicenses.APACHE2
),
SoftwareComponent(
"RxBinding", "2015", "Jake Wharton",
"https://github.com/JakeWharton/RxBinding", StandardLicenses.APACHE2
),
SoftwareComponent(
"RxJava", "2016 - 2020", "RxJava Contributors",
"https://github.com/ReactiveX/RxJava", StandardLicenses.APACHE2
),
SoftwareComponent(
"SearchPreference", "2018", "ByteHamster",
"https://github.com/ByteHamster/SearchPreference", StandardLicenses.MIT
),
)
private const val POS_ABOUT = 0
private const val POS_LICENSE = 1
private const val TOTAL_COUNT = 2
}
}

View File

@@ -0,0 +1,11 @@
package org.schabi.newpipe.about
import android.os.Parcelable
import kotlinx.parcelize.Parcelize
import java.io.Serializable
/**
* Class for storing information about a software license.
*/
@Parcelize
class License(val name: String, val abbreviation: String, val filename: String) : Parcelable, Serializable

View File

@@ -0,0 +1,87 @@
package org.schabi.newpipe.about
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.core.os.bundleOf
import androidx.fragment.app.Fragment
import io.reactivex.rxjava3.disposables.CompositeDisposable
import org.schabi.newpipe.R
import org.schabi.newpipe.about.LicenseFragmentHelper.showLicense
import org.schabi.newpipe.databinding.FragmentLicensesBinding
import org.schabi.newpipe.databinding.ItemSoftwareComponentBinding
/**
* Fragment containing the software licenses.
*/
class LicenseFragment : Fragment() {
private lateinit var softwareComponents: Array<SoftwareComponent>
private var activeLicense: License? = null
private val compositeDisposable = CompositeDisposable()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
softwareComponents = arguments?.getParcelableArray(ARG_COMPONENTS) as Array<SoftwareComponent>
activeLicense = savedInstanceState?.getSerializable(LICENSE_KEY) as? License
// Sort components by name
softwareComponents.sortBy { it.name }
}
override fun onDestroy() {
compositeDisposable.dispose()
super.onDestroy()
}
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
val binding = FragmentLicensesBinding.inflate(inflater, container, false)
binding.licensesAppReadLicense.setOnClickListener {
activeLicense = StandardLicenses.GPL3
compositeDisposable.add(
showLicense(activity, StandardLicenses.GPL3)
)
}
for (component in softwareComponents) {
val componentBinding = ItemSoftwareComponentBinding
.inflate(inflater, container, false)
componentBinding.name.text = component.name
componentBinding.copyright.text = getString(
R.string.copyright,
component.years,
component.copyrightOwner,
component.license.abbreviation
)
val root: View = componentBinding.root
root.tag = component
root.setOnClickListener {
activeLicense = component.license
compositeDisposable.add(
showLicense(activity, component)
)
}
binding.licensesSoftwareComponents.addView(root)
registerForContextMenu(root)
}
activeLicense?.let { compositeDisposable.add(showLicense(activity, it)) }
return binding.root
}
override fun onSaveInstanceState(savedInstanceState: Bundle) {
super.onSaveInstanceState(savedInstanceState)
activeLicense?.let { savedInstanceState.putSerializable(LICENSE_KEY, it) }
}
companion object {
private const val ARG_COMPONENTS = "components"
private const val LICENSE_KEY = "ACTIVE_LICENSE"
fun newInstance(softwareComponents: Array<SoftwareComponent>): LicenseFragment {
val fragment = LicenseFragment()
fragment.arguments = bundleOf(ARG_COMPONENTS to softwareComponents)
return fragment
}
}
}

View File

@@ -0,0 +1,147 @@
package org.schabi.newpipe.about
import android.content.Context
import android.util.Base64
import android.webkit.WebView
import androidx.appcompat.app.AlertDialog
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.core.Observable
import io.reactivex.rxjava3.disposables.Disposable
import io.reactivex.rxjava3.schedulers.Schedulers
import org.schabi.newpipe.R
import org.schabi.newpipe.util.Localization
import org.schabi.newpipe.util.ThemeHelper
import org.schabi.newpipe.util.external_communication.ShareUtils
import java.io.BufferedReader
import java.io.IOException
import java.io.InputStreamReader
import java.nio.charset.StandardCharsets
object LicenseFragmentHelper {
/**
* @param context the context to use
* @param license the license
* @return String which contains a HTML formatted license page
* styled according to the context's theme
*/
private fun getFormattedLicense(context: Context, license: License): String {
val licenseContent = StringBuilder()
val webViewData: String
try {
BufferedReader(
InputStreamReader(
context.assets.open(license.filename),
StandardCharsets.UTF_8
)
).use { `in` ->
var str: String?
while (`in`.readLine().also { str = it } != null) {
licenseContent.append(str)
}
// split the HTML file and insert the stylesheet into the HEAD of the file
webViewData = "$licenseContent".replace(
"</head>",
"<style>" + getLicenseStylesheet(context) + "</style></head>"
)
}
} catch (e: IOException) {
throw IllegalArgumentException(
"Could not get license file: " + license.filename, e
)
}
return webViewData
}
/**
* @param context the Android context
* @return String which is a CSS stylesheet according to the context's theme
*/
private fun getLicenseStylesheet(context: Context): String {
val isLightTheme = ThemeHelper.isLightThemeSelected(context)
return (
"body{padding:12px 15px;margin:0;" + "background:#" + getHexRGBColor(
context,
if (isLightTheme) R.color.light_license_background_color
else R.color.dark_license_background_color
) + ";" + "color:#" + getHexRGBColor(
context,
if (isLightTheme) R.color.light_license_text_color
else R.color.dark_license_text_color
) + "}" + "a[href]{color:#" + getHexRGBColor(
context,
if (isLightTheme) R.color.light_youtube_primary_color
else R.color.dark_youtube_primary_color
) + "}" + "pre{white-space:pre-wrap}"
)
}
/**
* Cast R.color to a hexadecimal color value.
*
* @param context the context to use
* @param color the color number from R.color
* @return a six characters long String with hexadecimal RGB values
*/
private fun getHexRGBColor(context: Context, color: Int): String {
return context.getString(color).substring(3)
}
@JvmStatic
fun showLicense(context: Context?, license: License): Disposable {
return if (context == null) {
Disposable.empty()
} else {
Observable.fromCallable { getFormattedLicense(context, license) }
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe { formattedLicense: String ->
val webViewData = Base64.encodeToString(
formattedLicense
.toByteArray(StandardCharsets.UTF_8),
Base64.NO_PADDING
)
val webView = WebView(context)
webView.loadData(webViewData, "text/html; charset=UTF-8", "base64")
val alert = AlertDialog.Builder(context)
alert.setTitle(license.name)
alert.setView(webView)
Localization.assureCorrectAppLanguage(context)
alert.setNegativeButton(
context.getString(R.string.ok)
) { dialog, _ -> dialog.dismiss() }
alert.show()
}
}
}
@JvmStatic
fun showLicense(context: Context?, component: SoftwareComponent): Disposable {
return if (context == null) {
Disposable.empty()
} else {
Observable.fromCallable { getFormattedLicense(context, component.license) }
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe { formattedLicense: String ->
val webViewData = Base64.encodeToString(
formattedLicense
.toByteArray(StandardCharsets.UTF_8),
Base64.NO_PADDING
)
val webView = WebView(context)
webView.loadData(webViewData, "text/html; charset=UTF-8", "base64")
val alert = AlertDialog.Builder(context)
alert.setTitle(component.license.name)
alert.setView(webView)
Localization.assureCorrectAppLanguage(context)
alert.setPositiveButton(
R.string.dismiss
) { dialog, _ -> dialog.dismiss() }
alert.setNeutralButton(R.string.open_website_license) { _, _ ->
ShareUtils.openUrlInBrowser(context, component.link)
}
alert.show()
}
}
}
}

View File

@@ -0,0 +1,16 @@
package org.schabi.newpipe.about
import android.os.Parcelable
import kotlinx.parcelize.Parcelize
@Parcelize
class SoftwareComponent
@JvmOverloads
constructor(
val name: String,
val years: String,
val copyrightOwner: String,
val link: String,
val license: License,
val version: String? = null
) : Parcelable

View File

@@ -0,0 +1,21 @@
package org.schabi.newpipe.about
/**
* Class containing information about standard software licenses.
*/
object StandardLicenses {
@JvmField
val GPL3 = License("GNU General Public License, Version 3.0", "GPLv3", "gpl_3.html")
@JvmField
val APACHE2 = License("Apache License, Version 2.0", "ALv2", "apache2.html")
@JvmField
val MPL2 = License("Mozilla Public License, Version 2.0", "MPL 2.0", "mpl2.html")
@JvmField
val MIT = License("MIT License", "MIT", "mit.html")
@JvmField
val EPL1 = License("Eclipse Public License, Version 1.0", "EPL 1.0", "epl1.html")
}

View File

@@ -0,0 +1,65 @@
package org.schabi.newpipe.database;
import androidx.room.Database;
import androidx.room.RoomDatabase;
import androidx.room.TypeConverters;
import org.schabi.newpipe.database.feed.dao.FeedDAO;
import org.schabi.newpipe.database.feed.dao.FeedGroupDAO;
import org.schabi.newpipe.database.feed.model.FeedEntity;
import org.schabi.newpipe.database.feed.model.FeedGroupEntity;
import org.schabi.newpipe.database.feed.model.FeedGroupSubscriptionEntity;
import org.schabi.newpipe.database.feed.model.FeedLastUpdatedEntity;
import org.schabi.newpipe.database.history.dao.SearchHistoryDAO;
import org.schabi.newpipe.database.history.dao.StreamHistoryDAO;
import org.schabi.newpipe.database.history.model.SearchHistoryEntry;
import org.schabi.newpipe.database.history.model.StreamHistoryEntity;
import org.schabi.newpipe.database.playlist.dao.PlaylistDAO;
import org.schabi.newpipe.database.playlist.dao.PlaylistRemoteDAO;
import org.schabi.newpipe.database.playlist.dao.PlaylistStreamDAO;
import org.schabi.newpipe.database.playlist.model.PlaylistEntity;
import org.schabi.newpipe.database.playlist.model.PlaylistRemoteEntity;
import org.schabi.newpipe.database.playlist.model.PlaylistStreamEntity;
import org.schabi.newpipe.database.stream.dao.StreamDAO;
import org.schabi.newpipe.database.stream.dao.StreamStateDAO;
import org.schabi.newpipe.database.stream.model.StreamEntity;
import org.schabi.newpipe.database.stream.model.StreamStateEntity;
import org.schabi.newpipe.database.subscription.SubscriptionDAO;
import org.schabi.newpipe.database.subscription.SubscriptionEntity;
import static org.schabi.newpipe.database.Migrations.DB_VER_4;
@TypeConverters({Converters.class})
@Database(
entities = {
SubscriptionEntity.class, SearchHistoryEntry.class,
StreamEntity.class, StreamHistoryEntity.class, StreamStateEntity.class,
PlaylistEntity.class, PlaylistStreamEntity.class, PlaylistRemoteEntity.class,
FeedEntity.class, FeedGroupEntity.class, FeedGroupSubscriptionEntity.class,
FeedLastUpdatedEntity.class
},
version = DB_VER_4
)
public abstract class AppDatabase extends RoomDatabase {
public static final String DATABASE_NAME = "newpipe.db";
public abstract SearchHistoryDAO searchHistoryDAO();
public abstract StreamDAO streamDAO();
public abstract StreamHistoryDAO streamHistoryDAO();
public abstract StreamStateDAO streamStateDAO();
public abstract PlaylistDAO playlistDAO();
public abstract PlaylistStreamDAO playlistStreamDAO();
public abstract PlaylistRemoteDAO playlistRemoteDAO();
public abstract FeedDAO feedDAO();
public abstract FeedGroupDAO feedGroupDAO();
public abstract SubscriptionDAO subscriptionDAO();
}

View File

@@ -0,0 +1,46 @@
package org.schabi.newpipe.database;
import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.OnConflictStrategy;
import androidx.room.Update;
import java.util.Collection;
import java.util.List;
import io.reactivex.rxjava3.core.Flowable;
@Dao
public interface BasicDAO<Entity> {
/* Inserts */
@Insert(onConflict = OnConflictStrategy.ABORT)
long insert(Entity entity);
@Insert(onConflict = OnConflictStrategy.ABORT)
List<Long> insertAll(Entity... entities);
@Insert(onConflict = OnConflictStrategy.ABORT)
List<Long> insertAll(Collection<Entity> entities);
/* Searches */
Flowable<List<Entity>> getAll();
Flowable<List<Entity>> listByService(int serviceId);
/* Deletes */
@Delete
void delete(Entity entity);
@Delete
int delete(Collection<Entity> entities);
int deleteAll();
/* Updates */
@Update
int update(Entity entity);
@Update
void update(Collection<Entity> entities);
}

View File

@@ -0,0 +1,52 @@
package org.schabi.newpipe.database
import androidx.room.TypeConverter
import org.schabi.newpipe.extractor.stream.StreamType
import org.schabi.newpipe.local.subscription.FeedGroupIcon
import java.time.Instant
import java.time.OffsetDateTime
import java.time.ZoneOffset
object Converters {
/**
* Convert a long value to a [OffsetDateTime].
*
* @param value the long value
* @return the `OffsetDateTime`
*/
@TypeConverter
fun offsetDateTimeFromTimestamp(value: Long?): OffsetDateTime? {
return value?.let { OffsetDateTime.ofInstant(Instant.ofEpochMilli(it), ZoneOffset.UTC) }
}
/**
* Convert a [OffsetDateTime] to a long value.
*
* @param offsetDateTime the `OffsetDateTime`
* @return the long value
*/
@TypeConverter
fun offsetDateTimeToTimestamp(offsetDateTime: OffsetDateTime?): Long? {
return offsetDateTime?.withOffsetSameInstant(ZoneOffset.UTC)?.toInstant()?.toEpochMilli()
}
@TypeConverter
fun streamTypeOf(value: String): StreamType {
return StreamType.valueOf(value)
}
@TypeConverter
fun stringOf(streamType: StreamType): String {
return streamType.name
}
@TypeConverter
fun integerOf(feedGroupIcon: FeedGroupIcon): Int {
return feedGroupIcon.id
}
@TypeConverter
fun feedGroupIconOf(id: Int): FeedGroupIcon {
return FeedGroupIcon.values().first { it.id == id }
}
}

View File

@@ -0,0 +1,13 @@
package org.schabi.newpipe.database;
public interface LocalItem {
LocalItemType getLocalItemType();
enum LocalItemType {
PLAYLIST_LOCAL_ITEM,
PLAYLIST_REMOTE_ITEM,
PLAYLIST_STREAM_ITEM,
STATISTIC_STREAM_ITEM,
}
}

View File

@@ -0,0 +1,183 @@
package org.schabi.newpipe.database;
import android.util.Log;
import androidx.annotation.NonNull;
import androidx.room.migration.Migration;
import androidx.sqlite.db.SupportSQLiteDatabase;
import org.schabi.newpipe.MainActivity;
public final class Migrations {
/////////////////////////////////////////////////////////////////////////////
// Test new migrations manually by importing a database from daily usage //
// and checking if the migration works (Use the Database Inspector //
// https://developer.android.com/studio/inspect/database). //
// If you add a migration point it out in the pull request, so that //
// others remember to test it themselves. //
/////////////////////////////////////////////////////////////////////////////
public static final int DB_VER_1 = 1;
public static final int DB_VER_2 = 2;
public static final int DB_VER_3 = 3;
public static final int DB_VER_4 = 4;
private static final String TAG = Migrations.class.getName();
public static final boolean DEBUG = MainActivity.DEBUG;
public static final Migration MIGRATION_1_2 = new Migration(DB_VER_1, DB_VER_2) {
@Override
public void migrate(@NonNull final SupportSQLiteDatabase database) {
if (DEBUG) {
Log.d(TAG, "Start migrating database");
}
/*
* Unfortunately these queries must be hardcoded due to the possibility of
* schema and names changing at a later date, thus invalidating the older migration
* scripts if they are not hardcoded.
* */
// Not much we can do about this, since room doesn't create tables before migration.
// It's either this or blasting the entire database anew.
database.execSQL("CREATE INDEX `index_search_history_search` "
+ "ON `search_history` (`search`)");
database.execSQL("CREATE TABLE IF NOT EXISTS `streams` "
+ "(`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "
+ "`service_id` INTEGER NOT NULL, `url` TEXT, `title` TEXT, "
+ "`stream_type` TEXT, `duration` INTEGER, `uploader` TEXT, "
+ "`thumbnail_url` TEXT)");
database.execSQL("CREATE UNIQUE INDEX `index_streams_service_id_url` "
+ "ON `streams` (`service_id`, `url`)");
database.execSQL("CREATE TABLE IF NOT EXISTS `stream_history` "
+ "(`stream_id` INTEGER NOT NULL, `access_date` INTEGER NOT NULL, "
+ "`repeat_count` INTEGER NOT NULL, PRIMARY KEY(`stream_id`, `access_date`), "
+ "FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) "
+ "ON UPDATE CASCADE ON DELETE CASCADE )");
database.execSQL("CREATE INDEX `index_stream_history_stream_id` "
+ "ON `stream_history` (`stream_id`)");
database.execSQL("CREATE TABLE IF NOT EXISTS `stream_state` "
+ "(`stream_id` INTEGER NOT NULL, `progress_time` INTEGER NOT NULL, "
+ "PRIMARY KEY(`stream_id`), FOREIGN KEY(`stream_id`) "
+ "REFERENCES `streams`(`uid`) ON UPDATE CASCADE ON DELETE CASCADE )");
database.execSQL("CREATE TABLE IF NOT EXISTS `playlists` "
+ "(`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "
+ "`name` TEXT, `thumbnail_url` TEXT)");
database.execSQL("CREATE INDEX `index_playlists_name` ON `playlists` (`name`)");
database.execSQL("CREATE TABLE IF NOT EXISTS `playlist_stream_join` "
+ "(`playlist_id` INTEGER NOT NULL, `stream_id` INTEGER NOT NULL, "
+ "`join_index` INTEGER NOT NULL, PRIMARY KEY(`playlist_id`, `join_index`), "
+ "FOREIGN KEY(`playlist_id`) REFERENCES `playlists`(`uid`) "
+ "ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, "
+ "FOREIGN KEY(`stream_id`) REFERENCES `streams`(`uid`) "
+ "ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED)");
database.execSQL("CREATE UNIQUE INDEX "
+ "`index_playlist_stream_join_playlist_id_join_index` "
+ "ON `playlist_stream_join` (`playlist_id`, `join_index`)");
database.execSQL("CREATE INDEX `index_playlist_stream_join_stream_id` "
+ "ON `playlist_stream_join` (`stream_id`)");
database.execSQL("CREATE TABLE IF NOT EXISTS `remote_playlists` "
+ "(`uid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "
+ "`service_id` INTEGER NOT NULL, `name` TEXT, `url` TEXT, "
+ "`thumbnail_url` TEXT, `uploader` TEXT, `stream_count` INTEGER)");
database.execSQL("CREATE INDEX `index_remote_playlists_name` "
+ "ON `remote_playlists` (`name`)");
database.execSQL("CREATE UNIQUE INDEX `index_remote_playlists_service_id_url` "
+ "ON `remote_playlists` (`service_id`, `url`)");
// Populate streams table with existing entries in watch history
// Latest data first, thus ignoring older entries with the same indices
database.execSQL("INSERT OR IGNORE INTO streams (service_id, url, title, "
+ "stream_type, duration, uploader, thumbnail_url) "
+ "SELECT service_id, url, title, 'VIDEO_STREAM', duration, "
+ "uploader, thumbnail_url "
+ "FROM watch_history "
+ "ORDER BY creation_date DESC");
// Once the streams have PKs, join them with the normalized history table
// and populate it with the remaining data from watch history
database.execSQL("INSERT INTO stream_history (stream_id, access_date, repeat_count)"
+ "SELECT uid, creation_date, 1 "
+ "FROM watch_history INNER JOIN streams "
+ "ON watch_history.service_id == streams.service_id "
+ "AND watch_history.url == streams.url "
+ "ORDER BY creation_date DESC");
database.execSQL("DROP TABLE IF EXISTS watch_history");
if (DEBUG) {
Log.d(TAG, "Stop migrating database");
}
}
};
public static final Migration MIGRATION_2_3 = new Migration(DB_VER_2, DB_VER_3) {
@Override
public void migrate(@NonNull final SupportSQLiteDatabase database) {
// Add NOT NULLs and new fields
database.execSQL("CREATE TABLE IF NOT EXISTS streams_new "
+ "(uid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "
+ "service_id INTEGER NOT NULL, url TEXT NOT NULL, title TEXT NOT NULL, "
+ "stream_type TEXT NOT NULL, duration INTEGER NOT NULL, "
+ "uploader TEXT NOT NULL, thumbnail_url TEXT, view_count INTEGER, "
+ "textual_upload_date TEXT, upload_date INTEGER, "
+ "is_upload_date_approximation INTEGER)");
database.execSQL("INSERT INTO streams_new (uid, service_id, url, title, stream_type, "
+ "duration, uploader, thumbnail_url, view_count, textual_upload_date, "
+ "upload_date, is_upload_date_approximation) "
+ "SELECT uid, service_id, url, ifnull(title, ''), "
+ "ifnull(stream_type, 'VIDEO_STREAM'), ifnull(duration, 0), "
+ "ifnull(uploader, ''), ifnull(thumbnail_url, ''), NULL, NULL, NULL, NULL "
+ "FROM streams WHERE url IS NOT NULL");
database.execSQL("DROP TABLE streams");
database.execSQL("ALTER TABLE streams_new RENAME TO streams");
database.execSQL("CREATE UNIQUE INDEX index_streams_service_id_url "
+ "ON streams (service_id, url)");
// Tables for feed feature
database.execSQL("CREATE TABLE IF NOT EXISTS feed "
+ "(stream_id INTEGER NOT NULL, subscription_id INTEGER NOT NULL, "
+ "PRIMARY KEY(stream_id, subscription_id), "
+ "FOREIGN KEY(stream_id) REFERENCES streams(uid) "
+ "ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, "
+ "FOREIGN KEY(subscription_id) REFERENCES subscriptions(uid) "
+ "ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED)");
database.execSQL("CREATE INDEX index_feed_subscription_id ON feed (subscription_id)");
database.execSQL("CREATE TABLE IF NOT EXISTS feed_group "
+ "(uid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, name TEXT NOT NULL, "
+ "icon_id INTEGER NOT NULL, sort_order INTEGER NOT NULL)");
database.execSQL("CREATE INDEX index_feed_group_sort_order ON feed_group (sort_order)");
database.execSQL("CREATE TABLE IF NOT EXISTS feed_group_subscription_join "
+ "(group_id INTEGER NOT NULL, subscription_id INTEGER NOT NULL, "
+ "PRIMARY KEY(group_id, subscription_id), "
+ "FOREIGN KEY(group_id) REFERENCES feed_group(uid) "
+ "ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, "
+ "FOREIGN KEY(subscription_id) REFERENCES subscriptions(uid) "
+ "ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED)");
database.execSQL("CREATE INDEX index_feed_group_subscription_join_subscription_id "
+ "ON feed_group_subscription_join (subscription_id)");
database.execSQL("CREATE TABLE IF NOT EXISTS feed_last_updated "
+ "(subscription_id INTEGER NOT NULL, last_updated INTEGER, "
+ "PRIMARY KEY(subscription_id), "
+ "FOREIGN KEY(subscription_id) REFERENCES subscriptions(uid) "
+ "ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED)");
}
};
public static final Migration MIGRATION_3_4 = new Migration(DB_VER_3, DB_VER_4) {
@Override
public void migrate(@NonNull final SupportSQLiteDatabase database) {
database.execSQL(
"ALTER TABLE streams ADD COLUMN uploader_url TEXT"
);
}
};
private Migrations() { }
}

View File

@@ -0,0 +1,255 @@
package org.schabi.newpipe.database.feed.dao
import androidx.room.Dao
import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
import androidx.room.Transaction
import androidx.room.Update
import io.reactivex.rxjava3.core.Flowable
import io.reactivex.rxjava3.core.Maybe
import org.schabi.newpipe.database.feed.model.FeedEntity
import org.schabi.newpipe.database.feed.model.FeedLastUpdatedEntity
import org.schabi.newpipe.database.stream.StreamWithState
import org.schabi.newpipe.database.stream.model.StreamStateEntity
import org.schabi.newpipe.database.subscription.SubscriptionEntity
import java.time.OffsetDateTime
@Dao
abstract class FeedDAO {
@Query("DELETE FROM feed")
abstract fun deleteAll(): Int
@Query(
"""
SELECT s.*, sst.progress_time
FROM streams s
LEFT JOIN stream_state sst
ON s.uid = sst.stream_id
LEFT JOIN stream_history sh
ON s.uid = sh.stream_id
INNER JOIN feed f
ON s.uid = f.stream_id
ORDER BY s.upload_date IS NULL DESC, s.upload_date DESC, s.uploader ASC
LIMIT 500
"""
)
abstract fun getAllStreams(): Maybe<List<StreamWithState>>
@Query(
"""
SELECT s.*, sst.progress_time
FROM streams s
LEFT JOIN stream_state sst
ON s.uid = sst.stream_id
LEFT JOIN stream_history sh
ON s.uid = sh.stream_id
INNER JOIN feed f
ON s.uid = f.stream_id
INNER JOIN feed_group_subscription_join fgs
ON fgs.subscription_id = f.subscription_id
WHERE fgs.group_id = :groupId
ORDER BY s.upload_date IS NULL DESC, s.upload_date DESC, s.uploader ASC
LIMIT 500
"""
)
abstract fun getAllStreamsForGroup(groupId: Long): Maybe<List<StreamWithState>>
/**
* @see StreamStateEntity.isFinished()
* @see StreamStateEntity.PLAYBACK_FINISHED_END_MILLISECONDS
* @return all of the non-live, never-played and non-finished streams in the feed
* (all of the cited conditions must hold for a stream to be in the returned list)
*/
@Query(
"""
SELECT s.*, sst.progress_time
FROM streams s
LEFT JOIN stream_state sst
ON s.uid = sst.stream_id
LEFT JOIN stream_history sh
ON s.uid = sh.stream_id
INNER JOIN feed f
ON s.uid = f.stream_id
WHERE (
sh.stream_id IS NULL
OR sst.stream_id IS NULL
OR sst.progress_time < s.duration * 1000 - ${StreamStateEntity.PLAYBACK_FINISHED_END_MILLISECONDS}
OR sst.progress_time < s.duration * 1000 * 3 / 4
OR s.stream_type = 'LIVE_STREAM'
OR s.stream_type = 'AUDIO_LIVE_STREAM'
)
ORDER BY s.upload_date IS NULL DESC, s.upload_date DESC, s.uploader ASC
LIMIT 500
"""
)
abstract fun getLiveOrNotPlayedStreams(): Maybe<List<StreamWithState>>
/**
* @see StreamStateEntity.isFinished()
* @see StreamStateEntity.PLAYBACK_FINISHED_END_MILLISECONDS
* @param groupId the group id to get streams of
* @return all of the non-live, never-played and non-finished streams for the given feed group
* (all of the cited conditions must hold for a stream to be in the returned list)
*/
@Query(
"""
SELECT s.*, sst.progress_time
FROM streams s
LEFT JOIN stream_state sst
ON s.uid = sst.stream_id
LEFT JOIN stream_history sh
ON s.uid = sh.stream_id
INNER JOIN feed f
ON s.uid = f.stream_id
INNER JOIN feed_group_subscription_join fgs
ON fgs.subscription_id = f.subscription_id
WHERE fgs.group_id = :groupId
AND (
sh.stream_id IS NULL
OR sst.stream_id IS NULL
OR sst.progress_time < s.duration * 1000 - ${StreamStateEntity.PLAYBACK_FINISHED_END_MILLISECONDS}
OR sst.progress_time < s.duration * 1000 * 3 / 4
OR s.stream_type = 'LIVE_STREAM'
OR s.stream_type = 'AUDIO_LIVE_STREAM'
)
ORDER BY s.upload_date IS NULL DESC, s.upload_date DESC, s.uploader ASC
LIMIT 500
"""
)
abstract fun getLiveOrNotPlayedStreamsForGroup(groupId: Long): Maybe<List<StreamWithState>>
@Query(
"""
DELETE FROM feed WHERE
feed.stream_id IN (
SELECT s.uid FROM streams s
INNER JOIN feed f
ON s.uid = f.stream_id
WHERE s.upload_date < :offsetDateTime
)
"""
)
abstract fun unlinkStreamsOlderThan(offsetDateTime: OffsetDateTime)
@Query(
"""
DELETE FROM feed
WHERE feed.subscription_id = :subscriptionId
AND feed.stream_id IN (
SELECT s.uid FROM streams s
INNER JOIN feed f
ON s.uid = f.stream_id
WHERE s.stream_type = "LIVE_STREAM" OR s.stream_type = "AUDIO_LIVE_STREAM"
)
"""
)
abstract fun unlinkOldLivestreams(subscriptionId: Long)
@Insert(onConflict = OnConflictStrategy.IGNORE)
abstract fun insert(feedEntity: FeedEntity)
@Insert(onConflict = OnConflictStrategy.IGNORE)
abstract fun insertAll(entities: List<FeedEntity>): List<Long>
@Insert(onConflict = OnConflictStrategy.IGNORE)
internal abstract fun insertLastUpdated(lastUpdatedEntity: FeedLastUpdatedEntity): Long
@Update(onConflict = OnConflictStrategy.IGNORE)
internal abstract fun updateLastUpdated(lastUpdatedEntity: FeedLastUpdatedEntity)
@Transaction
open fun setLastUpdatedForSubscription(lastUpdatedEntity: FeedLastUpdatedEntity) {
val id = insertLastUpdated(lastUpdatedEntity)
if (id == -1L) {
updateLastUpdated(lastUpdatedEntity)
}
}
@Query(
"""
SELECT MIN(lu.last_updated) FROM feed_last_updated lu
INNER JOIN feed_group_subscription_join fgs
ON fgs.subscription_id = lu.subscription_id AND fgs.group_id = :groupId
"""
)
abstract fun oldestSubscriptionUpdate(groupId: Long): Flowable<List<OffsetDateTime>>
@Query("SELECT MIN(last_updated) FROM feed_last_updated")
abstract fun oldestSubscriptionUpdateFromAll(): Flowable<List<OffsetDateTime>>
@Query("SELECT COUNT(*) FROM feed_last_updated WHERE last_updated IS NULL")
abstract fun notLoadedCount(): Flowable<Long>
@Query(
"""
SELECT COUNT(*) FROM subscriptions s
INNER JOIN feed_group_subscription_join fgs
ON s.uid = fgs.subscription_id AND fgs.group_id = :groupId
LEFT JOIN feed_last_updated lu
ON s.uid = lu.subscription_id
WHERE lu.last_updated IS NULL
"""
)
abstract fun notLoadedCountForGroup(groupId: Long): Flowable<Long>
@Query(
"""
SELECT s.* FROM subscriptions s
LEFT JOIN feed_last_updated lu
ON s.uid = lu.subscription_id
WHERE lu.last_updated IS NULL OR lu.last_updated < :outdatedThreshold
"""
)
abstract fun getAllOutdated(outdatedThreshold: OffsetDateTime): Flowable<List<SubscriptionEntity>>
@Query(
"""
SELECT s.* FROM subscriptions s
INNER JOIN feed_group_subscription_join fgs
ON s.uid = fgs.subscription_id AND fgs.group_id = :groupId
LEFT JOIN feed_last_updated lu
ON s.uid = lu.subscription_id
WHERE lu.last_updated IS NULL OR lu.last_updated < :outdatedThreshold
"""
)
abstract fun getAllOutdatedForGroup(groupId: Long, outdatedThreshold: OffsetDateTime): Flowable<List<SubscriptionEntity>>
}

View File

@@ -0,0 +1,67 @@
package org.schabi.newpipe.database.feed.dao
import androidx.room.Dao
import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
import androidx.room.Transaction
import androidx.room.Update
import io.reactivex.rxjava3.core.Flowable
import io.reactivex.rxjava3.core.Maybe
import org.schabi.newpipe.database.feed.model.FeedGroupEntity
import org.schabi.newpipe.database.feed.model.FeedGroupSubscriptionEntity
@Dao
abstract class FeedGroupDAO {
@Query("SELECT * FROM feed_group ORDER BY sort_order ASC")
abstract fun getAll(): Flowable<List<FeedGroupEntity>>
@Query("SELECT * FROM feed_group WHERE uid = :groupId")
abstract fun getGroup(groupId: Long): Maybe<FeedGroupEntity>
@Transaction
open fun insert(feedGroupEntity: FeedGroupEntity): Long {
val nextSortOrder = nextSortOrder()
feedGroupEntity.sortOrder = nextSortOrder
return insertInternal(feedGroupEntity)
}
@Update(onConflict = OnConflictStrategy.IGNORE)
abstract fun update(feedGroupEntity: FeedGroupEntity): Int
@Query("DELETE FROM feed_group")
abstract fun deleteAll(): Int
@Query("DELETE FROM feed_group WHERE uid = :groupId")
abstract fun delete(groupId: Long): Int
@Query("SELECT subscription_id FROM feed_group_subscription_join WHERE group_id = :groupId")
abstract fun getSubscriptionIdsFor(groupId: Long): Flowable<List<Long>>
@Query("DELETE FROM feed_group_subscription_join WHERE group_id = :groupId")
abstract fun deleteSubscriptionsFromGroup(groupId: Long): Int
@Insert(onConflict = OnConflictStrategy.IGNORE)
abstract fun insertSubscriptionsToGroup(entities: List<FeedGroupSubscriptionEntity>): List<Long>
@Transaction
open fun updateSubscriptionsForGroup(groupId: Long, subscriptionIds: List<Long>) {
deleteSubscriptionsFromGroup(groupId)
insertSubscriptionsToGroup(subscriptionIds.map { FeedGroupSubscriptionEntity(groupId, it) })
}
@Transaction
open fun updateOrder(orderMap: Map<Long, Long>) {
orderMap.forEach { (groupId, sortOrder) -> updateOrder(groupId, sortOrder) }
}
@Query("UPDATE feed_group SET sort_order = :sortOrder WHERE uid = :groupId")
abstract fun updateOrder(groupId: Long, sortOrder: Long): Int
@Query("SELECT IFNULL(MAX(sort_order) + 1, 0) FROM feed_group")
protected abstract fun nextSortOrder(): Long
@Insert(onConflict = OnConflictStrategy.ABORT)
protected abstract fun insertInternal(feedGroupEntity: FeedGroupEntity): Long
}

View File

@@ -0,0 +1,46 @@
package org.schabi.newpipe.database.feed.model
import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.ForeignKey
import androidx.room.Index
import org.schabi.newpipe.database.feed.model.FeedEntity.Companion.FEED_TABLE
import org.schabi.newpipe.database.feed.model.FeedEntity.Companion.STREAM_ID
import org.schabi.newpipe.database.feed.model.FeedEntity.Companion.SUBSCRIPTION_ID
import org.schabi.newpipe.database.stream.model.StreamEntity
import org.schabi.newpipe.database.subscription.SubscriptionEntity
@Entity(
tableName = FEED_TABLE,
primaryKeys = [STREAM_ID, SUBSCRIPTION_ID],
indices = [Index(SUBSCRIPTION_ID)],
foreignKeys = [
ForeignKey(
entity = StreamEntity::class,
parentColumns = [StreamEntity.STREAM_ID],
childColumns = [STREAM_ID],
onDelete = ForeignKey.CASCADE, onUpdate = ForeignKey.CASCADE, deferred = true
),
ForeignKey(
entity = SubscriptionEntity::class,
parentColumns = [SubscriptionEntity.SUBSCRIPTION_UID],
childColumns = [SUBSCRIPTION_ID],
onDelete = ForeignKey.CASCADE, onUpdate = ForeignKey.CASCADE, deferred = true
)
]
)
data class FeedEntity(
@ColumnInfo(name = STREAM_ID)
var streamId: Long,
@ColumnInfo(name = SUBSCRIPTION_ID)
var subscriptionId: Long
) {
companion object {
const val FEED_TABLE = "feed"
const val STREAM_ID = "stream_id"
const val SUBSCRIPTION_ID = "subscription_id"
}
}

View File

@@ -0,0 +1,39 @@
package org.schabi.newpipe.database.feed.model
import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.Index
import androidx.room.PrimaryKey
import org.schabi.newpipe.database.feed.model.FeedGroupEntity.Companion.FEED_GROUP_TABLE
import org.schabi.newpipe.database.feed.model.FeedGroupEntity.Companion.SORT_ORDER
import org.schabi.newpipe.local.subscription.FeedGroupIcon
@Entity(
tableName = FEED_GROUP_TABLE,
indices = [Index(SORT_ORDER)]
)
data class FeedGroupEntity(
@PrimaryKey(autoGenerate = true)
@ColumnInfo(name = ID)
val uid: Long,
@ColumnInfo(name = NAME)
var name: String,
@ColumnInfo(name = ICON)
var icon: FeedGroupIcon,
@ColumnInfo(name = SORT_ORDER)
var sortOrder: Long = -1
) {
companion object {
const val FEED_GROUP_TABLE = "feed_group"
const val ID = "uid"
const val NAME = "name"
const val ICON = "icon_id"
const val SORT_ORDER = "sort_order"
const val GROUP_ALL_ID = -1L
}
}

View File

@@ -0,0 +1,47 @@
package org.schabi.newpipe.database.feed.model
import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.ForeignKey
import androidx.room.ForeignKey.CASCADE
import androidx.room.Index
import org.schabi.newpipe.database.feed.model.FeedGroupSubscriptionEntity.Companion.FEED_GROUP_SUBSCRIPTION_TABLE
import org.schabi.newpipe.database.feed.model.FeedGroupSubscriptionEntity.Companion.GROUP_ID
import org.schabi.newpipe.database.feed.model.FeedGroupSubscriptionEntity.Companion.SUBSCRIPTION_ID
import org.schabi.newpipe.database.subscription.SubscriptionEntity
@Entity(
tableName = FEED_GROUP_SUBSCRIPTION_TABLE,
primaryKeys = [GROUP_ID, SUBSCRIPTION_ID],
indices = [Index(SUBSCRIPTION_ID)],
foreignKeys = [
ForeignKey(
entity = FeedGroupEntity::class,
parentColumns = [FeedGroupEntity.ID],
childColumns = [GROUP_ID],
onDelete = CASCADE, onUpdate = CASCADE, deferred = true
),
ForeignKey(
entity = SubscriptionEntity::class,
parentColumns = [SubscriptionEntity.SUBSCRIPTION_UID],
childColumns = [SUBSCRIPTION_ID],
onDelete = CASCADE, onUpdate = CASCADE, deferred = true
)
]
)
data class FeedGroupSubscriptionEntity(
@ColumnInfo(name = GROUP_ID)
var feedGroupId: Long,
@ColumnInfo(name = SUBSCRIPTION_ID)
var subscriptionId: Long
) {
companion object {
const val FEED_GROUP_SUBSCRIPTION_TABLE = "feed_group_subscription_join"
const val GROUP_ID = "group_id"
const val SUBSCRIPTION_ID = "subscription_id"
}
}

View File

@@ -0,0 +1,37 @@
package org.schabi.newpipe.database.feed.model
import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.ForeignKey
import androidx.room.PrimaryKey
import org.schabi.newpipe.database.feed.model.FeedLastUpdatedEntity.Companion.FEED_LAST_UPDATED_TABLE
import org.schabi.newpipe.database.feed.model.FeedLastUpdatedEntity.Companion.SUBSCRIPTION_ID
import org.schabi.newpipe.database.subscription.SubscriptionEntity
import java.time.OffsetDateTime
@Entity(
tableName = FEED_LAST_UPDATED_TABLE,
foreignKeys = [
ForeignKey(
entity = SubscriptionEntity::class,
parentColumns = [SubscriptionEntity.SUBSCRIPTION_UID],
childColumns = [SUBSCRIPTION_ID],
onDelete = ForeignKey.CASCADE, onUpdate = ForeignKey.CASCADE, deferred = true
)
]
)
data class FeedLastUpdatedEntity(
@PrimaryKey
@ColumnInfo(name = SUBSCRIPTION_ID)
var subscriptionId: Long,
@ColumnInfo(name = LAST_UPDATED)
var lastUpdated: OffsetDateTime? = null
) {
companion object {
const val FEED_LAST_UPDATED_TABLE = "feed_last_updated"
const val SUBSCRIPTION_ID = "subscription_id"
const val LAST_UPDATED = "last_updated"
}
}

View File

@@ -0,0 +1,7 @@
package org.schabi.newpipe.database.history.dao;
import org.schabi.newpipe.database.BasicDAO;
public interface HistoryDAO<T> extends BasicDAO<T> {
T getLatestEntry();
}

View File

@@ -0,0 +1,52 @@
package org.schabi.newpipe.database.history.dao;
import androidx.annotation.Nullable;
import androidx.room.Dao;
import androidx.room.Query;
import org.schabi.newpipe.database.history.model.SearchHistoryEntry;
import java.util.List;
import io.reactivex.rxjava3.core.Flowable;
import static org.schabi.newpipe.database.history.model.SearchHistoryEntry.CREATION_DATE;
import static org.schabi.newpipe.database.history.model.SearchHistoryEntry.ID;
import static org.schabi.newpipe.database.history.model.SearchHistoryEntry.SEARCH;
import static org.schabi.newpipe.database.history.model.SearchHistoryEntry.SERVICE_ID;
import static org.schabi.newpipe.database.history.model.SearchHistoryEntry.TABLE_NAME;
@Dao
public interface SearchHistoryDAO extends HistoryDAO<SearchHistoryEntry> {
String ORDER_BY_CREATION_DATE = " ORDER BY " + CREATION_DATE + " DESC";
String ORDER_BY_MAX_CREATION_DATE = " ORDER BY MAX(" + CREATION_DATE + ") DESC";
@Query("SELECT * FROM " + TABLE_NAME
+ " WHERE " + ID + " = (SELECT MAX(" + ID + ") FROM " + TABLE_NAME + ")")
@Nullable
SearchHistoryEntry getLatestEntry();
@Query("DELETE FROM " + TABLE_NAME)
@Override
int deleteAll();
@Query("DELETE FROM " + TABLE_NAME + " WHERE " + SEARCH + " = :query")
int deleteAllWhereQuery(String query);
@Query("SELECT * FROM " + TABLE_NAME + ORDER_BY_CREATION_DATE)
@Override
Flowable<List<SearchHistoryEntry>> getAll();
@Query("SELECT " + SEARCH + " FROM " + TABLE_NAME + " GROUP BY " + SEARCH
+ ORDER_BY_MAX_CREATION_DATE + " LIMIT :limit")
Flowable<List<String>> getUniqueEntries(int limit);
@Query("SELECT * FROM " + TABLE_NAME
+ " WHERE " + SERVICE_ID + " = :serviceId" + ORDER_BY_CREATION_DATE)
@Override
Flowable<List<SearchHistoryEntry>> listByService(int serviceId);
@Query("SELECT " + SEARCH + " FROM " + TABLE_NAME + " WHERE " + SEARCH + " LIKE :query || '%'"
+ " GROUP BY " + SEARCH + ORDER_BY_MAX_CREATION_DATE + " LIMIT :limit")
Flowable<List<String>> getSimilarEntries(String query, int limit);
}

View File

@@ -0,0 +1,87 @@
package org.schabi.newpipe.database.history.dao;
import androidx.annotation.Nullable;
import androidx.room.Dao;
import androidx.room.Query;
import org.schabi.newpipe.database.history.model.StreamHistoryEntity;
import org.schabi.newpipe.database.history.model.StreamHistoryEntry;
import org.schabi.newpipe.database.stream.StreamStatisticsEntry;
import java.util.List;
import io.reactivex.rxjava3.core.Flowable;
import static org.schabi.newpipe.database.history.model.StreamHistoryEntity.JOIN_STREAM_ID;
import static org.schabi.newpipe.database.history.model.StreamHistoryEntity.STREAM_ACCESS_DATE;
import static org.schabi.newpipe.database.history.model.StreamHistoryEntity.STREAM_HISTORY_TABLE;
import static org.schabi.newpipe.database.history.model.StreamHistoryEntity.STREAM_REPEAT_COUNT;
import static org.schabi.newpipe.database.stream.StreamStatisticsEntry.STREAM_LATEST_DATE;
import static org.schabi.newpipe.database.stream.StreamStatisticsEntry.STREAM_WATCH_COUNT;
import static org.schabi.newpipe.database.stream.model.StreamEntity.STREAM_ID;
import static org.schabi.newpipe.database.stream.model.StreamEntity.STREAM_TABLE;
import static org.schabi.newpipe.database.stream.model.StreamStateEntity.JOIN_STREAM_ID_ALIAS;
import static org.schabi.newpipe.database.stream.model.StreamStateEntity.STREAM_PROGRESS_MILLIS;
import static org.schabi.newpipe.database.stream.model.StreamStateEntity.STREAM_STATE_TABLE;
@Dao
public abstract class StreamHistoryDAO implements HistoryDAO<StreamHistoryEntity> {
@Query("SELECT * FROM " + STREAM_HISTORY_TABLE
+ " WHERE " + STREAM_ACCESS_DATE + " = "
+ "(SELECT MAX(" + STREAM_ACCESS_DATE + ") FROM " + STREAM_HISTORY_TABLE + ")")
@Override
@Nullable
public abstract StreamHistoryEntity getLatestEntry();
@Override
@Query("SELECT * FROM " + STREAM_HISTORY_TABLE)
public abstract Flowable<List<StreamHistoryEntity>> getAll();
@Override
@Query("DELETE FROM " + STREAM_HISTORY_TABLE)
public abstract int deleteAll();
@Override
public Flowable<List<StreamHistoryEntity>> listByService(final int serviceId) {
throw new UnsupportedOperationException();
}
@Query("SELECT * FROM " + STREAM_TABLE
+ " INNER JOIN " + STREAM_HISTORY_TABLE
+ " ON " + STREAM_ID + " = " + JOIN_STREAM_ID
+ " ORDER BY " + STREAM_ACCESS_DATE + " DESC")
public abstract Flowable<List<StreamHistoryEntry>> getHistory();
@Query("SELECT * FROM " + STREAM_TABLE
+ " INNER JOIN " + STREAM_HISTORY_TABLE
+ " ON " + STREAM_ID + " = " + JOIN_STREAM_ID
+ " ORDER BY " + STREAM_ID + " ASC")
public abstract Flowable<List<StreamHistoryEntry>> getHistorySortedById();
@Query("SELECT * FROM " + STREAM_HISTORY_TABLE + " WHERE " + JOIN_STREAM_ID
+ " = :streamId ORDER BY " + STREAM_ACCESS_DATE + " DESC LIMIT 1")
@Nullable
public abstract StreamHistoryEntity getLatestEntry(long streamId);
@Query("DELETE FROM " + STREAM_HISTORY_TABLE + " WHERE " + JOIN_STREAM_ID + " = :streamId")
public abstract int deleteStreamHistory(long streamId);
@Query("SELECT * FROM " + STREAM_TABLE
// Select the latest entry and watch count for each stream id on history table
+ " INNER JOIN "
+ "(SELECT " + JOIN_STREAM_ID + ", "
+ " MAX(" + STREAM_ACCESS_DATE + ") AS " + STREAM_LATEST_DATE + ", "
+ " SUM(" + STREAM_REPEAT_COUNT + ") AS " + STREAM_WATCH_COUNT
+ " FROM " + STREAM_HISTORY_TABLE + " GROUP BY " + JOIN_STREAM_ID + ")"
+ " ON " + STREAM_ID + " = " + JOIN_STREAM_ID
+ " LEFT JOIN "
+ "(SELECT " + JOIN_STREAM_ID + " AS " + JOIN_STREAM_ID_ALIAS + ", "
+ STREAM_PROGRESS_MILLIS
+ " FROM " + STREAM_STATE_TABLE + " )"
+ " ON " + STREAM_ID + " = " + JOIN_STREAM_ID_ALIAS)
public abstract Flowable<List<StreamStatisticsEntry>> getStatistics();
}

View File

@@ -0,0 +1,40 @@
package org.schabi.newpipe.database.history.model
import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.Ignore
import androidx.room.Index
import androidx.room.PrimaryKey
import java.time.OffsetDateTime
@Entity(
tableName = SearchHistoryEntry.TABLE_NAME,
indices = [Index(value = [SearchHistoryEntry.SEARCH])]
)
data class SearchHistoryEntry(
@field:ColumnInfo(name = CREATION_DATE) var creationDate: OffsetDateTime?,
@field:ColumnInfo(
name = SERVICE_ID
) var serviceId: Int,
@field:ColumnInfo(name = SEARCH) var search: String?
) {
@ColumnInfo(name = ID)
@PrimaryKey(autoGenerate = true)
var id: Long = 0
@Ignore
fun hasEqualValues(otherEntry: SearchHistoryEntry): Boolean {
return (
serviceId == otherEntry.serviceId &&
search == otherEntry.search
)
}
companion object {
const val ID = "id"
const val TABLE_NAME = "search_history"
const val SERVICE_ID = "service_id"
const val CREATION_DATE = "creation_date"
const val SEARCH = "search"
}
}

View File

@@ -0,0 +1,81 @@
package org.schabi.newpipe.database.history.model;
import androidx.annotation.NonNull;
import androidx.room.ColumnInfo;
import androidx.room.Entity;
import androidx.room.ForeignKey;
import androidx.room.Ignore;
import androidx.room.Index;
import org.schabi.newpipe.database.stream.model.StreamEntity;
import java.time.OffsetDateTime;
import static androidx.room.ForeignKey.CASCADE;
import static org.schabi.newpipe.database.history.model.StreamHistoryEntity.JOIN_STREAM_ID;
import static org.schabi.newpipe.database.history.model.StreamHistoryEntity.STREAM_ACCESS_DATE;
import static org.schabi.newpipe.database.history.model.StreamHistoryEntity.STREAM_HISTORY_TABLE;
@Entity(tableName = STREAM_HISTORY_TABLE,
primaryKeys = {JOIN_STREAM_ID, STREAM_ACCESS_DATE},
// No need to index for timestamp as they will almost always be unique
indices = {@Index(value = {JOIN_STREAM_ID})},
foreignKeys = {
@ForeignKey(entity = StreamEntity.class,
parentColumns = StreamEntity.STREAM_ID,
childColumns = JOIN_STREAM_ID,
onDelete = CASCADE, onUpdate = CASCADE)
})
public class StreamHistoryEntity {
public static final String STREAM_HISTORY_TABLE = "stream_history";
public static final String JOIN_STREAM_ID = "stream_id";
public static final String STREAM_ACCESS_DATE = "access_date";
public static final String STREAM_REPEAT_COUNT = "repeat_count";
@ColumnInfo(name = JOIN_STREAM_ID)
private long streamUid;
@NonNull
@ColumnInfo(name = STREAM_ACCESS_DATE)
private OffsetDateTime accessDate;
@ColumnInfo(name = STREAM_REPEAT_COUNT)
private long repeatCount;
public StreamHistoryEntity(final long streamUid, @NonNull final OffsetDateTime accessDate,
final long repeatCount) {
this.streamUid = streamUid;
this.accessDate = accessDate;
this.repeatCount = repeatCount;
}
@Ignore
public StreamHistoryEntity(final long streamUid, @NonNull final OffsetDateTime accessDate) {
this(streamUid, accessDate, 1);
}
public long getStreamUid() {
return streamUid;
}
public void setStreamUid(final long streamUid) {
this.streamUid = streamUid;
}
@NonNull
public OffsetDateTime getAccessDate() {
return accessDate;
}
public void setAccessDate(@NonNull final OffsetDateTime accessDate) {
this.accessDate = accessDate;
}
public long getRepeatCount() {
return repeatCount;
}
public void setRepeatCount(final long repeatCount) {
this.repeatCount = repeatCount;
}
}

View File

@@ -0,0 +1,30 @@
package org.schabi.newpipe.database.history.model
import androidx.room.ColumnInfo
import androidx.room.Embedded
import org.schabi.newpipe.database.stream.model.StreamEntity
import java.time.OffsetDateTime
data class StreamHistoryEntry(
@Embedded
val streamEntity: StreamEntity,
@ColumnInfo(name = StreamHistoryEntity.JOIN_STREAM_ID)
val streamId: Long,
@ColumnInfo(name = StreamHistoryEntity.STREAM_ACCESS_DATE)
val accessDate: OffsetDateTime,
@ColumnInfo(name = StreamHistoryEntity.STREAM_REPEAT_COUNT)
val repeatCount: Long
) {
fun toStreamHistoryEntity(): StreamHistoryEntity {
return StreamHistoryEntity(streamId, accessDate, repeatCount)
}
fun hasEqualValues(other: StreamHistoryEntry): Boolean {
return this.streamEntity.uid == other.streamEntity.uid && streamId == other.streamId &&
accessDate.isEqual(other.accessDate)
}
}

View File

@@ -0,0 +1,27 @@
package org.schabi.newpipe.database.playlist;
import org.schabi.newpipe.database.LocalItem;
import org.schabi.newpipe.database.playlist.model.PlaylistRemoteEntity;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public interface PlaylistLocalItem extends LocalItem {
String getOrderingName();
static List<PlaylistLocalItem> merge(
final List<PlaylistMetadataEntry> localPlaylists,
final List<PlaylistRemoteEntity> remotePlaylists) {
final List<PlaylistLocalItem> items = new ArrayList<>(
localPlaylists.size() + remotePlaylists.size());
items.addAll(localPlaylists);
items.addAll(remotePlaylists);
Collections.sort(items, Comparator.comparing(PlaylistLocalItem::getOrderingName,
Comparator.nullsLast(String.CASE_INSENSITIVE_ORDER)));
return items;
}
}

View File

@@ -0,0 +1,38 @@
package org.schabi.newpipe.database.playlist;
import androidx.room.ColumnInfo;
import static org.schabi.newpipe.database.playlist.model.PlaylistEntity.PLAYLIST_ID;
import static org.schabi.newpipe.database.playlist.model.PlaylistEntity.PLAYLIST_NAME;
import static org.schabi.newpipe.database.playlist.model.PlaylistEntity.PLAYLIST_THUMBNAIL_URL;
public class PlaylistMetadataEntry implements PlaylistLocalItem {
public static final String PLAYLIST_STREAM_COUNT = "streamCount";
@ColumnInfo(name = PLAYLIST_ID)
public final long uid;
@ColumnInfo(name = PLAYLIST_NAME)
public final String name;
@ColumnInfo(name = PLAYLIST_THUMBNAIL_URL)
public final String thumbnailUrl;
@ColumnInfo(name = PLAYLIST_STREAM_COUNT)
public final long streamCount;
public PlaylistMetadataEntry(final long uid, final String name, final String thumbnailUrl,
final long streamCount) {
this.uid = uid;
this.name = name;
this.thumbnailUrl = thumbnailUrl;
this.streamCount = streamCount;
}
@Override
public LocalItemType getLocalItemType() {
return LocalItemType.PLAYLIST_LOCAL_ITEM;
}
@Override
public String getOrderingName() {
return name;
}
}

View File

@@ -0,0 +1,39 @@
package org.schabi.newpipe.database.playlist
import androidx.room.ColumnInfo
import androidx.room.Embedded
import org.schabi.newpipe.database.LocalItem
import org.schabi.newpipe.database.playlist.model.PlaylistStreamEntity
import org.schabi.newpipe.database.stream.model.StreamEntity
import org.schabi.newpipe.database.stream.model.StreamStateEntity
import org.schabi.newpipe.extractor.stream.StreamInfoItem
data class PlaylistStreamEntry(
@Embedded
val streamEntity: StreamEntity,
@ColumnInfo(name = StreamStateEntity.STREAM_PROGRESS_MILLIS, defaultValue = "0")
val progressMillis: Long,
@ColumnInfo(name = PlaylistStreamEntity.JOIN_STREAM_ID)
val streamId: Long,
@ColumnInfo(name = PlaylistStreamEntity.JOIN_INDEX)
val joinIndex: Int
) : LocalItem {
@Throws(IllegalArgumentException::class)
fun toStreamInfoItem(): StreamInfoItem {
val item = StreamInfoItem(streamEntity.serviceId, streamEntity.url, streamEntity.title, streamEntity.streamType)
item.duration = streamEntity.duration
item.uploaderName = streamEntity.uploader
item.uploaderUrl = streamEntity.uploaderUrl
item.thumbnailUrl = streamEntity.thumbnailUrl
return item
}
override fun getLocalItemType(): LocalItem.LocalItemType {
return LocalItem.LocalItemType.PLAYLIST_STREAM_ITEM
}
}

View File

@@ -0,0 +1,39 @@
package org.schabi.newpipe.database.playlist.dao;
import androidx.room.Dao;
import androidx.room.Query;
import org.schabi.newpipe.database.BasicDAO;
import org.schabi.newpipe.database.playlist.model.PlaylistEntity;
import java.util.List;
import io.reactivex.rxjava3.core.Flowable;
import static org.schabi.newpipe.database.playlist.model.PlaylistEntity.PLAYLIST_ID;
import static org.schabi.newpipe.database.playlist.model.PlaylistEntity.PLAYLIST_TABLE;
@Dao
public interface PlaylistDAO extends BasicDAO<PlaylistEntity> {
@Override
@Query("SELECT * FROM " + PLAYLIST_TABLE)
Flowable<List<PlaylistEntity>> getAll();
@Override
@Query("DELETE FROM " + PLAYLIST_TABLE)
int deleteAll();
@Override
default Flowable<List<PlaylistEntity>> listByService(final int serviceId) {
throw new UnsupportedOperationException();
}
@Query("SELECT * FROM " + PLAYLIST_TABLE + " WHERE " + PLAYLIST_ID + " = :playlistId")
Flowable<List<PlaylistEntity>> getPlaylist(long playlistId);
@Query("DELETE FROM " + PLAYLIST_TABLE + " WHERE " + PLAYLIST_ID + " = :playlistId")
int deletePlaylist(long playlistId);
@Query("SELECT COUNT(*) FROM " + PLAYLIST_TABLE)
Flowable<Long> getCount();
}

View File

@@ -0,0 +1,59 @@
package org.schabi.newpipe.database.playlist.dao;
import androidx.room.Dao;
import androidx.room.Query;
import androidx.room.Transaction;
import org.schabi.newpipe.database.BasicDAO;
import org.schabi.newpipe.database.playlist.model.PlaylistRemoteEntity;
import java.util.List;
import io.reactivex.rxjava3.core.Flowable;
import static org.schabi.newpipe.database.playlist.model.PlaylistRemoteEntity.REMOTE_PLAYLIST_ID;
import static org.schabi.newpipe.database.playlist.model.PlaylistRemoteEntity.REMOTE_PLAYLIST_SERVICE_ID;
import static org.schabi.newpipe.database.playlist.model.PlaylistRemoteEntity.REMOTE_PLAYLIST_TABLE;
import static org.schabi.newpipe.database.playlist.model.PlaylistRemoteEntity.REMOTE_PLAYLIST_URL;
@Dao
public interface PlaylistRemoteDAO extends BasicDAO<PlaylistRemoteEntity> {
@Override
@Query("SELECT * FROM " + REMOTE_PLAYLIST_TABLE)
Flowable<List<PlaylistRemoteEntity>> getAll();
@Override
@Query("DELETE FROM " + REMOTE_PLAYLIST_TABLE)
int deleteAll();
@Override
@Query("SELECT * FROM " + REMOTE_PLAYLIST_TABLE
+ " WHERE " + REMOTE_PLAYLIST_SERVICE_ID + " = :serviceId")
Flowable<List<PlaylistRemoteEntity>> listByService(int serviceId);
@Query("SELECT * FROM " + REMOTE_PLAYLIST_TABLE + " WHERE "
+ REMOTE_PLAYLIST_URL + " = :url AND " + REMOTE_PLAYLIST_SERVICE_ID + " = :serviceId")
Flowable<List<PlaylistRemoteEntity>> getPlaylist(long serviceId, String url);
@Query("SELECT " + REMOTE_PLAYLIST_ID + " FROM " + REMOTE_PLAYLIST_TABLE
+ " WHERE " + REMOTE_PLAYLIST_URL + " = :url "
+ "AND " + REMOTE_PLAYLIST_SERVICE_ID + " = :serviceId")
Long getPlaylistIdInternal(long serviceId, String url);
@Transaction
default long upsert(final PlaylistRemoteEntity playlist) {
final Long playlistId = getPlaylistIdInternal(playlist.getServiceId(), playlist.getUrl());
if (playlistId == null) {
return insert(playlist);
} else {
playlist.setUid(playlistId);
update(playlist);
return playlistId;
}
}
@Query("DELETE FROM " + REMOTE_PLAYLIST_TABLE
+ " WHERE " + REMOTE_PLAYLIST_ID + " = :playlistId")
int deletePlaylist(long playlistId);
}

View File

@@ -0,0 +1,84 @@
package org.schabi.newpipe.database.playlist.dao;
import androidx.room.Dao;
import androidx.room.Query;
import androidx.room.Transaction;
import org.schabi.newpipe.database.BasicDAO;
import org.schabi.newpipe.database.playlist.PlaylistMetadataEntry;
import org.schabi.newpipe.database.playlist.PlaylistStreamEntry;
import org.schabi.newpipe.database.playlist.model.PlaylistStreamEntity;
import java.util.List;
import io.reactivex.rxjava3.core.Flowable;
import static org.schabi.newpipe.database.playlist.PlaylistMetadataEntry.PLAYLIST_STREAM_COUNT;
import static org.schabi.newpipe.database.playlist.model.PlaylistEntity.PLAYLIST_ID;
import static org.schabi.newpipe.database.playlist.model.PlaylistEntity.PLAYLIST_NAME;
import static org.schabi.newpipe.database.playlist.model.PlaylistEntity.PLAYLIST_TABLE;
import static org.schabi.newpipe.database.playlist.model.PlaylistEntity.PLAYLIST_THUMBNAIL_URL;
import static org.schabi.newpipe.database.playlist.model.PlaylistStreamEntity.JOIN_INDEX;
import static org.schabi.newpipe.database.playlist.model.PlaylistStreamEntity.JOIN_PLAYLIST_ID;
import static org.schabi.newpipe.database.playlist.model.PlaylistStreamEntity.JOIN_STREAM_ID;
import static org.schabi.newpipe.database.playlist.model.PlaylistStreamEntity.PLAYLIST_STREAM_JOIN_TABLE;
import static org.schabi.newpipe.database.stream.model.StreamEntity.STREAM_ID;
import static org.schabi.newpipe.database.stream.model.StreamEntity.STREAM_TABLE;
import static org.schabi.newpipe.database.stream.model.StreamStateEntity.JOIN_STREAM_ID_ALIAS;
import static org.schabi.newpipe.database.stream.model.StreamStateEntity.STREAM_PROGRESS_MILLIS;
import static org.schabi.newpipe.database.stream.model.StreamStateEntity.STREAM_STATE_TABLE;
@Dao
public interface PlaylistStreamDAO extends BasicDAO<PlaylistStreamEntity> {
@Override
@Query("SELECT * FROM " + PLAYLIST_STREAM_JOIN_TABLE)
Flowable<List<PlaylistStreamEntity>> getAll();
@Override
@Query("DELETE FROM " + PLAYLIST_STREAM_JOIN_TABLE)
int deleteAll();
@Override
default Flowable<List<PlaylistStreamEntity>> listByService(final int serviceId) {
throw new UnsupportedOperationException();
}
@Query("DELETE FROM " + PLAYLIST_STREAM_JOIN_TABLE
+ " WHERE " + JOIN_PLAYLIST_ID + " = :playlistId")
void deleteBatch(long playlistId);
@Query("SELECT COALESCE(MAX(" + JOIN_INDEX + "), -1)"
+ " FROM " + PLAYLIST_STREAM_JOIN_TABLE
+ " WHERE " + JOIN_PLAYLIST_ID + " = :playlistId")
Flowable<Integer> getMaximumIndexOf(long playlistId);
@Transaction
@Query("SELECT * FROM " + STREAM_TABLE + " INNER JOIN "
// get ids of streams of the given playlist
+ "(SELECT " + JOIN_STREAM_ID + "," + JOIN_INDEX
+ " FROM " + PLAYLIST_STREAM_JOIN_TABLE
+ " WHERE " + JOIN_PLAYLIST_ID + " = :playlistId)"
// then merge with the stream metadata
+ " ON " + STREAM_ID + " = " + JOIN_STREAM_ID
+ " LEFT JOIN "
+ "(SELECT " + JOIN_STREAM_ID + " AS " + JOIN_STREAM_ID_ALIAS + ", "
+ STREAM_PROGRESS_MILLIS
+ " FROM " + STREAM_STATE_TABLE + " )"
+ " ON " + STREAM_ID + " = " + JOIN_STREAM_ID_ALIAS
+ " ORDER BY " + JOIN_INDEX + " ASC")
Flowable<List<PlaylistStreamEntry>> getOrderedStreamsOf(long playlistId);
@Transaction
@Query("SELECT " + PLAYLIST_ID + ", " + PLAYLIST_NAME + ", " + PLAYLIST_THUMBNAIL_URL + ", "
+ "COALESCE(COUNT(" + JOIN_PLAYLIST_ID + "), 0) AS " + PLAYLIST_STREAM_COUNT
+ " FROM " + PLAYLIST_TABLE
+ " LEFT JOIN " + PLAYLIST_STREAM_JOIN_TABLE
+ " ON " + PLAYLIST_ID + " = " + JOIN_PLAYLIST_ID
+ " GROUP BY " + JOIN_PLAYLIST_ID
+ " ORDER BY " + PLAYLIST_NAME + " COLLATE NOCASE ASC")
Flowable<List<PlaylistMetadataEntry>> getPlaylistMetadata();
}

View File

@@ -0,0 +1,57 @@
package org.schabi.newpipe.database.playlist.model;
import androidx.room.ColumnInfo;
import androidx.room.Entity;
import androidx.room.Index;
import androidx.room.PrimaryKey;
import static org.schabi.newpipe.database.playlist.model.PlaylistEntity.PLAYLIST_NAME;
import static org.schabi.newpipe.database.playlist.model.PlaylistEntity.PLAYLIST_TABLE;
@Entity(tableName = PLAYLIST_TABLE,
indices = {@Index(value = {PLAYLIST_NAME})})
public class PlaylistEntity {
public static final String PLAYLIST_TABLE = "playlists";
public static final String PLAYLIST_ID = "uid";
public static final String PLAYLIST_NAME = "name";
public static final String PLAYLIST_THUMBNAIL_URL = "thumbnail_url";
@PrimaryKey(autoGenerate = true)
@ColumnInfo(name = PLAYLIST_ID)
private long uid = 0;
@ColumnInfo(name = PLAYLIST_NAME)
private String name;
@ColumnInfo(name = PLAYLIST_THUMBNAIL_URL)
private String thumbnailUrl;
public PlaylistEntity(final String name, final String thumbnailUrl) {
this.name = name;
this.thumbnailUrl = thumbnailUrl;
}
public long getUid() {
return uid;
}
public void setUid(final long uid) {
this.uid = uid;
}
public String getName() {
return name;
}
public void setName(final String name) {
this.name = name;
}
public String getThumbnailUrl() {
return thumbnailUrl;
}
public void setThumbnailUrl(final String thumbnailUrl) {
this.thumbnailUrl = thumbnailUrl;
}
}

View File

@@ -0,0 +1,156 @@
package org.schabi.newpipe.database.playlist.model;
import android.text.TextUtils;
import androidx.room.ColumnInfo;
import androidx.room.Entity;
import androidx.room.Ignore;
import androidx.room.Index;
import androidx.room.PrimaryKey;
import org.schabi.newpipe.database.playlist.PlaylistLocalItem;
import org.schabi.newpipe.extractor.playlist.PlaylistInfo;
import org.schabi.newpipe.util.Constants;
import static org.schabi.newpipe.database.LocalItem.LocalItemType.PLAYLIST_REMOTE_ITEM;
import static org.schabi.newpipe.database.playlist.model.PlaylistRemoteEntity.REMOTE_PLAYLIST_NAME;
import static org.schabi.newpipe.database.playlist.model.PlaylistRemoteEntity.REMOTE_PLAYLIST_SERVICE_ID;
import static org.schabi.newpipe.database.playlist.model.PlaylistRemoteEntity.REMOTE_PLAYLIST_TABLE;
import static org.schabi.newpipe.database.playlist.model.PlaylistRemoteEntity.REMOTE_PLAYLIST_URL;
@Entity(tableName = REMOTE_PLAYLIST_TABLE,
indices = {
@Index(value = {REMOTE_PLAYLIST_NAME}),
@Index(value = {REMOTE_PLAYLIST_SERVICE_ID, REMOTE_PLAYLIST_URL}, unique = true)
})
public class PlaylistRemoteEntity implements PlaylistLocalItem {
public static final String REMOTE_PLAYLIST_TABLE = "remote_playlists";
public static final String REMOTE_PLAYLIST_ID = "uid";
public static final String REMOTE_PLAYLIST_SERVICE_ID = "service_id";
public static final String REMOTE_PLAYLIST_NAME = "name";
public static final String REMOTE_PLAYLIST_URL = "url";
public static final String REMOTE_PLAYLIST_THUMBNAIL_URL = "thumbnail_url";
public static final String REMOTE_PLAYLIST_UPLOADER_NAME = "uploader";
public static final String REMOTE_PLAYLIST_STREAM_COUNT = "stream_count";
@PrimaryKey(autoGenerate = true)
@ColumnInfo(name = REMOTE_PLAYLIST_ID)
private long uid = 0;
@ColumnInfo(name = REMOTE_PLAYLIST_SERVICE_ID)
private int serviceId = Constants.NO_SERVICE_ID;
@ColumnInfo(name = REMOTE_PLAYLIST_NAME)
private String name;
@ColumnInfo(name = REMOTE_PLAYLIST_URL)
private String url;
@ColumnInfo(name = REMOTE_PLAYLIST_THUMBNAIL_URL)
private String thumbnailUrl;
@ColumnInfo(name = REMOTE_PLAYLIST_UPLOADER_NAME)
private String uploader;
@ColumnInfo(name = REMOTE_PLAYLIST_STREAM_COUNT)
private Long streamCount;
public PlaylistRemoteEntity(final int serviceId, final String name, final String url,
final String thumbnailUrl, final String uploader,
final Long streamCount) {
this.serviceId = serviceId;
this.name = name;
this.url = url;
this.thumbnailUrl = thumbnailUrl;
this.uploader = uploader;
this.streamCount = streamCount;
}
@Ignore
public PlaylistRemoteEntity(final PlaylistInfo info) {
this(info.getServiceId(), info.getName(), info.getUrl(),
info.getThumbnailUrl() == null
? info.getUploaderAvatarUrl() : info.getThumbnailUrl(),
info.getUploaderName(), info.getStreamCount());
}
@Ignore
public boolean isIdenticalTo(final PlaylistInfo info) {
/*
* Returns boolean comparing the online playlist and the local copy.
* (False if info changed such as playlist name or track count)
*/
return getServiceId() == info.getServiceId()
&& getStreamCount() == info.getStreamCount()
&& TextUtils.equals(getName(), info.getName())
&& TextUtils.equals(getUrl(), info.getUrl())
&& TextUtils.equals(getThumbnailUrl(), info.getThumbnailUrl())
&& TextUtils.equals(getUploader(), info.getUploaderName());
}
public long getUid() {
return uid;
}
public void setUid(final long uid) {
this.uid = uid;
}
public int getServiceId() {
return serviceId;
}
public void setServiceId(final int serviceId) {
this.serviceId = serviceId;
}
public String getName() {
return name;
}
public void setName(final String name) {
this.name = name;
}
public String getThumbnailUrl() {
return thumbnailUrl;
}
public void setThumbnailUrl(final String thumbnailUrl) {
this.thumbnailUrl = thumbnailUrl;
}
public String getUrl() {
return url;
}
public void setUrl(final String url) {
this.url = url;
}
public String getUploader() {
return uploader;
}
public void setUploader(final String uploader) {
this.uploader = uploader;
}
public Long getStreamCount() {
return streamCount;
}
public void setStreamCount(final Long streamCount) {
this.streamCount = streamCount;
}
@Override
public LocalItemType getLocalItemType() {
return PLAYLIST_REMOTE_ITEM;
}
@Override
public String getOrderingName() {
return name;
}
}

View File

@@ -0,0 +1,76 @@
package org.schabi.newpipe.database.playlist.model;
import androidx.room.ColumnInfo;
import androidx.room.Entity;
import androidx.room.ForeignKey;
import androidx.room.Index;
import org.schabi.newpipe.database.stream.model.StreamEntity;
import static androidx.room.ForeignKey.CASCADE;
import static org.schabi.newpipe.database.playlist.model.PlaylistStreamEntity.JOIN_INDEX;
import static org.schabi.newpipe.database.playlist.model.PlaylistStreamEntity.JOIN_PLAYLIST_ID;
import static org.schabi.newpipe.database.playlist.model.PlaylistStreamEntity.JOIN_STREAM_ID;
import static org.schabi.newpipe.database.playlist.model.PlaylistStreamEntity.PLAYLIST_STREAM_JOIN_TABLE;
@Entity(tableName = PLAYLIST_STREAM_JOIN_TABLE,
primaryKeys = {JOIN_PLAYLIST_ID, JOIN_INDEX},
indices = {
@Index(value = {JOIN_PLAYLIST_ID, JOIN_INDEX}, unique = true),
@Index(value = {JOIN_STREAM_ID})
},
foreignKeys = {
@ForeignKey(entity = PlaylistEntity.class,
parentColumns = PlaylistEntity.PLAYLIST_ID,
childColumns = JOIN_PLAYLIST_ID,
onDelete = CASCADE, onUpdate = CASCADE, deferred = true),
@ForeignKey(entity = StreamEntity.class,
parentColumns = StreamEntity.STREAM_ID,
childColumns = JOIN_STREAM_ID,
onDelete = CASCADE, onUpdate = CASCADE, deferred = true)
})
public class PlaylistStreamEntity {
public static final String PLAYLIST_STREAM_JOIN_TABLE = "playlist_stream_join";
public static final String JOIN_PLAYLIST_ID = "playlist_id";
public static final String JOIN_STREAM_ID = "stream_id";
public static final String JOIN_INDEX = "join_index";
@ColumnInfo(name = JOIN_PLAYLIST_ID)
private long playlistUid;
@ColumnInfo(name = JOIN_STREAM_ID)
private long streamUid;
@ColumnInfo(name = JOIN_INDEX)
private int index;
public PlaylistStreamEntity(final long playlistUid, final long streamUid, final int index) {
this.playlistUid = playlistUid;
this.streamUid = streamUid;
this.index = index;
}
public long getPlaylistUid() {
return playlistUid;
}
public void setPlaylistUid(final long playlistUid) {
this.playlistUid = playlistUid;
}
public long getStreamUid() {
return streamUid;
}
public void setStreamUid(final long streamUid) {
this.streamUid = streamUid;
}
public int getIndex() {
return index;
}
public void setIndex(final int index) {
this.index = index;
}
}

View File

@@ -0,0 +1,46 @@
package org.schabi.newpipe.database.stream
import androidx.room.ColumnInfo
import androidx.room.Embedded
import org.schabi.newpipe.database.LocalItem
import org.schabi.newpipe.database.history.model.StreamHistoryEntity
import org.schabi.newpipe.database.stream.model.StreamEntity
import org.schabi.newpipe.database.stream.model.StreamStateEntity.STREAM_PROGRESS_MILLIS
import org.schabi.newpipe.extractor.stream.StreamInfoItem
import java.time.OffsetDateTime
class StreamStatisticsEntry(
@Embedded
val streamEntity: StreamEntity,
@ColumnInfo(name = STREAM_PROGRESS_MILLIS, defaultValue = "0")
val progressMillis: Long,
@ColumnInfo(name = StreamHistoryEntity.JOIN_STREAM_ID)
val streamId: Long,
@ColumnInfo(name = STREAM_LATEST_DATE)
val latestAccessDate: OffsetDateTime,
@ColumnInfo(name = STREAM_WATCH_COUNT)
val watchCount: Long
) : LocalItem {
fun toStreamInfoItem(): StreamInfoItem {
val item = StreamInfoItem(streamEntity.serviceId, streamEntity.url, streamEntity.title, streamEntity.streamType)
item.duration = streamEntity.duration
item.uploaderName = streamEntity.uploader
item.uploaderUrl = streamEntity.uploaderUrl
item.thumbnailUrl = streamEntity.thumbnailUrl
return item
}
override fun getLocalItemType(): LocalItem.LocalItemType {
return LocalItem.LocalItemType.STATISTIC_STREAM_ITEM
}
companion object {
const val STREAM_LATEST_DATE = "latestAccess"
const val STREAM_WATCH_COUNT = "watchCount"
}
}

View File

@@ -0,0 +1,14 @@
package org.schabi.newpipe.database.stream
import androidx.room.ColumnInfo
import androidx.room.Embedded
import org.schabi.newpipe.database.stream.model.StreamEntity
import org.schabi.newpipe.database.stream.model.StreamStateEntity
data class StreamWithState(
@Embedded
val stream: StreamEntity,
@ColumnInfo(name = StreamStateEntity.STREAM_PROGRESS_MILLIS)
val stateProgressMillis: Long?
)

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