मीडिया के साथ रेडियो लागू करना

रेडियो यूआई को एक स्वतंत्र एप्लिकेशन के रूप में लागू किया गया है। रेडियो हार्डवेयर को रेडियो यूआई को कैसे एकीकृत किया जाए, इस पर निर्देश इम्प्लीमेंटिंग रेडियो पर देखे जा सकते हैं।

निम्न अनुभाग बताता है कि उपयोगकर्ताओं को एक सहज अनुभव प्रदान करने के लिए मीडिया के साथ रेडियो यूआई को कैसे एकीकृत किया जाए जो उपयोगकर्ताओं को मीडिया स्रोतों और रेडियो के साथ बातचीत करने में सक्षम बनाता है जैसे कि वे एक एकल अनुप्रयोग थे।

मीडिया स्रोत स्विचिंग उपयोगकर्ता प्रवाह

निम्न आरेख दिखाता है कि रेडियो और मीडिया का संदर्भ कार्यान्वयन कैसे अनुप्रयोग स्विचिंग उपयोगकर्ता प्रवाह को लागू करता है।

मीडिया स्रोत स्विचिंग उपयोगकर्ता प्रवाह

चित्रा 1. मीडिया स्रोत स्विचिंग उपयोगकर्ता प्रवाह

मीडिया में रेडियो और अन्य ऐप्स के बीच एक निर्बाध संक्रमण प्रदान करने के लिए, car-media-common लाइब्रेरी एंड्रॉइड इंटेंट को परिभाषित करती है जिसका उपयोग मीडिया स्रोत चयनकर्ता को लॉन्च करने के लिए किया जा सकता है। AOSP में, यह चयनकर्ता ऐप लॉन्चर में लागू किया जाता है, ऐप लॉन्च करने के लिए समान UI प्रस्तुत करता है लेकिन केवल मीडिया स्रोतों को प्रदर्शित करने के लिए फ़िल्टर किया जाता है।

ओईएम वर्तमान ऐप लॉन्चर कार्यान्वयन को यथावत लेने का विकल्प चुन सकते हैं, या एक अनुकूलित मीडिया स्रोत चयनकर्ता को लागू कर सकते हैं।

चयनकर्ता दो मोड में कार्य कर सकता है:

  • सामान्य प्रवाह। चयनकर्ता का उपयोग करने के बाद, चयनित स्रोत मीडिया में प्रदर्शित होता है ताकि उपयोगकर्ता इसकी सामग्री ब्राउज़ कर सके।
  • एक स्विच के रूप में। स्रोतों को स्विच करने के लिए एक चयनकर्ता का उपयोग किया जाता है, लेकिन मीडिया उपयोगकर्ता को प्रदर्शित नहीं होता है। यह होम पेज पर चयनकर्ता आइकन के बारे में सच है। एक स्रोत का चयन करने के बाद, उपयोगकर्ता को सबसे हाल की पिछली स्क्रीन प्रदर्शित की जाती है (इस मामले में, होम पेज)।

मीडिया स्रोतों के बीच स्विच करने के लिए उपयोग किया जाने वाला इरादा MediaSource#getSourceSelectorIntent() विधि से प्राप्त किया जा सकता है, जो एक popup बूलियन स्वीकार करता है जो ऊपर वर्णित प्रत्येक प्रवाह को लॉन्च करने का इरादा देता है।

वास्तविक इरादों को packages/apps/Car/libs/car-media-common/res/values/config.xml पर परिभाषित किया गया है। इस कॉन्फ़िगरेशन को अनुकूलित करने के लिए, बिल्ड-टाइम ओवरले का उपयोग करें।

रेडियो ऐप को बदलना

यह देखते हुए कि रेडियो ऐप मीडिया ब्राउज़ और मीडिया सत्र को लागू करता है, ऐप लॉन्चर में रेडियो प्रदर्शित होता है। जब कोई उपयोगकर्ता आइकन पर क्लिक करता है तो मीडिया को लॉन्च करने से रोकने के लिए दो तत्वों की आवश्यकता होती है। रेडियो चाहिए :

  • एक लॉन्चर गतिविधि करें।
  • एक कस्टम स्रोत के रूप में घोषित किया जाए। ऐसा करने के लिए, car-media-common/res/values/config.xml में custom_media_packages कुंजी में घटक नाम जोड़ें।

यूएक्स ड्राइविंग प्रतिबंध

मीडिया को सभी UX ड्राइविंग विकर्षण प्रतिबंधों का पालन करना चाहिए। ऐसा करने के लिए, मीडिया को CarUXRestrictionManager की बात सुननी चाहिए और उसकी सभी नीतियों को लागू करना चाहिए।

  • मीडिया को कार लाइब्रेरी से कनेक्ट होना चाहिए और CarUXRestrictionManager का एक उदाहरण प्राप्त करना चाहिए।
  • मीडिया को CarUxRestrictions की सूची में अपडेट की सदस्यता लेनी चाहिए और उन्हें दस्तावेज के रूप में लागू करना चाहिए।
  • मीडिया के लिए विशेष रूप से महत्वपूर्ण हैं:
    • UX_RESTRICTIONS_NO_SETUP । इस मामले में, साइन-इन प्रवाह अक्षम होना चाहिए।
    • UX_RESTRICTIONS_LIMIT_STRING_LENGTH । मीडिया अनुप्रयोगों द्वारा प्रदान किए गए त्रुटि संदेश और अन्य पाठ दी गई लंबाई तक सीमित होने चाहिए।