स्केलेबल यूज़र इंटरफ़ेस (यूआई) की मदद से, Android Automotive OS (AAOS) में मल्टी-विंडो कॉन्फ़िगरेशन बनाए जा सकते हैं. स्केलेबल यूज़र इंटरफ़ेस (यूआई) एक ऐसा फ़्रेमवर्क है जिसका इस्तेमाल करके, यह तय किया जा सकता है कि स्क्रीन पर ऐप्लिकेशन कहां और कैसे दिखेंगे. इससे, जानकारी के फ़्लो को बेहतर तरीके से कंट्रोल किया जा सकता है.
सिस्टम ऐप्लिकेशन के डेवलपर इन बातों को ध्यान में रख सकते हैं.
कॉन्फ़िगर किए जा सकने वाले ऐप्लिकेशन कंटेनर
स्केलेबल यूज़र इंटरफ़ेस (यूआई) पैनल, ऐप्लिकेशन के लिए कॉन्फ़िगर किए जा सकने वाले कंटेनर के तौर पर काम करते हैं. इससे अलग-अलग लेआउट बनाए जा सकते हैं. इन लेआउट में, ऐप्लिकेशन एक साथ स्क्रीन पर या अलग-अलग साइज़ में दिख सकते हैं.
स्केलेबल यूज़र इंटरफ़ेस (यूआई), रनटाइम के दौरान पैनल के साइज़ में बदलाव करने की सुविधा देता है. हालांकि, ऐसा करने से परफ़ॉर्मेंस पर काफ़ी असर पड़ता है, क्योंकि ऐप्लिकेशन को अपने कॉन्टेंट में बदलाव करना पड़ता है.
स्केलेबल यूज़र इंटरफ़ेस (यूआई) में, विज़ुअल पर पड़ने वाले असर को कम करने के तरीके उपलब्ध होते हैं. उदाहरण के लिए, पैनल का साइज़ बदलते समय, बिल्ट-इन ओवरले स्क्रीन उपलब्ध कराकर, हर फ़्रेम के हिसाब से ऐप्लिकेशन के लेआउट को फिर से व्यवस्थित करने से बचा जा सकता है. ऐप्लिकेशन का अनुभव कैसा होगा, यह आपको तय करना है.
सिस्टम के स्टेटस के बारे में जानकारी देना
स्केलेबल यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करके, ब्रॉडकास्ट पर आधारित सिस्टम इवेंट ट्रिगर किए जा सकते हैं. इसका मतलब है कि आपके पास यह कॉन्फ़िगर करने का विकल्प होता है कि अलग-अलग ऐप्लिकेशन कब और कैसे लॉन्च किए जाएं. साथ ही, यह भी तय किया जा सकता है कि इन सिस्टम ऐप्लिकेशन को कौनसे सिस्टम इवेंट दिखें.
इससे आपके सिस्टम ऐप्लिकेशन को ज़्यादा विकल्प मिलते हैं, क्योंकि वे सिस्टम लेवल पर तय किए गए इवेंट के हिसाब से काम करते हैं. उदाहरण के लिए, NavigationCardActivity को इस तरह कॉन्फ़िगर किया जा सकता है कि नेविगेशन सेशन चालू न होने और मैप ऐप्लिकेशन स्क्रीन पर न दिखने पर, यह लॉन्च हो जाए. इससे सिस्टम ऐप्लिकेशन को, गाड़ी की स्पीड के हिसाब से कंट्रोल किए जाने वाले सेंट्रल सिग्नल के आधार पर, रंग वाली थीम बदलने की सुविधा भी मिलती है.
तीसरे पक्ष के ऐप्लिकेशन डेवलपर
तीसरे पक्ष के ऐप्लिकेशन डेवलपर को मल्टी-विंडो सेटअप चालू करते समय, इन पहलुओं पर ध्यान देना चाहिए.
ऐप्लिकेशन पैनल की जगह: ऐप्लिकेशन को अलग-अलग साइज़ के पैनल में रखा जा सकता है. इसलिए, ऐप्लिकेशन का अडैप्टिव डिज़ाइन होना ज़रूरी है. यह मल्टी-विंडो सेटअप वाले किसी भी ऐप्लिकेशन के लिए ज़रूरी है. यह सिर्फ़ स्केलेबल यूज़र इंटरफ़ेस (यूआई) के लिए ज़रूरी नहीं है.
इनसेट हैंडलिंग: ऐप्लिकेशन को इनसेट हैंडल करने चाहिए. इनसेट, स्क्रीन के वे हिस्से होते हैं जिन पर सिस्टम यूज़र इंटरफ़ेस (यूआई) एलिमेंट या डिसप्ले कटआउट मौजूद होते हैं. पैनल, अपने इनसेट के बारे में अपडेट पब्लिश करते हैं. इससे ऐप्लिकेशन को अडैप्ट करने में मदद मिलती है. Android की ज़रूरी शर्तों के मुताबिक, ऐप्लिकेशन को सिस्टम इंसर्ट में होने वाले बदलावों को हैंडल करना चाहिए. यह ज़रूरी शर्त, Scalable UI के लिए खास तौर पर नहीं है.
इमर्सिव मोड: इमर्सिव मोड का इस्तेमाल करने वाले ऐप्लिकेशन (इसमें सिस्टम बार छिपाए जा सकते हैं और ऐप्लिकेशन पूरी स्क्रीन पर दिखता है) पर ध्यान देना ज़रूरी है. स्केलेबल यूज़र इंटरफ़ेस (यूआई) की मदद से, इमर्सिव मोड की परिभाषा को कंट्रोल किया जा सकता है. साथ ही, यह तय किया जा सकता है कि इस मोड में हर पैनल के प्लेसमेंट को कैसे तय किया जाना चाहिए.
आपको यह तय करना होगा कि ड्राइवर की सुरक्षा और अन्य ज़रूरी शर्तों को ध्यान में रखते हुए, इमर्सिव मोड का इस्तेमाल कैसे किया जाए.
Android की ज़रूरी शर्तों के मुताबिक, इमर्सिव मोड के लिए अनुरोध करने पर कोई ऐप्लिकेशन, दूसरे ऐप्लिकेशन से स्क्रीन भरने की उम्मीद नहीं कर सकता. ओएस, इस तरह के अनुरोधों को स्वीकार या अस्वीकार करता है.