পরিশিষ্ট সি, কার UI প্লাগইন API-এর জন্য ন্যূনতম সামঞ্জস্যপূর্ণ সংস্করণ

OEM-দের যত দ্রুত সম্ভব car-ui-lib-plugin-apis এর নতুনতম সংস্করণে (১.২.০ বা তার চেয়ে উচ্চতর) স্থানান্তরিত হওয়ার কথা। আদর্শগতভাবে, OEM-দের পুরোনো সংস্করণ ব্যবহার করে এমন কোনো প্লাগইন সরবরাহ করা উচিত নয়।

এই আপডেট কেন?

জাভা ৮+ এপিআই ডিসুগারিং সাপোর্টের মাধ্যমে অ্যান্ড্রয়েডের পূর্ববর্তী সংস্করণগুলোতে জাভা ৮+ এপিআইগুলো সমর্থিত হয়। অনুপস্থিত এপিআইগুলোর ইমপ্লিমেন্টেশন অ্যাপে কম্পাইল করা হয় এবং প্ল্যাটফর্মের লাইব্রেরির পরিবর্তে ইমপ্লিমেন্টেশনগুলোকে রেফারেন্স করার জন্য এপিকে-র বাইট কোড নতুন করে লেখা হয়।

একটি কার UI লাইব্রেরি প্লাগইন থেকে UI কম্পোনেন্টগুলির OEM ইমপ্লিমেন্টেশন লোড করার জন্য car-ui-lib-plugin-apis ইন্টারফেস দ্বারা সংজ্ঞায়িত মেথডগুলি রেফারেন্স করার প্রয়োজন হয়। এই মেথড রেফারেন্সগুলি রানটাইমে অ্যাপ থেকে কার UI লাইব্রেরি প্লাগইনগুলিতে করা হয়, এই প্রত্যাশায় যে অ্যাপ এবং প্লাগইন ইমপ্লিমেন্টেশনে মেথড সিগনেচারগুলি অভিন্ন হবে।

কিছু বিল্ড সিস্টেম একটি নির্দিষ্ট ন্যূনতম SDK স্তরের প্রয়োজনীয়তার কারণে সর্বদা API ডিসুগারিং সক্রিয় রাখে। car-ui-lib-plugin-apis ইন্টারফেসের ডিসুগার করা মেথড সিগনেচারগুলো, ডিসুগার না করা কোনো OEM প্লাগইন ইমপ্লিমেন্টেশনের সিগনেচারের সাথে নাও মিলতে পারে, যার ফলে প্লাগইনগুলো লোড হতে ব্যর্থ হয়।

ফলস্বরূপ, গুগলের অভ্যন্তরীণ বিল্ড সিস্টেম দিয়ে কম্পাইল করা কিছু GAS অ্যাপ কার UI লাইব্রেরি প্লাগইনের সাথে সামঞ্জস্যপূর্ণ নয়। তাই, আমরা জাভা ৮ (এবং উচ্চতর) এপিআই-এর উপর থেকে সমস্ত নির্ভরতা সরিয়ে দিয়েছি যেগুলোর জন্য ডিসুগারিং প্রয়োজন। এই পরিবর্তনের জন্য car-ui-lib-plugin-apis দ্বারা সংজ্ঞায়িত ইন্টারফেসগুলোর এপিআই আপডেট করা প্রয়োজন।

OEM প্লাগইনগুলির জন্য প্রয়োজনীয় পদক্ষেপ

আপনার API আপডেট করতে এই ধাপগুলো অনুসরণ করুন:

  1. car-ui-lib-plugin-apis এর সর্বশেষ সংস্করণ ব্যবহার করার জন্য প্লাগইন ইমপ্লিমেন্টেশনটি আপডেট করুন। সর্বশেষ সংস্করণ (১.২.০ বা তার বেশি) পেতে, গুগলের মেভেন রিপোজিটরি দেখুন।

  2. PluginFactoryOEMV4 ইন্টারফেসটি প্রয়োগ করার জন্য প্লাগইন ইমপ্লিমেন্টেশনটি আপডেট করুন। যখন কোনো কম্পোনেন্ট OEM প্লাগইন দ্বারা ইমপ্লিমেন্ট করা হয়, তখন এই পরিবর্তনের জন্য নিম্নলিখিত পদক্ষেপগুলি প্রয়োজন। এর OEM ইমপ্লিমেন্টেশন আপডেট করুন:

    1. টুলবার, ToolbarControllerOEMV2 বাস্তবায়ন করার জন্য।

    2. কন্টেন্ট তালিকার আইটেমসমূহ, যা ContentListItemOEMV2 সম্প্রসারিত করে।

    3. ImeSearchInterfaceOEMV2 সম্প্রসারিত করার জন্য IME অনুসন্ধানের ফলাফল পরিচালনা।

  3. কার ইউআই লাইব্রেরির সর্বশেষ সংস্করণটি ব্যবহার করতে অ্যাপটি আপডেট করুন।

এই আপডেটটি প্রয়োগ না করা হলে কী হবে?

কোনো OEM প্লাগইনের জন্য এই পৃষ্ঠায় প্রদত্ত ধাপগুলো সম্পন্ন না করা হলে, Google Automotive Services (GAS)-এর মতো ডিসুগার্ড অ্যাপগুলো Car UI Library প্লাগইনের ইমপ্লিমেন্টেশন লোড করতে ব্যর্থ হয় এবং প্লাগইন মেকানিজমের মাধ্যমে কোনো OEM কাস্টমাইজেশন প্রয়োগ করা হয় না।

কার UI লাইব্রেরির জন্য বিদ্যমান RRO কাস্টমাইজেশনগুলো এই সমস্যার দ্বারা প্রভাবিত হয় না এবং যথারীতি কাজ করতে থাকে।