# Alertes Play Console — diagnostic & correctifs proposés

> Date : 2026-06-21 · Release concernée : v1.0.0 (versionCode 4), « en cours d'examen »
> Statut : **documenté, non corrigé** (décision : traiter à une prochaine release)
> Nature des deux alertes : **recommandations non bloquantes** (pas de rejet de l'appli)

---

## Alerte 1 — APIs/paramètres edge-to-edge obsolètes (Android 15)

### Ce que dit Google
Usage d'APIs dépréciées en Android 15 :
`Window.getStatusBarColor`, `setStatusBarColor`, `getNavigationBarColor`, `setNavigationBarColor`,
`LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES`, `LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT`.

### Vérifié — d'où ça vient (PAS notre code)
Les emplacements cités sont tous du framework / dépendances :

| Emplacement signalé | Origine |
|---|---|
| `com.facebook.react.modules.statusbar.StatusBarModule$setColor` | React Native core (0.81.5) |
| `com.facebook.react.views.view.WindowUtilKt.enableEdgeToEdge` / `statusBarHide/Show` | React Native core |
| `com.swmansion.rnscreens.ScreenWindowTraits.setColor / setNavigationBarColor` | react-native-screens (~4.16.0) |
| `com.google.android.material.bottomsheet.BottomSheetDialog.onCreate` etc. | Material Components (Google) |

Edge-to-edge est **déjà activé** côté projet : `android/gradle.properties` → `edgeToEdgeEnabled=true`.

### Correctif
**Aucun à notre niveau.** Ces APIs sont dépréciées mais fonctionnelles. Le retrait viendra
des montées de version de React Native / Expo (attendu SDK 55+ / RN ultérieur).
→ Action : suivre les upgrades Expo, re-vérifier l'alerte après une montée de SDK. Rien à coder.

---

## Alerte 2 — Restrictions d'orientation / redimensionnement grands écrans (Android 16)

### Ce que dit Google
Deux `<activity ... android:screenOrientation="PORTRAIT">` détectées. À partir d'Android 16,
ces restrictions sont **ignorées** sur grands écrans (tablettes, pliables).

### Vérifié — les deux activités

1. **`com.google.mlkit.vision.codescanner.internal.GmsBarcodeScanningDelegateActivity`**
   - Transitive : `com.google.android.gms:play-services-code-scanner:16.1.0`,
     tirée par **expo-camera** (`node_modules/expo-camera/android/build.gradle:27`).
   - PAS notre déclaration → override possible via manifest merger seulement.

2. **`fr.missioflow.mobile.MainActivity`** ← **notre code**
   - `app.json` → `"orientation": "portrait"`
   - `android/app/src/main/AndroidManifest.xml` → `android:screenOrientation="portrait"`

### Contexte important
Sur **téléphones**, portrait reste respecté (rien ne change pour le terrain).
Sur **grands écrans sous Android 16**, la rotation est forcée par l'OS **quoi qu'on fasse** ;
l'alerte invite surtout à vérifier que l'UI ne casse pas dans ce cas.

### Correctif proposé (si on décide de lever la contrainte un jour)

⚠️ Changement **natif** → **rebuild AAB obligatoire** (versionCode 5), **pas d'OTA**.
⚠️ À ne faire qu'**après avoir testé/adapté l'UI en paysage** (App.tsx, layouts).

1. `app.json` : retirer `"orientation": "portrait"` (ou passer à `"default"`).
2. `android/app/src/main/AndroidManifest.xml` : retirer `android:screenOrientation="portrait"`
   sur `.MainActivity` (sera régénéré par prebuild si on repart d'app.json).
3. Activité MLKit (option, pour faire taire l'autre ligne) — manifest merger :
   ```xml
   <activity
     android:name="com.google.mlkit.vision.codescanner.internal.GmsBarcodeScanningDelegateActivity"
     android:screenOrientation="unspecified"
     tools:replace="android:screenOrientation"
     tools:node="merge" />
   ```
   (Pertinent seulement si on bascule réellement en multi-orientation.)
4. Tester en paysage / tablette, puis rebuild AAB (versionCode 5) + soumission.

### Décision actuelle
App **techniciens terrain pensée téléphone/portrait** → contrainte portrait **assumée**.
Alerte cosmétique non bloquante. Pas de modif tant que le support tablette n'est pas un objectif produit.
