এই বিভাগে কন্ট্রোল সেন্টার রেফারেন্স অ্যাপ এবং ইউআই (UI) কীভাবে কাস্টমাইজ করা যায়, তা বিস্তারিতভাবে বর্ণনা করা হয়েছে।
ব্যবহারকারী প্রবাহ এবং ব্যবহারকারী ইন্টারফেস
এই অংশে ব্যবহারকারীর কার্যপ্রবাহ এবং কন্ট্রোল সেন্টার চালু করার পদ্ধতি বর্ণনা করা হয়েছে।
লঞ্চ কন্ট্রোল সেন্টার
আপনি অ্যাপ লঞ্চার অথবা সিস্টেম UI নেভিগেশন বারের একটি আইকনের মাধ্যমে কন্ট্রোল সেন্টার চালু করতে পারেন। আইকনটি শুধুমাত্র সেইসব বিল্ডে দেখা যায় যেখানে ব্যাকগ্রাউন্ডে দৃশ্যমান ব্যবহারকারীদের সুবিধাটি চালু করা হয়েছে (আরও জানতে, UserHandleAware দেখুন)।
আপনি যেকোনো সময় কন্ট্রোল সেন্টার দেখতে পারেন। কন্ট্রোল সেন্টারটি স্বচ্ছ উইন্ডো এবং স্বচ্ছ ব্যাকগ্রাউন্ডের সমন্বয়ে গঠিত, ফলে এটি সক্রিয়ভাবে চলতে থাকা ভিডিও এবং মিডিয়া সহ অন্য যেকোনো অ্যাপের উপরে প্রদর্শিত হতে পারে। অ্যাপটির ল্যান্ডিং পেজে :
- স্থানীয় এবং দূরবর্তী স্ক্রিনগুলোর বিন্যাস ও ব্যবহার।
- স্ক্রিনগুলো মিডিয়া এবং মিডিয়া কন্ট্রোল দিয়ে পূর্ণ ছিল।
- কীভাবে প্রতিটি স্ক্রিন মিডিয়া (এবং আরও) কন্ট্রোলগুলোর একটি বিশদ চিত্র তুলে ধরে।
স্ক্রিনগুলোর বিন্যাসটি ভেহিকলের স্ক্রিনগুলোর লেআউটকে উপস্থাপন করে। প্রতিটি স্ক্রিন হলো একটি DevicePickerScreen । প্রতিটি স্ক্রিনের অবস্থান ও আকার কাস্টমাইজ করতে, একটি রানটাইম রিসোর্স ওভারলে (RRO) ব্যবহার করুন। আরও জানতে, রানটাইমে একটি অ্যাপের রিসোর্সের মান পরিবর্তন দেখুন।
যেসব ডিসপ্লেতে কন্ট্রোল সেন্টার খোলা থাকে, তার প্রতিটির জন্য উজ্জ্বল ও হাইলাইট করা বর্ডারসহ একটি ভিন্ন স্ক্রিন প্রদর্শিত হয়। এটি হলো লোকাল স্ক্রিন, অর্থাৎ ব্যবহৃত ডিসপ্লে।
প্রতিটি দ্বিতীয় স্ক্রিন হলো একটি রিমোট স্ক্রিন, যা গাড়ির একটি ভিন্ন ডিসপ্লেকে উপস্থাপন করে এবং আপনি ফ্র্যাগমেন্টে স্ক্রিনগুলোর বিন্যাসের উপর ভিত্তি করে এটিকে শনাক্ত করতে পারেন। গাড়িতে কনফিগার করা মোট অকুপ্যান্ট জোনের সংখ্যা গণনা করতে, CarOccupantZoneManager#getAllOccupantZones ব্যবহার করুন।
প্রতিটি স্ক্রিন সংশ্লিষ্ট অকুপ্যান্ট জোনের সাথে ডেটা সংযুক্ত করার জন্য controlcenter:occupantZoneId একটি কাস্টম অ্যাট্রিবিউট নির্ধারণ করে। যখন কোনো নির্দিষ্ট ডিসপ্লেতে একটি মিডিয়া অ্যাপ চালানো হয়, তখন সংশ্লিষ্ট স্ক্রিনটি মিডিয়া অ্যালবাম আর্ট প্রদর্শন করে। স্ক্রিনের নিচে একটি প্লে (বা পজ ) বাটন প্রদর্শিত হয়।
সক্রিয় মিডিয়া অ্যাপটি যদি একটি দৃশ্যমান টাস্ক হয় (অর্থাৎ কন্ট্রোল সেন্টারের পেছনে খোলা থাকে), তাহলে প্লে বাটনের পাশে থাকা শেয়ার বাটনটি মিররিং পেজ খোলার জন্য সক্রিয় হয়। শেয়ার অপশনটি আপনাকে মিডিয়া অ্যাপের ডিসপ্লে শেয়ার করার সুযোগ দেয় এবং এটি ভিডিওযুক্ত মিডিয়া অ্যাপের জন্য সবচেয়ে বেশি উপযোগী।
স্ক্রিন উপাদান
স্ক্রিনে ট্যাপ করলে ডিসপ্লেতে প্লে হওয়া মিডিয়ার একটি বিস্তারিত ভিউ দেখা যায়। একে ডিটেইলস স্ক্রিন বলা হয়। এই ভিউতে মিডিয়ার মেটাডেটা যেমন টাইটেল, প্লেব্যাক প্রগ্রেস এবং আর্টিস্ট দেখা যায়। এই বাটনগুলো অকুপ্যান্ট জোনের উপর অতিরিক্ত নিয়ন্ত্রণ প্রদান করে।
অডিও আউটপুট দেখায় কোন অডিও আউটপুটে মিডিয়াটি চলছে, যেমন কেবিন স্পিকার বা হেডফোন। অডিও আউটপুট একটি ডায়ালগ বক্স খোলে, যার মাধ্যমে অডিও আউটপুট এবং মিডিয়ার ভলিউম পরিবর্তন করা যায়।
ডিসপ্লে ইনপুট লক স্ক্রিনের ইনপুটকে লক করে দেয়। এই অপারেশনটি ড্রাইভারের স্ক্রিনে প্রয়োগ করা যায় না।
ডিসপ্লে পাওয়ার স্ক্রিনের পাওয়ার বন্ধ করে দেয়। এই অপারেশনটি ড্রাইভারের স্ক্রিনে প্রয়োগ করা যাবে না।
যখন মিডিয়াটি কন্ট্রোল সেন্টার অ্যাপের পিছনে একটি দৃশ্যমান টাস্ক হিসেবে থাকে, তখন ডিটেইলস ভিউতে একটি শেয়ার বাটন দেখা যায়, যেটিতে ট্যাপ করতে হয়। শেয়ার বাটনটি মিররিং পেজটি খোলে:

একসাথে দেখার একটি সেশন শুরু করুন
RRO ব্যবহার করার মাধ্যমে মিররিং পেজটি ল্যান্ডিং পেজের অনুরূপ হয়।
একসাথে দেখার জন্য কোনো স্ক্রিন যোগ করতে, স্ক্রিনটিতে ট্যাপ করুন এবং তারপরে 'Done'-এ ট্যাপ করুন।
এটি করলে একটি Mirroring Activity খোলে, যেখানে শেয়ার করা অ্যাপটি থাকে এবং কো-ওয়াচ সেশন থেকে বেরিয়ে যাওয়ার বা অংশগ্রহণকারীদের যোগ বা অপসারণ করার জন্য মিররিং পেজে পুনরায় প্রবেশ করার জন্য ভাসমান, ক্ষণস্থায়ী কন্ট্রোল পাওয়া যায়।

সারসংক্ষেপ
কন্ট্রোল সেন্টারের বিভিন্ন পৃষ্ঠাগুলোর সংক্ষিপ্ত বিবরণ এখানে দেওয়া হলো।

কাস্টমাইজেশন নির্দেশিকা
কন্ট্রোল সেন্টার আপনাকে কাস্টমাইজ করার সুযোগ দিতে কার ইউআই লাইব্রেরি ব্যবহার করে এবং একটি বেস থিম ও কাঠামো প্রদান করে, যা এই সীমাবদ্ধতাগুলো অনুসারে হুবহু গ্রহণ করা বা পরিবর্তন করা যেতে পারে।
| কাস্টমাইজেশন | বর্ণনা |
|---|---|
| উচিত | একটি RRO-এর মাধ্যমে সামগ্রিক থিমিং এবং স্টাইলিং সমন্বয় করুন, যেমন:
|
| মে | কন্ট্রোল সেন্টারের উচ্চ-স্তরের UI কাঠামো পরিবর্তন করুন। |
কন্ট্রোল সেন্টার হলো সিস্টেম অ্যাপের একটি স্যুটের অংশ, যার মধ্যে মিডিয়া, নোটিফিকেশন সেন্টার এবং অ্যাপ লঞ্চার অন্তর্ভুক্ত। এই অ্যাপগুলো AOSP কাঠামোর বিভিন্ন স্তরে সংজ্ঞায়িত স্টাইল এবং অ্যাসেটগুলো শেয়ার করে থাকে:
framework/base/coreTheme.DeviceDefault উপর ভিত্তি করে তৈরি, যা OEM-দের দ্বারা ডিভাইসের ডিফল্ট চেহারা কাস্টমাইজ করার জন্য ডিজাইন করা একটি থিম।packages/services/Car/car_product/overlay :Theme.DeviceDefault এর ওভাররাইডগুলো রয়েছে, যা Android Automotive-এর AOSP লুক ও ফিল তৈরি করতে ব্যবহৃত হয়। OEM-রা এই ওভারলেটি বাদ দিয়ে এর পরিবর্তে তাদের নিজস্ব ওভারলে ব্যবহার করার সিদ্ধান্ত নিতে পারেন।packages/apps/Car/libs/car-ui-lib :packages/apps/Car/libs/car-apps-common :packages/services/Car/car_product/overlay এর মতো)।packages/apps/Car/MultiDisplay/ControlCenter :Theme.CarUi থেকে এক্সটেন্ড করা হয় এবং car-ui-lib এ সংজ্ঞায়িত থাকে। ControlCenterActivity একটি কাস্টম Theme.Transparent ব্যবহার করে, যা আবার Theme.CarUi এক্সটেন্ড করা হয়। কোনো একটি ফ্লোকে সমর্থন করার জন্য (যেমন কো-ওয়াচিং, যার জন্য মিরর করা টাস্কটি দৃশ্যমান থাকা প্রয়োজন), কন্ট্রোল সেন্টার স্বচ্ছ উইন্ডো এবং ট্রান্সপারেন্ট ব্যাকগ্রাউন্ডের একটি সংমিশ্রণ ব্যবহার করে, যা অ্যাপটিকে ব্যাকগ্রাউন্ডে পাঠায় না বা 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>