feat(ui): implement proper edge-to-edge support (Android 15 / targetSdk 35)#357
feat(ui): implement proper edge-to-edge support (Android 15 / targetSdk 35)#357GrakovNe merged 2 commits intoGrakovNe:mainfrom
Conversation
…dk 35) Enable and refine full edge-to-edge rendering across the app in line with Android 15 behavior (targetSdk >= 35). Ensures immersive layouts while preserving correct system bar insets and visual consistency. Changes: - Synchronized light/dark system bar appearance with LissenTheme - Removed hardcoded Modifier.systemBarsPadding() from Scaffolds to allow backgrounds to render edge-to-edge - Applied correct insets handling within LazyColumn content to prevent overlap with status and navigation bars (e.g., LibraryScreen) - Updated custom bottom components (MiniPlayer, NavigationBar) to use proper navigationBarsPadding() instead of fixed height constraints - Adjusted PullRefreshIndicator positioning to avoid overlap with translucent TopAppBars All screens verified for correct inset handling and immersive scroll behavior. Closes #356
DescriptionThis PR fundamentally updates UI layout hierarchies, migrating away from system bar restricted frames and opting into proper edge-to-edge canvases explicitly recommended for targetSdk>=35. All screens will now naturally draw beyond the window overlays, and internal layout bindings ensure UI contents respect gesture navs and status bars. Changes Made
How To Test
|
|
MR couldn't build automatically. Please check it out! |
|
Sorry, I had to revert this MR. (ef2dff9) It introduced multiple UI regressions that are difficult to track and fix individually, which negatively affects overall quality. The issues observed so far: The progress bar in the books and podcasts lists started overflowing beyond the layout bounds. Text color selection in the top bar is broken in dark theme. Title resolution on the Library screen is no longer working correctly. There may be additional issues, but these were sufficient to conclude that the MR needs a more comprehensive approach. The underlying logic should also be covered with tests to prevent similar regressions. Please feel free to reopen the MR once the changes are addressed and ready for review. |
|
Thanks for the quick feedback and for reverting. Apologies for the regressions, I underestimated the side effects of the layout changes. I’ll reproduce the issues (overflow, dark theme text, Library title), fix them incrementally, and rework the edge-to-edge implementation more carefully. |
Enable and refine full edge-to-edge rendering across the app in line with
Android 15 behavior (targetSdk >= 35). Ensures immersive layouts while
preserving correct system bar insets and visual consistency.
Changes:
backgrounds to render edge-to-edge
overlap with status and navigation bars (e.g., LibraryScreen)
proper navigationBarsPadding() instead of fixed height constraints
translucent TopAppBars
All screens verified for correct inset handling and immersive scroll behavior.
Closes #356