🎧 OpenTune 1.0.0
🚀 Novedades en OpenTune 1.0.0
🆕 Funciones y Mejoras Principales:
-
🔗 Integración de nuevas APIs:
- Se han añadido nuevas API para mejorar la conectividad y expandir las capacidades de integración con servicios de terceros.
- Mejoras en la gestión de solicitudes HTTP con mayor eficiencia en el manejo de respuestas.
var locale = YouTubeLocale( gl = Locale.getDefault().country, hl = Locale.getDefault().toLanguageTag(), ) var visitorData: String = "CgtsZG1ySnZiQWtSbyiMjuGSBg%3D%3D" var cookie: String? = null set(value) { field = value cookieMap = if (value == null) emptyMap() else parseCookieString(value) } private var cookieMap = emptyMap<String, String>() var proxy: Proxy? = null set(value) { field = value httpClient.close() httpClient = createClient() }
-
🎨 Nuevo diseño de icono:
- Presentamos un nuevo logo y diseño visual para reflejar la evolución de la aplicación. Más moderno y llamativo.
-
🌍 Selector de idioma (Beta):
- Ahora puedes cambiar el idioma de la aplicación directamente desde los ajustes. Soporte inicial para varios idiomas en una interfaz intuitiva.
// List of supported languages and their locale codes val languages = listOf( "Arabic" to "ar", "Belarusian" to "be", "Chinese Simplified" to "zh", "Czech" to "cs", "Dutch" to "nl", "English" to "en", "French" to "fr", "German" to "de", "Indonesian" to "id", "Italian" to "it", "Japanese" to "ja", "Korean" to "ko", "Portuguese, Brazilian" to "pt-BR", "Russian" to "ru", "Spanish" to "es", "Turkish" to "tr", "Ukrainian" to "uk", "Vietnamese" to "vi" ) // State to hold the currently selected language var selectedLanguage by remember { mutableStateOf(languages[0].second) } var expanded by remember { mutableStateOf(false) } // Dropdown expanded state
-
💻 Migración a Kotlin Multiplatform:
- Comenzamos la transición hacia Kotlin Multiplatform, lo que permitirá que OpenTune funcione en más plataformas con una base de código unificada.
- Beneficios clave: mejora en la reutilización de código y reducción del tiempo de desarrollo para múltiples sistemas operativos.
expect fun getPlatformName(): String actual fun getPlatformName() = "Android"
🛠 Mejoras Técnicas:
-
📈 Optimización de rendimiento: Reducción significativa en los tiempos de carga y optimización de la memoria, lo que mejora la experiencia del usuario.
-
🔒 Refactorización de código: Se han aplicado técnicas de clean architecture para mejorar la mantenibilidad y escalabilidad de la aplicación.
// Aplicando Clean Architecture class TrackRepository(private val api: ApiService) { fun getTracks() = api.getLatestTracks() } class TrackViewModel(private val repository: TrackRepository) { val tracks = liveData { emit(repository.getTracks()) } }
-
🛡 Seguridad: Mejoras en la autenticación y encriptación de datos sensibles, proporcionando un entorno más seguro para los usuarios.
🌐 Idiomas Soportados:
- Nuevos idiomas en beta: Español, Francés, Alemán, Portugués, Chino, entre otros.
Fondo del Reproductor:
- **Bug Visual solucionado . #108
General:
🧪 Pruebas Beta:
Estamos probando nuevas características para futuras versiones. ¡Cualquier comentario es bienvenido para ayudarnos a mejorar OpenTune! Si encuentras algún problema, no dudes en abrir un issue en GitHub.
🔗 Contribuye al Proyecto:
Este proyecto es de código abierto. Si deseas contribuir o explorar el código fuente, ¡no dudes en hacer un fork o enviar tus pull requests!