Deteksi waktu eksternal

Mulai Android 12, Android secara opsional dapat menggunakan sumber waktu untuk menyarankan waktu {i>epoch<i} Unix ke Layanan time_detector. Ini bukanlah 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.