0.1.0-2-beta.1.fix.4
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/development/007-ANDROID_JNI_BRIDGE.md -->
|
||||
<!-- version: 2 -->
|
||||
<!-- version: 3 -->
|
||||
|
||||
# Bridge Java/JNI Android
|
||||
|
||||
@@ -14,7 +14,7 @@ L'input tactile de base ne passe pas par JNI : SDL3 fournit directement les év
|
||||
La baseline expose un unique appel Java vers Rust :
|
||||
|
||||
```text
|
||||
NativeBridge.nativeContractVersion() -> 2
|
||||
NativeBridge.nativeContractVersion() -> 3
|
||||
```
|
||||
|
||||
`SaseGameActivity` vérifie ce contrat après `SDLActivity.onCreate()`.
|
||||
@@ -48,17 +48,14 @@ Si un futur service nécessite de manipuler réellement `JNIEnv`, il devra faire
|
||||
|
||||
## Back Android
|
||||
|
||||
Le contrat v2 ajoute un pont Java/JNI explicite pour Back :
|
||||
Back n'est pas une commande JNI du jeu pour la launcher Activity racine.
|
||||
|
||||
Sur Android 16 / API 36+, `SaseGameActivity` enregistre uniquement un observer :
|
||||
|
||||
```text
|
||||
SaseGameActivity
|
||||
-> NativeBridge.requestPlatformBack()
|
||||
-> nativeRequestPlatformBack()
|
||||
-> engine-v1-sdl::request_platform_back()
|
||||
-> EngineGame::quit_requested(QuitSource::PlatformBack)
|
||||
OnBackInvokedDispatcher.PRIORITY_SYSTEM_NAVIGATION_OBSERVER
|
||||
```
|
||||
|
||||
Sur API 33+, `SaseGameActivity` enregistre un `OnBackInvokedCallback`.
|
||||
Sur les versions antérieures, `onBackPressed()` reste le fallback.
|
||||
Cet observer écrit un événement logcat mais ne consomme pas la navigation. Android conserve donc son comportement système, notamment le Back-to-home et son animation prédictive.
|
||||
|
||||
Cette voie remplace la dépendance au mapping variable du bouton Back vers `SDL_SCANCODE_AC_BACK`.
|
||||
Le moteur SDL conserve parallèlement la prise en charge de `AcBack` lorsqu'une plateforme SDL produit réellement cet événement.
|
||||
|
||||
Reference in New Issue
Block a user