অ্যান্ড্রয়েড ১১ সুনির্দিষ্ট ইউজার টাইপের ধারণা চালু করেছে, যা অ্যান্ড্রয়েড মাল্টি-ইউজার ফিচারের আওতাভুক্ত সকল প্রকার ব্যবহারকারীকে প্রতিনিধিত্ব করে। এই ফিচারের মাধ্যমে, OEM-রা পূর্ব-নির্ধারিত AOSP ইউজার টাইপগুলোকে কাস্টমাইজ করতে এবং নতুন প্রোফাইল টাইপ সংজ্ঞায়িত করতে পারে। আরও তথ্যের জন্য ইউজার টাইপ সম্পর্কিত অংশটি দেখুন।
এই পৃষ্ঠায় ব্যবহারকারীর ধরন কাস্টমাইজ করার জন্য প্রয়োজনীয় বাস্তবায়ন নির্দেশিকা বিস্তারিতভাবে বর্ণনা করা হয়েছে।
কাস্টমাইজেশন
AOSP ইউজার টাইপ কাস্টমাইজ করতে এবং নতুন প্রোফাইল টাইপ সংজ্ঞায়িত করতে, OEM-কে অবশ্যই config_user_types.xml ফাইলটিতে পছন্দের কাস্টমাইজেশনগুলো ওভারলে করতে হবে। config_user_types.xml ফাইলটিতে একটি রেফারেন্স ইমপ্লিমেন্টেশন এবং কনফিগারযোগ্য অ্যাট্রিবিউটগুলোর একটি বিস্তারিত তালিকা থাকে।
config_user_types.xml ফাইলে default-restrictions মতো যে কোনো অ্যাট্রিবিউট নির্দিষ্ট করা থাকলে, তা AOSP-এর ডিফল্টকে ওভাররাইট করে। যে অ্যাট্রিবিউট নির্দিষ্ট করা নেই, তা AOSP-এর ডিফল্ট মেনে চলে। প্রোফাইল টাইপের ব্যাজ অ্যাট্রিবিউটের মতো বেশিরভাগ অ্যাট্রিবিউট পরিবর্তন করলে, সেই ইউজার টাইপের আগে থেকে বিদ্যমান ব্যবহারকারীরা প্রভাবিত হয়। তবে, যেহেতু default-restrictions শুধুমাত্র একজন ব্যবহারকারী তৈরি করার সময় প্রয়োগ করা হয়, তাই OTA-এর মাধ্যমে config_user_types.xml ফাইলটি পরিবর্তিত হলেও এই নির্দিষ্ট অ্যাট্রিবিউটটি পরিবর্তন করলে আগে থেকে বিদ্যমান ব্যবহারকারীদের উপর কোনো প্রভাব পড়ে না। একইভাবে, ব্যবহারকারীর সর্বোচ্চ সংখ্যা নির্দিষ্ট করা শুধুমাত্র নতুন ব্যবহারকারী তৈরি করার সময় প্রযোজ্য হয়; বিদ্যমান ব্যবহারকারীদের সরানো হয় না।
প্রতিটি ব্যবহারকারীর প্রকারের জন্য বর্তমান কাস্টমাইজেশন সীমাবদ্ধতাগুলি নিম্নরূপ:
- প্রোফাইল সম্পূর্ণরূপে কাস্টমাইজ এবং সংজ্ঞায়িত করা যেতে পারে। এক্ষেত্রে, অ্যান্ড্রয়েডে তাদের কাস্টম প্রোফাইল সমর্থিত হওয়ার জন্য প্রয়োজনীয় প্ল্যাটফর্ম পরিবর্তন করার দায়িত্ব OEM-এর, কারণ AOSP শুধুমাত্র পূর্ব-সংজ্ঞায়িত AOSP ইউজার-টাইপগুলোকেই সমর্থন করে।
- পূর্ণ ব্যবহারকারী নির্ধারণ করা যায় না এবং শুধুমাত্র তাদের
default-restrictionsঅ্যাট্রিবিউটটি কাস্টমাইজ করা যায়। - এই পদ্ধতি ব্যবহার করে সিস্টেম ব্যবহারকারীকে কাস্টমাইজ করা যায় না। এক্ষেত্রে,
com.android.internal.R.array.config_defaultFirstUserRestrictionsব্যবহার করেdefault-restrictionsসেট করা যেতে পারে। আরও তথ্যের জন্যconfig.xmlদেখুন।
বিদ্যমান ব্যবহারকারীর ধরণ পরিবর্তন করুন
নিম্নলিখিত কোড নমুনায় দেখানো অনুযায়ী বিদ্যমান ব্যবহারকারীর প্রকারগুলিকে তাদের অ্যাট্রিবিউট ওভাররাইড করে কাস্টমাইজ করা যেতে পারে:
<user-types version="0">
<full-type name="android.os.usertype.full.SECONDARY" >
<default-restrictions no_sms="true" />
</full-type>
<profile-type
name='android.os.usertype.profile.MANAGED'
max-allowed-per-parent='2'
icon-badge='@android:drawable/ic_corp_icon_badge_case'
badge-plain='@android:drawable/ic_corp_badge_case'
badge-no-background='@android:drawable/ic_corp_badge_no_background' >
<badge-labels>
<item res='@android:string/managed_profile_label_badge' />
<item res='@android:string/managed_profile_label_badge_2' />
</badge-labels>
<badge-colors>
<item res='@android:color/profile_badge_1' />
<item res='@android:color/profile_badge_2' />
</badge-colors>
<default-restrictions no_sms="true" no_outgoing_calls="true" />
</profile-type>
</user-types>
এই কোড নমুনায়, সমর্থিত প্রোপার্টিগুলো পরিবর্তন করে নিম্নলিখিত AOSP ইউজার টাইপগুলো কাস্টমাইজ করা হয়েছে:
পূর্ণ ব্যবহারকারী
android.os.usertype.full.SECONDARY:-
default-restrictions no_sms="true"উল্লেখ করার মাধ্যমেno_smsএর ডিফল্ট বিধিনিষেধটি true-তে সেট করা হয়।
-
প্রোফাইল ব্যবহারকারী
android.os.usertype.profile.MANAGED:-
max-allowed-per-parent='2'সেট করার মাধ্যমে প্রতিটি অভিভাবক ব্যবহারকারীর জন্য দুটি প্রোফাইলের অনুমতি দেওয়া হয়। -
icon-badge,badge-plain,badge-no-background,badge-labelsএবংbadge-colorsব্যবহার করে ব্যাজের অ্যাট্রিবিউটগুলো নির্বাচিত মানে সেট করা হয়। -
default-restrictions no_sms="true" no_outgoing_calls="true"উল্লেখ করার মাধ্যমেno_smsএবংno_outgoing_callsএর ডিফল্ট বিধিনিষেধগুলো 'true'-তে সেট করা হয়।
-
এই প্রোপার্টিগুলোর অর্থ এবং ডিফল্ট মান জানতে UserTypeFactory.java এবং UserTypeDetails.java দেখুন।
কাস্টম প্রোফাইল প্রকারগুলি সংজ্ঞায়িত করুন
নিম্নলিখিত কোড নমুনাটি দেখায় কিভাবে নতুন, কাস্টম প্রোফাইল টাইপগুলি সংজ্ঞায়িত করা হয়:
<user-types version="1">
<profile-type
name="com.example.profilename"
max-allowed-per-parent="2" />
<change-user-type
from="android.os.usertype.profile.MANAGED"
to="com.example.profilename"
whenVersionLeq="1" />
</user-types>
এই কোড স্যাম্পলটিতে, com.example.profilename প্রোফাইল টাইপটি নিম্নরূপে সংজ্ঞায়িত করা হয়েছে:
প্রতি অভিভাবক ব্যবহারকারীর জন্য দুটি প্রোফাইলের সুবিধার্থে
max-allowed-per-parentsমান2সেট করা হয়েছে।change-user-type: OTA-এর মাধ্যমে ডিভাইসটিকেuser-typeভার্সন<= 1থেকে আপগ্রেড করার সময়android.os.usertype.profile.MANAGEDটাইপের সমস্ত বিদ্যমান ম্যানেজড প্রোফাইলকে নতুনcom.example.profilenameটাইপে রূপান্তর করে।