Isira Seneviratne
2eec2e9128
Replace coerceIn() with MathUtils.clamp().
2022-08-05 06:19:06 +05:30
Isira Seneviratne
8024b437e9
Add reusable classes extending AnimatorListenerAdapter.
2022-08-05 06:08:13 +05:30
Isira Seneviratne
d1f3f15478
Use Comparator.comparingDouble().
2022-08-05 05:36:39 +05:30
Isira Seneviratne
059cfcbad2
Use Comparator factory methods in ListHelper.
2022-08-05 05:36:21 +05:30
Stypox
1a8f396e77
Merge pull request #8721 from Isira-Seneviratne/OnClickGesture_interface
...
Make OnClickGesture an interface.
2022-08-04 16:15:54 +02:00
Stypox
5640365fbd
Merge pull request #8682 from Isira-Seneviratne/Refactor_LicenseFragmentHelper
...
Refactor LicenseFragmentHelper.
2022-08-04 11:18:40 +02:00
Isira Seneviratne
4b7de86a92
Clean up getLicenseStylesheet().
2022-08-04 11:17:30 +02:00
Stypox
24ec642181
Merge pull request #8669 from Isira-Seneviratne/Remove_setBottomSheetCallback
...
Remove uses of setBottomSheetCallback().
2022-08-04 11:03:57 +02:00
Stypox
8dce66d76f
Improve FeedGroupDialogViewModel factory
2022-08-04 10:49:33 +02:00
Stypox
ffc1d9a212
Merge pull request #8656 from Isira-Seneviratne/Use_WindowMetrics
...
Use WindowMetrics API.
2022-08-04 10:12:32 +02:00
Isira Seneviratne
7f018b90db
Merge branch 'dev' into OnClickGesture_interface
2022-08-04 06:10:39 +05:30
Stypox
368c6c0ccb
Merge pull request #8709 from Isira-Seneviratne/Tags_case_insensitive
...
Sort tags case-insensitively.
2022-08-03 22:43:50 +02:00
Stypox
5c4874b90f
Merge pull request #8701 from Isira-Seneviratne/Use_stackTraceToString
...
Use Throwable.stackTraceToString().
2022-08-03 21:04:22 +02:00
Stypox
3420faab08
Merge pull request #8661 from Stypox/player-refactor-npe
...
Fix random NullPointerException when adding video player view
2022-08-02 11:09:50 +02:00
Stypox
a548b34811
Merge pull request #8692 from TacoTheDank/bumpMaterial
...
Update Google Material to 1.6.1
2022-08-02 11:05:24 +02:00
Stypox
ad30eb809c
Merge branch 'dev' into bumpFragment
2022-08-02 10:54:39 +02:00
Stypox
ee368452ae
Merge pull request #8687 from TacoTheDank/bumpExoPlayer
...
Update ExoPlayer to 2.18.1
2022-08-02 10:34:58 +02:00
Isira Seneviratne
a9095ca2ad
Make block parameter an extension lambda.
2022-08-01 08:29:59 +05:30
Isira Seneviratne
013522c376
Convert LicenseFragmentHelper methods to top-level declarations.
2022-08-01 08:27:09 +05:30
Isira Seneviratne
8a896114c1
Apply code review change.
2022-08-01 08:25:24 +05:30
Isira Seneviratne
47f58040d1
Make OnClickGesture an interface.
2022-08-01 06:47:00 +05:30
Isira Seneviratne
311d392386
Use Application instead of Context in FeedViewModel.
2022-07-31 08:37:16 +05:30
Stypox
404c13d4c1
Improve FeedViewModel factory
2022-07-31 08:30:17 +05:30
Isira Seneviratne
5c68c8ece8
Update Lifecycle to 2.5.1.
2022-07-31 08:30:17 +05:30
Isira Seneviratne
4d7a6fb6de
Use WindowMetrics API in VideoDetailFragment and PopupPlayerUi.
2022-07-30 19:22:39 +05:30
Isira Seneviratne
630558ed4f
Use nested functions.
2022-07-30 07:59:36 +05:30
Isira Seneviratne
69942003f7
Sort tags case-insensitively.
2022-07-29 09:21:48 +05:30
Isira Seneviratne
af9c2bd59d
Use stackTraceToString().
2022-07-27 07:54:49 +05:30
Isira Seneviratne
81fb44c45c
Remove uses of setBottomSheetCallback().
2022-07-25 18:44:30 +05:30
TacoTheDank
d66997c2ed
Update Google Material to 1.6.1
2022-07-24 16:51:26 -04:00
TacoTheDank
d7a654fc27
Update AndroidX Fragment to 1.4.1
2022-07-24 15:35:33 -04:00
TacoTheDank
229422bfa9
Update ExoPlayer to 2.18.1
2022-07-24 14:11:31 -04:00
TacoTheDank
8f5d564f84
Migrate NoNonsense-FilePicker to our updated fork
2022-07-24 15:07:31 +02:00
litetex
dcb332e08d
Merge pull request #8624 from TacoTheDank/bumpOkhttp
...
Update OkHttp to 4.10.0
2022-07-24 15:02:08 +02:00
litetex
51e72d1a05
Removed the "(beta)"-tag from services ( #8637 )
2022-07-24 15:57:23 +03:00
litetex
8f37015dbb
Merge pull request #8621 from Stypox/deduplicate-feed
...
Deduplicate SQL queries to get feed streams
2022-07-24 14:52:35 +02:00
Stypox
74df7fcd66
Merge pull request #8670 from Isira-Seneviratne/Update_FocusAwareCoordinator
...
Remove deprecated method calls in FocusAwareCoordinator.
2022-07-23 17:12:29 +02:00
Stypox
bfaf074f4e
Merge pull request #8663 from Isira-Seneviratne/Remove_unnecessary_methods
...
Remove unnecessary methods.
2022-07-23 16:31:28 +02:00
Stypox
3281ed2ef1
Merge pull request #8648 from Isira-Seneviratne/Use_IO_extensions
...
Use IO extensions.
2022-07-22 18:30:51 +02:00
Stypox
b2c2570a85
Merge pull request #8676 from Stypox/fix-channel-placeholders
...
Fix wrong thumbnail used as placeholder for channel
2022-07-22 18:16:42 +02:00
Stypox
f4fe5fcb16
Fix ListHelperTest failure caused by immutable list being used
2022-07-22 16:09:43 +02:00
Stypox
37275e8fe3
Fix wrong thumbnail used as placeholder for channel
2022-07-22 15:13:47 +02:00
Isira Seneviratne
f1dab11f1f
Remove deprecated method calls in FocusAwareCoordinator.
2022-07-21 09:01:19 +05:30
Isira Seneviratne
6d1c61407d
Remove unnecessary method in ChannelFragment.
2022-07-21 08:02:23 +05:30
Isira Seneviratne
8b400b48f7
Refactor notifying method in PlayQueue.
2022-07-21 08:02:23 +05:30
Isira Seneviratne
b845645b80
Use IO extensions.
...
Co-authored-by: Stypox <stypox@pm.me>
2022-07-21 05:15:39 +05:30
Stypox
cacce6d2d0
Merge pull request #8651 from Isira-Seneviratne/Use_limiting_methods
...
Use range-limiting methods.
2022-07-20 15:06:45 +02:00
Stypox
373ee53143
Improve code style
2022-07-20 15:05:25 +02:00
Stypox
344c33d9a1
Merge pull request #8631 from Isira-Seneviratne/Use_collection_factories
...
Use Java 9 collection factories.
2022-07-20 14:52:18 +02:00
Stypox
c5b970cca3
Improve code style in List.of()
2022-07-20 14:50:23 +02:00
Stypox
15947161e6
Merge pull request #8635 from Isira-Seneviratne/Use_stream_sort
...
Use stream sorting.
2022-07-20 11:06:56 +02:00
Isira Seneviratne
394eb92e71
Use coerceIn().
2022-07-20 05:36:01 +05:30
Isira Seneviratne
d62cdc659f
Use MathUtils.clamp().
...
Co-authored-by: Stypox <stypox@pm.me>
2022-07-20 05:36:01 +05:30
Isira Seneviratne
a6cc13845a
Use Map.of().
2022-07-20 04:39:11 +05:30
Isira Seneviratne
55a995c4cd
Replace LinkedHashMap with List.of().
2022-07-20 04:39:11 +05:30
Isira Seneviratne
ca26fcb0eb
Use List.of().
2022-07-20 04:39:11 +05:30
Stypox
4eddd2c3d1
Fix random NullPointerException when adding video player view
2022-07-19 20:01:46 +02:00
Isira Seneviratne
c53143ef4f
Use Set.of().
2022-07-19 08:53:15 +05:30
Isira Seneviratne
e772244440
Update app/src/main/java/org/schabi/newpipe/fragments/detail/DescriptionFragment.java
...
Co-authored-by: Stypox <stypox@pm.me>
2022-07-19 05:13:38 +05:30
Stypox
e8669d4ab5
Deduplicate SQL queries to get feed streams
2022-07-18 23:39:57 +02:00
Stypox
cd14096dbe
Merge pull request #8633 from Isira-Seneviratne/Use_ViewCompat_setBackgroundTintList
...
Use ViewCompat.setBackgroundTintList().
2022-07-18 23:31:56 +02:00
Isira Seneviratne
f1de353b74
Use stream sorting.
2022-07-16 08:34:04 +05:30
Isira Seneviratne
5da8d5fc73
Use ViewCompat.setBackgroundTintList().
2022-07-16 05:49:52 +05:30
litetex
3ba04f179f
Fixed conflicts/build
2022-07-15 20:00:08 +02:00
litetex
3890d0abdb
Added note that explains that unused code was removed.
2022-07-15 19:55:19 +02:00
litetex
8b209df253
Changed the code accordingly
...
+ Removed some unused code
2022-07-15 19:55:19 +02:00
litetex
b7a44560f5
Merge pull request #8170 from Stypox/player-refactor
...
Refactor player and extract UI components
2022-07-15 19:41:23 +02:00
Stypox
0e8cc72b13
Fix random NullPointerException when adding video player view
2022-07-14 22:14:03 +02:00
Stypox
6ea85e6380
Rename dummy_* and more to placeholder_*
2022-07-14 14:27:33 +02:00
Stypox
7b9b9218dc
Remove bottom-sheet-thumbnail placeholder, clear the image instead
2022-07-14 14:14:33 +02:00
krlvm
35eeccd45a
Rename buddy.xml to dummy_person.xml
2022-07-14 14:14:32 +02:00
krlvm
cc7a8fb1a6
Improve image placeholders
...
- Show placeholders until the image is loaded because timeout can be very long and missing profile pictures and video thumbnails make app inconvenient to use
- Adapt profile picture and video thumbnail placeholders to light theme
- Replace profile picture and video thumbnail placeholders with vector graphics
2022-07-14 14:14:32 +02:00
TacoTheDank
c1e78cf55b
Update OkHttp to 4.x
2022-07-14 03:23:45 -04:00
Stypox
70e3c9805a
Merge pull request #8542 from carmebar/share-playlist
...
Add 'Share playlist' option to Playlist fragment
2022-07-13 23:45:08 +02:00
Stypox
8187a3bc04
Move PlayerType into its own class and add documentation
...
Also replace some `isPlayerOpen` with direct `playerType == null` checks.
2022-07-13 23:33:18 +02:00
Stypox
4443c908cb
Fix SonarLint java:S5320, restrict broadcasts to app package
2022-07-13 23:33:18 +02:00
Stypox
c03eac1dc9
Some SonarLint refactors
2022-07-13 23:33:18 +02:00
Stypox
61c1da144e
Some refactorings after review comments
2022-07-13 23:33:18 +02:00
Stypox
3692858a3d
Move popup layout param to PopupPlayerUi
2022-07-13 23:33:18 +02:00
Stypox
9c51fc3ade
Move functions to get Android dimen to ThemeHelper
2022-07-13 23:33:18 +02:00
Stypox
1cf746f721
Fix volume gestures not working anymore
2022-07-13 23:33:18 +02:00
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
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
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
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