• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In
Build has been canceled!

kivy / kivy / 30072869306 / 1
60%
master: 60%

Build:
DEFAULT BRANCH: master
Ran 24 Jul 2026 06:48AM UTC
Files 346
Run time 7s
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

24 Jul 2026 06:38AM UTC coverage: 58.723% (-1.5%) from 60.182%
30072869306.1

push

github

web-flow
Remove remaining python-for-android android module usage from Kivy core (#9346)

* 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
of a direct jnius r... (continued)

3137 of 6498 branches covered (48.28%)

28806 of 49054 relevant lines covered (58.72%)

0.59 hits per line

Source Files on job 30072869306.1
  • Tree
  • List 346
  • Changed 49
  • Source Changed 8
  • Coverage Changed 48
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 30072869306
  • 57083705 on github
  • Prev Job for on master (#30072791444.2)
  • Next Job for on master (#30202678850.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