কাস্টম ব্যবহারকারীর ধরন প্রয়োগ করুন

অ্যান্ড্রয়েড ১১ সুনির্দিষ্ট ইউজার টাইপের ধারণা চালু করেছে, যা অ্যান্ড্রয়েড মাল্টি-ইউজার ফিচারের আওতাভুক্ত সকল প্রকার ব্যবহারকারীকে প্রতিনিধিত্ব করে। এই ফিচারের মাধ্যমে, 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 টাইপে রূপান্তর করে।