Skip to content

fix: keep settings headers visible on Android 10 - #588

Open
mvanhorn wants to merge 1 commit into
ModinMobileSTS:mainfrom
mvanhorn:fix/583-android10-settings-header-rendering
Open

fix: keep settings headers visible on Android 10#588
mvanhorn wants to merge 1 commit into
ModinMobileSTS:mainfrom
mvanhorn:fix/583-android10-settings-header-rendering

Conversation

@mvanhorn

@mvanhorn mvanhorn commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Restore a composition order in FrostedGlassChrome that does not place the header content inside the problematic explicit shadow/haze graphics-layer combination on API 29, preferring the previously working Surface elevation path or an equivalently scoped compatibility fallback while preserving the current shape, border, blur, and configurable background opacity. Keep the fix in this production shared primitive so the existing SettingsRouteScaffold wiring fixes every settings page, including About, without per-route exceptions or a test-only rendering abstraction. Add an Android instrumentation regression test that launches the real settings flow on API 29, opens the non-scrollable About route, captures the screen after navigation settles, and checks for rendered foreground pixels within the accessibility-reported title bounds rather than merely checking that the semantic text node exists. On Android 10 / API 29, the title and subtitle at the top of launcher settings pages briefly render during navigation, then disappear until scrolling invalidates the page; the About page cannot be scrolled, so its header stays missing. The report includes exact navigation steps and device/API details, while a collaborator could not reproduce it on their environment and suspected an Android 10-specific rendering problem. All affected settings routes render their pinned header through SettingsRouteScaffold, which delegates to FloatingGlassHeader and the shared FrostedGlassChrome implementation. Repository history identifies the recent move from Surface elevation to an explicit Modifier.shadow immediately before clip and hazeEffect as the narrow regression boundary for the old-platform graphics-layer behavior.

Testing: On an API 29 emulator, open Settings and then About, wait for navigation/animations to settle, and verify the About title bounds contain contrasting rendered text pixels without any scroll gesture; On API 29, open a scrollable settings category and verify its title remains visibly rendered both before and after scrolling down and returning to the top.

Fixes #583

@Apricityx

Copy link
Copy Markdown
Collaborator

Thank you for your contribution. The review process may take several days, and we will notify you as soon as there are any updates.

Apricityx added a commit that referenced this pull request Aug 3, 2026
@Apricityx
Apricityx force-pushed the main branch 2 times, most recently from ecbf8f3 to 091fcc7 Compare August 5, 2026 12:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Launcher Bug] 部分页面文字显示错误

2 participants