From 8f64f8fb301ad7dd713f3d278af9b5c294225b5f Mon Sep 17 00:00:00 2001 From: duffyduck Date: Sun, 10 May 2026 16:20:48 +0200 Subject: [PATCH] =?UTF-8?q?fix(phone):=20800ms-Delay=20vor=20Auto-Resume?= =?UTF-8?q?=20=E2=80=94=20Spotify=20kommt=20zum=20Atmen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- android/src/services/phoneCall.ts | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/android/src/services/phoneCall.ts b/android/src/services/phoneCall.ts index e115fa4..3ddcc42 100644 --- a/android/src/services/phoneCall.ts +++ b/android/src/services/phoneCall.ts @@ -202,14 +202,19 @@ class PhoneCallService { audioService.endCallPause(); wakeWordService.resumeFromCall().catch(() => {}); ToastAndroid.show(toast, ToastAndroid.SHORT); - // Auto-Resume: ab gemerkter Position weiterspielen wenn ARIA vor dem - // Anruf gerade redete. Wartet bis zu 30s auf den WAV-Cache (falls - // final-Marker erst nach dem Anruf-Ende kam). - audioService.resumeFromInterruption(30000).then(ok => { - if (ok) { - console.log('[PhoneCall] Auto-Resume von gemerkter Position gestartet'); - } - }).catch(() => {}); + // 800ms warten bevor Auto-Resume — sonst kollidiert ARIA's neuer Focus- + // Request mit Spotify's Auto-Resume nach Anruf-Ende. System haengt nach + // dem Auflegen noch im IN_CALL-Mode-Uebergang, Spotify schaut auf Focus- + // Gain und wuerde sofort wieder LOSS sehen → bleibt pausiert. + // Mit Delay: Spotify resumed kurz, dann pausiert ARIA wieder ordnungs- + // gemaess. Wenn ARIA nichts pending hat, bleibt Spotify einfach an. + setTimeout(() => { + audioService.resumeFromInterruption(30000).then(ok => { + if (ok) { + console.log('[PhoneCall] Auto-Resume von gemerkter Position gestartet'); + } + }).catch(() => {}); + }, 800); } }