FOXA-2241 : une touche de navigation quitte la bande-annonce et agit #1014

Merged
foXaCe merged 1 commit from passe-20261018-183000-dpadannonce into main 2026-10-18 18:13:33 +02:00
Owner

Résumé

FOXA-2241 — une touche de navigation quitte la bande-annonce de la fiche et agit.

  • a020c3639 FOXA-2241 : une touche de navigation quitte la bande-annonce et agit

Pourquoi

Sur une fiche dont la bande-annonce démarre seule, tout était consommé sauf Retour : bas, haut,
gauche et droite ne faisaient rien. Mesuré sur la box le 2026-09-26 : « aucun nœud focalisé ; la
bande-annonce continue »
— 9 appuis, 9 avalés — pendant que l'écran affichait « Appuyez sur Retour
pour quitter la bande-annonce ». Un écran qui explique qu'il ne répondra pas.

Le focus n'est pas volé par la bande-annonce : elle est dessinée par-dessus, le bouton Lecture le
garde derrière. Rendre false après avoir arrêté l'aperçu laisse donc l'appui descendre — c'est ce
qui distingue « quitter et agir » de « quitter, puis appuyer encore ».

Retour et Échap gardent leur rôle : quitter sans agir. Les confondre avec la navigation ferait
d'un « je veux sortir » un « je veux descendre ».

Ce qui a été mesuré

2 tests :

ce qui est mesuré comment
les quatre directions sont déclarées, dans le socle commun ui/focus/TouchesDeNavigation.kt porte les quatre codes
l'appui n'est pas consommé viewModel.onEvent(OnTrailerEnded) puis return@onPreviewKeyEvent false
./gradlew :app:testFullDebugUnitTest -Pnuvio.android.distribution=full --tests '*LeDpadQuitteLaBandeAnnonceTest*'
BUILD SUCCESSFUL — 2 tests, 0 échec

⚠ La liste des touches vit dans ui/focus, pas dans l'écran : PilotageManuelDuFocusTest
compte les gestes de focus par fichier et refuse qu'un écran redéfinisse sa lecture des touches.
Ma première version l'avait mise dans MetaDetailsScreen.kt — le compte est passé de 8 à 12 et le
garde a rougi, à raison.

Suite complète rejouée : verte en 8m27s. detekt : vert.

⚠ Le banc mesure la forme (l'aperçu est arrêté, l'appui passe). Le geste réel — ouvrir une fiche,
attendre la bande-annonce, appuyer bas et atteindre les saisons — demande la box.

Porte jouée par la forge : « Porte / porte* » est le seul contexte qu'exige la protection de main.

Scope boundaries

La barre de contrôle de la bande-annonce (currentShowTrailerControls) n'est pas touchée : quand
elle est visible, haut/bas/gauche/droite gardent leur rôle de contrôle (pause, avance/recule). Seul
l'aperçu automatique change.

## Résumé FOXA-2241 — une touche de navigation quitte la bande-annonce de la fiche **et agit**. - a020c3639 FOXA-2241 : une touche de navigation quitte la bande-annonce et agit ## Pourquoi Sur une fiche dont la bande-annonce démarre seule, **tout était consommé sauf Retour** : bas, haut, gauche et droite ne faisaient rien. Mesuré sur la box le 2026-09-26 : *« aucun nœud focalisé ; la bande-annonce continue »* — 9 appuis, 9 avalés — pendant que l'écran affichait « Appuyez sur Retour pour quitter la bande-annonce ». Un écran qui explique qu'il ne répondra pas. Le focus n'est **pas** volé par la bande-annonce : elle est dessinée par-dessus, le bouton Lecture le garde derrière. Rendre `false` après avoir arrêté l'aperçu laisse donc l'appui descendre — c'est ce qui distingue « **quitter et agir** » de « quitter, puis appuyer encore ». **Retour et Échap gardent leur rôle** : quitter sans agir. Les confondre avec la navigation ferait d'un « je veux sortir » un « je veux descendre ». ## Ce qui a été mesuré 2 tests : | ce qui est mesuré | comment | |---|---| | les quatre directions sont déclarées, **dans le socle commun** | `ui/focus/TouchesDeNavigation.kt` porte les quatre codes | | l'appui n'est pas consommé | `viewModel.onEvent(OnTrailerEnded)` puis `return@onPreviewKeyEvent false` | ``` ./gradlew :app:testFullDebugUnitTest -Pnuvio.android.distribution=full --tests '*LeDpadQuitteLaBandeAnnonceTest*' BUILD SUCCESSFUL — 2 tests, 0 échec ``` ⚠ **La liste des touches vit dans `ui/focus`, pas dans l'écran** : `PilotageManuelDuFocusTest` compte les gestes de focus **par fichier** et refuse qu'un écran redéfinisse sa lecture des touches. Ma première version l'avait mise dans `MetaDetailsScreen.kt` — le compte est passé de 8 à 12 et le garde a rougi, à raison. Suite complète rejouée : **verte en 8m27s**. detekt : **vert**. ⚠ Le banc mesure la **forme** (l'aperçu est arrêté, l'appui passe). Le geste réel — ouvrir une fiche, attendre la bande-annonce, appuyer bas et atteindre les saisons — demande la box. Porte jouée par la forge : « Porte / porte* » est le seul contexte qu'exige la protection de `main`. ## Scope boundaries La barre de contrôle de la bande-annonce (`currentShowTrailerControls`) n'est pas touchée : quand elle est visible, haut/bas/gauche/droite gardent leur rôle de contrôle (pause, avance/recule). Seul l'**aperçu automatique** change.
FOXA-2241 : une touche de navigation quitte la bande-annonce et agit
All checks were successful
PR Template Check / validate_pr_body (pull_request) Successful in 1s
Porte / porte (pull_request) Successful in 11m12s
a020c36396
Sur une fiche dont la bande-annonce demarre seule, TOUT etait consomme sauf Retour : bas, haut,
gauche et droite ne faisaient rien. L'operateur qui voulait descendre vers les saisons perdait ses
appuis (9 appuis, 9 avales, mesure sur la box le 2026-09-26), pendant que l'ecran affichait
« Appuyez sur Retour pour quitter la bande-annonce » — un ecran qui explique qu'il ne repondra pas.

Le focus n'est PAS vole par la bande-annonce : elle est dessinee par-dessus, le bouton Lecture le
garde derriere. Rendre `false` apres avoir arrete l'apercu laisse donc l'appui descendre — c'est ce
qui distingue « quitter et agir » de « quitter, puis appuyer encore ». Retour et Echap gardent leur
role : quitter sans agir.

La liste des quatre touches vit dans `ui/focus/TouchesDeNavigation.kt` : le garde du pilotage
manuel compte les gestes de focus PAR FICHIER et refuse qu'un ecran redefinisse sa lecture des
touches. Deux tests, dont un qui verifie que l'appui n'est pas consomme.
foXaCe scheduled this pull request to auto merge when all checks succeed 2026-10-18 17:00:39 +02:00
foXaCe merged commit 2359dc388f into main 2026-10-18 18:13:33 +02:00
foXaCe deleted branch passe-20261018-183000-dpadannonce 2026-10-18 18:13:33 +02:00
Sign in to join this conversation.
No reviewers
No labels
montee-majeure
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
foXaCe/NuvioTV!1014
No description provided.