কাস্টম ব্যবহারকারীর ধরন বাস্তবায়ন

অ্যান্ড্রয়েড 11 সু-সংজ্ঞায়িত ব্যবহারকারীর ধরনগুলির ধারণা চালু করেছে, যা অ্যান্ড্রয়েড মাল্টি-ইউজার বৈশিষ্ট্য দ্বারা অনুমোদিত বিভিন্ন ধরণের ব্যবহারকারীদের প্রতিনিধিত্ব করে। এই বৈশিষ্ট্যের সাহায্যে, OEMগুলি পূর্বনির্ধারিত AOSP ব্যবহারকারীর প্রকারগুলি কাস্টমাইজ করতে পারে এবং নতুন প্রোফাইল প্রকারগুলি সংজ্ঞায়িত করতে পারে৷ আরও তথ্যের জন্য ব্যবহারকারীর প্রকারের বিভাগটি দেখুন।

এই পৃষ্ঠাটি ব্যবহারকারীর প্রকারগুলি কাস্টমাইজ করার জন্য প্রয়োজনীয় বাস্তবায়ন নির্দেশিকাগুলির বিবরণ দেয়৷

কাস্টমাইজেশন

AOSP ব্যবহারকারীর ধরন কাস্টমাইজ করার জন্য এবং নতুন প্রোফাইলের ধরন সংজ্ঞায়িত করার জন্য, OEM কে কাঙ্খিত কাস্টমাইজেশনের সাথে config_user_types.xml ওভারলে করতে হবে। config_user_types.xml ফাইলটিতে একটি রেফারেন্স বাস্তবায়ন এবং কনফিগারযোগ্য বৈশিষ্ট্যগুলির একটি বিস্তৃত তালিকা রয়েছে।

যে কোনো বৈশিষ্ট্য, যেমন default-restrictions , যা config_user_types.xml ফাইলে নির্দিষ্ট করা হয়েছে, AOSP ডিফল্টকে ওভাররাইট করে। নির্দিষ্ট করা নেই এমন কোনো বৈশিষ্ট্য AOSP ডিফল্ট মেনে চলে। প্রোফাইল টাইপের ব্যাজ অ্যাট্রিবিউটের মতো বেশিরভাগ অ্যাট্রিবিউট পরিবর্তন করা সেই ইউজার টাইপের প্রাক-বিদ্যমান ব্যবহারকারীদের প্রভাবিত করে। যাইহোক, যেহেতু default-restrictions শুধুমাত্র একটি ব্যবহারকারী তৈরি করার সময় প্রয়োগ করা হয়, এই বিশেষ বৈশিষ্ট্যটি পরিবর্তন করে, ইভেন্টে config_user_types.xml ফাইলটি OTA দ্বারা পরিবর্তন করা হয়, পূর্ব-বিদ্যমান ব্যবহারকারীদের উপর কোন প্রভাব নেই। একইভাবে, ব্যবহারকারীর সর্বোচ্চ সংখ্যা নির্দিষ্ট করা শুধুমাত্র নতুন ব্যবহারকারী তৈরি করার সময় প্রযোজ্য; বিদ্যমান ব্যবহারকারীদের সরানো হয় না।

প্রতিটি ব্যবহারকারীর প্রকারের জন্য বর্তমান কাস্টমাইজেশন সীমাবদ্ধতা নিম্নরূপ:

  • প্রোফাইল সম্পূর্ণরূপে কাস্টমাইজ এবং সংজ্ঞায়িত করা যেতে পারে. এই ক্ষেত্রে, অ্যান্ড্রয়েডে সমর্থিত হওয়ার জন্য তাদের কাস্টম প্রোফাইলের জন্য প্রয়োজনীয় প্ল্যাটফর্ম পরিবর্তন করার জন্য 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 :

    • no_sms এর ডিফল্ট সীমাবদ্ধতাটি default-restrictions no_sms="true" উল্লেখ করে সত্যে সেট করা হয়েছে।
  • প্রোফাইল ব্যবহারকারী android.os.usertype.profile.MANAGED :

    • max-allowed-per-parent='2' সেট করে প্রতিটি অভিভাবক ব্যবহারকারীর জন্য দুটি প্রোফাইল অনুমোদিত।
    • ব্যাজ বৈশিষ্ট্যগুলি icon-badge , badge-plain , badge-no-background , badge-labels , badge-colors ব্যবহার করে পছন্দসই মানগুলিতে সেট করা হয়৷
    • no_sms এবং no_outgoing_calls এর ডিফল্ট বিধিনিষেধগুলিকে সত্য হিসাবে সেট করা হয়েছে default-restrictions no_sms="true" 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 : android.os.usertype.profile.MANAGED টাইপের সমস্ত বিদ্যমান পরিচালিত প্রোফাইলকে নতুন com.example.profilename টাইপে রূপান্তর করে যখন OTA এর মাধ্যমে <= 1 এর user-type সংস্করণ থেকে ডিভাইস আপগ্রেড করে।