رصد الوقت الخارجي

بدءًا من الإصدار Android 12، يمكن لنظام التشغيل Android استخدام مصدر وقت خارجي اختياريًا لاقتراح أوقات حقبة يونكس على خدمة time_detector. لا يتم تفعيل هذه الميزة تلقائيًا في AOSP.

تسمح مصدر الوقت الخارجي لشركات تصنيع الأجهزة بتقديم اقتراحات مخصّصة بالكامل للوقت إلى Android. بعدتلقّي اقتراحات من مصدر الوقت الخارجي، تحدّد خدمة time_detector ما إذا كان سيتم تعديل ساعة النظام باستخدام قواعد تحديد الأولوية التي تم ضبطها.

التنفيذ

لتفعيل ميزة "رصد الوقت الخارجي"، على المصنّعين تنفيذ ملف برمجي يُرسل اقتراحات الوقت الخارجي إلى خدمة time_detector من خلال طلب بيانات من واجهة برمجة تطبيقات النظام.

لضبط المصدر الخارجي، استخدِم core/res/res/values/config.xml ملف إعدادات خادم النظام. أضِف القيمة external إلى config_autoTimeSourcesPriority.

يطلب المثال التالي من Android منح اقتراحات الوقت الخارجي الأولوية القصوى عند ضبط ساعة النظام. إذا لم يتوفّر اقتراح ينطبق على وقت بدء خارجي، يتم استخدام المصدر التالي، وهو gnss في هذه الحالة.

<string-array name="config_autoTimeSourcesPriority">
        <item>external</item>
        <item>gnss</item>
</string-array>

لتقديم اقتراح وقت خارجي إلى النظام، استخدِم الطريقة suggestExternalTime() في TimeManager. إذا تم ضبط المصدر الخارجي باستخدام config_autoTimeSourcesPriority في ملف الضبط ولم تتوفّر أي اقتراحات وقت ذات أولوية أعلى، يستخدم Android علامة التنسيق الزمني التي تم تمريرها إلى هذه الطريقة لضبط وقت بداية حقبة Unix الحالي.