Commit graph

8425 commits

Author SHA1 Message Date
litetex
37517c7dd1
Merge pull request #7570 from TeamNewPipe/improvement/infoItemDialogBuilder
Refactor generating InfoItemDialog's
2022-02-26 16:18:39 +01:00
litetex
a4dee77728
Merge pull request #7782 from Atemu/apple-silicon
Fix build on Apple Silicon macs
2022-02-26 16:17:02 +01:00
litetex
a95318a4f9
Merge pull request #7349 from TiA4f8R/seamless-transition-players
Add seamless transition between background and video players when putting the app in background (for video-only streams and audio-only streams only)
2022-02-26 16:16:18 +01:00
litetex
46fad32837
Merge pull request #7905 from Stypox/fix-room-unused-columns
Fix Room warning about unused columns during build
2022-02-26 16:15:01 +01:00
litetex
5be40f62f3
Merge pull request #7904 from Stypox/fix-raw-use-of-parameterized-class
Solve Java warning "Raw use of parameterized class"
2022-02-26 16:14:23 +01:00
TacoTheDank
1a000fecd5 Replace CircleImageView with ShapeableImageView 2022-02-23 15:11:25 -05:00
TobiGr
d3bc184971 Clarify that only StramInfoItems are accepted by the builder 2022-02-21 21:50:30 +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
TobiGr
ee477b25e5 Move StreamDialogEntry.openChannelFragment to NavigationHelper 2022-02-20 20:26:27 +01:00
TobiGr
277f21d5b2 Move Classes related to InfoItemDIalog into own package 2022-02-20 20:17:04 +01:00
TobiGr
a7d5d9a1d6 Fix rebase 2022-02-20 20:17:04 +01:00
TobiGr
fd0d76e866 Apply feedback
Return this in InfoIrtemDialog.Builder methoods.
Move null checks for InfoIrtemDialog.Builder into constructor.
Fix and add some more docs.
2022-02-20 20:17:04 +01:00
TobiGr
646d8f431c Use identical method names for creating the InfoItemDialog in Fragments 2022-02-20 20:17:04 +01:00
TobiGr
ef0d562702 Use ErrorActivity to notifiy about errors occourred while loading channel details 2022-02-20 20:17:04 +01:00
TobiGr
962fe9c36d Use Context instead of Activity
Improve docs
2022-02-20 20:17:04 +01:00
TobiGr
50e2385e82 Add default entries automatically 2022-02-20 20:17:04 +01:00
TobiGr
1cd3ef5dba Extract entries into beginning and end category 2022-02-20 20:17:04 +01:00
TobiGr
80157fc1be Refactor generating InfoItemDialog's
This commit refactors the way `InfoItemDialog`s are generated. This is necessary because the old way used  the `StreamDialogEntry` enum for most of the dialogs' content generation process. This required static variables and methods to store the entries which are used for the dialog to be build (See e.g.`enabledEntries` and methods like `generateCommands()`). In other words, `StreamDialogEntry` wasn't an enumeration anymore.

To address this issue, a `Builder` is introduced for the `InfoItemDialog`'s genration. The builder also comes with some default entries and and a specific order. Both can be used, but are not enforced. 

A second problem that introduced a structure which was atypical for an enumeration was the usage of non-final attributes within `StreamDialogEntry` instances. These were needed, because the default actions needed to overriden in some cases.

To address this problem, the `StreamDialogEntry` enumeration was renamed to `StreamDialogDefaultEntry` and a new `StreamDialogEntry` class is used instead.
2022-02-20 20:17:04 +01:00
TiA4f8R
c5fc37150d
Update JavaDoc of VideoPlaybackResolver.getStreamSourceType() 2022-02-20 19:40:03 +01:00
TiA4f8R
8932adbf88
Apply suggested change and add a note about data consumption for HLS streams in background
ExoPlayer right now fetches HLS video tracks even if you disable them (with setRendererDisabled or setSelectionOverride).
See issue 9282 of ExoPlayer's issue tracker for more information.
2022-02-20 19:40:03 +01:00
TiA4f8R
d27d36b76a
Adress requested changes 2022-02-20 19:40:02 +01:00
TiA4f8R
ba804c7d4a
Use a enum to understand better what source type is used.
This commit also allows a seamless transition for livestreams.
2022-02-20 19:40:02 +01:00
TiA4f8R
3db37166b4
Apply suggestion 2022-02-20 19:40:02 +01:00
TiA4f8R
bf02a569ee
Fix a NullPointerException when the current metadata is null
Reload the play queue manager and set the recovery in this case, like on the current behavior (without this PR).
2022-02-20 19:40:02 +01:00
litetex
015982bed4
Extended Tests for ListHelper#getSortedStreamVideosList
* Fixed expected and actual results. They were reversed...
* Added new method ``getSortedStreamVideosListWithPreferVideoOnlyStreamsTest``
2022-02-20 19:40:01 +01:00
TiA4f8R
a1c5c94753
Add some comments and a JavaDoc 2022-02-20 19:40:01 +01:00
litetex
7a356412d5
Fixed typo 2022-02-20 19:40:01 +01:00
litetex
bb27bf9d34
Resolver: Cleaned up `isVideoStreamVideoOnly`
* Replaced by ``wasLastResolvedVideoAndAudioSeparated``
* Uses an ``Optional`` instead (we can't determine if the video and audio streams are separated when we did not fetch it)
2022-02-20 19:38:41 +01:00
litetex
a489f40b76
Fixed checkstyle problems
Unable to compile!

* Cleaned up ``getMostCompactAudioIndex`` and ``getHighestQualityAudioIndex`` into a new method ``getAudioIndexByHighestRank``
* Removed unreadable code and use Java Streams API
* Tests work as expected
2022-02-20 19:38:40 +01:00
litetex
8ed87e7fbb
Improved `ListHelper#getSortedStreamVideosList` 2022-02-20 19:38:40 +01:00
TiA4f8R
cc96ac173c
Apply suggestion 2022-02-20 19:38:40 +01:00
TiA4f8R
79f8270c35
Prefer video-only streams to video streams
Prefering video-only streams to video streams for our player will allow us to make seamless transitions on 360 and 720p qualities on YouTube.
External players and the downloader are not affected by this change.
2022-02-20 19:38:40 +01:00
TiA4f8R
336f9f3813
Add seamless transition between background player and video players (for video-only and audio-only streams only)
This is only available when playing video-only streams (and when there is no audio stream and only video streams with audio) and audio-only streams.
For more details about which conditions are required to get this transition, look at the changes in the useVideoSource(boolean) method of the Player class.
2022-02-20 19:38:39 +01:00
Stypox
4789cf6c31
Use Java streams in AbstractInfoPlayQueue 2022-02-19 18:01:16 +01:00
Stypox
5f1f52b6ce
Remove useless constructor in *PlayQueue
Also removes unused <> parameter in AbstractInfoPlayQueue and deduplicates constructor code in extending classes
2022-02-19 17:49:43 +01:00
Stypox
62abfa96b8
Solve Java warning "Raw use of parameterized class" 2022-02-19 17:30:38 +01:00
Stypox
a8a96b7631
Fix Room warning about unused columns during build
The warning was: "The query returns some columns [...] which are not used by ..."
2022-02-19 17:13:57 +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
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
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