সামঞ্জস্যপূর্ণ কাঠামো পরিবর্তন (Android 12)

চিত্র ১। ডেভেলপার অপশনের ‘অ্যাপ কম্প্যাটিবিলিটি চেঞ্জেস’ স্ক্রিনে সেই পরিবর্তনগুলো তালিকাভুক্ত করা থাকে যেগুলো আপনি চালু বা বন্ধ করতে পারেন।

এই পৃষ্ঠায় অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১)-এর কম্প্যাটিবিলিটি ফ্রেমওয়ার্কের অন্তর্ভুক্ত প্রতিটি আচরণগত পরিবর্তন বর্ণনা করা হয়েছে। অ্যান্ড্রয়েড ১২-কে সাপোর্ট ও টার্গেট করার প্রস্তুতি নেওয়ার সময় আপনার অ্যাপ পরীক্ষা ও ডিবাগ করতে ডেভেলপার অপশন এবং এডিবি কমান্ডের সাথে এই তালিকাটি ব্যবহার করুন।

কম্প্যাটিবিলিটি ফ্রেমওয়ার্ক টুলগুলো ব্যবহার করে আপনি যে কাজগুলো করতে পারেন, তার কয়েকটি নিচে দেওয়া হলো:

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

এই প্রতিটি ব্যবহারের ক্ষেত্রে টুলগুলি কীভাবে ব্যবহার করতে হয় তার সম্পূর্ণ বিবরণের জন্য, কম্প্যাটিবিলিটি ফ্রেমওয়ার্ক টুলস দেখুন।

সামঞ্জস্য কাঠামোতে অন্তর্ভুক্ত আচরণগত পরিবর্তনসমূহ

এই বিভাগের তালিকায় অ্যান্ড্রয়েড ১২-এর কম্প্যাটিবিলিটি ফ্রেমওয়ার্কে অন্তর্ভুক্ত প্রতিটি আচরণগত পরিবর্তন বর্ণনা করা হয়েছে।

আপনি ডিফল্ট অবস্থা অনুযায়ী পরিবর্তনের তালিকাটি ফিল্টার করতে পারেন।

অ্যান্ড্রয়েড ১২-এ কম্প্যাটিবিলিটি ফ্রেমওয়ার্কে যোগ করা আচরণগত পরিবর্তনসমূহ

ALWAYS_SANDBOX_DISPLAY_APIS

পরিবর্তন আইডি: 185004937
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

সক্রিয় করা হলে, এটি উইন্ডোইং মোড নির্বিশেষে একটি প্যাকেজে ডিসপ্লে এপিআই স্যান্ডবক্সিং প্রয়োগ করে। ডিসপ্লে এপিআইগুলো সর্বদা অ্যাপের সীমানা প্রদান করবে।

এই পরিবর্তন সম্পর্কে আরও জানতে, Android 12-এর আচরণগত পরিবর্তন সংক্রান্ত পৃষ্ঠার ‘Deprecated Display methods’ অংশটি দেখুন।

AUTOFILL_NON_TEXT_REQUIRES_ON_RECEIVE_CONTENT_LISTENER

পরিবর্তন আইডি: ১৬৩৪০০১০৫
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩২) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ থেকে, প্ল্যাটফর্মটি অগমেন্টেড অটোফিল ফ্রেমওয়ার্ক ব্যবহার করে টেক্সট-বহির্ভূত সাজেশন (যেমন ছবি) প্রদান করতে পারে ( অটোফিল সার্ভিসেস দেখুন)। কোনো অ্যাপকে এই সাজেশনগুলো গ্রহণ করতে হলে, সেটিকে সাধারণত OnReceiveContentListener API ইমপ্লিমেন্ট করতে হয়।

যেসব অ্যাপ আগে থেকেই InputConnection.commitContent(InputContentInfo, int, Bundle) API ব্যবহার করত, তাদের জন্য এই API-এর ব্যবহার সহজ করতে, যদি অ্যাপটিতে OnReceiveContentListener এখনও ইমপ্লিমেন্ট করা না থাকে, তবে আমরা সেই API-টিকে একটি ফলব্যাক হিসেবে পুনরায় ব্যবহার করি। এই ফলব্যাকটি শুধুমাত্র Android 12 (API লেভেল 31)-এ সক্রিয় ছিল। এই চেঞ্জ আইডিটি ফলব্যাকটি নিষ্ক্রিয় করে দিচ্ছে, যার ফলে Android 12 (API লেভেল 32) এবং তার উপরের সংস্করণকে টার্গেট করা অ্যাপগুলোকে নন-টেক্সট সাজেশন গ্রহণ করার জন্য অবশ্যই OnReceiveContentListener API ইমপ্লিমেন্ট করতে হবে।

BLOCK_FLAG_SLIPPERY

পরিবর্তন আইডি: ১৫৭৯২৯২৪১
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১)-এ চালিত অ্যাপগুলোর ক্ষেত্রে, অ্যাপের কোনো উইন্ডোতে FLAG_SLIPPERY ব্যবহৃত হচ্ছে কিনা তা পরীক্ষা করা হয়। যেহেতু এটি একটি অসমর্থিত ফিল্ড , তাই আমরা আশা করি যে এই ফ্ল্যাগটি সম্ভবত শুধুমাত্র সিস্টেম কম্পোনেন্টগুলোই ব্যবহার করে থাকে। যদি তাই হয়, তবে এটিকে সীমাবদ্ধ করা হবে।

BLOCK_GPS_STATUS_USAGE

পরিবর্তন আইডি: 144027538
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং তার পরবর্তী সংস্করণের জন্য তৈরি অ্যাপগুলোতে, GpsStatus API-এর সমস্ত ব্যবহার অবশ্যই GnssStatus API দ্বারা প্রতিস্থাপন করতে হবে।

BLOCK_IMMUTABLE_PENDING_INTENTS

পরিবর্তন আইডি: ১৭১৩১৭৪৮০
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং তার পরবর্তী সংস্করণকে লক্ষ্য করে তৈরি অ্যাপগুলির জন্য, অপরিবর্তনীয় লোকেশন এপিআই-তে পাস করা PendingIntent অবজেক্টগুলো একটি IllegalArgumentException.

BLOCK_PENDING_INTENT_SYSTEM_API_USAGE

পরিবর্তন আইডি: ১৬৯৮৮৭২৪০
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং এর পরবর্তী সংস্করণকে লক্ষ্য করে তৈরি অ্যাপগুলিতে, PendingIntent লোকেশন রিকোয়েস্টের সাথে LocationRequest সিস্টেম এপিআই ব্যবহার করা যায় না।

BLOCK_UNTRUSTED_TOUCHES

পরিবর্তন আইডি: 158002302
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য সক্রিয়।

সিস্টেমের নিরাপত্তা এবং ব্যবহারকারীর ভালো অভিজ্ঞতা বজায় রাখতে, অ্যান্ড্রয়েড ১২ এমন অ্যাপগুলোকে টাচ ইভেন্ট গ্রহণ করতে বাধা দেয়, যেখানে কোনো ওভারলে অনিরাপদভাবে অ্যাপটিকে ব্লক করে রাখে।

এই পরিবর্তন সম্পর্কে আরও জানতে, “Untrusted touch events are blocked ” দেখুন।

CALL_ACTIVITY_RESULT_BEFORE_RESUME

পরিবর্তন আইডি: ৭৮২৯৪৭৩২
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩২) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩২) এবং তার পরবর্তী সংস্করণকে লক্ষ্য করে তৈরি অ্যাপগুলোর জন্য, অ্যাক্টিভিটি রেজাল্টের লাইফসাইকেল সংশোধন করা হয়েছে, যাতে কোনো অ্যাক্টিভিটি পুনরায় চালু হওয়ার ঠিক আগে তার রেজাল্টটি পায়।

CAMERA_MIC_INDICATORS_NOT_PRESENT

পরিবর্তন আইডি: ১৬২৫৪৭৯৯৯
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

এটি নির্দেশ করে যে এই ডিভাইসটি ক্যামেরা এবং মাইক্রোফোন ইন্ডিকেটর সমর্থন করে। যদি এটি উপস্থিত থাকে, তবে এর false হবে, কারণ চেঞ্জ আইডি উপস্থিত না থাকলে CompatChanges#isChangeEnabled মেথডটি true রিটার্ন করে।

CANNOT_INSTALL_WITH_BAD_PERMISSION_GROUPS

পরিবর্তন আইডি: 146211400
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩২) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩২) এবং এর পরবর্তী সংস্করণকে লক্ষ্য করে তৈরি অ্যাপগুলোর ক্ষেত্রে, ত্রুটিপূর্ণ পারমিশন গ্রুপ থাকলে প্যাকেজ ম্যানেজার কোনো প্যাকেজ ইনস্টল করবে না। পারমিশন গ্রুপ শুধুমাত্র একই সার্টিফিকেট ব্যবহারকারী অ্যাপগুলোর মধ্যেই শেয়ার করা উচিত। যদি কোনো পারমিশন কোনো গ্রুপের অন্তর্ভুক্ত হয়, তবে সেই গ্রুপটিও অবশ্যই সংজ্ঞায়িত থাকতে হবে।

CHANGE_ID_AUTH_STATE_DENIED

পরিবর্তন আইডি: ১৮১৩৫০৪০৭
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং তার উচ্চতর সংস্করণকে টার্গেট করা ক্লায়েন্ট অ্যাপগুলোর ক্ষেত্রে, যখন সেগুলো ‘ডিনাইড অথরাইজেশন’ অবস্থায় থাকে এবং কোনো ন্যানোঅ্যাপে মেসেজ পাঠানোর চেষ্টা করে, তখন একটি SecurityException থ্রো হয়।

CHANGE_ID_SAMPLING_RATE_SENSORS_PERMISSION

পরিবর্তন আইডি: ১৩৬০৬৯১৮৯
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং তার পরবর্তী সংস্করণের জন্য তৈরি অ্যাপগুলোর ক্ষেত্রে, যখন সেগুলোর HIGH_SAMPLING_RATE_SENSORS পারমিশন থাকে না, ডিবাগ মোডে চলে এবং ২০০ Hz-এর চেয়ে দ্রুততর স্যাম্পলিং রেটের জন্য অনুরোধ করে, তখন একটি SecurityException থ্রো হয়।

DELIVER_HISTORICAL_LOCATIONS

পরিবর্তন আইডি: ৭৩১৪৪৫৬৬
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং তার পরবর্তী সংস্করণকে লক্ষ্য করে তৈরি অ্যাপগুলোর ক্ষেত্রে, কিছু পরিস্থিতিতে লোকেশন ক্লায়েন্টরা পূর্ববর্তী সময়ের অবস্থান (বর্তমান সময়ের আগের) পেতে পারে।

DISPLAY_INFO_NR_ADVANCED_SUPPORTED

পরিবর্তন আইডি: ১৮১৬৫৮৯৮৭
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং তার পরবর্তী সংস্করণকে লক্ষ্য করে তৈরি অ্যাপগুলোর জন্য, TelephonyDisplayInfo এর পরিবর্তনগুলোর সাথে পশ্চাৎ সামঞ্জস্যতা (backward compatibility) প্রদান করা হয়েছে।

DISPLAY_MODE_RETURNS_PHYSICAL_REFRESH_RATE

পরিবর্তন আইডি: ১৭০৫০৩৭৫৮
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং তার পরবর্তী সংস্করণকে লক্ষ্য করে তৈরি অ্যাপগুলোর ক্ষেত্রে, প্ল্যাটফর্মটি কোনো অ্যাপের ফ্রেম রেটকে রিফ্রেশ রেটের ভাজ্য কোনো মানে কমিয়ে আনতে পারে, যদি তা বেশি সুবিধাজনক হয় (উদাহরণস্বরূপ, যদি অ্যাপটি Surface.setFrameRate(float, int) কল করে)। অ্যাপগুলো এই কমিয়ে আনা ফ্রেম রেটে Choreographer.postFrameCallback(Choreographer.FrameCallback) কলব্যাক এবং ব্যাকপ্রেশারের সম্মুখীন হবে। ডিসপ্লে রিফ্রেশ রেট কত, তা জানার জন্য অ্যাপগুলো Display.getRefreshRate() এবং Display.Mode.getRefreshRate() ব্যবহার করে। অ্যাপগুলোকে সঠিকভাবে ফ্রেম পেসিং করতে দেওয়ার জন্য, Display.getRefreshRate() সর্বদা অ্যাপ্লিকেশন ফ্রেম রেট রিটার্ন করে, ফিজিক্যাল ডিসপ্লে রিফ্রেশ রেট নয়। যদি অ্যাপটি পূর্ববর্তী কোনো রিলিজের জন্য কম্পাইল করা হয়, তবে Display.Mode.getRefreshRate() অ্যাপ ফ্রেম রেট রিটার্ন করবে এবং অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) থেকে এটি ফিজিক্যাল ডিসপ্লে রিফ্রেশ রেট রিটার্ন করবে।

DOWNSCALED

পরিবর্তন আইডি: ১৬৮৪১৯৭৯৯
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

এই পরিবর্তনটি প্রতিটি অ্যাপের জন্য বাফার ডাউনস্কেলিং-এর সমস্ত পরিবর্তনের নিয়ন্ত্রক। এই পরিবর্তনটি সক্রিয় করলে নিম্নলিখিত স্কেলিং ফ্যাক্টরগুলি প্রয়োগ করা যাবে:

যখন কোনো অ্যাপ প্যাকেজের জন্য এই পরিবর্তনটি সক্রিয় করা হয়, তখন অ্যাপটিকে জোরপূর্বক সর্বোচ্চ সক্রিয় স্কেলিং ফ্যাক্টরে রিসাইজ করা হয়। উদাহরণস্বরূপ, যদি ৮০% এবং ৭০% ( DOWNSCALE_80 এবং DOWNSCALE_70 ) উভয়ই সক্রিয় থাকে, তাহলে ৮০% ব্যবহৃত হয়।

DOWNSCALE_30

পরিবর্তন আইডি: 189970040
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

যখন DOWNSCALED ও সক্রিয় করা থাকে, তখন কোনো প্যাকেজের জন্য এই পরিবর্তনটি চালু করলে অ্যাপটি ধরে নেয় যে এটি আসল ডিসপ্লের উল্লম্ব এবং অনুভূমিক রেজোলিউশনের ৩০% রেজোলিউশনযুক্ত একটি ডিসপ্লেতে চলছে।

DOWNSCALE_35

পরিবর্তন আইডি: ১৮৯৯৬৯৭৪৯
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

যখন DOWNSCALED ও সক্রিয় করা থাকে, তখন কোনো প্যাকেজের জন্য এই পরিবর্তনটি চালু করলে অ্যাপটি ধরে নেয় যে এটি আসল ডিসপ্লের উল্লম্ব এবং অনুভূমিক রেজোলিউশনের ৩৫% রেজোলিউশনযুক্ত একটি ডিসপ্লেতে চলছে।

DOWNSCALE_40

পরিবর্তন আইডি: 189970038
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

যখন DOWNSCALED ও সক্রিয় থাকে, তখন কোনো প্যাকেজের জন্য এই পরিবর্তনটি চালু করলে অ্যাপটি ধরে নেয় যে এটি আসল ডিসপ্লের উল্লম্ব এবং অনুভূমিক রেজোলিউশনের ৪০% রেজোলিউশনযুক্ত একটি ডিসপ্লেতে চলছে।

DOWNSCALE_45

পরিবর্তন আইডি: ১৮৯৯৬৯৭৮২
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

যখন DOWNSCALED ও সক্রিয় করা থাকে, তখন কোনো প্যাকেজের জন্য এই পরিবর্তনটি চালু করলে অ্যাপটি ধরে নেয় যে এটি আসল ডিসপ্লের উল্লম্ব এবং অনুভূমিক রেজোলিউশনের ৪৫% রেজোলিউশনযুক্ত একটি ডিসপ্লেতে চলছে।

DOWNSCALE_50

পরিবর্তন আইডি: ১৭৬৯২৬৭৪১
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

যখন DOWNSCALED ও সক্রিয় থাকে, তখন কোনো প্যাকেজের জন্য এই পরিবর্তনটি চালু করলে অ্যাপটি ধরে নেয় যে এটি আসল ডিসপ্লের উল্লম্ব এবং অনুভূমিক রেজোলিউশনের ৫০% রেজোলিউশনযুক্ত একটি ডিসপ্লেতে চলছে।

DOWNSCALE_55

পরিবর্তন আইডি: ১৮৯৯৭০০৩৬
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

যখন DOWNSCALED ও সক্রিয় করা থাকে, তখন কোনো প্যাকেজের জন্য এই পরিবর্তনটি চালু করলে অ্যাপটি ধরে নেয় যে এটি আসল ডিসপ্লের উল্লম্ব এবং অনুভূমিক রেজোলিউশনের ৫৫% রেজোলিউশনযুক্ত একটি ডিসপ্লেতে চলছে।

DOWNSCALE_60

পরিবর্তন আইডি: ১৭৬৯২৬৭৭১
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

যখন DOWNSCALED ও সক্রিয় করা থাকে, তখন কোনো প্যাকেজের জন্য এই পরিবর্তনটি চালু করলে অ্যাপটি ধরে নেয় যে এটি আসল ডিসপ্লের উল্লম্ব এবং অনুভূমিক রেজোলিউশনের ৬০% রেজোলিউশনযুক্ত একটি ডিসপ্লেতে চলছে।

DOWNSCALE_65

পরিবর্তন আইডি: ১৮৯৯৬৯৭৪৪
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

যখন DOWNSCALED ও সক্রিয় করা থাকে, তখন কোনো প্যাকেজের জন্য এই পরিবর্তনটি চালু করলে অ্যাপটি ধরে নেয় যে এটি আসল ডিসপ্লের উল্লম্ব এবং অনুভূমিক রেজোলিউশনের ৬৫% রেজোলিউশনযুক্ত একটি ডিসপ্লেতে চলছে।

DOWNSCALE_70

পরিবর্তন আইডি: ১৭৬৯২৬৮২৯
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

যখন DOWNSCALED ও সক্রিয় করা থাকে, তখন কোনো প্যাকেজের জন্য এই পরিবর্তনটি চালু করলে অ্যাপটি ধরে নেয় যে এটি আসল ডিসপ্লের উল্লম্ব এবং অনুভূমিক রেজোলিউশনের ৭০% রেজোলিউশনযুক্ত একটি ডিসপ্লেতে চলছে।

DOWNSCALE_75

পরিবর্তন আইডি: ১৮৯৯৬৯৭৭৯
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

যখন DOWNSCALED ও সক্রিয় করা থাকে, তখন কোনো প্যাকেজের জন্য এই পরিবর্তনটি চালু করলে অ্যাপটি ধরে নেয় যে এটি আসল ডিসপ্লের উল্লম্ব এবং অনুভূমিক রেজোলিউশনের ৭৫% রেজোলিউশনযুক্ত একটি ডিসপ্লেতে চলছে।

DOWNSCALE_80

পরিবর্তন আইডি: ১৭৬৯২৬৭৫৩
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

যখন DOWNSCALED ও সক্রিয় করা থাকে, তখন কোনো প্যাকেজের জন্য এই পরিবর্তনটি চালু করলে অ্যাপটি ধরে নেয় যে এটি আসল ডিসপ্লের উল্লম্ব এবং অনুভূমিক রেজোলিউশনের ৮০% রেজোলিউশনযুক্ত একটি ডিসপ্লেতে চলছে।

DOWNSCALE_85

পরিবর্তন আইডি: ১৮৯৯৬৯৭৩৪
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

যখন DOWNSCALED ও সক্রিয় করা থাকে, তখন কোনো প্যাকেজের জন্য এই পরিবর্তনটি চালু করলে অ্যাপটি ধরে নেয় যে এটি আসল ডিসপ্লের উল্লম্ব এবং অনুভূমিক রেজোলিউশনের ৮৫% রেজোলিউশনযুক্ত একটি ডিসপ্লেতে চলছে।

DOWNSCALE_90

পরিবর্তন আইডি: ১৮২৮১১২৪৩
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

যখন DOWNSCALED ও সক্রিয় করা থাকে, তখন কোনো প্যাকেজের জন্য এই পরিবর্তনটি চালু করলে অ্যাপটি ধরে নেয় যে এটি আসল ডিসপ্লের উল্লম্ব এবং অনুভূমিক রেজোলিউশনের ৯০% রেজোলিউশনযুক্ত একটি ডিসপ্লেতে চলছে।

DO_NOT_DOWNSCALE_TO_1080P_ON_TV

পরিবর্তন আইডি: ১৫৭৬২৯৭৩৮
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং এর পরবর্তী সংস্করণকে লক্ষ্য করে তৈরি অ্যান্ড্রয়েড টিভি অ্যাপগুলো ১০৮০পি-এর চেয়ে বড় উইন্ডো সাইজ সহ যেকোনো উইন্ডো সাইজ পরিচালনা করতে পারবে বলে আশা করা হচ্ছে। অ্যান্ড্রয়েডের পূর্ববর্তী সংস্করণগুলোকে লক্ষ্য করে তৈরি অ্যাপগুলো ১০৮০পি-এর চেয়ে বড় উইন্ডো পাবে বলে আশা করে না, তাই প্রয়োজনে তাদের উইন্ডোগুলোকে ১০৮০পি-তে ডাউনস্কেল করা হয়।

DROP_CLOSE_SYSTEM_DIALOGS

পরিবর্তন আইডি: 174664120
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য সক্রিয়।

অ্যাপ এবং সিস্টেমের সাথে ইন্টারঅ্যাক্ট করার সময় ব্যবহারকারীর নিয়ন্ত্রণ উন্নত করার জন্য, অ্যান্ড্রয়েড ১২ থেকে ACTION_CLOSE_SYSTEM_DIALOGS ইন্টেন্ট অ্যাকশনটি বাতিল করা হয়েছে।

এই পরিবর্তন সম্পর্কে আরও জানতে, ‘অ্যাপগুলি সিস্টেম ডায়ালগ বন্ধ করতে পারে না’ দেখুন।

ENABLE_CHECKS_FOR_PRIVATE_FILES

পরিবর্তন আইডি: 172100307
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং এর পরবর্তী সংস্করণের জন্য তৈরি অ্যাপগুলো মিডিয়া প্রোভাইডার ব্যবহার করে ব্যক্তিগত ফাইল যুক্ত বা আপডেট করতে পারে না।

ENABLE_DEFERRED_SCAN

পরিবর্তন আইডি: 180326732
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

MediaProvider#update() এর অংশ হিসেবে যে স্ক্যানটি শুরু হয়, সেটি স্থগিত করতে এই অপশনটি চালু করুন।

ENABLE_GET_CALL_STATE_PERMISSION_PROTECTION

পরিবর্তন আইডি: 157233955
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

Android 12 (API লেভেল 31) এবং তার উচ্চতর সংস্করণকে লক্ষ্য করে তৈরি অ্যাপগুলির জন্য, এটি TelecomManager#getCallState , TelephonyManager.getCallStateForSubscription() , এবং TelephonyCallback.CallStateListener এর মতো কল স্টেট জিজ্ঞাসা ও অবহিতকারী API-গুলিতে READ_PHONE_STATE সুরক্ষা সক্রিয় করে।

ENABLE_GET_PHONE_ACCOUNT_PERMISSION_PROTECTION

পরিবর্তন আইডি: 183407956
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং তার পরবর্তী সংস্করণকে লক্ষ্য করে তৈরি অ্যাপগুলির জন্য, getPhoneAccount(PhoneAccountHandle) -এ READ_PHONE_NUMBERS অথবা READ_PRIVILEGED_PHONE_STATE সুরক্ষা সক্রিয় হয়।

ENABLE_INCLUDE_ALL_VOLUMES

পরিবর্তন আইডি: ১৮২৭৩৪১১০
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

MediaProvider#query তে সম্প্রতি আনমাউন্ট করা ভলিউমের ফাইলগুলির ডাটাবেস সারি অন্তর্ভুক্ত করতে এই বিকল্পটি সক্রিয় করুন।

ENABLE_RAW_MANAGE_EXTERNAL_STORAGE_ACCESS

পরিবর্তন আইডি: ১৭৮২০৯৪৪৬
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

Manifest.permission.MANAGE_EXTERNAL_STORAGE পারমিশন থাকা অ্যাপগুলিকে সরাসরি এক্সটার্নাল স্টোরেজ অ্যাক্সেসের জন্য অনুরোধ করার অনুমতি দিতে এই অপশনটি চালু করুন।

ENFORCE_MINIMUM_WINDOW_ON_INEXACT_ALARMS

পরিবর্তন আইডি: 185199076
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং তার পরবর্তী সংস্করণের জন্য তৈরি অ্যাপগুলোতে, সমস্ত ইনএকজ্যাক্ট অ্যালার্মের একটি ন্যূনতম উইন্ডো সাইজ থাকা আবশ্যক, যা কয়েক মিনিটের মতো হবে বলে আশা করা যায়। কার্যত, যে অ্যালার্মগুলোর জন্য ছোট উইন্ডোর প্রয়োজন হয়, সেগুলো এক্স্যাক্ট অ্যালার্মের মতোই এবং সেগুলোর জন্য প্রদত্ত সংশ্লিষ্ট এপিআই, যেমন setExact(int, long, PendingIntent) ব্যবহার করা উচিত। যে ইনএকজ্যাক্ট অ্যালার্মগুলোর জন্য ছোট উইন্ডো নির্দিষ্ট করা থাকে, সিস্টেম সেগুলোর উইন্ডোর দৈর্ঘ্য বাড়িয়ে দেবে।

ENFORCE_NATIVE_SHARED_LIBRARY_DEPENDENCIES

পরিবর্তন আইডি: 142191088
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং এর উচ্চতর সংস্করণকে লক্ষ্য করে তৈরি অ্যাপগুলোকে তাদের AndroidManifest.xml ফাইলে uses-native-library ট্যাগ ব্যবহার করে ডিভাইস নির্মাতা দ্বারা সংজ্ঞায়িত পাবলিক নেটিভ শেয়ার্ড লাইব্রেরির উপর নির্ভরতা ঘোষণা করতে হয়। যদি কোনো একটি নির্ভরতা পূরণ করা না যায়—উদাহরণস্বরূপ, নির্ভরতাগুলোর মধ্যে একটির অস্তিত্ব না থাকে—তাহলে প্যাকেজ ম্যানেজার অ্যাপটি ইনস্টল করবে না। android:required অ্যাট্রিবিউট ব্যবহার করে নির্ভরতাটিকে ঐচ্ছিক হিসেবেও নির্দিষ্ট করা যেতে পারে, সেক্ষেত্রে নির্ভরতা পূরণ করতে ব্যর্থ হলেও ইনস্টলেশন বন্ধ হবে না।

একবার ইনস্টল হয়ে গেলে, একটি অ্যাপকে শুধুমাত্র সেই নেটিভ শেয়ার্ড লাইব্রেরিগুলোই সরবরাহ করা হয় যা অ্যাপ ম্যানিফেস্টে নির্দিষ্ট করা থাকে। অ্যাপ ম্যানিফেস্টে নেই এমন কোনো নেটিভ শেয়ার্ড লাইব্রেরির উপর dlopen কল করলে তা ব্যর্থ হবে, এমনকি যদি সেটি ডিভাইসে বাস্তবে বিদ্যমান থাকেও।

ENFORCE_STRICT_QUERY_BUILDER

পরিবর্তন আইডি: 143231523
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

সক্রিয় করা হলে, SQLiteQueryBuilder ক্ষতিকর আর্গুমেন্টের বিরুদ্ধে CalendarProvider2 সমস্ত কোয়েরি নির্বাচন যাচাই করে।

FGS_BG_START_RESTRICTION_CHANGE_ID

পরিবর্তন আইডি: ১৭০৬৬৮১৯৯
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং তার পরবর্তী সংস্করণের জন্য তৈরি অ্যাপগুলোর ক্ষেত্রে, ব্যাকগ্রাউন্ডে চলার সময় অ্যাপগুলো কখন ফোরগ্রাউন্ড সার্ভিস চালু করতে পারবে তা সীমাবদ্ধ করে।

FGS_START_EXCEPTION_CHANGE_ID

পরিবর্তন আইডি: ১৭৪০৪১৩৯৯
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং তার উচ্চতর সংস্করণের জন্য তৈরি অ্যাপগুলোর ক্ষেত্রে, যদি কোনো অ্যাপ ব্যাকগ্রাউন্ডে চলার সময় কোনো ফোরগ্রাউন্ড সার্ভিস চালু করার চেষ্টা করে, তবে সিস্টেম একটি IllegalStateException থ্রো করবে।

FINISH_INPUT_NO_FALLBACK_CONNECTION

পরিবর্তন আইডি: 156215187
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং তার পরবর্তী সংস্করণের জন্য তৈরি অ্যাপগুলোর ক্ষেত্রে, ডিভাইসটি non-interactive হয়ে গেলে InputConnection সম্পন্ন করুন।

বর্তমান input method দ্বারা সক্রিয় করা হলে, ডিভাইসটি নিষ্ক্রিয় হয়ে গেলেই বর্তমান ইনপুট সংযোগটি finished যাবে।

যদি এটি সক্রিয় করা না থাকে, তাহলে ডিভাইসটি অ-ইন্টারেক্টিভ হয়ে গেলে বর্তমান ইনপুট সংযোগটি নীরবে নিষ্ক্রিয় হয়ে যাবে, এবং ডিভাইসটি পুনরায় ইন্টারেক্টিভ হলে একটি onFinishInput()onStartInput() জোড়া ডিসপ্যাচ করা হবে।

FORCE_DISABLE_HEVC_SUPPORT

পরিবর্তন আইডি: ১৭৪২২৭৮২০
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

কোনো অ্যাপকে HEVC মিডিয়া সমর্থন করা থেকে জোরপূর্বক নিষ্ক্রিয় করুন। অ্যাপগুলোর উচিত তাদের ম্যানিফেস্টে সমর্থিত মিডিয়া সক্ষমতাগুলো ঘোষণা করা, কিন্তু এই ফ্ল্যাগটি ব্যবহার করে কোনো অ্যাপকে HEVC সমর্থন না করতে বাধ্য করা যায়, যার ফলে HEVC-তে এনকোড করা মিডিয়া অ্যাক্সেস করার সময় ট্রান্সকোডিং বাধ্যতামূলক হয়। এই ফ্ল্যাগটি সেট করলে অ্যাপগুলোর জন্য যেকোনো OS-স্তরের ডিফল্ট সেটিংস বাতিল হয়ে যায়। এটি ডিফল্টরূপে নিষ্ক্রিয় থাকে, যার অর্থ হলো OS-এর ডিফল্ট সেটিংসই প্রাধান্য পায়। যদি এই ফ্ল্যাগ এবং FORCE_ENABLE_HEVC_SUPPORT উভয়ই সক্রিয় করা থাকে, তবে OS উভয় ফ্ল্যাগকেই উপেক্ষা করে।

FORCE_ENABLE_HEVC_SUPPORT

পরিবর্তন আইডি: ১৭৪২২৮১২৭
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

কোনো অ্যাপকে HEVC মিডিয়া সমর্থন করতে বাধ্য করা। অ্যাপগুলোর উচিত তাদের ম্যানিফেস্টে সমর্থিত মিডিয়া সক্ষমতাগুলো ঘোষণা করা, কিন্তু এই ফ্ল্যাগটি ব্যবহার করে কোনো অ্যাপকে HEVC সমর্থন করতে বাধ্য করা যায়, যার ফলে HEVC-তে এনকোড করা মিডিয়া অ্যাক্সেস করার সময় ট্রান্সকোডিং এড়ানো যায়। এই ফ্ল্যাগটি সেট করলে অ্যাপগুলোর জন্য যেকোনো OS লেভেলের ডিফল্ট সেটিংস বাতিল হয়ে যায়। এটি ডিফল্টরূপে নিষ্ক্রিয় থাকে, যার অর্থ হলো OS-এর ডিফল্ট সেটিংসই প্রাধান্য পাবে। যদি এই ফ্ল্যাগ এবং FORCE_DISABLE_HEVC_SUPPORT উভয়ই সক্রিয় করা থাকে, তবে OS উভয় ফ্ল্যাগকেই উপেক্ষা করবে।

FORCE_NON_RESIZE_APP

পরিবর্তন আইডি: 181136395
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

যে প্যাকেজগুলিতে এটি প্রয়োগ করা হয়, সেগুলিকে আকার পরিবর্তন-অযোগ্য করে তোলে।

FORCE_RESIZE_APP

পরিবর্তন আইডি: ১৭৪০৪২৯৩৬
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

যে প্যাকেজগুলিতে এটি প্রয়োগ করা হয়, সেগুলিকে রিসাইজযোগ্য হতে বাধ্য করে। আমরা শুধুমাত্র ফুলস্ক্রিন উইন্ডোইং মোডে রিসাইজ করার অনুমতি দিই, কিন্তু অ্যাপটিকে রিসাইজযোগ্য মাল্টি-উইন্ডো মোডে যেতে বাধ্য করি না।

HIDE_PROP_ICUBINARY_DATA_PATH

পরিবর্তন আইডি: ১৭১৯৭৯৭৬৬
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং তার পরবর্তী সংস্করণকে লক্ষ্য করে তৈরি অ্যাপগুলোর জন্য android.icu.impl.ICUBinary.dataPath প্রপার্টিতে অ্যাক্সেস বন্ধ করে দেওয়া হয়েছে।

IGNORE_ALLOW_BACKUP_IN_D2D

পরিবর্তন আইডি: ১৮৩১৪৭২৪৯
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং তার পরবর্তী সংস্করণের জন্য তৈরি অ্যাপগুলোর ক্ষেত্রে, ডিভাইস থেকে ডিভাইসে (D2D) মাইগ্রেশনের সময় android:allowBackup উপেক্ষা করা হয়।

IGNORE_FULL_BACKUP_CONTENT_IN_D2D

পরিবর্তন আইডি: 180523564
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং এর পরবর্তী সংস্করণকে লক্ষ্য করে তৈরি অ্যাপগুলোর ক্ষেত্রে, ডিভাইস-টু-ডিভাইস (D2D) ট্রান্সফারের সময় android:fullBackupContent ব্যবহার করে নির্দিষ্ট করা include এবং exclude নিয়মগুলো উপেক্ষা করা হয়।

IME_AUTOFILL_DEFAULT_SUPPORTED_LOCALES_IS_EMPTY

পরিবর্তন আইডি: ১৬৯২৭৩০৭০
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং তার পরবর্তী সংস্করণকে লক্ষ্য করে তৈরি অ্যাপগুলোর ক্ষেত্রে, লোকাল সেট করা না থাকলে getSupportedLocales() এখন ডিফল্ট সিস্টেম লোকালের পরিবর্তে একটি খালি লোকাল তালিকা রিটার্ন করে।

IS_BACKUP_SERVICE_ACTIVE_ENFORCE_PERMISSION_IN_SERVICE

পরিবর্তন আইডি: 158482162
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং তার উচ্চতর সংস্করণকে লক্ষ্য করে তৈরি অ্যাপগুলির ক্ষেত্রে, isBackupServiceActive() এর জন্য প্রয়োজনীয় BACKUP পারমিশনটি BackupManager এর ক্লায়েন্ট-সাইডের পরিবর্তে সার্ভিস-সাইডে প্রয়োগ করা হয়।

KEYSTORE_OPERATION_CREATION_MAY_FAIL

পরিবর্তন আইডি: ১৬৯৮৯৭১৬০
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

সক্রিয় করা হলে, নতুন প্রুনিং কৌশল অনুযায়ী কীস্টোর অপারেশন তৈরি ব্যর্থ হতে পারে। কীস্টোর আগে এই ধারণার উপর ভিত্তি করে কাজ করত যে ক্রিপ্টোগ্রাফিক অপারেশন তৈরি সর্বদা সফল হয়। তবে, KeyMint ব্যাকএন্ডে অপারেশন স্লটের সংখ্যা সীমিত।

"অসীম" অপারেশন স্লটের ধারণা বজায় রাখার জন্য, কোনো খালি অপারেশন স্লট না থাকলে কীস্টোর ডেমন সবচেয়ে কম ব্যবহৃত অপারেশনগুলো ছেঁটে ফেলত। এর ফলে, ভালো অপারেশনগুলোও সময়ের আগেই বন্ধ হয়ে যেতে পারত। এটি অ্যান্ড্রয়েড কীস্টোরকে ডিনায়াল-অফ-সার্ভিস (DoS) এবং অনাকাঙ্ক্ষিত লাইভলকের ঝুঁকিতে ফেলে দেয়। উদাহরণস্বরূপ, পাওয়ার ম্যানেজমেন্ট অপটিমাইজেশনের কারণে যদি একাধিক অ্যাপ একই সময়ে চালু হয়ে ক্রিপ্টো অপারেশন চালানোর চেষ্টা করত, তবে তারা কোনো অগ্রগতি না করেই একে অপরের অপারেশন বন্ধ করে দিতে শুরু করত।

লাইভলক থেকে বেরিয়ে আসতে এবং DoS আক্রমণ নিরুৎসাহিত করতে, আমরা প্রুনিং কৌশলটি এমনভাবে পরিবর্তন করেছি যাতে এটি অল্প সময়ের জন্য অল্প সংখ্যক অপারেশন স্লট ব্যবহারকারী ক্লায়েন্টদের অগ্রাধিকার দেয়। ফলস্বরূপ, যে সমস্ত একক অপারেশন ৫ সেকেন্ডের বেশি সময় ধরে নিষ্ক্রিয় থাকে না, সেগুলি প্রায় সবসময়ই প্রুনিং কৌশলের বাধা ছাড়াই সম্পন্ন হবে। ফাইল সিস্টেম এনক্রিপশন সম্পর্কিত কিছু অপারেশন এখনও আছে যা এই অপারেশনগুলোকেও প্রুন করতে পারে, কিন্তু সেই ঘটনাগুলো অত্যন্ত বিরল। এই নতুন প্রুনিং কৌশলের একটি পার্শ্বপ্রতিক্রিয়া হিসেবে, যদি কোনো ক্লায়েন্টের প্রুনিং ক্ষমতা বিদ্যমান সমস্ত অপারেশনের চেয়ে কম হয়, তবে অপারেশন তৈরি করা এখন ব্যর্থ হতে পারে।

প্রুনিং কৌশল : একটি উপযুক্ত ক্যান্ডিডেট খুঁজে বের করার জন্য, আমরা কলার এবং প্রতিটি বিদ্যমান অপারেশনের জন্য ম্যালুস গণনা করি। ম্যালুস হলো প্রুনিং পাওয়ার (কলার) বা প্রুনিং রেজিস্ট্যান্স (বিদ্যমান অপারেশন)-এর বিপরীত। কলারকে কোনো অপারেশন প্রুন করতে হলে, তাকে অবশ্যই এমন একটি অপারেশন খুঁজে বের করতে হবে যার ম্যালুস তার নিজের ম্যালুসের চেয়ে বেশি। প্রুনিং কৌশল সম্পর্কে আরও বিস্তারিত জানতে, operation.rs এর ইমপ্লিমেন্টেশন দেখুন। অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) এবং এর নিচের সংস্করণগুলোতে, KeyStore2 একটি খালি অপারেশন স্লটের জন্য Keystore ডেমনকে পোল করবে। অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) এবং এর নিচের সংস্করণকে টার্গেট করা অ্যাপগুলোর ক্ষেত্রে, সাইফার এবং সিগনেচার অবজেক্ট ইনিশিয়ালাইজেশন সবসময় সফল হয়েছে বলে মনে হবে—তবে, একটি অপারেশন পেতে বেশি সময় লাগতে পারে। সমস্ত অ্যান্ড্রয়েড সংস্করণই আরও ন্যায্য অপারেশন স্লট শিডিউলিং এবং একটি অপারেশন সফলভাবে সম্পন্ন করার উন্নত সুযোগ থেকে উপকৃত হয়।

LOCK_DOWN_CLOSE_SYSTEM_DIALOGS

পরিবর্তন আইডি: 174664365
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

Android 12 (API লেভেল 31) এবং তার উপরের সংস্করণকে টার্গেট করা অ্যাপগুলির জন্য, Intent.ACTION_CLOSE_SYSTEM_DIALOGS পাঠানো যাবে না, যদি না অ্যাপটির android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS পারমিশনটিও থাকে। উল্লেখ্য যে, এটি #DROP_CLOSE_SYSTEM_DIALOGS এর একটি আরও সীমাবদ্ধ সংস্করণ, যা আশা করে যে অ্যাপটি Android 12 (API লেভেল 31) বা তার উপরের সংস্করণকে টার্গেট করা শুরু করার সাথে সাথে Intent.ACTION_CLOSE_SYSTEM_DIALOGS পাঠানো বন্ধ করে দেবে।

LOCK_DOWN_COLLAPSE_STATUS_BAR

পরিবর্তন আইডি: ১৭৩০৩১৪১৩
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং এর পরবর্তী সংস্করণের জন্য তৈরি অ্যাপগুলোতে নিরাপত্তাজনিত কারণে স্ট্যাটাস বার প্যানেলগুলো সংকুচিত করতে Manifest.permission.STATUS_BAR পারমিশনটি প্রয়োজন হয়। ম্যালওয়্যার এই সুযোগটি কাজে লাগিয়ে ব্যবহারকারীকে গুরুত্বপূর্ণ নোটিফিকেশনগুলো দেখতে বাধা দিচ্ছিল।

LOW_POWER_EXCEPTIONS

পরিবর্তন আইডি: ১৬৮৯৩৬৩৭৫
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং তার পরবর্তী সংস্করণকে লক্ষ্য করে তৈরি অ্যাপগুলির ক্ষেত্রে, অনুরোধের লো-পাওয়ার অংশটি নীরবে বাদ দেওয়ার পরিবর্তে, লো-পাওয়ার হিসাবে চিহ্নিত সমস্ত LocationRequest অবজেক্ট ব্যতিক্রম (exception) তৈরি করে, যদি আহ্বানকারীর (caller) LOCATION_HARDWARE অনুমতি না থাকে।

MISSING_EXPORTED_FLAG

পরিবর্তন আইডি: 150232615
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং এর পরবর্তী সংস্করণকে লক্ষ্য করে তৈরি অ্যাপগুলোর ক্ষেত্রে, যখনই কোনো ইন্টেন্ট ফিল্টার সংজ্ঞায়িত করা হয়, android:exported অ্যাট্রিবিউটের জন্য একটি সুস্পষ্ট মান অবশ্যই উল্লেখ করতে হবে।

এই পরিবর্তন সম্পর্কে আরও জানতে, “উপাদানগুলির নিরাপদ রপ্তানি” দেখুন।

NATIVE_HEAP_POINTER_TAGGING_APP_ZYGOTE

পরিবর্তন আইডি: ২০৭৫৫৭৬৭৭
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩২) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩২) এবং তার উচ্চতর সংস্করণকে লক্ষ্য করে তৈরি অ্যাপগুলির ক্ষেত্রে, AppZygote প্রসেস এবং এর উত্তরসূরিদের মধ্যে নেটিভ হিপ অ্যালোকেশনের সময় সবচেয়ে গুরুত্বপূর্ণ বাইটে একটি অশূন্য ট্যাগ ব্যবহার করা হয়।

এই পরিবর্তন সম্পর্কে আরও জানতে, ট্যাগ করা পয়েন্টারগুলো দেখুন।

NATIVE_HEAP_ZERO_INIT

পরিবর্তন আইডি: ১৭৮০৩৮২৭২
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

নেটিভ হিপ মেমরি অ্যালোকেশনের স্বয়ংক্রিয় জিরো-ইনিশিয়ালাইজেশন সক্ষম করুন।

NATIVE_MEMTAG_ASYNC

পরিবর্তন আইডি: ১৩৫৭৭২৯৭২
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

এই প্রসেসে অ্যাসিঙ্ক্রোনাস (ASYNC) মেমরি ট্যাগ চেকিং সক্রিয় করুন। এই ফ্ল্যাগটি শুধুমাত্র ARM মেমরি ট্যাগিং এক্সটেনশন (MTE) সমর্থনকারী হার্ডওয়্যারের উপর প্রভাব ফেলে।

NATIVE_MEMTAG_SYNC

পরিবর্তন আইডি: 177438394
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

এই প্রসেসে সিনক্রোনাস (SYNC) মেমরি ট্যাগ চেকিং সক্ষম করে। এই ফ্ল্যাগটি শুধুমাত্র সেইসব হার্ডওয়্যারের উপর প্রভাব ফেলে যা ARM মেমরি ট্যাগিং এক্সটেনশন (MTE) সমর্থন করে। যদি NATIVE_MEMTAG_ASYNC এবং এই অপশন উভয়ই সক্রিয় থাকে, তবে এই অপশনটি প্রাধান্য পাবে এবং SYNC মোডে MTE সক্রিয় হবে।

NEVER_SANDBOX_DISPLAY_APIS

পরিবর্তন আইডি: ১৮৪৮৩৮৩০৬
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

সক্রিয় করা হলে, এটি লেটারবক্স বা SCM অ্যাক্টিভিটিতে ডিসপ্লে এপিআই স্যান্ডবক্সিং প্রয়োগ হওয়া থেকে বিরত রাখে। ডিসপ্লে এপিআইগুলো ডিসপ্লেএরিয়া বাউন্ডস প্রদান করা অব্যাহত রাখবে।

এই পরিবর্তন সম্পর্কে আরও জানতে, Android 12-এর আচরণগত পরিবর্তন সংক্রান্ত পৃষ্ঠার ‘Deprecated Display methods’ অংশটি দেখুন।

NOTIFICATION_CANCELLATION_REASONS

পরিবর্তন আইডি: 175319604
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

নোটিফিকেশন লিসেনারদেরকে বাতিলের নতুন ও আরও সুনির্দিষ্ট কারণগুলো বুঝতে সাহায্য করে।

NOTIFICATION_TRAMPOLINE_BLOCK

পরিবর্তন আইডি: ১৬৭৬৭৬৪৪৮
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যাপের পারফরম্যান্স এবং ইউএক্স উন্নত করার জন্য, অ্যান্ড্রয়েড ১২-কে লক্ষ্য করে তৈরি অ্যাপগুলো নোটিফিকেশন ট্রাম্পোলিন হিসেবে সার্ভিস বা ব্রডকাস্ট রিসিভার ব্যবহার করতে পারবে না।

এই পরিবর্তন সম্পর্কে আরও জানতে, ‘সার্ভিস বা ব্রডকাস্ট রিসিভার থেকে নোটিফিকেশন ট্রাম্পোলিন তৈরি করা যাবে না’ দেখুন।

NULL_TELEPHONY_THROW_NO_CB

পরিবর্তন আইডি: 182185642
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

বর্তমান প্রসেসের টার্গেট SDK ভার্সনটি অ্যান্ড্রয়েড ১২ (API লেভেল ৩১) বা তার চেয়ে উচ্চতর কিনা, তা যাচাই করার জন্য ব্যবহৃত হয়।

নিম্নলিখিত পদ্ধতিগুলোর ক্ষেত্রে প্রযোজ্য:

OVERRIDE_MIN_ASPECT_RATIO

পরিবর্তন আইডি: ১৭৪০৪২৯৮০
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

এই পরিবর্তনটি এমন সমস্ত পরিবর্তনের নিয়ন্ত্রক যা একটি নির্দিষ্ট সর্বনিম্ন অ্যাস্পেক্ট রেশিও প্রয়োগ করতে বাধ্য করে। এই পরিবর্তনটি সক্রিয় করলে নিম্নলিখিত সর্বনিম্ন অ্যাস্পেক্ট রেশিওগুলো প্রয়োগ করা যাবে:

যখন কোনো অ্যাপ প্যাকেজের জন্য এই পরিবর্তনটি সক্রিয় করা হয়, তখন অ্যাপের ম্যানিফেস্টে দেওয়া সর্বনিম্ন অ্যাসপেক্ট রেশিওটি সর্বোচ্চ সক্রিয় অ্যাসপেক্ট রেশিও দ্বারা প্রতিস্থাপিত হয়, যদি না অ্যাপের ম্যানিফেস্টের মান তার চেয়ে বেশি হয়।

OVERRIDE_MIN_ASPECT_RATIO_LARGE

পরিবর্তন আইডি: 180326787
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

যখন OVERRIDE_MIN_ASPECT_RATIO ও সক্রিয় থাকে, তখন কোনো প্যাকেজের জন্য এই পরিবর্তনটি সক্রিয় করলে অ্যাক্টিভিটির সর্বনিম্ন অ্যাসপেক্ট রেশিও OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE দ্বারা সংজ্ঞায়িত একটি বৃহৎ মানে সেট হয়ে যায়।

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

পরিবর্তন আইডি: 180326845
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য নিষ্ক্রিয়।

যখন OVERRIDE_MIN_ASPECT_RATIO ও সক্রিয় থাকে, তখন কোনো প্যাকেজের জন্য এই পরিবর্তনটি সক্রিয় করলে অ্যাক্টিভিটির সর্বনিম্ন অ্যাসপেক্ট রেশিও OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE দ্বারা সংজ্ঞায়িত একটি মাঝারি মানে সেট হয়ে যায়।

PENDING_INTENT_EXPLICIT_MUTABILITY_REQUIRED

পরিবর্তন আইডি: ১৬০৭৯৪৪৬৭
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং তার পরবর্তী সংস্করণের জন্য তৈরি অ্যাপগুলোতে, আপনার অ্যাপের তৈরি করা প্রতিটি PendingIntent অবজেক্টের পরিবর্তনযোগ্যতা (mutability) অবশ্যই নির্দিষ্ট করতে হবে। এই অতিরিক্ত আবশ্যকতাটি আপনার অ্যাপের নিরাপত্তা বৃদ্ধি করে।

এই পরিবর্তন সম্পর্কে আরও জানতে, “Pending intents must declare mutability” দেখুন।

PREVENT_SETTING_PASSWORD_QUALITY_ON_PARENT

পরিবর্তন আইডি: ১৬৫৫৭৩৪৪২
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং তার উচ্চতর সংস্করণকে লক্ষ্য করে তৈরি অ্যাডমিন অ্যাপগুলো DevicePolicyManager.setPasswordQuality(ComponentName, int) কল করে প্রাপ্ত DevicePolicyManager ইনস্ট্যান্সে পাসওয়ার্ডের মান নির্ধারণ করার জন্য DevicePolicyManager.setPasswordQuality( DevicePolicyManager.getParentProfileInstance(ComponentName) , int) ব্যবহার করতে পারে না। এর পরিবর্তে, ডিভাইস জুড়ে পাসওয়ার্ডের সাধারণ শর্তাবলী নির্ধারণ করার জন্য তাদের DevicePolicyManager.setRequiredPasswordComplexity(int) ব্যবহার করা উচিত।

RATE_LIMIT_TOASTS

পরিবর্তন আইডি: ১৭৪৮৪০৬২৮
ডিফল্ট অবস্থা : এই পরিবর্তনটি টগল করা যায় না। এটি শুধুমাত্র কম্প্যাটিবিলিটি ফ্রেমওয়ার্ক দ্বারা লগ করা হয়।

সীমিত সময়ের মধ্যে ব্যবহারকারীকে অতিরিক্ত টোস্ট দেখিয়ে ভারাক্রান্ত করা থেকে বিরত রাখতে Toast.show() কলের সংখ্যার উপর রেট লিমিটিং সক্ষম করে। একটি নির্দিষ্ট সময়সীমার মধ্যে অনুমোদিত সংখ্যার চেয়ে বেশি টোস্ট দেখানোর যেকোনো প্রচেষ্টার ফলে টোস্টটি বাতিল হয়ে যায়।

REQUIRE_EXACT_ALARM_PERMISSION

পরিবর্তন আইডি: 171306433
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

Android 12 (API লেভেল 31) এবং তার উচ্চতর সংস্করণের জন্য তৈরি অ্যাপগুলিকে, setExactAndAllowWhileIdle(int, long, PendingIntent) এবং setAlarmClock(AlarmClockInfo, PendingIntent) এর মতো সুনির্দিষ্ট অ্যালার্ম সেট করার জন্য ব্যবহৃত যেকোনো API ব্যবহার করতে হলে, অ্যাপগুলির অবশ্যই Manifest.permission.SCHEDULE_EXACT_ALARM পারমিশনটি থাকতে হবে।

REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_ACTIVE_DATA_SUB_ID

পরিবর্তন আইডি: ১৮২৪৭৮৭৩৮
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

Android 12 (API লেভেল 31) এবং তার উচ্চতর সংস্করণকে লক্ষ্য করে তৈরি অ্যাপগুলিকে TelephonyCallback.ActiveDataSubscriptionIdListener কল করার জন্য অবশ্যই Manifest.permission.READ_PHONE_STATE পারমিশন থাকতে হবে।

REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_CELL_INFO

পরিবর্তন আইডি: 184323934
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

Android 12 (API লেভেল 31) এবং তার উচ্চতর সংস্করণের জন্য তৈরি অ্যাপগুলিকে TelephonyCallback.CellInfoListener কল করার জন্য অবশ্যই Manifest.permission.READ_PHONE_STATE পারমিশন থাকতে হবে।

REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_DISPLAY_INFO

পরিবর্তন আইডি: ১৮৩১৬৪৯৭৯
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

Android 12 (API লেভেল 31) এবং তার উচ্চতর সংস্করণের জন্য তৈরি অ্যাপগুলিকে TelephonyCallback.DisplayInfoListener কল করার জন্য অবশ্যই Manifest.permission.READ_PHONE_STATE পারমিশন থাকতে হবে।

RESTRICT_ADB_BACKUP

পরিবর্তন আইডি: ১৭১০৩২৩৩৮
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং এর পরবর্তী সংস্করণকে লক্ষ্য করে তৈরি অ্যাপগুলোর ক্ষেত্রে, ডিবাগযোগ্য হিসেবে চলমান অ্যাপগুলোর ( android:debuggable true সেট করা) জন্য adb backup স্বয়ংক্রিয়ভাবে চালু হয়ে যায় এবং অন্য কোনো অ্যাপের জন্য তা উপলব্ধ থাকে না।

RESTRICT_DOMAINS

পরিবর্তন আইডি: ১৭৫৪০৮৭৪৯
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং তার উচ্চতর সংস্করণকে লক্ষ্য করে তৈরি অ্যাপগুলির জন্য, অ্যাপ লিঙ্ক যাচাইকরণ এপিআই-এর হালনাগাদ করা রূপটি আবশ্যক। এই আবশ্যকতাটির অর্থ হলো, একটি অ্যাপকে অবশ্যই একটি ইন্টেন্ট ফিল্টারের মধ্যে ডোমেইন ঘোষণা করতে হবে, যার মধ্যে নিম্নলিখিত সবকিছু অন্তর্ভুক্ত থাকবে:

  • android:autoVerify="true"
  • Intent.ACTION_VIEW
  • Intent.CATEGORY_BROWSABLE
  • Intet.CATEGORY_DEFAULT
  • শুধুমাত্র IntentFilter.SCHEME_HTTP এবং/অথবা IntentFilter.SCHEME_HTTPS , অন্য কোনো স্কিম ছাড়া।

অ্যান্ড্রয়েডের পূর্ববর্তী সংস্করণগুলিতে, Intent.CATEGORY_BROWSABLE বাধ্যতামূলক ছিল না, অন্যান্য স্কিম অনুমোদিত ছিল, এবং যেকোনো ইন্টেন্ট ফিল্টারে autoVerify true সেট করলে তা পরোক্ষভাবে ধরে নিত যে সমস্ত ইন্টেন্ট ফিল্টারে autoVerify="true" সেট করা আছে।

SECURITY_EXCEPTION_ON_INVALID_ATTRIBUTION_TAG_CHANGE

পরিবর্তন আইডি: 151105954
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং তার পরবর্তী সংস্করণকে লক্ষ্য করে তৈরি অ্যাপগুলির জন্য, এটি নিশ্চিত করে যে noteOp(String, int, String) , noteProxyOp(String, String) , এবং startOp(String, int, String) মেথডগুলিতে পাঠানো সমস্ত attributionTags অবশ্যই সেই প্যাকেজের ম্যানিফেস্টে সংজ্ঞায়িত থাকতে হবে, যা মেথডগুলির প্যারামিটার হিসাবে নির্দিষ্ট করা হয়েছে।

এই পরিবর্তনটি কার্যকর করতে, noteOp(String, int, String) কলকারী প্যাকেজ এবং মেথডের প্যারামিটার হিসেবে নির্দিষ্ট করা প্যাকেজ, উভয়টিতেই এই পরিবর্তনটি সক্রিয় থাকতে হবে।

SELINUX_LATEST_CHANGES

পরিবর্তন আইডি: 143539591
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং তার উচ্চতর সংস্করণকে লক্ষ্য করে তৈরি অ্যাপগুলির জন্য, এটি সর্বশেষ SELinux পরিবর্তনগুলি গ্রহণ করে। অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে লক্ষ্য করে তৈরি কোনো অ্যাপের জন্য এই পরিবর্তনটি বন্ধ করলে কোনো প্রভাব পড়ে না। যেসব অ্যাপ শেয়ার্ড ইউজার আইডি ব্যবহার করে, তাদের ক্ষেত্রে এর কোনো প্রভাব নেই।

SETTINGS_API_V2

পরিবর্তন আইডি: ১৭৮১১১৪২১
ডিফল্ট অবস্থা : সকল অ্যাপের জন্য সক্রিয়।

AndroidManifest.xml ইন্টেন্ট ফিল্টারে autoVerify=true হিসেবে চিহ্নিত ডোমেইনগুলো যাচাই করার জন্য নতুন ইউজার প্রেফারেন্স এপিআইটি বর্তমান প্ল্যাটফর্ম প্রিভিউতে এখনও প্রয়োগ করা হয়নি। আপাতত, এই ChangeId-টি সক্রিয় করে এবং adb shell pm set-app-links-user-selection ও অনুরূপ কমান্ডগুলো ব্যবহার করে নতুন ইউজার প্রেফারেন্স পরিবর্তনগুলো প্রিভিউ করা সম্ভব।

USE_SHORT_FGS_USAGE_INTERACTION_TIME

পরিবর্তন আইডি: ১৮৩৯৭২৮৭৭
ডিফল্ট অবস্থা : যেসব অ্যাপ অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার উচ্চতর সংস্করণকে টার্গেট করে, সেগুলোর জন্য সক্রিয়।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) এবং তার উচ্চতর সংস্করণের অ্যাপগুলোর ক্ষেত্রে, যখন অ্যাপগুলো কোনো ফোরগ্রাউন্ড সার্ভিস চালু করে, তখন স্ট্যান্ডবাই বাকেটকে ACTIVE উন্নীত করার আগে একটি সংক্ষিপ্ত টাইমআউট ব্যবহার করা হবে কিনা, তা এটি নির্ধারণ করে।