Commit Graph

3729 Commits

Author SHA1 Message Date
Stypox 10977eaefa
Show hint about how to import subscriptions when there are none 2022-12-04 19:16:47 +01:00
Stypox 281ac13eed
Merge pull request #8883 from Douile/dev-enqueue-next-hide
Only show "Enqueue next" when in the middle of the queue
2022-12-04 18:43:45 +01:00
Douile e5f30a07bf
Only show "Enqueue next" when in the middle of the queue
Add a check that the queue position is not the last in the queue before
showing "Enqueue next".

Previously the "Enqueue next" action would always be shown if the queue
length was greater than one, this meant even if you were at the end of
the queue (when "Enqueue" would have the same effect as "Enqueue next")
the action would still be shown.
2022-12-04 18:20:50 +01:00
Stypox 9c4d5526f4
Merge pull request #8810 from Isira-Seneviratne/Math_floorDiv
Use Math.floorDiv().
2022-12-04 18:08:12 +01:00
pratyaksh1610 1afb9cdba9 added Language suffix for subtitle downloads 2022-12-04 17:59:22 +05:30
Isira Seneviratne 6b210e1542
Apply ktlint formatting. 2022-12-04 12:01:57 +01:00
Isira Seneviratne f1b15a95a4
Show toast when no updates are available.
Co-authored-by: Stypox <stypox@pm.me>
2022-12-04 12:01:56 +01:00
Jared Fantaye 8fc5fa979d Added menu with tappable list items 2022-12-03 09:52:04 +01:00
Jared Fantaye a2f2d562f6 Disabling night theme selection if auto theme is not used 2022-12-01 13:01:58 +01:00
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
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 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
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
Stypox ef20d9b91a
Move stream's cache key generation in PlaybackResolver and improve PlaybackResolver's code 2022-06-17 22:00:51 +02:00
AudricV fbee310261
Move SimpleCache creation in PlayerDataSource to avoid an IllegalStateException
This IllegalStateException, almost not reproducible, indicates that another SimpleCache instance uses the cache folder, which was so trying to be created at least twice.
Moving the SimpleCache creation in PlayerDataSource should avoid this exception.
2022-06-17 22:00:51 +02:00
AudricV 7d6bf4b0ca
Improve dialog of streams for external players and fix use of the wrong codec in the list of available streams in it after a codec change in Video and Audio settings
The VideoDetailFragment will now get video streams dynamically instead of storing them as a field, so the good codec can be chosen by ListHelper.
To select a stream to play, user has now to select the quality in the list of available qualities and then press the new OK button in the alert dialog.
2022-06-17 22:00:50 +02:00
AudricV 210834fbe9
Add support of other delivery methods than progressive HTTP (in the player only)
Detailed changes:

- External players:

  - Add a message instruction about stream selection;
  - Add a message when there is no stream available for external players;
  - Return now HLS, DASH and SmoothStreaming URL contents, in addition to progressive HTTP ones.

- Player:

  - Support DASH, HLS and SmoothStreaming streams for videos, whether they are content URLs or the manifests themselves, in addition to progressive HTTP ones;
  - Use a custom HttpDataSource to play YouTube contents, based of ExoPlayer's default one, which allows better spoofing of official clients (custom user-agent and headers (depending of the client used), use of range and rn (set dynamically by the DataSource) parameters);
  - Fetch YouTube progressive contents as DASH streams, like official clients, support fully playback of livestreams which have ended recently and OTF streams;
  - Use ExoPlayer's default retries count for contents on non-fatal errors (instead of Integer.MAX_VALUE for non-live contents and 5 for live contents).

- Download dialog:

  - Add message about support of progressive HTTP streams only for downloading;
  - Remove several duplicated code and update relevant usages;
  - Support downloading of contents with an unknown media format.

- ListHelper:

  - Catch NumberFormatException when trying to compare two video streams between them.

- Tests:

  - Update ListHelperTest and StreamItemAdapterTest to fix breaking changes in the extractor.

- Other places:

  - Fixes deprecation of changes made in the extractor;
  - Improve some code related to the files changed.

- Issues fixed and/or improved with the changes:

  - Seeking of PeerTube HLS streams (the duration shown was the one from the stream duration and not the one parsed, incomplete because HLS streams are fragmented MP4s with multiple sidx boxes, for which seeking is not supported by ExoPlayer) (the app now uses the HLS manifest returned for each quality, in the master playlist (not fetched and computed by the extractor));
  - Crash when loading PeerTube streams with a separated audio;
  - Lack of some streams on some YouTube videos (OTF streams);
  - Loading times of YouTube streams, after a quality change or a playback start;
  - View count of YouTube ended livestreams interpreted as watching count (this type of streams is not interpreted anymore as livestreams);
  - Watchable time of YouTube ended livestreams;
  - Playback of SoundCloud HLS-only tracks (which cannot be downloaded anymore because the workaround which was used is being removed by SoundCloud, so it has been removed from the extractor).
2022-06-17 22:00:22 +02:00
Stypox a59660f421
Merge pull request #8340 from litetex/fix-add-to-playlist
Fix "Add to playlist" not working and cleanup "RouterActivity" choice handling
2022-06-05 11:47:51 +02:00
Stypox 75e5fe7d27
Merge pull request #8404 from Isira-Seneviratne/Use_AppCompatResources
Use AppCompatResources.
2022-05-30 15:42:04 +02:00
litetex 2985258074 Bonus fix: Made ``single_choice_dialog_view`` scrollable + use viewbinding 2022-05-28 00:46:28 +02:00
litetex 911ac65d1e Code cleanup 2022-05-28 00:46:27 +02:00
litetex d2967f514b Improved docs, format and code style 2022-05-28 00:46:27 +02:00
litetex a68c6a2cfc Reworked incorrect choice handling and centralized it 2022-05-28 00:39:13 +02:00
litetex 733f6aae85 Fix add to playlist 2022-05-28 00:39:13 +02:00
Stypox 1daece3bee
Merge pull request #8382 from Isira-Seneviratne/Remove_compat_methods
Remove unnecessary compat method calls.
2022-05-22 21:59:04 +02:00
Stypox adddd48c1d
Merge pull request #8391 from Isira-Seneviratne/Use_JvmOverloads
Use JvmOverloads.
2022-05-22 21:56:17 +02:00
Stypox bd5eda92a7
Improvements to sharing content with thumbnail 2022-05-22 21:34:10 +02:00
Isira Seneviratne ac5843edb0 Merge branch 'dev' into Use_JvmOverloads 2022-05-16 12:43:24 +05:30
Isira Seneviratne a1f64e4774 Merge branch 'dev' into Remove_compat_methods 2022-05-16 12:36:46 +05:30
Isira Seneviratne 21d2ae709f Merge branch 'dev' into Use_AppCompatResources
# Conflicts:
#	app/src/main/java/org/schabi/newpipe/fragments/list/playlist/PlaylistFragment.java
2022-05-16 12:36:00 +05:30
Isira Seneviratne c5e509f069 Use AppCompatResources. 2022-05-16 12:27:44 +05:30
TiA4f8R 761c0ff9ac
[Android 10+] Add image preview of the content shared where possible
These previews will be only available for images cached in the cache used by Picasso.
The Bitmap of the content is compressed in JPEG 90 and saved inside the application cache folder under the name android_share_sheet_image_preview.jpg.
The current image will be, of course, always overwritten by the next one and cleared when the application cache is cleared.
2022-05-14 16:53:24 +02:00
Isira Seneviratne ce8289e753 Use JvmOverloads. 2022-05-13 07:46:02 +05:30
Stypox 2dd4f8b04a
Merge pull request #7458 from litetex/rework-subscription-import-export-ui
Moved subscription import/export options to (overflow) menu
2022-05-12 13:03:12 +02:00
petlyh fcaa787060 Add a "Add to playlist" item to the remote playlist menu 2022-05-10 08:48:21 +02:00
Isira Seneviratne 23c1fc3544 Remove unnecessary compat method calls. 2022-05-10 07:45:01 +05:30
iTrooz_ 61ee1c61df
Make volume progress bar match system volume when we start sliding 2022-05-09 21:40:13 +02:00
litetex 69f95f4148 Use better way to get services 2022-05-09 20:58:10 +02:00
litetex de4b5a8f0f Remove not required use of supplier
from code review
2022-05-07 15:08:38 +02:00
litetex 1228ce277f Removed placeholder prefix 2022-05-07 15:08:37 +02:00
litetex bd6fdd625a Use material icon 2022-05-07 15:08:37 +02:00
litetex 7de17ad949 Icons for import/export 2022-05-07 15:08:36 +02:00
litetex 7ab11a8379 Used service icons for import 2022-05-07 15:08:36 +02:00
litetex 70e0085596 Converted placeholders to svg
* Required for SubscriptionFragment (otherwise the PopUp-menu uses half of the screen)
* Size reduction
* Fixed/Improved some images:
  * Bandcamp: Was facing in the wrong direction and used an incorrect logo
  * Media CCC: Update logo
  * YT: Added NewPipe logo so that it's not just a rectangle
2022-05-07 15:08:35 +02:00
litetex 1d69bd48be Moved import/export options to menu 2022-05-07 15:08:34 +02:00
Stypox 5b435c586e
Merge pull request #8192 from GGAutomaton/fix-6696
Fix crash when rotating device on unsupported channels
2022-05-06 10:58:59 +02:00
Stypox 71e46d1eca
Do not call showContentNotSupportedIfNeeded multiple times 2022-05-06 10:40:08 +02:00
Stypox 238aff7c31
channelContentNotSupported false by default 2022-05-06 10:38:47 +02:00
Stypox a1435bd566
Merge pull request #8259 from LingYinTianMeng/dev
Fix removing only fully watched videos from playlist
2022-05-05 18:08:41 +02:00
Stypox 59d8c570b7
Readd spaces 2022-05-05 18:04:33 +02:00
Robin 8f34f69397
Merge pull request #8332 from litetex/fix-routeractivity-theming
Fix Routeractivity theming
2022-05-05 14:08:01 +02:00
litetex 47af21d248
Merge pull request #8336 from Mamadou78130/fix8330
Fixed viewed counting
2022-05-04 19:33:36 +02:00
litetex c2a3c1cb8f
Add comment that explains why 0 is used
Co-authored-by: Stypox <stypox@pm.me>
2022-05-04 19:19:45 +02:00
litetex 1e2d76a686 Use non-static method 2022-05-04 19:09:41 +02:00
GGAutomaton 34468c16ad Show "content not supported" if needed 2022-05-04 23:34:07 +08:00
Robin b84c6b4b32
Merge pull request #8315 from ktprograms/fix-media-button-hide-controls
Fix hiding player controls when playing from media button
2022-05-04 11:28:05 +02:00
litetex c2bf7f09ce Fixed accidental reset of ``PlaybackParameterDialog`` on initialization 2022-05-03 21:42:09 +02:00
LingYinTianMeng c2762d3b5e
Update LocalPlaylistFragment.java 2022-05-03 09:37:35 +08:00
LingYinTianMeng 01d996a5c0
Merge branch 'TeamNewPipe:dev' into dev 2022-05-03 09:26:32 +08:00
LingYinTianMeng 50739277c4
Update LocalPlaylistFragment.java 2022-05-03 09:21:43 +08:00
Mamadou WAGUE e40e86500b Fixed viewed counting 2022-05-02 14:52:43 +02:00
litetex 6f0942ac6e Make sure Routeractivity does the same as MainActivity 2022-05-01 21:59:00 +02:00
Stypox 173b6c3f00
Fix wrong NonNull 2022-04-30 21:46:06 +02:00
Stypox 7646c683b5
Merge pull request #7989 from litetex/refactor-playback-parameter-dialog
Rewrote ``PlaybackParameterDialog``
2022-04-30 17:53:26 +02:00
kt programs 047fe21c14 Fix hiding player controls when playing from media button
DefaultControlDispatcher was removed in ExoPlayer 2.16.0, so the class
extending it that handled play/pause was removed in #8020.

The new solution is to use an instance of ForwardingPlayer. Call
sessionConnector.setPlayer with an instance of ForwardingPlayer that
overrides play() and pause() and calls the callback methods.
2022-04-30 17:43:30 +08:00
Stypox b59a601b52
Merge branch 'master' into dev 2022-04-29 16:41:18 +02:00
Stypox b8dbb3f073
Use 64 KiB as the default progressive load interval
This ensures a small value is used by default, solving buffering issues at the beginning of videos
2022-04-29 16:10:39 +02:00
LingYinTianMeng bb495f567c
Merge branch 'TeamNewPipe:dev' into dev 2022-04-27 21:03:09 +08:00
opusforlife2 9b3e43ffc1
Merge pull request #8279 from TiA4f8R/set-maximum-allowed-opacity-for-close-overlay-android-12-and-higher
Adapt opacity of popup close button to allow touches in other apps on Android >=12
2022-04-23 17:39:15 +00:00
TiA4f8R d5a0f8f23c
Set opacity of the popup close button to 0.8 on Android 12 and higher
Setting this opacity should allow touches outside NewPipe when using the popup player.

See https://developer.android.com/reference/android/view/WindowManager.LayoutParams#FLAG_NOT_TOUCHABLE for more details.
2022-04-22 15:09:20 +02:00
Nickoriginal ec5cfe0019
Update USER_AGENT in DownloaderImpl 2022-04-20 16:15:27 +03:00
LingYinTianMeng fd5626e9e2
Merge branch 'TeamNewPipe:dev' into dev 2022-04-19 16:36:42 +08:00
litetex 53bf3420e7
Merge pull request #8244 from seanzzy/issue-8058
Fix crash when open NewPipe from notification bar
2022-04-18 16:06:48 +02:00
Yingwei Zheng 127a27315e
Fix keyboard showing after the search box acquiring focus (#8227)
* Fix keyboard showing after the search box acquiring focus
* Fix the underlying problem as described in the issue #7647
2022-04-18 16:05:42 +02:00
litetex 671441bdf8
Merge pull request #8206 from TacoTheDank/bumpACRA
Update ACRA library
2022-04-18 16:04:37 +02:00
litetex 5c6e2ed071
Merge pull request #8233 from Stypox/fix-notification-settings-2
Fix new streams notifications preference screen
2022-04-18 15:25:45 +02:00
karyogamy 29fc0eff38 fixed: added comments for DefaultTrackSelector auto-select fix. 2022-04-17 18:34:31 -04:00
karyogamy 4917da2d2e fixed: disabled caption to no longer automatically re-enable on new player instance. 2022-04-17 13:26:39 -04:00
LingYinTianMeng 8ea98b64aa fix issue #7563 2022-04-17 22:23:03 +08:00
ZiyanZHANG 4904b48f5c Update PlayQueueActivity.java 2022-04-17 18:15:13 +08:00
litetex a311519314 Fix merge conflicts 2022-04-16 21:24:01 +02:00
litetex 1dc146322c Merged ``DrawableResolver`` into ``ThemeHelper`` 2022-04-16 21:21:57 +02:00
litetex 0f551baf37 Refactored code 2022-04-16 21:21:56 +02:00
litetex b9190eddfe Update DrawableResolver.kt
Nicer import 😉
2022-04-16 21:21:55 +02:00
litetex 44dada9e60 Use better Kotlin syntax
From the PR review
2022-04-16 21:21:54 +02:00
litetex 20602889be Added some doc and abstracted more methods 2022-04-16 21:21:52 +02:00
litetex 4b06536582 Reworked switching to semitones
Using an expandable Tab-like component instead of a combobox
2022-04-16 21:21:51 +02:00
litetex 621b38c98b Code improvements regarding stepSize 2022-04-16 21:21:50 +02:00
litetex 762cdc812c Reworked/Implemented PlaybackParameterDialog functionallity
* Add support for semitones
* Fixed some minor bugs
* Improved some methods
2022-04-16 21:21:48 +02:00
litetex 4cdf6eda2c Use viewbinding 2022-04-16 21:21:45 +02:00
litetex 652d50173e Major refactoring of PlaybackParameterDialog
* Removed/Renamed methods
* Use ``IcePick``
* Better structuring
* Keep skipSilence when rotating the device (PlayQueueActivity only)
2022-04-16 21:21:45 +02:00
Stypox fa58a81852
Fix New streams settings snackbar not being hidden on exiting 2022-04-16 19:01:30 +02:00
Stypox f2fc2cc24a
Check whether to enable New streams settings in onCreate to prevent flickering 2022-04-16 19:00:51 +02:00
TacoTheDank 248ca5ee12 Update ACRA library 2022-04-14 22:08:42 -04:00
TacoTheDank 3a419126f3 Use simpler DrawerLayout method 2022-04-14 16:50:28 -04:00
Robin 3fb5073feb
Merge pull request #8150 from karyogamy/caption-fix
Fix caption auto-selection not reflected in player GUI
2022-04-14 10:10:53 +02:00
karyogamy 9818f179c4 fixed: auto-generated captions to have lower selection priority as manual captions. 2022-04-11 22:06:43 -04:00
litetex 74c9a3dc50
Merge pull request #8146 from GGAutomaton/fix-7825
Use newInstance in PlaylistDialog
2022-04-10 15:04:12 +02:00
karyogamy 55fc3fc177 added: caption language stem utility to support language variant conversion between videos. 2022-04-08 18:21:30 -04:00
karyogamy 724eac9168 fixed: player caption auto-selection not reflected in gui.
fixed: player caption selection skipping on multiple language variants.
2022-04-07 20:02:56 -04:00
Robin a528cee5f4
Merge pull request #8127 from litetex/fix-SparseItemUtil
Fix `SparseItemUtil` so we don't enqueue twice
2022-04-07 17:21:18 +02:00
GGAutomaton 2e771cd65a Fix crash when rotating device on unsupported channels 2022-04-04 23:58:39 +08:00
GGAutomaton 638f227b51 Use newInstance in PlaylistDialog 2022-04-04 13:50:27 +08:00
TiA4f8R 3261855b8f
Fix fetch of video streams (when switching between tracks in a play queue) and subtitles when using a seamless transition between background and video players
Make the use of the new method setDisabledTrackTypes in DefaultTrackSelector.ParametersBuilder, which disables selection of tracks type for every TrackGroup instead of the current group, which is the current behavior.
This removes the use of the deprecated of setSelectionOverride method.

Note that for progressive media, the content is still fetched, but only for initialization purposes (so requests are pretty small, most of times with a few kilobytes size).
2022-04-03 14:07:56 +02:00
litetex 6b1a6d264b Better naming 2022-04-02 15:44:06 +02:00
Mauricio Colli 99d62381b9 Fix download dialog selector layout and add some tests 2022-04-02 15:25:08 +02:00
litetex 860d28e16c
Merge pull request #8020 from karyogamy/exo-update-v17
ExoPlayer 2.17.1 update and MediaSource management rework
2022-04-02 14:53:58 +02:00