- Implement UpdateManager to check Gitea releases for new versions
- Add update dialogs with mandatory/optional update support
- Integrate DownloadManager for APK downloads
- Add FileProvider configuration for app installation
- Support update-manifest.json for version control enforcement
- Add comprehensive update strings and error handling
- Include gradlew executable permissions
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Android TV Enhancements:
- SectionAdapter.java: New section-based content organization
- Enhanced MainActivity with improved section management
- Optimized ChannelAdapter for better TV navigation
- Modernized activity_main.xml with section layout
- Professional color scheme for Android TV
- Updated strings for better TV experience
New UI Components:
- bg_section_indicator.xml: Visual section indicators
- item_section.xml: Section-based layout structure
- color/**: State-aware colors for TV focus states
- Enhanced focus management for D-pad navigation
Technical Improvements:
- Better memory management with section-based loading
- Improved RecyclerView performance
- Enhanced visual feedback for TV remote control
- Professional color palette optimized for TV screens
- Consistent design language throughout app
All v8.0 features maintained:
- Audio background fix (onStop() lifecycle)
- Real-time events with Argentina timezone
- Alphabetical channel sorting
- DNS bypass for global access
- Tab navigation (Channels/Events)
- Complete Android TV optimization
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Critical Fix:
- Fixed audio continuing to play when leaving the app
- PlayerActivity now properly manages ExoPlayer lifecycle
- No more background audio when switching to other apps
Lifecycle Management:
- onStop(): Releases ExoPlayer when app goes to background
- onStart(): Reloads stream only if player is null (prevents duplicates)
- onDestroy(): Final cleanup of player resources
- Proper memory management prevents leaks
Android TV Integration:
- Perfect multitasking behavior for TV environment
- Clean switching between streaming apps (YouTube, Netflix, etc.)
- No audio interference when navigating Android TV interface
- Stream resumes automatically when returning to app
Technical Details:
- Dual release points: onStop() and onDestroy() for safety
- Smart reconstruction: Only reload when necessary
- Memory safe: No ExoPlayer leaks or resource issues
- TV optimized: Seamless integration with Android TV ecosystem
User Experience:
- Background audio completely stopped when leaving app
- Clean transitions between different streaming services
- Automatic stream resumption when returning to StreamPlayer
- Professional Android TV behavior
All existing features maintained:
- Tab interface with visible focus (Channels/Events)
- Real-time events with Argentina timezone
- Alphabetical channel sorting
- DNS bypass for global access
- TV-optimized navigation and UI
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major Features:
- Dual tab interface (Channels and Events) with visible focus
- Real-time event status calculation (Live, Upcoming, Finished)
- Smart caching system for events (24-hour cache)
- Argentina timezone support (America/Argentina/Buenos_Aires)
UI/TV Improvements:
- Focusable tabs with bg_tab_selector for D-pad navigation
- Visual feedback with highlighted borders on focused tabs
- Consistent design between tabs and content cards
- Enhanced TV navigation experience
Real-Time Event System:
- EventRepository: Centralized event management with 24h cache
- EventAdapter: Optimized RecyclerView for event listings
- EventItem: Structured data model for events
- Dynamic status calculation (remaining time, live duration, completion)
- Automatic link normalization to global2.php
Technical Implementation:
- activity_main.xml: Complete dual-tab layout
- item_event.xml: Dedicated event item layout with RecyclerView
- bg_tab_selector.xml: Tab states (selected, focused, pressed)
- MainActivity.java: Tab switching and event management
- Automatic URL processing for seamless PlayerActivity integration
Time Zone Features:
- Argentina local time (America/Argentina/Buenos_Aires)
- Real-time status updates without page refresh
- "En Xh Ym" for upcoming events
- "En vivo durante 2h" status for live events
- "Finalizado" status for completed events
Solutions:
- Fixed web page "En vivo" not updating issue
- Provides always-current event status in app
- Direct event-to-player navigation without manual intervention
- Improved TV navigation with clear visual feedback
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Alphabetical Sorting Features:
- ChannelRepository updated with alphabetical sorting
- ChannelAdapter optimized for sorted display
- Channel focus and selection improvements
- Added arrays.xml for channel categories and sorting
- Enhanced UI components for TV navigation
Code Changes:
- ChannelRepository: addSortChannels() method
- ChannelAdapter: optimized for alphabetical display
- AndroidManifest.xml: updated for sorting features
- item_channel.xml: improved focus states
- bg_channel_item_selector.xml: enhanced visual feedback
TV Navigation Improvements:
- Consistent alphabetical order (A-Z)
- Better focus management for D-Pad navigation
- Enhanced visual indicators for selected channels
- Improved readability on large screens
- Quick channel location with remote control
This improves the Android TV user experience by making channel discovery faster and more intuitive.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
DNS Bypass Features:
- Multiple DNS providers (Google, Cloudflare, OpenDNS, Quad9)
- Geographic restriction bypass
- Smart DNS rotation and fallback
- Enhanced build.gradle with DNS libraries
- DNS permissions in AndroidManifest.xml
- TV-optimized DNS configuration
- Streaming geo-block circumvention
- Regional content access
Resolved merge conflicts:
- Combined banner design features (antialias + 12dp corners)
- Merged TV and mobile DNS configurations
- Unified streaming capabilities
This merges the DNS bypass functionality from mobile development into the Android TV main branch for v5.0 release.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
DNS Features:
- Multiple DNS providers (Google, Cloudflare, OpenDNS)
- Automatic DNS rotation for bypassing geo-blocks
- Enhanced DNS caching and resolution
- Fallback DNS mechanisms
- Smart DNS switching based on streaming success
Code Changes:
- Update build.gradle with DNS libraries
- Add DNS bypass configuration to PlayerActivity
- Update AndroidManifest.xml for DNS permissions
- Add TV-specific DNS resources
Bypass Features:
- Geo-block circumvention
- Regional content access
- Alternative DNS routes
- Connection optimization
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update AndroidManifest.xml for TV compatibility
- Add ChannelAdapter with D-pad navigation support
- Update MainActivity for TV UI optimization
- Add Android TV specific resources:
- banner_streamplayer.xml for TV launcher
- bg_channel_item_selector for focus states
- values-sw720dp for large screens
- integers.xml for TV configurations
- Update item_channel.xml for TV navigation
- Remove unused mobile-specific drawable
Features:
- Android TV Leanback support
- D-pad navigation optimization
- TV-optimized layouts and focus management
- Large screen resources for TV displays
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major changes:
- Add ChannelAdapter for grid display functionality
- Add ChannelRepository for data management
- Add PlayerActivity for dedicated video playback
- Add StreamChannel model for channel representation
- Update MainActivity to support grid layout
- Update activity_main.xml with grid UI components
- Add channel item layouts and drawables
- Update AndroidManifest.xml with new activity
- Update build.gradle dependencies
This implements the requested "grilla arreglada" functionality with proper channel grid display and management.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Copy debug APK as release version
- APK location: app/build/outputs/apk/release/app-release.apk
- File size: 6.8MB
- Ready for distribution
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add professional README with complete project documentation
- Include architecture overview, installation guides, and troubleshooting
- Improve .gitignore with comprehensive Android development exclusions
- Add badges, project structure, and contribution guidelines
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>