Embedded JitsiMeetView shows status/navigation-bar-sized empty bands (top & bottom) a few seconds after the conference starts, in an edge-to-edge host app (Android 13, SDK 13.1.1)
Description
We embed JitsiMeetView inside a Fragment of a single-activity app that runs edge-to-edge. On some devices, the conference UI shows empty bands at the top and bottom of the screen, roughly the height of the status / navigation bars (~24dp by visual comparison).
The key observation is the timing:
- When the screen first opens (connecting state), the view renders full-bleed — no gaps.
- A few seconds after the conference starts (conference UI mounts), the bands appear at both top and bottom.
This suggests something inside the SDK adjusts insets / safe-area padding (or window flags) at conference-mount time rather than at view creation.
Integration details
- Single-activity architecture; the main Activity implements
JitsiMeetActivityInterface. - Conference is displayed via
JitsiMeetViewinside a Fragment.JitsiMeetActivity.launch(...)is not used. JitsiMeetActivity.addTopBottomInsets(...)is not called by the app.- Edge-to-edge is enabled by the host app via AndroidX
enableEdgeToEdge(). - The conference screen's XML layout sets
fitsSystemWindows="false"; the app sets no extra padding/margins on the container. - Theme does not set
windowOptOutEdgeToEdgeEnforcementorwindowTranslucentNavigation.
Note: the affected device runs API 33, and JitsiMeetActivity is not used — so the addTopBottomInsets path (guarded by SDK_INT >= 35 && targetSdkVersion >= 35) is not involved here. This appears to be a different mechanism.
Reproducibility
Affected device:
- Xiaomi Redmi Note 12 Pro (22101316G), Android 13 (API 33), 1080×2400 @ 440dpi, 3-button navigation
Unaffected device (same build):
- Huawei Mate 20 Lite (SNE-LX1), Android 10 (API 29), 1080×2340 @ 409dpi, 3-button navigation
Environment
org.jitsi.react:jitsi-meet-sdk: 13.1.1 (behavior also observed on earlier versions we tested)- compileSdkVersion / targetSdkVersion: 36 / 36
- Android Gradle Plugin 8.10.0, Gradle 8.11.1
Expected behavior
The conference UI renders edge-to-edge (video full-bleed), with only controls/overlays inset by the system bars — matching how the view renders during the connecting state.
Actual behavior
A few seconds after the conference starts, the entire conference content is inset from the top and bottom by roughly the system bar heights, leaving visible empty bands.
Additional context
- A sanitized screenshot (app content redacted) will be attached in a comment below: it shows a ~24dp white band above the content and a similar band above the navigation bar.
- Question: is there a supported way for embedded hosts (
JitsiMeetViewin a Fragment) to opt out of, or control, the SDK's inset/safe-area handling? - A minimal reproduction sample (single Activity +
enableEdgeToEdge()+JitsiMeetViewin a Fragment) can be provided on request. - Happy to provide additional logs or test builds on request.
Source: jitsi/jitsi-meet