Pustaka pihak ketiga ini menghadirkan tema Material You Android 12 ke aplikasi apa pun

Ingin mengintegrasikan fitur tema dinamis Material You di aplikasi Anda? Pustaka ini memungkinkan Anda menambahkannya bahkan di perangkat yang lebih lama dari Android 12.

Materi Anda adalah revisi terbaru dari bahasa desain Google. Dengan Material You, Google menekankan personalisasi, itulah alasannya Android 12, ada sistem tema dinamis baru yang mewarnai ulang UX Anda menggunakan warna diekstraksi dari wallpaper Anda. Sistem tema dinamis ini, diberi nama kode "monet", ditayangkan di Android 12 Beta 2, namun Google belum mendokumentasikan API/implementasinya, menyediakan pustaka dukungan, atau membuka Google Play untuk memublikasikan aplikasi yang menargetkan API level 31 (Android 12), sehingga sebagian besar pengembang bahkan tidak perlu repot-repot mengadaptasi aplikasi mereka untuk mendukung tema dinamis sistem.

Itu tidak berarti demikian TIDAK pengembang sedang mempermainkan sistem tema Android 12. Pengembang aplikasi otomatisasi populer Tasker telah mendemonstrasikan dukungan tema dinamis di aplikasinya menggunakan API resmi Android 12. Di sisi lain, pengembang lain, kdrag0n,

menciptakan kembali sistem secara keseluruhan menggunakan algoritma ekstraksi warna dan pembuatan paletnya sendiri. Kdrag0n membagikan kode sumber untuk mesin temanya dan sedang mengerjakan pustaka Jetpack Compose dan Flutter sehingga aplikasi pihak ketiga yang dibuat untuk versi OS lama dapat menerapkan pendapatnya tentang "monet".

Sekarang, Pengembang yang Diakui XDA Quinny899 telah membuat perpustakaannya sendiri yang didasarkan pada implementasi "monet" khusus kdrag0n (mis. dia bukan berdasarkan mesin tema Google). Pengembang dapat mengintegrasikan pustaka MonetCompat ini ke dalam aplikasi mereka untuk menambahkan dukungan untuk menentukan tema UI aplikasi mereka secara dinamis berdasarkan wallpaper pengguna. Pustaka ini berfungsi pada perangkat yang menjalankan Android 5.0 dan lebih tinggi (menggunakan Palette API dalam mode kompatibilitas) dan Android 8.1 Oreo dan lebih tinggi dalam mode normal. Pustaka tidak dapat mengekstrak warna dari wallpaper hidup pada versi sebelum Android 8.1 karena keterbatasan pada API platform.

Mengenai alasan pengembang mungkin ingin menggunakan perpustakaan ini, Quinny899 sendiri menjelaskannya di halaman GitHub proyek tersebut. “Saat ini juga belum diketahui apakah Google akan menyediakan perpustakaan kompatibilitas mundur mereka sendiri untuk Monet dengan rilis Android 12, sehingga perpustakaan ini mungkin akan digantikan oleh perpustakaan resmi pada akhirnya. Tidak ada kode kepemilikan Google yang digunakan dalam proyek ini, sehingga dilisensikan dengan lisensi MIT untuk digunakan dalam aplikasi pihak ketiga."

Aplikasi pertama yang menggunakan MonetCompat, tentu saja, adalah aplikasi DarQ milik Quinny899. DarQ adalah aplikasi yang memungkinkan Anda mengubah pengaturan mode gelap paksa Android berdasarkan per aplikasi. Dia awalnya menggunakan akses root untuk mengatur properti sistem tetapi tadinya diperbarui untuk menggunakan skrip shell ADB yang dijalankan di PC pengguna, sehingga menghilangkan persyaratan root. Di DarQ 2.0, pengguna tidak lagi harus menjalankan skrip ADB dari PC mereka, karena aplikasi sekarang terintegrasi Shizuku. Shizuku adalah aplikasi dan layanan yang memungkinkan aplikasi lain menjalankan perintah shell atau mengakses API dengan hak pengguna shell ADB - anggap saja sebagai aplikasi manajemen pengguna super tetapi untuk akses shell ADB. Di Android 11+, layanan Shizuku dapat dimulai melalui fitur debugging nirkabel bawaan, sehingga Anda tidak lagi memerlukan PC sama sekali untuk menyiapkan DarQ. Dengan perpindahan ke Shizuku, DarQ kini juga menggunakan ProcessObserver daripada AccessibilityService, yang mana pengembang mengatakan memungkinkan DarQ mendeteksi ketika aplikasi telah dibuka (dan dengan demikian menerapkan pengaturan paksa gelap) lebih banyak lagi dengan cepat.

Jika, karena alasan apa pun, Anda tidak menyukai warna yang dihasilkan oleh MonetCompat untuk aplikasi DarQ, Anda dapat mengetuk "DarQ 2.0" tiga kali untuk mengaktifkan Opsi Pengembang di aplikasi. Di sini, Anda dapat memilih "Monet Color Picker" untuk mengubah warna yang Anda inginkan untuk digunakan aplikasi.

Log perubahan DarQ 2.0

  • DarQ 2.0 memiliki desain yang benar-benar baru, dengan elemen Material You dan warna Monet (berbasis wallpaper).
  • Skrip ADB sekarang hilang, dan sebagai gantinya Shizuku menangani layanan pada perangkat non-root. Jika Anda tidak tahu apa itu Shizuku, anggap saja seperti aplikasi Pengguna Super untuk perangkat non-root. Mulai Shizuku melalui ADB di komputer (atau bahkan di ponsel Anda yang menjalankan Android 11 dan lebih tinggi) satu kali setiap boot, dan aplikasi apa pun yang menggunakan Shizuku dapat menggunakan layanan ADB.
  • Layanan Aksesibilitas telah diganti dengan ProcessObserver, menggunakan layanan Shizuku/Root. Ini jauh lebih cepat daripada Aksesibilitas, sehingga aplikasi yang sebelumnya dibuka terlalu cepat untuk didukung kini dapat berfungsi.
  • Perbaikan pada tema gelap otomatis saat matahari terbit/terbenam agar berfungsi lebih baik di berbagai perangkat.
  • Penyempurnaan pada modul Xpose untuk aplikasi yang mencoba memblokir penggunaan force dark, sehingga mencegahnya melakukan hal tersebut.

Baca selengkapnya

Utas Forum DarQ XDA ||| Perpustakaan MonetCompat di GitHub