Commit graph

640 commits

Author SHA1 Message Date
AudricV
6de5a8cf04 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
Stypox
48d181d9ae Merge pull request #9619 from Redirion/avoidreflectionifpossible
Check availability of Samsung DeX only on Samsung devices
2023-01-12 12:06:19 +01:00
petlyh
c45279d38a Ask for permission when enqueuing in a popup 2023-01-10 14:16:19 +01:00
Robin
f601e09592 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
Stypox
7a57485107 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
Stypox
97892f04d3 Merge pull request #8895 from Isira-Seneviratne/SparseArrayCompat
Use SparseArrayCompat.
2022-12-28 20:37:05 +01:00
Isira Seneviratne
846f59c73b Use BitmapCompat.createScaledBitmap(). 2022-11-29 15:56:19 +01:00
Stypox
cce863f9fe Request permission to send notifications 2022-11-28 18:49:11 +01:00
AudricV
5bdf145505 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
Isira Seneviratne
3add1e2af3 Use SparseArrayCompat instead of SparseArray in StreamItemAdapter.
Make additional small improvements as well.
2022-11-22 18:31:58 +05:30
Isira Seneviratne
37182c7b84 Merge pull request #8870 from Isira-Seneviratne/Locale_forLanguageTag
Use Locale.forLanguageTag().
2022-11-10 19:56:34 +05:30
AudricV
97837d4295 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
a085e6ee04 Remove now obsolete API check. 2022-11-09 15:50:09 +01:00
cybersphinx
7bb41180e1 Remove errant return. 2022-11-09 15:50:09 +01:00
cybersphinx
277ef2c450 Add check for input devices with cursor. 2022-11-09 15:50:06 +01:00
Hanif Shersy
0666eeb4cf Add JSDoc comment and a performance note for isDesktopMode 2022-11-09 15:48:50 +01:00
Hanif Shersy
4d40192b50 Address review comments 2022-11-09 15:44:36 +01:00
Hanif Shersy
329e3c371a Fix DeX mode check 2022-11-09 15:44:36 +01:00
Hanif Shersy
7847fca6c4 Fix persistent hover overlay when mouse connected 2022-11-09 15:44:27 +01:00
Isira Seneviratne
0ac9d3a3e0 Group private Localization methods together. 2022-11-09 08:54:47 +05:30
Isira Seneviratne
28d0cc6932 Use Locale.forLanguageTag(). 2022-11-09 08:51:12 +05:30
dhruvpatidar359
434f161b3e 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
0ca88d029e Add helper methods for adding PendingIntent mutability. 2022-11-07 17:12:22 +05:30
Stypox
fd1237698d 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
029f02e4f9 Deduplicate isGridLayout calls 2022-10-27 17:25:06 +02:00
HybridAU
dcca274ecc 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
ce1b88eeec 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
9fe370cda1 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
9bfea8082c 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
Stypox
327ee1bc5a Merge pull request #8666 from TacoTheDank/filepicker
Update FilePicker to our custom fork and disable Jetifier
2022-08-12 09:15:34 +02:00
Isira Seneviratne
2e350c9675 Use range-limiting methods in more places. 2022-08-08 07:10:16 +05:30
Stypox
5bc82ad0f9 Merge pull request #8738 from Isira-Seneviratne/Collectors_joining
Use Collectors.joining().
2022-08-06 22:31:31 +02:00
Stypox
43fd5a75bf Improve comment 2022-08-06 11:56:00 +02:00
Isira Seneviratne
fa9cd7f6e3 Remove unused method. 2022-08-06 06:54:21 +05:30
Isira Seneviratne
1e0abb2f80 Use Collectors.joining(). 2022-08-06 06:54:21 +05:30
Isira Seneviratne
cc49540c95 Use Comparator factory methods in ListHelper. 2022-08-05 05:36:21 +05:30
Stypox
4ed7229861 Merge pull request #8721 from Isira-Seneviratne/OnClickGesture_interface
Make OnClickGesture an interface.
2022-08-04 16:15:54 +02:00
Isira Seneviratne
00fe0ff879 Make OnClickGesture an interface. 2022-08-01 06:47:00 +05:30
Isira Seneviratne
c99b2e21b9 Use WindowMetrics API in VideoDetailFragment and PopupPlayerUi. 2022-07-30 19:22:39 +05:30
TacoTheDank
752b4c8a19 Migrate NoNonsense-FilePicker to our updated fork 2022-07-24 15:07:31 +02:00
litetex
6b000b04d2 Removed the "(beta)"-tag from services (#8637) 2022-07-24 15:57:23 +03:00
Stypox
16d875b93c Merge pull request #8648 from Isira-Seneviratne/Use_IO_extensions
Use IO extensions.
2022-07-22 18:30:51 +02:00
Stypox
1bd45af4fb Fix ListHelperTest failure caused by immutable list being used 2022-07-22 16:09:43 +02:00
Isira Seneviratne
bfabd7ae2e Use IO extensions.
Co-authored-by: Stypox <stypox@pm.me>
2022-07-21 05:15:39 +05:30
Stypox
24dad270d9 Merge pull request #8651 from Isira-Seneviratne/Use_limiting_methods
Use range-limiting methods.
2022-07-20 15:06:45 +02:00
Isira Seneviratne
000da24de2 Use MathUtils.clamp().
Co-authored-by: Stypox <stypox@pm.me>
2022-07-20 05:36:01 +05:30
Isira Seneviratne
6f77ff6c53 Use List.of(). 2022-07-20 04:39:11 +05:30
Isira Seneviratne
6d98753526 Use Set.of(). 2022-07-19 08:53:15 +05:30
litetex
b548b5d8d3 Added note that explains that unused code was removed. 2022-07-15 19:55:19 +02:00
litetex
c32fd9a20c Changed the code accordingly
+ Removed some unused code
2022-07-15 19:55:19 +02:00