परिशिष्ट C, कार के यूज़र इंटरफ़ेस (यूआई) प्लग इन एपीआई के साथ काम करने वाला कम से कम वर्शन

OEM को जल्द से जल्द car-ui-lib-plugin-apis के नए वर्शन (1.2.0 या इसके बाद का वर्शन) पर स्विच करना होगा. आदर्श रूप से, ओईएम को ऐसा कोई प्लगिन शिप नहीं करना चाहिए जो पुराने वर्शन का इस्तेमाल करता हो.

यह अपडेट क्यों किया जा रहा है?

Java 8 या इसके बाद के वर्शन वाले एपीआई, Android के पिछले वर्शन पर काम करते हैं. इसके लिए, Java 8 या इसके बाद के वर्शन वाले एपीआई के डिसुगरिंग की सुविधा का इस्तेमाल किया जाता है. लागू न किए गए एपीआई को ऐप्लिकेशन में कंपाइल किया जाता है. साथ ही, APK के बाइट कोड को फिर से लिखा जाता है, ताकि वे प्लैटफ़ॉर्म पर मौजूद लाइब्रेरी के बजाय, लागू किए गए एपीआई को रेफ़रंस करें.

कार की यूज़र इंटरफ़ेस (यूआई) लाइब्रेरी के प्लग इन से, यूज़र इंटरफ़ेस (यूआई) कॉम्पोनेंट के OEM वर्शन लोड करने के लिए, car-ui-lib-plugin-apis इंटरफ़ेस में तय किए गए तरीकों का रेफ़रंस देना ज़रूरी है. ये तरीके, ऐप्लिकेशन से कार की यूज़र इंटरफ़ेस (यूआई) लाइब्रेरी के प्लगिन को रनटाइम में रेफ़रंस देते हैं. ऐसा इसलिए किया जाता है, ताकि ऐप्लिकेशन और प्लगिन के लागू करने के तरीके एक जैसे हों.

कुछ बिल्ड सिस्टम, एपीआई डिसुगरिंग को हमेशा चालू रखते हैं. ऐसा इसलिए, क्योंकि उन्हें एसडीके के किसी खास लेवल की ज़रूरत होती है. ऐसा हो सकता है कि car-ui-lib-plugin-apis इंटरफ़ेस के लिए, डिसुगर किए गए तरीके के सिग्नेचर, ओईएम प्लगिन के ऐसे डिसुगर न किए गए तरीके के सिग्नेचर से मेल न खाएं. इससे प्लगिन लोड नहीं हो पाते.

इस वजह से, Google के इंटरनल बिल्ड सिस्टम के साथ कंपाइल किए गए कुछ GAS ऐप्लिकेशन, Car UI Library प्लगिन के साथ काम नहीं करते. इसलिए, हमने Java 8 (और इसके बाद के वर्शन) के उन सभी एपीआई पर निर्भरता हटा दी है जिनके लिए डिसुगरिंग की ज़रूरत होती है. इस बदलाव के लिए, car-ui-lib-plugin-apis में तय किए गए इंटरफ़ेस के एपीआई को अपडेट करना ज़रूरी है.

ओईएम प्लग इन के लिए ज़रूरी चरण

अपने एपीआई को अपडेट करने के लिए, यह तरीका अपनाएं:

  1. car-ui-lib-plugin-apis के नए वर्शन का इस्तेमाल करने के लिए, प्लगिन को लागू करने के तरीके को अपडेट करें. नया वर्शन (1.2.0 या इससे ऊपर का वर्शन) पाने के लिए, Google की मेवन रिपॉज़िटरी देखें.

  2. PluginFactoryOEMV4 इंटरफ़ेस लागू करने के लिए, प्लगिन को लागू करने का तरीका अपडेट करें. जब OEM प्लगिन किसी कॉम्पोनेंट को लागू करता है, तब इस बदलाव के लिए यह तरीका अपनाना ज़रूरी होता है. ओईएम के इन इंटिग्रेशन को अपडेट करें:

    1. टूलबार, ToolbarControllerOEMV2 को लागू करने के लिए.

    2. कॉन्टेंट की सूची में मौजूद आइटम, जिन्हें ContentListItemOEMV2 तक बढ़ाया जा सकता है.

    3. IME की मदद से खोज के नतीजे दिखाने की सुविधा, ताकि ImeSearchInterfaceOEMV2 को बढ़ाया जा सके.

  3. Car UI Library के नए वर्शन का इस्तेमाल करने के लिए, ऐप्लिकेशन को अपडेट करें.

इस अपडेट को लागू न करने पर क्या होगा?

अगर इस पेज पर दिए गए चरणों को ओईएम प्लगिन के लिए पूरा नहीं किया जाता है, तो Google Automotive Services (GAS) जैसे desugared ऐप्लिकेशन, Car UI Library प्लगिन के इंप्लीमेंटेशन लोड नहीं कर पाते. साथ ही, प्लगिन मैकेनिज़्म के ज़रिए ओईएम के लिए कोई कस्टम सेटिंग लागू नहीं की जाती.

कार की यूज़र इंटरफ़ेस (यूआई) लाइब्रेरी के लिए, RRO में किए गए मौजूदा बदलावों पर इस समस्या का कोई असर नहीं पड़ा है. ये बदलाव पहले की तरह काम करते रहेंगे.