Commit Graph

713 Commits

Author SHA1 Message Date
Stypox 027b829c38
Use @DrawableRes in PicassoHelper 2023-09-22 10:14:45 +02:00
Stypox 0085ca6416
Fix loading images from db even if disabled 2023-09-22 10:14:44 +02:00
Stypox 87dca0f7ec
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 bf908f0b7d
Add documentation and fix SonarCloud issue 2023-09-22 10:14:44 +02:00
Stypox 8d463b9577
Further improve image resolution strategy
Now using multiple comparison steps instead of magic values
2023-09-22 10:14:44 +02:00
Stypox 35073c780d
Implement better image selection strategy 2023-09-22 10:14:44 +02:00
Stypox 0a8f28b1c6
Add image quality preference 2023-09-22 10:14:43 +02:00
Stypox af2375948d
Support obtaining multiple images from the extractor 2023-09-22 09:57:33 +02:00
Stypox 725c18eada
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 992bb5d7be
Simplify retrieveMediaFormatFromContentTypeHeader
Also check for nullity
2023-09-19 15:33:49 +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
Stypox 78b4b9441e
Update NewPipeExtractor and adapt imports 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
ThetaDev 28d952a643
feat: filter fetched channel tabs 2023-09-18 23:22:32 +02:00
Stypox 371f986773
Fix some code smells 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
Stypox e3614cb932
Move channel header to collapsible app bar 2023-09-18 23:22:32 +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 6d13cf5e71
feat: add channel tabs 2023-09-18 23:22:31 +02:00
TobiGr 68957d3880 Fix grammar in JDoc 2023-08-22 16:23:22 +02:00
TobiGr ba84e7eead Display "Unknown quality" if quality is unknown and not MediaFormat name 2023-08-14 23:06:32 +02:00
TobiGr e51067177e Add tests for new methods retrieving MediaFormats
Fix failing tests
2023-08-14 23:06:32 +02:00
TobiGr f3859ed710 Retrieve MediaFormat for streams that could not be extracted by the extractor 2023-08-14 23:06:32 +02:00
TobiGr 0db12e5561 Rename StreamSizeWrapper to StreamInfoWrapper 2023-08-14 22:48:39 +02:00
TobiGr d6a1170ddb Replace settings migration with automatic check for device blacklist version 2023-07-31 23:00:54 +02:00
TobiGr 40d102fcb5 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 1db73370a7 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 8b63b437d8 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 7742c40ac0 Create individual stream notifications for convenience on Android 7.0 and later. 2023-07-17 01:28:55 +02:00
TacoTheDank c1f0a945c0 Clean up AlertDialogs 2023-07-11 21:54:10 -04:00
ThetaDev 22671ca16c fix: audio stream cache key, code fmt 2023-05-01 00:04:04 +02:00
ThetaDev 4e837e838d
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 c377ffbce8 Merge branch 'dev' of github.com:TeamNewPipe/NewPipe into alang-selector 2023-04-21 23:32:33 +02:00
ThetaDev b567d428ad fix: small codestyle fixes 2023-04-21 23:15:37 +02:00
ThetaDev 2edc223e77 Merge branch 'dev' into alang-selector 2023-04-17 23:01:07 +02:00
TobiGr e18a6b09f8 Apply new itag filter only to YouTube streams 2023-04-17 13:10:29 +02:00
TobiGr f8c3ec4be7 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 ba3afd1e35
Merge pull request #10021 from Isira-Seneviratne/PendingIntentCompat
Switch to AndroidX's PendingIntentCompat.
2023-04-14 14:20:47 +02:00
Isira Seneviratne acebabd028 Use AndroidX's PendingIntentCompat class. 2023-04-13 10:53:46 +05:30
AudricV a6ff85a208
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 d010384c88 Merge branch 'dev' of github.com:TeamNewPipe/NewPipe into alang-selector 2023-04-03 22:13:16 +02:00
ThetaDev 39a5c8bdfb fix: reset video stream sizes on audio track selection 2023-03-29 13:39:29 +02:00
AudricV 1a8aa8b17e
Use a system chooser when opening links in browser in the case there is no browser available
This change makes the app using the behavior when there is no default browser
on Android 11 and lower, by opening a system chooser when there is no browser
available (on all Android versions).

Also catch any exception when the system chooser cannot be opened and show the
"No app on your device can open this" toast in this case, as an
`ActivityNotFoundException` could be thrown if no app is available to open a
given web link.
2023-03-26 00:04:38 +01:00
ThetaDev ed06f559ae feat: add track selection to downloader 2023-03-20 21:41:28 +01:00