Deteksi waktu eksternal

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 asal waktu eksternal, layanan time_detector akan menentukan apakah akan memperbarui jam sistem berdasarkan aturan prioritas waktu otomatis yang dikonfigurasi.

Penerapan

Untuk mendukung deteksi waktu eksternal, Anda harus menerapkan 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 saran waktu eksternal prioritas tertinggi saat menetapkan 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 asal eksternal dikonfigurasi menggunakan config_autoTimeSourcesPriority dalam file konfigurasi dan tidak ada saran waktu prioritas yang lebih tinggi, Android akan menggunakan stempel waktu yang diteruskan ke metode ini untuk menetapkan waktu epoch Unix saat ini.