रेफ़रंस ऐप्लिकेशन को पसंद के मुताबिक बनाना

इस सेक्शन में, Control Center के रेफ़रंस ऐप्लिकेशन और यूज़र इंटरफ़ेस (यूआई) को पसंद के मुताबिक बनाने का तरीका बताया गया है.

यूज़र फ़्लो और यूज़र इंटरफ़ेस

इस सेक्शन में, उपयोगकर्ता फ़्लो और कंट्रोल सेंटर लॉन्च करने का तरीका बताया गया है.

कंट्रोल सेंटर खोलना

ऐप्लिकेशन लॉन्चर या सिस्टम यूज़र इंटरफ़ेस (यूआई) नेविगेशन बार पर मौजूद आइकॉन की मदद से, Control Center लॉन्च किया जा सकता है. यह आइकॉन सिर्फ़ उन बिल्ड में दिखता है जिनमें बैकग्राउंड में दिखने वाले उपयोगकर्ताओं की सुविधा चालू की गई है. ज़्यादा जानने के लिए, UserHandleAware देखें.

कंट्रोल सेंटर को कभी भी देखा जा सकता है. कंट्रोल सेंटर में, पारभासी विंडो और पारदर्शी बैकग्राउंड का कॉम्बिनेशन होता है, ताकि यह किसी भी दूसरे ऐप्लिकेशन के ऊपर दिख सके. इसमें वीडियो और मीडिया चलाने वाले ऐप्लिकेशन भी शामिल हैं. ऐप्लिकेशन के लैंडिंग पेज पर:

  • स्क्रीन का लेआउट और लोकल और रिमोट स्क्रीन का इस्तेमाल.
  • मीडिया और मीडिया कंट्रोल से भरी हुई स्क्रीन.
  • हर स्क्रीन में, मीडिया और अन्य कंट्रोल की ज़्यादा जानकारी कैसे दी जाती है.

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

Control Center जिस डिसप्ले पर खुला है उस पर, हाइलाइट किए गए बॉर्डर वाली अलग स्क्रीन दिखती है. यह लोकल स्क्रीन है, जिसका इस्तेमाल किया जा रहा है.

हर दूसरी स्क्रीन, रिमोट स्क्रीन होती है. इससे कार में मौजूद अलग-अलग डिसप्ले के बारे में पता चलता है. फ़्रैगमेंट में मौजूद स्क्रीन के लेआउट के आधार पर, इन डिसप्ले की पहचान की जा सकती है. वाहन में कॉन्फ़िगर किए गए, यात्रियों के बैठने की जगहों की कुल संख्या का हिसाब लगाने के लिए, CarOccupantZoneManager#getAllOccupantZones का इस्तेमाल करें.

हर स्क्रीन, कस्टम एट्रिब्यूट controlcenter:occupantZoneId को तय करती है, ताकि डेटा को संबंधित ऑक्यूपेंट ज़ोन से जोड़ा जा सके. किसी डिसप्ले पर मीडिया ऐप्लिकेशन चलाने पर, उससे जुड़ी स्क्रीन पर मीडिया एल्बम का आर्ट दिखता है. स्क्रीन के नीचे, चलाएं (या रोकें) बटन दिखता है.

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

स्क्रीन एलिमेंट

स्क्रीन पर टैप करने से, डिसप्ले पर चल रहे मीडिया की ज़्यादा जानकारी दिखती है. इसे जानकारी वाली स्क्रीन कहा जाता है. इस व्यू में मीडिया का मेटाडेटा दिखता है. जैसे, टाइटल, प्लेबैक की प्रोग्रेस, और कलाकार. इन बटन से, वाहन में बैठे व्यक्ति को अपने ज़ोन को कंट्रोल करने की अतिरिक्त सुविधा मिलती है.

  • ऑडियो आउटपुट से पता चलता है कि मीडिया किस ऑडियो डिवाइस पर चल रहा है. जैसे, केबिन के स्पीकर या हेडफ़ोन. ऑडियो आउटपुट से एक डायलॉग बॉक्स खुलता है. इसकी मदद से, ऑडियो आउटपुट और मीडिया की आवाज़ को बदला जा सकता है.

  • डिसप्ले इनपुट लॉक करें से, स्क्रीन पर इनपुट लॉक हो जाता है. यह सुविधा, ड्राइवर की स्क्रीन पर इस्तेमाल नहीं की जा सकती.

  • डिसप्ले पावर से स्क्रीन की पावर बंद हो जाती है. यह सुविधा, ड्राइवर की स्क्रीन पर इस्तेमाल नहीं की जा सकती.

जानकारी वाले व्यू में, शेयर करें बटन दिखता है. इस पर तब टैप किया जा सकता है, जब मीडिया कंट्रोल सेंटर ऐप्लिकेशन के पीछे दिखने वाला टास्क हो. शेयर करें बटन पर टैप करने से, स्क्रीन मिरर करने वाला पेज खुलता है:

भेजने वाले (ऊपर) और पाने वाले (नीचे) के बीच स्क्रीन शेयर करने और साथ मिलकर वीडियो देखने की सुविधा
दूसरी इमेज. भेजने वाले (ऊपर) और पाने वाले (नीचे) के बीच, पेज को मिरर करने और साथ मिलकर वीडियो देखने की सुविधा.

साथ मिलकर वीडियो देखने का सेशन शुरू करना

मिररिंग पेज, RRO का इस्तेमाल करके लैंडिंग पेज की तरह काम करता है.

साथ मिलकर वीडियो देखने के लिए, स्क्रीन जोड़ने के लिए स्क्रीन पर टैप करें. इसके बाद, हो गया पर टैप करें.

ऐसा करने पर, एक Mirroring Activity खुलता है. इसमें शेयर किया गया ऐप्लिकेशन दिखता है. साथ ही, इसमें फ़्लोटिंग और कुछ समय के लिए दिखने वाले कंट्रोल होते हैं. इनकी मदद से, साथ मिलकर वीडियो देखने का सेशन छोड़ा जा सकता है या स्क्रीन शेयर करने वाले पेज पर जाकर, लोगों को जोड़ा या हटाया जा सकता है.

स्क्रीन पर, शेयर किए गए ऐप्लिकेशन को फ़्लोटिंग कंट्रोल के साथ दिखाया जा रहा है, ताकि साथ मिलकर वीडियो देखने के सेशन को मैनेज किया जा सके.
तीसरी इमेज. फ़्लोटिंग कंट्रोल के साथ स्क्रीन मिरर करने की सुविधा.

खास जानकारी

Control Center के अलग-अलग पेजों के बारे में यहां खास जानकारी दी गई है.

फ़्लोचार्ट में, Control Center ऐप्लिकेशन के अलग-अलग पेज और ट्रांज़िशन दिखाए गए हैं.
चौथी इमेज. कंट्रोल सेंटर पेज.

कस्टमाइज़ेशन के दिशा-निर्देश

Control Center, Car UI library का इस्तेमाल करता है. इससे आपको कंट्रोल सेंटर को पसंद के मुताबिक बनाने में मदद मिलती है. साथ ही, यह एक बुनियादी थीम और स्ट्रक्चर उपलब्ध कराता है. इसे बिना किसी बदलाव के इस्तेमाल किया जा सकता है या इन पाबंदियों के हिसाब से इसमें बदलाव किया जा सकता है.

पसंद के मुताबिक बनाएं ब्यौरा
SHOULD

आरआरओ की मदद से, थीम और स्टाइल में बदलाव करें. जैसे:

  • रंग पटल
  • साइज़ बदलना
  • टेक्स्ट कैसा दिखेगा
  • डायलॉग बॉक्स का दिखना
  • ड्रॉएबल
  • कॉन्फ़िगरेशन की वैल्यू
MAY कंट्रोल सेंटर के हाई-लेवल यूज़र इंटरफ़ेस (यूआई) स्ट्रक्चर में बदलाव करना.

Control Center, सिस्टम ऐप्लिकेशन के सुइट का हिस्सा है. इसमें Media, सूचना केंद्र, और ऐप्लिकेशन लॉन्चर शामिल हैं. ये ऐप्लिकेशन, AOSP स्ट्रक्चर के अलग-अलग लेवल में तय की गई स्टाइल और ऐसेट शेयर करते हैं:

framework/base/core
Android की सभी बुनियादी स्टाइल यहां तय की गई हैं. खास तौर पर, सभी सिस्टम ऐप्लिकेशन थीम Theme.DeviceDefault पर आधारित होती हैं. यह थीम, ओईएम के लिए डिज़ाइन की गई है. इसकी मदद से, डिवाइस के डिफ़ॉल्ट लुक को पसंद के मुताबिक बनाया जा सकता है.

packages/services/Car/car_product/overlay:
इस फ़ोल्डर में Theme.DeviceDefault के ऐसे बदलाव शामिल होते हैं जिनका इस्तेमाल, Android Automotive को AOSP जैसा लुक और फ़ील देने के लिए किया जाता है. ओईएम के पास, इस ओवरले को शामिल न करने का विकल्प होता है. इसके बजाय, वे अपने ओवरले का इस्तेमाल कर सकते हैं.

packages/apps/Car/libs/car-ui-lib:
इस लाइब्रेरी में, AAOS के कॉम्पोनेंट और संसाधन तय किए जाते हैं. ये कॉम्पोनेंट और संसाधन, सिस्टम ऐप्लिकेशन और पसंद के मुताबिक बनाए गए अनबंडल्ड ऐप्लिकेशन के लिए सामान्य होते हैं. ज़्यादा जानकारी के लिए, Car UI Library की इंटिग्रेशन गाइड देखें.

packages/apps/Car/libs/car-apps-common:
AOSP के सिस्टम ऐप्लिकेशन में इस्तेमाल किए गए सामान्य रंग और स्टाइल. इन एलिमेंट को पसंद के मुताबिक बनाने के लिए, ओवरले का इस्तेमाल किया जा सकता है. यह packages/services/Car/car_product/overlay की तरह ही होता है.

packages/apps/Car/MultiDisplay/ControlCenter:
सभी सिस्टम ऐप्लिकेशन में एक थीम होती है, जो Theme.CarUi से मिलती-जुलती होती है. इन्हें car-ui-lib में तय किया जाता है. ControlCenterActivity, कस्टम Theme.Transparent का इस्तेमाल करता है. यह Theme.CarUi को बढ़ाता है.

किसी फ़्लो (जैसे, साथ मिलकर वीडियो देखना, जिसके लिए मिरर किए गए टास्क का दिखना ज़रूरी है) को सपोर्ट करने के लिए, Control Center में हल्की पारदर्शी विंडो और पारदर्शी बैकग्राउंड का इस्तेमाल किया जाता है. इससे ऐप्लिकेशन बैकग्राउंड में नहीं जाता या Lifecycle events नहीं भेजा जाता.

<style name="Theme.Transparent" parent="@style/Theme.CarUi.NoToolbar">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowBackground">@color/transparent</item>
</style>