fix(auto): beim Aussteigen pausieren statt aufs Handy weiterlaufen #1

Merged
darksoon merged 4 commits from claude/admiring-darwin-6sxa65 into main 2026-06-18 19:53:46 +02:00
darksoon commented 2026-06-18 19:53:34 +02:00 (Migrated from github.com)

Worum geht's

Beim Verlassen des Autos lief die Wiedergabe nach ein paar Sekunden auf dem Handy-Lautsprecher weiter. Der vorherige Fix (3df6347) hing nur am Android-Auto-MediaSession-Controller (onDisconnected) — das greift aber nur bei Android-Auto-Projection. Bei reinem Bluetooth (A2DP), wie es die meisten im Auto nutzen, gibt es gar keinen Controller, also pausierte nichts.

Änderungen

  • b717153 fix(player): Verbindungs-unabhängiger Fix auf Hardware-Ebene via AudioManager.registerAudioDeviceCallback — pausiert, sobald die letzte externe Audio-Ausgabe (BT/USB/Dock/Kabel/Auto/AUX) verschwindet und nur noch der eingebaute Lautsprecher bliebe. Pause-Policy als reine, unit-getestete Funktion (4 neue Tests).
  • 947b63f build: gradlew ausführbar gemacht (Mode 755) — chmod-Workaround in der CI obsolet.
  • 61fd4b2 chore: Warnungs-Cleanup — unnötige Safe-Calls, @Suppress("OVERRIDE_DEPRECATION"), hiltViewModel-Paketmigration (6 Dateien).
  • c78f953 chore: UI-Deprecations migriert (ClickableTextLinkAnnotation, VolumeUp→AutoMirrored, SwipeToDismiss via snapshotFlow). Compiler-Warnungen jetzt 0 (vorher 21).

Verifikation

Lokal mit den CI-Tasks gebaut: assembleGithubDebug + lintGithubDebug + testGithubDebugUnitTestBUILD SUCCESSFUL, 0 Warnungen.

⚠️ Manuell zu prüfen: die zwei Links im „Über"-Text und das Wegwischen der Mini-Player-Leiste (UI-Verhalten von c78f953).

🤖 Generated with Claude Code


Generated by Claude Code

## Worum geht's Beim Verlassen des Autos lief die Wiedergabe nach ein paar Sekunden auf dem Handy-Lautsprecher weiter. Der vorherige Fix (`3df6347`) hing nur am Android-Auto-MediaSession-Controller (`onDisconnected`) — das greift aber nur bei Android-Auto-*Projection*. Bei reinem Bluetooth (A2DP), wie es die meisten im Auto nutzen, gibt es gar keinen Controller, also pausierte nichts. ## Änderungen - **`b717153` fix(player):** Verbindungs-unabhängiger Fix auf Hardware-Ebene via `AudioManager.registerAudioDeviceCallback` — pausiert, sobald die letzte externe Audio-Ausgabe (BT/USB/Dock/Kabel/Auto/AUX) verschwindet und nur noch der eingebaute Lautsprecher bliebe. Pause-Policy als reine, unit-getestete Funktion (4 neue Tests). - **`947b63f` build:** `gradlew` ausführbar gemacht (Mode 755) — `chmod`-Workaround in der CI obsolet. - **`61fd4b2` chore:** Warnungs-Cleanup — unnötige Safe-Calls, `@Suppress("OVERRIDE_DEPRECATION")`, `hiltViewModel`-Paketmigration (6 Dateien). - **`c78f953` chore:** UI-Deprecations migriert (`ClickableText`→`LinkAnnotation`, `VolumeUp`→AutoMirrored, `SwipeToDismiss` via `snapshotFlow`). Compiler-Warnungen jetzt **0** (vorher 21). ## Verifikation Lokal mit den CI-Tasks gebaut: `assembleGithubDebug` + `lintGithubDebug` + `testGithubDebugUnitTest` → **BUILD SUCCESSFUL**, 0 Warnungen. ⚠️ Manuell zu prüfen: die zwei Links im „Über"-Text und das Wegwischen der Mini-Player-Leiste (UI-Verhalten von `c78f953`). 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- _Generated by [Claude Code](https://claude.ai/code/session_017hqE1nEPCNovkKJBsGM7ED)_
chatgpt-codex-connector[bot] (Migrated from github.com) reviewed 2026-06-18 19:58:53 +02:00
chatgpt-codex-connector[bot] (Migrated from github.com) left a comment

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c78f953f2b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

### 💡 Codex Review Here are some automated review suggestions for this pull request. **Reviewed commit:** `c78f953f2b` <details> <summary>ℹ️ About Codex in GitHub</summary> <br/> [Your team has set up Codex to review pull requests in this repo](https://chatgpt.com/codex/cloud/settings/general). Reviews are triggered when you - Open a pull request for review - Mark a draft as ready - Comment "@codex review". If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". </details>
chatgpt-codex-connector[bot] (Migrated from github.com) commented 2026-06-18 19:58:54 +02:00

P2 Badge Wait for the dismiss state to settle before stopping playback

In the mini-player dismiss path, targetValue changes as soon as an in-progress drag crosses the threshold, before the user releases and before the state settles. If a user swipes past the threshold and then drags back/cancels, this collector still calls onDismissed() and stops playback even though the bar was not actually dismissed; use the new SwipeToDismissBox dismiss callback or observe a settled/current dismissed value instead.

Useful? React with 👍 / 👎.

**<sub><sub>![P2 Badge](https://img.shields.io/badge/P2-yellow?style=flat)</sub></sub> Wait for the dismiss state to settle before stopping playback** In the mini-player dismiss path, `targetValue` changes as soon as an in-progress drag crosses the threshold, before the user releases and before the state settles. If a user swipes past the threshold and then drags back/cancels, this collector still calls `onDismissed()` and stops playback even though the bar was not actually dismissed; use the new `SwipeToDismissBox` dismiss callback or observe a settled/current dismissed value instead. Useful? React with 👍 / 👎.
Sign in to join this conversation.
No description provided.