Skip to content

Conversation

@shamim-emon
Copy link
Collaborator

@shamim-emon shamim-emon commented Dec 31, 2025

Summary

This PR migrates the About screen from an XML-based layout to Jetpack Compose, improving readability, testability, and long-term maintainability while aligning with the project’s gradual adoption of Compose.

Implementation Highlights

  • Replaced the XML layout used by AboutFragment with a Compose-based UI.
  • Added an AboutContract to clearly define UI state and events.
  • Moved UI state and logic into a dedicated ViewModel (AboutViewModel).
  • Added unit tests for AboutViewModel to ensure correct and expected behavior.
  • Refactored the screen to follow an MVI-style architecture.

@shamim-emon shamim-emon requested a review from a team as a code owner December 31, 2025 09:51
@shamim-emon shamim-emon requested a review from wmontwe December 31, 2025 09:51
@shamim-emon shamim-emon changed the title Use Compose Interoperability APIs To Replace XML MaterialTextViews in AboutFragment Convert AboutFragment XML Layout to Jetpack Compose UI Dec 31, 2025
@shamim-emon shamim-emon force-pushed the fix-issue-10309 branch 3 times, most recently from 608e842 to 7b3a453 Compare January 3, 2026 08:41
@shamim-emon shamim-emon changed the title Convert AboutFragment XML Layout to Jetpack Compose UI Modernize AboutFragment UI Using Jetpack Compose Jan 3, 2026
@shamim-emon shamim-emon changed the title Modernize AboutFragment UI Using Jetpack Compose Modernize AboutFragment Using Jetpack Compose Jan 3, 2026
@shamim-emon shamim-emon force-pushed the fix-issue-10309 branch 3 times, most recently from 201f878 to 29b062c Compare January 4, 2026 09:56
@wmontwe wmontwe changed the title Modernize AboutFragment Using Jetpack Compose feat(settings): modernize AboutFragment using Jetpack Compose Jan 7, 2026
Copy link
Member

@wmontwe wmontwe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

I left some comments to use the MainTheme also for spacings and sizes and some small adjustments.

Copy link
Member

@wmontwe wmontwe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@wmontwe wmontwe merged commit c5f1261 into thunderbird:main Jan 8, 2026
13 checks passed
@thunderbird-botmobile thunderbird-botmobile bot added this to the Thunderbird 17 milestone Jan 8, 2026
@shamim-emon shamim-emon deleted the fix-issue-10309 branch January 8, 2026 14:34
@shamim-emon shamim-emon changed the title feat(settings): modernize AboutFragment using Jetpack Compose Modernize AboutFragment using Jetpack Compose Jan 8, 2026
@wmontwe wmontwe changed the title Modernize AboutFragment using Jetpack Compose feat(settings): Modernize AboutFragment using Jetpack Compose Jan 8, 2026
@wmontwe wmontwe changed the title feat(settings): Modernize AboutFragment using Jetpack Compose feat(settings): modernize AboutFragment using Jetpack Compose Jan 8, 2026
@shamim-emon shamim-emon changed the title feat(settings): modernize AboutFragment using Jetpack Compose Modernize AboutFragment using Jetpack Compose Jan 8, 2026
@wmontwe
Copy link
Member

wmontwe commented Jan 8, 2026

@shamim-emon Could you please check why the PR title got changed back?

@shamim-emon shamim-emon changed the title Modernize AboutFragment using Jetpack Compose feat(settings): modernize AboutFragment using Jetpack Compose Jan 8, 2026
@shamim-emon
Copy link
Collaborator Author

@shamim-emon Could you please check why the PR title got changed back?

@wmontwe Fixed the PR title.

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.

Modernize AboutFragment Using Jetpack Compose

2 participants