1
0
mirror of https://github.com/TeamNewPipe/NewPipe synced 2024-11-16 23:04:56 +00:00
Commit Graph

3714 Commits

Author SHA1 Message Date
Isira Seneviratne
b0516fbf1d
Use BitmapCompat.createScaledBitmap(). 2022-11-29 15:56:19 +01:00
Stypox
9d01d88eed
Request permission to send notifications 2022-11-28 18:49:11 +01:00
AudricV
6b89b44dcd
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
Jared Fantaye
e5af1c93ae Seeking no longer pauses the played video 2022-11-26 15:35:13 +01:00
Isira Seneviratne
d6617007d4 Use SparseArrayCompat instead of SparseArray in StreamItemAdapter.
Make additional small improvements as well.
2022-11-22 18:31:58 +05:30
Isira Seneviratne
8db90ba449 Use SparseArrayCompat for thumbnails. 2022-11-22 17:51:54 +05:30
Stypox
048b0972de Set compileSdk and targetSdk to 33 (Android 13)
android:exported in now required in the manifest on all activities/services/receivers/providers. It was set to true for those that need to interact with outside apps or the OS, while others have exported=false.
This also required updating LeakCanary to the latest version as the older version being used was not using android:exported in AndroidManifest.xml.
2022-11-18 08:33:13 +01:00
Isira Seneviratne
a7989795e8 Merge branch 'dev' into Refactor_VideoPlayerUi 2022-11-14 08:59:03 +05:30
Isira Seneviratne
a40f035810 Merge branch 'dev' into Refactor_VideoDetailFragment 2022-11-14 08:58:45 +05:30
Isira Seneviratne
aad5e26f31
Merge pull request #8870 from Isira-Seneviratne/Locale_forLanguageTag
Use Locale.forLanguageTag().
2022-11-10 19:56:34 +05:30
Tobi
627c6e29a2
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
TobiGr
ef1e7e5b52 Merge branch 'master' into dev 2022-11-09 16:45:22 +01:00
AudricV
abf1cc536d
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
c38f150562
Remove now obsolete API check. 2022-11-09 15:50:09 +01:00
cybersphinx
d2b6bda7a2
Remove errant return. 2022-11-09 15:50:09 +01:00
cybersphinx
9e5c68c575
Add check for input devices with cursor. 2022-11-09 15:50:06 +01:00
Hanif Shersy
88eed6cc23
Add JSDoc comment and a performance note for isDesktopMode 2022-11-09 15:48:50 +01:00
Hanif Shersy
a1773d166f
Fix JSDoc checkstyle warning 2022-11-09 15:44:36 +01:00
Hanif Shersy
5e2ef7ff0d
Address review comments 2022-11-09 15:44:36 +01:00
Hanif Shersy
cfda073aa5
Fix DeX mode check 2022-11-09 15:44:36 +01:00
Hanif Shersy
ff774a1870
Fix persistent hover overlay when mouse connected 2022-11-09 15:44:27 +01:00
Isira Seneviratne
feb03f7e30 Use Math.floorDiv(). 2022-11-09 20:01:40 +05:30
Isira Seneviratne
5c1af6d296 Group private Localization methods together. 2022-11-09 08:54:47 +05:30
Isira Seneviratne
6d812b86aa Use Locale.forLanguageTag(). 2022-11-09 08:51:12 +05:30
AudricV
7b7ab3f419
Remove Utility.copyToClipboard and use ShareUtils.copyToClipboard instead
This method is not needed anymore, as ShareUtils.copyToClipboard does
almost the same thing (no label is set on the ClipData used to copy text,
contrary to what Utility did, but using "text" as a ClipData label doesn't seem
useful).

It was used in MissionAdapter.handlePopupItem to copy the SHA1 or the MD5 of a
file.
2022-11-08 20:47:51 +01:00
dhruvpatidar359
ef35b36eba
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
3dc1adb69e Add helper methods for adding PendingIntent mutability. 2022-11-07 17:12:22 +05:30
Tobi
da61c9f915
Merge pull request #9298 from Stypox/fix-inconsistent-channel-groups
Fix inconsistent channel group list and items view mode
2022-11-05 21:11:51 +01:00
Stypox
9472c36cbd
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
Stypox
49c12a31e9
Fix wrongly calculated channel groups span count 2022-11-05 20:05:59 +01:00
Stypox
fc061599f8
Fix inconsistent channel group list and item view mode 2022-11-04 18:21:35 +01:00
Tobi
c8caf48cda
Merge pull request #9230 from Stypox/duplicate-feed-videos
Fix duplicate videos in feed group "All"
2022-11-03 17:23:05 +01:00
Isira Seneviratne
e4f97465a4 Use lambdas for VideoDetailFragment listeners. 2022-11-03 20:15:17 +05:30
Isira Seneviratne
e333197ed5 Use OnClickListener and OnLongClickListener lambdas in the player UIs. 2022-11-03 05:09:35 +05:30
Isira Seneviratne
51bdc30ed0 Use TextViewCompat.setCompoundDrawableTintList(). 2022-11-01 06:31:35 +05:30
Stypox
9d2ab61993
Merge pull request #9203 from Callisto404/add-chapter-timestamp-share
Added timestamped link sharing from the start of a chapter with a long hold press
2022-10-30 22:31:09 +01:00
Stypox
8fdd828de4
Merge pull request #8739 from Isira-Seneviratne/Stream_average
Calculate search score using streams.
2022-10-30 22:09:55 +01:00
Stypox
25795c3a96
Merge pull request #8706 from Isira-Seneviratne/Improve_LocalPlaylistFragment
Refactor removeWatchedStreams() in LocalPlaylistFragment.
2022-10-30 22:03:39 +01:00
Daniel M
7f3da04fee Added an "isYouTube" check to start of long click handler 2022-10-30 13:48:03 +11:00
Stypox
7864521cb4
Merge pull request #8767 from Isira-Seneviratne/Use_ByteString
Use Okio's ByteString for download checksums.
2022-10-29 11:16:44 +02:00
Stypox
9524c6245d
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
57d2fe113a
Fix duplicate videos in feed "All" 2022-10-27 23:43:39 +02:00
Stypox
2f6cb87bba
Use GROUP_ALL_ID instead of hardcoded -1 2022-10-27 23:32:19 +02:00
Stypox
3cef7f3201
Merge pull request #9207 from cern1710/list-view-alt-alt-implementation
undefined
2022-10-27 22:48:03 +02:00
Samuel Wu
f712ea34e0 Merge remote-tracking branch 'origin/list-view-alt-alt-implementation' into list-view-alt-alt-implementation 2022-10-28 04:54:42 +11:00
Samuel Wu
a44b7c9c9e Disabled animations for subscription fragment 2022-10-28 04:54:33 +11:00
Stypox
4b32890b5f
Fix random crash in SubscriptionFragment 2022-10-27 18:45:06 +02:00
Stypox
a41aa01461
Solve two SonarCloud smells 2022-10-27 17:52:17 +02:00
Stypox
ea875c59af
Deduplicate isGridLayout calls 2022-10-27 17:25:06 +02:00
YonghaoDeng
a22162ffac
Add an Open in browser button on error panel (#9180)
* add a open in browser button

* Corrected a few things that needed to be changed

* Remove unneeded changes.

* Remove unneeded changes.

* Add showAndSetOpenInBrowserButtonAction function

* modify some codes
2022-10-27 14:38:08 +02:00
Stypox
83d16dc656
Fix flickering in channel groups list 2022-10-27 14:01:04 +02:00
Stypox
8ceefee1e3
Put "New feed group" item at the top 2022-10-27 13:51:56 +02:00
Samuel Wu
8f157be7e0 Revert changes 2022-10-27 12:15:36 +11:00
Stypox
0e169951f7
Fix grid/list toggle implementation of feed 2022-10-26 23:20:32 +02:00
Samuel Wu
f7e10eb094 Fully working card and list view 2022-10-26 21:05:55 +11:00
Jfax510
0d73d193ad
Added Toast Notification "Hold to enqueue" (#9196)
* Added Toast Notification "Hold to enqueue"

* Check if enqueue tips are enabled

* created function showHoldToAppendTipIfNeeded() for toast message
2022-10-26 11:35:03 +02:00
plasticanu
40815086ad
Fix crash when the user clicks download then quits the history fragment (#9143)
* Fix crash when the user clicks download then quits the history fragment

* add a nonnull annotation to the context parameter in the DownloadDialog constructor.

* Revert "Merge branch 'TeamNewPipe:dev' into fix/HistoryFragmentDownloadDialogCrash"

This reverts commit 968d7a7603.

* Revert "Merge branch 'TeamNewPipe:dev' into fix/HistoryFragmentDownloadDialogCrash"

This reverts commit 968d7a7603, reversing
changes made to 52963ba37d.

Reverted merge

jlhzxc

* update project to the latest dev branch

* Revert "update project to the latest dev branch"

This reverts commit fb3ed83d51.

revert changes to build files

* Revert "Revert "Merge branch 'TeamNewPipe:dev' into fix/HistoryFragmentDownloadDialogCrash""

This reverts commit f9e1835e71.
2022-10-26 11:22:32 +02:00
Yuuu2990
16860603fd
Add Link to FAQ in the app (#9164)
* Link to FAQ in the app #4447

* remove redundant comments produced by me.

* Update app/src/main/res/values/strings.xml

Update FAQ description

Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>

* Format the CodeStyle and readjust the layout.

* Update app/src/main/res/layout/fragment_about.xml

Remove redundant id.

Co-authored-by: Stypox <stypox@pm.me>

* Update app/src/main/res/layout/fragment_about.xml

Remove redundant id.

Co-authored-by: Stypox <stypox@pm.me>

* Update app/src/main/res/values/strings.xml

Keep the uppercase for consistency.

Co-authored-by: Stypox <stypox@pm.me>

* Update app/src/main/res/values/strings.xml

Modify the description of FAQ.

Co-authored-by: Stypox <stypox@pm.me>

Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
Co-authored-by: Stypox <stypox@pm.me>
2022-10-26 09:59:51 +02:00
Samuel Wu
c607089cbb Altered grid view similar to Youtube app layout 2022-10-26 00:06:48 +11:00
Samuel Wu
28464344c1 Finalized design for vertical card view and removed unneeded variables in SubscriptionFragment.kt 2022-10-25 11:43:25 +11:00
Samuel Wu
ed68e3bd46 Fully working toggle button that change between vertical and horizontal view 2022-10-25 10:54:27 +11:00
Samuel Wu
082d7a3f18 Added working binding for a "new" button that works in the list layout. 2022-10-25 02:38:31 +11:00
Samuel Wu
6eddaa0d38 Added boolean to handle feed groups. May need a better solution for this 2022-10-25 02:20:14 +11:00
Samuel Wu
1aa1a0287e Could toggle between list view and grid view...once. Requires bug fixing on refreshing 2022-10-25 02:01:57 +11:00
Samuel Wu
3bfcb16f9a Bug: SubscriptionViewModel.kt did not map values for FeedGroupCardVerticalItem in line 26 2022-10-25 00:32:21 +11:00
Samuel Wu
f37d869ea2 Button can be toggled but not all strings have been fed 2022-10-24 23:01:02 +11:00
Samuel Wu
78547b4fa4 Created a list view for channel group. 2022-10-24 18:55:08 +11:00
Samuel Wu
29e56b9f2d Created a button in SubscriptionFragment.kt that reads whether button is clicked 2022-10-24 16:55:12 +11:00
Daniel M
83357ca67e Added sharing a link with timestamp from a chapter into the long click for each chapter 2022-10-24 14:14:41 +11:00
Samuel Wu
8482bf9fed Created a non-functional button in HeaderWithMenuItem.kt 2022-10-23 23:43:52 +11:00
TobiGr
4a278ef102 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
7ab8f9f112
Merge pull request #9079 from devlearner/fix-screen-rotate
Fix `DownloadDialog` crash on screen rotation
2022-10-10 11:18:50 +02:00
Tobi
7fca0e0786
Merge pull request #9065 from devlearner/fix-spannable-cast
Fix potential cast exception in comments text
2022-10-10 10:51:32 +02:00
Tobi
ed4eb124e4
Merge pull request #8734 from Stypox/feed-group-factory
Improve `FeedGroupDialogViewModel` factory
2022-10-09 19:35:47 +02:00
Tobi
5b213a19e4
Merge pull request #8934 from Isira-Seneviratne/LinkifyCompat
Use LinkifyCompat.
2022-10-09 12:07:50 +02:00
Tobi
8bc8355b68
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
devlearner
ab99c14fd2
Fix crash on screen rotation 2022-10-06 18:15:36 +08:00
devlearner
1047158a66
Fix potential cast exception
when casting to `Spannable` in `CommentTextOnTouchListener`
2022-10-04 17:31:35 +08:00
Stypox
489f052ef9
Fix feed menu tooltips (silly copy-paste error) 2022-09-19 11:21:42 +02:00
Stypox
bf55ed262f
Merge pull request #8972 from Stypox/fix-suggestions-listadapter
Fix various issues in the search suggestions list
2022-09-19 08:54:55 +02:00
Stypox
f26bf33ead
Merge pull request #8966 from Stypox/feed-menuitem-tooltip
Show correct tooltips for actions in feed
2022-09-19 08:54:06 +02:00
HybridAU
9db0133a5b
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
28b34f3796
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
1f57c87859
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
fbf5549182
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
051c572e7f
Show correct tooltips for actions in feed 2022-09-13 15:26:04 +02:00
Isira Seneviratne
464a646671 Use LinkifyCompat. 2022-09-06 09:27:50 +05:30
Stypox
ed87465565
Only update notification large icon when it changes 2022-08-28 23:14:02 +02:00
Stypox
f9109ebc81
Use player.getThumbnail() instead of field in VideoPlayerUi 2022-08-28 18:35:21 +02:00
Stypox
4a7af6f9ac
Remove thumbnail before sync, if outdated
Also refactor onPlaybackSynchronize and add comments
2022-08-28 18:32:27 +02:00
Stypox
7fbef35daa
Unify onThumbnailLoaded calls to ensure UIs always updated 2022-08-28 17:24:51 +02:00
Stypox
f9994abb94
Prevent tapping on thumbnail if video details are not loaded 2022-08-26 18:54:51 +02:00
Stypox
ca0f56eea8
Avoid setting invalid states to bottom sheet callback 2022-08-26 18:54:51 +02:00
Stypox
500acce178
Fix regression in screen rotation animation 2022-08-26 18:54:51 +02:00
Stypox
6805c75c9c
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
litetex
59d1ded94e Fixed sonar detected problems
+ Automatically fixed code style (imports)
2022-08-25 17:02:53 +02:00
Stypox
973a966011 Review suggestions 2022-08-25 17:02:53 +02:00
Stypox
510efaae97 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
11bd2369e5 Merge MediaSessionManager into MediaSessionPlayerUi 2022-08-25 17:02:52 +02:00
Stypox
f80d1dc48d Let exoplayer decide when to update metadata
Though still make sure metadata is updated after the thumbnail is loaded.
This fixes the wrong seekbar properties (duration and current position) being shown in the notification sometimes.
2022-08-25 17:02:52 +02:00
Stypox
8bff445ec3 Remove useless checks before updating metadata
A while ago NewPipe called the metadata update function very often, so checks were needed to ensure not wasting time updating metadata if it were already up to date. Now, instead, the metadata update function is called exactly when needed, i.e. when metadata changes, so such checks are not needed anymore (and were probably also a little resource-heavy).
2022-08-25 17:02:51 +02:00
Stypox
d73ca41cfe Even when thumbnails should not be shown, set it to null in notification
This makes sure the thumbnail is removed from the notification if the user disables thumbnails
2022-08-25 17:02:51 +02:00
Stypox
f3a9b81b67 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
3cc43e9fb9 Fix thumbnail sometimes not set to media session metadata
The thumbnail was not being updated in the media session metadata after it was loaded, since there was no metadata update in that case, only a notification update.
2022-08-25 17:00:41 +02:00
Stypox
bc33322d4b Remove useless MediaSessionCallback
The player is now passed directly, it made no sense to wrap around it in a callback that was not really a callback but rather, actually, a wrapper.
2022-08-25 17:00:41 +02:00
Stypox
c054ea0737 Create MediaSessionPlayerUi 2022-08-25 17:00:41 +02:00
Stypox
52dbfdee00 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
Isira Seneviratne
5e0788b99c Use ListAdapter in PreferenceSearchAdapter. 2022-08-18 19:52:51 +05:30
Isira Seneviratne
67669c286b Use ListAdapter in SuggestionListAdapter. 2022-08-18 19:52:51 +05:30
Isira Seneviratne
408a71cfdc Calculate search score using streams.
Co-authored-by: Stypox <stypox@pm.me>
2022-08-15 07:26:56 +05:30
Isira Seneviratne
6399e39507 Remove from playlist only upon selecting the option and not afterwards. 2022-08-15 07:26:36 +05:30
Isira Seneviratne
f9443f7421 Refactor removeWatchedStreams() in LocalPlaylistFragment. 2022-08-15 07:26:36 +05:30
Isira Seneviratne
4f6b5b3b89 Use ListAdapter in PeertubeInstanceListFragment. 2022-08-15 07:26:02 +05:30
Isira Seneviratne
697b8411df Use Okio's ByteString. 2022-08-13 08:27:55 +05:30
Stypox
571bf397c5
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
e136a6f915 Use range-limiting methods in more places. 2022-08-08 07:10:16 +05:30
Stypox
74921d3afa
Merge pull request #8740 from Isira-Seneviratne/Cleanup_methods
Remove some unused methods.
2022-08-06 22:45:40 +02:00
Stypox
edd2b110b0
Merge pull request #8738 from Isira-Seneviratne/Collectors_joining
Use Collectors.joining().
2022-08-06 22:31:31 +02:00
Stypox
80fb21e031
Merge pull request #8728 from Isira-Seneviratne/Comparator_factory
Use Comparator factory methods.
2022-08-06 11:56:44 +02:00
Stypox
ebd06bdd24
Improve comment 2022-08-06 11:56:00 +02:00
Stypox
6f86e21605
Merge pull request #8724 from Isira-Seneviratne/toArray_improvements
Use toArray() with zero-length arrays.
2022-08-06 11:33:05 +02:00
Stypox
816154c7cb
Merge pull request #8737 from Isira-Seneviratne/Fix_coerceIn
Replace coerceIn() with MathUtils.clamp().
2022-08-06 11:16:06 +02:00
Stypox
d9230c0103
Merge pull request #8708 from Isira-Seneviratne/Reduce_View.kt_size
Reduce View.kt size.
2022-08-06 10:59:10 +02:00
Isira Seneviratne
5c7dfd1d69 Remove unused method. 2022-08-06 06:54:21 +05:30
Isira Seneviratne
7aacaf8c38 Use Collectors.joining(). 2022-08-06 06:54:21 +05:30
Isira Seneviratne
ee6a279596 Remove unused methods in HistoryRecordManager. 2022-08-06 05:09:54 +05:30
Isira Seneviratne
a9af1dfdd2 Applied code review changes. 2022-08-05 06:54:03 +05:30
Isira Seneviratne
fc46233baf Use toArray() with zero-length arrays. 2022-08-05 06:50:55 +05:30
Isira Seneviratne
2eec2e9128 Replace coerceIn() with MathUtils.clamp(). 2022-08-05 06:19:06 +05:30
Isira Seneviratne
8024b437e9 Add reusable classes extending AnimatorListenerAdapter. 2022-08-05 06:08:13 +05:30
Isira Seneviratne
d1f3f15478 Use Comparator.comparingDouble(). 2022-08-05 05:36:39 +05:30
Isira Seneviratne
059cfcbad2 Use Comparator factory methods in ListHelper. 2022-08-05 05:36:21 +05:30
Stypox
1a8f396e77
Merge pull request #8721 from Isira-Seneviratne/OnClickGesture_interface
Make OnClickGesture an interface.
2022-08-04 16:15:54 +02:00
Stypox
5640365fbd
Merge pull request #8682 from Isira-Seneviratne/Refactor_LicenseFragmentHelper
Refactor LicenseFragmentHelper.
2022-08-04 11:18:40 +02:00
Isira Seneviratne
4b7de86a92
Clean up getLicenseStylesheet(). 2022-08-04 11:17:30 +02:00
Stypox
24ec642181
Merge pull request #8669 from Isira-Seneviratne/Remove_setBottomSheetCallback
Remove uses of setBottomSheetCallback().
2022-08-04 11:03:57 +02:00
Stypox
8dce66d76f
Improve FeedGroupDialogViewModel factory 2022-08-04 10:49:33 +02:00
Stypox
ffc1d9a212
Merge pull request #8656 from Isira-Seneviratne/Use_WindowMetrics
Use WindowMetrics API.
2022-08-04 10:12:32 +02:00
Isira Seneviratne
7f018b90db Merge branch 'dev' into OnClickGesture_interface 2022-08-04 06:10:39 +05:30
Stypox
368c6c0ccb
Merge pull request #8709 from Isira-Seneviratne/Tags_case_insensitive
Sort tags case-insensitively.
2022-08-03 22:43:50 +02:00
Stypox
5c4874b90f
Merge pull request #8701 from Isira-Seneviratne/Use_stackTraceToString
Use Throwable.stackTraceToString().
2022-08-03 21:04:22 +02:00
Stypox
3420faab08
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
Stypox
a548b34811
Merge pull request #8692 from TacoTheDank/bumpMaterial
Update Google Material to 1.6.1
2022-08-02 11:05:24 +02:00
Stypox
ad30eb809c
Merge branch 'dev' into bumpFragment 2022-08-02 10:54:39 +02:00
Stypox
ee368452ae
Merge pull request #8687 from TacoTheDank/bumpExoPlayer
Update ExoPlayer to 2.18.1
2022-08-02 10:34:58 +02:00
Isira Seneviratne
a9095ca2ad Make block parameter an extension lambda. 2022-08-01 08:29:59 +05:30
Isira Seneviratne
013522c376 Convert LicenseFragmentHelper methods to top-level declarations. 2022-08-01 08:27:09 +05:30
Isira Seneviratne
8a896114c1 Apply code review change. 2022-08-01 08:25:24 +05:30
Isira Seneviratne
47f58040d1 Make OnClickGesture an interface. 2022-08-01 06:47:00 +05:30
Isira Seneviratne
311d392386 Use Application instead of Context in FeedViewModel. 2022-07-31 08:37:16 +05:30
Stypox
404c13d4c1 Improve FeedViewModel factory 2022-07-31 08:30:17 +05:30
Isira Seneviratne
5c68c8ece8 Update Lifecycle to 2.5.1. 2022-07-31 08:30:17 +05:30
Isira Seneviratne
4d7a6fb6de Use WindowMetrics API in VideoDetailFragment and PopupPlayerUi. 2022-07-30 19:22:39 +05:30
Isira Seneviratne
630558ed4f Use nested functions. 2022-07-30 07:59:36 +05:30
Isira Seneviratne
69942003f7 Sort tags case-insensitively. 2022-07-29 09:21:48 +05:30
Isira Seneviratne
af9c2bd59d Use stackTraceToString(). 2022-07-27 07:54:49 +05:30
Isira Seneviratne
81fb44c45c Remove uses of setBottomSheetCallback(). 2022-07-25 18:44:30 +05:30
TacoTheDank
d66997c2ed Update Google Material to 1.6.1 2022-07-24 16:51:26 -04:00
TacoTheDank
d7a654fc27 Update AndroidX Fragment to 1.4.1 2022-07-24 15:35:33 -04:00
TacoTheDank
229422bfa9 Update ExoPlayer to 2.18.1 2022-07-24 14:11:31 -04:00
TacoTheDank
8f5d564f84 Migrate NoNonsense-FilePicker to our updated fork 2022-07-24 15:07:31 +02:00
litetex
dcb332e08d
Merge pull request #8624 from TacoTheDank/bumpOkhttp
Update OkHttp to 4.10.0
2022-07-24 15:02:08 +02:00
litetex
51e72d1a05
Removed the "(beta)"-tag from services (#8637) 2022-07-24 15:57:23 +03:00
litetex
8f37015dbb
Merge pull request #8621 from Stypox/deduplicate-feed
Deduplicate SQL queries to get feed streams
2022-07-24 14:52:35 +02:00
Stypox
74df7fcd66
Merge pull request #8670 from Isira-Seneviratne/Update_FocusAwareCoordinator
Remove deprecated method calls in FocusAwareCoordinator.
2022-07-23 17:12:29 +02:00
Stypox
bfaf074f4e
Merge pull request #8663 from Isira-Seneviratne/Remove_unnecessary_methods
Remove unnecessary methods.
2022-07-23 16:31:28 +02:00
Stypox
3281ed2ef1
Merge pull request #8648 from Isira-Seneviratne/Use_IO_extensions
Use IO extensions.
2022-07-22 18:30:51 +02:00
Stypox
b2c2570a85
Merge pull request #8676 from Stypox/fix-channel-placeholders
Fix wrong thumbnail used as placeholder for channel
2022-07-22 18:16:42 +02:00
Stypox
f4fe5fcb16
Fix ListHelperTest failure caused by immutable list being used 2022-07-22 16:09:43 +02:00
Stypox
37275e8fe3
Fix wrong thumbnail used as placeholder for channel 2022-07-22 15:13:47 +02:00
Isira Seneviratne
f1dab11f1f Remove deprecated method calls in FocusAwareCoordinator. 2022-07-21 09:01:19 +05:30
Isira Seneviratne
6d1c61407d Remove unnecessary method in ChannelFragment. 2022-07-21 08:02:23 +05:30
Isira Seneviratne
8b400b48f7 Refactor notifying method in PlayQueue. 2022-07-21 08:02:23 +05:30
Isira Seneviratne
b845645b80 Use IO extensions.
Co-authored-by: Stypox <stypox@pm.me>
2022-07-21 05:15:39 +05:30
Stypox
cacce6d2d0
Merge pull request #8651 from Isira-Seneviratne/Use_limiting_methods
Use range-limiting methods.
2022-07-20 15:06:45 +02:00
Stypox
373ee53143
Improve code style 2022-07-20 15:05:25 +02:00
Stypox
344c33d9a1
Merge pull request #8631 from Isira-Seneviratne/Use_collection_factories
Use Java 9 collection factories.
2022-07-20 14:52:18 +02:00
Stypox
c5b970cca3
Improve code style in List.of() 2022-07-20 14:50:23 +02:00
Stypox
15947161e6
Merge pull request #8635 from Isira-Seneviratne/Use_stream_sort
Use stream sorting.
2022-07-20 11:06:56 +02:00
Isira Seneviratne
394eb92e71 Use coerceIn(). 2022-07-20 05:36:01 +05:30
Isira Seneviratne
d62cdc659f Use MathUtils.clamp().
Co-authored-by: Stypox <stypox@pm.me>
2022-07-20 05:36:01 +05:30
Isira Seneviratne
a6cc13845a Use Map.of(). 2022-07-20 04:39:11 +05:30
Isira Seneviratne
55a995c4cd Replace LinkedHashMap with List.of(). 2022-07-20 04:39:11 +05:30
Isira Seneviratne
ca26fcb0eb Use List.of(). 2022-07-20 04:39:11 +05:30
Stypox
4eddd2c3d1
Fix random NullPointerException when adding video player view 2022-07-19 20:01:46 +02:00
Isira Seneviratne
c53143ef4f Use Set.of(). 2022-07-19 08:53:15 +05:30
Isira Seneviratne
e772244440 Update app/src/main/java/org/schabi/newpipe/fragments/detail/DescriptionFragment.java
Co-authored-by: Stypox <stypox@pm.me>
2022-07-19 05:13:38 +05:30
Stypox
e8669d4ab5
Deduplicate SQL queries to get feed streams 2022-07-18 23:39:57 +02:00
Stypox
cd14096dbe
Merge pull request #8633 from Isira-Seneviratne/Use_ViewCompat_setBackgroundTintList
Use ViewCompat.setBackgroundTintList().
2022-07-18 23:31:56 +02:00
Isira Seneviratne
f1de353b74 Use stream sorting. 2022-07-16 08:34:04 +05:30
Isira Seneviratne
5da8d5fc73 Use ViewCompat.setBackgroundTintList(). 2022-07-16 05:49:52 +05:30
litetex
3ba04f179f Fixed conflicts/build 2022-07-15 20:00:08 +02:00
litetex
3890d0abdb Added note that explains that unused code was removed. 2022-07-15 19:55:19 +02:00
litetex
8b209df253 Changed the code accordingly
+ Removed some unused code
2022-07-15 19:55:19 +02:00
litetex
b7a44560f5
Merge pull request #8170 from Stypox/player-refactor
Refactor player and extract UI components
2022-07-15 19:41:23 +02:00
Stypox
0e8cc72b13
Fix random NullPointerException when adding video player view 2022-07-14 22:14:03 +02:00
Stypox
6ea85e6380
Rename dummy_* and more to placeholder_* 2022-07-14 14:27:33 +02:00
Stypox
7b9b9218dc
Remove bottom-sheet-thumbnail placeholder, clear the image instead 2022-07-14 14:14:33 +02:00
krlvm
35eeccd45a
Rename buddy.xml to dummy_person.xml 2022-07-14 14:14:32 +02:00
krlvm
cc7a8fb1a6
Improve image placeholders
- Show placeholders until the image is loaded because timeout can be very long and missing profile pictures and video thumbnails make app inconvenient to use

- Adapt profile picture and video thumbnail placeholders to light theme

- Replace profile picture and video thumbnail placeholders with vector graphics
2022-07-14 14:14:32 +02:00
TacoTheDank
c1e78cf55b Update OkHttp to 4.x 2022-07-14 03:23:45 -04:00
Stypox
70e3c9805a
Merge pull request #8542 from carmebar/share-playlist
Add 'Share playlist' option to Playlist fragment
2022-07-13 23:45:08 +02:00
Stypox
8187a3bc04
Move PlayerType into its own class and add documentation
Also replace some `isPlayerOpen` with direct `playerType == null` checks.
2022-07-13 23:33:18 +02:00
Stypox
4443c908cb
Fix SonarLint java:S5320, restrict broadcasts to app package 2022-07-13 23:33:18 +02:00
Stypox
c03eac1dc9
Some SonarLint refactors 2022-07-13 23:33:18 +02:00
Stypox
61c1da144e
Some refactorings after review comments 2022-07-13 23:33:18 +02:00
Stypox
3692858a3d
Move popup layout param to PopupPlayerUi 2022-07-13 23:33:18 +02:00
Stypox
9c51fc3ade
Move functions to get Android dimen to ThemeHelper 2022-07-13 23:33:18 +02:00
Stypox
1cf746f721
Fix volume gestures not working anymore 2022-07-13 23:33:18 +02:00
Stypox
4979f84e41
Solve some Sonarlint warnings 2022-07-13 23:33:16 +02:00
Stypox
a19073ec01
Restore checkstyle and solve its errors 2022-07-13 23:32:27 +02:00
Stypox
1b39b5376f
Add some javadocs; move preparing player uis to PlayerUiList 2022-07-13 23:31:59 +02:00
Stypox
6559416bd8
Improve //region comments in player UIs 2022-07-13 23:30:30 +02:00
Stypox
fa25ecf521
Add comment about broadcast receiver 2022-07-13 23:27:24 +02:00
Stypox
6fb0256997
Remove unused PlayerServiceBinder 2022-07-13 23:27:24 +02:00
Stypox
8c26403e91
Remove unused PlayerState 2022-07-13 23:27:24 +02:00
Stypox
90a89f8ca5
Move player-notification files into their package 2022-07-13 23:27:24 +02:00
Stypox
0bba1d95de
Move all notification-related calls to NotificationPlayerUi 2022-07-13 23:27:24 +02:00
Stypox
b3f99645a3
Fix some crashes / issues after player refactor 2022-07-13 23:27:23 +02:00
Stypox
76ced59b62
Refactor player: separate UIs and more 2022-07-13 23:25:26 +02:00
TacoTheDank
189c92affa
More minSdk 21 cleanup 2022-07-13 19:03:47 +02:00
TacoTheDank
4ec9cbe379
Remove AndroidX Webkit 2022-07-13 19:03:47 +02:00
litetex
99104fc11d
Clean up pre-Lollipop checks 2022-07-13 19:02:24 +02:00
litetex
7cb137ae8d
Remove MultiDex 2022-07-13 19:02:24 +02:00
Alex
6f7298b9db
Crop the notification thumbnail in 1:1 mode instead of stretching it (#8533)
Change square bitmap transformation strategy: change the bitmap transformation strategy when a 1:1 aspect ratio is
enabled to not stretch the bitmap but rather crop it.

On Android 11/12, the way the whole thumbnail was used for the
notification icon was not ideal, however the setting to toggle a 1:1
(as it states in settings) resulted in distortions.

Fix this by simply cropping the bitmap.

Also update the 1:1 mode strings to remove mentions of scaling or
distortions, as those no longer apply.
2022-07-13 17:19:44 +02:00
Carlos Melero
d0b6d95f1b
Add Share option to local playlists
A newline-separated text is shared
2022-07-13 14:32:23 +02:00
Robin
93b913e14d
Merge pull request #8536 from TacoTheDank/bumpExoPlayer
Update ExoPlayer to 2.18.0
2022-07-13 12:59:12 +02:00
Stypox
b96c8a0c2f
Merge pull request #8545 from carmebar/hide-future-videos
Add option to hide future videos in feed
2022-07-13 11:07:38 +02:00
nikita.artikhovich
a4724fec4a
Add download option to long-press menu 2022-07-06 11:42:57 +02:00
litetex
155c6e94a3
Use correct `NonNull` 2022-07-04 23:19:41 +02:00
litetex
4e285a4e70
Fix compile errors 2022-07-04 23:19:41 +02:00
TacoTheDank
00b9c082a3 Set setUsePlatformDiagnostics to false 2022-07-02 15:01:39 -04:00
Stypox
085d1e0d38
Actually fix wrong view count 2022-07-01 16:07:19 +02:00
TacoTheDank
1404581e9b Update ExoPlayer to 2.18.0 2022-06-25 21:14:42 -04:00
Carlos Melero
f22417e7e7 Add option to hide future videos in feed 2022-06-24 18:03:48 +02:00
AudricV
cbd3308da6
Ensure that progressive contents are URL contents for playback
A ResolverException will be now thrown otherwise.
2022-06-19 15:41:29 +02:00
Stypox
4e87f5aabc
Remove misleading first "Non" from getNonUrlAndNonTorrentStreams 2022-06-18 18:52:32 +02:00
Stypox
2019af831a
Refactor PlaybackResolver and fix cacheKeyOf
In commonCacheKeyOf the result of an Objects.hash() was ignored
2022-06-18 18:41:44 +02:00
Stypox
1e076ea63d
Wrap debug log in if(DEBUG) 2022-06-18 18:09:12 +02:00
Stypox
4863084fa2
Improve code in VideoDetailFragment 2022-06-18 17:49:04 +02:00
Stypox
7ba79171c7
Refactor creation of DownloadDialog 2022-06-18 17:40:22 +02:00
AudricV
e3c2aea3cc
Fix playback of non-URI HLS streams
A custom HlsPlaylistParserFactory cannot be used anymore to play HLS streams.

This needs to be replaced by a custom HlsDataSourceFactory, which returns a ByteArrayDataSource (where the bytes of this DataSource correspond to the bytes of the playlist string) and a specified DataSource for other request types.

This model has two limitations:

- if media requests are relative, the URI from which the manifest comes from (either the manifest URI (preferred) or the master URI (if applicable)) must be returned, otherwise the content will be not playable, as it will be an invalid URL, or it may be treat as something unexpected, for instance as a file for DefaultDataSources;
- if the playlist is a master playlist, endless loops should be encountered because the DataSources created for media playlists will use the master playlist response instead of fetching the corresponding playlist. With the current model of HlsDataSourceFactory, there is no possibility to distinguish the playlist type or the URI that is requested.

If ExoPlayer provides a way to create HlsMediaSources with an HlsPlaylist in the future, it should be used instead of this solution.
2022-06-17 22:01:30 +02:00
AudricV
21c9530e8b
Throw a dedicated exception when errors occur in PlaybackResolver
A new exception, ResolverException, a subclass of PlaybackResolver, is now thrown when errors occur in PlaybackResolver, instead of an IOException
2022-06-17 22:01:29 +02:00
AudricV
036196a487
Filter streams using Java 8 Stream's API instead of removing streams with list iterators and add a better toast when there is no audio stream for external players
This ensures to not remove streams from the StreamInfo lists themselves, and so to not have to create list copies.

The toast shown in RouterActivity, when there is no audio stream available for external players, is now shown, in the same case, when pressing the background button in VideoDetailFragment.
2022-06-17 22:01:29 +02:00
AudricV
73855cacb7
Use StreamTypeUtil where possible and add isAudio and isVideo to this utility class 2022-06-17 22:01:26 +02:00
Stypox
8dad6d7e1c
Code improvements here and there 2022-06-17 22:00:53 +02:00
Stypox
e5ffa2aa09
Add comments to PlaybackResolver and remove useless @NonNull 2022-06-17 22:00:52 +02:00
Stypox
8445c381c5
Use DownloaderImpl.USER_AGENT directly
instead of passing it as a parameter
2022-06-17 22:00:52 +02:00
Stypox
fa46b7bf85
Add comments and use downloader user agent in YT data source
YoutubeHttpDataSource
2022-06-17 22:00:52 +02:00
Stypox
7ce2250d85
Improve CacheFactory and PlayerDataSource code 2022-06-17 22:00:51 +02:00