इस्तेमाल की जा सकने वाली हर प्रॉपर्टी के लिए, एक प्रॉपर्टी कॉन्फ़िगरेशन तय किया जाता है. इसे VehiclePropConfig
स्ट्रक्चर के ज़रिए तय किया जाता है. साथ ही, इसमें ये फ़ील्ड होते हैं.
फ़ील्ड | ब्यौरा |
---|---|
prop |
प्रॉपर्टी आईडी. यह काम करने वाली सिस्टम प्रॉपर्टी में से किसी एक प्रॉपर्टी या वेंडर की प्रॉपर्टी होनी चाहिए. प्रॉपर्टी आईडी, इन फ़ील्ड के बिट-या (दाईं से बाईं ओर) का इस्तेमाल करके बनाया जाता है:
उदाहरण के लिए, |
access |
प्रॉपर्टी के लिए ऐक्सेस मोड. यह READ , WRITE या
READ_WRITE में से कोई एक होना चाहिए. यह वैल्यू, काम करने वाली सिस्टम प्रॉपर्टी में बताए गए ऐक्सेस मोड के बराबर होनी चाहिए. |
changeMode |
|
configArray |
प्रॉपर्टी के हिसाब से कॉन्फ़िगरेशन शामिल करने के लिए, वैकल्पिक कलेक्शन. इसे खाली छोड़ा जा सकता है. |
configString |
प्रॉपर्टी के हिसाब से कॉन्फ़िगरेशन शामिल करने के लिए वैकल्पिक स्ट्रिंग. इसे खाली छोड़ा जा सकता है. |
minSampleRate और maxSampleRate
लगातार चलने वाली प्रॉपर्टी के लिए, सैंपल रेट की कम से कम और ज़्यादा से ज़्यादा वैल्यू. अगर प्रॉपर्टी लगातार नहीं चल रही है, तो इसका इस्तेमाल नहीं किया जाता. |
प्रॉपर्टी के टाइप
VehiclePropertyType.aidl
में, वैल्यू को वैरिएशन के तौर पर तय किया गया है. इस्तेमाल की जा सकने वाली प्रॉपर्टी के टाइप, नीचे दी गई टेबल में दिए गए हैं.
प्रॉपर्टी का टाइप | वैल्यू | ब्यौरा |
---|---|---|
स्ट्रिंग | 0x00100000 | स्ट्रिंग प्रॉपर्टी, वाहन की प्रॉपर्टी वैल्यू में stringValue फ़ील्ड का इस्तेमाल करती है. |
BOOLEAN | 0x00200000 | बूलियन प्रॉपर्टी, वाहन की प्रॉपर्टी वैल्यू में int32Values फ़ील्ड के पहले एलिमेंट का इस्तेमाल करती है.
0 का मतलब false है, None 0 का मतलब true है. |
INT32 | 0x00400000 | इंटिजर प्रॉपर्टी, वाहन की प्रॉपर्टी वैल्यू में int32Values फ़ील्ड के पहले एलिमेंट का इस्तेमाल करती है. |
INT32_VEC | 0x00410000 | Integer[] प्रॉपर्टी, वाहन की प्रॉपर्टी की वैल्यू में int32Values फ़ील्ड के एलिमेंट का इस्तेमाल करती है. |
INT64 | 0x00500000 | लंबी प्रॉपर्टी, वाहन की प्रॉपर्टी की वैल्यू में int64Values फ़ील्ड के पहले एलिमेंट का इस्तेमाल करती है. |
INT64_VEC | 0x00510000 | Long[] प्रॉपर्टी, वाहन की प्रॉपर्टी वैल्यू में int64Values फ़ील्ड के एलिमेंट का इस्तेमाल करती है. |
FLOAT | 0x00600000 | फ़्लोट प्रॉपर्टी, वाहन की प्रॉपर्टी वैल्यू में floatValues फ़ील्ड के पहले एलिमेंट का इस्तेमाल करती है. |
FLOAT_VEC | 0x00610000 | Float[] प्रॉपर्टी, वाहन की प्रॉपर्टी की वैल्यू में floatValues फ़ील्ड के एलिमेंट का इस्तेमाल करती है. |
बाइट | 0x00700000 | byte[] प्रॉपर्टी, वाहन की प्रॉपर्टी की वैल्यू में byteValues फ़ील्ड के एलिमेंट का इस्तेमाल करती है. |
मिक्स | 0x00e00000 | अलग-अलग तरह की प्रॉपर्टी. स्केलर या वेक्टर टाइप का कोई भी कॉम्बिनेशन. प्रॉपर्टी कॉन्फ़िगरेशन में, कॉन्फ़िगरेशन कलेक्शन में सही फ़ॉर्मैट दिया जाना चाहिए.
वेंडर की MIXED टाइप प्रॉपर्टी के लिए, configArray को इस स्ट्रक्चर में फ़ॉर्मैट करना होगा:
उदाहरण के लिए, |
क्षेत्र के आईडी का कॉन्फ़िगरेशन
हर प्रॉपर्टी कॉन्फ़िगरेशन में, क्षेत्र के आईडी कॉन्फ़िगरेशन की सूची भी हो सकती है. यह सूची, ग्लोबल प्रॉपर्टी के लिए ज़रूरी नहीं है. हालांकि, ज़ोन वाली प्रॉपर्टी (एक से ज़्यादा ज़ोन वाली प्रॉपर्टी) के लिए यह ज़रूरी है. हर एरिया आईडी कॉन्फ़िगरेशन में ये फ़ील्ड होते हैं.
फ़ील्ड | ब्यौरा |
---|---|
areaId |
इस इलाके का आईडी. एरिया आईडी देखें. |
minInt32Value और maxInt32Value |
|
minInt64Value और maxInt64Value |
|
minFloatValue और maxFloatValue |
|
(Android 14 में नया)supportedEnumValues |
|
क्षेत्र के टाइप
VehicleArea.aidl
में, वैल्यू को वैरिएशन के तौर पर तय किया गया है. यहां उन इलाकों के टाइप दिए गए हैं जहां प्रॉडक्ट बेचे जा सकते हैं.
इलाके का टाइप | वैल्यू | ब्यौरा |
---|---|---|
ग्लोबल | 0x01000000 | यह प्रॉपर्टी, ग्लोबल प्रॉपर्टी है और इसमें एक से ज़्यादा क्षेत्र नहीं होते. |
WINDOW | 0x03000000 | विंडो के आधार पर क्षेत्र, VehicleAreaWindow enum का इस्तेमाल करता है. |
मिरर | 0x04000000 | यह एरिया, मिरर के आधार पर तय होता है. इसमें VehicleAreaMirror enum का इस्तेमाल किया जाता है. |
SEAT | 0x05000000 | सीटों के आधार पर क्षेत्र, VehicleAreaSeat enum का इस्तेमाल करता है. |
दरवाज़ा | 0x06000000 | दरवाज़ों के आधार पर क्षेत्र, VehicleAreaDoor enum का इस्तेमाल करता है. |
WHEEL | 0x07000000 | यह एरिया, VehicleAreaWheel enum का इस्तेमाल करता है. |
ज़ोन वाली हर प्रॉपर्टी के लिए, पहले से तय किए गए इलाके के टाइप का इस्तेमाल करना ज़रूरी है. हर इलाके के टाइप के लिए, बिट फ़्लैग का एक सेट होता है. उदाहरण के लिए, सीट एरिया में VehicleAreaSeat
एनम तय किए गए हैं:
ROW_1_LEFT = 0x0001
ROW_1_CENTER = 0x0002
ROW_1_RIGHT = 0x0004
ROW_2_LEFT = 0x0010
ROW_2_CENTER = 0x0020
ROW_2_RIGHT = 0x0040
ROW_3_LEFT = 0x0100
...
क्षेत्र के आईडी
ज़ोन वाली प्रॉपर्टी को एरिया आईडी की मदद से ऐक्सेस किया जाता है. ज़ोन वाली हर प्रॉपर्टी में एक या उससे ज़्यादा
एरिया आईडी काम कर सकते हैं. किसी एरिया आईडी में, उससे जुड़े एनम से एक या उससे ज़्यादा फ़्लैग होते हैं. उदाहरण के लिए, VehicleAreaSeat
का इस्तेमाल करने वाली कोई प्रॉपर्टी, इन एरिया आईडी का इस्तेमाल कर सकती है:
आइटम | ब्यौरा |
---|---|
ROW_1_LEFT | ROW_1_RIGHT |
क्षेत्र का आईडी, दोनों सामने की सीटों पर लागू होता है. |
ROW_2_LEFT |
यह सिर्फ़ पीछे की बाईं सीट पर लागू होता है. |
ROW_2_RIGHT |
यह सिर्फ़ पीछे की दाईं सीट पर लागू होता है. |
ज़्यादा जानने के लिए, एचवीएसी देखें.