Commit graph

3405 commits

Author SHA1 Message Date
Stypox
4979f84e41
Solve some Sonarlint warnings 2022-07-13 23:33:16 +02:00
Stypox
a19073ec01
Restore checkstyle and solve its errors 2022-07-13 23:32:27 +02:00
Stypox
1b39b5376f
Add some javadocs; move preparing player uis to PlayerUiList 2022-07-13 23:31:59 +02:00
Stypox
6559416bd8
Improve //region comments in player UIs 2022-07-13 23:30:30 +02:00
Stypox
fa25ecf521
Add comment about broadcast receiver 2022-07-13 23:27:24 +02:00
Stypox
6fb0256997
Remove unused PlayerServiceBinder 2022-07-13 23:27:24 +02:00
Stypox
8c26403e91
Remove unused PlayerState 2022-07-13 23:27:24 +02:00
Stypox
90a89f8ca5
Move player-notification files into their package 2022-07-13 23:27:24 +02:00
Stypox
0bba1d95de
Move all notification-related calls to NotificationPlayerUi 2022-07-13 23:27:24 +02:00
Stypox
b3f99645a3
Fix some crashes / issues after player refactor 2022-07-13 23:27:23 +02:00
Stypox
76ced59b62
Refactor player: separate UIs and more 2022-07-13 23:25:26 +02:00
TacoTheDank
189c92affa
More minSdk 21 cleanup 2022-07-13 19:03:47 +02:00
TacoTheDank
4ec9cbe379
Remove AndroidX Webkit 2022-07-13 19:03:47 +02:00
litetex
99104fc11d
Clean up pre-Lollipop checks 2022-07-13 19:02:24 +02:00
litetex
7cb137ae8d
Remove MultiDex 2022-07-13 19:02:24 +02:00
Alex
6f7298b9db
Crop the notification thumbnail in 1:1 mode instead of stretching it (#8533)
Change square bitmap transformation strategy: change the bitmap transformation strategy when a 1:1 aspect ratio is
enabled to not stretch the bitmap but rather crop it.

On Android 11/12, the way the whole thumbnail was used for the
notification icon was not ideal, however the setting to toggle a 1:1
(as it states in settings) resulted in distortions.

Fix this by simply cropping the bitmap.

Also update the 1:1 mode strings to remove mentions of scaling or
distortions, as those no longer apply.
2022-07-13 17:19:44 +02:00
Carlos Melero
d0b6d95f1b
Add Share option to local playlists
A newline-separated text is shared
2022-07-13 14:32:23 +02:00
Robin
93b913e14d
Merge pull request #8536 from TacoTheDank/bumpExoPlayer
Update ExoPlayer to 2.18.0
2022-07-13 12:59:12 +02:00
Stypox
b96c8a0c2f
Merge pull request #8545 from carmebar/hide-future-videos
Add option to hide future videos in feed
2022-07-13 11:07:38 +02:00
nikita.artikhovich
a4724fec4a
Add download option to long-press menu 2022-07-06 11:42:57 +02:00
litetex
155c6e94a3
Use correct `NonNull` 2022-07-04 23:19:41 +02:00
litetex
4e285a4e70
Fix compile errors 2022-07-04 23:19:41 +02:00
TacoTheDank
00b9c082a3 Set setUsePlatformDiagnostics to false 2022-07-02 15:01:39 -04:00
Stypox
085d1e0d38
Actually fix wrong view count 2022-07-01 16:07:19 +02:00
TacoTheDank
1404581e9b Update ExoPlayer to 2.18.0 2022-06-25 21:14:42 -04:00
Carlos Melero
f22417e7e7 Add option to hide future videos in feed 2022-06-24 18:03:48 +02:00
AudricV
cbd3308da6
Ensure that progressive contents are URL contents for playback
A ResolverException will be now thrown otherwise.
2022-06-19 15:41:29 +02:00
Stypox
4e87f5aabc
Remove misleading first "Non" from getNonUrlAndNonTorrentStreams 2022-06-18 18:52:32 +02:00
Stypox
2019af831a
Refactor PlaybackResolver and fix cacheKeyOf
In commonCacheKeyOf the result of an Objects.hash() was ignored
2022-06-18 18:41:44 +02:00
Stypox
1e076ea63d
Wrap debug log in if(DEBUG) 2022-06-18 18:09:12 +02:00
Stypox
4863084fa2
Improve code in VideoDetailFragment 2022-06-18 17:49:04 +02:00
Stypox
7ba79171c7
Refactor creation of DownloadDialog 2022-06-18 17:40:22 +02:00
AudricV
e3c2aea3cc
Fix playback of non-URI HLS streams
A custom HlsPlaylistParserFactory cannot be used anymore to play HLS streams.

This needs to be replaced by a custom HlsDataSourceFactory, which returns a ByteArrayDataSource (where the bytes of this DataSource correspond to the bytes of the playlist string) and a specified DataSource for other request types.

This model has two limitations:

- if media requests are relative, the URI from which the manifest comes from (either the manifest URI (preferred) or the master URI (if applicable)) must be returned, otherwise the content will be not playable, as it will be an invalid URL, or it may be treat as something unexpected, for instance as a file for DefaultDataSources;
- if the playlist is a master playlist, endless loops should be encountered because the DataSources created for media playlists will use the master playlist response instead of fetching the corresponding playlist. With the current model of HlsDataSourceFactory, there is no possibility to distinguish the playlist type or the URI that is requested.

If ExoPlayer provides a way to create HlsMediaSources with an HlsPlaylist in the future, it should be used instead of this solution.
2022-06-17 22:01:30 +02:00
AudricV
21c9530e8b
Throw a dedicated exception when errors occur in PlaybackResolver
A new exception, ResolverException, a subclass of PlaybackResolver, is now thrown when errors occur in PlaybackResolver, instead of an IOException
2022-06-17 22:01:29 +02:00
AudricV
036196a487
Filter streams using Java 8 Stream's API instead of removing streams with list iterators and add a better toast when there is no audio stream for external players
This ensures to not remove streams from the StreamInfo lists themselves, and so to not have to create list copies.

The toast shown in RouterActivity, when there is no audio stream available for external players, is now shown, in the same case, when pressing the background button in VideoDetailFragment.
2022-06-17 22:01:29 +02:00
AudricV
73855cacb7
Use StreamTypeUtil where possible and add isAudio and isVideo to this utility class 2022-06-17 22:01:26 +02:00
Stypox
8dad6d7e1c
Code improvements here and there 2022-06-17 22:00:53 +02:00
Stypox
e5ffa2aa09
Add comments to PlaybackResolver and remove useless @NonNull 2022-06-17 22:00:52 +02:00
Stypox
8445c381c5
Use DownloaderImpl.USER_AGENT directly
instead of passing it as a parameter
2022-06-17 22:00:52 +02:00
Stypox
fa46b7bf85
Add comments and use downloader user agent in YT data source
YoutubeHttpDataSource
2022-06-17 22:00:52 +02:00
Stypox
7ce2250d85
Improve CacheFactory and PlayerDataSource code 2022-06-17 22:00:51 +02:00
Stypox
ef20d9b91a
Move stream's cache key generation in PlaybackResolver and improve PlaybackResolver's code 2022-06-17 22:00:51 +02:00
AudricV
fbee310261
Move SimpleCache creation in PlayerDataSource to avoid an IllegalStateException
This IllegalStateException, almost not reproducible, indicates that another SimpleCache instance uses the cache folder, which was so trying to be created at least twice.
Moving the SimpleCache creation in PlayerDataSource should avoid this exception.
2022-06-17 22:00:51 +02:00
AudricV
7d6bf4b0ca
Improve dialog of streams for external players and fix use of the wrong codec in the list of available streams in it after a codec change in Video and Audio settings
The VideoDetailFragment will now get video streams dynamically instead of storing them as a field, so the good codec can be chosen by ListHelper.
To select a stream to play, user has now to select the quality in the list of available qualities and then press the new OK button in the alert dialog.
2022-06-17 22:00:50 +02:00
AudricV
210834fbe9
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
Stypox
a59660f421
Merge pull request #8340 from litetex/fix-add-to-playlist
Fix "Add to playlist" not working and cleanup "RouterActivity" choice handling
2022-06-05 11:47:51 +02:00
Stypox
75e5fe7d27
Merge pull request #8404 from Isira-Seneviratne/Use_AppCompatResources
Use AppCompatResources.
2022-05-30 15:42:04 +02:00
litetex
2985258074 Bonus fix: Made `single_choice_dialog_view` scrollable + use viewbinding 2022-05-28 00:46:28 +02:00
litetex
911ac65d1e Code cleanup 2022-05-28 00:46:27 +02:00
litetex
d2967f514b Improved docs, format and code style 2022-05-28 00:46:27 +02:00
litetex
a68c6a2cfc Reworked incorrect choice handling and centralized it 2022-05-28 00:39:13 +02:00
litetex
733f6aae85 Fix add to playlist 2022-05-28 00:39:13 +02:00
Stypox
1daece3bee
Merge pull request #8382 from Isira-Seneviratne/Remove_compat_methods
Remove unnecessary compat method calls.
2022-05-22 21:59:04 +02:00
Stypox
adddd48c1d
Merge pull request #8391 from Isira-Seneviratne/Use_JvmOverloads
Use JvmOverloads.
2022-05-22 21:56:17 +02:00
Stypox
bd5eda92a7
Improvements to sharing content with thumbnail 2022-05-22 21:34:10 +02:00
Isira Seneviratne
ac5843edb0 Merge branch 'dev' into Use_JvmOverloads 2022-05-16 12:43:24 +05:30
Isira Seneviratne
a1f64e4774 Merge branch 'dev' into Remove_compat_methods 2022-05-16 12:36:46 +05:30
Isira Seneviratne
21d2ae709f Merge branch 'dev' into Use_AppCompatResources
# Conflicts:
#	app/src/main/java/org/schabi/newpipe/fragments/list/playlist/PlaylistFragment.java
2022-05-16 12:36:00 +05:30
Isira Seneviratne
c5e509f069 Use AppCompatResources. 2022-05-16 12:27:44 +05:30
TiA4f8R
761c0ff9ac
[Android 10+] Add image preview of the content shared where possible
These previews will be only available for images cached in the cache used by Picasso.
The Bitmap of the content is compressed in JPEG 90 and saved inside the application cache folder under the name android_share_sheet_image_preview.jpg.
The current image will be, of course, always overwritten by the next one and cleared when the application cache is cleared.
2022-05-14 16:53:24 +02:00
Isira Seneviratne
ce8289e753 Use JvmOverloads. 2022-05-13 07:46:02 +05:30
Stypox
2dd4f8b04a
Merge pull request #7458 from litetex/rework-subscription-import-export-ui
Moved subscription import/export options to (overflow) menu
2022-05-12 13:03:12 +02:00
petlyh
fcaa787060 Add a "Add to playlist" item to the remote playlist menu 2022-05-10 08:48:21 +02:00
Isira Seneviratne
23c1fc3544 Remove unnecessary compat method calls. 2022-05-10 07:45:01 +05:30
iTrooz_
61ee1c61df
Make volume progress bar match system volume when we start sliding 2022-05-09 21:40:13 +02:00
litetex
69f95f4148 Use better way to get services 2022-05-09 20:58:10 +02:00
litetex
de4b5a8f0f Remove not required use of supplier
from code review
2022-05-07 15:08:38 +02:00
litetex
1228ce277f Removed placeholder prefix 2022-05-07 15:08:37 +02:00
litetex
bd6fdd625a Use material icon 2022-05-07 15:08:37 +02:00
litetex
7de17ad949 Icons for import/export 2022-05-07 15:08:36 +02:00
litetex
7ab11a8379 Used service icons for import 2022-05-07 15:08:36 +02:00
litetex
70e0085596 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
1d69bd48be Moved import/export options to menu 2022-05-07 15:08:34 +02:00
Stypox
5b435c586e
Merge pull request #8192 from GGAutomaton/fix-6696
Fix crash when rotating device on unsupported channels
2022-05-06 10:58:59 +02:00
Stypox
71e46d1eca
Do not call showContentNotSupportedIfNeeded multiple times 2022-05-06 10:40:08 +02:00
Stypox
238aff7c31
channelContentNotSupported false by default 2022-05-06 10:38:47 +02:00
Stypox
a1435bd566
Merge pull request #8259 from LingYinTianMeng/dev
Fix removing only fully watched videos from playlist
2022-05-05 18:08:41 +02:00
Stypox
59d8c570b7
Readd spaces 2022-05-05 18:04:33 +02:00
Robin
8f34f69397
Merge pull request #8332 from litetex/fix-routeractivity-theming
Fix Routeractivity theming
2022-05-05 14:08:01 +02:00
litetex
47af21d248
Merge pull request #8336 from Mamadou78130/fix8330
Fixed viewed counting
2022-05-04 19:33:36 +02:00
litetex
c2a3c1cb8f
Add comment that explains why 0 is used
Co-authored-by: Stypox <stypox@pm.me>
2022-05-04 19:19:45 +02:00
litetex
1e2d76a686 Use non-static method 2022-05-04 19:09:41 +02:00
GGAutomaton
34468c16ad Show "content not supported" if needed 2022-05-04 23:34:07 +08:00
Robin
b84c6b4b32
Merge pull request #8315 from ktprograms/fix-media-button-hide-controls
Fix hiding player controls when playing from media button
2022-05-04 11:28:05 +02:00
litetex
c2bf7f09ce Fixed accidental reset of `PlaybackParameterDialog` on initialization 2022-05-03 21:42:09 +02:00
LingYinTianMeng
c2762d3b5e
Update LocalPlaylistFragment.java 2022-05-03 09:37:35 +08:00
LingYinTianMeng
01d996a5c0
Merge branch 'TeamNewPipe:dev' into dev 2022-05-03 09:26:32 +08:00
LingYinTianMeng
50739277c4
Update LocalPlaylistFragment.java 2022-05-03 09:21:43 +08:00
Mamadou WAGUE
e40e86500b Fixed viewed counting 2022-05-02 14:52:43 +02:00
litetex
6f0942ac6e Make sure Routeractivity does the same as MainActivity 2022-05-01 21:59:00 +02:00
Stypox
173b6c3f00
Fix wrong NonNull 2022-04-30 21:46:06 +02:00
Stypox
7646c683b5
Merge pull request #7989 from litetex/refactor-playback-parameter-dialog
Rewrote ``PlaybackParameterDialog``
2022-04-30 17:53:26 +02:00
kt programs
047fe21c14 Fix hiding player controls when playing from media button
DefaultControlDispatcher was removed in ExoPlayer 2.16.0, so the class
extending it that handled play/pause was removed in #8020.

The new solution is to use an instance of ForwardingPlayer. Call
sessionConnector.setPlayer with an instance of ForwardingPlayer that
overrides play() and pause() and calls the callback methods.
2022-04-30 17:43:30 +08:00
Stypox
b59a601b52
Merge branch 'master' into dev 2022-04-29 16:41:18 +02:00
Stypox
b8dbb3f073
Use 64 KiB as the default progressive load interval
This ensures a small value is used by default, solving buffering issues at the beginning of videos
2022-04-29 16:10:39 +02:00
LingYinTianMeng
bb495f567c
Merge branch 'TeamNewPipe:dev' into dev 2022-04-27 21:03:09 +08:00
opusforlife2
9b3e43ffc1
Merge pull request #8279 from TiA4f8R/set-maximum-allowed-opacity-for-close-overlay-android-12-and-higher
Adapt opacity of popup close button to allow touches in other apps on Android >=12
2022-04-23 17:39:15 +00:00
TiA4f8R
d5a0f8f23c
Set opacity of the popup close button to 0.8 on Android 12 and higher
Setting this opacity should allow touches outside NewPipe when using the popup player.

See https://developer.android.com/reference/android/view/WindowManager.LayoutParams#FLAG_NOT_TOUCHABLE for more details.
2022-04-22 15:09:20 +02:00
Nickoriginal
ec5cfe0019
Update USER_AGENT in DownloaderImpl 2022-04-20 16:15:27 +03:00
LingYinTianMeng
fd5626e9e2
Merge branch 'TeamNewPipe:dev' into dev 2022-04-19 16:36:42 +08:00
litetex
53bf3420e7
Merge pull request #8244 from seanzzy/issue-8058
Fix crash when open NewPipe from notification bar
2022-04-18 16:06:48 +02:00
Yingwei Zheng
127a27315e
Fix keyboard showing after the search box acquiring focus (#8227)
* Fix keyboard showing after the search box acquiring focus
* Fix the underlying problem as described in the issue #7647
2022-04-18 16:05:42 +02:00
litetex
671441bdf8
Merge pull request #8206 from TacoTheDank/bumpACRA
Update ACRA library
2022-04-18 16:04:37 +02:00
litetex
5c6e2ed071
Merge pull request #8233 from Stypox/fix-notification-settings-2
Fix new streams notifications preference screen
2022-04-18 15:25:45 +02:00
karyogamy
29fc0eff38 fixed: added comments for DefaultTrackSelector auto-select fix. 2022-04-17 18:34:31 -04:00
karyogamy
4917da2d2e fixed: disabled caption to no longer automatically re-enable on new player instance. 2022-04-17 13:26:39 -04:00
LingYinTianMeng
8ea98b64aa fix issue #7563 2022-04-17 22:23:03 +08:00
ZiyanZHANG
4904b48f5c Update PlayQueueActivity.java 2022-04-17 18:15:13 +08:00
litetex
a311519314 Fix merge conflicts 2022-04-16 21:24:01 +02:00
litetex
1dc146322c Merged `DrawableResolver into ThemeHelper` 2022-04-16 21:21:57 +02:00
litetex
0f551baf37 Refactored code 2022-04-16 21:21:56 +02:00
litetex
b9190eddfe Update DrawableResolver.kt
Nicer import 😉
2022-04-16 21:21:55 +02:00
litetex
44dada9e60 Use better Kotlin syntax
From the PR review
2022-04-16 21:21:54 +02:00
litetex
20602889be Added some doc and abstracted more methods 2022-04-16 21:21:52 +02:00
litetex
4b06536582 Reworked switching to semitones
Using an expandable Tab-like component instead of a combobox
2022-04-16 21:21:51 +02:00
litetex
621b38c98b Code improvements regarding stepSize 2022-04-16 21:21:50 +02:00
litetex
762cdc812c Reworked/Implemented PlaybackParameterDialog functionallity
* Add support for semitones
* Fixed some minor bugs
* Improved some methods
2022-04-16 21:21:48 +02:00
litetex
4cdf6eda2c Use viewbinding 2022-04-16 21:21:45 +02:00
litetex
652d50173e Major refactoring of PlaybackParameterDialog
* Removed/Renamed methods
* Use ``IcePick``
* Better structuring
* Keep skipSilence when rotating the device (PlayQueueActivity only)
2022-04-16 21:21:45 +02:00
Stypox
fa58a81852
Fix New streams settings snackbar not being hidden on exiting 2022-04-16 19:01:30 +02:00
Stypox
f2fc2cc24a
Check whether to enable New streams settings in onCreate to prevent flickering 2022-04-16 19:00:51 +02:00
TacoTheDank
248ca5ee12 Update ACRA library 2022-04-14 22:08:42 -04:00
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