वेंडर इंटरफ़ेस ऑब्जेक्ट

इस दस्तावेज़ में, वेंडर इंटरफ़ेस ऑब्जेक्ट (VINTF ऑब्जेक्ट) के डिज़ाइन के बारे में बताया गया है. यह ऑब्जेक्ट, किसी डिवाइस के बारे में काम की जानकारी इकट्ठा करता है और उस जानकारी को क्वेरी करने लायक एपीआई के ज़रिए उपलब्ध कराता है.

VINTF ऑब्जेक्ट का डिज़ाइन

VINTF ऑब्जेक्ट, डिवाइस से सीधे तौर पर कुछ जानकारी इकट्ठा करता है. मेनिफ़ेस्ट जैसे अन्य पहलुओं के बारे में, एक्सएमएल में स्टैटिक तौर पर बताया गया है.

पहली इमेज. मेनिफ़ेस्ट, कंपैटबिलिटी मैट्रिक, और रनटाइम के दौरान इकट्ठा की जाने वाली जानकारी.

VINTF ऑब्जेक्ट डिज़ाइन, डिवाइस और फ़्रेमवर्क के कॉम्पोनेंट के लिए ये सुविधाएं देता है:

डिवाइस के लिए फ़्रेमवर्क के लिए
  • स्टैटिक कॉम्पोनेंट (डिवाइस की मेनिफ़ेस्ट फ़ाइल) के लिए स्कीमा तय करता है.
  • किसी डिवाइस के लिए डिवाइस मेनिफ़ेस्ट फ़ाइल तय करने के लिए, बिल्ड टाइम की सुविधा जोड़ता है.
  • रनटाइम के दौरान, क्वेरी करने लायक एपीआई तय करता है. यह एपीआई, डिवाइस मेनिफ़ेस्ट फ़ाइल (साथ ही, रनटाइम के दौरान इकट्ठा की जा सकने वाली अन्य जानकारी) को वापस लाता है और उन्हें क्वेरी के नतीजे में पैकेज करता है.

VINTF ऑब्जेक्ट भरोसेमंद होना चाहिए और ऑब्जेक्ट का अनुरोध किए जाने के समय से कोई फ़र्क़ नहीं पड़ता कि वह पूरी जानकारी देता है या नहीं (चेतावनियां देखें).

मेनिफ़ेस्ट और मैट्रिक

Android 8.0 के बाद, रनटाइम एपीआई यह क्वेरी करता है कि डिवाइस पर क्या है. साथ ही, वह जानकारी ओवर-द-एयर (ओटीए) अपडेट सर्वर और दिलचस्पी रखने वाले दूसरे पक्षों (जैसे, सीटीएसDeviceInfo) को भेजता है. कुछ जानकारी रनटाइम पर हासिल की जाती है और कुछ जानकारी को स्टैटिक तौर पर तय किया जाता है.

  • डिवाइस मेनिफ़ेस्ट, स्टैटिक कॉम्पोनेंट के बारे में बताता है. इससे यह पता चलता है कि डिवाइस, फ़्रेमवर्क को क्या उपलब्ध करा सकता है.
  • फ़्रेमवर्क के साथ काम करने की मैट्रिक्स से पता चलता है कि Android फ़्रेमवर्क किसी डिवाइस से क्या उम्मीद करता है. मैट्रिक्स एक स्टैटिक इकाई होती है, जिसका कॉम्पोज़िशन Android फ़्रेमवर्क के अगले वर्शन के डेवलपमेंट के दौरान मैन्युअल तरीके से तय किया जाता है.
  • फ़्रेमवर्क मेनिफ़ेस्ट में, उन बेहतर सेवाओं के बारे में बताया जाता है जो फ़्रेमवर्क, डिवाइस को उपलब्ध करा सकता है.
  • डिवाइस के साथ काम करने की सुविधा वाले मैट्रिक्स में, उन सेवाओं के बारे में बताया गया है जो वेंडर इमेज के लिए फ़्रेमवर्क की ज़रूरत होती है. डिवाइस के डेवलपमेंट के दौरान, इसके कॉम्पोनेंट को मैन्युअल तरीके से तय किया जाता है.

ओटीए के समय, मेनिफ़ेस्ट और मैट्रिक के इन दो जोड़ों को मिलाना ज़रूरी है, ताकि यह पक्का किया जा सके कि डिवाइस को फ़्रेमवर्क के ऐसे अपडेट मिल सकें जो डिवाइस की सुविधाओं के साथ काम करते हों. आम तौर पर, मेनिफ़ेस्ट में यह बताया जाता है कि क्या उपलब्ध कराया गया है और कंपैटिबिलिटी मैट्रिक्स में यह बताया जाता है कि क्या ज़रूरी है.

इस सेक्शन में मेनिफ़ेस्ट और मैट्रिक के बारे में यह जानकारी शामिल है:

  • मेनिफ़ेस्ट से, डिवाइस मेनिफ़ेस्ट, फ़्रेमवर्क मेनिफ़ेस्ट, और मेनिफ़ेस्ट फ़ाइल स्कीमा के बारे में पता चलता है.
  • कंपैटिबिलिटी मैट्रिक्स, कंपैटिबिलिटी मैट्रिक्स के स्कीमा के बारे में बताता है.
  • FCM लाइफ़साइकल की जानकारी में, HIDL HALs को कैसे बंद किया जाता है और हटाया जाता है. साथ ही, HAL वर्शन की स्थिति दिखाने के लिए, FCM फ़ाइलों में कैसे बदलाव किया जाता है, इस बारे में बताया गया है.
  • डीएम डेवलपमेंट में बताया गया है कि वेंडर, नए डिवाइसों के लिए डिवाइस मेनिफ़ेस्ट में टारगेट FCM वर्शन को कैसे तय और एलान कर सकते हैं. इसके अलावा, इसमें यह भी बताया गया है कि वे पुराने डिवाइसों के लिए वेंडर इमेज को अपग्रेड करते समय, नए HAL वर्शन को कैसे लागू कर सकते हैं और टारगेट FCM वर्शन को कैसे बढ़ा सकते हैं.
  • मैच करने के नियम, मैच करने की सुविधा वाले मैट्रिक्स और मैनिफ़ेस्ट के बीच मैच करने के लिए नियम तय करते हैं.