- Remove DeviceRegistry.java (dashboard integration)
- Remove VPS IP from build.gradle
- Remove personal Gitea token from UpdateManager
- Add configurable UPDATE_CHECK_URL for updates
- Clean README to be generic and PR-ready
- Clean update manifests
- Remove Docker files and .env from repo
- Update all channel URLs and event endpoint to streamtp10.com
- Create NetworkUtils for centralized OkHttpClient configuration
- Implement DNS fallback: Google (Primary) -> AdGuard (Secondary) -> System (Tertiary)
- Migrate EventRepository to use NetworkUtils client instead of HttpURLConnection
- Fix Referer header in StreamUrlResolver
- Enable fadeScrollbars=false in RecyclerView
- Improve visibility of scrollbar
fix: Prevent navigation focus escape at end of list
- Implement custom LinearLayoutManager to intercept focus search
- Block FOCUS_DOWN action at the last item
- Remove legacy OnKeyListener and OnScrollListener
## Cambios realizados
- Migración completa de ExoPlayer 2.x a AndroidX Media3 1.5.0
- Actualización de dependencias: media3-exoplayer, media3-ui, media3-session, etc.
- Actualización de imports en PlayerActivity.java
- Actualización del namespace de PlayerView en activity_player.xml
- Incremento de versionCode a 100100 y versionName a 10.1.0
- Actualización de compileSdk y targetSdk a 35 para compatibilidad
- Soporte mejorado para Android TV/Leanback
- Preparación para MediaSession integrado
## Testing
- Compilación exitosa sin errores
- APK generado: StreamPlayer-v10.1.0-Media3-debug.apk
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Updated EventRepository to point to streamtpcloud.com/eventos.json
- Updated ChannelRepository URLs to streamtpcloud.com
- Updated PlayerActivity Origin header
- Bumped version to 10.0.2
- Fixed: Value <! DOCTYPE cannot be converted to JSONArray in EventRepository
- Fixed: Added HTML validation in UpdateManager and DeviceRegistry
- Fixed: Improved HTTP error handling in StreamUrlResolver
- Improved: Error messages in PlayerActivity
- Bumped version to 9.4.3
- Incremented version to 9.4.2 (versionCode: 94200)
- Added custom AlertDialog theme with white text styling
- Enhanced visual consistency for all dialog components
- Improved theme overlay for better readability
- Applied custom styling to update and blocked dialogs
- Better contrast and visual hierarchy in dialogs
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Incremented version to 9.4.1 (versionCode: 94100)
- Added keep screen on functionality during video playback
- Implemented device deletion in dashboard with confirmation
- Enhanced device management with delete capability
- Improved user experience during media playback
- Better device lifecycle management in dashboard
- Added confirmation dialog for device deletion
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Incremented version to 9.2.0 (versionCode: 92000)
- Simplified update dialog buttons: "Actualizar ahora" → "Actualizar"
- Changed "Cerrar aplicación" to "Salir" for better UX
- Maintained security and device management features
- Improved user interface text for better user experience
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Incremented versionCode to 91020 and versionName to 9.1.2
- APK built with Device Registry URL pointing to public IP
- Fixed localhost issue for remote device registration
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Implement DeviceRegistry for remote device management
- Add dashboard for device tracking and blocking
- Remote device blocking capability with admin control
- Support for device aliasing and notes
- Enhanced device management interface
- Dashboard with real-time device status
- Configurable registry URL in build config
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 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>
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>
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>