Commit Graph

8359 Commits

Author SHA1 Message Date
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
litetex b0e4f947ea
Fixed merge conflict
Co-authored-by: Mohammed Anas <triallax@tutanota.com>
2022-02-03 21:06:25 +01:00
litetex 91bcd8766a Merge remote-tracking branch 'upstream/master' into experimental 2022-02-01 22:05:19 +01: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
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
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 `@Nullable`s
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
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