Release Notes
Major Updates
Adaptive and Responsive UI Overhaul
The app now features a fully adaptive layout that dynamically adjusts to various screen sizes and orientations. Card dimensions, navigation components, and layouts have been reworked to provide a consistent and seamless experience across mobile, tablet, and desktop devices.
- CardDimensions.kt
- Introduced centralized card sizing logic for both portrait and landscape modes.
- Added composable utilities (rememberPortraitCardWidth, rememberLandscapeCardWidth) that automatically adjust based on window size class.
- MainNavigation.kt
- Replaced Scaffold with NavigationSuiteScaffold from material3.adaptive.
- The app now automatically switches between bottom navigation and navigation rail depending on orientation and device width.
- OptimizedHeroCarousel.kt
- Now includes dedicated layouts for portrait and landscape orientations.
- Landscape mode displays metadata and buttons beside the backdrop image for better horizontal utilization.
- Component Updates
- All major composables (HomeScreen, MediaItemCard, ContinueWatchingCard, HomeSections, NextUpSection) now rely on shared dimension functions.
- This ensures a unified and adaptive look across all media sections.
Advanced Theme Customization
A new Theme Settings menu provides multiple display modes, including a high-contrast AMOLED option for OLED screens.
- Introduced a new ThemeMode enum with SYSTEM, LIGHT, DARK, and AMOLED options.
- Updated PreferencesRepository to store and manage theme_mode instead of a simple boolean flag.
- SettingsScreen now offers a dropdown menu for theme selection.
- AFinityTheme.kt applies color schemes dynamically based on the selected mode, including a pure black background for AMOLED.
- Both MainActivity and PlayerActivity now reactively apply theme updates in real time.
Performance and Loading Improvements
Item detail loading has been significantly optimized through concurrent data fetching and better resource handling.
- ItemDetailViewModel
- Uses coroutines with async to fetch item details, related content, and watchlist status in parallel.
- Improved error handling ensures one failed fetch doesn’t block the entire screen.
- Reduced loading times and improved initial screen responsiveness.
- OptimizedHeroCarousel
- Added a semi-transparent black overlay for better contrast.
- Improved auto-scroll logic with refined state checks and efficient derivedStateOf usage.
- Cleanup
- Removed unused KDocs and redundant comments across repositories and utils.
Hero Carousel Animation and Structure Enhancements
The OptimizedHeroCarousel has been refactored for smoother transitions and better modularity.
- Added Crossfade animations to the title, metadata, and genre sections for seamless transitions.
- Component moved to the shared ui.components package for reusability.
- Auto-scroll behavior is now more robust, responding to page changes in real time.
- Adjusted icon sizing in SettingsScreen for visual consistency.
Landscape Layout and Component Consistency
Landscape orientation has been refined for a more cinematic and efficient use of space.
- HomeScreen
- Content rows now offset vertically to overlap partially with the Hero Carousel, improving visual flow.
- HeroCarousel (Landscape)
- Carousel height increased to 95% of screen height.
- Metadata column width adjusted for better balance.
- Action buttons and pager indicators repositioned for consistent visibility.
- Navigation
- NavigationSuiteScaffold now explicitly uses NavigationRail in landscape mode.
- Component Sizing
- Unified card widths and aspect ratios across all detail and recommendation sections.
Simplified Orientation Handling
Removed the obsolete DetailScreenOrientationController, as screen orientation is now managed globally by MainActivity, reducing complexity and redundant code.
Fixes and Minor Improvements
- Improved animation performance and UI responsiveness across key composables.
- Cleaned up redundant imports and comments in utility files.
- Minor visual alignment adjustments to icons and layouts.
- Ensured consistent card sizing and aspect ratios across all UI sections.
Full Changelog: v0.0.6-alpha...v0.0.7-alpha