• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

kivy / kivy / 30008832315 / 1
60%
master: 60%

Build:
DEFAULT BRANCH: master
Ran 23 Jul 2026 01:02PM UTC
Files 345
Run time 9s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

23 Jul 2026 12:53PM UTC coverage: 58.367% (+0.4%) from 58.01%
30008832315.1

push

github

web-flow
kivy.mobile Android backend for Window geometry, metrics scaling, and keyboard input type (#9345)

* kivy.mobile: add Android backend for window/display geometry

Implement the Android platform backend for kivy.mobile using jnius,
exposing DPI, scale, keyboard height, safe area, display cutout and
system-bar insets. The backend:

* is import-safe off-device and on API < 30 (jnius imports and
  WindowInsets.Type resolution are guarded/lazy), degrading to
  zeros/None with a single warning instead of failing to import;
* uses DisplayMetrics.density (not scaledDensity) for scale so the
  user's font scale is not double-counted;
* documents the per-feature Android API-level requirements;
* drives keyboard-height updates by polling the IME inset from a Kivy
  Clock tick, with the polling-vs-listener rationale documented inline;
* logs (rather than silently swallows) exceptions raised by
  keyboard-height subscribers while keeping subscribers isolated.

* kivy.core.window: source mobile keyboard height and safe area from kivy.mobile

Route Window.keyboard_height through kivy.mobile.get_keyboard_height()
for both Android and iOS, and subscribe to kivy.mobile keyboard-height
updates. Refresh Window.safe_area on both size and rotation changes
(Android orientation changes arrive as window resizes, not rotation
property changes), with a next-frame refresh so an early null inset read
does not stick at zero, and without swallowing errors raised by
on_safe_area observers.

* kivy.mobile: add test suite for the Android backend

Exercise android.py's real reflection paths through a fake jnius harness:
metric reads, keyboard-height polling and change notification, safe-area
unioning of system bars and display cutout, graceful degradation
off-device and on API 29, subscription idempotence, and isolation of a
raising keyboard-height subscriber.

* kivy.metrics: source fontscale from kivy.mobile

Route Metrics.fontscale through kivy.mobile like dpi and density, instead
o... (continued)

3128 of 6505 branches covered (48.09%)

28516 of 48856 relevant lines covered (58.37%)

0.58 hits per line

Source Files on job 30008832315.1
  • Tree
  • List 345
  • Changed 10
  • Source Changed 6
  • Coverage Changed 10
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 30008832315
  • ceb47fd5 on github
  • Prev Job for on master (#29254728594.1)
  • Next Job for on master (#30009088541.1)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc