proomt

Search

Search posts, papers, and topics

All posts

CodeName OneShai Almog3 min readintermediate

We Stopped Waiting for Platform Changes to Find Us

Summary

Codename One added a daily automated scan of Apple and Google deprecation notices, linking each notice to concrete builder artifacts before work is created. The system caught the Android 16 back‑gesture change and enabled a permission‑free ContactPicker, turning policy shifts into repeatable, evidence‑backed patches.

  • A daily scheduled task parses official Apple/Google notices, extracts dates and requirements, and maps them to Codename One builder artifacts.
  • The task identified the Android 16 back‑gesture change, leading to a reflective bridge using OnBackInvokedCallback to preserve back navigation.
  • Implemented a permission‑free ContactPicker that complies with new contacts policies on Android 17 and iOS.
  • Workflow: read notice → extract scope/date → search existing code → reproduce gap → patch → test, ensuring evidence‑backed changes.

Teams maintaining cross‑platform mobile SDKs need early, evidence‑backed detection of platform policy changes to avoid deadline‑driven patches.

6/10

Related reading

  1. Android 17 Without the Last-Minute Scramble

    CodeName One prepared for Android 17 (API 37) by addressing platform changes proactively, including fixing version number parsing and implementing the new system-rendered location button. They also added robust PEM key parsing and explicit task removal to simplify common security operations for app developers.

    CodeName Onecodenameone.com8 min
  2. Rootless Jailbreak Detection: Updating the Signals, Not the Claim

    The blog explains how Codename One updated its iOS jailbreak detector to handle modern rootless jailbreaks (e.g., palera1n, Dopamine). It replaces old file‑system probes with lstat checks, mount scans, and dual‑opinion API calls (libc vs raw syscall) to spot hidden bootstraps and instrumentation. It also reorders package‑manager URL‑scheme probes to prioritize Sileo, adds a background‑resume gate…

    CodeName Onecodenameone.com5 min
  3. Fill an SMS Verification Code Without Reading the Inbox

    Codename One adds a one‑time‑code autofill component that leverages iOS, Android, and browser autofill APIs, eliminating the need for SMS‑reading permissions. The new `PhoneVerification` component handles phone entry, code entry, resend timing, and server callbacks, while the UI uses a single hidden editor to back six visual boxes, improving typing, paste, and accessibility. The post explains the…

    CodeName Onecodenameone.com3 min
  4. VoIP, VPN, and the Build System Behind Them

    Codename One’s new builder pipeline can automatically generate the native plumbing required for VoIP call integration, managed VPN profiles, and packet‑tunnel extensions on iOS and Android. By inspecting which Java packages an app imports, the builder adds the necessary frameworks, entitlements, services, and even a separate signed Network Extension for iOS, letting developers keep their signalin…

    CodeName Onecodenameone.com10 min
  5. Tapjacking Protection: Rejecting Android Touches Behind an Overlay

    Codename One adds tapjacking protection to its Android runtime. It detects fully or partially obscured MotionEvents, offers four policies (OFF, REPORT, BLOCK, STRICT), can block the entire gesture, and on Android 12+ can request the system hide overlay windows. The API is exposed via `DeviceIntegrity.setTapjackingProtection` and a listener for state changes. iOS has no overlay threat, so the feat…

    CodeName Onecodenameone.com3 min