TacoTheDank
3a419126f3
Use simpler DrawerLayout method
2022-04-14 16:50:28 -04:00
Robin
3fb5073feb
Merge pull request #8150 from karyogamy/caption-fix
...
Fix caption auto-selection not reflected in player GUI
2022-04-14 10:10:53 +02:00
karyogamy
9818f179c4
fixed: auto-generated captions to have lower selection priority as manual captions.
2022-04-11 22:06:43 -04:00
litetex
74c9a3dc50
Merge pull request #8146 from GGAutomaton/fix-7825
...
Use newInstance in PlaylistDialog
2022-04-10 15:04:12 +02:00
karyogamy
55fc3fc177
added: caption language stem utility to support language variant conversion between videos.
2022-04-08 18:21:30 -04:00
karyogamy
724eac9168
fixed: player caption auto-selection not reflected in gui.
...
fixed: player caption selection skipping on multiple language variants.
2022-04-07 20:02:56 -04:00
Robin
a528cee5f4
Merge pull request #8127 from litetex/fix-SparseItemUtil
...
Fix `SparseItemUtil` so we don't enqueue twice
2022-04-07 17:21:18 +02:00
GGAutomaton
2e771cd65a
Fix crash when rotating device on unsupported channels
2022-04-04 23:58:39 +08:00
GGAutomaton
638f227b51
Use newInstance in PlaylistDialog
2022-04-04 13:50:27 +08:00
TiA4f8R
3261855b8f
Fix fetch of video streams (when switching between tracks in a play queue) and subtitles when using a seamless transition between background and video players
...
Make the use of the new method setDisabledTrackTypes in DefaultTrackSelector.ParametersBuilder, which disables selection of tracks type for every TrackGroup instead of the current group, which is the current behavior.
This removes the use of the deprecated of setSelectionOverride method.
Note that for progressive media, the content is still fetched, but only for initialization purposes (so requests are pretty small, most of times with a few kilobytes size).
2022-04-03 14:07:56 +02:00
litetex
6b1a6d264b
Better naming
2022-04-02 15:44:06 +02:00
Mauricio Colli
99d62381b9
Fix download dialog selector layout and add some tests
2022-04-02 15:25:08 +02:00
litetex
860d28e16c
Merge pull request #8020 from karyogamy/exo-update-v17
...
ExoPlayer 2.17.1 update and MediaSource management rework
2022-04-02 14:53:58 +02:00
litetex
b5fa93eda0
Fix SparseItemUtil
loading
...
* Added a missing `return` statement
* `fetchUploaderUrlIfSparse` now has a similar layout to `fetchItemInfoIfSparse`
2022-03-30 21:11:15 +02:00
karyogamy
a00bc95acc
updated: source loading error for FailedMediaSource to wait for 3 seconds before allowing retry.
...
updated: minor style fixes.
2022-03-27 13:24:37 -04:00
karyogamy
d289dc8a53
updated: onPlayerError to not catch unspecified source errors so notifications are created.
...
updated: Throwable usage to Exceptions.
updated: minor styles and documentations.
2022-03-26 20:17:52 -04:00
litetex
102c05e927
FIx breaking changes
2022-03-26 21:21:07 +01:00
litetex
1ecb0ca081
Merge pull request #7977 from Stypox/error-notification-kitkat
...
Fix error notification on KitKat
2022-03-25 20:00:48 +01:00
karyogamy
b81eb35f3d
added: documentations on lifecycles for FailedMediaSource and LoadedMediaSource.
...
fixed: onPlaybackSynchronize to rewind when not playing, which was incorrectly removed in previous commit.
fixed: sonar and checkstyle issues.
2022-03-19 22:40:32 -04:00
Stypox
6e8c9f92cb
Merge branch 'dev' into pr2335
2022-03-19 22:29:10 +01:00
Stypox
3d9d25df52
Remove backoff criteria: it never kicked in
...
It never kicked in since we are never returning a retry() Result, but always either success() or failure() (see createWork() function). Also, there is already a default (exponential backoff starting from 30 seconds), so no need to override it.
2022-03-19 21:55:00 +01:00
karyogamy
69646e5b5d
added: documentations to MediaItemTags and Player.
...
fixed: checkStyle failures.
2022-03-19 15:56:45 -04:00
karyogamy
4e459b3383
updated: ExoPlayer to 2.17.1.
...
added: MediaItemTag for ManagedMediaSources.
added: silent track for FailedMediaSource.
added: keyframe fast forward at initial playback buffer.
added: error notification on silently skipped streams.
2022-03-19 15:56:45 -04:00
litetex
70d9a77e9b
Merge pull request #8073 from Stypox/bump-checkstyle
...
Update checkstyle to 10.0 and fix various related issues
2022-03-19 14:37:52 +01:00
litetex
6d2b5d976d
Merge pull request #8068 from TacoTheDank/lintCleaning
...
Some lint cleaning
2022-03-19 14:37:34 +01:00
litetex
57231382a6
Merge pull request #8066 from TacoTheDank/simpleSeekbarChange
...
Create stub implementation for OnSeekBarChangeListener
2022-03-19 14:37:10 +01:00
Stypox
53f8415e9b
Use @SuppressWarnings for checkstyle suppressions & warnings
...
It's better to use @SuppressWarnings instead of the suppressions file, so that the warning suppression is at the place where it acts.
2022-03-18 23:57:11 +01:00
TacoTheDank
4dafe424cf
De-duplicate showLicense methods
2022-03-18 13:48:07 -04:00
TacoTheDank
bc4a0a575c
Clean up the about package a bit
2022-03-18 13:18:23 -04:00
TacoTheDank
cf213affa2
Annotate some NonNulls, some lint cleaning
2022-03-18 13:15:44 -04:00
TacoTheDank
979a320347
Delete some unused code
2022-03-17 23:26:34 -04:00
TacoTheDank
20bddd8e47
Use Animator.addListener() KTX extension
2022-03-17 22:01:51 -04:00
TacoTheDank
86f335b01f
Create stub implementation for OnSeekBarChangeListener
2022-03-17 21:49:04 -04:00
litetex
67651354d5
Fixed conflicts
2022-03-16 15:58:46 +01:00
litetex
cefb52471f
Better naming
2022-03-16 15:52:30 +01:00
litetex
ee5e0e13b7
Made `onClick
` less (cognitive) complex
2022-03-16 15:52:30 +01:00
litetex
30a8f25d52
Refactored code
2022-03-16 15:47:04 +01:00
XiangRongLin
d348c2099e
stupid checkstyle
2022-03-16 15:47:04 +01:00
XiangRongLin
6a400dda7b
delete unused methods
2022-03-16 15:47:03 +01:00
XiangRongLin
080c4ba680
Extract 2 view click listeners from Player
2022-03-16 15:47:03 +01:00
litetex
37aca3f1c7
Merge pull request #7981 from Stypox/sparse-items-deduplic
...
Deduplicate code for fetching stream info when sparse
2022-03-16 15:18:10 +01:00
litetex
0158f1363b
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
f47f2d13fa
Merge pull request #5878 from SpinHit/spinhit/addingDeleteConfirmation
...
Add a confirmation button when deleting all files in downloader
2022-03-15 21:49:46 +01:00
litetex
6fe6f4b3e0
Merge pull request #7978 from TacoTheDank/bumpSomeLibraries
...
Update some AndroidX libraries
2022-03-15 21:48:49 +01:00
litetex
00e4631b3b
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
litetex
2e7503ff78
Merge branch 'dev' into bumpSomeLibraries
2022-03-15 21:34:41 +01:00
ktprograms
02fa5aa0fa
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
9b4a67276a
Fix comments and rearrange code
2022-03-15 15:20:25 +01:00
Stypox
b607a09125
Merge pull request #7975 from TacoTheDank/updateCheckerRewrite
...
Migrate app update checker to AndroidX Work
2022-03-15 14:20:40 +01:00
Stypox
af89f05011
Merge pull request #7341 from ktprograms/external-play-hide-controls
...
Fix player controls not hiding if resumed from media button
2022-03-15 13:43:35 +01:00
TacoTheDank
b8b97fa6d4
Convert NewVersionWorker to Kotlin
2022-03-03 13:34:35 -05:00
TacoTheDank
71f141f3f8
Migrate CheckForNewAppVersion to Worker (and rename it)
2022-03-03 13:26:57 -05:00
TacoTheDank
81fef1be19
Migrate CheckForNewAppVersion to JobIntentService
2022-03-03 13:24:12 -05:00
TacoTheDank
0f175de599
Kotlin-ize ReleaseVersionUtil, merge with NewVersionManager
2022-03-03 13:21:50 -05:00
TacoTheDank
1602befc51
Move utility methods out of CheckForNewAppVersion
2022-03-03 13:19:06 -05:00
Stypox
162a838afc
Deduplicate code for fetching stream info when sparse
...
Fixes #7941
2022-03-03 16:54:40 +01:00
Stypox
e588abd4e7
Restore handling SPACE as play-pause only in fullscreen
...
When not in fullscreen SPACE should be not handled by the player, and hence result in a scroll down
2022-03-03 10:14:58 +01:00
TacoTheDank
f85b206bdf
Update some AndroidX libraries
2022-03-02 11:01:01 -05:00
Stypox
2a9733fbaf
Fix error notification on KitKat
...
It was crashing due to a drawable icon being used; also use NotificationManagerCompat
2022-03-02 14:14:40 +01:00
Mauricio Colli
96185faca6
Remove manual menu creation from some fragments
...
Doing this programmatically is just a no-go when themes are being set
in some other places (the toolbar is using a custom theme, in this
case), so, instead of hunting down the proper theme, just let the
system do its work.
2022-03-02 12:37:44 +01:00
Stypox
5f16e4ef87
Replace R.string.yes with R.string.ok
...
Android doesn't use yes/no but ok/cancel usually, so this should be done here, too
2022-03-02 12:21:25 +01:00
Spinhit
483dc06ecb
Add confirmation button before deleting all files.
...
Co-authored-by: TiA4f8R <74829229+TiA4f8R@users.noreply.github.com>
2022-03-02 11:31:52 +01:00
karyogamy
ab45efceab
- added: variable load check interval for progressive stream.
...
- added: preferences to allow user setting of above.
2022-03-01 20:14:53 +01:00
kt programs
62c0e6605c
Remember adjustment step size for playback controls (speed and pitch)
...
- Add adjustment_step_key to settings_keys.xml to be used when
saving/loading the step size.
- Remove the global stepSize variable and the code that saves it to
outState/loads it from savedInstanceState because it's now saved to
Shared Preferences.
- Move initially setting step size to setupStepSizeSelector to be
consistent with the other view setup methods, using the value loaded
from Shared Preferences.
- Save the step size to Shared Preferences inside setStepSize.
Fixes : #7031
2022-03-01 16:27:20 +08:00
litetex
f1c6988552
Merge pull request #7952 from TacoTheDank/bumpKotlin
...
Update Kotlin to 1.6.10
2022-02-28 19:42:38 +01:00
Stypox
146062d921
Fix player pop-ups not giving feedback on touch/focus
2022-02-27 18:49:16 +01:00
Stypox
96c4201929
Fix controls shown below queue/segments list when using DPAD
...
Also invert if
2022-02-27 18:49:16 +01:00
Stypox
a0bbcd2fee
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
3f7ba2e3d1
Merge pull request #7565 from haklc/dev
...
Change pitch by semitones
2022-02-27 09:58:38 +01:00
TacoTheDank
678edb1846
Update ktlint to 0.44.0
2022-02-26 16:08:10 -05:00
litetex
ccc3d38c45
Merge pull request #7910 from avently/equalscheck
...
Better equals check
2022-02-26 16:20:27 +01:00
litetex
37517c7dd1
Merge pull request #7570 from TeamNewPipe/improvement/infoItemDialogBuilder
...
Refactor generating InfoItemDialog's
2022-02-26 16:18:39 +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
Stypox
5fea12d8eb
Small code improvements
...
Removed some non-translatable strings and just hardcoded them in the code, like it's being done for other string separators. This also deduplicates some code by using Localization.
Used some Kotlin feature to reduce code.
2022-02-26 10:40:24 +01:00
TacoTheDank
1a000fecd5
Replace CircleImageView with ShapeableImageView
2022-02-23 15:11:25 -05:00
Avently
01e0dd50ad
Added serviceId check while comparing PlayQueues
2022-02-23 00:53:39 +03: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
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
Avently
835c5e9d43
Better equals check
...
It ensures that queues are not the same. Without this check when you have multiple videos in the backstack and navigating back via Back button you'll get duplicated videos
2022-02-19 22:12:31 +03: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
TobiGr
ff8e44e4f3
Merge branch 'dev' into feature/notifications
2022-02-19 12:34:44 +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
litetex
2acaefdb2a
Fixed scrolling not working when rotating device
2022-02-17 20:59:41 +01:00
litetex
9c2cdd2513
Removed useless code
...
→ https://github.com/TeamNewPipe/NewPipe/pull/7659#discussion_r793752985
2022-02-17 20:59:40 +01:00
litetex
01683aa816
Code improvements
2022-02-17 20:59:39 +01:00
litetex
85f701b94e
Fixed listener not re-registering after e.g. a new search is started
2022-02-17 20:59:38 +01:00
litetex
ff7cfe4715
Reverted to loading behavior of #7638 and improved it
...
The previous/reverted behavior caused unwanted data transmission:
* Removed loading via handleResults/loadMoreItems-callback because the RecyclerView is apparently not immediately updated in the UI when the data is set which causes one load of data to much.
2022-02-17 20:59:38 +01:00
litetex
d3cd3d62b4
Tried to repair #4475 and #3368
...
* Always recreate the footer so that it's not possible to attach the same instance twice
* Removed support for creating a custom footer as it's never used
* Supply the header with an supplier
* This might not fix the problem completely as we currently can only create the header once inside Channel, Playlist and RelatedItems-Fragment - allowing creation of multiple headers might be done in the future if the issues still arise
* Other minor fixes
2022-02-17 20:59:36 +01:00
litetex
91c67b085b
Code improvements
...
Removed - partial - stupid code.
2022-02-17 20:59:35 +01:00
litetex
cd8c7ec3c0
Removed InfoListAdapter from checkstyle-suppressions
...
because if you modify something in the code the suppressions-file no longer matches
2022-02-17 20:59:34 +01:00
litetex
2c51a7970d
Improved InfoListAdapter
...
* Removed unused code
* Cleaned it up
* Made code more readable
2022-02-17 20:59:33 +01:00
litetex
fb362022f7
Load enough initial data into BaseListFragment
2022-02-17 20:59:33 +01:00
Martin
616fb47983
Merge branch 'TeamNewPipe:dev' into dev
2022-02-17 10:20:44 +01:00
Robin
9f8e8c0856
Merge pull request #7679 from TacoTheDank/reportSenderKotlin
...
Update ACRA library
2022-02-14 15:35:00 +01:00
Tobi
5e593f687d
Merge pull request #7860 from litetex/fix-settings-search-language
...
Use the correct app language when searching in the settings
2022-02-11 21:20:08 +01:00
litetex
3223ec04e3
Use the correct app language when searching in the settings
2022-02-11 20:58:44 +01:00
TiA4f8R
608e73e2f2
Set workaround for playback position reset when switching to main player with content thumbnail
...
The workaround set before was not applied when switching to main player with content thumbnail from popup or background player. This commit fixes this by applying the workaround when switching to main player with content thumbnail from popup or background player.
2022-02-11 19:32:13 +01:00
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
martin
906ee75278
Fixed checkstyle violation
2022-02-05 12:31:07 +01:00
martin
4049abf2c0
Addressed comment in PR
2022-02-04 16:15:55 +01:00
martin
47798febed
fetch and merge
2022-02-04 15:34:00 +01:00
TacoTheDank
79060f0bfe
Update ACRA library
2022-02-02 13:12:29 -05: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
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
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
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
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
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
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
litetex
e127db6fa6
Simplified toast showing behavior
...
after feedback from the review
2022-01-23 15:34:11 +01:00
litetex
49b1649348
Revert "Merge pull request #7568 from vhouriet/vhouriet_feature_already-playing-in-backgroud"
...
This reverts commit ee19ea66b3
, reversing
changes made to 6b490ee547
.
2022-01-23 15:34:11 +01:00
litetex
54ef604569
Improved docs
2022-01-21 22:49:25 +01:00
litetex
30ce906f72
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
1c20eabb48
Code cleanup
2022-01-21 22:49:25 +01:00
litetex
f8c52c4dac
Fixed SonarLint problems
...
* Removed alphaRelativeDuration as there is no use for it
2022-01-21 22:49:24 +01:00
litetex
345ba74d58
Fixed naming
2022-01-21 22:49:24 +01:00
litetex
d2aaf152a0
Removed related import
2022-01-21 22:49:24 +01:00
litetex
7bf1f3dba6
Removed unused field
2022-01-21 22:49:24 +01:00
litetex
452fe3a8e2
Respect disabled animations
2022-01-21 22:49:24 +01:00
litetex
c25e523df6
Removed all animations to be consistent with the current behavior
2022-01-21 22:49:23 +01:00
litetex
65bb1dcdbf
Refactored code
2022-01-21 22:49:23 +01:00
litetex
fe42206e94
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
TobiGr
dac47d9f52
Replace NotNull annotation with NonNull annotation
2022-01-21 22:49:23 +01:00
Stypox
83a3d11f38
Small improvements to player
2022-01-21 22:49:22 +01:00
Stypox
a454a41b51
Fix controls not hiding correctly when switching player
2022-01-21 22:49:22 +01:00
Stypox
95631dba46
Convert SecondsView from kotlin synthetics to view binding
2022-01-21 22:49:22 +01:00
vkay94
3aebfa22e9
SeekOverlay: Switch to merge for SecondsView and other adjustments
2022-01-21 22:49:21 +01:00
vkay94
72eb3b4415
SeekOverlay: Add seek overlay logic to player
2022-01-21 22:49:21 +01:00
vkay94
3a40759cd2
SeekOverlay: Add Views
2022-01-21 22:49:21 +01:00
XiangRongLin
cd265fc31f
Make SearchHistoryEntry.kt fields nullable to match java version ( #7674 )
2022-01-21 16:01:11 +00:00
litetex
f681b0bb5a
Merge pull request #7648 from mhmdanas/small-refactors
...
Fix false warning
2022-01-19 19:48:07 +01:00