1
0
mirror of https://github.com/TeamNewPipe/NewPipe synced 2024-11-05 17:46:24 +00:00
Commit Graph

3327 Commits

Author SHA1 Message Date
Stypox
e588abd4e7
Restore handling SPACE as play-pause only in fullscreen
When not in fullscreen SPACE should be not handled by the player, and hence result in a scroll down
2022-03-03 10:14:58 +01:00
TacoTheDank
f85b206bdf Update some AndroidX libraries 2022-03-02 11:01:01 -05:00
Stypox
2a9733fbaf
Fix error notification on KitKat
It was crashing due to a drawable icon being used; also use NotificationManagerCompat
2022-03-02 14:14:40 +01:00
Mauricio Colli
96185faca6
Remove manual menu creation from some fragments
Doing this programmatically is just a no-go when themes are being set
in some other places (the toolbar is using a custom theme, in this
case), so, instead of hunting down the proper theme, just let the
system do its work.
2022-03-02 12:37:44 +01:00
Stypox
5f16e4ef87
Replace R.string.yes with R.string.ok
Android doesn't use yes/no but ok/cancel usually, so this should be done here, too
2022-03-02 12:21:25 +01:00
Spinhit
483dc06ecb
Add confirmation button before deleting all files.
Co-authored-by: TiA4f8R <74829229+TiA4f8R@users.noreply.github.com>
2022-03-02 11:31:52 +01:00
karyogamy
ab45efceab - added: variable load check interval for progressive stream.
- added: preferences to allow user setting of above.
2022-03-01 20:14:53 +01:00
kt programs
62c0e6605c Remember adjustment step size for playback controls (speed and pitch)
- Add adjustment_step_key to settings_keys.xml to be used when
saving/loading the step size.
- Remove the global stepSize variable and the code that saves it to
outState/loads it from savedInstanceState because it's now saved to
Shared Preferences.
- Move initially setting step size to setupStepSizeSelector to be
consistent with the other view setup methods, using the value loaded
from Shared Preferences.
- Save the step size to Shared Preferences inside setStepSize.

Fixes: #7031
2022-03-01 16:27:20 +08:00
litetex
f1c6988552
Merge pull request #7952 from TacoTheDank/bumpKotlin
Update Kotlin to 1.6.10
2022-02-28 19:42:38 +01:00
Stypox
146062d921
Fix player pop-ups not giving feedback on touch/focus 2022-02-27 18:49:16 +01:00
Stypox
96c4201929
Fix controls shown below queue/segments list when using DPAD
Also invert if
2022-02-27 18:49:16 +01:00
Stypox
a0bbcd2fee
Fix player queue/segments list buttons not focusable with DPAD
Now the in-player play queue and the segments list are closeable
2022-02-27 18:49:16 +01:00
Stypox
3f7ba2e3d1
Merge pull request #7565 from haklc/dev
Change pitch by semitones
2022-02-27 09:58:38 +01:00
TacoTheDank
678edb1846 Update ktlint to 0.44.0 2022-02-26 16:08:10 -05:00
litetex
ccc3d38c45
Merge pull request #7910 from avently/equalscheck
Better equals check
2022-02-26 16:20:27 +01:00
litetex
37517c7dd1
Merge pull request #7570 from TeamNewPipe/improvement/infoItemDialogBuilder
Refactor generating InfoItemDialog's
2022-02-26 16:18:39 +01:00
litetex
a95318a4f9
Merge pull request #7349 from TiA4f8R/seamless-transition-players
Add seamless transition between background and video players when putting the app in background (for video-only streams and audio-only streams only)
2022-02-26 16:16:18 +01:00
litetex
46fad32837
Merge pull request #7905 from Stypox/fix-room-unused-columns
Fix Room warning about unused columns during build
2022-02-26 16:15:01 +01:00
litetex
5be40f62f3
Merge pull request #7904 from Stypox/fix-raw-use-of-parameterized-class
Solve Java warning "Raw use of parameterized class"
2022-02-26 16:14:23 +01:00
Stypox
5fea12d8eb
Small code improvements
Removed some non-translatable strings and just hardcoded them in the code, like it's being done for other string separators. This also deduplicates some code by using Localization.
Used some Kotlin feature to reduce code.
2022-02-26 10:40:24 +01:00
TacoTheDank
1a000fecd5 Replace CircleImageView with ShapeableImageView 2022-02-23 15:11:25 -05:00
Avently
01e0dd50ad Added serviceId check while comparing PlayQueues 2022-02-23 00:53:39 +03:00
TobiGr
d3bc184971 Clarify that only StramInfoItems are accepted by the builder 2022-02-21 21:50:30 +01:00
Tobi
c42f29446d
Merge pull request #7924 from litetex/revert-7451
Revert "Respect cutouts when playing in MultiWindow"
2022-02-21 21:36:07 +01:00
litetex
1030e09fc1
Merge pull request #7901 from Stypox/player-small-refactor
Small refactor in player class
2022-02-21 20:48:03 +01:00
litetex
96b930cd07 Revert "Respect cutouts when playing in MultiWindow"
This reverts commit c92a90749e.
2022-02-21 20:30:56 +01:00
litetex
de08edb831
Merge pull request #7898 from Stypox/regression-arc
Have fast seek overlay arc go under system ui
2022-02-21 20:19:22 +01:00
TobiGr
ee477b25e5 Move StreamDialogEntry.openChannelFragment to NavigationHelper 2022-02-20 20:26:27 +01:00
TobiGr
277f21d5b2 Move Classes related to InfoItemDIalog into own package 2022-02-20 20:17:04 +01:00
TobiGr
a7d5d9a1d6 Fix rebase 2022-02-20 20:17:04 +01:00
TobiGr
fd0d76e866 Apply feedback
Return this in InfoIrtemDialog.Builder methoods.
Move null checks for InfoIrtemDialog.Builder into constructor.
Fix and add some more docs.
2022-02-20 20:17:04 +01:00
TobiGr
646d8f431c Use identical method names for creating the InfoItemDialog in Fragments 2022-02-20 20:17:04 +01:00
TobiGr
ef0d562702 Use ErrorActivity to notifiy about errors occourred while loading channel details 2022-02-20 20:17:04 +01:00
TobiGr
962fe9c36d Use Context instead of Activity
Improve docs
2022-02-20 20:17:04 +01:00
TobiGr
50e2385e82 Add default entries automatically 2022-02-20 20:17:04 +01:00
TobiGr
1cd3ef5dba Extract entries into beginning and end category 2022-02-20 20:17:04 +01:00
TobiGr
80157fc1be Refactor generating InfoItemDialog's
This commit refactors the way `InfoItemDialog`s are generated. This is necessary because the old way used  the `StreamDialogEntry` enum for most of the dialogs' content generation process. This required static variables and methods to store the entries which are used for the dialog to be build (See e.g.`enabledEntries` and methods like `generateCommands()`). In other words, `StreamDialogEntry` wasn't an enumeration anymore.

To address this issue, a `Builder` is introduced for the `InfoItemDialog`'s genration. The builder also comes with some default entries and and a specific order. Both can be used, but are not enforced. 

A second problem that introduced a structure which was atypical for an enumeration was the usage of non-final attributes within `StreamDialogEntry` instances. These were needed, because the default actions needed to overriden in some cases.

To address this problem, the `StreamDialogEntry` enumeration was renamed to `StreamDialogDefaultEntry` and a new `StreamDialogEntry` class is used instead.
2022-02-20 20:17:04 +01:00
TiA4f8R
c5fc37150d
Update JavaDoc of VideoPlaybackResolver.getStreamSourceType() 2022-02-20 19:40:03 +01:00
TiA4f8R
8932adbf88
Apply suggested change and add a note about data consumption for HLS streams in background
ExoPlayer right now fetches HLS video tracks even if you disable them (with setRendererDisabled or setSelectionOverride).
See issue 9282 of ExoPlayer's issue tracker for more information.
2022-02-20 19:40:03 +01:00
TiA4f8R
d27d36b76a
Adress requested changes 2022-02-20 19:40:02 +01:00
TiA4f8R
ba804c7d4a
Use a enum to understand better what source type is used.
This commit also allows a seamless transition for livestreams.
2022-02-20 19:40:02 +01:00
TiA4f8R
3db37166b4
Apply suggestion 2022-02-20 19:40:02 +01:00
TiA4f8R
bf02a569ee
Fix a NullPointerException when the current metadata is null
Reload the play queue manager and set the recovery in this case, like on the current behavior (without this PR).
2022-02-20 19:40:02 +01:00
TiA4f8R
a1c5c94753
Add some comments and a JavaDoc 2022-02-20 19:40:01 +01:00
litetex
7a356412d5
Fixed typo 2022-02-20 19:40:01 +01:00
litetex
bb27bf9d34
Resolver: Cleaned up `isVideoStreamVideoOnly`
* Replaced by ``wasLastResolvedVideoAndAudioSeparated``
* Uses an ``Optional`` instead (we can't determine if the video and audio streams are separated when we did not fetch it)
2022-02-20 19:38:41 +01:00
litetex
a489f40b76
Fixed checkstyle problems
Unable to compile!

* Cleaned up ``getMostCompactAudioIndex`` and ``getHighestQualityAudioIndex`` into a new method ``getAudioIndexByHighestRank``
* Removed unreadable code and use Java Streams API
* Tests work as expected
2022-02-20 19:38:40 +01:00
litetex
8ed87e7fbb
Improved `ListHelper#getSortedStreamVideosList` 2022-02-20 19:38:40 +01:00
TiA4f8R
cc96ac173c
Apply suggestion 2022-02-20 19:38:40 +01:00
TiA4f8R
79f8270c35
Prefer video-only streams to video streams
Prefering video-only streams to video streams for our player will allow us to make seamless transitions on 360 and 720p qualities on YouTube.
External players and the downloader are not affected by this change.
2022-02-20 19:38:40 +01:00
TiA4f8R
336f9f3813
Add seamless transition between background player and video players (for video-only and audio-only streams only)
This is only available when playing video-only streams (and when there is no audio stream and only video streams with audio) and audio-only streams.
For more details about which conditions are required to get this transition, look at the changes in the useVideoSource(boolean) method of the Player class.
2022-02-20 19:38:39 +01:00
Avently
835c5e9d43 Better equals check
It ensures that queues are not the same. Without this check when you have multiple videos in the backstack and navigating back via Back button you'll get duplicated videos
2022-02-19 22:12:31 +03:00
Stypox
4789cf6c31
Use Java streams in AbstractInfoPlayQueue 2022-02-19 18:01:16 +01:00
Stypox
5f1f52b6ce
Remove useless constructor in *PlayQueue
Also removes unused <> parameter in AbstractInfoPlayQueue and deduplicates constructor code in extending classes
2022-02-19 17:49:43 +01:00
Stypox
62abfa96b8
Solve Java warning "Raw use of parameterized class" 2022-02-19 17:30:38 +01:00
Stypox
a8a96b7631
Fix Room warning about unused columns during build
The warning was: "The query returns some columns [...] which are not used by ..."
2022-02-19 17:13:57 +01:00
Stypox
af80d96b9e
Merge pull request #7659 from litetex/load-enough-initial-data
Load enough initial items (into BaseListFragment and descendants)
2022-02-19 15:43:13 +01:00
Stypox
3c23fb0b13
Small refactor in player class 2022-02-19 13:30:55 +01:00
TobiGr
ff8e44e4f3 Merge branch 'dev' into feature/notifications 2022-02-19 12:34:44 +01:00
Stypox
da12b92d75
Fix fast seek arc not going under system ui 2022-02-19 11:29:33 +01:00
TobiGr
a3f99bd781 Merge branch 'master' into dev 2022-02-19 10:56:19 +01:00
Stypox
00767f4bf3 Fix fast seek overlay arc not correctly centered
This happened in fullscreen player: while play-pause, brightness, volume, ... buttons were correctly centered in the app UI, the fast seek overlay was centered in the system UI, causing a mismatch between the two that looked ugly
2022-02-18 22:34:55 +01:00
litetex
2acaefdb2a Fixed scrolling not working when rotating device 2022-02-17 20:59:41 +01:00
litetex
9c2cdd2513 Removed useless code
https://github.com/TeamNewPipe/NewPipe/pull/7659#discussion_r793752985
2022-02-17 20:59:40 +01:00
litetex
01683aa816 Code improvements 2022-02-17 20:59:39 +01:00
litetex
85f701b94e Fixed listener not re-registering after e.g. a new search is started 2022-02-17 20:59:38 +01:00
litetex
ff7cfe4715 Reverted to loading behavior of #7638 and improved it
The previous/reverted behavior caused unwanted data transmission:
* Removed loading via handleResults/loadMoreItems-callback because the RecyclerView is apparently not immediately updated in the UI when the data is set which causes one load of data to much.
2022-02-17 20:59:38 +01:00
litetex
d3cd3d62b4 Tried to repair #4475 and #3368
* Always recreate the footer so that it's not possible to attach the same instance twice
* Removed support for creating a custom footer as it's never used
* Supply the header with an supplier
  * This might not fix the problem completely as we currently can only create the header once inside Channel, Playlist and RelatedItems-Fragment - allowing creation of multiple headers might be done in the future if the issues still arise
* Other minor fixes
2022-02-17 20:59:36 +01:00
litetex
91c67b085b Code improvements
Removed - partial - stupid code.
2022-02-17 20:59:35 +01:00
litetex
cd8c7ec3c0 Removed InfoListAdapter from checkstyle-suppressions
because if you modify something in the code the suppressions-file no longer matches
2022-02-17 20:59:34 +01:00
litetex
2c51a7970d Improved InfoListAdapter
* Removed unused code
* Cleaned it up
* Made code more readable
2022-02-17 20:59:33 +01:00
litetex
fb362022f7 Load enough initial data into BaseListFragment 2022-02-17 20:59:33 +01:00
Martin
616fb47983
Merge branch 'TeamNewPipe:dev' into dev 2022-02-17 10:20:44 +01:00
Robin
9f8e8c0856
Merge pull request #7679 from TacoTheDank/reportSenderKotlin
Update ACRA library
2022-02-14 15:35:00 +01:00
Tobi
5e593f687d
Merge pull request #7860 from litetex/fix-settings-search-language
Use the correct app language when searching in the settings
2022-02-11 21:20:08 +01:00
litetex
3223ec04e3 Use the correct app language when searching in the settings 2022-02-11 20:58:44 +01:00
TiA4f8R
608e73e2f2
Set workaround for playback position reset when switching to main player with content thumbnail
The workaround set before was not applied when switching to main player with content thumbnail from popup or background player. This commit fixes this by applying the workaround when switching to main player with content thumbnail from popup or background player.
2022-02-11 19:32:13 +01:00
litetex
be95d7fe0f
Merge pull request #7704 from Stypox/fix-stream-menu-crash
Fix crash when long-pressing stream while player is starting
2022-02-09 19:53:09 +01:00
martin
906ee75278 Fixed checkstyle violation 2022-02-05 12:31:07 +01:00
martin
4049abf2c0 Addressed comment in PR 2022-02-04 16:15:55 +01:00
martin
47798febed fetch and merge 2022-02-04 15:34:00 +01:00
TacoTheDank
79060f0bfe Update ACRA library 2022-02-02 13:12:29 -05:00
TiA4f8R
52cc4a0a05
Add JavaDoc for PlayerDataSource.PLAYLIST_STUCK_TARGET_DURATION_COEFFICIENT 2022-01-30 20:42:02 +01:00
TiA4f8R
e103e4817c
Apply suggested changes and remove the CustomHlsPlaylistTracker class 2022-01-30 20:42:02 +01:00
TiA4f8R
d0637a8832
Suppress SonarLint NullPointerException warnings in CustomHlsPlaylistTracker
They seem to be wrong, by looking at the class work and at the return of CustomHlsPlaylistTracker's methods.
2022-01-30 20:42:02 +01:00
TiA4f8R
94f774b82d
Use a custom HlsPlaylistTracker, based on DefaultHlsPlaylistTracker to allow more stucking on HLS livestreams
ExoPlayer's default behavior is to use a multiplication of target segment by a coefficient (3,5).
This coefficient (and this behavior) cannot be customized without using a custom HlsPlaylistTracker right now.

New behavior is to wait 15 seconds before throwing a PlaylistStuckException.
This should improve a lot HLS live streaming on (very) low-latency livestreams with buffering issues, especially on YouTube with their HLS manifests.
2022-01-30 20:42:01 +01:00
TiA4f8R
651b79d3ed
Catch properly BehindLiveWindowExceptions
Instead of trying to reload the play queue manager and then throwing an error, BehindLiveWindowExceptions now make the app seek to the default playback position, like recommended by ExoPlayer.
The buffering state is shown in this case.

Error handling of other exceptions is not changed.
2022-01-30 20:42:01 +01:00
litetex
dfa606ef49
Merge pull request #7586 from litetex/add-preference-search
Made preferences searchable
2022-01-30 17:08:04 +01:00
litetex
2886bc3b01
Merge pull request #4833 from vkay94/youtube-rewind-forward
YouTube's Fast Forward/Rewind behavior
2022-01-30 17:07:15 +01:00
Stypox
71c5aaa11e
Do not show enqueue button if play queue not ready 2022-01-27 17:11:16 +01:00
Stypox
17c0fffd73
Merge pull request #7538 from ktprograms/fix-queue-channel-details-not-in-db
Load uploaderUrl when showing Channel Details from Play Queue
2022-01-26 09:58:32 +01:00
litetex
8a069b497f
Code cleanup
Co-authored-by: Stypox <stypox@pm.me>
2022-01-25 20:47:53 +01:00
litetex
af79479716 Fixed "Changing the seeks duration does not update the displayed seconds" 2022-01-25 20:44:49 +01:00
Stypox
5108d75682
Fix NPE and add some @Nullables
Fix NullPointerException in PlayerHolder.getQueueSize() and add `@Nullable` here and there so that the linter reports risks of NPEs
2022-01-25 17:37:20 +01:00
ktprograms
1e652b159e Load uploaderUrl when showing Channel Details from Play Queue
This checks if the uploaderUrl is in the database, if not it gets the
uploaderUrl and puts it in the database. This is similar to the fetching
of uploaderUrl when it doesn't exist done in #6919.

Also use createNotification when error occurs in getStreamInfo.
2022-01-25 11:00:34 +08:00
TiA4f8R
ea07d7751b
Fix first item played in playlists when switching player type or resolution
The issue was caused by an ExoPlayer change, which when setting a media source, resets the current playback position and the current window index by default.

Also set player recovery in more places to fix playback position not propely set in some cases after a player type switch.
2022-01-24 21:40:16 +01:00
litetex
82de35d724 Use view binding inside `PreferenceViewHolder` 2022-01-24 21:08:52 +01:00
litetex
f55e8ea3aa Use ViewBinding 2022-01-24 21:08:52 +01:00
litetex
7067ebdd12 Fixed imports 2022-01-24 21:08:51 +01:00
litetex
03bb2123f2 Removed breadcrumbs customization 2022-01-24 21:08:51 +01:00
litetex
e2f449f0c8 Code improvements
* Renamed methods so that they are more understandable
* Removed ``SearchIndexItem``
2022-01-24 21:08:50 +01:00
litetex
b16e972710 Improved doc 2022-01-24 21:08:50 +01:00
litetex
37cd71328c Moved `FuzzyScore` to original Apache package 2022-01-24 21:08:49 +01:00
litetex
9b2c86a37b Improved documentation 2022-01-24 21:08:48 +01:00
litetex
ce4dd33eab Fixed problems with Android's lifecycle (restore) 2022-01-24 21:08:48 +01:00
litetex
c5a06243a6 Fixed variable name 2022-01-24 21:08:47 +01:00
litetex
bebd2b449c Removed unused import 2022-01-24 21:08:46 +01:00
litetex
658168eb8d Fixed some sonar warnings 2022-01-24 21:08:45 +01:00
litetex
6b23df0659 Made debug settings searchable (debug only)
* Consolidated main-setttings into a single file
* Debug settings are only enabled in the DEBUG build
* Moved LeakCanary (debug) specific stuff into a small class that's only shipped with the debug build
* Other minor fixes
2022-01-24 21:08:45 +01:00
litetex
d59314801c Code rework 2022-01-24 21:08:44 +01:00
litetex
0f45c69388 Code cleanup + indexing improvements
* Removed unused method
* Only index all settings once -> Saves performance
* Fixed some SonarLint reported problems
2022-01-24 21:08:44 +01:00
litetex
52542e04e8 Added fuzzy searching + Some minor code refactoring 2022-01-24 21:08:43 +01:00
litetex
7fc0a3841a Fine tuning 2022-01-24 21:08:42 +01:00
litetex
22db4175f3 Moved reset-reCAPTCHA-cookie to cache tab and made it read-only
so that the search works as expected
2022-01-24 21:08:42 +01:00
litetex
07fb319e88 Applied code changes for preference search framework 2022-01-24 21:08:41 +01:00
litetex
12a78a826d Added preference search "framework" 2022-01-24 21:08:40 +01:00
litetex
4a061f20ed Code cleanup 2022-01-24 21:08:39 +01:00
litetex
f3be89b503 Abstracted methods for the Android keyboard 2022-01-24 21:08:39 +01:00
litetex
12acaf29dd Added credit to the project which inspired the preference search 2022-01-24 21:08:38 +01:00
litetex
683d9816cb Removed dead code 2022-01-24 21:08:38 +01:00
Stypox
d5cfcb28fc
Merge branch 'dev' into pr2335 2022-01-24 10:25:07 +01:00
Stypox
40ea51e622
Add more checking frequencies, use DurationListPreference 2022-01-24 10:12:25 +01:00
litetex
e127db6fa6 Simplified toast showing behavior
after feedback from the review
2022-01-23 15:34:11 +01:00
litetex
49b1649348 Revert "Merge pull request #7568 from vhouriet/vhouriet_feature_already-playing-in-backgroud"
This reverts commit ee19ea66b3, reversing
changes made to 6b490ee547.
2022-01-23 15:34:11 +01:00
litetex
54ef604569 Improved docs 2022-01-21 22:49:25 +01:00
litetex
30ce906f72 Apply seek conditions based on direction
* When rewinding: Check if <0,5s
* When fast-forwarding: Check if player has completed or the current playback has ended

This allows rewinding on the endscreen
2022-01-21 22:49:25 +01:00
litetex
1c20eabb48 Code cleanup 2022-01-21 22:49:25 +01:00
litetex
f8c52c4dac Fixed SonarLint problems
* Removed alphaRelativeDuration as there is no use for it
2022-01-21 22:49:24 +01:00
litetex
345ba74d58 Fixed naming 2022-01-21 22:49:24 +01:00
litetex
d2aaf152a0 Removed related import 2022-01-21 22:49:24 +01:00
litetex
7bf1f3dba6 Removed unused field 2022-01-21 22:49:24 +01:00
litetex
452fe3a8e2 Respect disabled animations 2022-01-21 22:49:24 +01:00
litetex
c25e523df6 Removed all animations to be consistent with the current behavior 2022-01-21 22:49:23 +01:00
litetex
65bb1dcdbf Refactored code 2022-01-21 22:49:23 +01:00
litetex
fe42206e94 Code cleanup and minimization
* Deduplicated and simplified a lot of code
* Fixed ``invalidSeekConditions`` so that it's possible to seek while the player is loading (like currently the case)
2022-01-21 22:49:23 +01:00
TobiGr
dac47d9f52 Replace NotNull annotation with NonNull annotation 2022-01-21 22:49:23 +01:00
Stypox
83a3d11f38 Small improvements to player 2022-01-21 22:49:22 +01:00
Stypox
a454a41b51 Fix controls not hiding correctly when switching player 2022-01-21 22:49:22 +01:00
Stypox
95631dba46 Convert SecondsView from kotlin synthetics to view binding 2022-01-21 22:49:22 +01:00
vkay94
3aebfa22e9 SeekOverlay: Switch to merge for SecondsView and other adjustments 2022-01-21 22:49:21 +01:00
vkay94
72eb3b4415 SeekOverlay: Add seek overlay logic to player 2022-01-21 22:49:21 +01:00
vkay94
3a40759cd2 SeekOverlay: Add Views 2022-01-21 22:49:21 +01:00
XiangRongLin
cd265fc31f
Make SearchHistoryEntry.kt fields nullable to match java version (#7674) 2022-01-21 16:01:11 +00:00
litetex
f681b0bb5a
Merge pull request #7648 from mhmdanas/small-refactors
Fix false warning
2022-01-19 19:48:07 +01:00
XiangRongLin
d7fbddf6f8
Merge pull request #7668 from litetex/fix-video-reset-on-player-switch
Workaround: Set recovery before switching player
2022-01-19 16:45:10 +01:00
mhmdanas
402990dd9d Fix false warning 2022-01-18 07:40:59 +03:00
litetex
41faf70da1 Workaround: Set recovery before switching player
Quick fix
2022-01-17 20:52:07 +01:00
litetex
15e3b6301c
Merge pull request #7662 from TiA4f8R/fix-npe-share-button-playlists
Fix crash when sharing a playlist which is loading
2022-01-16 19:47:55 +01:00
XiangRongLin
5b9c28b93b
Replace JUnit asserts with AssertJ in HistoryRecordManagerTest (#7654)
* Replace JUnit asserts with AssertJ in HistoryRecordManagerTest

They provide a wider range of assertions, which allow for more detailed error messages.
Also convert SearchHistoryEntry to kotlin data class for better error messages, since toString() is implemented.

Co-authored-by: Mohammed Anas <triallax@tutanota.com>
2022-01-16 09:10:45 +01:00
TiA4f8R
6672169707
Fix NullPointerException when sharing a playlist which is loading
Prevent a NullPointerException by adding a null check for currentInfo when sharing a playlist.
2022-01-15 21:19:04 +01:00
Stypox
7907182e7e
Merge pull request #7036 from Douile/fix/queue-metadata
Load full stream info when enqueuing a stream
2022-01-07 21:57:30 +01:00
litetex
cc34734131 Refactored `initNotificationChannels` 2022-01-05 15:48:46 +01:00
litetex
6dcde96f85 Fixed some Sonarlint warnings 2022-01-05 15:31:55 +01:00
Douile
064242d962
Remove unecessary interface InfoCallback
Co-authored-by: Stypox <stypox@pm.me>

Replace the unecessary callback interface InfoCallback in favour of the
standard type Consumer<SinglePlayQueue>
2022-01-03 17:52:27 +00:00
litetex
ddcbe27fd3
Fixed search not accepting key input after closing player overlay (#7607)
* Fixed search not accepting key input after closing player overlay

* Made comments easier to understand

* More comments
2022-01-03 11:52:08 +01:00
Stypox
ccbc3af964
Show error notification when new streams notifications failed 2021-12-31 20:04:56 +01:00
Stypox
cd95ec4e12
Merge branch 'dev' into pr2335 2021-12-31 19:20:18 +01:00
Stypox
fcd2d63df4
Don't show any channel notification thumbnail if it could not be loaded 2021-12-31 18:38:35 +01:00
Stypox
e68d49e7df
Do not fetch all streams when disabling notifications for a channel 2021-12-31 18:34:02 +01:00
litetex
ee19ea66b3
Merge pull request #7568 from vhouriet/vhouriet_feature_already-playing-in-backgroud
Add Already playing in background toast
2021-12-31 14:54:05 +01:00
litetex
6b490ee547
Merge pull request #7582 from Jaspann/sub-channel-tumbnail-view-fix
Fixes view of sub-channel icon when not in use
2021-12-31 14:52:32 +01:00
Jaspann
558c9147a2 Move sub icon visibility line 2021-12-28 15:54:36 -05:00
litetex
fc0e709817
Fixed usage of wrong string 2021-12-27 00:14:04 +01:00
litetex
b67bf16d4f
Minified code 2021-12-26 23:57:54 +01:00
William Parker
fb3be544ce
Fixed code styling 2021-12-26 00:12:48 -05:00
Jaspann
53f5741317 Fixes view of sub-channel icon when not in use 2021-12-25 18:10:05 -05:00
Martin
5134080f87
Merge branch 'TeamNewPipe:dev' into dev 2021-12-25 15:14:24 +01:00
David Kramer
07015973d2 Added ability to see pinned comment 2021-12-24 11:29:34 -06:00
Tobi
215880207e
Merge pull request #7562 from TeamNewPipe/code-quality
Small improvements to code quality and readability
2021-12-23 23:54:29 +01:00
vhouriet
989bcbf895 Add Already playing in background toast 2021-12-23 22:12:38 +01:00
Martin
3e44856d01
Merge branch 'TeamNewPipe:dev' into dev 2021-12-23 15:44:09 +01:00
XiangRongLin
05370dbb94
Merge pull request #7556 from Jaspann/improve-hashtags
Fixes hashtags that use non-English characters.
2021-12-23 11:45:52 +01:00
Robin
f6cad2d9cf
Merge pull request #7555 from litetex/remove-mediaparser
Remove/Revert MediaParser support (Android 11+) due to bugs
2021-12-22 17:32:28 +01:00
TobiGr
37b8a9375f Small improvements to code quality and readability
Add annotations to methods and parameters.
Replace Jetbrains' @NotNull with Androidx' @NonNull annotatiation.
Make class variables static if possible.
Use constants for some Strings.
Simplify if conditions.
2021-12-21 20:55:41 +01:00
TobiGr
d71af9a625 Introduce constants for some Strings that indicate no data in Tab class 2021-12-21 20:53:17 +01:00
TobiGr
a163d5461d Make PlayerHolder.bound private 2021-12-21 20:51:18 +01:00
martin
5514616372 Change pitch by semitones 2021-12-21 18:17:48 +01:00
Jaspann
a274baf5cd Adds comment to HASHTAGS_PATTERN 2021-12-20 14:13:40 -05:00
Jaspann
361760be0a Allows multilingual support in hashtags 2021-12-19 20:33:55 -05:00
litetex
eea2768633 Removed/Reverted MediaParser support (Android 11+) due to bugs 2021-12-19 20:16:10 +01:00
Robin
d3562c70f5
Merge pull request #7451 from Cheechaii/respect-cutout-in-multiwindow
Respect cutouts when playing in MultiWindow
2021-12-19 13:23:28 +01:00
litetex
b21d231e3a
Merge pull request #7452 from litetex/show-alert-when-file-manager-not-found
Show an alert-dialog when no appropriate file-manager was found
2021-12-14 20:01:02 +01:00
litetex
4058277b7a
Merge pull request #7482 from TeamNewPipe/unify-error-reporting
Unify error reporting and add error notification
2021-12-14 19:58:41 +01:00
XiangRongLin
dd9772cde2
Merge pull request #7491 from Stypox/fix-search-order
Fix order of local search results
2021-12-14 09:07:17 -05:00
Stypox
01f3ed0e5e
Fix loading icon in streams notifications 2021-12-12 20:18:16 +01:00
litetex
b056faa97f
Merge pull request #7500 from TacoTheDank/bumpKtlint
Bump ktlint, Checkstyle, Java version
2021-12-12 15:07:24 +01:00
Douile
3ff00ff50e
Fix lambda code formatting
Co-authored-by: Stypox <stypox@pm.me>
2021-12-12 13:04:32 +00:00
Tom
baee915db5
Remove unecessary line
Co-authored-by: Stypox <stypox@pm.me>
2021-12-12 12:51:01 +00:00
TobiGr
19fd7bc37e Reduce power consumption
Only schedule the chek for new streams if the user enaled the check. Cancel the worker when the user disables the notifications.
2021-12-10 23:52:37 +01:00
Cheechaii
c92a90749e Respect cutouts when playing in MultiWindow 2021-12-09 20:58:05 +01:00
litetex
e806f8c4e6 Android 10+ only allows SAF -> Respect that in the dialog 2021-12-08 20:22:26 +01:00
Stypox
8a5e2ffa57
Fix order of local search results 2021-12-08 13:59:32 +01:00
Stypox
bb49b1cfb1
Add javadoc to ErrorUtil and ErrorActivity 2021-12-07 18:14:53 +01:00
TobiGr
3ade2bb6ec Merge remote-tracking branch 'origin/dev' into notifications 2021-12-07 17:29:37 +01:00
TacoTheDank
75db002369 Update ktlint to 0.43.2 2021-12-04 21:22:29 -05:00
Robin
41a0dc1abd
Disable media tunneling on Philips QM16XE 2021-12-04 22:23:09 +01:00
Stypox
950956ebf2
Also show a toast on error notification
since the notification is silent, also show a toast, otherwise the user is confused
2021-12-04 10:50:27 +01:00
Stypox
c8e2ab4c83
Remove PlayerErrorHandler and correctly set ErrorInfo msg 2021-12-04 10:36:36 +01:00
Stypox
397f93b079
Prevent exception from being serialized in ErrorInfo
The wrong @Decorator was put in the wrong place to mark the throwable fieldd as transient, now this is fixed and the exception is not serialized. So if a non-serializable throwable is passed, that's not an issue, since it's not going to be serialized. The need for EnsureExceptionSerializable is also gone.
2021-12-04 10:36:36 +01:00
Stypox
09d137f740
Add PendingIntent to ErrorUtil.createNotification 2021-12-04 10:36:36 +01:00
Stypox
81f740d409
Replace ErrorActivity with ErrorUtil 2021-12-04 10:36:36 +01:00
Stypox
1d2642f1e3
Create ErrorUtil class with three ways to report errors
Activity, snackbar and notification
2021-12-04 10:36:31 +01:00
Douile
7cd3603bbb
Fetch sparse items when playing in background or popup 2021-12-03 22:38:03 +00:00
Douile
ec7de2a6dc
Fix StreamType check, missing import, and styling errors 2021-12-03 21:53:36 +00:00
Tom
3d1a3606c9
Remove unused variable
Co-authored-by: Stypox <stypox@pm.me>
2021-12-03 21:30:26 +00:00
Douile
6472e9b6b6
Remove unused code 2021-12-03 21:29:34 +00:00
TobiGr
fd1155928e Fix deciding which streams are new 2021-11-30 23:31:44 +01:00
litetex
744cfe5672 Removed unused import 2021-11-29 21:13:22 +01:00
litetex
17724a901c Removed annotations due to wrong warnings 2021-11-29 21:03:59 +01:00
TobiGr
a8fe2d7e83 Fix "unsage use" warnings 2021-11-28 17:09:20 +01:00
litetex
b2323859e5 Refactoring + deduplicated code 2021-11-28 14:07:45 +01:00
litetex
4c8dca5300 Fixed NPE + Problems with context 2021-11-28 13:42:26 +01:00
litetex
68e7fcf8ee Fixed typos 2021-11-27 23:39:17 +01:00
litetex
f78983b16b Show an alert/dialog when no appropriate file-manager was found 2021-11-27 15:52:54 +01:00
litetex
2f99a217c3 Fixed build 2021-11-23 20:21:59 +01:00
litetex
0d51eefbb9 Refactoring 2021-11-23 20:12:16 +01:00
litetex
aa28a85747 Added a workaround for not serializable exceptions 2021-11-23 20:12:14 +01:00
litetex
f18ee8e83d Added a bit more documentation 2021-11-23 20:12:13 +01:00
litetex
fb58967766 PlayerErrorHandler refactor + docs 2021-11-23 20:12:12 +01:00
litetex
e5c00a7ef4 Added some doc 2021-11-23 20:12:10 +01:00
litetex
769791af7a Added a "Crash the player" debug option 2021-11-23 20:12:09 +01:00
litetex
e632fab4d0 Added option to report player errors
* Added a new setting so that player errors are reported (under Video and Audio > Player)
* Moved the player error logic to separate class specially created for this purpose
2021-11-23 20:12:07 +01:00
Tom
91611fcae4
Don't fetch uneeded stream info for live streams
Co-authored-by: Stypox <stypox@pm.me>
2021-11-23 15:22:11 +00:00
Stypox
6cd25d7e55
Merge pull request #7412 from litetex/code-cleanup
Some code cleanup(s)
2021-11-23 08:59:34 +01:00
litetex
c9488eb042
Removed useless lines 2021-11-22 19:49:52 +01:00
TobiGr
8ce996e065 Only check for new streams of subscriptions with enabled notifications automatically 2021-11-21 22:53:10 +01:00
TobiGr
892a1df280 Merge remote-tracking branch 'origin/dev' into notifications-1 2021-11-21 22:15:09 +01:00
litetex
c8516a04dc
Formatted code 2021-11-21 19:56:50 +01:00
litetex
02d1b98b1c
Removed useless doc 2021-11-21 19:46:11 +01:00
litetex
d8236bbedd
Merge pull request #7406 from Redirion/usedefaultloadcontrol
Use DefaultLoadcontrol
2021-11-21 15:11:21 +01:00
XiangRongLin
bd9dcfb28a
Merge pull request #7381 from litetex/prevent-automatic-replay-after-returning-from-background
Prevent automatic replay after returning from background
2021-11-17 09:38:09 +01:00
Robin
d5199eac3e
Merge pull request #7050 from litetex/feed-refactor-new-items-handling
Rework feed new items handling
2021-11-15 23:20:07 +01:00
litetex
7638d229c0 Fixed typo 2021-11-15 20:24:40 +01:00
TacoTheDank
a641c5bb58 Update Groupie to 2.9.0 2021-11-15 20:24:39 +01:00
litetex
1e0c9f46ad Improved highlighting in FeedFragment
Now keeps the ``selectableItemBackground`` when highligthing an item.
2021-11-15 20:22:23 +01:00
litetex
4eb02f584e Fixed default visibility of "new feed items" button
Fixed/Avoid NPEs
2021-11-15 20:22:22 +01:00
litetex
700c1b4b25 Removed unnecessary layout
Moved the feed button up a bit
2021-11-15 20:22:21 +01:00
litetex
4b4337e078 Used more understandable kotlin methods 2021-11-15 20:22:20 +01:00
litetex
38ce800685 Fixed feed when animations are off
Introduced a check if corresponding animations on the devices are enabled
2021-11-15 20:22:20 +01:00
litetex
2310e8c1d6 Made `hideNewItemsLoaded` more null safe 2021-11-15 20:22:19 +01:00
litetex
1b2b3a4f88 Make new feed items bold 2021-11-15 20:22:18 +01:00
litetex
d11129a76b Fixed StackOverflow 2021-11-15 20:22:17 +01:00
litetex
02789122a0 Implemented UI highlighting and "new feed items"-notification
Fixed format
2021-11-15 20:22:17 +01:00
litetex
676bc02d52 No more reaction to unnecessary feed db-changes
This caused duplicate events (https://github.com/TeamNewPipe/NewPipe/pull/6686#issuecomment-909575283) and unnecessary processing of items
2021-11-15 20:21:23 +01:00
litetex
8b807b0706 Enhanced `View.slideUp` 2021-11-15 20:21:21 +01:00
litetex
316db0e4c6 setRecovery: Remove checks and use Math.min/max 2021-11-15 19:56:14 +01:00
litetex
010c607e40 Prevent automatic replay after returning from background
See also https://github.com/TeamNewPipe/NewPipe/pull/7195#issuecomment-962624380
2021-11-15 19:47:08 +01:00
Robin
3e099fb2a3 Fixed Period Transition 2021-11-14 21:19:36 +01:00
Robin
9c9730b152 Use DefaultLoadcontrol 2021-11-14 20:12:12 +01:00
Stypox
9e44053e22
Merge pull request #7160 from nschulzke/mark-as-watched-everywhere
Enable Mark as Watched in all the other playlist fragments.
2021-11-13 20:37:59 +01:00