Skip to content

feat(android): automatically enable transparency mode during calls - #327

Draft
dicebattle wants to merge 2 commits into
Oppzippy:masterfrom
dicebattle:agent/auto-transparency-during-calls
Draft

feat(android): automatically enable transparency mode during calls#327
dicebattle wants to merge 2 commits into
Oppzippy:masterfrom
dicebattle:agent/auto-transparency-during-calls

Conversation

@dicebattle

@dicebattle dicebattle commented Jul 19, 2026

Copy link
Copy Markdown

Motivation

When making a call with noise cancellation enabled, hearing your own voice differently can cause you to speak louder than intended or create an uncomfortable occluded feeling. Similar to earbuds that automatically enable transparency mode during calls, this PR makes the same behavior optionally available for devices supported by OpenSCQ30.

Related issue: #324

Changes

  • Added a Call transparency automation switch to the Android settings screen.
  • The feature is disabled by default and only runs when explicitly enabled by the user.
  • Detects Android call audio modes, saves the current ambient sound mode when a call starts, and switches the device to Transparency.
  • When the call ends, the previous mode is restored only if the earbuds are still in the Transparency mode set by the automation. A mode manually selected by the user during the call is not overwritten.
  • Disabling the feature during a call stops monitoring and restores the previous mode when necessary.
  • The feature only operates when the connected device exposes both the ambientSoundMode setting and a Transparency option. No command is sent to unsupported devices.
  • Android 12 and later use an audio mode change callback, while earlier versions poll the current state periodically.

Validation

  • Verified the basic switching and restoration flow for regular phone calls using a P31i (D1202).
  • Internet call detection is not yet consistent across applications and the audio modes they expose, so additional real-device testing is still required.
  • I only own a P31i and could not test other earbuds. The implementation does not use model-specific packets; it checks the settings exposed by the connected device so that it can work with other devices that provide the same settings.
  • Added unit tests covering automatic switching and restoration, calls that start while transparency mode is already active, manual mode changes during calls, repeated state notifications, and unsupported devices.
  • just format-check
  • ./gradlew testX86_64DebugUnitTest
  • ./gradlew assembleArm64-v8aDebug
  • git diff --check

This PR was created with the assistance of AI tools.

@dicebattle dicebattle changed the title feat(android): 통화 중 주변음 허용 자동 전환 추가 feat(android): automatically enable transparency mode during calls Jul 19, 2026
@dicebattle
dicebattle force-pushed the agent/auto-transparency-during-calls branch from ba19359 to bd656ab Compare July 19, 2026 06:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant