Skip to content

feat: Implement edge gesture controls for brightness and volume#895

Merged
PartyDonut merged 5 commits intoDonutWare:developfrom
schembriaiden:feat/brightness-and-volume-gesture
Apr 5, 2026
Merged

feat: Implement edge gesture controls for brightness and volume#895
PartyDonut merged 5 commits intoDonutWare:developfrom
schembriaiden:feat/brightness-and-volume-gesture

Conversation

@schembriaiden
Copy link
Copy Markdown
Contributor

@schembriaiden schembriaiden commented Apr 1, 2026

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 VideoPlayerSettingsModel for enableEdgeGestures (default: true) and reverseEdgeGestures (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 Gestures in the settings page as it was becoming cluttered.

Volume Synchronization Improvements:

  • Enhanced VideoPlayerSettingsProviderNotifier to sync internal volume with the system volume on Android/iOS (using the volume_controller package), including initialization, event listening, and cleanup. This ensures volume changes via hardware buttons are reflected in the app and vice versa.

  • Modified setVolume and steppedVolume methods to update both the internal model and the system volume on supported platforms.

Issue Being Fixed

Resolves #292

Screenshots / Recordings

Checklist

  • If a new package was added, did you ensure it works for all supported platforms? Is the package well maintained
  • Check that any changes are related to the issue at hand.

@schembriaiden
Copy link
Copy Markdown
Contributor Author

schembriaiden commented Apr 1, 2026

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 volume_controller package does not support the simulator:

https://pub.dev/packages/volume_controller

@schembriaiden schembriaiden force-pushed the feat/brightness-and-volume-gesture branch 3 times, most recently from 0371c08 to 424c8b5 Compare April 1, 2026 15:18
@schembriaiden schembriaiden force-pushed the feat/brightness-and-volume-gesture branch from 424c8b5 to af2eaa3 Compare April 1, 2026 15:25
Copy link
Copy Markdown
Collaborator

@PartyDonut PartyDonut left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

@PartyDonut PartyDonut added the feature New feature or request label Apr 5, 2026
@PartyDonut PartyDonut merged commit 7402b62 into DonutWare:develop Apr 5, 2026
1 check passed
@schembriaiden schembriaiden deleted the feat/brightness-and-volume-gesture branch April 5, 2026 19:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants