Commit graph

11216 commits

Author SHA1 Message Date
Stypox
992bb5d7be
Simplify retrieveMediaFormatFromContentTypeHeader
Also check for nullity
2023-09-19 15:33:49 +02:00
Stypox
9e353f1cdc
Merge pull request #10394 from TeamNewPipe/fix/memory-leaks
Fix memory leaks and add documentation
2023-09-19 14:17:23 +02:00
TobiGr
8f83e39970 Fix three memory leaks
Add documentation to BaseFragment.initViews(View, Bundle) and BaseFragment.initListeners()
2023-09-19 00:13:16 +02:00
Stypox
0eae9e7cdc
Merge pull request #9182 from Theta-Dev/channel-tabs
Add support for channel tabs
2023-09-18 23:46:13 +02:00
TobiGr
031b893196
Remove unused content not supported TextView 2023-09-18 23:22:32 +02:00
TobiGr
64da7a06c0
Fix previous ActionBar title visible for a few miliseconds when opening ChannelFragment 2023-09-18 23:22:32 +02:00
TobiGr
57eaa1bbe1
Apply review
Co-Authored-By:  Audric V <74829229+AudricV@users.noreply.github.com>
2023-09-18 23:22:32 +02:00
TobiGr
109d06b4bb
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
0d9910cbbe
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
8fbc8ffc7c
Remove unneeded German translation 2023-09-18 23:22:32 +02:00
AudricV
f2ee3859ab
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
89dc44be61
Always show the About tab and support having no description 2023-09-18 23:22:32 +02:00
TobiGr
6ab8716e69
Extract actual feed loading code into separate method
Increase readability
2023-09-18 23:22:32 +02:00
TobiGr
5c7c382323
Add missing @Override annotations to setupMetadata() implementations 2023-09-18 23:22:32 +02:00
Stypox
78b4b9441e
Update NewPipeExtractor and adapt imports 2023-09-18 23:22:32 +02:00
Stypox
9e55014a13
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
6f23b56b06
Use consistent name for livestreams tab in settings keys 2023-09-18 23:22:32 +02:00
Stypox
1519527356
Fix loading feed when a channel tab is empty 2023-09-18 23:22:32 +02:00
Stypox
6b3a178f2a
Show snackbar with feed loading errors 2023-09-18 23:22:32 +02:00
Stypox
604419dd1f
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
c48e702a50
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
1061bce4f3
Add avatar and bannner URLs to channel About tab 2023-09-18 23:22:32 +02:00
Stypox
013d513450
Add space above channel description (About tab) 2023-09-18 23:22:32 +02:00
ThetaDev
dca32efadf
add channel banner placeholder 2023-09-18 23:22:32 +02:00
ThetaDev
28d952a643
feat: filter fetched channel tabs 2023-09-18 23:22:32 +02:00
ThetaDev
a2a717bd49
update NPE 2023-09-18 23:22:32 +02:00
ThetaDev
753a92055c
feat: add playlist controls to channel tab 2023-09-18 23:22:32 +02:00
Stypox
371f986773
Fix some code smells 2023-09-18 23:22:32 +02:00
Stypox
a1e8b9be4e
Fix channel tabs in main page setting title themselves 2023-09-18 23:22:32 +02:00
Stypox
c076a0f771
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
dfbd39e898
fix: limit channel header height 2023-09-18 23:22:32 +02:00
ThetaDev
b5893f3fa3
fix: notification menu option disappears when switching tabs 2023-09-18 23:22:32 +02:00
Stypox
e3614cb932
Move channel header to collapsible app bar 2023-09-18 23:22:32 +02:00
ThetaDev
193c3e5b3d
fix: NPE in ChannelFragment::onSaveInstanceState 2023-09-18 23:22:32 +02:00
ThetaDev
c03c344f49
refactor: rename ChannelInfo to ChannelAbout
fix: localize about tab name
2023-09-18 23:22:32 +02:00
ThetaDev
25e3031830
cleanup: remove empty constructor from ChannelFragment 2023-09-18 23:22:31 +02:00
ThetaDev
b7911a8fd8
remove fragment_channel_info 2023-09-18 23:22:31 +02:00
ThetaDev
88384dc35e
update extractor 2023-09-18 23:22:31 +02:00
ThetaDev
39b4ed082c
refactor: common code from ChannelInfo/Description -> BaseInfoFragment 2023-09-18 23:22:31 +02:00
ThetaDev
d87aa23ae0
update NewPipeExtractor 2023-09-18 23:22:31 +02:00
ThetaDev
be548dcb52
fix: channel tab title not being set 2023-09-18 23:22:31 +02:00
ThetaDev
4357a34339
fix: ChannelFragment: save last tab 2023-09-18 23:22:31 +02:00
ThetaDev
2c03ba204e
refactor: adjustments to updated tab extractor API 2023-09-18 23:22:31 +02:00
ThetaDev
2c98d079de
fix: cache channel data 2023-09-18 23:22:31 +02:00
ThetaDev
16cd47fa2e
fix: missing album tab key 2023-09-18 23:22:31 +02:00
ThetaDev
74a8bfba93
feat: add album tab 2023-09-18 23:22:31 +02:00
ThetaDev
c929f00456
fix: remember selected channel tab on screen rotation 2023-09-18 23:22:31 +02:00
ThetaDev
bb062f07f9
feat: add option to hide channel tabs 2023-09-18 23:22:31 +02:00
ThetaDev
c3d1e75a8f
fix: scrollable channel description 2023-09-18 23:22:31 +02:00
ThetaDev
506e3724a6
fix: add progress spinners 2023-09-18 23:22:31 +02:00