feat(aap): Unified command queue with ear-detection gating and session engine extraction

Queue all setting commands when no pod is in ear, flush when a pod goes in. Enable the adaptive noise slider when ADAPTIVE mode is pending. Show an info box when settings changes are pending.

Extract AapSessionEngine (state, send path, message processing, inference) and AapSettingsCoordinator (queue, optimistic updates, verification) from AapConnection, reducing it from 773 to 173 lines.
This commit is contained in:
darken
2026-04-16 10:32:21 +02:00
committed by Matthias Urhahn
parent 59b4c404aa
commit e5821de4dd
12 changed files with 1313 additions and 549 deletions
+1
View File
@@ -472,6 +472,7 @@
<string name="device_settings_adaptive_noise_label">Adaptive Audio Noise</string>
<string name="device_settings_adaptive_noise_description">How much environmental noise is allowed through</string>
<string name="device_settings_adaptive_noise_requires_adaptive">Requires Adaptive noise control</string>
<string name="device_settings_pending_info">Changes take effect when AirPods are in ear</string>
<string name="device_settings_press_speed_label">Press Speed</string>
<string name="device_settings_press_speed_description">How quickly you need to press for multi-press gestures</string>
<string name="device_settings_press_speed_default">Default</string>