Commit graph

716 commits

Author SHA1 Message Date
Tobi
80d25720be Merge pull request #9987 from Edwardsoen/add_high_resolution_to_default_option
Include a high-resolution option in the default resolution settings.
2023-09-24 17:54:18 +02:00
Stypox
ab8b817b9b Use @DrawableRes in PicassoHelper 2023-09-22 10:14:45 +02:00
Stypox
b7f196d920 Fix loading images from db even if disabled 2023-09-22 10:14:44 +02:00
Stypox
7828cd233d Separate imageListToDbUrl from choosePreferredImage
imageListToDbUrl should be used if the URL is going to be saved to the database, to avoid saving nothing in case at the moment of saving the user preference is to not show images.
2023-09-22 10:14:44 +02:00
Stypox
e97da723fc Add documentation and fix SonarCloud issue 2023-09-22 10:14:44 +02:00
Stypox
f7fe8adcdd Further improve image resolution strategy
Now using multiple comparison steps instead of magic values
2023-09-22 10:14:44 +02:00
Stypox
4164bf36f6 Implement better image selection strategy 2023-09-22 10:14:44 +02:00
Stypox
a6a7c2271a Add image quality preference 2023-09-22 10:14:43 +02:00
Stypox
46109ff3b9 Support obtaining multiple images from the extractor 2023-09-22 09:57:33 +02: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
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
Stypox
43097e4486 Update NewPipeExtractor and adapt imports 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
ThetaDev
36b11db357 feat: filter fetched channel tabs 2023-09-18 23:22:32 +02:00
Stypox
b900ddaadf Fix some code smells 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
Stypox
559a1a46e1 Move channel header to collapsible app bar 2023-09-18 23:22:32 +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
ThetaDev
bf81bca9fd feat: add album tab 2023-09-18 23:22:31 +02:00
ThetaDev
5ce45cd4f2 fix: remember selected channel tab on screen rotation 2023-09-18 23:22:31 +02:00
ThetaDev
1b0528870a feat: add option to hide channel tabs 2023-09-18 23:22:31 +02:00
ThetaDev
11f83b8e24 feat: add channel tabs 2023-09-18 23:22:31 +02:00
TobiGr
25034bb1b3 Add documentation to increase maintainablilty
Rename a variable
2023-09-18 01:45:53 +02:00
Edward
db6a9fcad9 Include a high-resolution option in the default resolution settings. 2023-09-18 01:15:22 +02:00
TobiGr
ee90cf4126 Fix grammar in JDoc 2023-08-22 16:23:22 +02:00
TobiGr
2ab4c1ac68 Display "Unknown quality" if quality is unknown and not MediaFormat name 2023-08-14 23:06:32 +02:00
TobiGr
c603a5519e Add tests for new methods retrieving MediaFormats
Fix failing tests
2023-08-14 23:06:32 +02:00
TobiGr
4389889698 Retrieve MediaFormat for streams that could not be extracted by the extractor 2023-08-14 23:06:32 +02:00
TobiGr
2e42298daf Rename StreamSizeWrapper to StreamInfoWrapper 2023-08-14 22:48:39 +02:00
TobiGr
6fe07cd708 Replace settings migration with automatic check for device blacklist version 2023-07-31 23:00:54 +02:00
TobiGr
33c1693720 Disable media tunneling by default on new devices
Sony BRAVIA_VH1, BRAVIA_VH2, BRAVIA_ATV2, BRAVIA_ATV3_4K
Phillips 4K (O)LED TV (PH7M_EU_5596)
Panasonic 4KTV-JUP (TX_50JXW834)
Bouygtel4K (HMB9213NW)
2023-07-29 22:08:51 +02:00
TobiGr
829b36a9cd Ensure that imports handle disabling media tunneling correctly
Store in preferences whether media tunneling was disabled automatically.
Show info in ExoPlayer settings if media tunneling was disabled autmatically.
2023-07-29 22:08:51 +02:00
TobiGr
cce9e09bbc Disable media tunneling if the device is known for not supporting it
Revert removing the Utils related to media tunneling.
2023-07-29 14:13:03 +02:00
Isira Seneviratne
96430f5232 Create individual stream notifications for convenience on Android 7.0 and later. 2023-07-17 01:28:55 +02:00
TacoTheDank
fc320354b1 Clean up AlertDialogs 2023-07-11 21:54:10 -04:00
ThetaDev
e947c88483 fix: audio stream cache key, code fmt 2023-05-01 00:04:04 +02:00
ThetaDev
148c1122e6 fix docs in app/src/main/java/org/schabi/newpipe/util/Localization.java
Co-authored-by: Audric V. <74829229+AudricV@users.noreply.github.com>
2023-05-01 00:02:37 +02:00
ThetaDev
cba0eb35e2 Merge branch 'dev' of github.com:TeamNewPipe/NewPipe into alang-selector 2023-04-21 23:32:33 +02:00
ThetaDev
a7a0811dec fix: small codestyle fixes 2023-04-21 23:15:37 +02:00
ThetaDev
e2bb4082bb Merge branch 'dev' into alang-selector 2023-04-17 23:01:07 +02:00
TobiGr
7a85c08b68 Apply new itag filter only to YouTube streams 2023-04-17 13:10:29 +02:00
TobiGr
672093ad7a Use a whitelist to filter all streams retrieved by the extractor.
NewPipe Extractor now extracts all YouTube Itags and therefore only those which can be handled by the player need to be retrieved from the list of all available streams.
2023-04-17 13:00:11 +02:00
Stypox
727de29bd6 Merge pull request #10021 from Isira-Seneviratne/PendingIntentCompat
Switch to AndroidX's PendingIntentCompat.
2023-04-14 14:20:47 +02:00
Isira Seneviratne
c91ffa4863 Use AndroidX's PendingIntentCompat class. 2023-04-13 10:53:46 +05:30
AudricV
bc7758d29f Move media tunneling setting to ExoPlayer settings and make this setting available on release builds
Media tunneling may be not supported by more devices than the ones we
whitelisted before.

As a matter of fact, the list of devices on which media tunneling is disabled
could be not maintainable in the future, especially if the list of devices
grows more and more.

A preferable solution is to allow users to configure this setting themselves,
allowing them to not wait for their device(s) to be whitelisted in a future
NewPipe update.

This solution has been applied in this commit and works on every build type.

The corresponding preference in the debug settings has been of course removed
and the code used to prevent media tunneling activation on specific devices has
been removed.
2023-04-10 17:37:30 +02:00
ThetaDev
d982079070 Merge branch 'dev' of github.com:TeamNewPipe/NewPipe into alang-selector 2023-04-03 22:13:16 +02:00