Skip to content

Migrate Sync Status Screen to Compose - #3923

Merged
shobhitagarwal1612 merged 3 commits into
masterfrom
sync
Sep 9, 2026
Merged

Migrate Sync Status Screen to Compose#3923
shobhitagarwal1612 merged 3 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.71%. Comparing base (8b167b3) to head (e2f0f2e).

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.71%   -0.08%     
+ Complexity     1987     1985       -2     
============================================
  Files           415      417       +2     
  Lines         11380    11426      +46     
  Branches       1486     1488       +2     
============================================
+ Hits           7943     7966      +23     
- Misses         2670     2691      +21     
- 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 1 file with indirect coverage changes

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

Comment thread app/src/main/java/org/groundplatform/android/ui/syncstatus/SyncStatusScreen.kt Outdated
@shobhitagarwal1612
shobhitagarwal1612 merged commit 3dc39c8 into master Sep 9, 2026
18 checks passed
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