Light theme default + yt-dlp search fallback
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
# Correctif écran verrouillé lorsque le PiP est actif
|
||||
|
||||
Le log précédent montrait :
|
||||
|
||||
```text
|
||||
[BACKGROUND] lifecycle=AppLifecycleState.hidden pip=true playing=true
|
||||
[BACKGROUND] lifecycle=AppLifecycleState.paused pip=true playing=true
|
||||
...
|
||||
AudioTrack ... stop
|
||||
```
|
||||
|
||||
Le problème était que le code interprétait `pip=true` comme
|
||||
« la vidéo est toujours visible » et refusait donc d'activer le mode
|
||||
audio-only.
|
||||
|
||||
Or, lors du verrouillage, Android peut conserver l'état PiP pendant que
|
||||
l'écran s'éteint et que la Surface vidéo disparaît.
|
||||
|
||||
## Nouveau comportement
|
||||
|
||||
`MainActivity.kt` écoute maintenant directement :
|
||||
|
||||
- `ACTION_SCREEN_OFF`
|
||||
- `ACTION_SCREEN_ON`
|
||||
|
||||
Quand `ACTION_SCREEN_OFF` arrive :
|
||||
|
||||
1. Flutter reçoit `screenInteractiveChanged=false`.
|
||||
2. La piste vidéo est désactivée avec `VideoTrack.no()`, même si `pip=true`.
|
||||
3. Le Player garde l'audio et la MediaSession.
|
||||
4. Le foreground service reste actif.
|
||||
|
||||
Quand l'écran revient :
|
||||
|
||||
1. Flutter reçoit `screenInteractiveChanged=true`.
|
||||
2. Il attend 450 ms que la Surface Android revienne.
|
||||
3. `VideoTrack.auto()` restaure l'image.
|
||||
|
||||
## Test utile
|
||||
|
||||
Lance Android en debug, démarre une vidéo, passe éventuellement en PiP,
|
||||
puis verrouille le téléphone.
|
||||
|
||||
Cherche ces lignes :
|
||||
|
||||
```text
|
||||
[BACKGROUND] native screen interactive=false
|
||||
[BACKGROUND] disable video track
|
||||
[BACKGROUND] audio-only active
|
||||
```
|
||||
|
||||
Si ensuite Android affiche malgré tout `AudioTrack ... stop`, cela voudra
|
||||
dire que `media_kit` arrête son moteur audio indépendamment de la piste vidéo.
|
||||
Dans ce cas, la prochaine étape sera de déplacer la lecture audio de fond
|
||||
dans un Player séparé géré par le service Android.
|
||||
Reference in New Issue
Block a user