Commit graph

9941 commits

Author SHA1 Message Date
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
Stypox
d5cfcb28fc
Merge branch 'dev' into pr2335 2022-01-24 10:25:07 +01:00
Stypox
40ea51e622
Add more checking frequencies, use DurationListPreference 2022-01-24 10:12:25 +01:00