الملحق "ج"، الحد الأدنى للإصدار المتوافق لواجهة برمجة التطبيقات الخاصة بالمكوّن الإضافي لواجهة المستخدم في السيارة

من المتوقّع أن تنتقل الشركات المصنّعة للأجهزة الأصلية إلى أحدث إصدار من car-ui-lib-plugin-apis (1.2.0 أو إصدار أحدث) في أقرب وقت ممكن. من المفترض ألا يقدّم مصنّعو المعدات الأصلية أي إضافة تستخدم إصدارًا أقدم.

ما سبب هذا التعديل؟

تتوافق واجهات برمجة التطبيقات Java 8 والإصدارات الأحدث مع إصدارات Android السابقة من خلال إتاحة إزالة التجميل اللغوي لواجهات برمجة التطبيقات Java 8 والإصدارات الأحدث. يتم تجميع عمليات تنفيذ واجهات برمجة التطبيقات غير المتوفّرة في التطبيقات، وتتم إعادة كتابة رمز البايت لحِزم APK للإشارة إلى عمليات التنفيذ بدلاً من المكتبات على النظام الأساسي.

يتطلّب تحميل عمليات تنفيذ المصنّع الأصلي للأجهزة لمكوّنات واجهة المستخدم من مكوّن إضافي لمكتبة Car UI الإشارة إلى الطرق المحدّدة من خلال واجهات car-ui-lib-plugin-apis. تتم الإشارة إلى هذه الطرق من التطبيقات إلى المكوّنات الإضافية في "مكتبة واجهة مستخدم السيارة" أثناء وقت التشغيل، مع توقُّع أن تكون تواقيع الطرق متطابقة في التطبيق وفي عمليات تنفيذ المكوّن الإضافي.

تتيح بعض أنظمة الإنشاء إزالة السكر من واجهة برمجة التطبيقات في جميع الأوقات بسبب متطلبات الحد الأدنى لمستوى حزمة تطوير البرامج (SDK) المحدّد. قد لا تتطابق تواقيع الطرق التي تمت إزالة السكر منها لواجهات car-ui-lib-plugin-apis مع تلك الموجودة في تنفيذ مكوّن إضافي من المصنّع الأصلي للجهاز لم تتم إزالة السكر منه، ما يؤدي إلى تعذُّر تحميل المكوّنات الإضافية.

نتيجةً لذلك، تكون بعض تطبيقات خدمات Google للسيارات (GAS) التي تم تجميعها باستخدام نظام التصميم الداخلي من Google غير متوافقة مع المكوّن الإضافي لمكتبة Car UI Library. لذلك، أزلنا جميع الاعتماديات على واجهات برمجة التطبيقات Java 8 (والإصدارات الأحدث) التي تتطلّب إزالة التجميل اللغوي. يتطلّب هذا التغيير إجراء تعديلات على واجهة برمجة التطبيقات للواجهات المحدّدة من خلال car-ui-lib-plugin-apis.

الخطوات المطلوبة للمكوّنات الإضافية الخاصة بالمصنّع الأصلي للجهاز

اتّبِع الخطوات التالية لتعديل واجهة برمجة التطبيقات:

  1. عدِّل عملية تنفيذ المكوّن الإضافي لاستخدام أحدث إصدار من car-ui-lib-plugin-apis. للحصول على أحدث إصدار (1.2.0 أو إصدار أحدث)، اطّلِع على مستودع Maven من Google.

  2. عدِّل عملية تنفيذ المكوّن الإضافي لتنفيذ واجهة PluginFactoryOEMV4. يتطلّب هذا التغيير الخطوات التالية عند تنفيذ أحد المكوّنات من خلال إضافة المصنّع الأصلي للجهاز. تعديل تنفيذ المصنّع الأصلي للجهاز لما يلي:

    1. شريط الأدوات لتنفيذ ToolbarControllerOEMV2

    2. عناصر قائمة المحتوى، لتوسيع ContentListItemOEMV2

    3. التعامل مع نتائج البحث في محرّك طريقة الإدخال (IME)، لتوسيع ImeSearchInterfaceOEMV2

  3. يجب تحديث التطبيق لاستخدام أحدث إصدار من "مكتبة واجهة مستخدم السيارة".

ماذا يحدث في حال عدم تطبيق هذا التحديث؟

في حال عدم إكمال الخطوات الواردة في هذه الصفحة لمكوّن إضافي خاص بالمصنّع الأصلي للجهاز، لن يتم تحميل عمليات تنفيذ التطبيقات التي تم إلغاء تشويشها، مثل "خدمات Google للسيارات" (GAS)، لمكوّن Car UI Library الإضافي، ولن يتم تطبيق أي عمليات تخصيص من المصنّع الأصلي للجهاز من خلال آلية المكوّن الإضافي.

لا تتأثّر عمليات التخصيص الحالية التي تستخدم ميزة "تراكب الموارد في الوقت الفعلي (RRO)" في "مكتبة واجهة مستخدم السيارة" بهذه المشكلة، وستستمر في العمل كالمعتاد.