Skip to content

Settings Overhaul

Latest

Choose a tag to compare

@ESTRIN217 ESTRIN217 released this 05 Jul 22:45

La arquitectura de configuración ha sido rediseñada desde cero bajo los lineamientos de Material Design 3 Expressive (Outlined), centralizando las preferencias en un ecosistema modular y robusto.

🚀 Características Clave

🛠️ Settings Hub & Modularización

  • Nueva Interfaz Centralizada: Se reemplaza el menú plano por un panel organizado en pantallas dedicadas (Privacy, Backup, Updates, About).
  • Componentes MD3 Expressive: Implementación de un sistema de diseño compartido:
    • SettingsCardGroup (Contenedores con esquinas de 28dp, borde de 1.5dp y elevación tonal).
    • SettingsIconContainer (Contenedores de iconos de 44dp con esquinas de 16dp).
    • SettingsSwitchTile / SettingsListTile (Filas interactivas con chevrons y switches MD3 nativos).

🎨 Personalización y Apariencia

  • Tema Tri-estado: Soporte completo para modo oscuro estructurado mediante el enum DarkModeOption (SYSTEM, OFF, ON).
  • Colores Dinámicos: Switch opcional para activar/desactivar la extracción de color tonal (Android 12+), eliminando el comportamiento anterior de activación forzada.

🌐 Localización Avanzada

  • Selector de Idioma In-App: Soporte nativo para cambio instantáneo entre Sistema, English, Español (Venezuela) y Português (Brasil) mediante Activity.recreate().

🔒 Privacidad y Gestión de Datos

  • Contraseña Maestra: Flujo completo de creación, validación y eliminación con verificación obligatoria de credenciales actuales.
  • Copias de Seguridad Independientes:
    • Local: Migración completa a Storage Access Framework (SAF) para exportar/importar notas y tags en formato estándar JSON.
    • Nube: Reubicación del módulo de sincronización con Google Drive a la pantalla de respaldos.

🔄 Actualizaciones e Información

  • Motor de Actualización: Consulta asíncrona a la API de GitHub Releases con bottom sheet nativo para renderizar las últimas notas de versión.

🛠️ Detalles Técnicos (Developer Changelog)

  • Refactorización de Arquitectura: Desacoplamiento del estado global en tres ViewModels de responsabilidad única (SRP):
    • ThemeViewModel (Estilo, colores dinámicos y localización).
    • BackupViewModel (Persistencia externa y SAF).
    • UpdaterViewModel (Estrategia de red con GitHub).
  • Estructura de Paquetes: Modularización del código UI bajo com.example.ui.settings.
  • Persistencia: Nuevas claves de control añadidas a SharedPreferences (dynamic_colors, dark_mode_option, language, auto_update_check, update_notifications).
  • Optimización de Red: Reutilización de la instancia existente de OkHttp para la verificación de versiones, evitando inyecciones duplicadas.
  • Metadata:
    • versionName: "3.0"
    • versionCode: 2

Full Changelog: v2.0.0...v3.0.0