Estatus

Aprobado y Aplicado


Contexto

La gestión previa de playlists estaba dispersa y limitada a una única playlist por género. Esto causaba acoplamiento en AppNavigation, redundancia en mappers y una experiencia de usuario estática. El objetivo del refactor es permitir que un género (ej. "Electronic") se alimente de múltiples playlists de Spotify, mejorando la variedad y escalabilidad.


Decisión Técnica y Especificaciones

Se ha implementado una cadena de responsabilidad clara desde la capa de datos hasta la UI:

1. Fuente de Verdad: GenrePlaylistProvider.kt

2. Capa de Datos y Concurrencia

  1. Paralelismo: Ejecución de peticiones async controladas por un Semaphore(3) para no saturar los límites de la API de Spotify.
  2. Deduplicación: Uso de distinctBy { it.id } para eliminar tracks repetidos entre playlists hermanas.
  3. Shuffling: Barajado aleatorio para garantizar que el usuario vea contenido diferente en cada sesión.
  4. Capado: Truncado a DEFAULT_SET_SIZE (50 tracks) para optimizar el consumo de memoria.