Skip to content

Enable edge-to-edge message list with navigation bar scrim behavior#10541

Open
Gael43 wants to merge 1 commit intothunderbird:mainfrom
Gael43:pr/e2e-message-list
Open

Enable edge-to-edge message list with navigation bar scrim behavior#10541
Gael43 wants to merge 1 commit intothunderbird:mainfrom
Gael43:pr/e2e-message-list

Conversation

@Gael43
Copy link
Copy Markdown

@Gael43 Gael43 commented Feb 15, 2026

Summary

This PR adds edge-to-edge rendering for the message list with a transparent system navigation bar and a bottom scrim behavior adapted to the active navigation mode.

Changes

  • Updated shared Theme2 light/dark themes:
    • android:navigationBarColor is transparent
    • android:windowLightNavigationBar is set per theme
  • Updated BaseActivity:
    • Configures both isAppearanceLightStatusBars and isAppearanceLightNavigationBars
    • Adds protected inset extension points:
      • getContentContainerBottomInset(systemBarsBottom, imeBottom)
      • shouldConsumeRootInsets()
  • Updated MessageHomeActivity:
    • Uses imeBottom for content bottom inset
    • Returns root insets to child views (shouldConsumeRootInsets() = false)
  • Updated message list layout:
    • Added @id/message_list_navigation_bar_scrim as a bottom overlay scrim
  • Updated BaseMessageListFragment:
    • Applies dynamic system-bar padding to the RecyclerView (left/right/bottom)
    • Sizes/positions the bottom scrim from navigation bar insets
    • Detects navigation mode from WindowInsets
    • Gesture navigation: scrim is visible by default, hides on scroll down, reappears on scroll up and at top
    • 3-button navigation: scrim remains visible at all times (opaque bottom area)
    • FAB insets handling uses a single WindowInsets listener with consistent system-bar-aware margins
  • Updated MessageViewFragment:
    • Applies dynamic bottom padding from system bar insets to prevent overlap of bottom actions/content

Manual Validation

  • Light theme: transparent nav bar with readable dark nav icons
  • Dark theme: transparent nav bar with readable light nav icons
  • Gesture navigation:
    • List content scrolls under the bottom system area
    • Scrim visibility follows scroll direction
    • Last list item remains reachable
  • 3-button navigation:
    • Bottom area remains opaque at all times
    • No transparency effect while scrolling
    • FAB remains correctly positioned relative to nav controls
  • Message view:
    • Bottom actions/content are not obscured by the navigation area

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.

2 participants