Commit graph

2999 commits

Author SHA1 Message Date
TacoTheDank
f77adbceae Update ACRA library 2022-02-02 13:12:29 -05:00
TiA4f8R
fda5eb6182 Add JavaDoc for PlayerDataSource.PLAYLIST_STUCK_TARGET_DURATION_COEFFICIENT 2022-01-30 20:42:02 +01:00
TiA4f8R
a8c06bb435 Apply suggested changes and remove the CustomHlsPlaylistTracker class 2022-01-30 20:42:02 +01:00
TiA4f8R
79ea722908 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
a03872cb51 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
76fdba9c9d 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
litetex
4bfcf47a81 Merge pull request #7586 from litetex/add-preference-search
Made preferences searchable
2022-01-30 17:08:04 +01:00
litetex
7077184903 Merge pull request #4833 from vkay94/youtube-rewind-forward
YouTube's Fast Forward/Rewind behavior
2022-01-30 17:07:15 +01:00
Stypox
d5d4614df1 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
e76909f344 Code cleanup
Co-authored-by: Stypox <stypox@pm.me>
2022-01-25 20:47:53 +01:00
litetex
3e23aa0071 Fixed "Changing the seeks duration does not update the displayed seconds" 2022-01-25 20:44:49 +01:00
ktprograms
08cb92b40d 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
e83d964fca 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
8ab45acf82 Use view binding inside `PreferenceViewHolder` 2022-01-24 21:08:52 +01:00
litetex
a42886516b Use ViewBinding 2022-01-24 21:08:52 +01:00
litetex
36524475b8 Fixed imports 2022-01-24 21:08:51 +01:00
litetex
5453617c81 Removed breadcrumbs customization 2022-01-24 21:08:51 +01:00
litetex
ef4bb60bea Code improvements
* Renamed methods so that they are more understandable
* Removed ``SearchIndexItem``
2022-01-24 21:08:50 +01:00
litetex
07d8adf7e6 Improved doc 2022-01-24 21:08:50 +01:00
litetex
87b5ae3f5c Moved `FuzzyScore` to original Apache package 2022-01-24 21:08:49 +01:00
litetex
64447e01ec Improved documentation 2022-01-24 21:08:48 +01:00
litetex
5186b1f9a8 Fixed problems with Android's lifecycle (restore) 2022-01-24 21:08:48 +01:00
litetex
54f1fbbe32 Fixed variable name 2022-01-24 21:08:47 +01:00
litetex
31a9718c50 Removed unused import 2022-01-24 21:08:46 +01:00
litetex
bbab3a45cc Fixed some sonar warnings 2022-01-24 21:08:45 +01:00
litetex
d7b316863a 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
c62c8c077d Code rework 2022-01-24 21:08:44 +01:00
litetex
19adb84d7d 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
5cd3fcb269 Added fuzzy searching + Some minor code refactoring 2022-01-24 21:08:43 +01:00
litetex
499e222822 Fine tuning 2022-01-24 21:08:42 +01:00
litetex
3a26dee3f3 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
9af91a7f44 Applied code changes for preference search framework 2022-01-24 21:08:41 +01:00
litetex
ab9f6a816d Added preference search "framework" 2022-01-24 21:08:40 +01:00
litetex
0fedfce411 Code cleanup 2022-01-24 21:08:39 +01:00
litetex
d094b4f11a Abstracted methods for the Android keyboard 2022-01-24 21:08:39 +01:00
litetex
27a58f9cd9 Added credit to the project which inspired the preference search 2022-01-24 21:08:38 +01:00
litetex
4bbc0e413d Removed dead code 2022-01-24 21:08:38 +01:00
litetex
52342d7358 Simplified toast showing behavior
after feedback from the review
2022-01-23 15:34:11 +01:00
litetex
34848c7cc3 Revert "Merge pull request #7568 from vhouriet/vhouriet_feature_already-playing-in-backgroud"
This reverts commit 4a12bedce8, reversing
changes made to 4f06d935cd.
2022-01-23 15:34:11 +01:00
litetex
b291b5ca3c Improved docs 2022-01-21 22:49:25 +01:00
litetex
35abba3eb5 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
a0dda12849 Code cleanup 2022-01-21 22:49:25 +01:00
litetex
4651c242cc Fixed SonarLint problems
* Removed alphaRelativeDuration as there is no use for it
2022-01-21 22:49:24 +01:00
litetex
1921583ff0 Fixed naming 2022-01-21 22:49:24 +01:00
litetex
f6e58104bd Removed related import 2022-01-21 22:49:24 +01:00
litetex
bcc441289b Removed unused field 2022-01-21 22:49:24 +01:00
litetex
5fa27439e3 Respect disabled animations 2022-01-21 22:49:24 +01:00
litetex
f0de6c73b7 Removed all animations to be consistent with the current behavior 2022-01-21 22:49:23 +01:00
litetex
1fb7f36897 Refactored code 2022-01-21 22:49:23 +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