refactor: UI common metro boundary [WPB-23495]#4875
Conversation
Codecov Report❌ Patch coverage is
❌ Your patch check has failed because the patch coverage (0.00%) is below the target coverage (80.00%). You can increase the patch coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## develop #4875 +/- ##
===========================================
- Coverage 51.88% 51.87% -0.02%
===========================================
Files 613 614 +1
Lines 21289 21297 +8
Branches 3414 3417 +3
===========================================
+ Hits 11045 11047 +2
- Misses 9223 9226 +3
- Partials 1021 1024 +3
... and 1 file with indirect coverage changes Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
|



https://wearezeta.atlassian.net/browse/WPB-23495
PR Submission Checklist for internal contributors
The PR Title
SQPIT-764The PR Description
Summary
This PR extracts the
core:ui-commonimage asset ViewModel creation path away from Hilt and routes it through a small Metro-compatible ViewModel graph boundary.It is part of the broader incremental Metro migration and keeps the runtime behavior unchanged while removing direct Hilt dependencies from
core:ui-common.Changes
core:ui-common.hiltViewModel<RemoteAssetImageViewModel>()inImageAsset.Remote.paint()with a local Metro ViewModel graph lookup.ImageAssetViewModelFactoryfor constructingRemoteAssetImageViewModel.MetroViewModelGraph/metroViewModelhelper incore:di.ImageAssetViewModelGraphProviderthrough the existing Compose roots:WireActivityCallActivityAppLockActivityFileSizeFormatter, because some existing Hilt ViewModels still inject it whileui-commonno longer owns Hilt wiring.core:ui-common-kmp.Why
core:ui-commonis one of the modules we want to make easier to reuse/migrate toward KMP and Compose Multiplatform. Direct Hilt usage in shared UI utilities blocks that direction and also makes the later Metro migration harder to split into reviewable PRs.This PR keeps Hilt at the app boundary for now, but removes it from the
ui-commonimage loading path.