Deteksi Waktu Eksternal

Dari Android 12, Android secara opsional dapat menggunakan sumber waktu eksternal untuk menyarankan waktu epoch 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 sumber 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 saran waktu eksternal sebagai prioritas tertinggi saat menyetel jam sistem. Jika tidak ada 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 ada saran waktu dengan prioritas lebih tinggi yang tersedia, Android menggunakan stempel waktu yang diteruskan ke metode ini untuk menyetel waktu epoch Unix saat ini.