Skip to content

Migrate Sync Status Screen to Compose - #3923

Open
shobhitagarwal1612 wants to merge 2 commits into
masterfrom
sync
Open

Migrate Sync Status Screen to Compose#3923
shobhitagarwal1612 wants to merge 2 commits into
masterfrom
sync

Conversation

@shobhitagarwal1612

Copy link
Copy Markdown
Member

Towards #1795

Migrates SyncStatusFragment from the legacy XML layout to pure Jetpack Compose.

  • Replace sync_status_frag.xml with SyncStatusScreen composable
  • Convert SyncStatusViewModel from LiveData to StateFlow<SyncStatusState>
  • Convert SyncStatusFragment to a thin ComposeView wrapper
  • Remove unused sync_status_frag.xml and ic_arrow_back.xml
  • Add unit and Compose tests for ViewModel, Screen, and Fragment
Before After
Screenshot_20260908_170219 Screenshot_20260908_171237

@andreia-ferreira PTAL?

- Replace sync_status_frag.xml with pure Compose SyncStatusScreen
- Convert SyncStatusViewModel from LiveData to StateFlow<SyncStatusState>
- Annotate SyncStatusDetail and SyncStatusState with @immutable
- Update SyncListItem parameters and modifiers for Compose idioms
- Remove obsolete XML layout and unused ic_arrow_back.xml drawable
- Update SyncStatusFragment to use ComposeView with DisposeOnViewTreeLifecycleDestroyed
- Add unit and Compose UI tests for SyncStatusViewModel, SyncStatusScreen, and update SyncStatusFragmentTest
@codecov

codecov Bot commented Sep 8, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 63.23529% with 25 lines in your changes missing coverage. Please review.
✅ Project coverage is 69.70%. Comparing base (8b167b3) to head (60b5a88).

Files with missing lines Patch % Lines
...platform/android/ui/syncstatus/SyncStatusScreen.kt 47.61% 20 Missing and 2 partials ⚠️
...oundplatform/android/ui/syncstatus/SyncListItem.kt 71.42% 1 Missing and 1 partial ⚠️
...atform/android/ui/syncstatus/SyncStatusFragment.kt 90.00% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##             master    #3923      +/-   ##
============================================
- Coverage     69.79%   69.70%   -0.09%     
+ Complexity     1987     1984       -3     
============================================
  Files           415      417       +2     
  Lines         11380    11426      +46     
  Branches       1486     1488       +2     
============================================
+ Hits           7943     7965      +22     
- Misses         2670     2692      +22     
- Partials        767      769       +2     
Files with missing lines Coverage Δ
...platform/android/ui/syncstatus/SyncStatusDetail.kt 100.00% <100.00%> (ø)
...dplatform/android/ui/syncstatus/SyncStatusState.kt 100.00% <100.00%> (ø)
...tform/android/ui/syncstatus/SyncStatusViewModel.kt 80.00% <100.00%> (+1.95%) ⬆️
...atform/android/ui/syncstatus/SyncStatusFragment.kt 92.85% <90.00%> (-1.27%) ⬇️
...oundplatform/android/ui/syncstatus/SyncListItem.kt 63.49% <71.42%> (+0.58%) ⬆️
...platform/android/ui/syncstatus/SyncStatusScreen.kt 47.61% <47.61%> (ø)

... and 2 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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.

1 participant