কম্প্যাটিবিলিটি ফ্রেমওয়ার্কে পরিবর্তন (Android 15)

ছবি ১. ডেভেলপার বিকল্পে অ্যাপ কম্প্যাটিবিলিটি পরিবর্তন স্ক্রিনে আপনি যেসব পরিবর্তন টগল করতে পারবেন তার তালিকা দেওয়া থাকে।

এই পৃষ্ঠায় Android 15 (API লেভেল 35)-এর কম্প্যাটিবিলিটি ফ্রেমওয়ার্কের অংশ হিসেবে টগল করা যায় এমন পরিবর্তনের বিবরণ দেওয়া হয়েছে। Android 15-এ কাজ করার জন্য আপনার অ্যাপ প্রস্তুত করার সময়, সেটি টেস্ট ও ডিবাগ করতে, ডেভেলপার বিকল্প ও ADB কমান্ড-এর সাথে এই তালিকা ব্যবহার করুন।

কম্প্যাটিবিলিটি ফ্রেমওয়ার্ক টুল ব্যবহার করে আপনি যেসব কাজ করতে পারবেন তার মধ্যে কয়েকটি এখানে উল্লেখ করা হল:

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

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

কম্প্যাটিবিলিটি ফ্রেমওয়ার্কে অন্তর্ভুক্ত আচরণগত পরিবর্তন

এই বিভাগে দেওয়া তালিকায় টগল করা যায় এমন পরিবর্তন সম্পর্কে বর্ণনা করা হয়েছে যা Android 15-সম্পর্কিত পরিবর্তনের জন্য কম্প্যাটিবিলিটি ফ্রেমওয়ার্কে অন্তর্ভুক্ত করা হয়েছে এবং টগল করা যায় এমন পরিবর্তন যা সাধারণ অ্যাপ টেস্টিংয়ের ক্ষেত্রে সাহায্য করতে পারে।

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

Android 15-এ কম্প্যাটিবিলিটি ফ্রেমওয়ার্কে টগল করা যায় এমন পরিবর্তন

CAMERA_MIC_INDICATORS_NOT_PRESENT

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

এই ডিভাইস ক্যামেরা ও মাইক্রোফোন ইন্ডিকেটর সাপোর্ট করে কিনা তা দেখায়। উপস্থিত থাকলে ভ্যালু হল false, কারণ CompatChanges#isChangeEnabled মেথড true রিটার্ন করে যদি পরিবর্তন আইডি উপস্থিত না থাকে।

CHECK_PARAMS_IN_IS_SESSION_CONFIGURATION_SUPPORTED

পরিবর্তন আইডি: 320741775
ডিফল্ট স্ট্যাটাস: Android 15 (API লেভেল 35) বা তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

চালু করা হলে, isSessionConfigurationSupported HAL-এর মাধ্যমে কাজ করলে সেশন প্যারামিটারের কম্প্যাটিবিলিটিও চেক করে।

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_CREATOR

পরিবর্তন আইডি: ২৯৬৪৭৮৯৫১
ডিফল্ট অবস্থা: Android 15 (API লেভেল ৩৫) বা তার পরবর্তী ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

চালু করা হলে, PendingIntent-এর ক্রিয়েটর ডিফল্ট হিসেবে ব্যাকগ্রাউন্ড অ্যাক্টিভিটি লঞ্চ ব্লক করে।

এই পরিবর্তন সম্পর্কে আরও জানতে, Android 15-এর আচরণগত পরিবর্তন সংক্রান্ত পৃষ্ঠায় সুরক্ষিত ব্যাকগ্রাউন্ড অ্যাক্টিভিটি লঞ্চ বিভাগটি দেখুন।

DEPRECATE_UI_FONT

পরিবর্তন আইডি: 279646685
ডিফল্ট স্ট্যাটাস: Android ১৫ (API লেভেল ৩৫) বা তার পরবর্তী ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

চালু করা হলে, elegantTextHeight TextView অ্যাট্রিবিউট ডিফল্ট হিসেবে true হয়ে যায় যখন আপনার অ্যাপ Android 15 বা তার পরবর্তী ভার্সন সহ ডিভাইসে রান করে, ডিফল্ট হিসেবে ব্যবহৃত কম্প্যাক্ট ফন্টকে এমন কিছু স্ক্রিপ্ট দিয়ে প্রতিস্থাপন করে যার বড় ভার্টিক্যাল মেট্রিক্স আছে এবং যা অনেক বেশি পাঠযোগ্য।

এই পরিবর্তন সম্পর্কে আরও জানতে, Android 15-এর আচরণ পরিবর্তন পৃষ্ঠায় elegantTextHeight অ্যাট্রিবিউট ডিফল্ট হিসেবে সত্যে সেট করা থাকে সম্পর্কিত বিভাগটি দেখুন।

DOWNSCALED

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

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

কোনও অ্যাপ প্যাকেজের জন্য এই পরিবর্তন চালু করা হলে, অ্যাপটি জোরপূর্বক সর্বোচ্চ, চালু করা স্কেলিং ফ্যাক্টরে ছোট বড় করা হয়। যেমন, ৮০% ও ৭০% (DOWNSCALE_80 এবং DOWNSCALE_70) দুটিই চালু থাকলে ৮০% ব্যবহার করা হয়। এই পরিবর্তন এবং DOWNSCALED_INVERSE দুটিই চালু করা থাকলে, DOWNSCALED_INVERSE অগ্রাধিকার পায় এবং স্কেলিং ফ্যাক্টর বিপরীতভাবে প্রয়োগ করা হয়।

DOWNSCALED_INVERSE

পরিবর্তন আইডি: ২৭৩৫৬৪৬৭৮
ডিফল্ট স্ট্যাটাস: সব অ্যাপের জন্য বন্ধ করা আছে।

এই পরিবর্তনটি প্রতিটি অ্যাপের বাফার ইনভার্স ডাউনস্কেলিং সংক্রান্ত সব পরিবর্তনকে নিয়ন্ত্রণ করে। এই পরিবর্তন চালু করলে নিম্নলিখিত স্কেলিং ফ্যাক্টর বিপরীতভাবে প্রয়োগ করা যাবে (অর্থাৎ, রেজোলিউশন আপস্কেল করা হবে):

কোনও অ্যাপ প্যাকেজের জন্য এই পরিবর্তন চালু করা হলে, অ্যাপটি জোরপূর্বক সবচেয়ে কম, চালু করা স্কেলিং ফ্যাক্টরে ছোট বড় করা হয়। যেমন, ৮০% এবং ৭০% (DOWNSCALE_80 এবং DOWNSCALE_70) দুটিই চালু থাকলে ৮০% ব্যবহার করা হয় কারণ বিপরীতভাবে প্রয়োগ করা হলে, ৮০% স্কেলিং ফ্যাক্টর ১২৫%-এর সমান হয়, যা ৭০% স্কেলিং ফ্যাক্টর বিপরীতভাবে প্রয়োগ করা হলে যে ১৪২.৮৬% স্কেলিং প্রয়োগ করা হয় তার থেকে কম। এই পরিবর্তন এবং DOWNSCALED দুটিই চালু করা থাকলে, DOWNSCALED_INVERSE অগ্রাধিকার পায় এবং স্কেলিং ফ্যাক্টর বিপরীতভাবে প্রয়োগ করা হয়।

DOWNSCALE_30

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

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

DOWNSCALE_35

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

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

DOWNSCALE_40

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

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

DOWNSCALE_45

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

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

DOWNSCALE_50

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

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

DOWNSCALE_55

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

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

DOWNSCALE_60

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

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

DOWNSCALE_65

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

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

DOWNSCALE_70

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

এছাড়াও DOWNSCALED চালু করা থাকলে, কোনও প্যাকেজের জন্য এই পরিবর্তন চালু করলে, অ্যাপটি ধরে নেয় যে এটি এমন ডিসপ্লেতে চলছে যার উল্লম্ব ও অনুভূমিক রেজোলিউশন আসল ডিসপ্লের ৭০%। যদি DOWNSCALED_INVERSE-ও চালু করা থাকে, তাহলে কোনও প্যাকেজের জন্য এই পরিবর্তন চালু করলে, অ্যাপটি বাধ্য হয়ে ধরে নেয় যে এটি এমন একটি ডিসপ্লেতে চলছে যার উল্লম্ব এবং অনুভূমিক রেজোলিউশন আসল ডিসপ্লের ১৪২.৮৬%।

DOWNSCALE_75

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

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

DOWNSCALE_80

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

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

DOWNSCALE_85

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

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

DOWNSCALE_90

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

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

DO_NOT_CLONE_IN_ARRAYS_AS_LIST

পরিবর্তন আইডি: ২০২৯৫৬৫৮৯
ডিফল্ট স্ট্যাটাস: Android ১৫ (API লেভেল ৩৫) বা তার পরবর্তী ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

চালু করা থাকলে, Arrays.asList(...).toArray() ব্যবহার করার সময়, ফলাফল হিসেবে পাওয়া অ্যারের কম্পোনেন্টের ধরন এখন Object—অন্তর্নিহিত অ্যারের এলিমেন্টের ধরন নয়। তাই নিম্নলিখিত কোড ClassCastException থ্রো করে:

String[] elements = (String[]) Arrays.asList("one", "two").toArray();

এই ক্ষেত্রে, ফলাফল হিসেবে পাওয়া অ্যারেতে কম্পোনেন্ট টাইপ হিসেবে String সংরক্ষণ করতে, আপনি পরিবর্তে Collection.toArray(Object[]) ব্যবহার করতে পারেন:

String[] elements = Arrays.asList("two", "one").toArray(new String[0]);

এই পরিবর্তন সম্পর্কে আরও জানতে, Android 15-এর আচরণ পরিবর্তন সংক্রান্ত পৃষ্ঠায় OpenJDK API পরিবর্তন সম্পর্কিত বিভাগটি দেখুন।

ENABLE_BUNDLE_LAUNCH_ACTIVITY_ITEM

পরিবর্তন আইডি: 324203798
ডিফল্ট স্ট্যাটাস: Android 15 (API লেভেল 35) বা তার পরবর্তী ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

চালু করা থাকলে, আগে থেকে থাকা কোনও অ্যাপের সাথে ClientTransaction#getActivityToken()-এর নন-SDK ব্যবহারের অ্যাপ কম্প্যাটিবিলিটি সংক্রান্ত সমস্যা এড়াতে, শুধুমাত্র LaunchActivityItem বান্ডেল করার অনুমতি দিন।

ENABLE_MATCH_LOCAL_NETWORK

পরিবর্তন আইডি: 319212206
ডিফল্ট স্ট্যাটাস: Android 15 (API লেভেল 35) বা তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

চালু করা থাকলে, অ্যাপ ডিফল্ট হিসেবে লোকাল নেটওয়ার্ক থেকে নেটওয়ার্ক কলব্যাক পায়। Android 14 (API লেভেল 34) বা তার আগের ভার্সনকে টার্গেট করা অ্যাপকে এখনও লোকাল নেটওয়ার্ক থেকে ConnectivityManager.NetworkCallback পেতে NetworkRequest-এর NetworkCapabilities-এ NetworkCapabilities.NET_CAPABILITY_LOCAL_NETWORK যোগ করতে হবে।

ENABLE_STRICT_FORMATTER_VALIDATION

পরিবর্তন আইডি: 270674727
ডিফল্ট স্ট্যাটাস: Android 15 (API লেভেল 35) বা তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

চালু করা হলে, String.format() এবং Formatter.format() API ব্যবহার করার সময় আর্গুমেন্ট ইনডেক্স, ফ্ল্যাগ, প্রস্থ এবং নির্ভুলতার যাচাইকরণ এখন আরও কঠোর হয়।

এই পরিবর্তন সম্পর্কে আরও জানতে, Android 15-এর আচরণ পরিবর্তন সংক্রান্ত পৃষ্ঠায় OpenJDK API পরিবর্তন সম্পর্কিত বিভাগটি দেখুন।

ENFORCE_EDGE_TO_EDGE

পরিবর্তন আইডি: 309578419
ডিফল্ট স্ট্যাটাস: Android 15 (API লেভেল 35) বা তার পরবর্তী ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

চালু করা হলে, Android 15 বা তার পরবর্তী যেকোনও ভার্সনে চলা ডিভাইসে অ্যাপ ডিফল্ট হিসেবে এজ-টু-এজ হবে।

এই পরিবর্তন সম্পর্কে আরও জানতে, Android 15-এর আচরণ পরিবর্তন সংক্রান্ত পৃষ্ঠায় এজ-টু-এজ এনফোর্সমেন্ট বিভাগটি দেখুন।

ENFORCE_STRICT_QUERY_BUILDER

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

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

FGS_BOOT_COMPLETED_RESTRICTIONS

পরিবর্তন আইডি: ২৯৬৫৫৮৫৩৫
ডিফল্ট স্ট্যাটাস: Android ১৫ (API লেভেল ৩৫) বা তার পরবর্তী ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

চালু করা হলে, ফোরগ্রাউন্ড সার্ভিস ব্যাকগ্রাউন্ড বন্ধ করে দেয়, যা শুরু হয় BOOT_COMPLETED ব্রডকাস্ট থেকে, এই ধরনের ছাড়া সব ধরনের জন্য:

এই পরিবর্তন সম্পর্কে আরও জানতে, Android 15-এর আচরণ পরিবর্তন সংক্রান্ত পৃষ্ঠায় BOOT_COMPLETED ব্রডকাস্ট রিসিভারের ফোরগ্রাউন্ড সার্ভিস লঞ্চ করার উপর বিধিনিষেধ সংক্রান্ত বিভাগটি দেখুন।

FGS_INTRODUCE_TIME_LIMITS

পরিবর্তন আইডি: ৩১৭৭৯৯৮২১
ডিফল্ট স্ট্যাটাস: Android ১৫ (API লেভেল ৩৫) বা তার পরবর্তী ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

চালু করা থাকলে, নির্দিষ্ট ধরনের ফোরগ্রাউন্ড পরিষেবার ক্ষেত্রে সময়সীমা থাকে। যদি বরাদ্দ করা সময়সীমার মধ্যে লঙ্ঘনকারী ধরনের ফোরগ্রাউন্ড পরিষেবা বন্ধ না হয়, তাহলে এটি Service.onTimeout(int, int) ব্যবহার করে একটি কলব্যাক পাবে এবং তারপরে কয়েক সেকেন্ডের মধ্যে এটি বন্ধ করতে হবে। কোনও অ্যাপ এটি করতে না পারলে, সেটিকে ANR হিসেবে ঘোষণা করা হবে।

এই পরিবর্তনের ব্যাপারে আরও জানতে, Android 15-এর আচরণ পরিবর্তন পৃষ্ঠায় টাইম-আউট আচরণ সংক্রান্ত বিভাগ দেখুন, যেখানে ডেটা সিঙ্ক এবং মিডিয়া প্রসেসিং ফোরগ্রাউন্ড পরিষেবার ধরন সম্পর্কে বলা হয়েছে।

FGS_SAW_RESTRICTIONS

পরিবর্তন আইডি: 319471980
ডিফল্ট স্ট্যাটাস: Android 15 (API লেভেল 35) বা তার পরবর্তী ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

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

এই পরিবর্তন সম্পর্কে আরও জানতে, Android 15-এর আচরণ পরিবর্তন সংক্রান্ত পৃষ্ঠায় অ্যাপের কাছে SYSTEM_ALERT_WINDOW অনুমতি থাকলে ফোরগ্রাউন্ড সার্ভিস চালু করার ক্ষেত্রে বিধিনিষেধ সম্পর্কিত বিভাগটি দেখুন।

FORCE_DISABLE_HEVC_SUPPORT

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

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

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

যেসব প্যাকেজে এটি প্রয়োগ করা হয় সেগুলিকে ছোট বড় করা যায় না।

FORCE_RESIZE_APP

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

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

GWP_ASAN

পরিবর্তন আইডি: ১৪৫৬৩৪৮৪৬
ডিফল্ট স্ট্যাটাস: সব অ্যাপের জন্য বন্ধ করা আছে।

অ্যাপে স্যাম্পেল করা নেটিভ মেমরি বাগ শনাক্তকরণ চালু করে।

GWP-ASan ব্যবহার করার ব্যাপারে আরও জানতে, GWP-ASan গাইড দেখুন।

IS_DEVICE_OWNER_USER_AWARE

পরিবর্তন আইডি: 307233716
ডিফল্ট স্ট্যাটাস: Android 15 (API লেভেল ৩৫) বা তার পরবর্তী ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

চালু করা হলে, isDeviceOwnerApp(String) পদ্ধতিটি কনটেক্সটের মধ্যে থাকা ব্যবহারকারীকে ব্যবহার করবে। Android 14 (API লেভেল 34) বা তার আগের যেকোনও ভার্সনকে টার্গেট করা অ্যাপের ক্ষেত্রে, কলিং প্রসেসের ব্যবহারকারীকে ব্যবহার করা হবে (Process.myUserHandle())।

MANAGE_GLOBAL_ZEN_VIA_IMPLICIT_RULES

পরিবর্তন আইডি: 308670109
ডিফল্ট স্ট্যাটাস: Android 15 (API লেভেল 35) বা তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

চালু করা থাকলে, অ্যাপ আর কোনও ডিভাইসে 'বিরক্ত করবে না' (DND) মোডের গ্লোবাল স্টেট বা নীতি পরিবর্তন করতে পারবে না (ব্যবহারকারীর সেটিংস পরিবর্তন করে বা DND মোড বন্ধ করে)। পরিবর্তে, অ্যাপগুলিকে অবশ্যই একটি AutomaticZenRule, কন্ট্রিবিউট করতে হবে, যা সিস্টেমটি বিদ্যমান সবচেয়ে-সীমাবদ্ধ-নীতি-জয়ী স্কিমের সাথে একটি গ্লোবাল নীতিতে একত্রিত করে..

এই পরিবর্তন সম্পর্কে আরও জানতে, Android 15-এর আচরণ পরিবর্তন সংক্রান্ত পৃষ্ঠায় অ্যাপ কখন 'বিরক্ত করবে না' মোডের গ্লোবাল স্টেট পরিবর্তন করতে পারবে সেই সংক্রান্ত পরিবর্তন বিভাগটি দেখুন।

NATIVE_HEAP_ZERO_INIT

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

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

NATIVE_MEMTAG_ASYNC

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

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

NATIVE_MEMTAG_SYNC

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

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

OVERRIDE_ANY_ORIENTATION

পরিবর্তন আইডি: ২৬৫৪৬৪৪৫৫
ডিফল্ট অবস্থা: সব অ্যাপের জন্য বন্ধ করা আছে।

চালু করা হলে, এই পরিবর্তন নিম্নলিখিত ওরিয়েন্টেশন ওভাররাইড প্রয়োগ করার অনুমতি দেয়, অ্যাক্টিভিটির মাধ্যমে অনুরোধ করা ওরিয়েন্টেশন যাই হোক না কেন:

OVERRIDE_ANY_ORIENTATION_TO_USER

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

চালু করা হলে, SCREEN_ORIENTATION_USER চালু করে, যা অ্যাক্টিভিটির মাধ্যমে অনুরোধ করা যেকোনও ওরিয়েন্টেশন ওভাররাইড করে। ফিক্সড ওরিয়েন্টেশন অ্যাপকে বড় স্ক্রিনের ডিভাইসে ফুলস্ক্রিন হিসেবে ওভাররাইড করা যেতে পারে এবং এই ওভাররাইডের মাধ্যমে ignoreOrientationRequest চালু করা যাবে।

OVERRIDE_CAMERA_COMPAT_DISABLE_FREEFORM_WINDOWING_TREATMENT

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

চালু করা থাকলে, ফিক্সড-ওরিয়েন্টেশন অ্যাপের জন্য ফ্রি-ফর্ম উইন্ডোয়িং মোডে ক্যামেরা কম্প্যাটিবিলিটি ট্রিটমেন্ট থেকে ওভাররাইড প্রয়োগ করা প্যাকেজ বাদ দেয়।

ফ্রি-ফর্ম উইন্ডোইং মোডে, কম্প্যাটিবিলিটি ট্রিটমেন্ট অ্যাপ উইন্ডো লেটারবক্স করে এবং ক্যামেরার বৈশিষ্ট্য পরিবর্তন করে পোর্ট্রেট ডিভাইসে রান করার অনুকরণ করে, যা অ্যাপ সাধারণত পোর্ট্রেট ডিভাইসে আশা করে: পিছনের এবং সামনের ক্যামেরার জন্য যথাক্রমে ৯০ এবং ২৭০ ডিগ্রি সেন্সর রোটেশন এবং ডিসপ্লে রোটেশন ০-তে সেট করা।

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

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

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

চালু করা হলে, এই পরিবর্তনটি প্যাকেজগুলিকে বাধ্য করে যে এটিতে প্রয়োগ করা হয়েছে android:resizeableActivity-এর বর্তমান মান উপেক্ষা করুন পাশাপাশি Android 6.0 (API লেভেল 23)-এর সমান বা তার কম টার্গেট SDK এবং অ্যাক্টিভিটিকে রিসাইজ করা যাবে না বলে বিবেচনা করুন। এই ক্ষেত্রে, ক্যামেরা রোটেট ও ক্রপ করার ভ্যালু শুধুমাত্র বর্তমান ডিসপ্লে রোটেশন বিবেচনা করে প্রয়োজনীয় ক্ষতিপূরণের উপর নির্ভর করে।

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

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

চালু করা হলে, এই পরিবর্তনটি যে প্যাকেজে প্রয়োগ করা হয় সেটিকে বাধ্য করে ডিফল্ট ক্যামেরা রোটেট এবং ক্রপ আচরণ ওভাররাইড করতে এবং সর্বদা CaptureRequest.SCALER_ROTATE_AND_CROP_NONE রিটার্ন করতে।

OVERRIDE_DISABLE_MEDIA_PROJECTION_SINGLE_APP_OPTION

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

চালু করা থাকলে, এটি নিশ্চিত করে যে MediaProjection সেশন শুরু করার সময় ব্যবহারকারীদের একটি অ্যাপ বা সম্পূর্ণ স্ক্রিন ক্যাপচার করার বিকল্প দেখানো হবে, যা MediaProjectionConfig#createConfigForDefaultDisplay-এর ব্যবহারকে ওভাররাইড করবে।

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

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

যে অ্যাপে এটি প্রয়োগ করা হয়েছে, সেটির জন্য SCREEN_ORIENTATION_REVERSE_LANDSCAPE চালু করে। OVERRIDE_ANY_ORIENTATION চালু না থাকলে, অ্যাক্টিভিটিতে ল্যান্ডস্কেপ ওরিয়েন্টেশন নির্দিষ্ট করা থাকলে তবেই SCREEN_ORIENTATION_REVERSE_LANDSCAPE ব্যবহার করা হয়। এই পরিবর্তন চালু করলে, আপনি ডিভাইসের মধ্যে পার্থক্যের জন্য আপনার অ্যাপের আচরণ পরীক্ষা করতে পারবেন, যেখানে ল্যান্ডস্কেপ ওরিয়েন্টেশন Surface.ROTATION_90-এর সাথে এবং ডিভাইস যেখানে এটি Surface.ROTATION_270-এর সাথে সম্পর্কিত।

OVERRIDE_LAYOUT_IN_DISPLAY_CUTOUT_MODE

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

চালু করা থাকলে, ডিসপ্লে কাট-আউট মোডের আচরণে লেআউট ওভাররাইড করে। এজ-টু-এজ এনফোর্স করা না থাকলে তবেই এটি প্রযোজ্য হবে।

OVERRIDE_MIN_ASPECT_RATIO

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

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

কোনও অ্যাপ প্যাকেজের জন্য এই পরিবর্তন চালু করা হলে, অ্যাপের ম্যানিফেস্টে দেওয়া ন্যূনতম অ্যাস্পেক্ট রেশিও ওভাররাইড করে সবচেয়ে বড় চালু করা অ্যাস্পেক্ট রেশিওতে সেট করা হয়, যদি না অ্যাপের ম্যানিফেস্ট ভ্যালু আরও বেশি হয়।

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

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

চালু করা থাকলে, উপলভ্য সব স্ক্রিন স্পেস ব্যবহার করার জন্য পোর্ট্রেট ফুলস্ক্রিনে ন্যূনতম অ্যাস্পেক্ট রেশিও সংক্রান্ত বিধিনিষেধ ওভাররাইড করে।

OVERRIDE_MIN_ASPECT_RATIO_LARGE

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

যখন OVERRIDE_MIN_ASPECT_RATIO চালু করা থাকে, তখন কোনও প্যাকেজের জন্য এই পরিবর্তন চালু করলে, অ্যাক্টিভিটির ন্যূনতম অ্যাস্পেক্ট রেশিও OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE-এর দ্বারা নির্ধারিত একটি বড় মানে সেট করা হয়।

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

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

এছাড়াও, OVERRIDE_MIN_ASPECT_RATIO চালু করা থাকলে, কোনও প্যাকেজের জন্য এই পরিবর্তন চালু করলে, অ্যাক্টিভিটির ন্যূনতম অ্যাস্পেক্ট রেশিও OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE-এর দ্বারা নির্ধারিত মিডিয়াম ভ্যালুতে সেট করা হয়।

OVERRIDE_MIN_ASPECT_RATIO_ONLY_FOR_CAMERA

আইডি পরিবর্তন করুন: ৩২৫৫৮৬৮৫৮
ডিফল্ট স্ট্যাটাস: সব অ্যাপের জন্য বন্ধ করা আছে।

চালু করা হলে, এমন ট্রিটমেন্টকে সীমাবদ্ধ করে যা প্রদত্ত ন্যূনতম অ্যাস্পেক্ট রেশিও প্রয়োগ করতে বাধ্য করে যাতে সেগুলি শুধুমাত্র তখনই প্রয়োগ করা হয় যখন কোনও অ্যাপ ক্যামেরার সাথে কানেক্ট করা থাকে।

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

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

এছাড়াও, OVERRIDE_MIN_ASPECT_RATIO চালু করা থাকলে, এই পরিবর্তন অন্য যেকোনও পরিবর্তনকে সীমিত করে যা কোনও অ্যাক্টিভিটির ন্যূনতম অ্যাস্পেক্ট রেশিওকে নির্দিষ্ট ভ্যালুতে সেট করতে বাধ্য করে—যেমন OVERRIDE_MIN_ASPECT_RATIO_LARGE এবং OVERRIDE_MIN_ASPECT_RATIO_MEDIUM—এমন অ্যাক্টিভিটির ক্ষেত্রে যেগুলির পোর্ট্রেট ওরিয়েন্টেশনও আছে।

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

পরিবর্তন আইডি: ২৩৬২৮৩৬০৪
ডিফল্ট স্ট্যাটাস: সব অ্যাপের জন্য বন্ধ করা আছে।

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

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

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

যে অ্যাপে এটি প্রয়োগ করা হয়েছে, সেটির জন্য SCREEN_ORIENTATION_NOSENSOR চালু করে। OVERRIDE_ANY_ORIENTATION চালু না করা থাকলে, অ্যাক্টিভিটিতে অন্য কোনও নির্দিষ্ট ওরিয়েন্টেশন উল্লেখ না করা থাকলে, শুধুমাত্র তখনই SCREEN_ORIENTATION_NOSENSOR ব্যবহার করা হয়।

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

পরিবর্তন আইডি: ২৬৫৪৫২৩৪৪
ডিফল্ট স্ট্যাটাস: সব অ্যাপের জন্য বন্ধ করা আছে।

যে অ্যাপে এটি প্রয়োগ করা হয়েছে, সেটির জন্য SCREEN_ORIENTATION_PORTRAIT চালু করে। OVERRIDE_ANY_ORIENTATION চালু না করা থাকলে, অ্যাক্টিভিটিতে অন্য কোনও নির্দিষ্ট ওরিয়েন্টেশন উল্লেখ না করা থাকলে, শুধুমাত্র তখনই SCREEN_ORIENTATION_PORTRAIT ব্যবহার করা হয়।

PARSE_CONTENT_DISPOSITION_USING_RFC_6266

পরিবর্তন আইডি: 319400769
ডিফল্ট স্ট্যাটাস: Android 15 (API লেভেল ৩৫) বা তার পরবর্তী ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

চালু করা হলে, RFC 6266 মেনে চলে এমন কন্টেন্ট-ডিসপোজিশন হেডার পার্স করার অনুমতি দেয়। বিশেষ করে, এটি filename* ভ্যালু পার্স করার সুবিধা দেয় যা অন্য অক্ষর এনকোডিং ব্যবহার করতে পারে।

RATE_LIMIT_TOASTS

পরিবর্তন আইডি: 174840628
ডিফল্ট স্ট্যাটাস: এই পরিবর্তন টগল করা যাবে না। এটি শুধুমাত্র কম্প্যাটিবিলিটি ফ্রেমওয়ার্কের মাধ্যমে লগ করা হয়।

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

STREAM_INT_DIFFERS_FROM_NEXT_INT

পরিবর্তন আইডি: 308103782
ডিফল্ট স্ট্যাটাস: Android 15 (API লেভেল 35) বা তার পরবর্তী ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

চালু করা হলে, Random.ints() পদ্ধতি এখন Random.nextInt() পদ্ধতির থেকে আলাদা সংখ্যার ক্রম রিটার্ন করে। https://bugs.openjdk.org/browse/JDK-8301574-এ করা পরিবর্তন থেকে এটি অনুসরণ করা হয়।

এই পরিবর্তন সম্পর্কে আরও জানতে, Android 15-এর আচরণ পরিবর্তন সংক্রান্ত পৃষ্ঠায় OpenJDK API পরিবর্তন সম্পর্কিত বিভাগটি দেখুন।

USE_EXPERIMENTAL_COMPONENT_ALIAS

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

চালু করা হলে, সিস্টেম "android" প্যাকেজকে কম্পোনেন্ট অ্যালিয়াস ব্যবহার করার অনুমতি দেয়।

USE_NEW_ISO_LOCALE_CODES

পরিবর্তন আইডি: 291868760
ডিফল্ট স্ট্যাটাস: Android 15 (API লেভেল ৩৫) বা তার পরবর্তী ভার্সনকে টার্গেট করে এমন অ্যাপের জন্য চালু করা হয়েছে।

চালু করা থাকলে, হিব্রু, ইদ্দিশ ও ইন্দোনেশিয়ান ভাষার কোড আর তাদের অপ্রচলিত ফর্মে (হিব্রু: iw, ইদ্দিশ: ji ও ইন্দোনেশিয়ান: in) পরিবর্তিত হয় না।

এই পরিবর্তন সম্পর্কে আরও জানতে, Android 15-এর আচরণ পরিবর্তন সংক্রান্ত পৃষ্ঠায় OpenJDK API পরিবর্তন সম্পর্কিত বিভাগটি দেখুন।