Mulai Android 12, Android secara opsional dapat menggunakan
sumber waktu untuk menyarankan
waktu {i>epoch<i} Unix ke
Layanan time_detector
. Ini bukan
diaktifkan secara default
di AOSP.
Asal waktu eksternal memungkinkan produsen perangkat menyediakan
saran waktu kustom ke Android. Sesudah
menerima saran dari asal waktu eksternal, layanan time_detector
menentukan apakah akan memperbarui jam
sistem menggunakan metode
aturan prioritas.
Implementasi
Untuk mendukung deteksi waktu eksternal, produsen perangkat harus menerapkan
komponen yang mengirimkan saran waktu eksternal ke time_detector
layanan pelanggan melalui panggilan API sistem.
Untuk mengonfigurasi origin eksternal, gunakan core/res/res/values/config.xml
file konfigurasi server sistem. Tambahkan nilai external
ke
config_autoTimeSourcesPriority
.
Contoh berikut memberi tahu Android untuk memberikan saran waktu eksternal
prioritas tertinggi saat mengatur jam sistem. Jika tidak ada eksternal yang valid
saran waktu tersedia maka asal berikutnya, gnss
dalam hal ini, akan digunakan.
<string-array name="config_autoTimeSourcesPriority">
<item>external</item>
<item>gnss</item>
</string-array>
Untuk memberikan saran waktu eksternal kepada sistem, gunakan
suggestExternalTime()
di TimeManager
. Jika origin eksternal dikonfigurasi menggunakan
config_autoTimeSourcesPriority
dalam file konfigurasi dan tidak lebih tinggi
waktu prioritas yang disarankan, Android menggunakan
stempel waktu yang diteruskan ke metode ini untuk menyetel waktu Unix epoch saat ini.