Skip to content

v1.0.2 - Gesture nav support, lint, and test coverage

Choose a tag to compare

@github-actions github-actions released this 16 Feb 15:55
· 155 commits to main since this release

KeyJawn branding graphic

Build

What's new

Gesture navigation support

The keyboard now detects phones using gesture navigation (the swipe bar instead of 3-button nav) and adds bottom padding so keys don't overlap with the system IME icons. Includes a fallback for API 30+ where insets may not fire in the IME window context. No change on 3-button nav devices.

Android Lint in CI

Lint now runs on every build and PR for both flavors. NewApi and MissingPermission are fatal — if someone accidentally calls an API without a version guard or forgets a permission declaration, the build fails. A baseline file captures existing warnings so they don't block development.

Expanded test coverage

57 new unit tests across 5 test files:

  • AltKeyMappings — accented character mappings, number-to-symbol shifts, uppercase derivation
  • ThemeManager — persistence, distinct colors per theme, OLED pure black, invalid theme fallback
  • ExtraRowManager — ctrl state wiring, esc/tab key event dispatch, layout button existence
  • NumberRowManager — digit sends, long-press shifted symbols
  • MenuPanel — show/hide/toggle, list population, lite flavor upgrade tooltip

Total test count: 214 (up from 157).

Downloads

File Description
app-lite-release.apk Free version (GitHub)
Full version Available via keyjawn.amditis.tech ($4, includes all features)

Full changelog: v1.0.1...v1.0.2