Commit Graph

1897 Commits

Author SHA1 Message Date
Isira Seneviratne
187c7ac0e9 Merge branch 'master' into KotlinX_Serialization
# Conflicts:
#	gradle/libs.versions.toml
2023-01-21 04:50:23 +05:30
Bnyro
e4cbb2b90c Fix the extra padding for the vertical plaeyr 2023-01-20 19:39:51 +01:00
Bnyro
3cef897e89 Hide system bars on shorts 2023-01-20 19:31:18 +01:00
Bnyro
c1c0e5f6f1 Only show extra padding when there's a notch 2023-01-20 19:00:49 +01:00
Bnyro
fbf9c30e9a Hide the status bar when hiding the controllers 2023-01-20 18:49:53 +01:00
Bnyro
3da6b0678a Keep space for the status bar in player 2023-01-20 18:48:29 +01:00
Bnyro
8431716a14 Use custom animation handlers for player controls 2023-01-20 18:34:11 +01:00
Bnyro
6599635756 Only auto enter PiP when enabled 2023-01-20 17:56:49 +01:00
Isira Seneviratne
61fba85afd Merge branch 'master' into KotlinX_Serialization 2023-01-20 08:50:06 +05:30
Isira Seneviratne
07b59e1de0 Avoid type issues when restoring a backup. 2023-01-20 04:45:55 +05:30
Isira Seneviratne
e0702c027d Make some properties read-only. 2023-01-19 22:20:21 +05:30
Bnyro
e1e4b2a2c9 Run `ktlint --android -F 2023-01-19 17:49:04 +01:00
Bnyro
074ab20202 Use the same audio attributes and load control for all players 2023-01-19 17:48:35 +01:00
Bnyro
fe9bb97c96
Merge pull request #2717 from faisalcodes/master
Fixed #2670 : Timestamp click behaviour in the description.
2023-01-19 17:21:54 +01:00
Bnyro
4ba274b612 Run ktlint --android -F 2023-01-19 17:21:40 +01:00
Bnyro
8ba2824750 Simplify LinkHandler and HTMLParser 2023-01-19 17:21:06 +01:00
Bnyro
a5a38a3f66 Cleanup the logic of handling description links 2023-01-19 17:08:57 +01:00
faisalcodes
015b414596 Fixed #2723 : Activity is recreated when entered from media notification. 2023-01-19 20:57:16 +05:30
Isira Seneviratne
60706c2d87 Remove remaining Jackson code. 2023-01-19 18:14:37 +05:30
Isira Seneviratne
e047d5babd Use Kotlinx Serialization with subscription. 2023-01-19 13:20:26 +05:30
Isira Seneviratne
ae8f88f4b8 Use Kotlinx Serialization with segments. 2023-01-19 13:03:42 +05:30
Isira Seneviratne
9485ceb5ec Use Kotlinx Serialization with the Piped config. 2023-01-19 09:21:06 +05:30
Isira Seneviratne
1eeeed4292 Use Kotlinx Serialization with playlists. 2023-01-19 09:17:45 +05:30
Isira Seneviratne
4876068c54 Use Kotlinx Serialization with instances. 2023-01-19 08:57:22 +05:30
Isira Seneviratne
f98123270e Use Kotlinx Serialization with login. 2023-01-19 08:57:10 +05:30
Isira Seneviratne
0cf5853a3a Use Kotlinx Serialization with the update check API.
Also replace Author and Uploader data classes with a single User class.
2023-01-19 06:26:13 +05:30
Isira Seneviratne
fccb198f04 Use Kotlinx Serialization with user deletion. 2023-01-19 05:41:30 +05:30
Isira Seneviratne
371fbcd643 Use Kotlinx Serialization with channel information. 2023-01-19 05:37:27 +05:30
Isira Seneviratne
ef103284af Use Kotlinx Serialization with comments. 2023-01-19 04:47:49 +05:30
Isira Seneviratne
165e0677d4 Use Kotlinx Serialization with search results. 2023-01-19 04:47:49 +05:30
Isira Seneviratne
219a7d7cfe Use Kotlinx Serialization with stream data. 2023-01-19 04:47:49 +05:30
faisalcodes
9a926238c7 Fixed #2670 : Timestamp click behaviour in the description. 2023-01-18 22:26:34 +05:30
faisalcodes
c98217f963 Fixed #2670 : Timestamp click behaviour in the description. 2023-01-18 22:02:08 +05:30
faisalcodes
7006693485 Fixed #2670 : Timestamp click behaviour in the description. 2023-01-18 21:43:22 +05:30
Bnyro
d5d36101c7
Merge pull request #2753 from Bnyro/master
Fix that skip silence is enabled by default
2023-01-18 09:48:14 +01:00
Bnyro
0029343382 Apply the caption style in the CustomExoPlayerView 2023-01-18 09:47:47 +01:00
Bnyro
0f34f4e696 Fix that skip silence is enabled by default 2023-01-18 09:44:37 +01:00
Bnyro
7151361fdb
Merge pull request #2749 from Isira-Seneviratne/PendingIntentCompat_helpers
Add PendingIntentCompat helper methods.
2023-01-18 09:42:24 +01:00
Isira Seneviratne
e306ba8a7f Add PendingIntentCompat helper methods. 2023-01-18 09:43:01 +05:30
Isira Seneviratne
9d942f567f Use ContextCompat.startForegroundService(). 2023-01-18 09:36:50 +05:30
Bnyro
c107bb1109 Remove some unused constants 2023-01-17 19:33:27 +01:00
Bnyro
187086d2d8 Rename the Community section to Help and add a FAQ 2023-01-17 19:32:19 +01:00
Faisal Khan
b805e0e375
Merge branch 'libre-tube:master' into master 2023-01-17 23:50:33 +05:30
Bnyro
26e2c38f60 Create shortcuts dynamically 2023-01-17 19:05:22 +01:00
Bnyro
fe6506179c Ability to skip silence when playing videos 2023-01-17 18:38:39 +01:00
Bnyro
2bf5b6e6f7 Replace the break reminder with a sleep timer 2023-01-17 18:21:59 +01:00
Isira Seneviratne
345f34f676 Simplify TimePickerPreference implementation. 2023-01-17 06:49:24 +05:30
Bnyro
f6473cfa96 Use compats for setting fullscreen 2023-01-16 22:08:08 +01:00
Bnyro
bda610d99c Fix duplicated videos in the playing queue 2023-01-16 20:02:07 +01:00
faisalcodes
6d322bf9f7 Fixed #2670 : Timestamp click behaviour in the description. 2023-01-17 00:20:33 +05:30
Bnyro
aa3aee0b27 Fix the color of notification badges 2023-01-16 18:36:30 +01:00
Bnyro
4e978faea3 Fix unexpected audio queue behavior 2023-01-16 18:33:11 +01:00
Bnyro
2f10b7ba23 Option to add newly opened links to queue 2023-01-16 18:25:12 +01:00
faisalcodes
0ee5753e91 Fixed #2670 2023-01-16 21:36:23 +05:30
Bnyro
88ecef18dd Minor cleanup to the PlayerFragment 2023-01-16 15:18:32 +01:00
Bnyro
7af4f20e53 Fix the visibility of the 'add to queue' btn 2023-01-16 15:14:22 +01:00
Bnyro
2ce5c79728 Fix that queue doesn't regenerate 2023-01-16 15:09:35 +01:00
Bnyro
b925c58119
Merge pull request #2711 from Isira-Seneviratne/ConfigurationCompat
Use ConfigurationCompat.getLocales().
2023-01-16 15:02:00 +01:00
Bnyro
6703a866c8
Merge pull request #2713 from Bnyro/master
Improved player notification
2023-01-16 15:01:33 +01:00
Bnyro
ec49d3e61e fix ktlint 2023-01-16 14:58:53 +01:00
Bnyro
1641c75146 Fix that the notification thumbnail doesn't load sometimes 2023-01-16 14:44:37 +01:00
Bnyro
930df73efa Display the uploader in the notification 2023-01-16 14:33:38 +01:00
Bnyro
cf17c0dfee Use MD icons for the notification seek controls 2023-01-16 14:30:48 +01:00
Bnyro
6c750b51fa Better icons in the now playing notification 2023-01-16 14:23:36 +01:00
Isira Seneviratne
8122788349 Use ConfigurationCompat.getLocales(). 2023-01-16 17:09:16 +05:30
Bnyro
b4b5c1a65d
Merge pull request #2703 from Isira-Seneviratne/Simplify_LocaleHelper
Simplify LocaleHelper methods.
2023-01-16 11:34:28 +01:00
Isira Seneviratne
8ccc91024e Simplify country detection further. 2023-01-16 12:20:47 +05:30
Bnyro
90e87c596e Add custom notification actions 2023-01-15 14:26:55 +01:00
Bnyro
12d4ee9e8e Cleanup the PiP window controls 2023-01-15 13:26:16 +01:00
Bnyro
a52bd6247c Move the bitmap scaling logic to the ImageHelper 2023-01-15 13:20:33 +01:00
Bnyro
fe42714c52 Convert queued videos in a playlist 2023-01-15 13:17:02 +01:00
Isira Seneviratne
e68677ab6d Use array extensions. 2023-01-15 09:05:45 +05:30
Bnyro
dad4ecd27e Theoritical support for playing downloaded subtitles 2023-01-14 20:02:01 +01:00
Bnyro
7ca39daedc Remove unused radio buttons from download dialog 2023-01-14 18:28:15 +01:00
Bnyro
1ce7d6761f Apply review from #2469 2023-01-14 18:17:34 +01:00
Bnyro
7a90acd824
Merge branch 'master' into feat/new-downloader 2023-01-14 17:54:02 +01:00
Bnyro
26f05d561a Merge master 2023-01-14 17:01:44 +01:00
Bnyro
f588073607 Add audio only mode 2023-01-14 16:59:21 +01:00
Bnyro
a21b8715b3 Fix the queue order in the background player mode 2023-01-14 15:44:31 +01:00
Bnyro
1140c34d4d Fix visiblity of skip and prev btns when player locked 2023-01-14 12:08:06 +01:00
Bnyro
773a41d830 Keep the queue when entering the audio only mode 2023-01-14 12:01:14 +01:00
Bnyro
552131bd2c Don't clear queue when entering audio mode 2023-01-14 11:54:19 +01:00
Isira Seneviratne
030cc80c71 Simplify some expressions. 2023-01-14 15:26:38 +05:30
Isira Seneviratne
ad7b8bd866 Simplify country detection methods. 2023-01-14 15:18:27 +05:30
Bnyro
e01a3d8465
Fix the list of available resolutions 2023-01-14 08:38:00 +01:00
Bnyro
eb0dc21b6b Fix crash while player is still buffering 2023-01-13 19:45:24 +01:00
Bnyro
e1667ab24f Fix issues with the audio player seekbar and add docs 2023-01-13 19:41:08 +01:00
Bnyro
3890bc3bcc Add indicators for current position and duration 2023-01-13 19:35:32 +01:00
Bnyro
2224ffc44a Show the queue when pressing the thumbnail 2023-01-13 19:20:25 +01:00
Bnyro
8d293a7ff9 Remove the queue option in the three dots menu 2023-01-13 19:16:44 +01:00
Bnyro
0e2400d782 Open audio player in PlayerFragment when starting audio mode 2023-01-13 19:13:28 +01:00
Bnyro
bc54390f31 Fix issues with the seekbar 2023-01-13 19:02:13 +01:00
Bnyro
4a5bed6f99 Make the seekbar functional 2023-01-13 18:53:57 +01:00
Bnyro
b09b9ad3bf React to changes in the player notification 2023-01-13 18:44:41 +01:00
Bnyro
186925dfa1 Add play and pause functionality 2023-01-13 18:35:38 +01:00
Bnyro
59697caebf Layout and skip+prev functionality 2023-01-13 18:20:00 +01:00
Bnyro
de02f75116 Add Netflix-like seek animation 2023-01-12 18:59:28 +01:00
Bnyro
48776977ea Cleanup the rewind and forward animation 2023-01-12 18:42:51 +01:00
Bnyro
84abad5655 Make ktlint happy 2023-01-11 19:49:12 +01:00
Bnyro
38298d9e43 Open video when clicking feed notification 2023-01-11 19:48:43 +01:00
Bnyro
5f8e0e70d7
Merge pull request #2660 from Isira-Seneviratne/ServiceCompat
Use ServiceCompat.
2023-01-11 09:41:11 +01:00
Isira Seneviratne
56c76249eb Use ServiceCompat. 2023-01-11 07:37:13 +05:30
Bnyro
c1225438a9 Use until instead of .. 2023-01-10 20:20:46 +01:00
Bnyro
e2d7e4a435 Get available resolutions dynamically from player 2023-01-10 20:14:14 +01:00
Bnyro
3dd58d47fa Option for background and skip controls in PiP 2023-01-09 17:38:17 +01:00
Bnyro
07dc1a80b8 PiP: Forward and Rewind actions 2023-01-09 17:08:05 +01:00
Bnyro
99182b34af Localize the date in the PlayerFragment 2023-01-09 16:21:14 +01:00
Bnyro
98a1c07d02 Use the cache for saving temp images 2023-01-09 15:49:09 +01:00
Bnyro
8cbb189bcf Fix that background mode doesn't start from beginning 2023-01-08 17:51:31 +01:00
Bnyro
c4a2d91fd4 Improve the responsiveness of the timebar preview 2023-01-08 17:39:38 +01:00
Bnyro
b92bfa87ed Fix doubled videos in playlists on reload 2023-01-08 17:23:27 +01:00
Bnyro
1a9a12a1ae Fix notifications when not logged in with account 2023-01-08 17:05:18 +01:00
Bnyro
36db1d49e0 Cleanup the notification worker 2023-01-08 16:39:22 +01:00
Bnyro
fd4cd9fa26 Support Open as default for all public Piped instances 2023-01-08 16:19:44 +01:00
Bnyro
1da89eed43 Cleanup the PlayerHelper 2023-01-08 16:06:29 +01:00
Bnyro
e021a52dbc Reduce the amount of used data in background mode 2023-01-08 15:54:48 +01:00
Bnyro
1e261420d7 Allow modifying the queue without restrictions 2023-01-07 19:15:31 +01:00
Bnyro
7318f7863d Fix crash when removing video from playlist 2023-01-06 21:39:34 +01:00
Bnyro
f084b1ec06 Fix clicking on private playlists 2023-01-06 21:35:37 +01:00
Bnyro
581bf1d430 Don't dim player background when locked 2023-01-06 21:27:31 +01:00
Bnyro
43e0aa0920 Fix crash when restoring local playlists 2023-01-05 20:34:02 +01:00
Bnyro
9d7a12a74f update the key for the data saver mode pref 2023-01-05 18:24:59 +01:00
Bnyro
61876f75d9 Only load 10 videos at once in private playlists 2023-01-05 18:03:32 +01:00
Bnyro
3855f1fbdf Format the changes by the previous commit 2023-01-05 17:12:15 +01:00
Bnyro
6b46db0e96 Scroll to top on reselecting navigation bar items 2023-01-05 17:11:24 +01:00
Bnyro
c04dc67140 Set notification badge color to colorPrimary 2023-01-04 19:35:37 +01:00
Bnyro
2db5852459 Add bookmark option to playlist options bottom sheet 2023-01-04 19:27:36 +01:00
Bnyro
446f641b99 Unify similar layouts for watch history, playlists and videos 2023-01-04 19:05:59 +01:00
Bnyro
acd925c733 Fix that double tap to seek is shown as false by default 2023-01-04 18:54:34 +01:00
Bnyro
c5a543bdf0 Improve the queue shuffle behavior 2023-01-04 18:49:06 +01:00
Bnyro
c3182edc73 Fix the layout of boomarked playlists in the library 2023-01-04 18:21:07 +01:00
Bnyro
56f8fdf84f Add a horizontal margin to the player controls at landscape 2023-01-03 18:44:04 +01:00
Bnyro
444bdd8583 Add bookmarks to the library fragment 2023-01-03 18:31:16 +01:00
Bnyro
55aa62da84 Fix that the last few comments can't be seen 2023-01-01 18:17:58 +01:00
Bnyro
15afbc2a82 Replace the autoplay option with a switch 2023-01-01 15:41:48 +01:00
Bnyro
3898f5e9a1 Remember sort order and filter in feed 2023-01-01 14:04:17 +01:00
Bnyro
09d3e496a3
Merge branch 'master' into feat/new-downloader 2022-12-28 17:48:30 +01:00
Bnyro
7adb510371 remove unused logging 2022-12-28 17:46:01 +01:00
Bnyro
b6056b8610 Add shuffle button to owned playlists 2022-12-28 17:43:27 +01:00
Bnyro
1e7b38e209 Add play all from watch history button 2022-12-28 17:16:00 +01:00
Bnyro
2945f3c27a Add a clear button to the watch history 2022-12-28 17:07:35 +01:00
Bnyro
f3eab0484b Add shorts filter to the feed 2022-12-28 16:46:57 +01:00
Bnyro
38b8fa8952 Fix that watch positions don't work for the queue 2022-12-27 19:32:08 +01:00
Bnyro
f1afd1d13a Fix issues with the video duration using SponsorBlock 2022-12-27 19:14:25 +01:00
Bnyro
0f72df6e70 Turn #1560 into an option 2022-12-27 18:48:09 +01:00
Bnyro
0dfb47143b Create a AppNameTextView component to clean up dialogs 2022-12-26 17:17:36 +01:00
Bnyro
5cdf670b15 Add a Clone Playlist action to the create playlist dialog 2022-12-26 16:42:47 +01:00
Bnyro
3434974efc Use playlists layout for bookmarks 2022-12-26 16:18:09 +01:00
Bnyro
0045e41902 Use a ViewModel for the CommentsSheet 2022-12-26 15:55:14 +01:00
Bnyro
d339e044c8 Cleanup #2504 2022-12-25 17:17:36 +01:00
Bnyro
2180f503fe Enable the SponsorBlock marker option by default 2022-12-25 17:00:50 +01:00
Bnyro
1109a93d23 Fix the SponsorBlock marker size 2022-12-25 16:59:55 +01:00
Bnyro
04d8d64d9b Add an option to allow data saver on metered networks 2022-12-25 16:08:52 +01:00
Bnyro
9a8e6ce565 Show the video duration when SponsorBlock segments get skipped 2022-12-25 15:50:48 +01:00
Krunal Patel
fa924fe84f Fix ktlint format 2022-12-25 18:36:23 +05:30
Krunal Patel
6c427d3d76 Add concurrent downloads limit with preference setting 2022-12-25 15:33:28 +05:30
Krunal Patel
4ea77859bc Add subtitle download spinner 2022-12-25 14:37:01 +05:30
Krunal Patel
e0c6401963 Use title as download filename and filter reserved unix characters 2022-12-25 13:17:17 +05:30
Krunal Patel
f5d17ba5bf Retry connection for DEFAULT_RETRY times on SocketTimeoutException 2022-12-25 13:14:32 +05:30
Krunal Patel
d4c6d7aacd Regenerate expired links using available stream info 2022-12-25 10:16:53 +05:30
Krunal Patel
295af6c6c6 Use cronet for download service connections 2022-12-24 23:39:56 +05:30
Bnyro
ce9ef0693f Reformat the whole project 2022-12-23 14:57:10 +01:00
Bnyro
f067987992 Fix crash when toggling the video description 2022-12-23 14:38:22 +01:00
Bnyro
295caa3093 Remove playlists at library on deletion 2022-12-22 11:55:51 +01:00
Bnyro
73a7e62e57 Improve track selector parameters logic 2022-12-22 11:24:50 +01:00
Bnyro
a2296802f0 Hide captions in PiP and mini-player 2022-12-22 11:17:34 +01:00
Bnyro
d81bbf1094 use the proper exoplayer api for setting the notification icon 2022-12-22 10:48:46 +01:00
Bnyro
6bd64dde38 only ignore touches at top of player when in landscape 2022-12-22 10:44:58 +01:00
Bnyro
6b68fa71f6 Ignore touches to the top of the player 2022-12-22 10:40:46 +01:00
Krunal Patel
a38ef176ab Fix notification content action to open download fragment 2022-12-21 22:19:29 +05:30
Krunal Patel
d62c50c2c6 Fix download fragment layout and add uploader 2022-12-21 21:41:48 +05:30
Krunal Patel
b2fa951c09 Use Int.MAX - DownloadItem.id for notifications
Unique notification ids are required which do not conflict with other notifications. So, use ids from max value of Int.
2022-12-21 21:41:47 +05:30
Krunal Patel
4f0f9b7560 Fix notification action, download fragment and resource leak
- Bind service when service started using notification resume action.

- Use `HttpURLConnection` to download file.

- Use progress bar to determine overall progress.
2022-12-21 21:41:37 +05:30
Krunal Patel
8af9e20748 Fix|Change notification actions and appearance 2022-12-21 21:39:31 +05:30
Krunal Patel
887f658af3 Implement new download service with OkHttp
Use custom downloader and remove DownloadManager
2022-12-21 21:39:30 +05:30
Krunal Patel
03a0f9e1fc Add service start method to DownloadHelper
Move download service method to Download helper and start as foreground.
2022-12-21 21:39:29 +05:30
Krunal Patel
0ba1696448 Use download database for downloads and playback
Use `Download` and `DownloadItem` database for download and offline playback.
2022-12-21 21:39:28 +05:30
Krunal Patel
859da3d195 Add database for downloads
Database keep trac of downloaded item `Audio`, `Video` and `Subtitle`.
2022-12-21 21:39:27 +05:30
Bnyro
0ecd9fbf28 Add option to hide watched videos from the feed 2022-12-21 12:00:58 +01:00
Bnyro
947077acdc Increase size of alternative related videos 2022-12-21 11:30:53 +01:00
Bnyro
71eb197689 Fix the sorting of playlists in the library 2022-12-21 11:25:38 +01:00
Bnyro
7f2f012a1c fetch available instance from tokhmi as fallback, otherwise use the hardcoded instances 2022-12-20 17:24:53 +01:00
Bnyro
b799bbefd1 improve the player action buttons 2022-12-20 17:05:37 +01:00
Bnyro
d1eb279563 Hide the comments bottom sheet when entering PiP 2022-12-20 16:45:29 +01:00
Bnyro
b607ea945b Theme the pull refresh progress 2022-12-20 16:37:37 +01:00
Bnyro
96fcb851a3 fix crash when restoring a backup with playlists 2022-12-20 15:50:04 +01:00
Bnyro
785180c64f fix the search when no results were found 2022-12-19 17:13:50 +01:00
Bnyro
8345269179 Improve the playlist cloning algorithm 2022-12-19 16:58:34 +01:00
Bnyro
2cb5ee51f5 Add documentation to the seekbar preview 2022-12-17 11:40:30 +01:00
Bnyro
68eff4fd3e Add a seekbar preview on scrubbing 2022-12-17 11:22:46 +01:00
Bnyro
a334c7aba2 Make YT playlist import language independent 2022-12-16 16:28:39 +01:00
Bnyro
4d601f98d4 place the chapter time stamps in front of the chapter name 2022-12-16 15:24:43 +01:00
Bnyro
9dddf7851d Fix issues with notification groups being empty 2022-12-16 15:19:38 +01:00
Bnyro
ea72e777c1 limit the max height of the comments sheet 2022-12-16 15:01:06 +01:00
Bnyro
03973bcc14 Open with button behavior on long pressing Share 2022-12-16 14:55:08 +01:00
Bnyro
d2cbe12723 Check all backup options by default 2022-12-15 19:50:42 +01:00
Bnyro
1a4b3e5a1c run ktlint 2022-12-15 19:48:24 +01:00
Bnyro
8a8ece49da Don't start PiP when the video is paused 2022-12-15 19:40:32 +01:00
Bnyro
6fccb2ad16 Parse the preview images from the streams response 2022-12-15 19:24:26 +01:00
Bnyro
4c0e64d25a fix crash when restoring the preferences backup 2022-12-15 19:16:12 +01:00