Files
sx/library/modules
agra 6e65324f44 ffi 1.27: switch safe-insets call site to sx-side JNI implementation
`AndroidPlatform.safe_insets` now reaches into the JVM through the
sx helpers from 1.25 + 1.26 instead of the C `sx_android_query_safe_insets`
foreign call:

  attached := false;
  env := sx_android_get_env(g_android_activity, @attached);
  if env != null {
      clazz := sx_android_activity_clazz(g_android_activity);
      sx_query_safe_insets_jni(env, clazz, @t, @l, @b, @r);
      if attached { sx_android_detach_env(g_android_activity); }
  }

Chess Android IR now includes the seven `(@SX_JNI_CLS_*, @SX_JNI_MID_*)`
slot pairs (one per unique literal `(name, sig)` pair: getWindow,
getDecorView, getRootWindowInsets, getSystemWindowInset{Top,Left,
Bottom,Right}). First call populates each; subsequent calls hit the
cached jmethodID via the 1.17 lazy-init branch.

The C `sx_android_query_safe_insets` body is now unused; left in place
per the plan ("leave the file in place until Phase 2 deletes it").
Chess Android + iOS-sim both compile clean; host 118/119;
cross-compile 3/3.

On-device chess regression is the next checkpoint — the safe-area
behavior is visible: board must sit below the status bar with
correct top inset on a Pixel 7 Pro with notch. Deferred to the next
session (requires APK build + adb install + screencap).
2026-05-19 23:01:23 +03:00
..
2026-05-18 17:40:10 +03:00
2026-05-17 13:49:25 +03:00
2026-05-18 17:40:10 +03:00