Deteksi Waktu Eksternal

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.