fix(phone): 800ms-Delay vor Auto-Resume — Spotify kommt zum Atmen

Wenn ARIA's Resume-Pfad direkt nach Anruf-Ende den AudioFocus requestet,
kollidiert das mit Spotify's eigenem Auto-Resume. System haengt noch im
IN_CALL-Mode-Uebergang, Spotify sieht "Loss → Loss" und bleibt pausiert
statt kurz zu resumen.

Mit 800ms-Delay: Spotify schafft den Resume-Schritt, dann pausiert ARIA
wieder ordnungsgemaess. Wenn ARIA nichts pending hatte, bleibt Spotify
einfach weiter an.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-10 16:20:48 +02:00
parent b3ff3991c4
commit 8f64f8fb30
+13 -8
View File
@@ -202,14 +202,19 @@ class PhoneCallService {
audioService.endCallPause(); audioService.endCallPause();
wakeWordService.resumeFromCall().catch(() => {}); wakeWordService.resumeFromCall().catch(() => {});
ToastAndroid.show(toast, ToastAndroid.SHORT); ToastAndroid.show(toast, ToastAndroid.SHORT);
// Auto-Resume: ab gemerkter Position weiterspielen wenn ARIA vor dem // 800ms warten bevor Auto-Resume — sonst kollidiert ARIA's neuer Focus-
// Anruf gerade redete. Wartet bis zu 30s auf den WAV-Cache (falls // Request mit Spotify's Auto-Resume nach Anruf-Ende. System haengt nach
// final-Marker erst nach dem Anruf-Ende kam). // dem Auflegen noch im IN_CALL-Mode-Uebergang, Spotify schaut auf Focus-
audioService.resumeFromInterruption(30000).then(ok => { // Gain und wuerde sofort wieder LOSS sehen → bleibt pausiert.
if (ok) { // Mit Delay: Spotify resumed kurz, dann pausiert ARIA wieder ordnungs-
console.log('[PhoneCall] Auto-Resume von gemerkter Position gestartet'); // gemaess. Wenn ARIA nichts pending hat, bleibt Spotify einfach an.
} setTimeout(() => {
}).catch(() => {}); audioService.resumeFromInterruption(30000).then(ok => {
if (ok) {
console.log('[PhoneCall] Auto-Resume von gemerkter Position gestartet');
}
}).catch(() => {});
}, 800);
} }
} }