Commit graph

831 commits

Author SHA1 Message Date
Stypox
29fcae2325 Merge pull request #8894 from Isira-Seneviratne/WindowCompat
Use WindowCompat.
2023-01-15 15:14:05 +01:00
Stypox
0470fc2853 Create text subpackage in util 2023-01-15 11:51:07 +01:00
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
Isira Seneviratne
f7e0df8fb5 Replace the system UI visibility flags with WindowCompat calls. 2023-01-15 05:44:45 +05:30
Stypox
b6b09b68af 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
8ea120865c Use Optional.map correctly and other improvements 2023-01-11 14:47:53 +01:00
Isira Seneviratne
af75d5a055 Use Optional chaining. 2023-01-04 05:16:21 +05:30
Isira Seneviratne
cae0eda806 Remove SimplifyOptionalCallChains. 2023-01-04 05:16:21 +05:30
Stypox
fc5a5c4e1c 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
evermind
1cf3b9fa23 set 'playback in background button' visible if there are videostreams 2023-01-01 21:55:03 +01:00
Stypox
720b194bd5 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
2ecd0f437b Remove playlist details toasts 2022-12-31 23:30:17 +01:00
Stypox
46ed10c1eb Merge pull request #8847 from Isira-Seneviratne/Refactor_VideoDetailFragment
Refactor VideoDetailFragment.
2022-12-31 18:41:06 +01:00
Stypox
7587c386ec 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
cd8c8d69ea Refactor constrolsTouchListener code 2022-12-31 17:47:57 +01:00
Stypox
97892f04d3 Merge pull request #8895 from Isira-Seneviratne/SparseArrayCompat
Use SparseArrayCompat.
2022-12-28 20:37:05 +01:00
pratyaksh1610
c03fd63f47 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
Isira Seneviratne
f435e0ba5e Merge branch 'dev' into Refactor_VideoDetailFragment 2022-12-06 20:21:28 +05:30
Stypox
0710757ceb 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
01a4cfa0c0 show subscriber count on player page 2022-12-04 20:45:09 +01:00
Stypox
f034d7644f Merge pull request #8810 from Isira-Seneviratne/Math_floorDiv
Use Math.floorDiv().
2022-12-04 18:08:12 +01:00
Isira Seneviratne
1e42bb6baa Use SparseArrayCompat for thumbnails. 2022-11-22 17:51:54 +05:30
Isira Seneviratne
de663c015d Merge branch 'dev' into Refactor_VideoDetailFragment 2022-11-14 08:58:45 +05:30
Tobi
7ac96cf353 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
Hanif Shersy
fed052354e Fix JSDoc checkstyle warning 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
0aefc8e14d Use Math.floorDiv(). 2022-11-09 20:01:40 +05:30
Stypox
2f35a2bbb2 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
Isira Seneviratne
7396983c2a Use lambdas for VideoDetailFragment listeners. 2022-11-03 20:15:17 +05:30
Stypox
029f02e4f9 Deduplicate isGridLayout calls 2022-10-27 17:25:06 +02:00
TobiGr
f5908fcb98 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
d697191086 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
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
d78207f6e0 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
d6bbb9528b 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
93761a8346 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
b950969250 Prevent tapping on thumbnail if video details are not loaded 2022-08-26 18:54:51 +02:00
Stypox
f5fd7216fd Avoid setting invalid states to bottom sheet callback 2022-08-26 18:54:51 +02:00
Stypox
5bf2971b62 Fix regression in screen rotation animation 2022-08-26 18:54:51 +02:00
Stypox
c224821487 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
Isira Seneviratne
91d4bded3d Use ListAdapter in SuggestionListAdapter. 2022-08-18 19:52:51 +05:30
Isira Seneviratne
b49b8f325d Use toArray() with zero-length arrays. 2022-08-05 06:50:55 +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
Stypox
d84b7c55d8 Merge pull request #8669 from Isira-Seneviratne/Remove_setBottomSheetCallback
Remove uses of setBottomSheetCallback().
2022-08-04 11:03:57 +02:00
Stypox
4cfc1765f7 Merge pull request #8656 from Isira-Seneviratne/Use_WindowMetrics
Use WindowMetrics API.
2022-08-04 10:12:32 +02:00
Isira Seneviratne
12f042bfd5 Merge branch 'dev' into OnClickGesture_interface 2022-08-04 06:10:39 +05:30
Stypox
bf106612e8 Merge pull request #8709 from Isira-Seneviratne/Tags_case_insensitive
Sort tags case-insensitively.
2022-08-03 22:43:50 +02:00
Stypox
b7f7a87596 Merge pull request #8661 from Stypox/player-refactor-npe
Fix random NullPointerException when adding video player view
2022-08-02 11:09:50 +02:00
Isira Seneviratne
45f310fc31 Apply code review change. 2022-08-01 08:25:24 +05:30
Isira Seneviratne
00fe0ff879 Make OnClickGesture an interface. 2022-08-01 06:47:00 +05:30