* Rename .java to .kt
* Migrate related items fragment to Jetpack Compose
* Specify mode parameter explicitly
* Rm unused class
* Fix list item size
* Added stream progress bar, separate stream and playlist thumbnails
* Display message if no related streams are available
* Dispose of related items when closing the video player
* Add modifiers for no items message function
* Implement remaining stream menu items
* Improved stream composables
* Use view model lifecycle scope
* Make live color solid red
* Use nested scroll modifier
* Simplify determineItemViewMode()
* 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>
We don't know if, on muxed video streams we get for all services which support
multiple audio languages, that the audio language returned is the original one
or not, even if it should be the case.
In order to avoid saying potential false information, this word has been
removed from the string resource (ID and value) and the corresponding layout ID
in the download dialog.
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.