Commit graph

682 commits

Author SHA1 Message Date
Stypox
39753fa0fb Align playlist thumbnail to left for more visibility 2022-07-04 22:37:27 +02:00
Stypox
49844ddcf0 Make thumbnails' scaleType fitCenter
Otherwise e.g. shorts thumbnails would be cropped too much
2022-07-04 21:43:31 +02:00
Stypox
3f93974020 Improve download_dialog.xml unsupported streams notice 2022-06-18 19:16:36 +02:00
AudricV
f7d2975ad1 Add support of other delivery methods than progressive HTTP (in the player only)
Detailed changes:

- External players:

  - Add a message instruction about stream selection;
  - Add a message when there is no stream available for external players;
  - Return now HLS, DASH and SmoothStreaming URL contents, in addition to progressive HTTP ones.

- Player:

  - Support DASH, HLS and SmoothStreaming streams for videos, whether they are content URLs or the manifests themselves, in addition to progressive HTTP ones;
  - Use a custom HttpDataSource to play YouTube contents, based of ExoPlayer's default one, which allows better spoofing of official clients (custom user-agent and headers (depending of the client used), use of range and rn (set dynamically by the DataSource) parameters);
  - Fetch YouTube progressive contents as DASH streams, like official clients, support fully playback of livestreams which have ended recently and OTF streams;
  - Use ExoPlayer's default retries count for contents on non-fatal errors (instead of Integer.MAX_VALUE for non-live contents and 5 for live contents).

- Download dialog:

  - Add message about support of progressive HTTP streams only for downloading;
  - Remove several duplicated code and update relevant usages;
  - Support downloading of contents with an unknown media format.

- ListHelper:

  - Catch NumberFormatException when trying to compare two video streams between them.

- Tests:

  - Update ListHelperTest and StreamItemAdapterTest to fix breaking changes in the extractor.

- Other places:

  - Fixes deprecation of changes made in the extractor;
  - Improve some code related to the files changed.

- Issues fixed and/or improved with the changes:

  - Seeking of PeerTube HLS streams (the duration shown was the one from the stream duration and not the one parsed, incomplete because HLS streams are fragmented MP4s with multiple sidx boxes, for which seeking is not supported by ExoPlayer) (the app now uses the HLS manifest returned for each quality, in the master playlist (not fetched and computed by the extractor));
  - Crash when loading PeerTube streams with a separated audio;
  - Lack of some streams on some YouTube videos (OTF streams);
  - Loading times of YouTube streams, after a quality change or a playback start;
  - View count of YouTube ended livestreams interpreted as watching count (this type of streams is not interpreted anymore as livestreams);
  - Watchable time of YouTube ended livestreams;
  - Playback of SoundCloud HLS-only tracks (which cannot be downloaded anymore because the workaround which was used is being removed by SoundCloud, so it has been removed from the extractor).
2022-06-17 22:00:22 +02:00
litetex
481152acdd Bonus fix: Made `single_choice_dialog_view` scrollable + use viewbinding 2022-05-28 00:46:28 +02:00
litetex
4a5e5e1b87 Use material icon 2022-05-07 15:08:37 +02:00
litetex
0dee6f9fd5 Converted placeholders to svg
* Required for SubscriptionFragment (otherwise the PopUp-menu uses half of the screen)
* Size reduction
* Fixed/Improved some images:
  * Bandcamp: Was facing in the wrong direction and used an incorrect logo
  * Media CCC: Update logo
  * YT: Added NewPipe logo so that it's not just a rectangle
2022-05-07 15:08:35 +02:00
litetex
e8763e7017 Moved import/export options to menu 2022-05-07 15:08:34 +02:00
litetex
7723a51c9c Reworked switching to semitones
Using an expandable Tab-like component instead of a combobox
2022-04-16 21:21:51 +02:00
litetex
0cce8dd280 Fine tuned dialog 2022-04-16 21:21:49 +02:00
litetex
df85b97e23 Fine tuned dialog (no scrollers in fullscreen on 5in phone) 2022-04-16 21:21:48 +02:00
litetex
4dd0954fd3 Shrunk dialog a bit 2022-04-16 21:21:47 +02:00
litetex
e165103a9e Rework dialog
* De-Duplicated some fields
* Use a container for the pitch controls
* Name pitch related elements correctly
2022-04-16 21:21:46 +02:00
litetex
8582928882 Remove invalid parameters 2022-04-16 21:21:46 +02:00
litetex
7386374034 Remove redundant attributes 2022-04-16 21:21:46 +02:00
Stypox
6ead95b5d2 Merge branch 'dev' into pr2335 2022-03-19 22:29:10 +01:00
litetex
71860f04eb Made `onClick` less (cognitive) complex 2022-03-16 15:52:30 +01:00
litetex
70a5f1ab0e Merge pull request #7518 from mauriciocolli/remove-icon-duplicates
Remove icon duplicates and fix some theming issues
2022-03-15 21:51:04 +01:00
litetex
ee55260c82 Merge pull request #7963 from Stypox/android-tv-player
Improve player UI and navigability for Android TV
2022-03-15 21:41:48 +01:00
ktprograms
71289e6ea4 Implement appending queue to playlist in main player (#8008)
This also allows saving a remote playlist locally.

- Add an "Add to playlist" button to the queue menu in the Player.
- Move the appendAllToPlaylist functionality from PlayQueueActivity to
Player.

Fixes: #8004
2022-03-15 18:32:39 +01:00
Stypox
86fcceacab Fix playlist item not properly themed 2022-03-02 15:09:42 +01:00
Mauricio Colli
7baa4420ef Fix duplication of some icons used by the player 2022-03-02 12:33:01 +01:00
Mauricio Colli
a1b683c27f Add missing tint on drawer image view 2022-03-02 12:31:41 +01:00
Stypox
797140329b Fix player queue/segments list buttons not focusable with DPAD
Now the in-player play queue and the segments list are closeable
2022-02-27 18:49:16 +01:00
Stypox
175aa0d6b1 Merge pull request #7894 from Stypox/delete-large-land-player
Remove large-land player layout: not actually used
2022-02-27 18:46:51 +01:00
Stypox
1923187d4c Merge pull request #7565 from haklc/dev
Change pitch by semitones
2022-02-27 09:58:38 +01:00
TacoTheDank
dcb1ba4a39 Replace CircleImageView with ShapeableImageView 2022-02-23 15:11:25 -05:00
Stypox
51917947a3 Remove useless title&channel text view focusability 2022-02-23 10:13:03 +01:00
Stypox
f830b214b7 Automatically rearrange code in player.xml 2022-02-23 09:16:25 +01:00
Stypox
61307ad4f3 Restore focus handling for TVs in player.xml 2022-02-23 09:15:11 +01:00
TobiGr
c75babedb8 Merge branch 'dev' into feature/notifications 2022-02-19 12:34:44 +01:00
martin
4a43eeb168 Addressing layout comments 2022-02-17 10:28:50 +01:00
martin
5b40f368c3 Addressed comment in PR 2022-02-04 16:15:55 +01:00
martin
18528c8efa fetch and merge 2022-02-04 15:34:00 +01:00
litetex
4bfcf47a81 Merge pull request #7586 from litetex/add-preference-search
Made preferences searchable
2022-01-30 17:08:04 +01:00
litetex
a42886516b Use ViewBinding 2022-01-24 21:08:52 +01:00
litetex
73d3fd9ae1 Added resource files
Forgot to commit them before...
2022-01-24 21:08:41 +01:00
litetex
0fedfce411 Code cleanup 2022-01-24 21:08:39 +01:00
Stypox
73182bf375 Merge branch 'dev' into pr2335 2022-01-24 10:25:07 +01:00
litetex
f56439e568 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
Stypox
39f415f741 Small improvements to player 2022-01-21 22:49:22 +01:00
Stypox
da7f1eb681 Fix buttons' selectable item background not working in player 2022-01-21 22:49:22 +01:00
Stypox
5e19e5cbc6 Fix seek triangles not visible on API 19 2022-01-21 22:49:22 +01:00
vkay94
de2e6a2d8c SeekOverlay: Switch to merge for SecondsView and other adjustments 2022-01-21 22:49:21 +01:00
vkay94
6252704bbc SeekOverlay: Add seek overlay logic to player 2022-01-21 22:49:21 +01:00
vkay94
f7e7ebfbe0 SeekOverlay: Add Views 2022-01-21 22:49:21 +01:00
litetex
cf2288403b Removed "list_thumbnail_view_description"
due to accessibility problems
2022-01-04 16:00:01 +01:00
Stypox
c70713a925 Merge branch 'dev' into pr2335 2021-12-31 19:20:18 +01:00
David Kramer
9095469b4e Added ability to see pinned comment 2021-12-24 11:29:34 -06:00
martin
aef7a493c9 Change pitch by semitones 2021-12-21 18:17:48 +01:00