github Arturo254/OpenTune 2.0.5

4 hours ago

OpenTune 2.0.5

Logo de OpenTune
Última Versión Licencia PRs Welcome GitHub Stars GitHub Forks Issues

📌 Notas de la Versión 2.0.5


🚀 Mejoras Principales:


📌 Cambios Principales

🎨 Fondo del reproductor (gradientes + contraste de texto)

  • Se creó GradientState y rememberGradientState para manejar colores, contraste de texto e íconos según la portada del álbum.
  • Extracción de colores mejorada con extractGradientColors(): usa cuantización, descarta colores extremos y selecciona los más dominantes.
  • Cálculo automático de colores óptimos (calculateOptimalColors()) para asegurar accesibilidad.
  • Nuevo composable PlayerBackground: maneja animaciones de fondo (BLUR, GRADIENT, DEFAULT) con transiciones suaves.
  • Los colores de controles, títulos, sliders y botones ahora se derivan del gradientState para garantizar contraste consistente.
    Player.kt

🔄 Animaciones y overlays dinámicos

  • Fondos blur y gradiente ahora cambian suavemente con animate*AsState.
  • Se agregó overlay oscuro dinámico para mejorar la legibilidad del texto.
  • Se reestructuró con Box + AnimatedVisibility para mostrar/ocultar capas según expansión del player o letras activas.
    Player.kt

🎶 Letras: caché + compartir como imagen

  • Nuevo lyricsCache con ConcurrentHashMap para guardar letras ya cargadas y reducir llamadas a API/DB.
  • Sincronización mejorada del scroll con animateScrollBy, evitando saltos bruscos.
  • Modos fullscreen y flotante para letras con top bar personalizada.
  • Diálogo de compartir: permite exportar letras como texto o imagen, con color de texto y fondo configurables, más vista previa en tiempo real.
    Lyrics.kt, ShareLyricsDialog.kt, ColorPickerDialog.kt

🎨 Theming dinámico con Material Kolor

  • Implementación de esquemas dinámicos usando material-kolor: genera paletas desde bitmaps de portadas con PaletteStyle.TonalSpot.

  • Integración en Theme.kt con rememberDynamicColorScheme para Compose.

  • Actualización de dependencias clave:

    • Compose 1.9.1
    • Kotlin 2.2.10
    • Hilt 2.55
    • Room 2.7.2
    • Material3 1.3.2
  • Versión de app actualizada a 2.0.5 (117).
    Theme.kt, build.gradle.kts, libs.versions.toml, strings.xml


📱 Pantalla de Backup & Restore

  • UI migrada a Scaffold con TopAppBar y padding correcto.
  • Botones de Backup y Restore ahora se deshabilitan durante subida.
  • URL de archivo subido se muestra en fuente monoespaciada.
  • Manejo de errores más robusto (SecurityException, IOException), con logs más claros y limpieza garantizada del archivo temporal.
  • Back button: navegación segura con fallback si no hay pantalla previa.
  • Tamaño de archivo más preciso usando OpenableColumns.SIZE.
    BackupRestoreScreen.kt

❤️ Botón de "Like" optimista

  • toggleLike actualiza primero el estado local (optimista) y luego sincroniza con el servicio.
  • Si ocurre un error, revierte el estado.
  • El botón cambia a color #E91E63 al estar activo, asegurando feedback inmediato.
    PlayerConnection.kt, Player.kt

🧹 Limpieza y refactors

  • Eliminado ProblemSolver.kt y su ruta en NavigationBuilder.kt (pantalla de ayuda/FAQ).
  • CachePlaylistScreen.kt: corrección de posible NullPointerException.
  • AppearanceSettings.kt: uso de HorizontalDivider en lugar de Divider para alinear con Material3.
  • MainActivity.kt: logging de errores de imágenes más claro.
  • ArtistSongsScreen.kt: se quitó el VerticalFastScroller, ya no disponible en esa vista.
    ProblemSolver.kt, NavigationBuilder.kt, CachePlaylistScreen.kt, AppearanceSettings.kt, MainActivity.kt, ArtistSongsScreen.kt

📝 Formato y consistencia de código

  • Revisión de varios archivos con mejor indentación, saltos de línea y limpieza general.
  • Sin cambios de lógica, solo mejoras de legibilidad y mantenibilidad.
    Varios archivos

👉 En conjunto, estos cambios mejoran accesibilidad, diseño dinámico, rendimiento y experiencia de usuario, además de preparar la base para futuras funciones (compartir letras, theming avanzado, manejo de errores más robusto).


📊 Estadísticas de la Versión:

  • 🔄 Lanzada: Fecha de Lanzamiento
  • 📦 Descargas: Descargas
  • 🛠️ Commits: Commits

🤝 Colaboración de Código Abierto

OpenTune es un proyecto de código abierto y siempre estamos buscando colaboradores para mejorar el proyecto. ¡Tu contribución es bienvenida!

🛠️ Cómo Contribuir:

  1. Haz un fork del repositorio: Clona el repositorio para trabajar en mejoras.
  2. Envía pull requests: Una vez que hayas realizado tus cambios, envía un pull request para que podamos revisar y fusionar tus contribuciones.
  3. Explora y mejora el código fuente: Si encuentras algún error o tienes una idea para mejorar el proyecto, ¡no dudes en compartirla!

📄 Licencia

Este proyecto está bajo la licencia MIT y GPL 3


📝 Registro de Cambios

Full Changelog: 2.0.4...2.0.5


Hecho con amor
OpenTune: Tu música. Tu ritmo. Tu control.

Don't miss a new OpenTune release

NewReleases is sending notifications on new releases.