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