Commit Graph

3615 Commits

Author SHA1 Message Date
Jared Fantaye 1dd0930b83 Fixed some small issues 2023-02-28 17:30:17 +01:00
Jared Fantaye bc29f40d69 Implemented the suggested changes 2023-02-09 21:18:21 +01:00
Jared Fantaye cd8d57040c Implemented the feature using multiple checkboxes 2023-02-04 18:48:27 +01:00
Jared Fantaye 9c82441c19 Implemented the feature and fixed some small issues 2023-02-01 23:10:31 +01:00
Jared Fantaye d2d324f2dd First draft of the new feature 2023-01-30 22:37:24 +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
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
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
ge78fug 31396a632f Chenged the name of the icon 2023-01-14 09:21:37 +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
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