Commit graph

8 commits

Author SHA1 Message Date
CrissZollo
74989b3de3 Implement focus restoration for ContentCards in HomeScreen
- Add FocusRequester support to ContentCard component
- Track focused row and item indices in HomeScreen
- Add focus restoration logic to CatalogRowSection
- Wire up focus callbacks to update state on focus changes
- Handle edge cases: item not composed, item no longer exists

Completes focus restoration feature started in f5ead7c7. When
returning from MetaDetailsScreen, focus now restores to the exact
ContentCard that was clicked, not just scroll position.
2026-02-01 23:56:11 +01:00
CrissZollo
95ee3d1350 Fix FilterChip selected state to use teal accent color
- Change selectedContainerColor from gray to teal with 30% alpha
- Change selectedContentColor from gray to teal
- Maintain existing bright teal focus border
- Improves visual distinction between selected/unselected states
2026-02-01 23:53:54 +01:00
CrissZollo
dbf45f982f Add error logging for watch progress data corruption
- Added Android Log error logging in parseProgressMap() catch block
- Logs exceptions when JSON parsing fails to help diagnose data issues
- Prevents silent data loss without notification
- Uses "WatchProgressPrefs" tag for easy filtering in logcat

This will help identify and diagnose watch progress data corruption
issues that were previously failing silently.
2026-02-01 23:29:12 +01:00
CrissZollo
a2cc1c0b69 Fix blocking operations in addon repository
- Replaced blocking map() with flatMapLatest() and flow builder
- Moved network operations to IO dispatcher using flowOn()
- Changed from imperative loop to functional mapNotNull()
- Prevents UI freezing when fetching multiple addons
- Improves responsiveness by running network calls on IO threads

This ensures that addon fetching doesn't block the main thread and
improves performance when loading multiple addons concurrently.
2026-02-01 23:28:35 +01:00
CrissZollo
a5c6dbaa7c Fix potential memory leak in PluginViewModel flow collectors
- 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.
2026-02-01 23:27:55 +01:00
CrissZollo
f5ead7c729 Fix focus restoration when navigating back to home screen
- 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.
2026-02-01 23:27:12 +01:00
CrissZollo
e7ff9185fe Update focus colors to bright teal for better visibility
- 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
2026-02-01 23:25:10 +01:00
tapframe
d9c0381439 Initial commit: NuvioTV as clean branch 2026-02-01 19:56:04 +05:30