librepods-org / librepods-org/librepods

Feature Request: Automatically disable conversational awareness when only one single AirPod is inserted

Open
#616 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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:

  1. Firmware-side toggle: send CONVERSATION_DETECT_CONFIG (0x28) to disable CA on the AirPods when ear detection 0x06 reports one bud out.
  2. App-side suppression: ignore incoming 0x4B CA packets when earDetectionNotification.status doesn't show both AirPods are in.

I would suggest the app-side suppression approach for the following reasons:

  1. Easier implementation: an extra if-condition in onConversationAwarenessReceived() vs bi-directional protocol coordination
  2. 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.