github Arturo254/OpenTune 2.0.8

10 hours ago

OpenTune 2.0.8

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

📌 Notas de la Versión 2.0.8


📌 Cambios Principales

🎨 Refactor: Reestructuración de componentes UI y actualización de dependencias

Este cambio introduce una refactorización profunda en los componentes visuales de la app para hacer el código más modular, reutilizable y coherente, además de actualizar librerías y pulir el diseño del reproductor.


🧩 Reestructuración en Items.kt

Se centralizan medidas, opacidades y tamaños mediante:

  • ItemDimensions y ItemAlpha, garantizando consistencia visual en toda la app.

  • Creación de componentes reutilizables y limpios:

    • ThumbnailImage: imagen estandarizada con AsyncImage.
    • PlayButton: botón circular de reproducción con fondo uniforme.
    • DownloadStateIcon: muestra el estado de descarga (completo, en cola o en curso).
    • BadgeIcon y StandardBadges: unifican íconos comunes como “like”, “descargado” o “explícito”.
    • SelectionOverlay: capa visual para ítems seleccionados.

Además:

  • Se simplificaron los Composable principales (SongListItem, AlbumGridItem, ArtistListItem, YouTubeListItem, etc.) reemplazando código repetido con los nuevos componentes.
  • Se extrajo la lógica de descarga de álbumes en la nueva función rememberAlbumDownloadState.
  • Se mejoró la accesibilidad, agregando contentDescription y roles semánticos a los elementos de lista.
Items.kt

🎵 Ajustes visuales en el reproductor

Se optimiza la disposición de elementos en ambas orientaciones:

  • El texto “Reproduciendo desde” ahora se agrupa con la miniatura del álbum para mantener alineación central.
  • Se eliminaron fillMaxSize y statusBarsPadding del componente Thumbnail, delegando el control de diseño al Player.
  • Se ajustaron los márgenes y espaciados para una vista más equilibrada y limpia en el reproductor expandido.
Player.kt  
Thumbnail.kt

⚙️ Actualización de dependencias

Se actualizaron versiones clave para estabilidad y compatibilidad:

  • lifecycle: 2.8.7 → 2.9.4
  • media3: 1.5.1 → 1.8.0
  • materialRipple: 1.9.0-beta02 → 1.9.4
    También se incrementó la versión de la app:
  • versionCode: 121 → 122
  • versionName: 2.0.7 → 2.0.8
gradle/libs.versions.toml  
app/build.gradle.kts

🎧 Refactor: Ajuste de diseño y espaciado en Player

Se reorganiza la interfaz del reproductor para mejorar el espaciado y estructura visual, especialmente al mostrar el título de la cola actual.

  • El texto “Reproduciendo desde” y el título de la cola se movieron fuera del Box principal hacia la Column superior.

  • Se añadió un Spacer de 35.dp para mantener un margen superior consistente y evitar solapamientos.

  • Se ajustaron los márgenes inferiores en secciones del contenido principal y vista de letras.

    Player.kt
    

⚙️ Refactor: Mejora visual de ajustes y eliminación de importación de playlists

Renueva el diseño del perfil en la pantalla de ajustes y elimina la opción de importar playlists desde respaldo.

  • Settings:

    • El avatar ahora mide 96.dp con borde degradado y estado “en línea”.
    • Se rediseña el modo sin sesión, mostrando un logo más grande y el subtítulo “Tu música, sin límites”.
    • El nombre de usuario usa AnimatedContent y se incrementa el padding general.
  • BackupAndRestore:

    • Se elimina la sección “Importar Playlists” (M3U, CSV), ahora movida a otra parte de la app.
    SettingsScreen.kt  
    BackupAndRestore.kt
    

🌐 Refactor: Nuevo selector de idioma con búsqueda integrada

El selector de idioma fue completamente rediseñado con una interfaz más moderna, eficiente y una barra de búsqueda.

  • UI Modernizada:

    • Se reemplazan Cards por Surfaces al estilo Material 3 Expressive.
    • Los idiomas ahora muestran esquinas redondeadas, elevación y badges compactos.
    • Se renombraron los componentes a LanguageItem y CurrentLanguageBadge.
  • Nueva búsqueda:

    • Se añade un SearchBar para filtrar idiomas por nombre o código.
    • Muestra el mensaje “Sin resultados” cuando no hay coincidencias.
  • Optimización:

    • Se reduce la lista de idiomas experimentales y los retrasos de reinicio (de 1200 ms a 800 ms).
    • Se mejora la lógica al limpiar o seleccionar idioma.
    LocaleManager.kt
    

🎶 feat: Mostrar título de cola en Player y mejorar traducciones

Se añade la sección “Reproduciendo desde” en la pantalla del reproductor, mostrando el nombre de la playlist o álbum actual.

  • Animación fluida de entrada/salida y efecto marquee para títulos largos.

  • Nuevas cadenas añadidas y traducidas en:

    values/strings.xml  
    values-es/strings.xml  
    values-pt-rBR/strings.xml
    

👤 Refactor: Rediseño de ArtistScreen y ajustes del reproductor

Rediseño completo de la pantalla de artista con un estilo más moderno inspirado en YouTube Music y nuevos valores por defecto del reproductor.

  • ArtistScreen:

    • Nuevo encabezado “Hero” de 380 dp con imagen completa y degradado múltiple.
    • Avatar circular de 110 dp con sombra flotante.
    • Botones reorganizados (Suscribirse, Aleatorio, Compartir) con colores de contenedor distintos.
    • TopAppBar con transición de transparencia y comportamiento de desplazamiento suave.
  • Player:

    • Alineación de texto por defecto ahora centrada.
    • SliderStyleSQUIGGLY y botones del reproductor → SECONDARY.
    ArtistScreen.kt  
    Player.kt
    

🧩 feat: Añadir dependencias de Glance

Se agregan las librerías glance-appwidget y glance-material3 (v1.1.1) para preparar el soporte de widgets modernos con Jetpack Glance.

build.gradle

feat: Actualización de Material3 y mejora del fondo en letras

Actualiza la versión de Material3 y optimiza el efecto difuminado en el fondo de la pantalla de letras.

  • Dependencia:

    • material3 actualizada de 1.5.0-alpha04 a 1.5.0-alpha07.
  • UI:

    • El blur() se aplica antes de graphicsLayer() para un difuminado más suave.
    • Se incrementa el escalado de fondo de 1.8f a 2.5f.
    Lyrics.kt  
    MainActivity.kt
    

🧹 Refactor: Eliminación de componentes obsoletos

Se eliminan los composables PreferenceGroup y PreferenceCategory, ya sin uso, para limpiar el código.

Preference.kt

📊 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.7...2.0.8


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.