পারমিশন কন্ট্রোলার

পারমিশন কন্ট্রোলার মেইনলাইন মডিউলটিতে গোপনীয়তা নীতি এবং অনুমতি প্রদান এবং পরিচালনার সাথে সম্পর্কিত UI রয়েছে (উদাহরণস্বরূপ, অনুমতি প্রদান এবং পরিচালনার জন্য নীতি এবং UI)।

পারমিশন কন্ট্রোলার সম্পর্কে

পারমিশন কন্ট্রোলার মডিউল অনুমতি-সম্পর্কিত UI, যুক্তিবিদ্যা এবং ভূমিকাগুলি পরিচালনা করে যাতে নির্দিষ্ট উদ্দেশ্যে অ্যাপ্লিকেশানগুলি অ্যাক্সেস করা যায়৷ এটি নিম্নলিখিত নিয়ন্ত্রণ করে:

  • রানটাইম অনুমতি প্রদান (সিস্টেম অ্যাপে অনুদান সহ)
  • রানটাইম অনুমতি ব্যবস্থাপনা (অনুমতি গ্রুপিং সহ)
  • রানটাইম অনুমতি ব্যবহার ট্র্যাকিং
  • ভূমিকা

অ্যান্ড্রয়েড 12 থেকে শুরু করে, Role জন্য ফ্রেমওয়ার্ক এবং সিস্টেম সার্ভার ক্লাসগুলিকে মডিউলে সরানো হয়েছে যাতে Role সম্পূর্ণরূপে মডুলার হয়৷

অ্যান্ড্রয়েড 10-এ, প্যাকেজ ইনস্টলার অ্যাপটিকে বিভিন্ন বিভাগে বিভক্ত করা হয়েছে যাতে অনুমতির যুক্তি আপডেট করা যায়। একটি আপডেটযোগ্য মেইনলাইন মডিউল হিসাবে, পারমিশন কন্ট্রোলার:

  • শুধুমাত্র স্থিতিশীল @SystemApi (কোনও @hide API ব্যবহার না) এর মাধ্যমে ফ্রেমওয়ার্কের সাথে ইন্টারঅ্যাক্ট করে।
  • অগ্রাধিকার> 0 সহ অনুমতি-সম্পর্কিত উদ্দেশ্যগুলি পরিচালনা করে।
  • থিমিং কাস্টমাইজ করতে OEMs সক্ষম করার জন্য একটি প্রক্রিয়া প্রকাশ করে৷
  • ভূমিকা ব্যবস্থাপনা, অনুমতি প্রত্যাহার, এবং মৌলিক অনুমতি তথ্য (সেটিংসের জন্য) সহ সিস্টেম এবং অ্যাপ্লিকেশনগুলি আবদ্ধ হতে পারে এমন পরিষেবাগুলি প্রদান করে৷
  • অব্যবহৃত অ্যাপগুলির জন্য স্বতঃ-প্রত্যাহার সমর্থন করে (Android 11 এ নতুন)।

Android9-এ, অনুমতি নিয়ন্ত্রণ com.android.packageinstaller এর অংশ।

অব্যবহৃত অ্যাপের জন্য স্বয়ংক্রিয়ভাবে প্রত্যাহার করুন

Android 11-এ, PermissionsController মডিউল স্বয়ংক্রিয়ভাবে এমন অ্যাপগুলির জন্য রানটাইম অনুমতি প্রত্যাহার করতে পারে যা দীর্ঘ সময়ের জন্য ব্যবহার করা হয়নি। SDK 30 বা তার বেশি টার্গেট করা অ্যাপ্লিকেশানগুলি ডিফল্টরূপে স্বয়ংক্রিয়-প্রত্যাহার সক্ষম করে, যখন SDK 29 বা তার নীচের টার্গেট করা অ্যাপগুলি ডিফল্টরূপে স্বতঃ-প্রত্যাহার অক্ষম থাকে৷ সক্রিয় করা হলে, স্বতঃ-প্রত্যাহার সমস্ত রানটাইম অনুমতিগুলিকে প্রভাবিত করে তবে নীতি- এবং সিস্টেম-নির্ধারিত অনুমতি এবং ডিফল্ট বা ভূমিকা দ্বারা প্রদত্ত অনুমতিগুলি সহ সমস্ত পূর্ব-মঞ্জুরিগুলিকে ছাড় দেয়৷ বিশদ বিবরণের জন্য, অব্যবহৃত অ্যাপগুলি থেকে অটো-রিসেট অনুমতিগুলি পড়ুন৷

প্যাকেজ বিন্যাস

PermissionController মডিউলের বিন্যাস রিলিজের মধ্যে আলাদা।

  • অ্যান্ড্রয়েড 11 বা উচ্চতর সংস্করণে, পারমিশন কন্ট্রোলার মডিউলটি APEX ফর্ম্যাটে রয়েছে এবং এটি আপডেটযোগ্য। প্যাকেজের নাম com.google.android.permission

  • অ্যান্ড্রয়েড 10-এ, পারমিশন কন্ট্রোলার মডিউলটি APK ফর্ম্যাটে রয়েছে এবং আপডেট করা যায় না। প্যাকেজের নাম com.google.android.permissioncontroller

মডিউল সীমানা

অ্যান্ড্রয়েড 12-এ, packages/apps/PermissionController ( platform/packages/apps/PackageInstaller প্রজেক্ট) এবং frameworks/base/apex/permission (এটি frameworks/base প্রোজেক্টের একটি সাবডিরেক্টরি) থেকে অনুমতি মডিউল কোড সরানো হয়।

packages/modules/Permission জন্য নতুন প্রকল্প কাঠামো নিম্নরূপ:

  • frameworks/base/apex/permission থেকে ফাইল
  • packages/apps/PermissionController থেকে পারমিশন কন্ট্রোলার ফাইল

OEMগুলি তাদের প্যাচগুলিকে মূল প্রকল্প ডিরেক্টরি থেকে নতুন প্রকল্প ডিরেক্টরিতে সরাতে সাহায্য করার জন্য নমুনা কমান্ডগুলি ব্যবহার করতে পারে৷

ফ্রেমওয়ার্ক/বেস/এপেক্স/অনুমতি থেকে একটি প্যাচ সরান

root/frameworks/base/$ git format-patch -1 --relative=apex/permission commit --stdout > patch-file.txt

root/packages/modules/Permission$ git am -p2 patch-file.txt

প্যাকেজ/অ্যাপস/পারমিশন কন্ট্রোলার থেকে একটি প্যাচ সরান

root/packages/apps/PermissionController$ git format-patch -1 commit --stdout > patch-file.txt

root/packages/modules/Permission$ git am -p2 --directory=PermissionController patch-file.txt

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

OEMগুলি রানটাইম রিসোর্স ওভারলে (RROS) ব্যবহার করে অনুমতি UI থিম (রঙ, মার্জিন, ফন্ট এবং অঙ্কনযোগ্য) কাস্টমাইজ করতে পারে।