Commit graph

2990 commits

Author SHA1 Message Date
TacoTheDank
bf800b348b Convert NewVersionWorker to Kotlin 2022-03-03 13:34:35 -05:00
TacoTheDank
9a8889c826 Migrate CheckForNewAppVersion to Worker (and rename it) 2022-03-03 13:26:57 -05:00
TacoTheDank
f2fec326e5 Migrate CheckForNewAppVersion to JobIntentService 2022-03-03 13:24:12 -05:00
TacoTheDank
15064830d2 Kotlin-ize ReleaseVersionUtil, merge with NewVersionManager 2022-03-03 13:21:50 -05:00
TacoTheDank
36c69cb3d6 Move utility methods out of CheckForNewAppVersion 2022-03-03 13:19:06 -05:00
karyogamy
4e3d71929d - 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
0c5e3ae828 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
686750fc55 Merge pull request #7952 from TacoTheDank/bumpKotlin
Update Kotlin to 1.6.10
2022-02-28 19:42:38 +01:00
Stypox
1923187d4c Merge pull request #7565 from haklc/dev
Change pitch by semitones
2022-02-27 09:58:38 +01:00
TacoTheDank
112b7dde65 Update ktlint to 0.44.0 2022-02-26 16:08:10 -05:00
litetex
d04f566514 Merge pull request #7910 from avently/equalscheck
Better equals check
2022-02-26 16:20:27 +01:00
litetex
e6b480fdbc Merge pull request #7570 from TeamNewPipe/improvement/infoItemDialogBuilder
Refactor generating InfoItemDialog's
2022-02-26 16:18:39 +01:00
litetex
ae111a8850 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
ba77ce541c 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
645b0b1cbb 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
TacoTheDank
dcb1ba4a39 Replace CircleImageView with ShapeableImageView 2022-02-23 15:11:25 -05:00
Avently
f14af0dc76 Added serviceId check while comparing PlayQueues 2022-02-23 00:53:39 +03:00
TobiGr
2b5fc80b0b Clarify that only StramInfoItems are accepted by the builder 2022-02-21 21:50:30 +01:00
Tobi
ae5e3ff54e Merge pull request #7924 from litetex/revert-7451
Revert "Respect cutouts when playing in MultiWindow"
2022-02-21 21:36:07 +01:00
litetex
486f50030c Merge pull request #7901 from Stypox/player-small-refactor
Small refactor in player class
2022-02-21 20:48:03 +01:00
litetex
c9e84dd16f Revert "Respect cutouts when playing in MultiWindow"
This reverts commit 81b3b6de34.
2022-02-21 20:30:56 +01:00
litetex
deadd31b9e 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
05af350375 Move StreamDialogEntry.openChannelFragment to NavigationHelper 2022-02-20 20:26:27 +01:00
TobiGr
58abf4b834 Move Classes related to InfoItemDIalog into own package 2022-02-20 20:17:04 +01:00
TobiGr
a97ea9af70 Fix rebase 2022-02-20 20:17:04 +01:00
TobiGr
40103c07d2 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
c0ab407cf6 Use identical method names for creating the InfoItemDialog in Fragments 2022-02-20 20:17:04 +01:00
TobiGr
926e00d467 Use ErrorActivity to notifiy about errors occourred while loading channel details 2022-02-20 20:17:04 +01:00
TobiGr
df28deb880 Use Context instead of Activity
Improve docs
2022-02-20 20:17:04 +01:00
TobiGr
f9ad08d977 Add default entries automatically 2022-02-20 20:17:04 +01:00
TobiGr
597192ce99 Extract entries into beginning and end category 2022-02-20 20:17:04 +01:00
TobiGr
9f3031bc3a 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
3eb739eece Update JavaDoc of VideoPlaybackResolver.getStreamSourceType() 2022-02-20 19:40:03 +01:00
TiA4f8R
aa91d0a890 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
9d2d5a05f6 Adress requested changes 2022-02-20 19:40:02 +01:00
TiA4f8R
3e24093f95 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
eb83f7c47c Apply suggestion 2022-02-20 19:40:02 +01:00
TiA4f8R
69de2d3208 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
6d74dfe3ee Add some comments and a JavaDoc 2022-02-20 19:40:01 +01:00
litetex
994003815b Fixed typo 2022-02-20 19:40:01 +01:00
litetex
949be76b84 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
2bf9ed12ed 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
299056effb Improved `ListHelper#getSortedStreamVideosList` 2022-02-20 19:38:40 +01:00
TiA4f8R
72095d9ce7 Apply suggestion 2022-02-20 19:38:40 +01:00
TiA4f8R
7786a18517 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
2aeb8bab1e 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
05e7a25ad8 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
fb35eb2ea4 Use Java streams in AbstractInfoPlayQueue 2022-02-19 18:01:16 +01:00
Stypox
07da02a3af 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
f3f443ea85 Solve Java warning "Raw use of parameterized class" 2022-02-19 17:30:38 +01:00