librepods-org / librepods-org/librepods
Feature Request: Automatically disable conversational awareness when only one single AirPod is inserted
Nobody has claimed this yet.
- Dominant language
- Kotlin
- Stars
- 29.9k
- Forks
- 1.7k
- PR merge metrics
- No merged PRs in 30d
Description
Scope
Android
Problem or use case
Currently, conversational awareness (CA) activates whenever the AirPods detect speech, regardless of one or both AirPods are worn. This issue propose adding an option to only enable CA when both AirPods are in, preventing unwanted volume reduction when listening with a single bud. The idea is that when wearing a single AirPod, the user is already in a natural "conversational aware" posture. Lowering volume feels unnatural and often distracts me.
I don't believe this is an existing feature on Apple devices. However, I personally would like this feature and I'm often bothered with unwanted volume reduction. Similarly, the same idea could also apply to disabling pausing media playback instead of just lowering volume.
Proposed solution
From what I understand, there are two approaches:
- Firmware-side toggle: send
CONVERSATION_DETECT_CONFIG (0x28)to disable CA on the AirPods when ear detection0x06reports one bud out. - App-side suppression: ignore incoming
0x4BCA packets whenearDetectionNotification.statusdoesn't show both AirPods are in.
I would suggest the app-side suppression approach for the following reasons:
- Easier implementation: an extra if-condition in
onConversationAwarenessReceived()vs bi-directional protocol coordination - No reliance on firmware/protocol: Apple doesn't seem to have this feature, and everything could change. Implement on app-side is more likely to be compatible with future devices/firmware.
Also, a new UI toggle "Only when both AirPods are worn" should be added to the CA config section. It should default to off to preserve current behaviour.
Please let you know what you think. Thanks!
Alternatives considered
(See above)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing onConversationAwarenessReceived() and how earDetectionNotification.status reports whether both AirPods are worn. Then inspect the conversational-awareness configuration section to see where the proposed "Only when both AirPods are worn" option belongs. Done means the option gates conversational awareness for single-bud use while preserving the current default behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin
- Domain
- mobile
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100