Commit graph

741 commits

Author SHA1 Message Date
Tobi
bced1e3494 Merge pull request #10732 from Profpatsch/dont-write-media-format
Don't write defaultFormat setting, use default value
2024-03-25 10:36:35 +01:00
Isira Seneviratne
95942294de Use hexToByteArray() extension 2024-03-20 14:00:13 +01:00
Isira Seneviratne
e2d21cbf1f Convert isReleaseApk to lazy value 2024-03-20 14:00:13 +01:00
Isira Seneviratne
919cd00428 Improve app signature check 2024-03-20 14:00:13 +01:00
Ikko Eltociear Ashimine
1dc850b881 Update TextLinkifier.java
minor fix
2024-03-18 14:43:16 +09:00
Profpatsch
7d26e721e9 Don't write defaultFormat setting, use default value
Nowhere else does this (write a setting if it’s not set).

It took me a while to see that this code does not do what it intends,
because `defaultFormat` is already the default value in the first
`context.getString`, so calling `getMediaFormatFromKey` again is the
exact same call (“do you know the definition of insanity…”) and will
return `null` again …

So let’s drop the setting write and just rely on the default values.
2024-01-06 17:24:53 +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
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
TacoTheDank
b749eb52e9 Utilize BundleCompat and IntentCompat methods 2023-12-23 11:38:40 +01:00
Stypox
121d1a5b50 Add @NonNull annotations 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
c2d5855e9a Extract some utility methods from CommentInfoItemHolder 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
5be89efbfb Merge pull request #10446 from AudricV/dl_improve_video_audio_stream_selection
Improve audio stream selection for video-only streams in the downloader
2023-12-07 16:48:57 +01:00
Stypox
8bfd7fd6a3 Improve javadoc for getAudioStreamFor 2023-12-07 16:40:32 +01:00
Stypox
481b59c7e7 Merge pull request #10489 from sqproman/missing_quotation_replace_char_crash
Quote filename replacement characters to fix crashes when downloading streams with special characters
2023-11-16 20:19:01 +01:00
AudricV
98713e491f Remove OPUS HLS streams from playable streams
This format is not supported by ExoPlayer when returned as HLS streams, so we
can't play streams using this format and this delivery method.

Also improve the Javadoc of ListHelper.getPlayableStreams.
2023-11-15 23:37:22 +01:00
akko
bfa0999d0a adds quotation to create filename util replacement char 2023-10-13 11:28:09 +07:00
AudricV
213eebfc28 Use ListHelper to get secondary audio streams for video-only streams
Instead of searching for the first audio stream matching a compatible media
format, this change makes SecondaryStreamHelper.getAudioStreamFor use methods
isLimitingDataUsage, getAudioFormatComparator and getAudioIndexByHighestRank of
ListHelper to get an audio stream which can be muxed into a video-only stream,
if available.

This allows users to download videos with the highest audio quality available
if no resolution limit on mobile data usage has been set.

The order of formats used to search a compatible audio stream has been kept.
2023-09-24 18:23:45 +02:00
AudricV
2bbfcffb73 Make isLimitingDataUsage method of ListHelper package-private and fix some typos in the class 2023-09-24 18:23:44 +02:00
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