Commit graph

10895 commits

Author SHA1 Message Date
Tobi
9613396db0 Merge pull request #10244 from TacoTheDank/bumpMaterial
Update Google Material library
2023-09-20 18:19:53 +02:00
Tobi
e4aa34fb60 Merge pull request #10224 from TacoTheDank/moreKotlinMath
Replace MathUtils.clamp with Kotlin coerceIn
2023-09-20 11:04:54 +02:00
TacoTheDank
2d5d209d6c Replace MathUtils.clamp with Kotlin coerceIn 2023-09-19 16:32:37 -04:00
TacoTheDank
0983507f9a Update Google Material library 2023-09-19 16:30:09 -04:00
Stypox
f9e1da9c10 Merge pull request #10165 from TeamNewPipe/fix/media-format
Fix downloads of streams with missing MediaFormat
2023-09-19 15:54:12 +02:00
Stypox
4b7d1c4151 Simplify retrieveMediaFormatFromContentTypeHeader
Also check for nullity
2023-09-19 15:33:49 +02:00
Stypox
77bff83a4c Merge pull request #10394 from TeamNewPipe/fix/memory-leaks
Fix memory leaks and add documentation
2023-09-19 14:17:23 +02:00
TobiGr
4bbcfdc3e5 Fix three memory leaks
Add documentation to BaseFragment.initViews(View, Bundle) and BaseFragment.initListeners()
2023-09-19 00:13:16 +02:00
Stypox
6ade18c2aa Merge pull request #9182 from Theta-Dev/channel-tabs
Add support for channel tabs
2023-09-18 23:46:13 +02:00
TobiGr
789764f3ea Remove unused content not supported TextView 2023-09-18 23:22:32 +02:00
TobiGr
529bdb1aae Fix previous ActionBar title visible for a few miliseconds when opening ChannelFragment 2023-09-18 23:22:32 +02:00
TobiGr
60a97b0486 Apply review
Co-Authored-By:  Audric V <74829229+AudricV@users.noreply.github.com>
2023-09-18 23:22:32 +02:00
TobiGr
b134d75549 Deduplicate code to initialize ClickListeners on playlist controls
Add the separate utility class PlayButtonHelper to handle the initialization of the listeners.
The ClickListeners on playlist controls had different behaviours. This commit fixes that.

The commit also refactors the way how the app determines whether it is started for the first time. The previous version was not clean and recent in this PR caused it to fail.
2023-09-18 23:22:32 +02:00
AudricV
8922bf76b5 Fix SubscriptionManagerTest tests
The breakage of these tests is related to the channel tabs changes.

The testRememberRecentStreams test method has been removed, as it doesn't seem
to be relevant anymore to managing subscriptions.
2023-09-18 23:22:32 +02:00
AudricV
0efc25423b Remove unneeded German translation 2023-09-18 23:22:32 +02:00
AudricV
5af4db41ae Hide the upload date element on the About tab
This empty element should be always hidden for this tab, as there is no upload
date available for channels.
2023-09-18 23:22:32 +02:00
AudricV
88419ec7b1 Always show the About tab and support having no description 2023-09-18 23:22:32 +02:00
TobiGr
43054e6d67 Extract actual feed loading code into separate method
Increase readability
2023-09-18 23:22:32 +02:00
TobiGr
2f65b4f823 Add missing @Override annotations to setupMetadata() implementations 2023-09-18 23:22:32 +02:00
Stypox
43097e4486 Update NewPipeExtractor and adapt imports 2023-09-18 23:22:32 +02:00
Stypox
7602473e53 Fix wrongly themed channel header
Since it is embedded in the app bar and has red as background color, it should be themed in the same way as the toolbar.
2023-09-18 23:22:32 +02:00
Stypox
e0e4265a19 Use consistent name for livestreams tab in settings keys 2023-09-18 23:22:32 +02:00
Stypox
5325226b33 Fix loading feed when a channel tab is empty 2023-09-18 23:22:32 +02:00
Stypox
9a70693152 Show snackbar with feed loading errors 2023-09-18 23:22:32 +02:00
Stypox
abbfbce6f9 Make channel banner placeholder match YouTube's size
YouTube's "Desktop Max" thumbnails are 2560x423, while our previous placeholder banner was 2550x427. The extractor actually returns a lower resolution "Desktop Max" banner at 1060x175, but the ratio wrt 2560x423 is off by ~0.1%

The PNG was optimized with OptiPNG
2023-09-18 23:22:32 +02:00
Stypox
b26c5a7d5c Improve placeholder channel banner handling
Now the placeholder gets hidden if there is no banner url or the user disabled images, to save space
2023-09-18 23:22:32 +02:00
Stypox
486664f293 Add avatar and bannner URLs to channel About tab 2023-09-18 23:22:32 +02:00
Stypox
5613a89099 Add space above channel description (About tab) 2023-09-18 23:22:32 +02:00
ThetaDev
a5298ce994 add channel banner placeholder 2023-09-18 23:22:32 +02:00
ThetaDev
36b11db357 feat: filter fetched channel tabs 2023-09-18 23:22:32 +02:00
ThetaDev
9661774a05 update NPE 2023-09-18 23:22:32 +02:00
ThetaDev
8f7cbc93ef feat: add playlist controls to channel tab 2023-09-18 23:22:32 +02:00
Stypox
b900ddaadf Fix some code smells 2023-09-18 23:22:32 +02:00
Stypox
fc402a8742 Fix channel tabs in main page setting title themselves 2023-09-18 23:22:32 +02:00
Stypox
aa4ec2f39e Channels are now an Info
The previous "main" tab is now just a normal tab returned in getTabs().
Various part of the code that used to handle channels as ListInfo now either take the first (playable, i.e. with streams) tab (e.g. the ChannelTabPlayQueue), or take all of them combined (e.g. the feed).
2023-09-18 23:22:32 +02:00
ThetaDev
a735063c5c fix: limit channel header height 2023-09-18 23:22:32 +02:00
ThetaDev
6c60ef9a9c fix: notification menu option disappears when switching tabs 2023-09-18 23:22:32 +02:00
Stypox
559a1a46e1 Move channel header to collapsible app bar 2023-09-18 23:22:32 +02:00
ThetaDev
7a99f4910d fix: NPE in ChannelFragment::onSaveInstanceState 2023-09-18 23:22:32 +02:00
ThetaDev
59426378f1 refactor: rename ChannelInfo to ChannelAbout
fix: localize about tab name
2023-09-18 23:22:32 +02:00
ThetaDev
397234a40f cleanup: remove empty constructor from ChannelFragment 2023-09-18 23:22:31 +02:00
ThetaDev
58d384cbab remove fragment_channel_info 2023-09-18 23:22:31 +02:00
ThetaDev
243145cefd update extractor 2023-09-18 23:22:31 +02:00
ThetaDev
13496f4533 refactor: common code from ChannelInfo/Description -> BaseInfoFragment 2023-09-18 23:22:31 +02:00
ThetaDev
37b7a46c57 update NewPipeExtractor 2023-09-18 23:22:31 +02:00
ThetaDev
773a6a8c7e fix: channel tab title not being set 2023-09-18 23:22:31 +02:00
ThetaDev
72968fbefe fix: ChannelFragment: save last tab 2023-09-18 23:22:31 +02:00
ThetaDev
cd797a6bef refactor: adjustments to updated tab extractor API 2023-09-18 23:22:31 +02:00
ThetaDev
ca9102dd4c fix: cache channel data 2023-09-18 23:22:31 +02:00
ThetaDev
bfce26fddc fix: missing album tab key 2023-09-18 23:22:31 +02:00