v1.0.2 - Gesture nav support, lint, and test coverage
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