OpenTune 2.0.6
📌 Notas de la Versión 2.0.6
📌 Cambios Principales
Discord Rich Presence (RPC) y ajustes
UI/UX y preview mejorado
-
Se reemplazó el antiguo
RichPresence
porEnhancedRichPresence
, con:- Gradiente de fondo animado al reproducir música.
- Layout optimizado con mejor tipografía, espaciado e íconos.
- Indicador de “Playing” cuando la canción está activa.
- Avatar del artista sobre la miniatura de la canción con borde limpio.
- Botones de acción (“Listen on YouTube Music”, “Visit OpenTune”) con iconos y mejor disposición.
-
Barra de progreso
EnhancedProgressBar
con 3 estilos (DEFAULT
,SQUIGGLY
,SLIM
), mostrando tiempo actual y total. -
Sección de cuenta rediseñada:
- Icono de Discord grande, cambia de color según estado de login.
- Botón de login ahora es
FilledTonalButton
.
-
Banner informativo superior con color
primaryContainer
y tipografía más clara.
Lógica y preferencias
- Nueva preferencia
SliderStyleKey
para personalizar el estilo de la barra de progreso. - Estado de reproducción (
isPlaying
) y duración de la canción ahora impulsan las animaciones del preview. - Opción
useDetails
(discord_use_details
) permite mostrar título o artista de manera destacada. - Texto clickeable para
stateUrl
ydetailsUrl
.
Refactor de la librería kizzy
- Migración a Kotlin (
src/main/kotlin
) y actualización a Java 21. - Endpoint de proxy de imágenes actualizado.
- Manejo seguro de errores con
runCatching
enApiService
. - Se removió la funcionalidad de subir imágenes, ya no utilizada.
🎨 Preferencias y UI general
Refactor de Preference Components
-
PreferenceEntry
modernizado:- Iconos con fondo tintado y esquinas redondeadas.
- Espaciado y padding mejorados, alineado a Material 3.
- Todo el entry está recortado con esquinas redondeadas.
-
Nuevos composables:
PreferenceGroup
yPreferenceCategory
para agrupar preferencias en tarjetas con título.PreferenceGroupTitle
ya no está en mayúsculas y tiene padding ajustado.
-
EnumPreference
ahora permite personalizar los valores mostrados. -
Animación de tamaño (
animateContentSize
) para transiciones más suaves.
Limpieza de código
- Eliminada la función
logErrorToDownloads
, reemplazada pore.printStackTrace()
. SwitchPreference
movida a paquete comúnui.component
.
🎤 Letras y reproducción de música
ArtistScreen y ArtistSongsScreen
-
ArtistScreen
:- Cabecera estilo YouTube Music, con fondo full-width y overlay degradado.
- Imagen circular del artista y nombre prominente.
- Botones de acción: Subscribe, Shuffle, Share, ahora con estilo consistente y adaptativo.
- TopAppBar transparente solo cuando se está en la parte superior de la lista.
-
ArtistSongsScreen
:- Barra de búsqueda integrada en el TopAppBar.
- Filtrado de canciones por título o artista.
- Multi-selección por long-press, con contador de elementos seleccionados.
- TopAppBar contextual: cambia iconos y acciones según modo (búsqueda o multi-select).
VerticalFastScroller
añadido para listas largas.
Letras
- Mejoras de rendimiento, caché de letras y scroll automático más suave.
- Funcionalidad de compartir como imagen: selección de colores, vista previa en tiempo real y generación de bitmap.
- Modos fullscreen y flotante, con header dinámico y control de back handler.
⚙️ SettingsCategory Composable
-
Nuevo composable
SettingsCategory
para agrupar opciones de configuración con estilo uniforme Material 3. -
SettingsCategoryItem
permite:- Icono, título, descripción, contenido trailing, badges y resaltar elementos.
- Click handlers configurables.
-
Reemplazo de
PreferenceEntry
porSettingsCategory
enSettingsScreen
yChangelogButton
. -
Categorías de configuración más limpias y visualmente consistentes.
🌐 LocaleManager
- Icono de idioma actualizado:
language
→translate
. - Se eliminó el tint dinámico; ahora usa el tint por defecto o heredado del padre.
Otros cambios importantes
- Dependencias actualizadas en
libs.versions.toml
ybuild.gradle.kts
(incluyendo extractor, uiAndroid). - Limpieza general de código y refactors menores en todos los archivos de UI.
- Preparación de la base para futuras integraciones y mejoras en RPC, letras, y theming.
📊 Estadísticas de la Versión:
🤝 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:
- Haz un fork del repositorio: Clona el repositorio para trabajar en mejoras.
- Envía pull requests: Una vez que hayas realizado tus cambios, envía un pull request para que podamos revisar y fusionar tus contribuciones.
- 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.5...2.0.6