- Replaced three separate flow collectors with a single combined flow
- Prevents potential race conditions and reduces coroutine overhead
- Uses combine() to merge pluginsEnabled, repositories, and scrapers flows
- Single collector updates UI state atomically for all three values
This ensures that flow collection is more efficient and reduces the risk
of memory leaks from multiple concurrent collectors.
- Created HomeScreenFocusState data class to store scroll and focus state
- Added focus state management to HomeViewModel
- Implemented scroll position saving in HomeScreen using DisposableEffect
- Implemented scroll position restoration using LaunchedEffect
- Added horizontal scroll restoration support to CatalogRowSection
- Fixes issue where users lost their place when returning from detail screen
This ensures that when users navigate from HomeScreen -> MetaDetailsScreen
and back, their vertical scroll position and horizontal scroll positions in
catalog rows are properly restored.
- Changed FocusRing from subtle grey (#BDBDBD) to bright teal (#00E5CC)
- Changed FocusBackground from dark grey (#2B2B2B) to dark teal (#1A3D38)
- Changed BorderFocused to match FocusRing for consistency
- Improves focus clarity on Android TV with high contrast colors