github Arturo254/OpenTune 1.0.0

latest releases: 2.0.4, 2.0.3, 2.0.2-fix...
12 months ago

🎧 OpenTune 1.0.0

OpenTune Icon

🚀 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!


Don't miss a new OpenTune release

NewReleases is sending notifications on new releases.