feat: Add hold-to-fast-forward (2x speed) feature
What is it?
- [ ] Bugfix (user facing)
- [x] Feature (user facing) ⚠️ Your PR must target the
refactorbranch - [ ] Codebase improvement (dev facing)
- [ ] Meta improvement to the project (dev facing)
Description of the changes in your PR
- Add tap and hold gesture to increase playback speed to 2x while held
- Add settings toggle in Video & Audio settings to enable/disable the feature
- Feature is enabled by default and respects user preference
- record videos
- create clones
- take over the world
Before/After Screenshots/Screen Record
-
Before:
-
After: https://streamable.com/41d1x4 (for UI, just one toggle was added, enabling/disabling this feature in settings/video and audio/behavior)
Fixes the following issue(s)
- Fixes #12659
Relies on the following changes
APK testing
The APK can be found by going to the "Checks" tab below the title. On the left pane, click on "CI", scroll down to "artifacts" and click "app" to download the zip file which contains the debug APK of this PR. You can find more info and a video demonstration on this wiki page.
Due diligence
- [x] I read the contribution guidelines.
please fill out the template properly and add screen recordings
Video
https://streamable.com/41d1x4
please fill out the template properly and add screen recordings
I'm not sure what the create clones sections means
Or relies on the following changes? That's my entire pr so I'd be restating my pr
In the section "Description of the changes in your PR" you should replace the bullet points with your own (The ones you wrote at the very top).
"Relies on the following changes" is only relevant when you need a different PR to be merged first, so you can leave it empty.
please fill out the template properly and add screen recordings
This should be completed properly now
In the section "Description of the changes in your PR" you should replace the bullet points with your own (The ones you wrote at the very top).
"Relies on the following changes" is only relevant when you need a different PR to be merged first, so you can leave it empty.
Thank you, appreciate the clarification
Appreciate the patience
I don't know if some of these tests failing means this can't be merged; I'm not sure what's going wrong. If it would prevent a merge, I will investigate further
Task :app:runKtlint /home/runner/work/NewPipe/NewPipe/app/src/main/java/org/schabi/newpipe/player/PlayerService.kt:151:85: Unnecessary semicolon (no-semi) /home/runner/work/NewPipe/NewPipe/app/src/main/java/org/schabi/newpipe/player/PlayerService.kt:152:72: Unnecessary semicolon (no-semi)
Task :app:runKtlint /home/runner/work/NewPipe/NewPipe/app/src/main/java/org/schabi/newpipe/player/PlayerService.kt:151:85: Unnecessary semicolon (no-semi) /home/runner/work/NewPipe/NewPipe/app/src/main/java/org/schabi/newpipe/player/PlayerService.kt:152:72: Unnecessary semicolon (no-semi)
The PlayerService.kt lint errors were not from my changes. They came from when I rebased on PR #12838 to work around the JitPack dependency issue (Could not find com.github.TeamNewPipe:NewPipeExtractor:0023b22...).
I've now rebased back to the current upstream/refactor. The CI will likely fail due to the JitPack issue, but my actual code changes don't touch PlayerService.kt at all.
Once PR #12838 is merged, I can rebase on the updated refactor branch and CI should pass.
I fixed this in https://github.com/TeamNewPipe/NewPipe/commit/40caeb465d44a2c5708f62191c259f57076a343e so a rebase should make the checks pass.