Commit graph

3804 commits

Author SHA1 Message Date
Profpatsch
8199818c05 BaseDescriptionFragment: Assert member is initialized
`streamInfo` and `channelInfo` have to be initialized, since the only
way to construct the class it to pass them. So we can remove the null
check boilerplate and make some of the accessors `NonNull`.
2024-01-23 14:28:37 +01:00
Stypox
b08fcb25b8 Merge pull request #10712 from Stypox/notification-actions-api-33-2
[Android 13+] Restore support of custom notification actions
2023-12-30 21:55:44 +01:00
Stypox
34241c30e3 Android 33 -> Android 13
Co-authored-by: Tobi <TobiGr@users.noreply.github.com>
2023-12-30 21:55:32 +01:00
Stypox
f26e8444ef Allow play/pausing from notification when buffering
This change is in line with a recent change in how the play/pause button behaves in the player ui: if the buffering indicator is shown, it's still possible to toggle play/pause, to allow e.g. pausing videos before they even start.
This change was needed because on Android 13+ notification actions can't be null, and thus the buffering hourglass action wasn't shown.
2023-12-29 16:18:26 +01:00
Stypox
24eb97d5c1 Do not update notification actions if nothing changed
This should avoid costly updates of the media session.
2023-12-29 16:16:45 +01:00
Stypox
48399948bc Implement notification actions via MediaSessionConnector on Android 13+ 2023-12-29 15:54:15 +01:00
Stypox
23bf10ab04 Extract NotificationActionData from NotificationUtil 2023-12-29 15:54:15 +01:00
Stypox
368b9649d7 Allow each notification slot to contain any possible action 2023-12-29 15:54:15 +01:00
Stypox
ef6bfa24f0 Extract NotificationSlot from NotificationActionsPreference 2023-12-29 12:31:59 +01:00
Stypox
57090022d1 Customize only 2 notification actions on Android 13+ 2023-12-29 12:13:08 +01:00
Stypox
e19b90f9a9 Merge pull request #10091 from TeamNewPipe/feat/playlist_description
Add playlist description to playlist fragment
2023-12-29 10:58:13 +01:00
Stypox
c4a2386c6f Merge branch 'master' into dev 2023-12-29 10:48:37 +01:00
TobiGr
5f6ec79248 Fix NPE when ChannelTabLHFactory not implemented for a service
Fixes #10698
2023-12-26 16:55:52 +01:00
Stypox
5bdf89d7de Improve TextEllipsizer class 2023-12-23 18:04:05 +01:00
TobiGr
6302d8e264 Ellipsize playlist description if it is longer than 5 lines
The description can be expanded / collapsed via a "show more" / "show less" button.
2023-12-23 12:33:52 +01:00
TobiGr
d0b603c94f Add playlist description to PlaylistFragment 2023-12-23 12:13:34 +01:00
TacoTheDank
a2e752c06e Change Converters to class to fix build 2023-12-23 11:47:57 +01:00
TacoTheDank
7d6dec1379 Update miscellaneous libraries 2023-12-23 11:47:57 +01:00
Stypox
e2606c9a7d Merge pull request #10086 from TacoTheDank/bumpAndroidX
Update some AndroidX libraries and compileSdk to 34
2023-12-23 11:46:28 +01:00
Isira Seneviratne
4f53b3015b Store/retrieve parcelable arrays as lists instead. 2023-12-23 11:38:40 +01:00
TacoTheDank
b749eb52e9 Utilize BundleCompat and IntentCompat methods 2023-12-23 11:38:40 +01:00
Isira Seneviratne
bfabffa7c2 Bump compileSdk to 34 2023-12-23 11:38:32 +01:00
TacoTheDank
9008d52fdd Fix AndroidX Work deprecation 2023-12-23 11:36:33 +01:00
Stypox
121d1a5b50 Add @NonNull annotations 2023-12-22 18:52:42 +01:00
Stypox
bf5825c3b4 Fix scrolling to correct comment after closing replies 2023-12-22 18:52:42 +01:00
TobiGr
df5e35e315 scroll last comment into view 2023-12-22 11:57:55 +01:00
TobiGr
8b064d77b8 Expand DetailFragment again when exiting the CommentRepliesFragment 2023-12-22 11:57:55 +01:00
Stypox
816e60b090 Revert relying on source ListInfo, use commentsInfoItem.getUrl() instead
This reverts commit bb01da3691ff1d5c3dccd41b7ca1a5deb1b5676f. This commit was not needed
2023-12-22 11:57:55 +01:00
Stypox
e671b1f241 Add some documentation and javadocs
Also further simplify CommentRepliesInfo and RelatedItemsInfo
2023-12-22 11:57:55 +01:00
Stypox
0c2513623b Add comment replies fragment header 2023-12-22 11:57:55 +01:00
Stypox
c2d5855e9a Extract some utility methods from CommentInfoItemHolder 2023-12-22 11:48:07 +01:00
Stypox
4e66c2d774 Set comment replies fragment title 2023-12-22 11:48:07 +01:00
Stypox
5d121ae9ec Always show comment replies in list mode 2023-12-22 11:48:07 +01:00
Stypox
85225c75fa Fix some code smells 2023-12-22 11:48:07 +01:00
Stypox
028c554840 Save and restore state in CommentRepliesFragment 2023-12-22 11:48:07 +01:00
Stypox
cad75897b9 Implement CommentRepliesFragment 2023-12-22 11:48:07 +01:00
Stypox
8036b3ac7f Load more items even if initial related items are empty 2023-12-22 11:48:07 +01:00
Stypox
f24f652362 Keep source list info in InfoItemBuilder
Also remove some unused code
2023-12-22 11:48:07 +01:00
Stypox
35b33a2833 Move RelatedItemInfo next to fragment using it 2023-12-22 11:48:07 +01:00
Stypox
20bd1cad2d Add replies button to comments 2023-12-22 11:48:05 +01:00
Stypox
453a5e2396 Remove mini variant and move upload date to top in comments 2023-12-22 11:46:03 +01:00
Stypox
a513dbca6b Merge pull request #10673 from Stypox/transaction-too-large
Fix transaction too large in channel tab fragments
2023-12-21 22:30:22 +01:00
Stypox
51a07ae259 Merge pull request #10670 from Stypox/feed-oom
Fix OutOfMemory when fetching feed
2023-12-21 22:29:46 +01:00
Stypox
3ee83a7f90 Merge pull request #10671 from Stypox/channel-main-tab-lag
Fix application lagging with many main page tabs
2023-12-21 22:28:59 +01:00
Stypox
c6ff3b0a1e Fix transaction too large for channel tab fragments 2023-12-20 23:57:43 +01:00
Stypox
c22edf7727 Fix lag with many channels on main page
Disable loading all tabs at once, since there can be many of them, and use default strategy of only keeping in memory the two tabs adjacent to the current tab.
2023-12-20 22:47:57 +01:00
Stypox
a30605d425 Fix OutOfMemory when fetching feed
Reduced memory footprint of FeedUpdateInfo objects. Those objects might stay around for a while and accumulate (up to BUFFER_COUNT_BEFORE_INSERT = 20 at the moment), so in order not to fill up the memory it's better to keep as little data as possible.
Previously ChannelInfo data was stored, causing ReadyChannelTabLinkHandler objects to be also stored uselessly (and those channel tabs contain prefetched JSON data which used ~700KB of memory).
2023-12-20 20:22:45 +01:00
Stypox
db232b5e37 Fix crashes due to wrong root fragment manager 2023-12-10 16:06:07 +01:00
Stypox
a56547d136 Fix channel avatar not loading correctly sometimes
The fix just involves removing some really outdated code (6 years ago) added in 33e29be7db (diff-38bd2cf1b92659b499c08e1cf6ac9ef384c7e13381b906f2f98c57cbb758756dR778) (blame: https://github.com/TeamNewPipe/NewPipe/blame/9318bb530619898c1e1f3f8a8c866f3d2e35ab0c/app/src/main/java/org/schabi/newpipe/detail/VideoItemDetailActivity.java#L778).
What that code did was setting the 'buddy' image to the uploader avatar as a placeholder, and then setting the actual image if it existed and after it had loaded.
That code remained there up until now, but now it doesn't make sense anymore, since Picasso already takes care of setting placeholders.
The problem is, starting from #10066 the actual uploader image is set before (not after) those lines of code, making them do the wrong thing, i.e. always overwrite the currently set image.
But then why did the channel avatar image work normally sometimes?
My guess is that since Picasso loads images in the background, when opening a video from scratch setting the placeholder still happened before Picasso finished loading the image.
However when the image is already cached it's loaded much faster and therefore setting the placeholder happens after, effectively hiding the loaded image.
2023-12-10 15:12:38 +01:00
TobiGr
52f27265ac Update new version check to match new API structure
See TeamNewPipe/web-api#17
2023-12-10 15:12:38 +01:00