windowinsets.info

How I measure

This site is only useful if you can trust its numbers, so here is exactly where each one comes from and where it stops being reliable.

Current status: 2 of 6 devices have measured inset values. Everything else is shown as pending.

1. Every value has a source tier

  • official – published by Samsung or Google (for example resolution and pixel density on the Samsung Developer site).
  • measured – captured by InsetsProbe on a real device or on Samsung Remote Test Lab. The raw JSON is committed to the repository and linked from the value.
  • community – contributed by someone else and not yet reproduced. Shown with a clear label until a second capture confirms it.

Each source also shows the date it was last checked, and each measurement records the One UI and Android version it was taken on.

2. Why insets must be measured

Samsung publishes screen size, resolution and density, but not status bar height, navigation bar height, cutout geometry or corner radii. Those depend on the device and on the software running on it, so I read them from Android itself instead of estimating.

3. What InsetsProbe reads

InsetsProbe is a small, open-source Android app in this repository. It records:

  • WindowInsets: status bars, navigation bars, system bars, display cutout, caption bar, system gestures, mandatory system gestures, tappable element (px and dp, with and without visibility).
  • DisplayCutout: safe insets, bounding rectangles, waterfall insets.
  • RoundedCorner for all four corners.
  • Foldables: FoldingFeature (state, orientation, occlusion, bounds) and the hinge angle sensor.
  • Device, Android and One UI version, densityDpi next to the device's default density, font scale and navigation mode.

It prints the raw values as JSON. I do not edit these files by hand. You can build the app yourself and reproduce any number.

4. Conditions a measurement is valid for

  • Portrait orientation, app in full screen (no split-screen or pop-up window).
  • Default Display size, Font size and, on Samsung, default Screen resolution. Changing them changes pixels and density, so dp values change too. The capture records densityDpi and defaultDensityDpi, which makes a non-default setting visible.
  • One navigation mode per capture (gesture or 3-button), because bar heights and gesture insets differ between them.
  • Foldables: cover and main screens are captured separately, and the hinge angle is recorded.

dp is computed as px ÷ (densityDpi ÷ 160) and rounded to two decimals.

5. What I never do

  • Estimate or interpolate a value from another device or from resolution alone.
  • Fill a value from a source that cannot be linked.
  • Overwrite a measurement without keeping the earlier capture in the history.

Anything I cannot verify stays visible as pending.

6. Known limitations

  • Values can change with a One UI update. That is why every measurement names its One UI and Android version.
  • Each capture comes from a specific unit and firmware, recorded by model number.
  • Landscape and multi-window modes are not covered yet.
  • Apps can add their own padding or use different window flags, so a real app may see different insets than the raw platform values shown here.

7. Found a mistake, or want to add a device?

Open an issue or a pull request with your InsetsProbe JSON. A capture that reproduces (or contradicts) an existing one is just as valuable as a new device.