Mulai Android 12, Android secara opsional dapat menggunakan sumber waktu eksternal untuk menyarankan waktu Unix ke layanan time_detector
. Ini tidak diaktifkan secara default di AOSP.
Asal waktu eksternal memungkinkan produsen perangkat memberikan saran waktu yang sepenuhnya disesuaikan untuk Android. Setelah menerima saran dari asal waktu eksternal, layanan time_detector
menentukan apakah akan memperbarui jam sistem menggunakan aturan prioritas yang dikonfigurasi.
Penerapan
Untuk mendukung deteksi waktu eksternal, produsen perangkat harus mengimplementasikan komponen yang mengirimkan saran waktu eksternal ke layanan time_detector
melalui panggilan API sistem.
Untuk mengonfigurasi asal 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 tersedia saran waktu eksternal yang valid, maka asal berikutnya, gnss
dalam hal ini, 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 tersedia saran waktu dengan prioritas lebih tinggi, Android akan menggunakan stempel waktu yang diteruskan ke metode ini untuk menyetel waktu Unix saat ini.