Commit graph

761 commits

Author SHA1 Message Date
Stypox
1ef844353f Merge pull request #11244 from Isira-Seneviratne/Android-elapsed-time
Use Android's elapsed time formatting
2024-11-18 16:56:41 +01:00
litetex
2c2904d59c Replaced `Icepick with Bridge and Android-State`
* IcePick fails on Java 21 (default in Android Studio 2024.2)
* Bridge is the most modern alternative that is currently available. It is backed by ``Android-State`` and can be configured with various frameworks
* In the long term this should be replaced with something better
2024-10-23 21:28:07 +02:00
Isira Seneviratne
25978ccc08 Update documentation 2024-07-07 14:25:02 +05:30
Isira Seneviratne
d75c6e5530 Use Android's elapsed time formatting 2024-07-07 10:46:17 +05:30
Isira Seneviratne
7209f03bf0 Convert comment touch listener to a lambda 2024-05-15 06:51:57 +05:30
Stypox
31be5daf71 Merge branch 'dev' 2024-04-23 19:23:20 +02:00
bg1722
118c426438 add an intuitive prefix for the duration of lists on UI, and avoid using the new prefix for single videos 2024-04-06 07:58:05 +02:00
Stypox
dd4bbdffd6 Use JSON for settings imports/exports 2024-03-30 16:58:12 +01:00
Stypox
564e34b3e7 Merge branch 'dev' into pr8221 2024-03-29 18:08:31 +01:00
bg1722
856f79a9be show OverallDuration in Playlist
earlier only overall amount of videos was shown. Now overall duration is shown there too - as formatted by existing Localization.concatenateStrings() and Localization.getDurationString().

show all videos OverallDuration in local Playlist too

refactor to make implementation in LocalPlaylistFragment and PlaylistFragment more obviously similar

unfortunately could not refactor upto BaseLocalListFragment

revert the changes for online Playlists

because they are paginated and may be infinite i.e. correct count may come only from the service->extractor chain which unfortunately does not give overall duration yet

next try to improve user-experience with online Playlist

just show that duration is longer (">") than the calculated value in case there is more page(s)

even more improve user-experience for online Playlist

by adding the duration of next items as soon as they are made visible

make showing of playlists duration configurable, disabled by default

adjusted duration to be handled as long because it comes as long from extractor

no idea why I handled it as int earlier

Revert "make showing of playlists duration configurable, disabled by default", refactor

This reverts commit bc1ba17a20d3dd1763210f81d7ca67c5f1734a3d.

Fix rebase

Apply review

Rename video -> stream

Remove unused settings keys
2024-03-29 14:11:27 +01:00
Stypox
de3f67a050 Merge pull request #10912 from Stypox/download-fixes
Download fixes
2024-03-28 19:14:20 +01:00
Stypox
8f8943d819 Merge pull request #10909 from Stypox/fix-getAudioTrackType-null
Fix not considering nullability when comparing getAudioTrackType
2024-03-28 13:47:12 +01:00
Stypox
3b957143a2 Merge pull request #10717 from Stypox/cache-key-type
Calculate cache key based on info type instead of item type
2024-03-28 13:34:51 +01:00
Stypox
bdf77d3e44 Fix choosing audio format to mux with video-only download 2024-03-28 11:09:56 +01:00
Stypox
7850de2681 Fix not considering nullability when comparing getAudioTrackType 2024-03-27 16:05:17 +01:00
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
32d0fda9cc Base cache key on info type instead of item type
It didn't really made sense to consider two cache keys as equal based on the type of items contained within that list.
2023-12-30 23:46:16 +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