Mulai Android 12, Android dapat secara opsional menggunakan sumber waktu eksternal untuk menyarankan waktu epoch Unix ke layanan Time Detector. Fitur ini tidak diaktifkan secara default di AOSP.
Asal waktu eksternal memungkinkan Anda memberikan saran waktu yang sepenuhnya kustom ke Android. Setelah menerima saran dari sumber waktu eksternal, layanan
time_detector
akan menentukan apakah akan memperbarui jam sistem berdasarkan
aturan prioritas waktu otomatis yang dikonfigurasi.
Implementasi
Untuk mendukung deteksi waktu eksternal, Anda harus mengimplementasikan komponen yang mengirimkan saran waktu eksternal ke layanan time_detector
melalui panggilan API sistem.
Untuk mengonfigurasi origin eksternal, gunakan file konfigurasi server sistem core/res/res/values/config.xml
. Tambahkan nilai external
ke
config_autoTimeSourcesPriority
.
Contoh berikut memberi tahu Android untuk memberikan prioritas tertinggi pada saran waktu eksternal saat menyetel jam sistem. Jika tidak ada saran waktu eksternal yang valid, asal berikutnya, dalam hal ini gnss
, akan digunakan:
<string-array name="config_autoTimeSourcesPriority">
<item>external</item>
<item>gnss</item>
</string-array>
Untuk memberikan saran waktu eksternal kepada sistem, gunakan metode
suggestExternalTime
di TimeManager
. Jika asal eksternal dikonfigurasi menggunakan config_autoTimeSourcesPriority
dalam file konfigurasi dan tidak ada saran waktu dengan prioritas yang lebih tinggi, Android akan menggunakan stempel waktu yang diteruskan ke metode ini untuk menyetel waktu epoch Unix saat ini.