Enable edge-to-edge message list with navigation bar scrim behavior by Gael43 · Pull Request #10541 · thunderbird/thunderbird-android

Skip to content

Navigation Menu

Sign in

Appearance settings

Conversation

@Gael43

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

2 participants

@Gael43 @dani-zilla