এই ডকুমেন্টে ভেন্ডর ইন্টারফেস অবজেক্ট (VINTF অবজেক্ট)-এর ডিজাইন বর্ণনা করা হয়েছে, যা কোনও ডিভাইস সম্পর্কে প্রাসঙ্গিক তথ্য একত্রিত করে এবং সেই তথ্য কোয়েরি করা যায় এমন API-এর মাধ্যমে উপলভ্য করে।
VINTF অবজেক্ট ডিজাইন
VINTF অবজেক্ট, ডিভাইস থেকে সরাসরি প্রয়োজনীয় কিছু তথ্য সংগ্রহ করে। ম্যানিফেস্টের মতো অন্যান্য বিষয়গুলি XML-এ স্ট্যাটিক হিসেবে বর্ণনা করা হয়।
ছবি ১. ম্যানিফেস্ট, কম্প্যাটিবিলিটি ম্যাট্রিক্স ও রানটাইম-কালেক্টেবল তথ্য।
VINTF অবজেক্ট ডিজাইন ডিভাইস ও ফ্রেমওয়ার্ক কম্পোনেন্টের জন্য নিম্নলিখিত সুবিধা প্রদান করে:
| ডিভাইসের জন্য | ফ্রেমওয়ার্কের জন্য |
|---|---|
|
|
VINTF অবজেক্টকে নির্ভরযোগ্য হতে হবে এবং অবজেক্টের জন্য অনুরোধ করা হলে, তা যে সময়েই করা হোক না কেন, একই সম্পূর্ণ তথ্য প্রদান করতে হবে (দেখুন সতর্কতা)।
ম্যানিফেস্ট ও ম্যাট্রিক্স
Android 8.0 থেকে, একটি রানটাইম API ডিভাইসে কী আছে তা কোয়েরি করে এবং সেই তথ্য ওভার-দ্য-এয়ার (OTA) আপডেট সার্ভার এবং অন্যান্য আগ্রহী পার্টিকে (যেমন CTS DeviceInfo) পাঠায়। কিছু তথ্য রানটাইমে এবং কিছু তথ্য স্ট্যাটিক্যালি-ডিফাইন করা থাকে।
- ডিভাইস ম্যানিফেস্ট ডিভাইসের সেইসব স্ট্যাটিক কম্পোনেন্ট সম্পর্কে বর্ণনা দেয় যেগুলি ডিভাইস ফ্রেমওয়ার্ককে প্রদান করতে পারে।
- ফ্রেমওয়ার্ক কম্প্যাটিবিলিটি ম্যাট্রিক্স থেকে জানা যায় যে Android ফ্রেমওয়ার্ক কোনও নির্দিষ্ট ডিভাইস থেকে কী আশা করে। ম্যাট্রিক্স হল একটি স্ট্যাটিক এন্টিটি যার কম্পোজিশন Android ফ্রেমওয়ার্কের পরবর্তী রিলিজের ডেভেলপমেন্টের সময় ম্যানুয়ালি নির্ধারণ করা হয়।
- ফ্রেমওয়ার্ক ম্যানিফেস্ট ফ্রেমওয়ার্ক ডিভাইসকে যেসব হাই-লেভেল পরিষেবা প্রদান করতে পারে তার বিবরণ দেয়।
- ডিভাইস কম্প্যাটিবিলিটি ম্যাট্রিক্স-এ ফ্রেমওয়ার্কের জন্য ভেন্ডর ইমেজের প্রয়োজনীয় পরিষেবাগুলি বর্ণনা করা হয়েছে। ডিভাইস ডেভেলপ করার সময় ম্যানুয়ালি এর কম্পোজিশন নির্ধারণ করা হয়।
ডিভাইস যাতে তার ক্ষমতার সাথে মানানসই ফ্রেমওয়ার্ক আপডেট পেতে পারে তা নিশ্চিত করতে, OTA-এর সময় ম্যানিফেস্ট ও ম্যাট্রিক্সের এই দুটি পেয়ারকে অবশ্যই রিকনসাইল করতে হবে। সাধারণত, ম্যানিফেস্ট কী প্রদান করা হয়েছে তা বর্ণনা করে এবং কম্প্যাটিবিলিটি ম্যাট্রিক্স কী প্রয়োজন তা বর্ণনা করে।
এই বিভাগে ম্যানিফেস্ট ও ম্যাট্রিক্সের নিম্নলিখিত বিবরণ অন্তর্ভুক্ত থাকে:
- ম্যানিফেস্ট ডিভাইস ম্যানিফেস্ট, ফ্রেমওয়ার্ক ম্যানিফেস্ট ও ম্যানিফেস্ট ফাইল স্কিমা সংজ্ঞায়িত করে।
- কম্প্যাটিবিলিটি ম্যাট্রিক্স কম্প্যাটিবিলিটি ম্যাট্রিক্সের স্কিমা নির্ধারণ করে।
- FCM লাইফসাইকেল সংক্রান্ত বিবরণ HIDL HAL কীভাবে বাতিল ও সরানো হয় এবং HAL ভার্সনের স্ট্যাটাস দেখানোর জন্য কীভাবে FCM ফাইল পরিবর্তন করা হয়।
- DM ডেভেলপমেন্ট বর্ণনা করে যে কীভাবে ভেন্ডররা নতুন ডিভাইসের জন্য ডিভাইস ম্যানিফেস্টে টার্গেট FCM ভার্সন নির্ধারণ ও ঘোষণা করতে পারেন অথবা নতুন HAL ভার্সন প্রয়োগ করতে পারেন এবং পুরনো ডিভাইসের জন্য ভেন্ডর ইমেজ আপগ্রেড করার সময় টার্গেট FCM ভার্সন বাড়াতে পারেন।
- ম্যাচিং নিয়ম কম্প্যাটিবিলিটি ম্যাট্রিক্স ও ম্যানিফেস্টের মধ্যে সফল ম্যাচিংয়ের নিয়ম নির্ধারণ করে।