উইন্ডোম্যানেজার
| সর্বশেষ আপডেট | স্থিতিশীল রিলিজ | রিলিজ প্রার্থী | বিটা রিলিজ | আলফা রিলিজ |
|---|---|---|---|---|
| ২২ এপ্রিল, ২০২৬ | ১.৫.১ | - | - | ১.৬.০-আলফা০৩ |
নির্ভরতা ঘোষণা করা
WindowManager-এর উপর ডিপেন্ডেন্সি যোগ করতে হলে, আপনাকে আপনার প্রজেক্টে Google Maven রিপোজিটরি যোগ করতে হবে। আরও তথ্যের জন্য Google-এর Maven রিপোজিটরি পড়ুন।
আপনার অ্যাপ বা মডিউলের build.gradle ফাইলে প্রয়োজনীয় আর্টিফ্যাক্টগুলোর ডিপেন্ডেন্সি যোগ করুন:
গ্রোভি
dependencies { implementation "androidx.window:window:1.5.1" // For Java-friendly APIs to register and unregister callbacks implementation "androidx.window:window-java:1.5.1" // For RxJava2 integration implementation "androidx.window:window-rxjava2:1.5.1" // For RxJava3 integration implementation "androidx.window:window-rxjava3:1.5.1" // For testing implementation "androidx.window:window-testing:1.5.1" }
কোটলিন
dependencies { implementation("androidx.window:window:1.5.1") // For Java-friendly APIs to register and unregister callbacks implementation("androidx.window:window-java:1.5.1") // For RxJava2 integration implementation("androidx.window:window-rxjava2:1.5.1") // For RxJava3 integration implementation("androidx.window:window-rxjava3:1.5.1") // For testing implementation("androidx.window:window-testing:1.5.1") }
প্রতিক্রিয়া
আপনার মতামত জেটপ্যাককে আরও উন্নত করতে সাহায্য করে। আপনি যদি নতুন কোনো সমস্যা খুঁজে পান অথবা এই লাইব্রেরিটি উন্নত করার জন্য কোনো ধারণা থাকে, তবে আমাদের জানান। নতুন কোনো সমস্যা তৈরি করার আগে অনুগ্রহ করে এই লাইব্রেরির বিদ্যমান সমস্যাগুলো দেখে নিন। আপনি তারকা বোতামে ক্লিক করে কোনো বিদ্যমান সমস্যায় আপনার ভোট যোগ করতে পারেন।
আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।
সংস্করণ ১.৬
সংস্করণ 1.6.0-alpha03
২২ এপ্রিল, ২০২৬
androidx.window:window-*:1.6.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 1.6.0-alpha03-এ এই কমিটগুলো রয়েছে।
এপিআই পরিবর্তন
- এনগেজমেন্ট অবস্থা নিয়ন্ত্রণের জন্য এপিআই যোগ করুন। ( I98a09 , b/489793703 )
- ফিচারটি ট্রিগার করার সময় এর আচরণ সম্পর্কে আরও স্পষ্ট ধারণা দেওয়ার জন্য
transferActivityToWindowAreaনাম পরিবর্তন করে `transferToWindowAreaরাখা হয়েছে। এর ফলে এই মেথডটির সেশন-ভিত্তিক আচরণও দূর হয়ে যায়, কারণ এটি এমন একটি অপারেশন যা অনুরোধকারী প্রসেসটির চেয়েও বেশি সময় ধরে চলে। ( Ie7d6f , b/271644150 , b/273807246 , b/272064992 , b/473870239 ) -
WindowMetricsপাওয়ার জন্য নিরাপদ পদ্ধতি যোগ করুন ( I2adf8 , b/449386176 ) - স্পষ্টতার জন্য এনগেজমেন্ট মোডের ক্ষেত্রে WM এক্সটেনশনের পদ্ধতিগুলো আপডেট করুন। ( I219a4 , b/454438323 )
- গ্রিড ফর্মে
WindowSizeClassSetsতৈরি করার জন্য সহায়ক মেথড যোগ করুন। ( I4d623 , b/444174274 ) - এনগেজমেন্ট মোড পেতে এপিআই যোগ করুন। ( I9fef2 , b/423990404 )
- কলব্যাক-ভিত্তিক লিসেনার সরাসরি
WindowLayoutInfoতে যোগ করুন এবংWindowInfoTrackerCallbackAdapterঅপ্রচলিত ঘোষণা করুন। ( I1ff17 , b/423990404 ) - এক্সটেনশন-এ
WindowLayoutInfoকনস্ট্রাক্টরটি অপ্রচলিত করা হলো। ( I6ab65 , b/423990404 ) - রিপোর্টিং এনগেজমেন্ট মোডের জন্য এক্সটেনশন সাপোর্ট যোগ করা হয়েছে। ( I66211 , b/423990404 )
বাগ সংশোধন
- Compose
compileSdkএপিআই ৩৭-এ আপডেট করা হয়েছে। এর মানে হলো, Compose ব্যবহার করার জন্য ন্যূনতম এজিপি সংস্করণ ৯.২.০ প্রয়োজন। ( Id45cd , b/413674743 )
সংস্করণ 1.6.0-alpha01
১৯ নভেম্বর, ২০২৫
androidx.window:window-*:1.6.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.6.0-alpha01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
নতুন বৈশিষ্ট্য
- গ্রিড ফর্মে
WindowSizeClassSetsতৈরি করার জন্য সহায়ক মেথড যোগ করুন।
এপিআই পরিবর্তন
- গ্রিড ফর্মে
WindowSizeClassSetsতৈরি করার জন্য সহায়ক মেথড যোগ করুন। ( I4d623 , b/444174274 )
সংস্করণ ১.৫
সংস্করণ ১.৫.১
১৯ নভেম্বর, ২০২৫
androidx.window:window-*:1.5.1 প্রকাশিত হয়েছে। সংস্করণ 1.5.1-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
বাগ সংশোধন
- নির্দিষ্ট কিছু ডিভাইসে ( 4d58979 ) ঘটা
ClassCastExceptionসমাধান করা হয়েছে।
সংস্করণ ১.৫.০
২৪ সেপ্টেম্বর, ২০২৫
androidx.window:window-*:1.5.0 প্রকাশিত হয়েছে। সংস্করণ 1.5.0-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
১.৪.০ সংস্করণ থেকে গুরুত্বপূর্ণ পরিবর্তনসমূহ:
- Large এবং XLarge-এর জন্য
WindowSizeClassব্রেকপয়েন্ট যোগ করুন। ( I40d85 ) - অ্যাপ্লিকেশন কনটেক্সট পর্যন্ত
WindowMetricsগণনার পরিধি প্রসারিত করুন। ( I8eeeb , b/360934048 ) -
WindowLayoutInfoতে সরাসরি অ্যাক্সেস সক্ষম করতে একটি Getter প্রদান করুন ( Ie9513 ) - অ্যাপ প্রসেস পুনরায় চালু হলে এম্বেডিং স্টেট স্বয়ংক্রিয়ভাবে সংরক্ষণ এবং পুনরুদ্ধার করার জন্য এপিআই চালু করুন। ( Ie0295 )
- পরীক্ষামূলক
WindowInsetsAPI অপসারণ করা হয়েছে। ( I68a71 )
বাগ সংশোধন
- কিছু ক্ষেত্রে
EmbeddingRuleভিন্নhashCodeফেরত দেওয়ার সমস্যাটি সমাধান করা হয়েছে। ( I748cc ) - ডিভাইস ইমপ্লিমেন্টেশনে ত্রুটির কারণে যেখানে
NullPointerExceptionঘটতে পারত, তার সমাধান। - যেখানে প্রোগার্ড অব্যবহৃত ক্লাসগুলো সরিয়ে ফেলার কারণে আমাদের
ActivityEmbeddingনিরাপত্তা পরীক্ষাগুলো ব্যর্থ হচ্ছিল, তার সমাধান।
বাহ্যিক অবদান
-
window-core-এ সমস্ত KMP প্ল্যাটফর্ম যোগ করুন ( If3d7c )
সংস্করণ 1.5.0-rc01
২৭ আগস্ট, ২০২৫
androidx.window:window-*:1.5.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 1.5.0-rc01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
বাগ সংশোধন
- ডিভাইস ইমপ্লিমেন্টেশনে ত্রুটির কারণে যেখানে
NullPointerExceptionঘটতে পারত, তার সমাধান। - যেখানে প্রোগার্ড অব্যবহৃত ক্লাসগুলো সরিয়ে ফেলার কারণে আমাদের
ActivityEmbeddingনিরাপত্তা পরীক্ষাগুলো ব্যর্থ হচ্ছিল, তার সমাধান।
সংস্করণ 1.5.0-beta02
১৩ আগস্ট, ২০২৫
androidx.window:window-*:1.5.0-beta02 প্রকাশিত হয়েছে। সংস্করণ 1.5.0-beta02-এ এই কমিটগুলো রয়েছে।
নতুন বৈশিষ্ট্য
- ছোটখাটো ত্রুটি সংশোধন করা হয়েছে।
বাহ্যিক অবদান
-
window-core-এ সমস্ত KMP প্ল্যাটফর্ম যোগ করুন ( If3d7c )
সংস্করণ 1.5.0-beta01
২ জুলাই, ২০২৫
androidx.window:window-*:1.5.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.5.0-beta01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
সংস্করণ 1.5.0-alpha02
৭ মে, ২০২৫
androidx.window:window-*:1.5.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.5.0-alpha02-এ এই কমিটগুলো রয়েছে।
এপিআই পরিবর্তন
- Large এবং XLarge-এর জন্য
WindowSizeClassব্রেকপয়েন্ট যোগ করুন। ( I40d85 ) - অ্যাপ্লিকেশন কনটেক্সট পর্যন্ত
WindowMetricsগণনার পরিধি প্রসারিত করুন। ( I8eeeb , b/360934048 ) -
WindowLayoutInfoতে সরাসরি অ্যাক্সেস সক্ষম করতে একটি Getter প্রদান করুন ( Ie9513 ) - অ্যাপ প্রসেস পুনরায় চালু হলে এম্বেডিং স্টেট স্বয়ংক্রিয়ভাবে সংরক্ষণ এবং পুনরুদ্ধার করার জন্য এপিআই চালু করুন। ( Ie0295 )
- পরীক্ষামূলক
WindowInsetsAPI অপসারণ করা হয়েছে। ( I68a71 ) - কয়েকটি কনস্ট্রাক্টর লুকান ( I87b8d )
বাগ সংশোধন
- কিছু ক্ষেত্রে
EmbeddingRuleভিন্নhashCodeফেরত দেওয়ার সমস্যাটি সমাধান করা হয়েছে। ( I748cc )
সংস্করণ 1.5.0-alpha01
১২ মার্চ, ২০২৫
androidx.window:window-*:1.5.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.5.0-alpha01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
নতুন বৈশিষ্ট্য
- পরবর্তী ১.৫.০ সংস্করণের প্রাথমিক প্রকাশ।
সংস্করণ ১.৪
সংস্করণ ১.৪.০
২০ মে, ২০২৫
androidx.window:window-*:1.4.0 প্রকাশিত হয়েছে। সংস্করণ 1.4.0-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
১.৩.০ সংস্করণ থেকে গুরুত্বপূর্ণ পরিবর্তনসমূহ
- কার্যকলাপ অন্তর্ভুক্তি
- লঞ্চ অ্যানিমেশন কাস্টমাইজ করার জন্য এপিআই
- ইন্টারেক্টিভ ডিভাইডার
-
ActivityStackপিনিং - পূর্ণ স্ক্রিন ডায়ালগ ম্লান হওয়া
- এমবেডেড অ্যাক্টিভিটি উইন্ডো তথ্য কলব্যাক
- উন্নত
ActivityStackম্যানেজমেন্ট - একটি নির্দিষ্ট
ActivityStackঅ্যাক্টিভিটি চালু করুন
-
WindowMetricsCalculator- পরীক্ষাযোগ্যতা সমর্থন উন্নত করুন
-
WindowMetrics-
withDpএবংheightDpগণনা করার সুবিধাজনক পদ্ধতি - নতুন মান যোগ করার সুবিধার্থে বাউন্ডস চেক
isAtLeastএ আপডেট করুন এবং নিম্ন সীমা ব্যবহার করুন।
-
-
WindowSizeClass-
WindowMetricsথেকে গণনা করার উপায় যোগ করুন
-
-
WindowInfoTracker- ডিভাইসে সমর্থিত ভঙ্গিগুলো শনাক্ত করতে এপিআই যোগ করুন।
সংস্করণ 1.4.0-rc02
২৩ এপ্রিল, ২০২৫
androidx.window:window-*:1.4.0-rc02 প্রকাশিত হয়েছে। সংস্করণ 1.4.0-rc02-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
বাগ সংশোধন
-
ActivityEmbeddingএর জন্য একটি proguard ক্র্যাশ ঠিক করা হয়েছে।
সংস্করণ 1.4.0-rc01
১২ মার্চ, ২০২৫
androidx.window:window-*:1.4.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 1.4.0-rc01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
নতুন বৈশিষ্ট্য
-
WindowSizeClassAPI-এর হালনাগাদ। - অ্যাক্টিভিটি এমবেডিং এপিআই-এর আপডেট।
সংস্করণ 1.4.0-beta02
১২ ফেব্রুয়ারী, ২০২৫
androidx.window:window-*:1.4.0-beta02 প্রকাশিত হয়েছে। সংস্করণ 1.4.0-beta02-এ এই কমিটগুলো রয়েছে।
নতুন বৈশিষ্ট্য
- এমন একটি অ্যানোটেশন ঠিক করুন যা শুধুমাত্র প্রপার্টিতে ছিল কিন্তু গেটারে ছিল না।
সংস্করণ 1.4.0-beta01
১৫ জানুয়ারী, ২০২৫
androidx.window:window-*:1.4.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.4.0-beta01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
নতুন বৈশিষ্ট্য
-
ActivityEmbeddingঅ্যানিমেশন কাস্টমাইজ করার জন্য এপিআই যোগ করুন। - উইন্ডো মেট্রিক্সে জালিয়াতি করার সুযোগ দিতে
WindowMetricsCalculatorটেস্ট এপিআইগুলো সম্প্রসারিত করুন।
এপিআই পরিবর্তন
- কয়েকটি কনস্ট্রাক্টর লুকান ( I87b8d )
- অ্যাপগুলিকে
ActivityEmbeddingঅ্যানিমেশন কাস্টমাইজ করার অনুমতি দিন ( If31a8 ) -
watchosDeviceArm64KMP টার্গেট এবং kotlin 1.9 টার্গেটের জন্য সমর্থন যোগ করা হয়েছে ( Icf15d , b/364652024 ) -
WindowMetricsCalculatorAPI-গুলো উন্মুক্ত করুন। ( I1cebf )
বাগ সংশোধন
- এই লাইব্রেরিটি এখন JSpecify নালনেস অ্যানোটেশন ব্যবহার করে, যা টাইপ-ইউজ। সঠিক ব্যবহার নিশ্চিত করতে কোটলিন ডেভেলপারদের নিম্নলিখিত কম্পাইলার আর্গুমেন্টটি ব্যবহার করা উচিত:
-Xjspecify-annotations=strict(কোটলিন কম্পাইলারের ২.১.০ সংস্করণ থেকে এটি ডিফল্ট হিসেবে ব্যবহৃত হয়)। ( Ie69ac , b/326456246 )
সংস্করণ 1.4.0-alpha05
১৬ অক্টোবর, ২০২৪
androidx.window:window-*:1.4.0-alpha05 প্রকাশিত হয়েছে। সংস্করণ 1.4.0-alpha05-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
নতুন বৈশিষ্ট্য
-
WindowMetricsথেকেwidthDpএবংheightDpপাওয়ার জন্য সুবিধাজনক ফাংশন যোগ করুন।
এপিআই পরিবর্তন
-
WindowMetricsএwidthDpএবংheightDpযোগ করুন। ( Ide026 ) - পরীক্ষামূলক
WindowInsetsAPI অপসারণ করা হয়েছে। ( I68a71 ) - বাউন্ডস চেক মেথডের নাম
isAtLeast( Ib0ab7 ) এ আপডেট করুন।
সংস্করণ 1.4.0-alpha04
২ অক্টোবর, ২০২৪
androidx.window:window-*:1.4.0-alpha04 প্রকাশিত হয়েছে। সংস্করণ 1.4.0-alpha04-এ এই কমিটগুলো রয়েছে।
এপিআই পরিবর্তন
-
WindowMetricsথেকেWindowSizeClassগণনা করার জন্য একটি পদ্ধতি যোগ করা হয়েছে। ( 874dba ) - স্পষ্টতার জন্য
WindowSizeClassমেথডগুলোকেcontainsWidthDp,containsHeightDp, এবংcontainsWindowSizeDpতে পরিবর্তন করুন। ( fa760d ) -
WindowAreaControllerঅ্যাবস্ট্রাক্ট বেস ক্লাসে রূপান্তর করুন। ( I90893 )
বাগ সংশোধন
- একটি টেস্ট
FoldingFeatureতৈরি করার সময় আপেক্ষিক সীমার জন্য সমর্থন যোগ করুন। ( 2e6b3e ) -
WindowSizeClassনির্বাচন করার সময়কার সাধারণ বাগ সংশোধন।
সংস্করণ 1.4.0-alpha03
১৮ সেপ্টেম্বর, ২০২৪
androidx.window:window-*:1.4.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 1.4.0-alpha03-এ এই কমিটগুলো রয়েছে।
নতুন বৈশিষ্ট্য
-
WindowMetricsথেকেWindowSizeClassপাওয়ার জন্য একটি ইউটিলিটি মেথড যোগ করুন। ( I83f1f ) -
isAtLeastcontainsBreakpointএ পুনঃনামকরণ করুন। ( I85b47 ) - float ব্যবহার করে
computeWindowSizeClassএ ওভারলোড যোগ করুন। ( I3dcb2 , b/364677934 , b/364677802 , b/364680886 )
বাগ সংশোধন
- ডিফল্ট
WindowSizeClassব্রেকপয়েন্ট সেটে অনুপস্থিত ব্রেকপয়েন্টগুলো যোগ করুন। - একটি বাগ সংশোধন করা হয়েছে, যার ফলে কিছু ক্ষেত্রে কম্প্যাক্ট ডাইমেনশন সঠিকভাবে নির্বাচিত হচ্ছিল না।
সংস্করণ 1.4.0-alpha02
৪ সেপ্টেম্বর, ২০২৪
androidx.window:window-*:1.4.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.4.0-alpha02-এ এই কমিটগুলো রয়েছে।
নতুন বৈশিষ্ট্য
কাস্টম WindowSizeClass এর জন্য সমর্থন যোগ করুন।
-
WindowSizeClassএর কনস্ট্রাক্টরটি উন্মুক্ত করুন, যাতে ডেভেলপাররা তাদের নিজস্ব কনস্ট্রাক্টর ব্যবহার করতে পারেন। -
isAtLeastইউটিলিটি মেথড যোগ করুন যাতে ডেভেলপাররাWindowSizeClassএর বিভিন্ন মান প্রসেস করতে পারে। -
Set<WindowSizeClass>এর উপর একটি এক্সটেনশন ফাংশন যোগ করুন, যা Set-টি থেকে সেরা মিলটি নির্ণয় করবে। - অ্যান্ড্রয়েডের প্রস্তাবিত ব্রেকপয়েন্টগুলোর জন্য কনস্ট্যান্ট যোগ করুন।
- অ্যান্ড্রয়েডের প্রস্তাবিত ব্রেকপয়েন্টগুলোর সাথে সামঞ্জস্যপূর্ণ ব্রেকপয়েন্ট সেটটি যোগ করুন।
এপিআই পরিবর্তন
-
WindowSizeClassজন্য বাউন্ডস মেথডের নাম আপডেট করুন। ( If89a6 ) - ভবিষ্যতে নতুন ব্রেকপয়েন্ট ভ্যালু যোগ করার সুবিধা যোগ করতে
WindowSizeClassAPI আপডেট করা হবে। অ্যাবসোলিউট বাউন্ডের পরিবর্তে আমরা লোয়ার বাউন্ড ব্যবহার করব এবং ডেভেলপারদেরWindowSizeClassপ্রসেস করার সময় লোয়ার বাউন্ড চেক করার পরামর্শ দেওয়া হচ্ছে। বিদ্যমানWindowWidthSizeClassএবংWindowHeightSizeClassডেপ্রিকেটেড করা হবে, কারণ এগুলোর আর কোনো উন্নয়ন করা হবে না। ( I014ce )
সংস্করণ 1.4.0-alpha01
৭ আগস্ট, ২০২৪
androidx.window:window-*:1.4.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.4.0-alpha01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
নতুন বৈশিষ্ট্য
- অ্যাক্টিভিটিস্ট্যাক পিনিং অ্যাপগুলিকে একটি কন্টেইনারের কন্টেন্ট পিন করতে এবং এর নেভিগেশনকে অন্য কন্টেইনার থেকে বিচ্ছিন্ন রাখতে সাহায্য করে।
- ইন্টারেক্টিভ ডিভাইডার অ্যাপগুলিকে একটি স্প্লিট প্রেজেন্টেশনের দুটি অ্যাক্টিভিটির মধ্যে একটি স্থির বা ড্র্যাগযোগ্য ডিভাইডার প্রদর্শন করার সুযোগ দেয়।
- ফুলস্ক্রিন ডায়ালগ ডিমিং অ্যাপগুলিকে ডায়ালগের ডিম এলাকা নির্দিষ্ট করার সুযোগ দেয়, যার মাধ্যমে হয় পুরো টাস্ক উইন্ডোটিকে অথবা শুধুমাত্র ডায়ালগ প্রদর্শনকারী কন্টেইনারটিকে ডিম করা যায়।
- এমবেডেড অ্যাক্টিভিটি উইন্ডো ইনফো কলব্যাক অ্যাপগুলিকে এমবেডেড অ্যাক্টিভিটি উইন্ডোর আপডেট ক্রমাগত গ্রহণ করার সুযোগ দেয়।
- অ্যানিমেশন ব্যাকগ্রাউন্ড এমবেড করার মাধ্যমে অ্যাপগুলো অ্যানিমেশনের ব্যাকগ্রাউন্ড নির্দিষ্ট করতে পারে, যা
ActivityEmbeddingব্যবহার করা হলে ট্রানজিশন অ্যানিমেশনের মান উন্নত করে। - উন্নত অ্যাক্টিভিটিস্ট্যাক ম্যানেজমেন্ট অ্যাপগুলিকে
ActivityEmbeddingব্যবহার করার সময়ActivityStacksউপর আরও বেশি নিয়ন্ত্রণ দেয়, যার মধ্যে রয়েছে: - একটি নির্দিষ্ট
ActivityStackএকটি অ্যাক্টিভিটি চালু করা - একটি
ActivityStackশেষ করা
এপিআই পরিবর্তন
একটি নতুন এপিআই
WindowInfoTracker#supportedPostures:- ডিভাইসটি ফোল্ডেবল ডিভাইসের জন্য টেবিলটপ মোড সমর্থন করে কিনা তা নির্ধারণ করার একটি এপিআই। এতে WindowAreaSessionPresenter#getWindow যোগ করা হয়েছে।
ActivityStackপিনিং সমর্থন করার জন্য এপিআই যোগ করুন:-
SplitPinRuleক্লাস -
SplitController#pinTopActivityStack -
SplitController#unpinTopActivityStack
-
ইন্টারেক্টিভ ডিভাইডার সক্রিয় এবং কনফিগার করতে এপিআই যোগ করুন।
-
DividerAttributesক্লাস -
SplitAttributes.Builder#setDividerAttributes
-
ডায়ালগের জন্য
EmbeddingConfigurationএবংDimAreaBehaviorসেট করতে API যোগ করুন-
EmbeddingConfigurationক্লাস -
DimAreaBehaviorক্লাস -
ActivityEmbeddingController#setEmbeddingConfiguration
-
এমবেডেড অ্যাক্টিভিটি উইন্ডোর তথ্য আপডেট পেতে এপিআই যোগ করুন
-
EmbeddedActivityWindowInfoক্লাস -
ActivityEmbeddingController#embeddedActivityWindowInfo
-
এম্বেডিং অ্যানিমেশন ব্যাকগ্রাউন্ড সেট করার জন্য এপিআই যোগ করুন
-
EmbeddingAnimationBackground -
SplitAttributes.Builder#setAnimationBackground
-
ActivityStacksশেষ করতে এপিআই যোগ করুন-
ActivityEmbeddingController#finishActivityStacks
-
ActivityStackচালু করার জন্য API যোগ করুন-
ActivityEmbeddingOptions#setLaunchingActivityStack
-
নিম্নলিখিত API-গুলো স্থিতিশীল এবং এখন আর পরীক্ষামূলক পর্যায়ে নেই:
-
ActivityEmbeddingController#invalidateVisibleActivityStacks(SplitController#invalidateTopVisibleSplitAttributes থেকে স্থানান্তরিত) -
ActivityEmbeddingController#getActivityStack -
SplitController#updateSplitAttributes
-
১.৪ এর জন্য এপিআই যোগ করুন। ( I56774 )
বাগ সংশোধন
- কিছু নির্দিষ্ট ডিভাইসের একটি বাগ সংশোধন করা হয়েছে, যেখানে সেশন সক্রিয় থাকা অবস্থায় ACTIVE-এর পরিবর্তে UNAVAILABLE প্রদর্শিত হতো।
- অস্থিতিশীল এপিআই সমর্থনের কারণে
vendorApiLevel2 যুক্ত ডিভাইসগুলো থেকেtransferActivityToWindowAreaএর সমর্থন তুলে নেওয়া হয়েছে। - অ্যাক্টিভিটি এমবেডিং-এর ড্র্যাগযোগ্য ডিভাইডারের জন্য ড্র্যাগ-টু-ফুলস্ক্রিন সুবিধা চালু করতে এপিআই চালু করা হলো। ( I645c9 )
- অ্যাপগুলিকে
SplitAttributesএর অ্যানিমেশন প্যারামিটারের মাধ্যমেActivityEmbeddingঅ্যানিমেশন নিষ্ক্রিয় করার অনুমতি দিন। ( Idc01a ) - নতুন প্ল্যাটফর্ম এপিআই-গুলিতে অ্যাক্সেসের ম্যানুয়াল রূপরেখা সরিয়ে দেওয়া হয়েছে, কারণ AGP 7.3 বা তার পরবর্তী সংস্করণের (যেমন R8 সংস্করণ 3.3) সাথে R8 ব্যবহার করার সময় এবং AGP 8.1 বা তার পরবর্তী সংস্করণের (যেমন D8 সংস্করণ 8.1) সাথে সমস্ত বিল্ডের জন্য এটি এপিআই মডেলিংয়ের মাধ্যমে স্বয়ংক্রিয়ভাবে ঘটে। যেসব ক্লায়েন্ট AGP ব্যবহার করছেন না, তাদের D8 সংস্করণ 8.1 বা তার পরবর্তী সংস্করণে আপডেট করার পরামর্শ দেওয়া হচ্ছে। আরও বিস্তারিত জানতে এই নিবন্ধটি দেখুন। ( Ia60e0 , b/345472586 )
- এক্সটেনশনগুলিকে
SplitAttributesজন্য অ্যানিমেশন প্যারামিটার গ্রহণ করার অনুমতি দিন, যাতে ডিভাইসটি অ্যানিমেশন ট্রানজিশনের জন্য এটি ব্যবহার করতে পারে। ( Iede00 ) - ওভারলে এপিআই লুকান ( Ic4251 )
- স্প্লিটের জন্য স্থির বা ড্র্যাগযোগ্য ডিভাইডার কনফিগার করার জন্য এপিআই চালু করুন ( Ia7a78 )
-
WindowMetricsএ ঘনত্ব যোগ করা হয়েছে ( Id6723 ) -
SupportedPosturesপেতে API যোগ করুন। ( If557a ) - পরীক্ষামূলক API থেকে
setLaunchingActivityStackসরিয়ে ফেলুন ( I191cf ) -
ActivityEmbeddingController#embeddedActivityWindowInfo( I24312 ) চালু করুন -
#getTokenঅপ্রচলিত করুন এবং#getActivityStackTokenযোগ করুন ( Ie0471 ) -
embeddedActivityWindowInfoফ্লো এপিআই-এর জন্য কলব্যাক অ্যাডাপ্টার চালু করুন ( Ida77f ) - overlayInfo ফ্লো API-এর জন্য কলব্যাক অ্যাডাপ্টার যোগ করুন ( I7264f )
- পরীক্ষার জন্য
extensionsVersionওভাররাইড করতেWindowSdkExtensionsRuleচালু করুন। ( Ifb928 ) -
ActivityOptionsCompatব্যবহারের সাথে সামঞ্জস্য রাখতে#setLaunchingActivityStackকে Bundle-এ স্থানান্তর করুন।- ব্যবহারকারীদের সরাসরি
ActvityOptionsএর পরিবর্তেactivityOptions.toBundleপাস করা উচিত। -
#setLaunchingActivityStack(Activity)সরিয়ে ফেলুন। ব্যবহারকারীদেরActivityEmbeddingController#getActivityStac(Activity)ব্যবহার করে একটিActivityStackপেতে হবে এবং সেইActivityStack#setLaunchingActivityStackএ পাস করতে হবে। ( Ie0ccc )
- ব্যবহারকারীদের সরাসরি
- WM Jetpack এবং এক্সটেনশনগুলির মধ্যে যোগাযোগের জন্য শনাক্তকারী হিসেবে
ActivityStack.TokenএবংSpltInfo.Tokenচালু করুন।- IBinder-এর পরিবর্তে টোকেন গ্রহণ বা ফেরত দেওয়ার জন্য API-গুলো বাতিল/প্রতিস্থাপন করুন। ( I12b24 )
-
ActivityEmbeddingController#invalidateVisibleActivityStacksচালু করুন-
SplitController#invalidateTopVisibleSplitAttributesসরিয়ে ফেলা হয়েছে কারণ ফিচারটি#invalidateVisibleActivityStacksএর সাথে একীভূত করা হয়েছে ( I02ef5 )
-
- - এম্বেডিং কনফিগারেশন সেট করার জন্য এপিআই যোগ করা হচ্ছে। ( I59a4a )
- - শীর্ষ
ActivityStackandroidx.WindowAPI-গুলিতে পিন/আনপিন যোগ করা- শীর্ষ
ActivityStack( I24dd3 ) পিন/আনপিন করার অনুমতি দিতে ডেমো অ্যাপ আপডেট করা হচ্ছে।
- শীর্ষ
-
#finishActivityStacksএবংActivityEmbeddingOptionsপুনরায় যোগ করুন ( Ic1ab3 ) - অস্থিতিশীল এপিআইগুলো অপসারণ করুন। ( Ibc534 , b/302380585 )
সংস্করণ ১.৩
সংস্করণ ১.৩.০
২৯ মে, ২০২৪
androidx.window:window-*:1.3.0 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
১.২.০ সংস্করণ থেকে গুরুত্বপূর্ণ পরিবর্তনসমূহ
- কোটলিনে উইন্ডো সাইজ ক্লাসগুলোর মাল্টিপ্ল্যাটফর্ম সমর্থন।
সংস্করণ 1.3.0-rc01
১৪ মে, ২০২৪
WindowManager Jetpack 1.3-এ WindowSizeClass ফিচারগুলোর জন্য কোটলিন মাল্টিপ্ল্যাটফর্ম সাপোর্টের পাশাপাশি একাধিক বাগ ফিক্স করা হয়েছে।
androidx.window:window-*:1.3.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-rc01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
সংস্করণ 1.3.0-beta02
১ মে, ২০২৪
androidx.window:window-*:1.3.0-beta02 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-beta02-এ এই কমিটগুলো রয়েছে।
এপিআই পরিবর্তন
- কাস্টম
WindowSizeClassতৈরি এবং ব্যবহারের সমর্থন সরানো হয়েছে। ( Id1143 )
বাগ সংশোধন
- নির্দিষ্ট কিছু ডিভাইস ইমপ্লিমেন্টেশনে proguard কর্তৃক কিছু ফাইল বাদ দেওয়ার কারণে সৃষ্ট
KotlinReflectionInternalErrorসমাধান করা হয়েছে। ( I01b02 )
সংস্করণ 1.3.0-beta01
৩ এপ্রিল, ২০২৪
androidx.window:window-*:1.3.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-beta01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
সংস্করণ 1.3.0-alpha03
৬ মার্চ, ২০২৪
androidx.window:window-*:1.3.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha03-এ এই কমিটগুলো রয়েছে।
এপিআই পরিবর্তন
-
WindowSizeClassUtilআরও সুনির্দিষ্ট মেথডে বিভক্ত করুন। ( Ie9292 ) -
WindowSizeClass#computeপুনরুদ্ধার করুন ( I21355 , b/324293374 )
বাগ সংশোধন
- যেখানে প্রদত্ত কনটেক্সট সঠিকভাবে আনর্যাপ করা হচ্ছিল না, সেই ক্র্যাশটি সংশোধন করা হয়েছে। ( 94d10ce , b/318787482 )
সংস্করণ 1.3.0-alpha02
৭ ফেব্রুয়ারী, ২০২৪
androidx.window:window-*:1.3.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha02-এ এই কমিটগুলো রয়েছে।
নতুন বৈশিষ্ট্য
- যেসব ডেভেলপাররা তাদের নিজস্ব সাইজ ক্লাস ব্যবহার করতে চান, তাদের জন্য নমনীয়তা বাড়াতে উইন্ডো সাইজ ক্লাস এপিআই-এর কাঠামোতে আপডেট আনা হয়েছে।
এপিআই পরিবর্তন
- প্রস্থ নির্বাচকের সাথে উচ্চতার সীমাবদ্ধতা যোগ করুন। ( I23393 )
- একটি সেট থেকে
WindowSizeClassবাছাই করার জন্য ইউটিলিটি ফাংশন যোগ করুন। পরীক্ষামূলক স্কোরিং ফাংশন যোগ করুন যাতে ডেভেলপাররা তাদের নিজস্ব সিলেক্টর লিখতে পারে। একটি নির্দিষ্ট সীমার মধ্যে সবচেয়ে প্রশস্তWindowSizeClassবাছাই করার জন্য একটি সিলেক্টর এক্সটেনশন ফাংশন যোগ করুন। ( I0c944 ) - কাস্টম ব্রেকপয়েন্ট যোগ করার জন্য
WindowSizeClassকনস্ট্রাক্টরটি খুলুন। ( Ic1ff3 ) - প্রস্থ, উচ্চতা এবং ঘনত্ব থেকে সাইজ ক্লাস তৈরি করার জন্য একটি সুবিধাজনক ফাংশন যোগ করা হয়েছে। ( If67f4 )
বাগ সংশোধন
- ফ্লোট মান 0-তে ছেঁটে ফেলা হলে যে ব্যতিক্রম ঘটে, তা ঠিক করা হয়েছে। ( 272ffac )
সংস্করণ 1.3.0-alpha01
১৫ নভেম্বর, ২০২৩
androidx.window:window-*:1.3.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
নতুন বৈশিষ্ট্য
- পেছনের স্ক্রিন অ্যাক্সেস করার জন্য পরীক্ষামূলক উইন্ডো এপিআইগুলো উন্মুক্ত করুন।
-
FoldingFeatureতৈরির জন্য টেস্ট এপিআই এখন স্থিতিশীল। - নকল
ActivityEmbeddingমান সেট আপ করার জন্য টেস্ট এপিআইগুলো এখন স্থিতিশীল। -
UiContextথেকে কোনো মান গ্রহণ করার সময়WindowLayoutInfoPublisherRuleএখন ওভাররাইডটি রিপোর্ট করে। -
WindowInfoTrackerফোল্ডিং ফিচারের ডেটাUiContextপ্যারামিটারগুলিতে রিপোর্ট করে। - ডিভাইসে এক্সটেনশন সংস্করণটি প্রকাশ করুন।
- ব্যবহারকারীর অ্যাপ-ভিত্তিক ওভাররাইডের জন্য
WindowPropertiesধ্রুবকসমূহ:-
PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_OVERRIDE— সিস্টেমকে জানায় যে অ্যাপটি ব্যবহারকারীর জন্য প্রদর্শিত অ্যাস্পেক্ট রেশিও সামঞ্জস্যতা ওভাররাইড থেকে নিজেকে সরিয়ে নিয়েছে। -
PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_FULLSCREEN_OVERRIDE— সিস্টেমকে জানায় যে অ্যাপটি ব্যবহারকারীর অ্যাস্পেক্ট রেশিও কম্প্যাটিবিলিটি ওভাররাইড সেটিংসের ফুল-স্ক্রিন বিকল্পটি বেছে নেয়নি।
-
সংস্করণ ১.২
সংস্করণ ১.২.০
১৫ নভেম্বর, ২০২৩
androidx.window:window-*:1.2.0 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
১.১.০ সংস্করণ থেকে গুরুত্বপূর্ণ পরিবর্তনসমূহ
- পেছনের স্ক্রিন অ্যাক্সেস করার জন্য পরীক্ষামূলক উইন্ডো এপিআইগুলো উন্মুক্ত করুন।
-
FoldingFeatureতৈরির জন্য টেস্ট এপিআই এখন স্থিতিশীল। - নকল
ActivityEmbeddingমান সেট আপ করার জন্য টেস্ট এপিআইগুলো এখন স্থিতিশীল। -
UiContextথেকে কোনো মান গ্রহণ করার সময়WindowLayoutInfoPublisherRuleএখন ওভাররাইডটি রিপোর্ট করে। -
WindowInfoTrackerফোল্ডিং ফিচারের ডেটাUiContextপ্যারামিটারগুলিতে রিপোর্ট করে। - ডিভাইসে এক্সটেনশন সংস্করণটি প্রকাশ করুন।
সংস্করণ 1.2.0-rc01
১ নভেম্বর, ২০২৩
androidx.window:window-*:1.2.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-rc01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
নতুন বৈশিষ্ট্য
- পেছনের স্ক্রিন অ্যাক্সেস করার জন্য পরীক্ষামূলক উইন্ডো এপিআইগুলো উন্মুক্ত করুন।
-
FoldingFeatureতৈরির জন্য টেস্ট এপিআই এখন স্থিতিশীল। - নকল
ActivityEmbeddingমান সেট আপ করার জন্য টেস্ট এপিআইগুলো এখন স্থিতিশীল। -
UiContextথেকে কোনো মান গ্রহণ করার সময়WindowLayoutInfoPublisherRuleএখন ওভাররাইডটি রিপোর্ট করে। -
WindowInfoTrackerফোল্ডিং ফিচারের ডেটাUiContextপ্যারামিটারগুলিতে রিপোর্ট করে। - ডিভাইসে এক্সটেনশন সংস্করণটি প্রকাশ করুন।
সংস্করণ 1.2.0-beta04
১৮ অক্টোবর, ২০২৩
androidx.window:window-*:1.2.0-beta04 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-beta04-এ এই কমিটগুলো রয়েছে।
এপিআই পরিবর্তন
- অস্থিতিশীল এপিআইগুলো অপসারণ করুন। ( Ibc534 , b/302380585 )
সংস্করণ 1.2.0-beta03
২০ সেপ্টেম্বর, ২০২৩
androidx.window:window-*:1.2.0-beta03 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-beta03-এ এই কমিটগুলো রয়েছে।
নতুন বৈশিষ্ট্য
- যেসব API-এর সঠিকভাবে কাজ করার জন্য এক্সটেনশনের একটি নির্দিষ্ট সংস্করণ প্রয়োজন, সেগুলোর জন্য
RequiresApiচেক যোগ করুন। - ডিভাইসে এক্সটেনশনের সংস্করণটি প্রকাশ করার জন্য একটি API যোগ করুন।
এপিআই পরিবর্তন
- পাবলিক এপিআইগুলোতে প্রয়োজনীয় উইন্ডো এসডিকে এক্সটেনশন ভার্সন উল্লেখ করুন।
- অ্যাক্টিভিটি এমবেডিং কম্পোনেন্ট থেকে
isXXXSupportedসরিয়ে ফেলুন। ( Ie3dae )
- অ্যাক্টিভিটি এমবেডিং কম্পোনেন্ট থেকে
- ডিভাইসে এক্সটেনশনের সংস্করণ জানানোর জন্য
WindowSdkExtensionsচালু করুন।- ন্যূনতম প্রয়োজনীয় এক্সটেনশন সংস্করণ টীকাভুক্ত করতে
RequiresWindowSdkExtensionচালু করুন। ( I05fd4 )
- ন্যূনতম প্রয়োজনীয় এক্সটেনশন সংস্করণ টীকাভুক্ত করতে
-
WindowAreaInfo#getCapabilityনন-নালেবল করে তোলে। ( I17048 )
সংস্করণ 1.2.0-beta01
২৬ জুলাই, ২০২৩
androidx.window:window-*:1.2.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-beta01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
নতুন বৈশিষ্ট্য
- পেছনের স্ক্রিন অ্যাক্সেস করার জন্য পরীক্ষামূলক উইন্ডো এপিআইগুলো উন্মুক্ত করুন।
-
FoldingFeatureতৈরির জন্য টেস্ট এপিআই এখন স্থিতিশীল। - নকল
ActivityEmbeddingমান সেট আপ করার জন্য টেস্ট এপিআইগুলো এখন স্থিতিশীল। -
UiContextথেকে কোনো মান গ্রহণ করার সময়WindowLayoutInfoPublisherRuleএখন ওভাররাইডটি রিপোর্ট করে। -
WindowInfoTrackerফোল্ডিং ফিচারের ডেটাUiContextপ্যারামিটারগুলিতে রিপোর্ট করে।
এপিআই পরিবর্তন
- 1.3 সংস্করণে একটি স্থিতিশীল রিলিজের জন্য API পরিবর্তনগুলি চালিয়ে যাওয়ার অনুমতি দিতে
WindowAreaAPI-গুলিকে পরীক্ষামূলক হিসেবে চিহ্নিত করা হয়েছে ( I857f5 ) - সামঞ্জস্য দমন টীকাযুক্ত করতে API ফাইলগুলি আপডেট করা হয়েছে ( I8e87a , b/287516207 )
সংস্করণ 1.2.0-alpha03
২১ জুন, ২০২৩
androidx.window:window-*:1.2.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha03-এ এই কমিটগুলো রয়েছে।
নতুন বৈশিষ্ট্য
- এপিআই সারফেস থেকে অপ্রচলিত এপিআইগুলো অপসারণ করা হচ্ছে।
- একই সাথে একাধিক ডিসপ্লে সমর্থন করার জন্য এপিআই যোগ করুন।
- জোরপূর্বক রিসাইজ ওভাররাইড থেকে অপ্ট আউট করার জন্য একটি প্রপার্টি যোগ করুন।
- ন্যূনতম অ্যাসপেক্ট রেশিও ওভাররাইড থেকে অপ্ট আউট করতে প্রপার্টি যোগ করুন।
- অ্যাক্টিভিটি এমবেডিং সংক্রান্ত ইউনিট টেস্টিং সমর্থন করার জন্য
ActivityEmbeddingRuleস্থিতিশীল করুন।
এপিআই পরিবর্তন
বাগ সংশোধন
- ফোর্স রিসাইজ ওভাররাইডের জন্য অপ্ট-আউট কম্প্যাট প্রপার্টি যোগ করা ( Ie7ab1 )
- এক্সটেনশন ইন্টারফেস থেকে
SESSION_STATE_CONTENT_INVISIBLEঅপসারণ করে। ( I6ed19 ) - অ্যাক্টিভিটি এমবেডিং সংক্রান্ত ইউনিট টেস্টিং সমর্থন করার জন্য
ActivityEmbeddingRuleস্থিতিশীল করা হয়েছে। ( I8d6b6 ) - ন্যূনতম অ্যাসপেক্ট রেশিও ওভাররাইডের জন্য অপ্ট-আউট কম্প্যাট প্রপার্টি যোগ করা হচ্ছে। ( I66390 )
- অপ্রচলিত WindowArea API-গুলো সরিয়ে দেয় ( Ieb67c )
- ওরিয়েন্টেশন রিকোয়েস্ট লুপ প্রপার্টির নাম পরিবর্তন করে
PROPERTY_COMPAT_ALLOW_IGNORING_ORIENTATION_REQUEST_WHEN_LOOP_DETECTEDরাখুন। ( Ie2fbd ) - উইন্ডো এরিয়া সেশন কনস্ট্যান্ট নাম আপডেট করে ( I83675 )
- অপ্ট-আউট কম্প্যাট প্রপার্টি যোগ করা হচ্ছে যা সনাক্ত হলে ওরিয়েন্টেশন রিকোয়েস্ট লুপ উপেক্ষা করে ( I0a7a2 )
- ফিচারটি যে ইতিমধ্যেই সক্রিয় আছে তা বোঝাতে
WindowAreaComponent#STATUS_ACTIVEযোগ করুন। ( I62bc3 ) -
RearDisplayPresentationModeAPI যোগ করুন ( I0401c ) - স্থিতিশীল সংস্করণের জন্য ব্যাকগ্রাউন্ড কালার এপিআই সরানো হয়েছে। ( I34c3e )
- উইন্ডো এরিয়া লুকানোর এপিআই। ( I39de0 )
-
SplitControllerএরSplitInfoওভাররাইড করার জন্য মেথড যোগ করুন।SplitInfoএবংActivityStackজন্য ডাবল তৈরি করতে টেস্ট মেথড যোগ করুন। ( Icd69f ) -
ActivityRule.Builderএর জন্য ট্যাগ ঐচ্ছিক করুন। ( Ib0b44 ) -
RatioSplitType,ExpandContainersSplitএবংHingeSplitTypeসরিয়ে ফেলা হয়েছে। এখন এগুলোর নামSplitType।-
#splitEqually(),#expandContainers()এবং#splitByHingeSplitType SPLIT_TYPE_EQUAL,SPLIT_TYPE_EXPANDএবংSPLIT_TYPE_HINGEকনস্ট্যান্ট SplitType দিয়ে প্রতিস্থাপন করুন। - হিঞ্জ স্প্লিট টাইপের ফলব্যাক টাইপ সেট করার কার্যকারিতাটি সরিয়ে ফেলা হয়েছে। যদি বর্তমান ডিভাইস বা উইন্ডোর অবস্থার কারণে হিঞ্জ স্প্লিট টাইপ প্রয়োগ করা না যায়, তবে এটি প্যারেন্ট টাস্ক কন্টেইনারকে সমানভাবে বিভক্ত করার জন্য ফলব্যাক করে। ফলব্যাক স্প্লিট টাইপ কাস্টমাইজ করতে
SplitController#setSplitAttributesCalculatorব্যবহার করুন। ( Ifcc59 )
-
- অপ্রচলিত
add/removeSplitCallback-
add/removeSplitCallbackSplitControllerCallbackAdapterএ স্থানান্তর করুন -
SplitInfoতালিকা পেতেFlowসমর্থন যোগ করুন ( I7f1b6 )
-
-
ActivityEmbeddingController( I42e9b ) এর জন্য একটি টেস্ট রুল যোগ করুন -
ActivityOptionsCompatনাম পরিবর্তন করেActivityEmbeddingOptionsরাখা ( I89301 ) - অ্যাক্টিভিটি এমবেডিং উপলব্ধ আছে কিনা তা নির্দেশ করতে
splitSupportStatusযোগ করুন। ( I10024 ) -
DEFAULTমানকে আরও ভালোভাবে উপস্থাপন করার জন্যSplitAttributes.BackgroundColorচালু করা হয়েছে। এটি স্পষ্ট করা হয়েছে যে অস্বচ্ছ নয় এমন অ্যানিমেশন ব্যাকগ্রাউন্ড কালার সমর্থিত নয়, তাই যেকোনো অস্বচ্ছ নয় এমন কালারকেই ডিফল্ট হিসেবে গণ্য করা হবে, যার অর্থ হলো বর্তমান থিম উইন্ডোর ব্যাকগ্রাউন্ড কালার ব্যবহার করা হবে। ( Ic6b95 ) -
alwaysAllow()এবংalwaysDisallow()কেALWAYS_ALLOWএবংALWAYS_DISALLOWদ্বারা প্রতিস্থাপন করুন। ( I3057b ) -
SplitRule,SplitAttributes,SplitAttributesCalculatorএর জন্য API যোগ করুন। ( I92d23 ) - পরীক্ষার জন্য
ActivityStackতৈরি করতেTestActivityStackযোগ করুন- পরীক্ষার জন্য
SplitInfoতৈরি করতেTestSplitInfoযোগ করুন। ( I8e779 )
- পরীক্ষার জন্য
- নকল
SplitAttributesCalculatorParamsতৈরি করার একটি উপায় যোগ করুন যাতে ডেভেলপাররা তাদের কাস্টমাইজ করাSplitAttributesCalculatorযাচাই করতে পারে ( Id4a6e ) -
WindowMetricsCalculator#computeCurrentWindowMetrics(@UiContext context: Context)এবংWindowMetricsCalculator#computeMaximumWindowMetrics(@UiContext context: Context)যোগ করুন ( I66c7f )
সংস্করণ 1.2.0-alpha02
৭ জুন, ২০২৩
androidx.window:window-*:1.2.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha02-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
নতুন বৈশিষ্ট্য
- অনির্দিষ্ট ফোল্ডিং বৈশিষ্ট্যগুলির জন্য একটি ধ্রুবক অন্তর্ভুক্ত করতে টেস্ট এপিআই আপডেট করুন।
-
WindowLayoutInfoPublishRuleদিয়ে ওভাররাইড করলে Context ভিত্তিক API সহwindowLayoutInfoএর সমস্ত মান ওভাররাইড হয়ে যাবে।
এপিআই পরিবর্তন
- অনির্দিষ্ট কেন্দ্র ভাঁজ বৈশিষ্ট্যের জন্য ধ্রুবক যোগ করুন। ( I7530c )
বাগ সংশোধন
-
Contextভিত্তিকWindowLayoutInfoতে ওভাররাইড সমর্থন করার জন্যWindowLayoutInfoPublishRuleআপডেট করুন। ( I2037a )
সংস্করণ 1.2.0-alpha01
২৪ মে, ২০২৩
androidx.window:window-*:1.2.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
নতুন বৈশিষ্ট্য
Activity Embedding এবং WindowLayoutInfoTracker সম্পর্কিত টেস্টিং এপিআই-গুলো স্থিতিশীল করা হয়েছে। ActivityEmbeddingRule স্থিতিশীল (stable) হিসেবে উন্নীত করা হয়েছে। WindowMetricsCalculatorRule স্থিতিশীল (stable) হিসেবে উন্নীত করা হয়েছে। পরীক্ষার জন্য FoldingFeature তৈরি করার ইউটিলিটি ফাংশনগুলোকে স্থিতিশীল (stable) হিসেবে উন্নীত করা হয়েছে।
এপিআই পরিবর্তন
- অ্যাক্টিভিটি এমবেডিং সংক্রান্ত ইউনিট টেস্টিং সমর্থন করার জন্য
ActivityEmbeddingRuleস্থিতিশীল করা হয়েছে। ( I8d6b6 ) -
WindowMetrisCalculatorTestRuleস্থিতিশীল এবং এটি JVM টেস্টের জন্য স্টাব মেট্রিক্স ব্যবহারের সুযোগ দেয়। সঠিক ফলাফলের জন্য আমরা একটি এমুলেটর ব্যবহারের পরামর্শ দিই। - JVM টেস্টিং সমর্থন করার জন্য
WindowLayoutInfoএর টেস্ট API-গুলো স্থিতিশীল করুন। ( Ie036e ) - টেস্ট ফোল্ডিং ফিচার ভ্যালুগুলোর জন্য
IntRangeযোগ করুন। ( I69f7d )
সংস্করণ ১.১
সংস্করণ ১.১.০
৭ জুন, ২০২৩
androidx.window:window-*:1.1.0 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
১.০.০ সংস্করণ থেকে গুরুত্বপূর্ণ পরিবর্তনসমূহ
কার্যকলাপ অন্তর্ভুক্তি
- অ্যাপ ম্যানিফেস্টের
<application>ট্যাগের একটি বুলিয়ান প্রপার্টি হিসেবেPROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLEDযোগ করা হয়েছে। - স্প্লিট ফিচারটি কেন উপলব্ধ নয় সে সম্পর্কে আরও বিস্তারিত তথ্য প্রদানের জন্য
isSplitSupportedবাতিল করেsplitSupportStatusদ্বারা প্রতিস্থাপন করা হয়েছে। -
splitSupportStatusপ্রপার্টির জন্য স্টেট কনস্ট্যান্ট সরবরাহ করতেSplitController.SplitSupportStatusনেস্টেড ক্লাসটি যোগ করা হয়েছে। -
SplitControllerএকাধিক মডিউলে রিফ্যাক্টর করা হয়েছে:-
ActivityবাActivityStackসম্পর্কিত API-গুলোর জন্যActivityEmbeddingControllerমডিউল। -
isActivityEmbeddedSplitControllerথেকেActivityEmbeddingControllerএ স্থানান্তর করা হয়েছে। -
EmbeddingRuleসম্পর্কিত কার্যক্রমের জন্যRuleControllerমডিউল: -
SplitControllerAPI-গুলো সরানো হয়েছে: -
clearRegisteredRules() -
getSplitRules() -
initialize() -
registerRule() -
unregisterRule() -
RuleControllerAPI যোগ করা হয়েছে: -
addRule()— একটি নতুন নিয়ম যোগ করে অথবা একই ট্যাগযুক্ত নিয়মটি হালনাগাদ করে। -
removeRule()— নিবন্ধিত নিয়মগুলোর সংগ্রহ থেকে কোনো একটি নিয়ম মুছে ফেলে। -
setRules()— কয়েকটি নিয়ম প্রতিষ্ঠা করে। -
clearRules()— সমস্ত নিবন্ধিত নিয়ম মুছে দেয়। -
parseRules()— XML রুল ডেফিনিশন থেকে নিয়মগুলো পার্স করে।
-
- সকল মডিউলকে
#getInstance()মেথড দ্বারা একটি কনটেক্সট দিয়ে ইনিশিয়ালাইজ করতে হয়, যার মধ্যে রয়েছে:-
ActivityEmbeddingController#getInstance(Context) -
SplitController#getInstance(Context) -
RuleController#getInstance(Context)
-
- ডিসপ্লে অ্যাসপেক্ট রেশিও সম্পর্কিত এনাম-সদৃশ আচরণগত ধ্রুবকগুলো সংজ্ঞায়িত করার জন্য
EmbeddingAspectRatioক্লাসটি যুক্ত করা হয়েছে। - স্প্লিট লেআউট নির্ধারণ করতে
SplitAttributesক্লাসটি যোগ করা হয়েছে। - স্প্লিট লেআউট কাস্টমাইজ করার জন্য
SplitControllerএSplitAttributesক্যালকুলেটর ফাংশন যোগ করা হয়েছে:-
setSplitAttributesCalculator(Function) -
clearSplitAttributesCalculator() - ডিভাইসে
SplitAttributesCalculatorAPI-গুলো সমর্থিত কিনা তা পরীক্ষা করতেisSplitAttributesCalculatorSupported()করুন।
-
-
EmbeddingRule#tagফিল্ডটি যোগ করা হয়েছে। -
SplitRuleএ API আপডেট:-
defaultSplitAttributesযোগ করা হয়েছে — এটি একটি স্প্লিটের ডিফল্ট লেআউট নির্ধারণ করে;splitRatioএবংlayoutDirectionপ্রতিস্থাপন করে। -
defaultSplitAttributesএsplitRatioএবংsplitLayoutDirectionXML প্রপার্টিগুলোর অনুবাদ যোগ করা হয়েছে। - পিক্সেলের পরিবর্তে ঘনত্ব-নিরপেক্ষ পিক্সেল (dp) ব্যবহার করার জন্য ন্যূনতম মাত্রার সংজ্ঞা পরিবর্তন করা হয়েছে।
- ডিফল্ট মান ৬০০ডিপি সহ
minHeightDpযোগ করা হয়েছে। - ডিফল্ট মান 600dp থেকে
minWidthপরিবর্তন করেminWidthDpকরা হয়েছে। - ডিফল্ট মান 600dp থেকে
minSmallestWidthপরিবর্তন করেminSmallestWidthDpকরা হয়েছে। -
maxAspectRatioInHorizontalযোগ করা হয়েছে, যার ডিফল্ট মানALWAYS_ALLOW। -
maxAspectRatioInPortraitযোগ করা হয়েছে, যার ডিফল্ট মান ১.৪। - ফিনিশ বিহেভিয়ার কনস্ট্যান্টগুলো প্রতিস্থাপন করার জন্য
FinishBehaviorনেস্টেড ক্লাস সংজ্ঞায়িত করা হয়েছে। -
SplitPairRuleএবংSplitPlaceholderRuleএর Builder নেস্টেড ক্লাসে প্রপার্টি পরিবর্তনগুলো প্রয়োগ করা হয়েছে।
-
- অতিরিক্ত স্প্লিট-সম্পর্কিত তথ্য প্রদানের জন্য
SplitInfo#getSplitRatio()এর পরিবর্তে SplitInfoSplitInfo#getSplitAttributes()ব্যবহার করা হয়েছে।
উইন্ডো লেআউট
-
WindowInfoTrackerএ পরীক্ষামূলকভাবে নন-অ্যাক্টিভিটি UI কনটেক্সট সাপোর্ট যোগ করা হয়েছে। -
WindowMetricsCalculatorএ পরীক্ষামূলক নন-অ্যাক্টিভিটি UI কনটেক্সট যোগ করা হয়েছে।
অভিবাসনের পদক্ষেপ
- স্প্লিটে অ্যাক্টিভিটি দেখানোর জন্য অ্যাক্টিভিটি এমবেডিং সক্ষম করতে, অ্যাপগুলিকে অবশ্যই ম্যানিফেস্টের
<application>ট্যাগেPROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLEDপ্রপার্টিটি যোগ করতে হবে:xml <property android:name="android.window.PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED" android:value="true" />এটি সিস্টেমকে আগে থেকেই একটি অ্যাপ্লিকেশনের জন্য স্প্লিট আচরণ অপ্টিমাইজ করার সুযোগ দেয়। -
SplitInfoঅনুপাত- বর্তমান স্প্লিটটি স্ট্যাকড কিনা তা পরীক্ষা করুন:
kotlin SplitInfo.splitAttributes.splitType is SplitAttributes.SplitType.ExpandContainersSplitType - বর্তমান অনুপাত পরীক্ষা করুন:
kotlin if (SplitInfo.splitAttributes.splitType is SplitAttributes.SplitType.RatioSplitType) { val ratio = splitInfo.splitAttributes.splitType.ratio } else { // Ratio is meaningless for other types. }
- বর্তমান স্প্লিটটি স্ট্যাকড কিনা তা পরীক্ষা করুন:
- স্প্লিটকন্ট্রোলার মাইগ্রেশন:
-
SplitController.getInstance()পরিবর্তিত হয়েSplitController.getInstance(Context)হয়। -
SplitController.initialize(Context, @ResId int)পরিবর্তিত হয়েRuleController.getInstance(Context).setRules(RuleController.parse(Context, @ResId int))হবে। -
SplitController.getInstance().isActivityEmbedded(Activity)পরিবর্তিত হয়েActivityEmbeddingController.getInstance(Context).isActivityEmbedded(Activity)হয়। -
SplitController.getInstance().registerRule(rule)পরিবর্তিত হয়েRuleController.getInstance(Context).addRule(rule)হবে। -
SplitController.getInstance().unregisterRule(rule)পরিবর্তিত হয়েRuleController.getInstance(Context).removeRule(rule)হয়। -
SplitController.getInstance().clearRegisteredRules()পরিবর্তিত হয়েRuleController.getInstance(Context).clearRules()হয়। -
SplitController.getInstance().getSplitRules()পরিবর্তিত হয়েRuleController.getInstance(Context).getRules()হয়।
-
-
SplitRuleপ্রপার্টি মাইগ্রেশন:-
minWidthএবংminSmallestWidthএখন পিক্সেলের পরিবর্তে ডিপি ইউনিট ব্যবহার করে। অ্যাপগুলো নিম্নলিখিত কলটি ব্যবহার করতে পারে:kotlin TypedValue.applyDimension( COMPLEX_UNIT_DIP, minWidthInPixels, resources.displayMetrics )অথবা সহজভাবে পিক্সেলে থাকাminWithdisplayMetrics#densityদিয়ে ভাগ করতে পারে।
-
- ফিনিশ বিহেভিয়ার কনস্ট্যান্টগুলোকে অবশ্যই
FinishBehaviorএনাম-সদৃশ ক্লাস কনস্ট্যান্টে স্থানান্তরিত করতে হবে:-
FINISH_NEVERপরিবর্তিত হয়েFinishBehavior.NEVERহয়। -
FINISH_ALWAYSপরিবর্তিত হয়েFinishBehavior.ALWAYSহয়। -
FINISH_ADJACENTপরিবর্তিত হয়েFinishBehavior.ADJACENTহয়।
-
- লেআউটের দিক অবশ্যই
SplitAttributes.LayoutDirectionএ পরিবর্তন করতে হবে।-
ltrপরিবর্তিত হয়েSplitAttributes.LayoutDirection.LEFT_TO_RIGHTহবে। -
rtlপরিবর্তিত হয়েSplitAttributes.LayoutDirection.RIGHT_TO_LEFTহবে। -
localeSplitAttributes.LayoutDirection.LOCALEএ পরিবর্তিত হয়। -
splitRatioঅবশ্যইSplitAttributes.SplitType.ratio(splitRatio)-তে পরিবর্তন করতে হবে।
-
-
SplitPairRule.Builderমাইগ্রেশন:-
SplitPairRule.Builder(filters, minWidth, minSmallestWidth)পরিবর্তিত হয়েkotlin SplitPairRule.Builder(filters) .setMinWidthDp(minWidthInDp) // Optional if minWidthInDp is 600. .setMinSmallestWidthDp(minSmallestWidthDp) // Optional if minSmallestWidthInDp is 600. -
setLayoutDirection(layoutDirection)এবংsetSplitRatio(ratio)পরিবর্তিত হয়েkotlin setDefaultSplitAttributes( SplitAttributes.Builder() .setLayoutDirection(layoutDirection) .setSplitType(SplitAttributes.SplitType.ratio(ratio)) .build() ) -
setFinishPrimaryWithSecondaryএবংsetFinishSecondaryWithPrimaryদুটিFinishBehaviorenum-সদৃশ কনস্ট্যান্ট গ্রহণ করে। বিস্তারিত জানতে “SplitRule migrations” দেখুন। - পোর্ট্রেট ডিভাইসে স্প্লিট দেখানোর জন্য
setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW)ব্যবহার করুন।
-
-
SplitPlaceholder.Builderমাইগ্রেশন:- এতে শুধু
filtersএবংplaceholderIntentপ্যারামিটার রয়েছে। অন্যান্য প্রোপার্টিগুলো সেটার-এ স্থানান্তরিত হয়েছে। বিস্তারিত জানতে “SplitPairRule.Builder migrations” দেখুন। -
setFinishPrimaryWithPlaceholderফাংশনটিFinishBehaviorনামক enum-সদৃশ ধ্রুবকটি গ্রহণ করে। বিস্তারিত জানতে “SplitRule migrations” দেখুন। -
setLayoutDirection(layoutDirection)এবংsetSplitRatio(ratio)পরিবর্তন করে লিখুন:kotlin setDefaultSplitAttributes( SplitAttributes.Builder() .setLayoutDirection(layoutDirection) .setSplitType(SplitAttributes.SplitType.ratio(ratio)) .build() ) - পোর্ট্রেট ডিভাইসে স্প্লিট দেখানোর জন্য
setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW)ব্যবহার করুন।
- এতে শুধু
সংস্করণ 1.1.0-rc01
১০ মে, ২০২৩
androidx.window:window-*:1.1.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-rc01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
নতুন বৈশিষ্ট্য
-
ActivityEmbeddingএকটি স্থিতিশীল API হিসেবে প্রকাশ করুন। - বিভিন্ন বাগ সংশোধন করা হয়েছে।
সংস্করণ 1.1.0-beta02
৫ এপ্রিল, ২০২৩
androidx.window:window-*:1.1.0-beta02 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-beta02-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
নতুন বৈশিষ্ট্য
- অভ্যন্তরীণ মেরামত ও পরিষ্কার-পরিচ্ছন্নতা।
সংস্করণ 1.1.0-beta01
২২ মার্চ, ২০২৩
androidx.window:window-*:1.1.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-beta01-এ এই কমিটগুলো অন্তর্ভুক্ত রয়েছে।
কার্যকলাপ অন্তর্ভুক্তি
- অ্যাপ ম্যানিফেস্টের
<application>ট্যাগের একটি বুলিয়ান প্রপার্টি হিসেবেPROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLEDযোগ করা হয়েছে। - স্প্লিট ফিচারটি কেন উপলব্ধ নয় সে সম্পর্কে আরও বিস্তারিত তথ্য প্রদানের জন্য
isSplitSupportedবাতিল করেsplitSupportStatusদ্বারা প্রতিস্থাপন করা হয়েছে। - Added the
SplitController.SplitSupportStatusnested class to provide state constants for thesplitSupportStatusproperty. - Refactored
SplitControllerto several modules:-
ActivityEmbeddingControllermodule forActivityorActivityStackrelated APIs. - Moved
isActivityEmbeddedfromSplitControllertoActivityEmbeddingController. -
RuleControllermodule forEmbeddingRulerelated operations: - Removed
SplitControllerAPIs:-
clearRegisteredRules() -
getSplitRules() -
initialize() -
registerRule() -
unregisterRule()
-
- Added
RuleControllerAPIs:-
addRule()— Adds a rule or updates the rule that has the same tag. -
removeRule()— Removes a rule from the collection of registered rules. -
setRules()— Establishes a collection of rules. -
clearRules()— Removes all registered rules. - `parseRules() — Parses rules from XML rule definitions.
-
-
- All modules require a context to be initialized by
#getInstance()method, including:-
ActivityEmbeddingController#getInstance(Context) -
SplitController#getInstance(Context) -
RuleController#getInstance(Context)
-
- Added the
EmbeddingAspectRatioclass to define enum-like behavior constants related to display aspect ratio. - Added the
SplitAttributesclass to define the split layout. - Added
SplitAttributescalculator functions toSplitControllerto customize split layouts:-
setSplitAttributesCalculator(Function) -
clearSplitAttributesCalculator() -
isSplitAttributesCalculatorSupported()to check if the SplitAttributesCalculator APIs are supported on the device
-
- Added
EmbeddingRule#tagfield. - API updates in
SplitRule:- Added
defaultSplitAttributes— Defines the default split layout of a split; replacessplitRatioandlayoutDirection. - Added translation of the XML properties
splitRatioandsplitLayoutDirectiontodefaultSplitAttributes. - Changed minimum dimension definitions to use density-independent pixels (dp) instead of pixels.
- Added
minHeightDpwith default value 600dp. - Changed
minWidthtominWidthDpwith default value 600dp. - Changed
minSmallestWidthtominSmallestWidthDpwith default value 600dp. - Added
maxAspectRatioInHorizontalwith default valueALWAYS_ALLOW. - Added
maxAspectRatioInPortraitwith default value1.4. - Defined
FinishBehaviornested class to replace finish behavior constants. - Applied the property changes to the
Buildernested class ofSplitPairRuleandSplitPlaceholderRule.
- Added
- Replaced
SplitInfo#getSplitRatio()withSplitInfo#getSplitAttributes()to provide additional split-related information.
WindowLayout
- Added non-activity UI context support to
WindowInfoTracker. - Added non-activity UI context to
WindowMetricsCalculator.
Migration Steps
- To enable activity embedding to display activities in splits, apps must add the
PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLEDproperty to the manifest<application>tag:xml <property android:name="android.window.PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED" android:value="true" />This allows the system to optimize the split behaviors for an application ahead of time. -
SplitInforatio- Check if the current split is stacked:
kotlin SplitInfo.splitAttributes.splitType is SplitAttributes.SplitType.ExpandContainersSplitType - Check the current ratio:
kotlin if (SplitInfo.splitAttributes.splitType is SplitAttributes.SplitType.RatioSplitType) { val ratio = splitInfo.splitAttributes.splitType.ratio } else { // Ratio is meaningless for other types. }
- Check if the current split is stacked:
-
SplitControllermigrations:-
SplitController.getInstance()changes toSplitController.getInstance(Context). -
SplitController.initialize(Context, @ResId int)changes toRuleController.getInstance(Context).setRules(RuleController.parse(Context, @ResId int)). -
SplitController.getInstance().isActivityEmbedded(Activity)changes toActivityEmbeddingController.getInstance(Context).isActivityEmbedded(Activity). -
SplitController.getInstance().registerRule(rule)changes toRuleController.getInstance(Context).addRule(rule). -
SplitController.getInstance().unregisterRule(rule)changes toRuleController.getInstance(Context).removeRule(rule). -
SplitController.getInstance().clearRegisteredRules()changes toRuleController.getInstance(Context).clearRules(). -
SplitController.getInstance().getSplitRules()changes toRuleController.getInstance(Context).getRules().
-
-
SplitRuleproperty migrations:-
minWidthandminSmallestWidthnow use dp units instead of pixels. Apps can use the following call:kotlin TypedValue.applyDimension( COMPLEX_UNIT_DIP, minWidthInPixels, resources.displayMetrics )or simply divideminWithin pixels bydisplayMetrics#density.
-
- Finish behavior constants must be migrated to
FinishBehaviorenum-like class constants:-
FINISH_NEVERchanges toFinishBehavior.NEVER. -
FINISH_ALWAYSchanges toFinishBehavior.ALWAYS. -
FINISH_ADJACENTchanges toFinishBehavior.ADJACENT.
-
- Layout direction must be migrated to
SplitAttributes.LayoutDirection:-
ltrchanges toSplitAttributes.LayoutDirection.LEFT_TO_RIGHT. -
rtlchanges toSplitAttributes.LayoutDirection.RIGHT_TO_LEFT. -
localechanges toSplitAttributes.LayoutDirection.LOCALE. -
splitRatiomust be migrated toSplitAttributes.SplitType.ratio(splitRatio).
-
-
SplitPairRule.Buildermigrations:-
SplitPairRule.Builder(filters, minWidth, minSmallestWidth)changes tokotlin SplitPairRule.Builder(filters) .setMinWidthDp(minWidthInDp) // Optional if minWidthInDp is 600. .setMinSmallestWidthDp(minSmallestWidthDp) // Optional if minSmallestWidthInDp is 600. -
setLayoutDirection(layoutDirection)andsetSplitRatio(ratio)change tokotlin setDefaultSplitAttributes( SplitAttributes.Builder() .setLayoutDirection(layoutDirection) .setSplitType(SplitAttributes.SplitType.ratio(ratio)) .build() ) -
setFinishPrimaryWithSecondaryandsetFinishSecondaryWithPrimarytake theFinishBehaviorenum-like constants. See “SplitRule migrations” for details. - Use
setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW)to show splits on portrait devices.
-
-
SplitPlaceholder.Buildermigrations:- Has only
filtersandplaceholderIntentparameters. Other properties move to setters. See “SplitPairRule.Builder migrations” for details. -
setFinishPrimaryWithPlaceholdertakes theFinishBehaviorenum-like constants. See “SplitRule migrations” for details. -
setLayoutDirection(layoutDirection)andsetSplitRatio(ratio)change to:kotlin setDefaultSplitAttributes( SplitAttributes.Builder() .setLayoutDirection(layoutDirection) .setSplitType(SplitAttributes.SplitType.ratio(ratio)) .build() ) - Use
setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW)to show splits on portrait devices.
- Has only
সংস্করণ 1.1.0-alpha06
২২ ফেব্রুয়ারী, ২০২৩
androidx.window:window-*:1.1.0-alpha06 is released. Version 1.1.0-alpha06 contains these commits.
নতুন বৈশিষ্ট্য
- Expose experimental version of getting the
WindowLayoutInfofrom a UI context.
এপিআই পরিবর্তন
- Add
splitSupportStatusto indicate if Activity embedding is available. ( I10024 ) - Make UI Context
WindowLayoutInfoAPI as experimental. ( I58ee0 ) - Introduces the
WindowAreaControllerand API's to enableRearDisplayMode to move the current window to the display that is aligned with the rear camera. ( Iffcbf ) - Update default background color. ( I1ac1b )
- Add
SplitAttributesparams. ( I18bdd ) - Add APIs for
SplitRule,SplitAttributes,SplitAttributesCalculator. ( I92d23 ) - Improve the APIs around
maxAspectRatio:- Replace
alwaysAllow()andalwaysDisallow()withALWAYS_ALLOWandALWAYS_DISALLOW. - Update API documentation of @see with standalone documentation. ( I3057b )
- Replace
- The following constructors are removed from public APIs because they are not supposed to be called by apps.
-
SplitInfoconstructor -
ActivityStackconstructor ( Ide534 )
-
-
SplitRulenow takesmaxAspectRatioInPortrait/Landscape. It only allows activities split when the aspect ratio of the parent bounds is smaller or equal to the requestedmaxAspectRatio. ( Ia5990 ) - Change
RuleController#parseRulesto be static ( I785df ) - Improve the APIs around ActivityEmbedding
- Align the API naming - Use add/remove for multiple instances:
-
registerRulechanges toaddRule -
unregisterRulechanges toremoveRule - Replace
getSplitRuleswithgetRulessinceActivityRuleis not a split rule - Add
RuleController#setRulesto set a bunch of rules - Extract rule related APIs from
SplitControllerto singletonRuleController. They are: -
addRule -
removeRule -
getRules -
setRules -
clearRules -
parseRules - Extract
#isActivityEmbeddedfromSplitControllerto singletonActivityEmbeddingController. They are: -
isActivityEmbedded - Remove
SplitController#initialize. To set rules from XML file, please useRuleController#parseRulesand#setRules. Before this change:SplitController.initialize(context, R.xml.static_rules)After this change:val ruleController = RuleController.getInstance(context) val rules = ruleController.parseRules(R.xml.static_rules) ruleController.setRules(rules) - We don't distinguish static rules with runtime rules anymore. That said, calling
#clearRulesresults to clear all rules no matter they are registered with static XML rule definitions or at runtime. To hav the legacy behavior ofSplitController#clearRegisteredRules, please callRuleController#parseRuleswith the XML resources id and callRuleController#setRulesto set back the rules again. Before this change:SplitController.getInstance(context).clearRegisteredRules()After this change:val ruleController = RuleController.getInstance(context) val rules = ruleController.parseRules(R.xml.static_rules) ruleController.setRules(rules)( Ib3967 )
- Improve the SplitRule APIs:
- Take min dimensions in DP instead of pixels for
SplitRule. - Refactor for
SplitRuleBuilder to take min dimensions as optional. ( I95f17 )
- Take min dimensions in DP instead of pixels for
- Pass a Context to initialize
SplitController( I42549 ) - Renamed
SplitRule#layoutDirto#layoutDirectionandSplitRule Builder#setLayoutDirtoBuilder#setLayoutDirection. ( I3f6d1 )
সংস্করণ 1.1.0-alpha04
৯ নভেম্বর, ২০২২
androidx.window:window-*:1.1.0-alpha04 is released. Version 1.1.0-alpha04 contains these commits.
নতুন বৈশিষ্ট্য
- Expose a method to determine if an
ActivityStackis empty forActivityEmbedding. - Removed experimental API tags from
ActivityEmbeddingAPIs. - Hide
ActivityRuleconstructor as theBuilderis the preferred way to construct. - Add an experimental method to get the
WindowInsetsonWindowMetrics. - Update
SplitPlaceholderFinishBehaviorto prevent finishing the placeholder. Finishing the placeholder caused some confusing behavior.
এপিআই পরিবর্তন
- Make val
isEmptypublic to replace funisEmpty. - Rename
ActivityStackparameter activities toactivitiesInProcess. ( Ia5055 ) - Remove
ActivityFilter#matchesClassNameandActivityFilter#matchesClassNameOrWildCardbecause they are confusing. - Add
ActivityFilter#componentNameabdActivityFilter#intentActionto allow the caller to distinguish different filters ( I41f22 ) - Remove the
@DeprecatedAPIs from the experimental API ( I216b3 ) - Remove
@ExperimentalWindowApifor Activity Embedding APIs ( I69ebe ) - Hide
ActivityRuleconstructor, use Builder instead. ( If4eb6 ) - Add APIs to check if an Activity is part of the
ActivityFilter. ( Ia43cf ) - Update API files to reflect changes in
WindowMetricsandWindowMetricsCalculatorCompatclasses ( I667fe ) - Update
ActivityEmbeddingProperty Javadoc and class name ( Ia1386 ) - Adding
ActivityEmbeddingproperty tag names to be used in AndroidManifest.xml ( Id1ad4 ) - Added new API
SplitPlaceholderFinishBehaviorandSplitPlaceholderRule.finishPrimaryWithPlaceholder, this replaces existingSplitPlaceholderRule.finishPrimaryWithSecondarywhich defines when placeholder activites are finished, how associated activites in Activity Embedding should behave. ( I64647 )
বাগ সংশোধন
- Introduces the
WindowAreaControllerand API's to enableRearDisplayMode to move the current window to the display that is aligned with the rear camera. ( I388ab )
সংস্করণ 1.1.0-alpha03
July 27, 2022
androidx.window:window-*:1.1.0-alpha03 is released. Version 1.1.0-alpha03 contains these commits.
নতুন বৈশিষ্ট্য
- Update the default values for embedding rules.
এপিআই পরিবর্তন
- Update default values for embedding rule properties. ( Ic4d35 )
সংস্করণ 1.1.0-alpha02
May 11, 2022
androidx.window:window-*:1.1.0-alpha02 is released. Version 1.1.0-alpha02 contains these commits.
নতুন বৈশিষ্ট্য
- Release the adapter libraries to support Java and RxJava.
সংস্করণ 1.1.0-alpha01
May 11, 2022
androidx.window:window-*:1.1.0-alpha01 is released. Version 1.1.0-alpha01 contains these commits.
নতুন বৈশিষ্ট্য
- Release adapters to support java and RxJava
সংস্করণ 1.1.0-alpha01
April 20, 2022
androidx.window:window:1.1.0-alpha01 is released. Version 1.1.0-alpha01 contains these commits.
নতুন বৈশিষ্ট্য
- Fixes a bug where backgrounding an app stops emitting fold features.
- Expand on the experimental ActivityEmbedding API.
এপিআই পরিবর্তন
- A public API to check if an activity is being embedded. ( I39eb7 )
বাগ সংশোধন
- Add APIs that customize finishing behavior for containers in activity splits ( I1a1e4 )
- Added a new configuration option for activity split rules. ( Iec6af )
Version 1.0
সংস্করণ ১.০.০
২৬ জানুয়ারী, ২০২২
androidx.window:window-*:1.0.0 is released. Version 1.0.0 contains these commits.
১.০.০ এর প্রধান বৈশিষ্ট্যসমূহ
- Support for folding phones through
WindowInfoTrackerandFoldingFeature.WindowMetricsCalculatorto help calculate the current WindowMetrics.
সংস্করণ 1.0.0-rc01
December 15, 2021
androidx.window:window-*:1.0.0-rc01 is released. Version 1.0.0-rc01 contains these commits.
নতুন বৈশিষ্ট্য
- Add support for folding phones through
WindowInfoTracker. - Add methods to calculate the current and maximum
WindowMetrics. - Add supporting test APIs.
Version 1.0.0-beta04
November 17, 2021
androidx.window:window-*:1.0.0-beta04 is released. Version 1.0.0-beta04 contains these commits.
নতুন বৈশিষ্ট্য
- Rename WindowInfoRepository to WindowInfoTracker.
- Make Activity an explicit method dependency for WindowInfoTracker.
- Add a simple TestRule for WindowMetricsCalculator to support developers using Robolectric.
এপিআই পরিবর্তন
- Extract extensions ( I25a5f )
- add isEmpty in ActivityStack ( I5a4e6 )
- Rename WindowInfoRepository to WindowInfoTracker.
- Update java/rxjava/testing dependencies to match. ( I0da63 )
- Add a test rule for a simple WindowMetricsCalculator. ( Ibacdb )
Version 1.0.0-beta03
October 27, 2021
androidx.window:window-*:1.0.0-beta03 is released. Version 1.0.0-beta03 contains these commits.
নতুন বৈশিষ্ট্য
- Add experimental Activity Embedding APIs. This initial layout version allows showing two Activities side by side.
এপিআই পরিবর্তন
- Removed the currentWindowMetrics API since we can not provide it accurately. Please use WindowMetricsCalculator instead ( Icda5f )
- Updated the extensions api. ( Ica92b )
- Added an interface for a new feature that allows embedding activities and showing them side-by-side within the parent task window. ( I5711d )
- Hid the constructors for WindowMetrics and WindowLayoutInfo, please use the test APIs instead. ( I5a1b5 )
- Add an API to create fake WindowLayoutInfo objects. ( I4a2fd )
বাগ সংশোধন
- Fixed memory leak. ( I3fc79 , b/202989046 )
Version 1.0.0-beta02
১ সেপ্টেম্বর, ২০২১
androidx.window:window-*:1.0.0-beta02 is released. Version 1.0.0-beta02 contains these commits.
নতুন বৈশিষ্ট্য
- Add an experimental annotation to annotate experimental APIs. ( I9f1b6 )
- Add a test method to create a test FoldingFeature that accepts a Rect. This will make it easie to test when using Robolectric as opposed to an actual Activity. ( Id1cca )
সংস্করণ 1.0.0-beta01
August 18, 2021
androidx.window:window-*:1.0.0-beta01 is released. Version 1.0.0-beta01 contains these commits.
নতুন বৈশিষ্ট্য
- Removed old constants and made
FoldingFeatureinto an interface.
এপিআই পরিবর্তন
- Remove old constants and make FoldFeature an interface. ( I9a2d5 )
বাগ সংশোধন
- Libraries that depend on the
Test Corelibrary have been upgraded to version1.4.0and will now work with Android platform version S. ( I88b72 , b/189353863 )
Version 1.0.0-alpha10
August 4, 2021
androidx.window:window-*:1.0.0-alpha10 is released. Version 1.0.0-alpha10 contains these commits.
নতুন বৈশিষ্ট্য
- Rename WindowInfoRepo to WindowInfoRepository and adjust corresponding classes / files.
- Convert current window metrics to a Flow in WindowInfoRepository since the value changes over time.
- Rename WindowInfoRepoJavaAdapter to WindowInfoRepoCallbackAdapter
- Add helper method to create test FoldingFeature objects
- Update packages to group classes based on the feature they are supporting.
এপিআই পরিবর্তন
- Rename ActivityExt to ActivityExtensions Change from Repo to Repository. ( I61a16 )
- Update packages for classes. ( I23ae2 )
- Remove WindowMetrics from WindowInfoRepo ( I24663 )
- Remove WindowManager and use WindowInfoRepo
- Make WindowBackend internal. ( I06d9a )
- Convert window metrics to Flow.
- Rename java adapter to WindowInfoRepoCallbackAdapter
- Remove callbackFlow so no more experimental APIs are in use. ( Ia4d15 )
- Add helper method to create test display features.
- Change from occlusionMode to occlusionType ( If4cff )
বাগ সংশোধন
- Fix proguard error where core library was being removed.
- Fix error where WindowLayoutInfo was not being delivered to additional subscribers.
- Fix error where config changes would not trigger folding feature updates.
Version 1.0.0-alpha09
June 30, 2021
androidx.window:window-*:1.0.0-alpha09 is released. Version 1.0.0-alpha09 contains these commits.
নতুন বৈশিষ্ট্য
- Change from integer constants to unbounded enums.
- Add a test util to create test folding features.
এপিআই পরিবর্তন
- Add helper method to create test display features. ( I3cf54 )
- Change from
occlusionModetoocclusionType.
- Change from
বাগ সংশোধন
- Emit initial value when adding multiple consumers of the data streams.
Version 1.0.0-alpha08
June 16, 2021
androidx.window:window-*:1.0.0-alpha08 is released. Version 1.0.0-alpha08 contains these commits.
নতুন বৈশিষ্ট্য
- Released a testing artifact to make it easier to test when using WindowInfoRepository. Use WindowInfoRepository to get information about DisplayFeatures and the WindowMetrics. ( I57f66 , Ida620 )
Version 1.0.0-alpha07
২ জুন, ২০২১
androidx.window:window-*:1.0.0-alpha07 is released. Version 1.0.0-alpha07 contains these commits.
নতুন বৈশিষ্ট্য
- Migrate core window library to Kotlin. Will use coroutines and suspend functions to expose asynchronous data going forward.
- Add WindowInfoRepo as the main interaction point for getting the WindowMetrics and the stream of WindowLayoutInfo.
- New
window-javaartifact to expose Java-friendly APIs to register and unregister callbacks. - New
window-rxjava2andwindow-rxjava3artifacts to expose RxJava adapted APIs.
এপিআই পরিবর্তন
- Add
WindowServicesto provide dependencies uniformly.- Add coroutine based api to consume window layout info. ( Iab70f )
- Migrate core window manager library to Kotlin. ( Icca34 )
বাগ সংশোধন
- Add new data class to represent feature bounds. ( I6dcd1 )
Version 1.0.0-alpha06
৫ মে, ২০২১
androidx.window:window:1.0.0-alpha06 is released. Version 1.0.0-alpha06 contains these commits.
নতুন বৈশিষ্ট্য
- We have started our migration to Kotlin and will finish in the next release.
- DeviceState has been removed from the public API, please use FoldingFeature instead.
- We have removed
STATE_FLIPPEDfrom the FoldingFeature states since it is not supported by any use-case at the moment. - We have also removed other deprecated APIs.
এপিআই পরিবর্তন
- Adding Kotlin as a dependency.
- Migrate core library to Kotlin. ( Idd995 )
- Removed
DisplayFeaturebuilder. ( I61fa4 ) - Removed
DeviceStatefrom public api, useFoldingFeatureinstead. ( Id6079 ) - Remove device state callback from extensions. ( I5ea83 )
- Remove
STATE_FLIPPEDfrom FoldingFeature. ( I9c4e1 ) - Remove deprecated registration methods. ( Ib381b )
সংস্করণ 1.0.0-alpha05
March 24, 2021
androidx.window:window:1.0.0-alpha05 is released. Version 1.0.0-alpha05 contains these commits.
নতুন বৈশিষ্ট্য
We have added convenience methods to FoldingFeature so that apps can tell if the feature is separating, occluding, and determine the orientation of the hinge. We are also hiding the hinge type so that
We are removing the synchronous read methods from WindowManager. Synchronous read methods are error prone since there is an implicit race condition. Register listeners and callbacks to receive updates on the WindowLayoutInfo.
এপিআই পরিবর্তন
- Add convenience methods for working with FoldingFeatures ( Ie733f )
- Removes synchronous read methods from WindowManager ( I96fd4 )
সংস্করণ 1.0.0-alpha04
March 10, 2021
androidx.window:window:1.0.0-alpha04 is released. Version 1.0.0-alpha04 contains these commits.
নতুন বৈশিষ্ট্য
- Fixes a bug where no WindowLayoutInfo is emitted if there isn't an OEM implementation. Now we emit an empty WIndowLayoutInfo.
- Fix a bug where state would not update properly if the hinge state changed while the app was backgrounded. Now the state should be consistent.
- Update our proguard files to ignore warnings from runtime dependencies.
বাগ সংশোধন
- Emit an empty value when the OEM library is missing. ( Ide935 )
সংস্করণ 1.0.0-alpha03
February 18, 2021
androidx.window:window:1.0.0-alpha03 is released. Version 1.0.0-alpha03 contains these commits.
নতুন বৈশিষ্ট্য
- Emit an empty value for WindowLayoutInfo when the OEM implementation is empty. This should make it easier to use the library on more devices. Since the APIs are asynchronous it is still recommended that apps write some defensive code and emit a default value after a timeout. We do not have any guarantees on OEM implementations and the initial value may be delayed.
বাগ সংশোধন
- Emit an empty value when the OEM library is missing. ( Ide935 )
সংস্করণ 1.0.0-alpha02
January 27, 2021
androidx.window:window:1.0.0-alpha02 is released. Version 1.0.0-alpha02 contains these commits.
নতুন বৈশিষ্ট্য
We have deprecated some APIs to help streamline the api and reduce mistakes. Some notable examples are removing the synchronous read operations from WindowManager and deprecating DeviceState. Synchronous read operations can lead to race conditions and have incorrect UI.
We have converted DisplayFeature to an interface that other features will implement going forward. Our first feature is FoldingFeature which is now the representation of a screen fold or a hinge. This also contains the state of the hinge replacing DeviceState.
WindowMetrics was introduced in Android 11 to provide developers with a simple way to query for metrics about a window, for example its position and size on screen and any system insets. We've backported the API in this release so that developers can leverage WindowMetrics and continue to support older Android versions. WindowMetrics can be obtained through the
WindowManager#getCurrentWindowMetrics()and WindowManager#getMaximumWindowMetrics() APIs.
এপিআই পরিবর্তন
- Deprecate APIs that will be removed in the next alpha ( Ib7cc4 )
- Updates
ExtensionInterfaceto accept explicit Activity references. ( I07ded ) - Introduces the WindowMetrics API. ( I3ccee )
- Remove synchronous read methods from WindowManager ( I69983 )
- Make ExtensionWindowBackend package protected. ( Ied208 )
বাগ সংশোধন
- Update
ExtensionInterfaceAPIs to accept visual contexts. ( I8e827 )
বাহ্যিক অবদান
- Merge DeviceState and WindowLayoutInfo so it is easier to access data. ( Id34f4 )
সংস্করণ 1.0.0-alpha01
February 27, 2020
androidx.window:window:1.0.0-alpha01 and androidx.window:window-extensions:1.0.0-alpha01 are released. Version 1.0.0-alpha01 contains these commits. This is the first release of the Window Manager library.
নতুন বৈশিষ্ট্য
-
DisplayFeature: This new API identifies disruptions in the continuous flat screen surfaces such as hinges or folds -
DeviceState: This new API provides the current posture of the phone from a list of defined postures (For example,CLOSED,OPENED,HALF_OPENED, etc.)