1
0
mirror of https://github.com/TeamNewPipe/NewPipe synced 2024-11-16 23:04:56 +00:00
Commit Graph

3765 Commits

Author SHA1 Message Date
Jared Fantaye
9067c770a7 Made some small code improvements 2023-02-25 22:14:49 +01:00
Stypox
4b050c0dd8
Merge pull request #9850 from Stypox/fix-api33-links-again3
[Android 11+] Correctly open URLs in browser and fix opening downloads and external players
2023-02-25 14:33:41 +01:00
Stypox
be4f3d9d62
Improve javadocs in ShareUtils 2023-02-25 13:14:31 +01:00
Stypox
24ff6a4313
Rename videoURL to streamUrl 2023-02-25 13:14:31 +01:00
Stypox
c2968a3ff2
Use non-deprecated resolveActivity method on API 33+
But such method is not available before API 33
2023-02-25 13:14:31 +01:00
Stypox
600ebdae18
Correctly open urls in browser on Android 11+
- Fix misconfiguration in manifest ('http|https|market' is not valid)
- Split ShareUtils functions taking a boolean parameter into pairs of functions with better names and less runtime checks
- Move all Kore-related functions to KoreUtils
- Remove the toast_no_player string
2023-02-25 09:13:59 +01:00
Robin
5560cea470 Update to ExoPlayer 2.18.3 2023-02-23 12:46:05 +01:00
Stypox
39c500f33c
Revert "Use WindowCompat." 2023-02-14 08:27:04 +01:00
pratyaksh1610
624ad6a47c
Prevent NPEs when comment text is null 2023-02-14 08:18:13 +01:00
Jared Fantaye
68ea99d6e6 Made some small code improvements 2023-02-09 23:17:36 +01:00
Jared Fantaye
bc29f40d69 Implemented the suggested changes 2023-02-09 21:18:21 +01:00
Jared234
42fb13f17a
Merge branch 'dev' into 1473_remove_duplicates_from_playlist 2023-02-09 20:47:10 +01:00
Jared Fantaye
d5b54c85ed Made some small adjustments to the database query 2023-02-09 20:41:22 +01:00
Mahendran
75292e099c Larger channel cards in search results
- Thumbnail larger (100dp) than the usual (92dp) throughout the app
- Description lint count is 8 (normally 3)
2023-02-09 06:15:22 +05:30
Stypox
e0cb2892b8
Merge branch 'master' into dev 2023-02-08 22:48:14 +01:00
Stypox
4cc653fdf1
Fix opening links on Android 12+ 2023-02-07 22:39:12 +01:00
Stypox
4c5c2a3d79
Merge pull request #9693 from Redirion/accelerometerfix
Orientation is locked if there is no sensor for it
2023-02-07 20:07:45 +01:00
ge78fug
26b29ca78d Made the requested color changes 2023-02-07 18:46:40 +01:00
Trust_04zh
e947e86eae
Make positions in list depend on watch history, remove confusing animations
The following is the list of all commits squashed together:

Regain function for option `Positions in lists`

use option `Resume playback` to control display of progress info in VideoDetailFragment, remove this (extra) function from option `Positions in lists`.
remove extra check for live streams, live streams updates just as non-live streams.

fix #8176 by eliminating exit delay

Regain function for option `Positions in lists`

update code with developer's comments

 apply static import to methods in util class DependentPreferenceHelper

Regain function for option `Positions in lists`

use option `Resume playback` to control display of progress info in VideoDetailFragment, remove this (extra) function from option `Positions in lists`.
remove extra check for live streams, live streams updates just as non-live streams.

fix behavior for displaying progress bar when autoplay off but video resume on

not to retrieve unnecessary states when position in lists disabled

fix mistake in code

simplify conditional logic

update doc comment and remove unused method

Fix not showing duration if position indicators disabled

Positions in lists only depends on watch history
2023-02-07 09:48:18 +01:00
Jared Fantaye
5d3955854e Fixed the merge conflict 2023-02-05 21:21:02 +01:00
Jared234
3ff4b713e8
Merge branch 'dev' into 9458_faulty_playlist_thumbnail_update 2023-02-05 20:45:44 +01:00
Jared Fantaye
68097568d5 Fixed the bug by replacing the thumbnail_url with the thumbnail_stream_id 2023-02-05 20:32:34 +01:00
Jared Fantaye
cd8d57040c Implemented the feature using multiple checkboxes 2023-02-04 18:48:27 +01:00
Tobi
e0ba872b66 Revert "Update ExoPlayer to 2.18.2"
This commit reverts 1bb166a
2023-02-03 18:33:35 +01:00
Jared Fantaye
9c82441c19 Implemented the feature and fixed some small issues 2023-02-01 23:10:31 +01:00
ge78fug
38db0cc713 Changed the color 2023-01-31 16:07:57 +01:00
Marius Wagner
ee217eb9b7
Merge branch 'TeamNewPipe:dev' into tabs_on_bottom 2023-01-31 13:37:47 +01:00
Jared Fantaye
d2d324f2dd First draft of the new feature 2023-01-30 22:37:24 +01:00
Stypox
ca421c28a1
Merge pull request #9538 from Jared234/4186_warning_duplicates_in_playlist
Handle duplicate streams in the "Add to playlist" dialog
2023-01-29 10:36:31 +01:00
Stypox
102975aeb3
Improve handling playlist duplicate indicator 2023-01-29 10:32:32 +01:00
Stypox
cd12503f99
Merge pull request #9631 from TeamNewPipe/update-npe
Update NewPipeExtractor and properly linkify comments
2023-01-28 22:40:19 +01:00
Stypox
1e724eba6c
Merge pull request #9706 from Jared234/9131_bug_background_player
Fixed a bug that caused the background player to stop working
2023-01-28 21:56:00 +01:00
Jared Fantaye
c70ce791db Added the duplicate indicator explanation & removed some unnecessary functions 2023-01-27 15:37:33 +01:00
ge78fug
0821f6463a Added bottom main-tabs feature 2023-01-25 19:25:57 +01:00
Jared Fantaye
5b3f8a3d30 Replaced the equals method 2023-01-21 14:56:55 +01:00
Jared Fantaye
e26c038565 Made some small adjustments 2023-01-20 11:55:50 +01:00
Jared Fantaye
ddda80a577 Fixed the bug 2023-01-17 22:31:22 +01:00
TobiGr
e9fcad4787 Fix SonarLint 2023-01-16 23:20:50 +01:00
TobiGr
640d4b0280 Fix more NPEs after OnSharedPreferenceChangeListener changes 2023-01-16 23:05:29 +01:00
Stypox
b9378a7c1f
Fix NPEs after OnSharedPreferenceChangeListener changes
Apps targeting {@link android.os.Build.VERSION_CODES#R} on devices running OS versions {@link android.os.Build.VERSION_CODES#R Android R} or later, will receive a {@code null} value when preferences are cleared.
2023-01-16 22:30:28 +01:00
Robin
9ecd5dff09 Orientation is locked if there is no sensor for it 2023-01-16 13:56:45 +01:00
Stypox
abe6dfb99c
Merge pull request #9671 from Stypox/fix-toast-crash-api33
Fix popup enablement toast crash on API 33
2023-01-15 21:05:05 +01:00
Stypox
6e73c489de
Improve ellipsizing comments 2023-01-15 19:28:01 +01:00
Stypox
489df0ed7d
Update NewPipeExtractor and properly linkify comments 2023-01-15 19:27:56 +01:00
Mahendran
7924bb5b6b Thumbnails used in NewPipe are small (list/grid) mode. This PR facilitates full width thumbnails and dubbed as card mode. 2023-01-15 22:32:03 +05:30
Stypox
c47d1af5e3
Merge pull request #9555 from Marius1501/make_the_channel_images_bigger
Made the channel-images in the grid list bigger
2023-01-15 15:16:09 +01:00
Stypox
51af961e0d
Merge pull request #8894 from Isira-Seneviratne/WindowCompat
Use WindowCompat.
2023-01-15 15:14:05 +01:00
Stypox
86997794ab
Merge pull request #9678 from Marius1501/change_whats_new_icon
Changed the What's New icon
2023-01-15 15:12:26 +01:00
Stypox
22c201be39
Create text subpackage in util 2023-01-15 11:51:07 +01:00
AudricV
cdd5e89b86
Add ability to copy hashtags, URLs and timestamps in descriptions on long-press
This commit adds the ability to copy to clipboard hashtags, URLs and timestamps
when long-pressing them.

Some changes in our TextView class related to text setting have been required
and metadata items are now using a NewPipeTextView instead of a standard
TextView.

Six new classes have been added:

- a custom LinkMovementMethod class;
- a custom ClickableSpan class, LongPressClickableSpan, in order to set a long
  press event;
- a class to avoid code duplication in CommentTextOnTouchListener, TouchUtils;
- three implementations of LongPressClickableSpan used when linkifying text:
  - HashtagLongPressClickableSpan for hashtags;
  - TimestampLongPressClickableSpan for timestamps;
  - UrlLongPressClickableSpan for URLs.
2023-01-15 11:40:27 +01:00
ge78fug
764b6aa2b1
Made the channel-images in the grid list bigger
Also improved the handling of additional information (expanded description, video count, subscriber count)
2023-01-15 10:50:20 +01:00
Isira Seneviratne
f766ef2033 Replace the system UI visibility flags with WindowCompat calls. 2023-01-15 05:44:45 +05:30
Stypox
ef4a6238c8
See if playlists already contain a stream from db 2023-01-14 18:01:48 +01:00
Jared Fantaye
b3554a6a49
Added the number of duplicates to the toast text. 2023-01-14 18:01:48 +01:00
Jared Fantaye
5fb7b3266b
Removed the duplicate dialog and added another toast option 2023-01-14 18:01:48 +01:00
Jared Fantaye
8b6e110635
Fixed the functionality, improved performance & general code cleanup 2023-01-14 18:01:47 +01:00
Jared Fantaye
f5a1f915be
Continued working on a way to show that items are already in a playlist 2023-01-14 18:01:47 +01:00
Jared Fantaye
ac15339911
Started working on a way to show that items are already in a playlist 2023-01-14 18:01:47 +01:00
Jared Fantaye
fdfeac081a
Implemented a warning before adding duplicate to playlist. 2023-01-14 18:01:46 +01:00
ge78fug
31396a632f Chenged the name of the icon 2023-01-14 09:21:37 +01:00
Jared Fantaye
135fc08212 Implemented the "remove duplicates" feature. 2023-01-13 21:35:22 +01:00
ge78fug
5e3caf68a5 Chenged the What's New icon 2023-01-13 16:33:45 +01:00
Stypox
262b3a2945
Merge pull request #9664 from Marius1501/whats_new_section_to_default_tabs
Added the "What's New"-section to the default tabs
2023-01-13 13:25:02 +01:00
Stypox
e44d09208c
Merge pull request #9642 from Jared234/8582_empty_playlists_not_shown
Fixed a bug that prevented the display of multiple empty playlists
2023-01-13 13:20:42 +01:00
Jared Fantaye
38c4a1ed85
Fixed the "Remove Watched" bug
Reverted changes and fixed bug in a different way
2023-01-12 23:44:26 +01:00
Stypox
fd8e92cf77
Merge pull request #9523 from Jared234/9468_permanently_set_thumbnail
Allow the user to permanently set a thumbnail
2023-01-12 23:27:50 +01:00
Stypox
062570cc47
Merge pull request #8886 from Isira-Seneviratne/Remove_Runnable_variables
Remove Runnable variables for Handlers.
2023-01-12 15:34:12 +01:00
Isira Seneviratne
9514316be3
Remove Runnable variables for Handlers. 2023-01-12 15:30:19 +01:00
Stypox
a15a5adacc
Merge pull request #9619 from Redirion/avoidreflectionifpossible
Check availability of Samsung DeX only on Samsung devices
2023-01-12 12:06:19 +01:00
Stypox
b6e6d39985
Fix toast crash on API 33
You shouldn't call getView() on toasts.
Also simplified some duplicate code.
2023-01-12 11:39:25 +01:00
Stypox
48ae830262
Merge pull request #9653 from petlyh/fix-popup-crash
Ask for permission when enqueuing in a popup
2023-01-12 11:24:21 +01:00
Stypox
03f5dd71a5
Merge pull request #9499 from pratyaksh1610/branch-9466
Added Language suffix for subtitle downloads
2023-01-11 19:46:51 +01:00
Stypox
2afbe58722
UX improvements: keep user edits & do not reset cursor 2023-01-11 19:45:55 +01:00
ge78fug
0a64eac778 Added the "What's New"-section to the default tabs 2023-01-11 16:06:11 +01:00
Stypox
ad605e2c5a
Actually there is no need to use flatMap
`null` values returned in the lambda are converted to empty `Optional`s in the `map` method: https://developer.android.com/reference/java/util/Optional#map(java.util.function.Function%3C?%20super%20T,%20?%20extends%20U%3E)
2023-01-11 15:26:46 +01:00
Stypox
944e295ae7
Use Optional for simpler code 2023-01-11 15:14:18 +01:00
devlearner
28109fef38
Improve showing of toast
We provide visual feedback via a toast to the user that, well, they're supposed to wait; but with the benefit of the cache openAddToPlaylistDialog() may return (almost) immediately, which would render the toast otiose (if not a bit confusing). This commit improves that by cancelling the toast once the wait's over

... (by 'abusing' RxJava's ambWith();
ref on compose() and Transformer: https://blog.danlew.net/2015/03/02/dont-break-the-chain/
and for me, first time laying my hands at RxJava so kindly bear with me; open for suggestions)
2023-01-11 14:53:48 +01:00
devlearner
40442f3f82
Utilize Lifecycle observer
I thought it would have required an extra dependency; apparently that doesn't seem to be the case...
2023-01-11 14:53:48 +01:00
devlearner
61da167b4f
Oops, added back missing return; 2023-01-11 14:53:48 +01:00
devlearner
c744f6756b
Fix Sonar reported code smell 2023-01-11 14:53:48 +01:00
devlearner
de7057ac3a
Skip REORDER_TO_FRONT trick which doesn't seem to work on newer Androids
probably due to background restrictions on Android 10+
2023-01-11 14:53:48 +01:00
devlearner
585bfff11d
Utilize a retained fragment to safekeep network requests in flight
pending result for openAddToPlaylistDialog() and openDownloadDialog()
Despite marked deprecated, setRetainInstance(true) is probably our best bet (since a ViewModel is probably too overkill for our present purpose)
2023-01-11 14:53:48 +01:00
devlearner
0f9c20c986
Improve (un)registering FragmentLifecycleCallbacks
to avoid adding it multiple times and ensure proper cleanup
2023-01-11 14:53:48 +01:00
devlearner
f860392ae9
Address LayoutParams.FLAG_NOT_TOUCHABLE restriction on Andriod 12+ 2023-01-11 14:53:48 +01:00
devlearner
391830558e
Ensure our transparent activity doesn't block touch events to underlying windows
so we won't hold up UI while fetching media info for Add to Playlist or Download actions
lest user might think it freezes when in fact a network request is underway
2023-01-11 14:53:48 +01:00
devlearner
c1f37d8591
Also show toast in openDownloadDialog()
and lengthened a bit to inform user to wait...
2023-01-11 14:53:48 +01:00
devlearner
b175774ad8
Try to amicably handle DialogFragment in FragmentManager when recreated from orientation change
- Handle finish() call instead of passing around callbacks to setOnDismissListener()
- Don't start over again if returning to DialogFragment before orientation change
2023-01-11 14:53:48 +01:00
devlearner
73e32889b6
Don't finish() to allow recreate
when orientation change is on foot
2023-01-11 14:53:48 +01:00
devlearner
400ee808e0
Set up theme/locale before super.create()
This seems to solve a bug where the Open action menu dialog does not appear the first time on cold start on older Android (8.0).
This is also the order of things in MainActivity and probably good practice.
2023-01-11 14:53:48 +01:00
Stypox
9c7ed80662
Use Optional.map correctly and other improvements 2023-01-11 14:47:53 +01:00
Jared Fantaye
eb3363d4dd Created the first draft. 2023-01-10 20:55:18 +01:00
petlyh
edff696ecc
Ask for permission when enqueuing in a popup 2023-01-10 14:16:19 +01:00
Jared Fantaye
9c19e9813a Fixed a bug that caused multiple empty playlists to be not shown. 2023-01-08 11:53:42 +01:00
Jared Fantaye
2679a4bf1e Removed the "Unset Thumbnail" item if you can't use this feature 2023-01-04 16:21:16 +01:00
Isira Seneviratne
e8216b2e80 Apply code review suggestions. 2023-01-04 06:10:14 +05:30
Isira Seneviratne
e3062d7c66 Use Optional chaining. 2023-01-04 05:16:21 +05:30
Isira Seneviratne
fd55d85bbf Remove SimplifyOptionalCallChains. 2023-01-04 05:16:21 +05:30
Robin
f10d591462 Samsung DeX should only be checked on Samsung devices
Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
2023-01-03 15:12:02 +01:00
pratyaksh1610
3e15c77a05 move string to donottranslate.xml and fix nits 2023-01-03 14:07:28 +05:30
Stypox
1bb166a9e8
Merge pull request #9553 from Redirion/exo182
Update ExoPlayer to 2.18.2
2023-01-02 18:21:53 +01:00
Stypox
8fa949537b
Merge pull request #8769 from Isira-Seneviratne/New_Utils_methods
Use new NPE UTF8 Utils methods
2023-01-02 17:59:26 +01:00
Stypox
7454b31788
Merge pull request #9562 from bravenewpipe/use-videostream-for-audio-only-background-playback
Support audio only background for services only supporting video streams
2023-01-02 17:51:10 +01:00
Stypox
b6488fe342
Merge pull request #8841 from Isira-Seneviratne/Notification_mode_ListAdapter
Use ListAdapter in NotificationModeConfigAdapter.
2023-01-02 14:47:25 +01:00
Stypox
b1d9080a0f
Simplify disposables handling in notification mode settings 2023-01-02 14:45:11 +01:00
pratyaksh1610
50269d0f5e updated caption file name and clean code 2023-01-02 16:23:45 +05:30
Robin
f17155bb3f
Merge branch 'TeamNewPipe:dev' into exo182 2023-01-02 10:35:20 +01:00
Isira Seneviratne
7988fe0c5a Use new NewPipe Extractor Utils methods. 2023-01-02 07:03:18 +05:30
evermind
f4a5b3bcbf set 'playback in background button' visible if there are videostreams 2023-01-01 21:55:03 +01:00
Stypox
6af2242d5d
Merge pull request #9521 from pratyaksh1610/branch-9518
Fixes #9518: Crash fix when click "Add to playlist" while the current list is still loading
2022-12-31 23:31:58 +01:00
Stypox
d21fac658b
Remove playlist details toasts 2022-12-31 23:30:17 +01:00
Stypox
27f6c3b634
Merge pull request #9502 from Jared234/8585_download_in_queue
Added option to download items in the queue
2022-12-31 19:34:07 +01:00
Stypox
b3bfec9505
Use correct fragment manager for download dialog
Tapping download on the long-press menu of queue items when the queue is shown inside the player would crash otherwise
2022-12-31 19:31:24 +01:00
Stypox
367ece8ffa
Merge pull request #9496 from Jared234/9437_continue_playing_while_seeking
Seeking no longer pauses the played video
2022-12-31 19:19:21 +01:00
Stypox
661cd4c182
Merge pull request #9159 from Isira-Seneviratne/Refactor_VideoPlayerUi
Refactor VideoPlayerUi.
2022-12-31 19:01:19 +01:00
Stypox
be856f71c8
Merge pull request #8847 from Isira-Seneviratne/Refactor_VideoDetailFragment
Refactor VideoDetailFragment.
2022-12-31 18:41:06 +01:00
Stypox
97978033dd
Activate on click listeners only when not loading
For consistency with long click listeners, in VideoDetailFragment
2022-12-31 17:49:10 +01:00
Stypox
413a1b504a
Refactor constrolsTouchListener code 2022-12-31 17:47:57 +01:00
Stypox
69e8e4d63e
Merge pull request #9306 from Stypox/target-api-33
Set compileSdk and targetSdk to 33 (Android 13)
2022-12-31 14:49:30 +01:00
Isira Seneviratne
fb1360b72a Use ListAdapter in NotificationModeConfigAdapter. 2022-12-29 06:14:46 +05:30
Stypox
231e677b16
Merge pull request #8895 from Isira-Seneviratne/SparseArrayCompat
Use SparseArrayCompat.
2022-12-28 20:37:05 +01:00
Tobi
fcac53cdc0
Merge pull request #9488 from Jared234/9353_night_theme_selection
Disabling night theme selection if auto theme is not used
2022-12-25 22:19:02 +01:00
evermind
dfc46c3b6c Support audio only background for services only supporting video streams
Some services may only have video streams and no separate audio streams available.
This commit will add audio background playback support for those services.
It uses the video source as audio source for background playback.
2022-12-17 21:17:42 +01:00
Robin
eea4f0f41c Update ExoPlayer to 2.18.2 2022-12-16 17:53:56 +01:00
Jared Fantaye
12796920a3 Removed the wasPlaying variable 2022-12-10 21:56:04 +01:00
Jared Fantaye
fedc26e3cb Added migration to new database 2022-12-09 22:40:54 +01:00
Jared Fantaye
1ac62541a8 Formatting, renaming and small fixes 2022-12-09 12:01:59 +01:00
pratyaksh1610
c537776826 Fixes #9518
- Crash fix on clicking on add to playlist.
- Added toast when clicked on share button for better UI.
2022-12-09 14:09:40 +05:30
Jared Fantaye
bf1ebf8733 Fixed some bugs and improved code quality 2022-12-08 23:31:20 +01:00
Jared Fantaye
10a5741f36 Tried to implement the feature 2022-12-07 02:32:53 +01:00
Isira Seneviratne
c7d392e77e Merge branch 'dev' into Refactor_VideoDetailFragment 2022-12-06 20:21:28 +05:30
Isira Seneviratne
161007fe92 Merge branch 'dev' into Refactor_VideoPlayerUi 2022-12-06 20:21:08 +05:30
Jared Fantaye
5fc85fa2e0 Implemented suggestions 2022-12-05 21:21:46 +01:00
Stypox
a6f57a8665
Merge pull request #9173 from Theta-Dev/video-sub-count
Show subscriber count on video details page
2022-12-04 20:50:13 +01:00
ThetaDev
86ee94eb04
show subscriber count on player page 2022-12-04 20:45:09 +01:00
Jared Fantaye
0923594e51 Added option to download items in the queue 2022-12-04 20:35:06 +01:00
Stypox
3bb51875bc
Merge pull request #9501 from Stypox/import-subscriptions-hint
Add hint to improve discoverability of subscription import
2022-12-04 20:19:19 +01:00
Stypox
10977eaefa
Show hint about how to import subscriptions when there are none 2022-12-04 19:16:47 +01:00
Stypox
281ac13eed
Merge pull request #8883 from Douile/dev-enqueue-next-hide
Only show "Enqueue next" when in the middle of the queue
2022-12-04 18:43:45 +01:00
Douile
e5f30a07bf
Only show "Enqueue next" when in the middle of the queue
Add a check that the queue position is not the last in the queue before
showing "Enqueue next".

Previously the "Enqueue next" action would always be shown if the queue
length was greater than one, this meant even if you were at the end of
the queue (when "Enqueue" would have the same effect as "Enqueue next")
the action would still be shown.
2022-12-04 18:20:50 +01:00
Stypox
9c4d5526f4
Merge pull request #8810 from Isira-Seneviratne/Math_floorDiv
Use Math.floorDiv().
2022-12-04 18:08:12 +01:00
pratyaksh1610
1afb9cdba9 added Language suffix for subtitle downloads 2022-12-04 17:59:22 +05:30
Isira Seneviratne
6b210e1542
Apply ktlint formatting. 2022-12-04 12:01:57 +01:00
Isira Seneviratne
f1b15a95a4
Show toast when no updates are available.
Co-authored-by: Stypox <stypox@pm.me>
2022-12-04 12:01:56 +01:00
Jared Fantaye
8fc5fa979d Added menu with tappable list items 2022-12-03 09:52:04 +01:00
Jared Fantaye
a2f2d562f6 Disabling night theme selection if auto theme is not used 2022-12-01 13:01:58 +01:00
Isira Seneviratne
b0516fbf1d
Use BitmapCompat.createScaledBitmap(). 2022-11-29 15:56:19 +01:00
Stypox
9d01d88eed
Request permission to send notifications 2022-11-28 18:49:11 +01:00
AudricV
6b89b44dcd
Merge pull request #8961 from dhruvpatidar359/Toast-Popup
Remove the redundant/overlapping toast "Copied to clipboard" for Android 13+
2022-11-26 21:33:12 +01:00
Jared Fantaye
e5af1c93ae Seeking no longer pauses the played video 2022-11-26 15:35:13 +01:00
Isira Seneviratne
d6617007d4 Use SparseArrayCompat instead of SparseArray in StreamItemAdapter.
Make additional small improvements as well.
2022-11-22 18:31:58 +05:30
Isira Seneviratne
8db90ba449 Use SparseArrayCompat for thumbnails. 2022-11-22 17:51:54 +05:30
Stypox
048b0972de Set compileSdk and targetSdk to 33 (Android 13)
android:exported in now required in the manifest on all activities/services/receivers/providers. It was set to true for those that need to interact with outside apps or the OS, while others have exported=false.
This also required updating LeakCanary to the latest version as the older version being used was not using android:exported in AndroidManifest.xml.
2022-11-18 08:33:13 +01:00
Isira Seneviratne
a7989795e8 Merge branch 'dev' into Refactor_VideoPlayerUi 2022-11-14 08:59:03 +05:30
Isira Seneviratne
a40f035810 Merge branch 'dev' into Refactor_VideoDetailFragment 2022-11-14 08:58:45 +05:30
Isira Seneviratne
aad5e26f31
Merge pull request #8870 from Isira-Seneviratne/Locale_forLanguageTag
Use Locale.forLanguageTag().
2022-11-10 19:56:34 +05:30
Tobi
627c6e29a2
Merge pull request #8316 from han-sz/fix_video_mouse_hover_overlay
Fix persistent hover overlay when in desktop/DeX mode or using a mouse/non-touch input
2022-11-09 17:10:01 +01:00
TobiGr
ef1e7e5b52 Merge branch 'master' into dev 2022-11-09 16:45:22 +01:00
AudricV
abf1cc536d
Improve code of DeviceUtils.isDesktopMode
- Avoid NullPointerException crashes if there is no UiModeManager or desktop
system service mode
- Use final for every exception
- Suppress missing fields warnings
- Add missing NonNull annotation
2022-11-09 16:22:49 +01:00
cybersphinx
c38f150562
Remove now obsolete API check. 2022-11-09 15:50:09 +01:00
cybersphinx
d2b6bda7a2
Remove errant return. 2022-11-09 15:50:09 +01:00
cybersphinx
9e5c68c575
Add check for input devices with cursor. 2022-11-09 15:50:06 +01:00
Hanif Shersy
88eed6cc23
Add JSDoc comment and a performance note for isDesktopMode 2022-11-09 15:48:50 +01:00
Hanif Shersy
a1773d166f
Fix JSDoc checkstyle warning 2022-11-09 15:44:36 +01:00
Hanif Shersy
5e2ef7ff0d
Address review comments 2022-11-09 15:44:36 +01:00
Hanif Shersy
cfda073aa5
Fix DeX mode check 2022-11-09 15:44:36 +01:00
Hanif Shersy
ff774a1870
Fix persistent hover overlay when mouse connected 2022-11-09 15:44:27 +01:00
Isira Seneviratne
feb03f7e30 Use Math.floorDiv(). 2022-11-09 20:01:40 +05:30
Isira Seneviratne
5c1af6d296 Group private Localization methods together. 2022-11-09 08:54:47 +05:30
Isira Seneviratne
6d812b86aa Use Locale.forLanguageTag(). 2022-11-09 08:51:12 +05:30
dhruvpatidar359
ef35b36eba
Remove the redundant/overlapping toast "Copied to clipboard" for Android 13+
Signed-off-by: dhruv <dhruvpatidar35@gmail.com>

Co-authored-by: Tobi <TobiGr@users.noreply.github.com>
Co-authored-by: AudricV <74829229+AudricV@users.noreply.github.com>
2022-11-08 20:47:50 +01:00
Isira Seneviratne
3dc1adb69e Add helper methods for adding PendingIntent mutability. 2022-11-07 17:12:22 +05:30
Tobi
da61c9f915
Merge pull request #9298 from Stypox/fix-inconsistent-channel-groups
Fix inconsistent channel group list and items view mode
2022-11-05 21:11:51 +01:00
Stypox
9472c36cbd
Merge pull request #9109 from TeamNewPipe/fix/overlayPlayQueueButton
Hide play queue button in VideoDetailsFragment when queue is empty
2022-11-05 20:28:14 +01:00
Stypox
49c12a31e9
Fix wrongly calculated channel groups span count 2022-11-05 20:05:59 +01:00
Stypox
fc061599f8
Fix inconsistent channel group list and item view mode 2022-11-04 18:21:35 +01:00
Tobi
c8caf48cda
Merge pull request #9230 from Stypox/duplicate-feed-videos
Fix duplicate videos in feed group "All"
2022-11-03 17:23:05 +01:00
Isira Seneviratne
e4f97465a4 Use lambdas for VideoDetailFragment listeners. 2022-11-03 20:15:17 +05:30
Isira Seneviratne
e333197ed5 Use OnClickListener and OnLongClickListener lambdas in the player UIs. 2022-11-03 05:09:35 +05:30
Isira Seneviratne
51bdc30ed0 Use TextViewCompat.setCompoundDrawableTintList(). 2022-11-01 06:31:35 +05:30
Stypox
9d2ab61993
Merge pull request #9203 from Callisto404/add-chapter-timestamp-share
Added timestamped link sharing from the start of a chapter with a long hold press
2022-10-30 22:31:09 +01:00
Stypox
8fdd828de4
Merge pull request #8739 from Isira-Seneviratne/Stream_average
Calculate search score using streams.
2022-10-30 22:09:55 +01:00
Stypox
25795c3a96
Merge pull request #8706 from Isira-Seneviratne/Improve_LocalPlaylistFragment
Refactor removeWatchedStreams() in LocalPlaylistFragment.
2022-10-30 22:03:39 +01:00
Daniel M
7f3da04fee Added an "isYouTube" check to start of long click handler 2022-10-30 13:48:03 +11:00
Stypox
9524c6245d
Merge pull request #8747 from Isira-Seneviratne/Range_limit
Use range-limiting methods in more places.
2022-10-28 10:34:04 +02:00
Stypox
57d2fe113a
Fix duplicate videos in feed "All" 2022-10-27 23:43:39 +02:00
Stypox
2f6cb87bba
Use GROUP_ALL_ID instead of hardcoded -1 2022-10-27 23:32:19 +02:00
Stypox
3cef7f3201
Merge pull request #9207 from cern1710/list-view-alt-alt-implementation
undefined
2022-10-27 22:48:03 +02:00
Samuel Wu
f712ea34e0 Merge remote-tracking branch 'origin/list-view-alt-alt-implementation' into list-view-alt-alt-implementation 2022-10-28 04:54:42 +11:00
Samuel Wu
a44b7c9c9e Disabled animations for subscription fragment 2022-10-28 04:54:33 +11:00
Stypox
4b32890b5f
Fix random crash in SubscriptionFragment 2022-10-27 18:45:06 +02:00
Stypox
a41aa01461
Solve two SonarCloud smells 2022-10-27 17:52:17 +02:00
Stypox
ea875c59af
Deduplicate isGridLayout calls 2022-10-27 17:25:06 +02:00
YonghaoDeng
a22162ffac
Add an Open in browser button on error panel (#9180)
* add a open in browser button

* Corrected a few things that needed to be changed

* Remove unneeded changes.

* Remove unneeded changes.

* Add showAndSetOpenInBrowserButtonAction function

* modify some codes
2022-10-27 14:38:08 +02:00
Stypox
83d16dc656
Fix flickering in channel groups list 2022-10-27 14:01:04 +02:00
Stypox
8ceefee1e3
Put "New feed group" item at the top 2022-10-27 13:51:56 +02:00
Samuel Wu
8f157be7e0 Revert changes 2022-10-27 12:15:36 +11:00
Stypox
0e169951f7
Fix grid/list toggle implementation of feed 2022-10-26 23:20:32 +02:00
Samuel Wu
f7e10eb094 Fully working card and list view 2022-10-26 21:05:55 +11:00
Jfax510
0d73d193ad
Added Toast Notification "Hold to enqueue" (#9196)
* Added Toast Notification "Hold to enqueue"

* Check if enqueue tips are enabled

* created function showHoldToAppendTipIfNeeded() for toast message
2022-10-26 11:35:03 +02:00
plasticanu
40815086ad
Fix crash when the user clicks download then quits the history fragment (#9143)
* Fix crash when the user clicks download then quits the history fragment

* add a nonnull annotation to the context parameter in the DownloadDialog constructor.

* Revert "Merge branch 'TeamNewPipe:dev' into fix/HistoryFragmentDownloadDialogCrash"

This reverts commit 968d7a7603.

* Revert "Merge branch 'TeamNewPipe:dev' into fix/HistoryFragmentDownloadDialogCrash"

This reverts commit 968d7a7603, reversing
changes made to 52963ba37d.

Reverted merge

jlhzxc

* update project to the latest dev branch

* Revert "update project to the latest dev branch"

This reverts commit fb3ed83d51.

revert changes to build files

* Revert "Revert "Merge branch 'TeamNewPipe:dev' into fix/HistoryFragmentDownloadDialogCrash""

This reverts commit f9e1835e71.
2022-10-26 11:22:32 +02:00
Yuuu2990
16860603fd
Add Link to FAQ in the app (#9164)
* Link to FAQ in the app #4447

* remove redundant comments produced by me.

* Update app/src/main/res/values/strings.xml

Update FAQ description

Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>

* Format the CodeStyle and readjust the layout.

* Update app/src/main/res/layout/fragment_about.xml

Remove redundant id.

Co-authored-by: Stypox <stypox@pm.me>

* Update app/src/main/res/layout/fragment_about.xml

Remove redundant id.

Co-authored-by: Stypox <stypox@pm.me>

* Update app/src/main/res/values/strings.xml

Keep the uppercase for consistency.

Co-authored-by: Stypox <stypox@pm.me>

* Update app/src/main/res/values/strings.xml

Modify the description of FAQ.

Co-authored-by: Stypox <stypox@pm.me>

Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
Co-authored-by: Stypox <stypox@pm.me>
2022-10-26 09:59:51 +02:00
Samuel Wu
c607089cbb Altered grid view similar to Youtube app layout 2022-10-26 00:06:48 +11:00
Samuel Wu
28464344c1 Finalized design for vertical card view and removed unneeded variables in SubscriptionFragment.kt 2022-10-25 11:43:25 +11:00
Samuel Wu
ed68e3bd46 Fully working toggle button that change between vertical and horizontal view 2022-10-25 10:54:27 +11:00
Samuel Wu
082d7a3f18 Added working binding for a "new" button that works in the list layout. 2022-10-25 02:38:31 +11:00
Samuel Wu
6eddaa0d38 Added boolean to handle feed groups. May need a better solution for this 2022-10-25 02:20:14 +11:00
Samuel Wu
1aa1a0287e Could toggle between list view and grid view...once. Requires bug fixing on refreshing 2022-10-25 02:01:57 +11:00
Samuel Wu
3bfcb16f9a Bug: SubscriptionViewModel.kt did not map values for FeedGroupCardVerticalItem in line 26 2022-10-25 00:32:21 +11:00
Samuel Wu
f37d869ea2 Button can be toggled but not all strings have been fed 2022-10-24 23:01:02 +11:00
Samuel Wu
78547b4fa4 Created a list view for channel group. 2022-10-24 18:55:08 +11:00
Samuel Wu
29e56b9f2d Created a button in SubscriptionFragment.kt that reads whether button is clicked 2022-10-24 16:55:12 +11:00
Daniel M
83357ca67e Added sharing a link with timestamp from a chapter into the long click for each chapter 2022-10-24 14:14:41 +11:00
Samuel Wu
8482bf9fed Created a non-functional button in HeaderWithMenuItem.kt 2022-10-23 23:43:52 +11:00
TobiGr
4a278ef102 Hide play queue button in VideoDetailsFragment mini player when the play queue is empty
Related PR introducing the button: #8946
2022-10-11 21:27:04 +02:00
Tobi
7ab8f9f112
Merge pull request #9079 from devlearner/fix-screen-rotate
Fix `DownloadDialog` crash on screen rotation
2022-10-10 11:18:50 +02:00
Tobi
7fca0e0786
Merge pull request #9065 from devlearner/fix-spannable-cast
Fix potential cast exception in comments text
2022-10-10 10:51:32 +02:00
Tobi
ed4eb124e4
Merge pull request #8734 from Stypox/feed-group-factory
Improve `FeedGroupDialogViewModel` factory
2022-10-09 19:35:47 +02:00
Tobi
5b213a19e4
Merge pull request #8934 from Isira-Seneviratne/LinkifyCompat
Use LinkifyCompat.
2022-10-09 12:07:50 +02:00
Tobi
8bc8355b68
Merge pull request #8946 from HybridAU/add_play_queue_button_to_video_details_fragment
Add play queue button to video details fragment
2022-10-06 18:55:50 +02:00
devlearner
ab99c14fd2
Fix crash on screen rotation 2022-10-06 18:15:36 +08:00
devlearner
1047158a66
Fix potential cast exception
when casting to `Spannable` in `CommentTextOnTouchListener`
2022-10-04 17:31:35 +08:00
Stypox
489f052ef9
Fix feed menu tooltips (silly copy-paste error) 2022-09-19 11:21:42 +02:00
Stypox
bf55ed262f
Merge pull request #8972 from Stypox/fix-suggestions-listadapter
Fix various issues in the search suggestions list
2022-09-19 08:54:55 +02:00
Stypox
f26bf33ead
Merge pull request #8966 from Stypox/feed-menuitem-tooltip
Show correct tooltips for actions in feed
2022-09-19 08:54:06 +02:00
HybridAU
9db0133a5b
Add play queue button to video details fragment
* Add play queue button to video details fragment

* Use existing ic_list icon

* Still open play queue even when queue is empty

* Change app:srcCompat to android:src
2022-09-14 21:00:44 +08:00
Stypox
28b34f3796
Fix scroll issues in suggestion list
Before if the list before updating contained item 'test' at position 0 and after updating that value went to the bottom, the list would incorrectly scroll to the bottom to follow that item. Now the scrolling is done after the list is updated.
2022-09-14 14:39:32 +02:00
Stypox
1f57c87859
Disable suggestion list animations: not meaningful
The animations were just in the way and did not help in choosing items, since the suggestion items keep changing too much.
2022-09-14 14:04:22 +02:00
Stypox
fbf5549182
Fix wrong icons being set on suggestion items
The diff util wrongly considered as equal two items with the same text but with different `fromHistory` value
2022-09-14 14:01:59 +02:00
Stypox
051c572e7f
Show correct tooltips for actions in feed 2022-09-13 15:26:04 +02:00
Isira Seneviratne
464a646671 Use LinkifyCompat. 2022-09-06 09:27:50 +05:30
Stypox
ed87465565
Only update notification large icon when it changes 2022-08-28 23:14:02 +02:00
Stypox
f9109ebc81
Use player.getThumbnail() instead of field in VideoPlayerUi 2022-08-28 18:35:21 +02:00
Stypox
4a7af6f9ac
Remove thumbnail before sync, if outdated
Also refactor onPlaybackSynchronize and add comments
2022-08-28 18:32:27 +02:00
Stypox
7fbef35daa
Unify onThumbnailLoaded calls to ensure UIs always updated 2022-08-28 17:24:51 +02:00
Stypox
f9994abb94
Prevent tapping on thumbnail if video details are not loaded 2022-08-26 18:54:51 +02:00
Stypox
ca0f56eea8
Avoid setting invalid states to bottom sheet callback 2022-08-26 18:54:51 +02:00
Stypox
500acce178
Fix regression in screen rotation animation 2022-08-26 18:54:51 +02:00
Stypox
6805c75c9c
Fix surface view not resizing video correctly
Also fix yet another random null pointer exception that could happen when adding the video player view
2022-08-26 18:54:51 +02:00
litetex
59d1ded94e Fixed sonar detected problems
+ Automatically fixed code style (imports)
2022-08-25 17:02:53 +02:00
Stypox
973a966011 Review suggestions 2022-08-25 17:02:53 +02:00
Stypox
510efaae97 Keep strong reference to Picasso thumbnail loading target
Before the Target would sometimes be garbage collected before being called with the loaded thumbnail, since Picasso holds weak references to targets
2022-08-25 17:02:52 +02:00
Stypox
11bd2369e5 Merge MediaSessionManager into MediaSessionPlayerUi 2022-08-25 17:02:52 +02:00
Stypox
f80d1dc48d Let exoplayer decide when to update metadata
Though still make sure metadata is updated after the thumbnail is loaded.
This fixes the wrong seekbar properties (duration and current position) being shown in the notification sometimes.
2022-08-25 17:02:52 +02:00
Stypox
8bff445ec3 Remove useless checks before updating metadata
A while ago NewPipe called the metadata update function very often, so checks were needed to ensure not wasting time updating metadata if it were already up to date. Now, instead, the metadata update function is called exactly when needed, i.e. when metadata changes, so such checks are not needed anymore (and were probably also a little resource-heavy).
2022-08-25 17:02:51 +02:00
Stypox
d73ca41cfe Even when thumbnails should not be shown, set it to null in notification
This makes sure the thumbnail is removed from the notification if the user disables thumbnails
2022-08-25 17:02:51 +02:00
Stypox
f3a9b81b67 Fix sometimes seeing outdated thumbnail in notification
Before the thumbnail finishes loading for the new video the player is now playing, the old thumbnail was being used, leading to wrong thumbnails set in the media session and the notification.
2022-08-25 17:02:51 +02:00
Stypox
3cc43e9fb9 Fix thumbnail sometimes not set to media session metadata
The thumbnail was not being updated in the media session metadata after it was loaded, since there was no metadata update in that case, only a notification update.
2022-08-25 17:00:41 +02:00
Stypox
bc33322d4b Remove useless MediaSessionCallback
The player is now passed directly, it made no sense to wrap around it in a callback that was not really a callback but rather, actually, a wrapper.
2022-08-25 17:00:41 +02:00
Stypox
c054ea0737 Create MediaSessionPlayerUi 2022-08-25 17:00:41 +02:00
Stypox
52dbfdee00 Keep strong references to Picasso notification icon loading targets
Before the Target would sometimes be garbage collected before being called with the loaded channel icon, since Picasso holds weak references to targets. This meant that sometimes a new streams notification  would not be shown, because the lambda that should have shown it had already been garbage collected.
2022-08-25 16:41:51 +02:00