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

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

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

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

कंट्रोल सेंटर लॉन्च करना

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

खास जानकारी

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

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

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

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

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

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

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

Control Center, सिस्टम ऐप्लिकेशन के सुइट का हिस्सा है. इसमें Media, Notification Center, और App Launcher शामिल हैं. ये ऐप्लिकेशन, 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>