Esta biblioteca de terceros lleva la temática Material You de Android 12 a cualquier aplicación

¿Quiere integrar la función de temas dinámicos de Material You en su aplicación? Esta biblioteca te permite agregarla incluso en dispositivos anteriores a Android 12.

material usted es la última revisión del lenguaje de diseño de Google. Con Material You, Google enfatiza la personalización, razón por la cual en androide 12, hay un nuevo sistema de temas dinámico que cambia el color de tu UX usando colores extraído de tu fondo de pantalla. Este sistema temático dinámico, cuyo nombre en código es "monet", entró en funcionamiento en Android 12 Beta 2, pero Google aún tiene que documentar las API/implementación, proporcionar bibliotecas de soporte o abrir Google Play para publicar aplicaciones orientadas a API. nivel 31 (Android 12), por lo que la gran mayoría de los desarrolladores ni siquiera se han molestado en adaptar sus aplicaciones para admitir la temática dinámica sistema.

Eso no significa que No Sin embargo, el desarrollador está jugando con el sistema de temas de Android 12. El desarrollador de la

popular aplicación de automatización Tasker ha demostrado compatibilidad con temas dinámicos en su aplicación utilizando las API oficiales de Android 12. Por otro lado, otro desarrollador, kdrag0n, recreó el sistema en su totalidad utilizando su propio algoritmo de extracción de color y generación de paleta. Kdrag0n compartió el código fuente de su motor de temas y está trabajando en una biblioteca Jetpack Compose y Flutter para que las aplicaciones de terceros creadas para versiones anteriores del sistema operativo puedan implementar su versión de "monet".

Ahora, desarrollador reconocido por XDA quinny899 ha creado una biblioteca propia que se basa en la implementación "monet" personalizada de kdrag0n (es decir. es no basado en el motor de temas de Google). Los desarrolladores pueden integrar esta biblioteca MonetCompat en sus aplicaciones para agregar soporte para crear temas dinámicos en la interfaz de usuario de su aplicación según el fondo de pantalla del usuario. Esta biblioteca funciona en dispositivos que ejecutan Android 5.0 y superior (usando Palette API en modo de compatibilidad) y Android 8.1 Oreo y superior en modo normal. La biblioteca no puede extraer colores de fondos de pantalla en vivo en versiones anteriores a Android 8.1 debido a limitaciones en las API de la plataforma.

En cuanto a por qué un desarrollador podría querer utilizar esta biblioteca, el propio Quinny899 lo explica en la página de GitHub del proyecto. "Tampoco se sabe actualmente si Google proporcionará su propia biblioteca de compatibilidad con versiones anteriores para Monet con el lanzamiento de Android 12, por lo que esta biblioteca puede ser reemplazada por una oficial eventualmente. No se utiliza ningún código propietario de Google en este proyecto y, por lo tanto, tiene la licencia MIT para su uso en aplicaciones de terceros".

La primera aplicación que utiliza MonetCompat es, por supuesto, la propia aplicación DarQ de Quinny899. DarQ es una aplicación que te permite alternar la configuración del modo oscuro forzado de Android por aplicación. Él acceso root utilizado originalmente para establecer una propiedad del sistema pero era actualizado para utilizar un script de shell ADB ejecutado en la PC del usuario, eliminando el requisito de root. En DarQ 2.0, los usuarios ya no tienen que ejecutar el script ADB desde su PC, ya que la aplicación ahora se integra Shizuku. Shizuku es una aplicación y un servicio que permite a otras aplicaciones ejecutar comandos de shell o acceder a API con privilegios de usuario de shell ADB; considérelo como una aplicación de administración de superusuario pero para acceso a shell ADB. En Android 11+, el servicio Shizuku se puede iniciar a través de la función de depuración inalámbrica incorporada, por lo que ya no necesita una PC para configurar DarQ. Con el cambio a Shizuku, DarQ ahora también utiliza un ProcessObserver en lugar de un AccessibilityService, que el El desarrollador dice que permite a DarQ detectar cuándo se ha abierto una aplicación (y así aplicar la configuración de forzar oscuridad) mucho más rápidamente.

Si, por alguna razón, no le gusta el color generado por MonetCompat para la aplicación DarQ, puede tocar "DarQ 2.0" tres veces para habilitar las Opciones de desarrollador en la aplicación. Aquí, puede seleccionar "Selector de color de Monet" para cambiar el color que desea que use la aplicación.

Registro de cambios de DarQ 2.0

  • DarQ 2.0 tiene un diseño completamente nuevo, con elementos Material You y colores Monet (basados ​​en fondos de pantalla).
  • El script ADB ya no existe y, en su lugar, Shizuku maneja el servicio en dispositivos que no son root. Si no sabes qué es Shizuku, considéralo como una aplicación de superusuario para dispositivos no root. Inicie Shizuku a través de ADB en una computadora (o incluso en su teléfono con Android 11 y superior) una vez por inicio, y cualquier aplicación que use Shizuku puede usar los servicios ADB.
  • El Servicio de Accesibilidad ha sido reemplazado por un ProcessObserver, utilizando el servicio Shizuku/Root. Esto es mucho más rápido que Accesibilidad, por lo que las aplicaciones que antes se abrían demasiado rápido para ser compatibles ahora pueden funcionar.
  • Mejoras en el tema oscuro automático al amanecer/atardecer para que funcione mejor en diferentes dispositivos.
  • Mejoras en el módulo Xposed para aplicaciones que intentan bloquear el uso de la fuerza oscura, impidiéndoles hacerlo.

leer más

Hilo del foro DarQ XDA ||| Biblioteca MonetCompat en GitHub