feat: Implement edge gesture controls for brightness and volume#895
Merged
PartyDonut merged 5 commits intoDonutWare:developfrom Apr 5, 2026
Merged
Conversation
Contributor
Author
|
I have only tested this on Android as I have an Android phone. If somebody can test this on iOS that would be great. For iOS you cannot test this on a simulator because the |
0371c08 to
424c8b5
Compare
424c8b5 to
af2eaa3
Compare
…d-volume-gesture # Conflicts: # lib/screens/settings/player_settings_page.dart
PartyDonut
approved these changes
Apr 5, 2026
Collaborator
PartyDonut
left a comment
There was a problem hiding this comment.
Looks good to me, tested on iOS had to downgrade the volume_controller package version. Works/builds fine after that.
And changed the text color to always be "white" in-line with the other controls
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request Description
This pull request adds support for edge gestures in the video player settings, allowing users to control brightness and volume by sliding on the screen edges. It introduces new settings for enabling/disabling and swapping edge gestures, updates the localization files with relevant strings, and improves synchronization between the app's internal volume and the system volume on mobile platforms.
Edge Gestures Feature:
Added new settings to
VideoPlayerSettingsModelforenableEdgeGestures(default: true) andreverseEdgeGestures(default: false).Updated localization (
app_en.arb) to include new strings and descriptions for edge gestures settings and brightness indicator.Consolidated the gestures into their separate subcategory called
Gesturesin the settings page as it was becoming cluttered.Volume Synchronization Improvements:
Enhanced
VideoPlayerSettingsProviderNotifierto sync internal volume with the system volume on Android/iOS (using thevolume_controllerpackage), including initialization, event listening, and cleanup. This ensures volume changes via hardware buttons are reflected in the app and vice versa.Modified
setVolumeandsteppedVolumemethods to update both the internal model and the system volume on supported platforms.Issue Being Fixed
Resolves #292
Screenshots / Recordings
Checklist