TobiGr
e6965622bd
Fix crash with disabled thumbnails when trying to play a stream
2023-12-10 15:12:38 +01:00
Stypox
e784af3e2d
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
ce30108efc
Improve javadoc for `getAudioStreamFor`
2023-12-07 16:40:32 +01:00
Stypox
7cfd537755
Merge pull request #10494 from TobiGr/fix-new-streams
...
Fix notifying about old "new" streams
2023-12-07 14:12:54 +01:00
Tobi
b4a0e08d9d
Update app/src/main/java/org/schabi/newpipe/database/feed/dao/FeedDAO.kt
...
Co-authored-by: Stypox <stypox@pm.me>
2023-11-23 17:12:16 +01:00
Stypox
545f9ae5f3
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
Stypox
be4a5a5f3e
Merge pull request #10576 from AudricV/fix-npe-feed-new-items-button
...
Fix crash when setting the masking of the new feed items button if the context is null
2023-11-16 09:02:24 +01:00
Stypox
3dc593fe88
Merge pull request #10577 from AudricV/fix-npe-play-queue-audio-track-menu
...
Fix crash when building the play queue audio track menu if the player is null
2023-11-16 09:01:11 +01:00
Stypox
e8ed18f1cf
Merge pull request #10578 from AudricV/try-fix-player-service-foreground-start
...
Restore player service start handling before player UI separation and fix some issues in this service
2023-11-16 08:59:56 +01:00
AudricV
e5fda35c51
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
AudricV
84d50da009
Restore player service start handling before player UI separation
...
This behavior was present before 0.24.0 and the player UI separation and
avoided crashes for which their exception contained
"Context.startForegroundService() did not then call Service.startForeground()".
Some player nullability checks have been also added, and the player service is
now stopped when it has been started from a media button and there is nothing
to play.
2023-11-15 23:21:20 +01:00
AudricV
2cf7764714
Fix crash when building the play queue audio track menu if the player is null
...
As the player can be null in some cases, we have to make sure that the player
is not null, by using Optionals on the player itself instead of its methods
returning Optionals.
If the player is null, the play queue audio track menu will now be hidden.
2023-11-15 21:45:56 +01:00
AudricV
9fab0ec94f
Fix crash when setting the masking of the new feed items button if the context is null
...
As the fragment context can be null in some cases, we have to make sure that
the context is not null before calling
DeviceUtils.hasAnimationsAnimatorDurationEnabled.
If the context is null, the button will now not be hidden automatically.
2023-11-15 19:04:45 +01:00
TobiGr
5265b767cb
Fix notifiying about old "new" streams
...
Add tests for `FeedDAO.unlinkStreamsOlderThan(:offsetDateTime) `
Closes #10237
2023-10-14 18:33:21 +02:00
akko
6d0bb02544
adds quotation to create filename util replacement char
2023-10-13 11:28:09 +07:00
TobiGr
3d5a8af52b
Fix inconsistency when LocalPlaylist is used as MainFragment tab
2023-10-02 02:56:30 +02:00
Yingwei Zheng
1cf670dad9
Fix inconsistency between user interaction and database commit order when re-adding videos to the playlist
2023-10-02 02:56:30 +02:00
Siddhesh Naik
e80b6b3057
Add playlist name and video name to playlist sharing content ( #10427 )
...
- Currently, only a list of videos separated by newline are added in
the share content.
- This makes it difficult to identify a specific video in a list of
Urls.
- Used string resources for the sharing content formats.
- Added a confirmation dialog for users to choose between sharing
playlist formats.
- Added Playlist name as the header and corresponding video name for
each video url in following format.
Playlist
- Music1: https://media-url1
- Music2: https://media-url2
- Music3: https://media-url3
Co-authored-by: TobiGr <tobigr@users.noreply.github.com>
2023-09-26 11:11:33 +02:00
AudricV
77bbbc88f8
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
cdb79ef78a
Make isLimitingDataUsage method of ListHelper package-private and fix some typos in the class
2023-09-24 18:23:44 +02:00
Tobi
1630e309fb
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
TobiGr
94c1438913
Use "done" button to close license dialogs.
...
Rename string res "recaptcha_done_button" to "done".
2023-09-23 13:56:49 +02:00
TobiGr
e206a26a85
Restore license dialog buttons to open the SoftwareComponent's website
...
Do not keep the active License but the active SoftwareComponent.
2023-09-23 13:49:09 +02:00
TobiGr
242e20316b
[AboutFragment / LicenseFragment] Fix license restore after rotation
...
Do not restore last opened license after a rotation change when the license was closed earlier.
This commit adds onCancelListener and onDismissListener to the AlertDialogs which are used to display the licenses.
2023-09-23 13:49:09 +02:00
Stypox
bdc2aa2b39
Update extractor and remove DeobfuscateException
...
In ErrorInfo it was treated separately from other ParsingExceptions, including by showing a customized message, which has now been removed.
2023-09-22 10:43:37 +02:00
Stypox
f8b756c8bc
Make question mark localizable
2023-09-22 10:14:45 +02:00
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
37af2c87e8
Fix possible NPE in PlayQueueNavigator
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
4f7d206736
Display all thumbnails in description tab
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
TobiGr
2a1b506d98
Improved accessibility of player interfaces
2023-09-21 12:20:00 +02:00
Stypox
b798ff5c92
Merge pull request #10435 from TeamNewPipe/imp/codequality
...
Improve codequality
2023-09-20 21:24:44 +02:00
TobiGr
779ea19222
Fix doc formatting
2023-09-20 19:44:23 +02:00
Isira Seneviratne
a1f2b7f8e8
Switch to Files.createDirectories()
2023-09-20 19:44:23 +02:00
TobiGr
0acc3532c9
Remove useless override
2023-09-20 15:42:09 +02:00
TobiGr
8bf2d996ea
Reorder the modifiers to comply with the Java Language Specification.
2023-09-20 15:41:57 +02:00
TobiGr
748c2babe9
Add comments and annotations
2023-09-20 15:41:21 +02:00
TacoTheDank
b1faed586d
Replace MathUtils.clamp with Kotlin coerceIn
2023-09-19 16:32:37 -04: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
8f83e39970
Fix three memory leaks
...
Add documentation to BaseFragment.initViews(View, Bundle) and BaseFragment.initListeners()
2023-09-19 00:13:16 +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
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
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
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
28d952a643
feat: filter fetched channel tabs
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
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
39b4ed082c
refactor: common code from ChannelInfo/Description -> BaseInfoFragment
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
4859ab67d4
feat: prettier channel info page
2023-09-18 23:22:31 +02:00
ThetaDev
6d84d19520
fix: handle unsupported content
2023-09-18 23:22:31 +02:00
ThetaDev
8627efd0a1
fix: get notified menu option on all tabs
2023-09-18 23:22:31 +02:00
ThetaDev
6d13cf5e71
feat: add channel tabs
2023-09-18 23:22:31 +02:00
Rishab Aggarwal
7e2ab0d384
Improved downloading experience ( #10407 )
...
* added LoadingDialog for improving download experience
* [LoadingDialog] Apply some review comments and make title customizable.
* removed permission handling from loading Dialog
* fix checks
* remove <p> Tag from first sentence
---------
Co-authored-by: rishabaggarwal <Rishabaggarwal@sharechat.com>
Co-authored-by: TobiGr <tobigr@users.noreply.github.com>
2023-09-18 05:24:03 +05:30
TobiGr
19640d5e7c
Add documentation to increase maintainablilty
...
Rename a variable
2023-09-18 01:45:53 +02:00
Edward
d1a82a85cd
Include a high-resolution option in the default resolution settings.
2023-09-18 01:15:22 +02:00
TobiGr
f2c2f1735e
Replace RuntimeException with IOException
...
The RuntimeException was not explicitly declared and thus not caught at every call of this constructor. This change ensures that this possible exception is handled by the dedicated error handlers.
2023-09-17 15:31:19 +02:00
TobiGr
4e41e12bd2
Small code and doc improvements
...
Remove unnecessary else-branch and use Collections.isEmpty().
Add doc comment for splitFilename()
2023-09-17 15:31:19 +02:00
Isira Seneviratne
6df808f266
Use Path in the download helper classes.
2023-09-17 14:50:26 +02:00
AudricV
2d16a06bc4
Show play queue button in main player when there is one stream
2023-08-30 19:45:53 +02:00
TobiGr
68957d3880
Fix grammar in JDoc
2023-08-22 16:23:22 +02:00
TobiGr
62f0abee47
Simplify MainActivity.tabSelected(MenuItem)
...
Rename variables and skip iterations if kiosk was found.
2023-08-19 21:58:44 +02:00
TobiGr
db5ed48dbb
Fix some sonar warnings and make some smaller improvements
2023-08-14 23:09:50 +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
Stypox
bef79e77aa
Update app/src/main/java/org/schabi/newpipe/fragments/list/BaseListInfoFragment.java
2023-08-06 10:07:13 +02:00
TobiGr
32f74273f0
Adjust empty state message for ListInfoFragments depending on Info stream type
...
Show "no streams" for SoundClound.
Show "no live streams" for MeidaCCCLiveStreamKiosk.
Otherwise show "no videos"
2023-08-05 03:50:28 +02:00
TobiGr
c69bcaafbb
Fixed some Sonar warnings
2023-08-03 12:02:08 +02:00