Isira Seneviratne
e4f97465a4
Use lambdas for VideoDetailFragment listeners.
2022-11-03 20:15:17 +05:30
Isira Seneviratne
e333197ed5
Use OnClickListener and OnLongClickListener lambdas in the player UIs.
2022-11-03 05:09:35 +05:30
Isira Seneviratne
51bdc30ed0
Use TextViewCompat.setCompoundDrawableTintList().
2022-11-01 06:31:35 +05:30
Stypox
9d2ab61993
Merge pull request #9203 from Callisto404/add-chapter-timestamp-share
...
Added timestamped link sharing from the start of a chapter with a long hold press
2022-10-30 22:31:09 +01:00
Stypox
8fdd828de4
Merge pull request #8739 from Isira-Seneviratne/Stream_average
...
Calculate search score using streams.
2022-10-30 22:09:55 +01:00
Stypox
25795c3a96
Merge pull request #8706 from Isira-Seneviratne/Improve_LocalPlaylistFragment
...
Refactor removeWatchedStreams() in LocalPlaylistFragment.
2022-10-30 22:03:39 +01:00
Daniel M
7f3da04fee
Added an "isYouTube" check to start of long click handler
2022-10-30 13:48:03 +11:00
Stypox
7864521cb4
Merge pull request #8767 from Isira-Seneviratne/Use_ByteString
...
Use Okio's ByteString for download checksums.
2022-10-29 11:16:44 +02:00
Stypox
9524c6245d
Merge pull request #8747 from Isira-Seneviratne/Range_limit
...
Use range-limiting methods in more places.
2022-10-28 10:34:04 +02:00
Stypox
57d2fe113a
Fix duplicate videos in feed "All"
2022-10-27 23:43:39 +02:00
Stypox
2f6cb87bba
Use GROUP_ALL_ID instead of hardcoded -1
2022-10-27 23:32:19 +02:00
Stypox
3cef7f3201
Merge pull request #9207 from cern1710/list-view-alt-alt-implementation
...
undefined
2022-10-27 22:48:03 +02:00
Samuel Wu
f712ea34e0
Merge remote-tracking branch 'origin/list-view-alt-alt-implementation' into list-view-alt-alt-implementation
2022-10-28 04:54:42 +11:00
Samuel Wu
a44b7c9c9e
Disabled animations for subscription fragment
2022-10-28 04:54:33 +11:00
Stypox
4b32890b5f
Fix random crash in SubscriptionFragment
2022-10-27 18:45:06 +02:00
Stypox
a41aa01461
Solve two SonarCloud smells
2022-10-27 17:52:17 +02:00
Stypox
ea875c59af
Deduplicate isGridLayout calls
2022-10-27 17:25:06 +02:00
YonghaoDeng
a22162ffac
Add an Open in browser button on error panel ( #9180 )
...
* add a open in browser button
* Corrected a few things that needed to be changed
* Remove unneeded changes.
* Remove unneeded changes.
* Add showAndSetOpenInBrowserButtonAction function
* modify some codes
2022-10-27 14:38:08 +02:00
Stypox
83d16dc656
Fix flickering in channel groups list
2022-10-27 14:01:04 +02:00
Stypox
8ceefee1e3
Put "New feed group" item at the top
2022-10-27 13:51:56 +02:00
Samuel Wu
8f157be7e0
Revert changes
2022-10-27 12:15:36 +11:00
Stypox
0e169951f7
Fix grid/list toggle implementation of feed
2022-10-26 23:20:32 +02:00
Samuel Wu
f7e10eb094
Fully working card and list view
2022-10-26 21:05:55 +11:00
Jfax510
0d73d193ad
Added Toast Notification "Hold to enqueue" ( #9196 )
...
* Added Toast Notification "Hold to enqueue"
* Check if enqueue tips are enabled
* created function showHoldToAppendTipIfNeeded() for toast message
2022-10-26 11:35:03 +02:00
plasticanu
40815086ad
Fix crash when the user clicks download then quits the history fragment ( #9143 )
...
* Fix crash when the user clicks download then quits the history fragment
* add a nonnull annotation to the context parameter in the DownloadDialog constructor.
* Revert "Merge branch 'TeamNewPipe:dev' into fix/HistoryFragmentDownloadDialogCrash"
This reverts commit 968d7a7603
.
* Revert "Merge branch 'TeamNewPipe:dev' into fix/HistoryFragmentDownloadDialogCrash"
This reverts commit 968d7a7603
, reversing
changes made to 52963ba37d
.
Reverted merge
jlhzxc
* update project to the latest dev branch
* Revert "update project to the latest dev branch"
This reverts commit fb3ed83d51
.
revert changes to build files
* Revert "Revert "Merge branch 'TeamNewPipe:dev' into fix/HistoryFragmentDownloadDialogCrash""
This reverts commit f9e1835e71
.
2022-10-26 11:22:32 +02:00
Yuuu2990
16860603fd
Add Link to FAQ in the app ( #9164 )
...
* Link to FAQ in the app #4447
* remove redundant comments produced by me.
* Update app/src/main/res/values/strings.xml
Update FAQ description
Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
* Format the CodeStyle and readjust the layout.
* Update app/src/main/res/layout/fragment_about.xml
Remove redundant id.
Co-authored-by: Stypox <stypox@pm.me>
* Update app/src/main/res/layout/fragment_about.xml
Remove redundant id.
Co-authored-by: Stypox <stypox@pm.me>
* Update app/src/main/res/values/strings.xml
Keep the uppercase for consistency.
Co-authored-by: Stypox <stypox@pm.me>
* Update app/src/main/res/values/strings.xml
Modify the description of FAQ.
Co-authored-by: Stypox <stypox@pm.me>
Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
Co-authored-by: Stypox <stypox@pm.me>
2022-10-26 09:59:51 +02:00
Samuel Wu
c607089cbb
Altered grid view similar to Youtube app layout
2022-10-26 00:06:48 +11:00
Samuel Wu
28464344c1
Finalized design for vertical card view and removed unneeded variables in SubscriptionFragment.kt
2022-10-25 11:43:25 +11:00
Samuel Wu
ed68e3bd46
Fully working toggle button that change between vertical and horizontal view
2022-10-25 10:54:27 +11:00
Samuel Wu
082d7a3f18
Added working binding for a "new" button that works in the list layout.
2022-10-25 02:38:31 +11:00
Samuel Wu
6eddaa0d38
Added boolean to handle feed groups. May need a better solution for this
2022-10-25 02:20:14 +11:00
Samuel Wu
1aa1a0287e
Could toggle between list view and grid view...once. Requires bug fixing on refreshing
2022-10-25 02:01:57 +11:00
Samuel Wu
3bfcb16f9a
Bug: SubscriptionViewModel.kt did not map values for FeedGroupCardVerticalItem in line 26
2022-10-25 00:32:21 +11:00
Samuel Wu
f37d869ea2
Button can be toggled but not all strings have been fed
2022-10-24 23:01:02 +11:00
Samuel Wu
78547b4fa4
Created a list view for channel group.
2022-10-24 18:55:08 +11:00
Samuel Wu
29e56b9f2d
Created a button in SubscriptionFragment.kt that reads whether button is clicked
2022-10-24 16:55:12 +11:00
Daniel M
83357ca67e
Added sharing a link with timestamp from a chapter into the long click for each chapter
2022-10-24 14:14:41 +11:00
Samuel Wu
8482bf9fed
Created a non-functional button in HeaderWithMenuItem.kt
2022-10-23 23:43:52 +11:00
TobiGr
4a278ef102
Hide play queue button in VideoDetailsFragment mini player when the play queue is empty
...
Related PR introducing the button: #8946
2022-10-11 21:27:04 +02:00
Tobi
7ab8f9f112
Merge pull request #9079 from devlearner/fix-screen-rotate
...
Fix `DownloadDialog` crash on screen rotation
2022-10-10 11:18:50 +02:00
Tobi
7fca0e0786
Merge pull request #9065 from devlearner/fix-spannable-cast
...
Fix potential cast exception in comments text
2022-10-10 10:51:32 +02:00
Tobi
ed4eb124e4
Merge pull request #8734 from Stypox/feed-group-factory
...
Improve `FeedGroupDialogViewModel` factory
2022-10-09 19:35:47 +02:00
Tobi
5b213a19e4
Merge pull request #8934 from Isira-Seneviratne/LinkifyCompat
...
Use LinkifyCompat.
2022-10-09 12:07:50 +02:00
Tobi
8bc8355b68
Merge pull request #8946 from HybridAU/add_play_queue_button_to_video_details_fragment
...
Add play queue button to video details fragment
2022-10-06 18:55:50 +02:00
devlearner
ab99c14fd2
Fix crash on screen rotation
2022-10-06 18:15:36 +08:00
devlearner
1047158a66
Fix potential cast exception
...
when casting to `Spannable` in `CommentTextOnTouchListener`
2022-10-04 17:31:35 +08:00
Stypox
489f052ef9
Fix feed menu tooltips (silly copy-paste error)
2022-09-19 11:21:42 +02:00
Stypox
bf55ed262f
Merge pull request #8972 from Stypox/fix-suggestions-listadapter
...
Fix various issues in the search suggestions list
2022-09-19 08:54:55 +02:00
Stypox
f26bf33ead
Merge pull request #8966 from Stypox/feed-menuitem-tooltip
...
Show correct tooltips for actions in feed
2022-09-19 08:54:06 +02:00
HybridAU
9db0133a5b
Add play queue button to video details fragment
...
* Add play queue button to video details fragment
* Use existing ic_list icon
* Still open play queue even when queue is empty
* Change app:srcCompat to android:src
2022-09-14 21:00:44 +08:00
Stypox
28b34f3796
Fix scroll issues in suggestion list
...
Before if the list before updating contained item 'test' at position 0 and after updating that value went to the bottom, the list would incorrectly scroll to the bottom to follow that item. Now the scrolling is done after the list is updated.
2022-09-14 14:39:32 +02:00
Stypox
1f57c87859
Disable suggestion list animations: not meaningful
...
The animations were just in the way and did not help in choosing items, since the suggestion items keep changing too much.
2022-09-14 14:04:22 +02:00
Stypox
fbf5549182
Fix wrong icons being set on suggestion items
...
The diff util wrongly considered as equal two items with the same text but with different `fromHistory` value
2022-09-14 14:01:59 +02:00
Stypox
051c572e7f
Show correct tooltips for actions in feed
2022-09-13 15:26:04 +02:00
Isira Seneviratne
464a646671
Use LinkifyCompat.
2022-09-06 09:27:50 +05:30
Stypox
ed87465565
Only update notification large icon when it changes
2022-08-28 23:14:02 +02:00
Stypox
f9109ebc81
Use player.getThumbnail() instead of field in VideoPlayerUi
2022-08-28 18:35:21 +02:00
Stypox
4a7af6f9ac
Remove thumbnail before sync, if outdated
...
Also refactor onPlaybackSynchronize and add comments
2022-08-28 18:32:27 +02:00
Stypox
7fbef35daa
Unify onThumbnailLoaded calls to ensure UIs always updated
2022-08-28 17:24:51 +02:00
Stypox
f9994abb94
Prevent tapping on thumbnail if video details are not loaded
2022-08-26 18:54:51 +02:00
Stypox
ca0f56eea8
Avoid setting invalid states to bottom sheet callback
2022-08-26 18:54:51 +02:00
Stypox
500acce178
Fix regression in screen rotation animation
2022-08-26 18:54:51 +02:00
Stypox
6805c75c9c
Fix surface view not resizing video correctly
...
Also fix yet another random null pointer exception that could happen when adding the video player view
2022-08-26 18:54:51 +02:00
litetex
59d1ded94e
Fixed sonar detected problems
...
+ Automatically fixed code style (imports)
2022-08-25 17:02:53 +02:00
Stypox
973a966011
Review suggestions
2022-08-25 17:02:53 +02:00
Stypox
510efaae97
Keep strong reference to Picasso thumbnail loading target
...
Before the Target would sometimes be garbage collected before being called with the loaded thumbnail, since Picasso holds weak references to targets
2022-08-25 17:02:52 +02:00
Stypox
11bd2369e5
Merge MediaSessionManager into MediaSessionPlayerUi
2022-08-25 17:02:52 +02:00
Stypox
f80d1dc48d
Let exoplayer decide when to update metadata
...
Though still make sure metadata is updated after the thumbnail is loaded.
This fixes the wrong seekbar properties (duration and current position) being shown in the notification sometimes.
2022-08-25 17:02:52 +02:00
Stypox
8bff445ec3
Remove useless checks before updating metadata
...
A while ago NewPipe called the metadata update function very often, so checks were needed to ensure not wasting time updating metadata if it were already up to date. Now, instead, the metadata update function is called exactly when needed, i.e. when metadata changes, so such checks are not needed anymore (and were probably also a little resource-heavy).
2022-08-25 17:02:51 +02:00
Stypox
d73ca41cfe
Even when thumbnails should not be shown, set it to null in notification
...
This makes sure the thumbnail is removed from the notification if the user disables thumbnails
2022-08-25 17:02:51 +02:00
Stypox
f3a9b81b67
Fix sometimes seeing outdated thumbnail in notification
...
Before the thumbnail finishes loading for the new video the player is now playing, the old thumbnail was being used, leading to wrong thumbnails set in the media session and the notification.
2022-08-25 17:02:51 +02:00
Stypox
3cc43e9fb9
Fix thumbnail sometimes not set to media session metadata
...
The thumbnail was not being updated in the media session metadata after it was loaded, since there was no metadata update in that case, only a notification update.
2022-08-25 17:00:41 +02:00
Stypox
bc33322d4b
Remove useless MediaSessionCallback
...
The player is now passed directly, it made no sense to wrap around it in a callback that was not really a callback but rather, actually, a wrapper.
2022-08-25 17:00:41 +02:00
Stypox
c054ea0737
Create MediaSessionPlayerUi
2022-08-25 17:00:41 +02:00
Stypox
52dbfdee00
Keep strong references to Picasso notification icon loading targets
...
Before the Target would sometimes be garbage collected before being called with the loaded channel icon, since Picasso holds weak references to targets. This meant that sometimes a new streams notification would not be shown, because the lambda that should have shown it had already been garbage collected.
2022-08-25 16:41:51 +02:00
Isira Seneviratne
5e0788b99c
Use ListAdapter in PreferenceSearchAdapter.
2022-08-18 19:52:51 +05:30
Isira Seneviratne
67669c286b
Use ListAdapter in SuggestionListAdapter.
2022-08-18 19:52:51 +05:30
Isira Seneviratne
408a71cfdc
Calculate search score using streams.
...
Co-authored-by: Stypox <stypox@pm.me>
2022-08-15 07:26:56 +05:30
Isira Seneviratne
6399e39507
Remove from playlist only upon selecting the option and not afterwards.
2022-08-15 07:26:36 +05:30
Isira Seneviratne
f9443f7421
Refactor removeWatchedStreams() in LocalPlaylistFragment.
2022-08-15 07:26:36 +05:30
Isira Seneviratne
4f6b5b3b89
Use ListAdapter in PeertubeInstanceListFragment.
2022-08-15 07:26:02 +05:30
Isira Seneviratne
697b8411df
Use Okio's ByteString.
2022-08-13 08:27:55 +05:30
Stypox
571bf397c5
Merge pull request #8666 from TacoTheDank/filepicker
...
Update FilePicker to our custom fork and disable Jetifier
2022-08-12 09:15:34 +02:00
Isira Seneviratne
e136a6f915
Use range-limiting methods in more places.
2022-08-08 07:10:16 +05:30
Stypox
74921d3afa
Merge pull request #8740 from Isira-Seneviratne/Cleanup_methods
...
Remove some unused methods.
2022-08-06 22:45:40 +02:00
Stypox
edd2b110b0
Merge pull request #8738 from Isira-Seneviratne/Collectors_joining
...
Use Collectors.joining().
2022-08-06 22:31:31 +02:00
Stypox
80fb21e031
Merge pull request #8728 from Isira-Seneviratne/Comparator_factory
...
Use Comparator factory methods.
2022-08-06 11:56:44 +02:00
Stypox
ebd06bdd24
Improve comment
2022-08-06 11:56:00 +02:00
Stypox
6f86e21605
Merge pull request #8724 from Isira-Seneviratne/toArray_improvements
...
Use toArray() with zero-length arrays.
2022-08-06 11:33:05 +02:00
Stypox
816154c7cb
Merge pull request #8737 from Isira-Seneviratne/Fix_coerceIn
...
Replace coerceIn() with MathUtils.clamp().
2022-08-06 11:16:06 +02:00
Stypox
d9230c0103
Merge pull request #8708 from Isira-Seneviratne/Reduce_View.kt_size
...
Reduce View.kt size.
2022-08-06 10:59:10 +02:00
Isira Seneviratne
5c7dfd1d69
Remove unused method.
2022-08-06 06:54:21 +05:30
Isira Seneviratne
7aacaf8c38
Use Collectors.joining().
2022-08-06 06:54:21 +05:30
Isira Seneviratne
ee6a279596
Remove unused methods in HistoryRecordManager.
2022-08-06 05:09:54 +05:30
Isira Seneviratne
a9af1dfdd2
Applied code review changes.
2022-08-05 06:54:03 +05:30
Isira Seneviratne
fc46233baf
Use toArray() with zero-length arrays.
2022-08-05 06:50:55 +05:30
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