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

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

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

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

com.google.android.permissioncontroller APK অনুমতি-সম্পর্কিত UI, যুক্তিবিদ্যা এবং ভূমিকাগুলি পরিচালনা করে যাতে নির্দিষ্ট উদ্দেশ্যে অ্যাপগুলির অ্যাক্সেসের অনুমতি দেওয়া হয়। এটি নিম্নলিখিত নিয়ন্ত্রণ করে:

  • রানটাইম অনুমতি প্রদান (সিস্টেম অ্যাপে অনুদান সহ)

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

  • রানটাইম অনুমতি ব্যবহার ট্র্যাকিং

  • ভূমিকা

Android 9-এ, এই ধরনের অনুমতি com.google.android.packageinstaller এর অংশ ছিল। অ্যান্ড্রয়েড 10-এ, প্যাকেজ ইনস্টলার অ্যাপটিকে বিভিন্ন বিভাগে বিভক্ত করা হয়েছে যাতে অনুমতির যুক্তি আপডেট করা যায়। একটি আপডেটযোগ্য মেইনলাইন মডিউল হিসাবে, পারমিশন কন্ট্রোলার:

  • ফ্রেমওয়ার্কের সাথে ইন্টারঅ্যাক্ট করে শুধুমাত্র স্থিতিশীল @SystemApi (কোনও @hide API ব্যবহার নয়) এর মাধ্যমে।

  • 0-এর উপরে অগ্রাধিকার দিয়ে অনুমতি-সম্পর্কিত উদ্দেশ্যগুলি পরিচালনা করে।

  • থিমিং কাস্টমাইজ করতে OEM-কে সক্ষম করার জন্য একটি প্রক্রিয়া প্রকাশ করে।

  • ভূমিকা পরিচালনা, অনুমতি প্রত্যাহার এবং মৌলিক অনুমতি তথ্য (সেটিংসের জন্য) সহ সিস্টেম এবং অ্যাপগুলি আবদ্ধ হতে পারে এমন পরিষেবাগুলি প্রদান করে৷

  • অব্যবহৃত অ্যাপগুলির জন্য স্বতঃ-প্রত্যাহার সমর্থন করে (Android 11 এ নতুন)।

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

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

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

পারমিশন কন্ট্রোলার মডিউলটি একটি APK ফাইল হিসাবে বিতরণ করা হয়।

মডিউল সীমানা

অ্যান্ড্রয়েড 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

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

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