Mulai Android 12, Android secara opsional dapat 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 produsen perangkat memberikan sugesti waktu
yang sepenuhnya kustom ke Android. Setelah
menerima saran dari asal waktu eksternal, layanan time_detector
akan menentukan apakah akan mengupdate jam sistem menggunakan
aturan prioritas yang dikonfigurasi.
Implementasi
Untuk mendukung deteksi waktu eksternal, produsen perangkat harus menerapkan
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 ke sistem, gunakan
metode
suggestExternalTime()
di TimeManager
. Jika origin eksternal dikonfigurasi menggunakan
config_autoTimeSourcesPriority
dalam file konfigurasi dan tidak ada sugesti waktu
prioritas yang lebih tinggi, Android akan menggunakan
stempel waktu yang diteruskan ke metode ini untuk menetapkan waktu epoch Unix saat ini.