উইন্ডো ম্যানেজার

Jetpack WindowManager লাইব্রেরি অ্যাপ্লিকেশন ডেভেলপারদের নতুন ডিভাইস ফর্ম ফ্যাক্টর এবং মাল্টি-উইন্ডো পরিবেশ সমর্থন করতে সক্ষম করে। লাইব্রেরি API সংস্করণ 14 এবং পরবর্তী সংস্করণের জন্য একটি সাধারণ API পৃষ্ঠ প্রদান করে। প্রাথমিক রিলিজটি ভাঁজযোগ্য ডিভাইসগুলিকে লক্ষ্য করে, তবে ভবিষ্যতের সংস্করণগুলি আরও প্রদর্শনের ধরন এবং উইন্ডো বৈশিষ্ট্যগুলিতে প্রসারিত হবে।
সর্বশেষ আপডেট স্থিতিশীল রিলিজ মুক্তির প্রার্থী বিটা রিলিজ আলফা রিলিজ
7 আগস্ট, 2024 1.3.0 - - 1.4.0-আলফা01

নির্ভরতা ঘোষণা করা

WindowManager-এ নির্ভরতা যোগ করতে, আপনাকে অবশ্যই আপনার প্রকল্পে Google Maven সংগ্রহস্থল যোগ করতে হবে। আরও তথ্যের জন্য Google এর Maven সংগ্রহস্থল পড়ুন।

আপনার অ্যাপ বা মডিউলের জন্য build.gradle ফাইলে আপনার প্রয়োজনীয় আর্টিফ্যাক্টগুলির জন্য নির্ভরতা যোগ করুন:

Groovy

dependencies {
    implementation "androidx.window:window:1.3.0"

    // For Java-friendly APIs to register and unregister callbacks
    implementation "androidx.window:window-java:1.3.0"

    // For RxJava2 integration
    implementation "androidx.window:window-rxjava2:1.3.0"

    // For RxJava3 integration
    implementation "androidx.window:window-rxjava3:1.3.0"

    // For testing
    implementation "androidx.window:window-testing:1.3.0"
}

Kotlin

dependencies {
    implementation("androidx.window:window:1.3.0")

    // For Java-friendly APIs to register and unregister callbacks
    implementation("androidx.window:window-java:1.3.0")

    // For RxJava2 integration
    implementation("androidx.window:window-rxjava2:1.3.0")

    // For RxJava3 integration
    implementation("androidx.window:window-rxjava3:1.3.0")

    // For testing
    implementation("androidx.window:window-testing:1.3.0")
}

প্রতিক্রিয়া

আপনার প্রতিক্রিয়া জেটপ্যাককে আরও ভাল করতে সাহায্য করে। আপনি যদি নতুন সমস্যা আবিষ্কার করেন বা এই লাইব্রেরির উন্নতির জন্য ধারনা পান তাহলে আমাদের জানান। আপনি একটি নতুন তৈরি করার আগে অনুগ্রহ করে এই লাইব্রেরিতে বিদ্যমান সমস্যাগুলি দেখুন৷ আপনি তারকা বোতামে ক্লিক করে একটি বিদ্যমান সমস্যায় আপনার ভোট যোগ করতে পারেন।

একটি নতুন সমস্যা তৈরি করুন

আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।

সংস্করণ 1.4

সংস্করণ 1.4.0-alpha01

7 আগস্ট, 2024

androidx.window:window-*:1.4.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.4.0-alpha01-এ এই কমিট রয়েছে।

নতুন বৈশিষ্ট

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

এপিআই পরিবর্তন

  • একটি নতুন API WindowInfoTracker#supportedPostures :

    • ডিভাইসটি ফোল্ডেবলের জন্য টেবিলটপ মোড সমর্থন করে কিনা তা নির্ধারণ করার জন্য একটি API। WindowAreaSessionPresenter#getWindow যোগ করে
  • ActivityStack পিনিং সমর্থন করতে API যোগ করুন:

    • SplitPinRule ক্লাস
    • SplitController#pinTopActivityStack
    • SplitController#unpinTopActivityStack
  • ইন্টারেক্টিভ ডিভাইডার সক্ষম এবং কনফিগার করতে API যোগ করুন

    • DividerAttributes ক্লাস
    • SplitAttributes.Builder#setDividerAttributes
  • ডায়ালগের জন্য EmbeddingConfiguration এবং DimAreaBehavior সেট করতে API যোগ করুন

    • EmbeddingConfiguration ক্লাস
    • DimAreaBehavior ক্লাস
    • ActivityEmbeddingController#setEmbeddingConfiguration
  • এম্বেড করা কার্যকলাপ উইন্ডো তথ্য আপডেট পেতে API যোগ করুন

    • EmbeddedActivityWindowInfo ইনফো ক্লাস
    • ActivityEmbeddingController#embeddedActivityWindowInfo
  • এম্বেডিং অ্যানিমেশন ব্যাকগ্রাউন্ড সেট করতে API যোগ করুন

    • EmbeddingAnimationBackground
    • SplitAttributes.Builder#setAnimationBackground
  • ActivityStacks শেষ করতে API যোগ করুন

    • ActivityEmbeddingController#finishActivityStacks
  • ActivityStack চালু করতে সেট করতে API যোগ করুন

    • ActivityEmbeddingOptions#setLaunchingActivityStack
  • নিম্নলিখিত APIগুলি স্থিতিশীল এবং আর পরীক্ষামূলক নয়:

    • ActivityEmbeddingController#invalidateVisibleActivityStacks (SplitController#invalidateTopVisibleSplitAttributes থেকে সরানো হয়েছে)
    • ActivityEmbeddingController#getActivityStack
    • SplitController#updateSplitAttributes
  • 1.4 এর জন্য API যোগ করুন। ( I56774 )

বাগ ফিক্স

  • নির্দিষ্ট কিছু ডিভাইসে বাগ সংশোধন করে যেখানে একটি সেশন সক্রিয় থাকাকালীন সক্রিয়ের পরিবর্তে অনুপলব্ধ ফেরত দেওয়া হবে।
  • অস্থির API সমর্থনের কারণে 2-এর vendorApiLevel সহ ডিভাইসগুলিতে transferActivityToWindowArea এর জন্য সমর্থন সরিয়ে দেয়।
  • অ্যাক্টিভিটি এমবেডিং ড্র্যাগেবল ডিভাইডারের জন্য ড্র্যাগ-টু-ফুলস্ক্রিন সক্ষম করতে API প্রবর্তন করুন। ( I645c9 )
  • SplitAttributes এর জন্য অ্যানিমেশন প্যারামের মাধ্যমে ActivityEmbedding অ্যানিমেশনগুলিকে নিষ্ক্রিয় করতে অ্যাপগুলিকে অনুমতি দিন। ( আইডিসি01এ )
  • নতুন প্ল্যাটফর্ম API-এ অ্যাক্সেসের ম্যানুয়াল রূপরেখা সরানো হয়েছে যেহেতু AGP 7.3 বা তার পরে (যেমন R8 সংস্করণ 3.3) এবং AGP 8.1 বা তার পরবর্তী (যেমন D8 সংস্করণ 8.1) ব্যবহার করার সময় R8 ব্যবহার করার সময় এটি স্বয়ংক্রিয়ভাবে API মডেলিংয়ের মাধ্যমে ঘটে। যে সকল ক্লায়েন্ট AGP ব্যবহার করছেন না তাদের D8 সংস্করণ 8.1 বা তার পরবর্তী সংস্করণে আপডেট করার পরামর্শ দেওয়া হচ্ছে। আরো বিস্তারিত জানার জন্য এই নিবন্ধটি দেখুন. ( IA60e0 , b/345472586 )
  • এক্সটেনশনগুলিকে SplitAttributes এর জন্য অ্যানিমেশন প্যারামগুলি নেওয়ার অনুমতি দিন যাতে ডিভাইসটি অ্যানিমেশন ট্রানজিশনের জন্য এটি ব্যবহার করতে পারে। ( Iede00 )
  • ওভারলে API লুকান ( Ic4251 )
  • স্প্লিটের জন্য স্থির বা টেনে আনা যায় এমন বিভাজক কনফিগার করতে API গুলি প্রবর্তন করুন ( Ia7a78 )
  • WindowMetrics ( Id6723 ) এ ঘনত্ব যোগ করা হয়েছে
  • SupportedPostures পেতে API যোগ করুন। ( if557a )
  • পরীক্ষামূলক API ( I191cf ) থেকে setLaunchingActivityStack সরান
  • ActivityEmbeddingController#embeddedActivityWindowInfo ( I24312 ) প্রবর্তন করুন
  • #getToken বর্জন করুন এবং #getActivityStackToken যোগ করুন ( Ie0471 )
  • embeddedActivityWindowInfo ফ্লো API ( Ida77f ) এর জন্য কলব্যাক অ্যাডাপ্টার প্রবর্তন করুন
  • ওভারলেইনফো ফ্লো API ( I7264f ) এর জন্য কলব্যাক অ্যাডাপ্টার যোগ করুন
  • পরীক্ষার জন্য extensionsVersion ওভাররাইড করতে WindowSdkExtensionsRule প্রবর্তন করুন৷ ( ifb928 )
  • - ActivityOptionsCompat ব্যবহারের সাথে সামঞ্জস্য করতে #setLaunchingActivityStack বান্ডেলে স্থানান্তর করুন।
    • ব্যবহারকারীদের ActvityOptions এর পরিবর্তে activityOptions.toBundle পাস করা উচিত।
    • #setLaunchingActivityStack(Activity) সরান। একটি ActivityStack পেতে ব্যবহারকারীদের ActivityEmbeddingController#getActivityStac(Activity) ব্যবহার করতে মাইগ্রেট করা উচিত এবং ActivityStack কে #setLaunchingActivityStack এ পাস করা উচিত। ( Ie0ccc )
  • - WM জেটপ্যাক এবং এক্সটেনশনগুলির মধ্যে যোগাযোগ করার জন্য ActivityStack.Token এবং SpltInfo.Token একটি শনাক্তকারী হিসাবে প্রবর্তন করুন।
    • IBinder এর পরিবর্তে টোকেন নিতে/ফেরত করতে API গুলিকে অবমূল্যায়ন/প্রতিস্থাপন করুন। ( I12b24 )
  • - ActivityEmbeddingController#invalidateVisibleActivityStacks প্রবর্তন করুন
    • SplitController#invalidateTopVisibleSplitAttributes সরান কারণ বৈশিষ্ট্যটি #invalidateVisibleActivityStacks ( I02ef5 ) এ একীভূত হয়
  • - এম্বেডিং কনফিগারেশন সেট করতে API যোগ করা হচ্ছে। ( I59a4a )
  • - পিন/আনপিন শীর্ষ ActivityStack androidx.Window API যোগ করা
    • শীর্ষ ActivityStack ( I24dd3 ) পিন/আনপিন করার অনুমতি দিতে ডেমো অ্যাপ আপডেট করা হচ্ছে
  • পুনরায় যোগ করুন #finishActivityStacks এবং ActivityEmbeddingOptions ( Ic1ab3 )
  • অস্থির API গুলি সরান। ( Ibc534 , b/302380585 )

সংস্করণ 1.3

সংস্করণ 1.3.0

29 মে, 2024

androidx.window:window-*:1.3.0 প্রকাশিত হয়েছে। সংস্করণ 1.3.0- এ এই কমিট রয়েছে।

1.2.0 থেকে গুরুত্বপূর্ণ পরিবর্তন

  • উইন্ডো সাইজ ক্লাসের জন্য কোটলিন মাল্টিপ্ল্যাটফর্ম সমর্থন।

সংস্করণ 1.3.0-rc01

14 মে, 2024

WindowManager Jetpack 1.3 WindowSizeClass বৈশিষ্ট্যের পাশাপাশি একাধিক বাগ ফিক্সের জন্য Kotlin মাল্টিপ্ল্যাটফর্ম সমর্থন নিয়ে আসে।

androidx.window:window-*:1.3.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-rc01-এ এই কমিট রয়েছে।

সংস্করণ 1.3.0-beta02

1 মে, 2024

androidx.window:window-*:1.3.0-beta02 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-beta02-এ এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • কাস্টম WindowSizeClass তৈরি এবং ব্যবহার করার জন্য সমর্থন সরান। ( আইডি 1143 )

বাগ ফিক্স

  • প্রোগার্ড নির্দিষ্ট ডিভাইস বাস্তবায়নে কিছু ফাইল বের করে দেওয়ার কারণে সৃষ্ট KotlinReflectionInternalError ঠিক করে। ( I01b02 )

সংস্করণ 1.3.0-beta01

3 এপ্রিল, 2024

androidx.window:window-*:1.3.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-beta01-এ এই কমিট রয়েছে।

সংস্করণ 1.3.0-alpha03

6 মার্চ, 2024

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

7 ফেব্রুয়ারি, 2024

androidx.window:window-*:1.3.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha02 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • যে ডেভেলপাররা তাদের নিজস্ব আকারের ক্লাস ব্যবহার করতে চান তাদের জন্য নমনীয়তা উন্নত করতে উইন্ডো সাইজ ক্লাস এপিআই-এর API পৃষ্ঠে আপডেট করা হয়েছে।

এপিআই পরিবর্তন

  • প্রস্থ নির্বাচক উচ্চতা সীমাবদ্ধতা যোগ করুন. ( I23393 )
  • একটি সেট থেকে একটি WindowSizeClass বাছাই করার জন্য ইউটিলিটি ফাংশন যোগ করুন। পরীক্ষামূলক স্কোরিং ফাংশন যোগ করুন যাতে বিকাশকারীরা তাদের নিজস্ব নির্বাচক লিখতে পারে। একটি প্রদত্ত সীমার মধ্যে প্রশস্ত WindowSizeClass বাছাই করতে একটি নির্বাচক এক্সটেনশন ফাংশন যোগ করুন। ( I0c944 )
  • WindowSizeClass কনস্ট্রাক্টর খুলুন যাতে কাস্টম ব্রেকপয়েন্ট যোগ করা যায়। ( Ic1ff3 )
  • প্রস্থ, উচ্চতা এবং ঘনত্ব থেকে আকার শ্রেণী তৈরি করতে সুবিধার ফাংশন যোগ করুন। ( if67f4 )

বাগ ফিক্স

  • ফ্লোট মান 0-তে কাটা হলে ব্যতিক্রম ঠিক করুন। ( 272ffac )

সংস্করণ 1.3.0-alpha01

15 নভেম্বর, 2023

androidx.window:window-*:1.3.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.3.0-alpha01-এ এই কমিট রয়েছে।

নতুন বৈশিষ্ট

  • পিছনের স্ক্রীন অ্যাক্সেস করার জন্য পরীক্ষামূলক উইন্ডো APIগুলি প্রকাশ করুন৷
  • একটি FoldingFeature তৈরির জন্য পরীক্ষা APIs এখন স্থিতিশীল।
  • জাল ActivityEmbedding মান সেট আপ করার জন্য পরীক্ষা API এখন স্থিতিশীল।
  • WindowLayoutInfoPublisherRule এখন UiContext থেকে একটি মান পাওয়ার সময় ওভাররাইড রিপোর্ট করে।
  • WindowInfoTracker UiContext প্যারামিটারে বৈশিষ্ট্য ডেটা ভাঁজ করার রিপোর্ট করে।
  • ডিভাইসে এক্সটেনশন সংস্করণ প্রকাশ করুন।
  • ব্যবহারকারী প্রতি অ্যাপ ওভাররাইডের জন্য WindowProperties ধ্রুবক:
    • PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_OVERRIDE — অ্যাপটি ব্যবহারকারী-মুখী আকৃতির অনুপাত সামঞ্জস্য ওভাররাইড থেকে অপ্ট আউট করেছে এমন সিস্টেমকে জানায়।
    • PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_FULLSCREEN_OVERRIDE — অ্যাপটি ব্যবহারকারীর দৃষ্টিভঙ্গি অনুপাত সামঞ্জস্য ওভাররাইড সেটিংসের পূর্ণ-স্ক্রীন বিকল্প থেকে অপ্ট আউট করেছে এমন সিস্টেমকে জানায়

সংস্করণ 1.2

সংস্করণ 1.2.0

15 নভেম্বর, 2023

androidx.window:window-*:1.2.0 প্রকাশিত হয়েছে। সংস্করণ 1.2.0 এই কমিট ধারণ করে.

1.1.0 থেকে গুরুত্বপূর্ণ পরিবর্তন

  • পিছনের স্ক্রীন অ্যাক্সেস করার জন্য পরীক্ষামূলক উইন্ডো APIগুলি প্রকাশ করুন৷
  • একটি FoldingFeature তৈরির জন্য পরীক্ষা APIs এখন স্থিতিশীল।
  • জাল ActivityEmbedding মান সেট আপ করার জন্য পরীক্ষা API এখন স্থিতিশীল।
  • WindowLayoutInfoPublisherRule এখন UiContext থেকে একটি মান পাওয়ার সময় ওভাররাইড রিপোর্ট করে।
  • WindowInfoTracker UiContext প্যারামিটারে বৈশিষ্ট্য ডেটা ভাঁজ করার রিপোর্ট করে।
  • ডিভাইসে এক্সটেনশন সংস্করণ প্রকাশ করুন।

সংস্করণ 1.2.0-rc01

নভেম্বর 1, 2023

androidx.window:window-*:1.2.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-rc01-এ এই কমিট রয়েছে।

নতুন বৈশিষ্ট

  • পিছনের স্ক্রীন অ্যাক্সেস করার জন্য পরীক্ষামূলক উইন্ডো APIগুলি প্রকাশ করুন৷
  • একটি FoldingFeature তৈরির জন্য পরীক্ষা APIs এখন স্থিতিশীল।
  • জাল ActivityEmbedding মান সেট আপ করার জন্য পরীক্ষা API এখন স্থিতিশীল।
  • WindowLayoutInfoPublisherRule এখন UiContext থেকে একটি মান পাওয়ার সময় ওভাররাইড রিপোর্ট করে।
  • WindowInfoTracker UiContext প্যারামিটারে বৈশিষ্ট্য ডেটা ভাঁজ করার রিপোর্ট করে।
  • ডিভাইসে এক্সটেনশন সংস্করণ প্রকাশ করুন।

সংস্করণ 1.2.0-beta04

18 অক্টোবর, 2023

androidx.window:window-*:1.2.0-beta04 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-beta04 এই কমিট ধারণ করে।

এপিআই পরিবর্তন

সংস্করণ 1.2.0-beta03

20 সেপ্টেম্বর, 2023

androidx.window:window-*:1.2.0-beta03 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-beta03 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • সঠিকভাবে কাজ করার জন্য এক্সটেনশনের একটি নির্দিষ্ট সংস্করণ প্রয়োজন এমন APIগুলির জন্য RequiresApi চেক যোগ করুন।
  • ডিভাইসে এক্সটেনশন সংস্করণ প্রকাশ করতে একটি API যোগ করুন।

এপিআই পরিবর্তন

  • সর্বজনীন API-এ প্রয়োজনীয় উইন্ডো SDK এক্সটেনশন সংস্করণ টীকা করুন।
    • অ্যাক্টিভিটি এমবেডিং কম্পোনেন্টে isXXXSupported সরান। ( ie3dae )
  • ডিভাইসে এক্সটেনশন সংস্করণ রিপোর্ট করতে WindowSdkExtensions চালু করুন।
    • ন্যূনতম প্রয়োজনীয় এক্সটেনশন সংস্করণ টীকা করার জন্য RequiresWindowSdkExtension পরিচয় দিন। ( I05fd4 )
  • WindowAreaInfo#getCapability অ-নূলযোগ্য করে তোলে। ( I17048 )

সংস্করণ 1.2.0-beta01

জুলাই 26, 2023

androidx.window:window-*:1.2.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-beta01-এ এই কমিট রয়েছে।

নতুন বৈশিষ্ট

  • পিছনের স্ক্রীন অ্যাক্সেস করার জন্য পরীক্ষামূলক উইন্ডো APIগুলি প্রকাশ করুন৷
  • একটি FoldingFeature তৈরির জন্য পরীক্ষা APIs এখন স্থিতিশীল।
  • জাল ActivityEmbedding মান সেট আপ করার জন্য পরীক্ষা API এখন স্থিতিশীল।
  • WindowLayoutInfoPublisherRule এখন UiContext থেকে একটি মান পাওয়ার সময় ওভাররাইড রিপোর্ট করে।
  • WindowInfoTracker UiContext প্যারামিটারে বৈশিষ্ট্য ডেটা ভাঁজ করার রিপোর্ট করে।

এপিআই পরিবর্তন

  • 1.3 ( I857f5 ) এ স্থিতিশীল রিলিজের জন্য API পরিবর্তনগুলি চালিয়ে যাওয়ার জন্য WindowArea API-কে পরীক্ষামূলক হিসাবে চিহ্নিত করে
  • কম্প্যাটিবিলিটি সাপ্রেশন ( I8e87a , b/287516207 ) টীকা করতে API ফাইল আপডেট করা হয়েছে

সংস্করণ 1.2.0-alpha03

জুন 21, 2023

androidx.window:window-*:1.2.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha03 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • API পৃষ্ঠ থেকে অপসারিত API গুলি সরানো হচ্ছে।
  • সমবর্তী প্রদর্শন সমর্থন করতে API যোগ করুন।
  • জোরপূর্বক রিসাইজ ওভাররাইড অপ্ট আউট করতে একটি সম্পত্তি যোগ করুন।
  • ন্যূনতম আকৃতির অনুপাত ওভাররাইড থেকে অপ্ট আউট করতে সম্পত্তি যোগ করুন।
  • অ্যাক্টিভিটি এমবেডিং এর চারপাশে ইউনিট টেস্টিং সমর্থন করতে ActivityEmbeddingRule স্থিতিশীল করুন।

এপিআই পরিবর্তন

  • অপসারিত API ( I18d39 ) সরান
  • সমবর্তী প্রদর্শনের জন্য সমর্থন যোগ করুন। ( IFcbb0 )

বাগ ফিক্স

  • ফোর্স রিসাইজ ওভাররাইডের জন্য অপ্ট-আউট কমপ্যাট সম্পত্তি যোগ করা হচ্ছে ( 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 )
  • RearDisplayPresentationMode APIs যোগ করুন ( I0401c )
  • স্থিতিশীল জন্য পটভূমি রঙ API সরান. ( I34c3e )
  • উইন্ডো এলাকা API লুকান. ( I39de0 )
  • SplitControllerSplitInfo ওভাররাইড করার পদ্ধতি যোগ করুন। SplitInfo এবং ActivityStack এর জন্য ডবল তৈরি করতে পরীক্ষা পদ্ধতি যোগ করুন। ( Icd69f )
  • ActivityRule.Builder এর জন্য ট্যাগটিকে ঐচ্ছিক করুন। ( Ib0b44 )
  • RatioSplitType , ExpandContainersSplit এবং HingeSplitType সরান। তারা এখন SplitType
    • #splitEqually() , #expandContainers() এবং #splitByHinge কে ধ্রুবক SplitType SPLIT_TYPE_EQUAL , SPLIT_TYPE_EXPAND এবং SPLIT_TYPE_HINGE এ প্রতিস্থাপন করুন
    • কব্জা স্প্লিট টাইপের ফলব্যাক টাইপ সেট করতে কার্যকারিতা সরান। যদি বর্তমান ডিভাইস বা উইন্ডো অবস্থার কারণে কব্জা বিভক্ত প্রকারটি প্রয়োগ করা না যায়, তাহলে এটি মূল টাস্ক কন্টেইনারকে সমানভাবে বিভক্ত করতে ফলব্যাক করে। ফলব্যাক স্প্লিট টাইপ কাস্টমাইজ করতে SplitController#setSplitAttributesCalculator ব্যবহার করুন। ( IFcc59 )
  • স্প্লিটকলব্যাক add / removeSplitCallback
    • SplitControllerCallbackAdapteradd / removeSplitCallback সরান
    • SplitInfo তালিকা পেতে Flow সমর্থন যোগ করুন ( I7f1b6 )
  • ActivityEmbeddingController ( I42e9b ) এর জন্য একটি পরীক্ষার নিয়ম যোগ করুন
  • ActivityOptionsCompat নাম পরিবর্তন করে ActivityEmbeddingOptions ( I89301 )
  • অ্যাক্টিভিটি এমবেডিং উপলব্ধ কিনা তা নির্দেশ করতে splitSupportStatus যোগ করুন। ( I10024 )
  • DEFAULT মানকে আরও ভালোভাবে উপস্থাপন করতে SplitAttributes.BackgroundColor প্রবর্তন করুন। স্পষ্ট করুন যে অ-অস্বচ্ছ অ্যানিমেশন পটভূমির রঙ সমর্থিত নয়, তাই যেকোনো অ-অস্বচ্ছ রংকে ডিফল্ট হিসাবে গণ্য করা হবে, যার অর্থ বর্তমান থিম উইন্ডোর পটভূমির রঙ ব্যবহার করা। ( IC6b95 )
  • ALWAYS_ALLOW এবং ALWAYS_DISALLOW দিয়ে alwaysAllow() এবং alwaysDisallow() প্রতিস্থাপন করুন। ( 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

7 জুন, 2023

androidx.window:window-*:1.2.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha02 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • অনির্দিষ্ট ভাঁজ বৈশিষ্ট্যগুলির জন্য একটি ধ্রুবক থাকতে পরীক্ষা API আপডেট করুন।
  • WindowLayoutInfoPublishRule দিয়ে ওভাররাইড করা windowLayoutInfo এর সমস্ত মানকে ওভাররাইড করবে, প্রসঙ্গ ভিত্তিক API সহ।

এপিআই পরিবর্তন

  • অনির্দিষ্ট কেন্দ্র ভাঁজ বৈশিষ্ট্য জন্য ধ্রুবক যোগ করুন. ( I7530c )

বাগ ফিক্স

  • Context ভিত্তিক WindowLayoutInfo এ ওভাররাইড সমর্থন করতে WindowLayoutInfoPublishRule আপডেট করুন। ( I2037a )

সংস্করণ 1.2.0-alpha01

24 মে, 2023

androidx.window:window-*:1.2.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.2.0-alpha01-এ এই কমিট রয়েছে।

নতুন বৈশিষ্ট

অ্যাক্টিভিটি এমবেডিং এবং WindowLayoutInfoTracker চারপাশে টেস্টিং API গুলিকে স্থিতিশীল করুন৷ ActivityEmbeddingRule স্থিতিশীল হিসাবে উন্নীত করা হয়েছে। WindowMetricsCalculatorRule স্থিতিশীল হিসাবে উন্নীত করা হয়েছে। পরীক্ষার জন্য একটি FoldingFeature তৈরি করতে ইউটিলিটি ফাংশনগুলিকে স্থিতিশীল হিসাবে উন্নীত করা হয়েছে।

এপিআই পরিবর্তন

  • অ্যাক্টিভিটি এমবেডিং এর চারপাশে ইউনিট টেস্টিং সমর্থন করতে ActivityEmbeddingRule স্থিতিশীল করুন। ( I8d6b6 )
  • WindowMetrisCalculatorTestRule স্থিতিশীল JVM পরীক্ষার জন্য স্টাব মেট্রিক্সের অনুমতি দেয়। আমরা সঠিক ফলাফলের জন্য একটি এমুলেটর ব্যবহার করার পরামর্শ দিই।
  • JVM পরীক্ষা সমর্থন করার জন্য WindowLayoutInfo এর জন্য পরীক্ষা API গুলিকে স্থির করুন। ( IE036e )
  • পরীক্ষা ভাঁজ বৈশিষ্ট্য মান জন্য IntRange যোগ করুন. ( I69f7d )

সংস্করণ 1.1

সংস্করণ 1.1.0

7 জুন, 2023

androidx.window:window-*:1.1.0 প্রকাশিত হয়েছে। সংস্করণ 1.1.0 এই কমিট ধারণ করে.

1.0.0 থেকে গুরুত্বপূর্ণ পরিবর্তন

অ্যাক্টিভিটি এমবেডিং

  • অ্যাপ ম্যানিফেস্টে <application> ট্যাগের বুলিয়ান প্রপার্টি হিসেবে PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED যোগ করা হয়েছে।
  • কেন বিভক্ত বৈশিষ্ট্যটি উপলব্ধ নয় সে সম্পর্কে আরও বিশদ তথ্য প্রদানের জন্য অপ্রচলিত isSplitSupported এবং splitSupportStatus দিয়ে প্রতিস্থাপিত হয়েছে।
  • splitSupportStatus সম্পত্তির জন্য স্টেট কনস্ট্যান্ট প্রদান করতে SplitController.SplitSupportStatus নেস্টেড ক্লাস যোগ করা হয়েছে।
  • বিভিন্ন মডিউলে রিফ্যাক্টর করা SplitController :
    • Activity বা ActivityStack সম্পর্কিত API-এর জন্য ActivityEmbeddingController মডিউল।
    • SplitController থেকে isActivityEmbedded ActivityEmbeddingController সরানো হয়েছে।
    • EmbeddingRule সম্পর্কিত ক্রিয়াকলাপের জন্য RuleController মডিউল:
    • সরানো SplitController APIs:
    • clearRegisteredRules()
    • getSplitRules()
    • initialize()
    • registerRule()
    • unregisterRule()
    • RuleController API যোগ করা হয়েছে:
    • addRule() — একটি নিয়ম যোগ করে বা একই ট্যাগ আছে এমন নিয়ম আপডেট করে।
    • removeRule() — নিবন্ধিত নিয়মের সংগ্রহ থেকে একটি নিয়ম সরিয়ে দেয়।
    • setRules() — নিয়মের একটি সংগ্রহ স্থাপন করে।
    • clearRules() — সমস্ত নিবন্ধিত নিয়ম মুছে দেয়।
    • parseRules() — XML নিয়ম সংজ্ঞা থেকে নিয়ম পার্স করে।
  • সমস্ত মডিউলের জন্য #getInstance() পদ্ধতি দ্বারা আরম্ভ করার জন্য একটি প্রসঙ্গ প্রয়োজন, সহ:
    • ActivityEmbeddingController#getInstance(Context)
    • SplitController#getInstance(Context)
    • RuleController#getInstance(Context)
  • ডিসপ্লে অ্যাসপেক্ট রেশিওর সাথে সম্পর্কিত enum-এর মতো আচরণের ধ্রুবক সংজ্ঞায়িত করতে EmbeddingAspectRatio ক্লাস যোগ করা হয়েছে।
  • বিভক্ত বিন্যাস সংজ্ঞায়িত করতে SplitAttributes ক্লাস যোগ করা হয়েছে।
  • স্প্লিট লেআউট কাস্টমাইজ করতে SplitAttributes ক্যালকুলেটর ফাংশন SplitController এ যোগ করা হয়েছে:
    • setSplitAttributesCalculator(Function)
    • clearSplitAttributesCalculator()
    • isSplitAttributesCalculatorSupported() ডিভাইসে SplitAttributesCalculator API সমর্থিত কিনা তা পরীক্ষা করতে
  • EmbeddingRule#tag ক্ষেত্র যোগ করা হয়েছে।
  • SplitRule এ API আপডেট:
    • যোগ করা হয়েছে defaultSplitAttributes — একটি বিভাজনের ডিফল্ট স্প্লিট বিন্যাস সংজ্ঞায়িত করে; splitRatio এবং layoutDirection প্রতিস্থাপন করে।
    • defaultSplitAttributes এ XML বৈশিষ্ট্য splitRatio এবং splitLayoutDirection এর অনুবাদ যোগ করা হয়েছে।
    • পিক্সেলের পরিবর্তে ঘনত্ব-স্বাধীন পিক্সেল (dp) ব্যবহার করতে ন্যূনতম মাত্রার সংজ্ঞা পরিবর্তন করা হয়েছে।
    • ডিফল্ট মান 600dp সহ minHeightDp যোগ করা হয়েছে।
    • ডিফল্ট মান 600dp সহ minWidth থেকে minWidthDp এ পরিবর্তন করা হয়েছে৷
    • ডিফল্ট মান 600dp সহ minSmallestWidth থেকে minSmallestWidthDp এ পরিবর্তন করা হয়েছে৷
    • ডিফল্ট মান ALWAYS_ALLOW সহ maxAspectRatioInHorizontal যোগ করা হয়েছে।
    • ডিফল্ট মান 1.4 সহ maxAspectRatioInPortrait যোগ করা হয়েছে।
    • ফিনিশ আচরণ ধ্রুবক প্রতিস্থাপন করতে FinishBehavior নেস্টেড ক্লাস সংজ্ঞায়িত করা হয়েছে।
    • SplitPairRule এবং SplitPlaceholderRule এর বিল্ডার নেস্টেড ক্লাসে সম্পত্তির পরিবর্তনগুলি প্রয়োগ করা হয়েছে।
  • স্প্লিট-সম্পর্কিত অতিরিক্ত তথ্য প্রদানের জন্য SplitInfo#getSplitRatio() SplitInfo#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 এখন পিক্সেলের পরিবর্তে dp ইউনিট ব্যবহার করে। অ্যাপগুলি নিম্নলিখিত কলটি ব্যবহার করতে পারে: kotlin TypedValue.applyDimension( COMPLEX_UNIT_DIP, minWidthInPixels, resources.displayMetrics ) অথবা কেবল displayMetrics#density দ্বারা minWith পিক্সেলে ভাগ করুন।
  • ফিনিশ আচরণের ধ্রুবকগুলি অবশ্যই FinishBehavior enum-এর মতো শ্রেণী ধ্রুবকগুলিতে স্থানান্তরিত করতে হবে:
    • FINISH_NEVER FinishBehavior.NEVER এ পরিবর্তন হয় না।
    • FINISH_ALWAYS FinishBehavior.ALWAYS এ পরিবর্তন হয়।AlWAYS।
    • FINISH_ADJACENT পরিবর্তিত হয়েছে FinishBehavior.ADJACENT
  • লেআউটের দিকনির্দেশকে অবশ্যই SplitAttributes.LayoutDirection এ স্থানান্তরিত করতে হবে:
    • ltr পরিবর্তন করে SplitAttributes.LayoutDirection.LEFT_TO_RIGHT .
    • rtl পরিবর্তন করে SplitAttributes.LayoutDirection.RIGHT_TO_LEFT .
    • SplitAttributes.LayoutDirection.LOCALElocale পরিবর্তন হয়।
    • 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 FinishBehavior enum-এর মতো ধ্রুবক গ্রহণ করে। বিস্তারিত জানার জন্য "SplitRule মাইগ্রেশন" দেখুন।
    • পোর্ট্রেট ডিভাইসে বিভক্ত দেখানোর জন্য setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW) ব্যবহার করুন।
  • SplitPlaceholder.Builder মাইগ্রেশন:
    • শুধুমাত্র filters এবং placeholderIntent প্যারামিটার আছে। অন্যান্য বৈশিষ্ট্য সেটটারে চলে যায়। বিস্তারিত জানার জন্য "SplitPairRule.Builder মাইগ্রেশন" দেখুন।
    • setFinishPrimaryWithPlaceholder FinishBehavior enum-এর মতো ধ্রুবক নেয়। বিস্তারিত জানার জন্য "SplitRule মাইগ্রেশন" দেখুন।
    • setLayoutDirection(layoutDirection) এবং setSplitRatio(ratio) এতে পরিবর্তন করুন: kotlin setDefaultSplitAttributes( SplitAttributes.Builder() .setLayoutDirection(layoutDirection) .setSplitType(SplitAttributes.SplitType.ratio(ratio)) .build() )
    • পোর্ট্রেট ডিভাইসে বিভক্ত দেখানোর জন্য setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW) ব্যবহার করুন।

সংস্করণ 1.1.0-rc01

10 মে, 2023

androidx.window:window-*:1.1.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-rc01-এ এই কমিট রয়েছে।

নতুন বৈশিষ্ট

  • একটি স্থিতিশীল API হিসাবে ActivityEmbedding প্রকাশ করুন।
  • বিভিন্ন বাগ ফিক্স।

সংস্করণ 1.1.0-beta02

5 এপ্রিল, 2023

androidx.window:window-*:1.1.0-beta02 প্রকাশিত হয়েছে। 1.1.0-beta02 সংস্করণে এই কমিট রয়েছে।

নতুন বৈশিষ্ট

  • অভ্যন্তরীণ সংশোধন করুন এবং পরিষ্কার করুন।

সংস্করণ 1.1.0-beta01

22 মার্চ, 2023

androidx.window:window-*:1.1.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-beta01-এ এই কমিট রয়েছে।

অ্যাক্টিভিটি এমবেডিং

  • অ্যাপ ম্যানিফেস্টে <application> ট্যাগের বুলিয়ান প্রপার্টি হিসেবে PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED যোগ করা হয়েছে।
  • কেন বিভক্ত বৈশিষ্ট্যটি উপলব্ধ নয় সে সম্পর্কে আরও বিশদ তথ্য প্রদানের জন্য অপ্রচলিত isSplitSupported এবং splitSupportStatus দিয়ে প্রতিস্থাপিত হয়েছে।
  • splitSupportStatus সম্পত্তির জন্য স্টেট কনস্ট্যান্ট প্রদান করতে SplitController.SplitSupportStatus নেস্টেড ক্লাস যোগ করা হয়েছে।
  • বিভিন্ন মডিউলে রিফ্যাক্টর করা SplitController :
    • Activity বা ActivityStack সম্পর্কিত API-এর জন্য ActivityEmbeddingController মডিউল।
    • SplitController থেকে isActivityEmbedded ActivityEmbeddingController সরানো হয়েছে।
    • EmbeddingRule সম্পর্কিত ক্রিয়াকলাপের জন্য RuleController মডিউল:
    • সরানো SplitController APIs:
      • clearRegisteredRules()
      • getSplitRules()
      • initialize()
      • registerRule()
      • unregisterRule()
    • RuleController API যোগ করা হয়েছে:
      • addRule() — একটি নিয়ম যোগ করে বা একই ট্যাগ আছে এমন নিয়ম আপডেট করে।
      • removeRule() — নিবন্ধিত নিয়মের সংগ্রহ থেকে একটি নিয়ম সরিয়ে দেয়।
      • setRules() — নিয়মের একটি সংগ্রহ স্থাপন করে।
      • clearRules() — সমস্ত নিবন্ধিত নিয়ম মুছে দেয়।
      • `parseRules() — XML নিয়ম সংজ্ঞা থেকে নিয়ম পার্স করে।
  • সমস্ত মডিউলের জন্য #getInstance() পদ্ধতি দ্বারা আরম্ভ করার জন্য একটি প্রসঙ্গ প্রয়োজন, সহ:
    • ActivityEmbeddingController#getInstance(Context)
    • SplitController#getInstance(Context)
    • RuleController#getInstance(Context)
  • ডিসপ্লে অ্যাসপেক্ট রেশিওর সাথে সম্পর্কিত enum-এর মতো আচরণের ধ্রুবক সংজ্ঞায়িত করতে EmbeddingAspectRatio ক্লাস যোগ করা হয়েছে।
  • বিভক্ত বিন্যাস সংজ্ঞায়িত করতে SplitAttributes ক্লাস যোগ করা হয়েছে।
  • স্প্লিট লেআউট কাস্টমাইজ করতে SplitAttributes ক্যালকুলেটর ফাংশন SplitController এ যোগ করা হয়েছে:
    • setSplitAttributesCalculator(Function)
    • clearSplitAttributesCalculator()
    • isSplitAttributesCalculatorSupported() ডিভাইসে SplitAttributesCalculator API সমর্থিত কিনা তা পরীক্ষা করতে
  • EmbeddingRule#tag ক্ষেত্র যোগ করা হয়েছে।
  • SplitRule এ API আপডেট:
    • যোগ করা হয়েছে defaultSplitAttributes — একটি বিভাজনের ডিফল্ট স্প্লিট বিন্যাস সংজ্ঞায়িত করে; splitRatio এবং layoutDirection প্রতিস্থাপন করে।
    • defaultSplitAttributes এ XML বৈশিষ্ট্য splitRatio এবং splitLayoutDirection এর অনুবাদ যোগ করা হয়েছে।
    • পিক্সেলের পরিবর্তে ঘনত্ব-স্বাধীন পিক্সেল (dp) ব্যবহার করতে ন্যূনতম মাত্রার সংজ্ঞা পরিবর্তন করা হয়েছে।
    • ডিফল্ট মান 600dp সহ minHeightDp যোগ করা হয়েছে।
    • ডিফল্ট মান 600dp সহ minWidth থেকে minWidthDp এ পরিবর্তন করা হয়েছে৷
    • ডিফল্ট মান 600dp সহ minSmallestWidth থেকে minSmallestWidthDp এ পরিবর্তন করা হয়েছে৷
    • ডিফল্ট মান ALWAYS_ALLOW সহ maxAspectRatioInHorizontal যোগ করা হয়েছে।
    • ডিফল্ট মান 1.4 সহ maxAspectRatioInPortrait যোগ করা হয়েছে।
    • ফিনিশ আচরণ ধ্রুবক প্রতিস্থাপন করতে FinishBehavior নেস্টেড ক্লাস সংজ্ঞায়িত করা হয়েছে।
    • SplitPairRule এবং SplitPlaceholderRule এর Builder নেস্টেড ক্লাসে সম্পত্তির পরিবর্তনগুলি প্রয়োগ করা হয়েছে।
  • স্প্লিট-সম্পর্কিত অতিরিক্ত তথ্য প্রদানের জন্য SplitInfo#getSplitRatio() SplitInfo#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 মাইগ্রেশন:
    • 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 এখন পিক্সেলের পরিবর্তে dp ইউনিট ব্যবহার করে। অ্যাপগুলি নিম্নলিখিত কলটি ব্যবহার করতে পারে: kotlin TypedValue.applyDimension( COMPLEX_UNIT_DIP, minWidthInPixels, resources.displayMetrics ) অথবা কেবল displayMetrics#density দ্বারা minWith পিক্সেলে ভাগ করুন।
  • ফিনিশ আচরণের ধ্রুবকগুলি অবশ্যই FinishBehavior enum-এর মতো শ্রেণী ধ্রুবকগুলিতে স্থানান্তরিত করতে হবে:
    • FINISH_NEVER FinishBehavior.NEVER এ পরিবর্তন হয় না।
    • FINISH_ALWAYS FinishBehavior.ALWAYS এ পরিবর্তন হয়।AlWAYS।
    • FINISH_ADJACENT পরিবর্তিত হয়েছে FinishBehavior.ADJACENT
  • লেআউটের দিকনির্দেশকে অবশ্যই SplitAttributes.LayoutDirection এ স্থানান্তরিত করতে হবে:
    • ltr পরিবর্তন করে SplitAttributes.LayoutDirection.LEFT_TO_RIGHT .
    • rtl পরিবর্তন করে SplitAttributes.LayoutDirection.RIGHT_TO_LEFT .
    • SplitAttributes.LayoutDirection.LOCALElocale পরিবর্তন হয়।
    • 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 FinishBehavior enum-এর মতো ধ্রুবক গ্রহণ করে। বিস্তারিত জানার জন্য "SplitRule মাইগ্রেশন" দেখুন।
    • পোর্ট্রেট ডিভাইসে বিভক্ত দেখানোর জন্য setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW) ব্যবহার করুন।
  • SplitPlaceholder.Builder মাইগ্রেশন:
    • শুধুমাত্র filters এবং placeholderIntent প্যারামিটার আছে। অন্যান্য বৈশিষ্ট্য সেটটারে চলে যায়। বিস্তারিত জানার জন্য "SplitPairRule.Builder মাইগ্রেশন" দেখুন।
    • setFinishPrimaryWithPlaceholder FinishBehavior enum-এর মতো ধ্রুবক নেয়। বিস্তারিত জানার জন্য "SplitRule মাইগ্রেশন" দেখুন।
    • setLayoutDirection(layoutDirection) এবং setSplitRatio(ratio) এতে পরিবর্তন করুন: kotlin setDefaultSplitAttributes( SplitAttributes.Builder() .setLayoutDirection(layoutDirection) .setSplitType(SplitAttributes.SplitType.ratio(ratio)) .build() )
    • পোর্ট্রেট ডিভাইসে বিভক্ত দেখানোর জন্য setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW) ব্যবহার করুন।

সংস্করণ 1.1.0-alpha06

22 ফেব্রুয়ারি, 2023

androidx.window:window-*:1.1.0-alpha06 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha06-এ এই কমিট রয়েছে।

নতুন বৈশিষ্ট

  • একটি UI প্রসঙ্গ থেকে WindowLayoutInfo পাওয়ার পরীক্ষামূলক সংস্করণ প্রকাশ করুন।

এপিআই পরিবর্তন

  • অ্যাক্টিভিটি এমবেডিং উপলব্ধ কিনা তা নির্দেশ করতে splitSupportStatus যোগ করুন। ( I10024 )
  • পরীক্ষামূলক হিসাবে UI প্রসঙ্গ WindowLayoutInfo API তৈরি করুন। ( I58ee0 )
  • RearDisplay মোড সক্ষম করতে WindowAreaController এবং API-এর সাথে বর্তমান উইন্ডোটিকে রিয়ার ক্যামেরার সাথে সারিবদ্ধ ডিসপ্লেতে সরানোর জন্য চালু করে। ( IFfcbf )
  • ডিফল্ট পটভূমির রঙ আপডেট করুন। ( I1ac1b )
  • SplitAttributes params যোগ করুন। ( I18bdd )
  • SplitRule , SplitAttributes , SplitAttributesCalculator এর জন্য API যোগ করুন। ( I92d23 )
  • maxAspectRatio চারপাশে API গুলি উন্নত করুন:
    1. ALWAYS_ALLOW এবং ALWAYS_DISALLOW দিয়ে alwaysAllow() এবং alwaysDisallow() প্রতিস্থাপন করুন।
    2. স্বতন্ত্র ডকুমেন্টেশন সহ @see-এর API ডকুমেন্টেশন আপডেট করুন। ( I3057b )
  • নিম্নলিখিত কনস্ট্রাক্টরগুলিকে সর্বজনীন API থেকে সরানো হয়েছে কারণ তাদের অ্যাপগুলির দ্বারা কল করার কথা নয়৷
    • SplitInfo কনস্ট্রাক্টর
    • ActivityStack কনস্ট্রাক্টর ( Ide534 )
  • SplitRule এখন maxAspectRatioInPortrait/Landscape নেয়। এটি শুধুমাত্র তখনই ক্রিয়াকলাপগুলিকে বিভক্ত করার অনুমতি দেয় যখন প্যারেন্ট বাউন্ডের অনুপাত অনুরোধকৃত maxAspectRatio এর তুলনায় ছোট বা সমান হয়৷ ( IA5990 )
  • RuleController#parseRules স্থির হতে পরিবর্তন করুন ( I785df )
  • ActivityEmbedding-এর আশেপাশে APIs উন্নত করুন
    1. API নামকরণ সারিবদ্ধ করুন - একাধিক দৃষ্টান্তের জন্য যোগ/সরানো ব্যবহার করুন:
    2. registerRule addRule এ পরিবর্তন হয়
    3. unregisterRule removeRule রুলে পরিবর্তন করে
    4. getSplitRules getRules দিয়ে প্রতিস্থাপন করুন যেহেতু ActivityRule একটি বিভক্ত নিয়ম নয়
    5. নিয়মের একটি গুচ্ছ সেট করতে RuleController#setRules যোগ করুন
    6. SplitController থেকে singleton RuleController এ নিয়ম সম্পর্কিত APIগুলি বের করুন। তারা হল:
    7. addRule
    8. removeRule
    9. getRules
    10. setRules
    11. clearRules
    12. parseRules
    13. SplitController থেকে singleton ActivityEmbeddingController#isActivityEmbedded এক্সট্র্যাক্ট করুন। তারা হল:
    14. isActivityEmbedded
    15. SplitController#initialize সরান। XML ফাইল থেকে নিয়ম সেট করতে, অনুগ্রহ করে RuleController#parseRules এবং #setRules ব্যবহার করুন। এই পরিবর্তনের আগে: SplitController.initialize(context, R.xml.static_rules) এই পরিবর্তনের পর: val ruleController = RuleController.getInstance(context) val rules = ruleController.parseRules(R.xml.static_rules) ruleController.setRules(rules)
    16. আমরা আর রানটাইম নিয়মের সাথে স্ট্যাটিক নিয়মগুলিকে আলাদা করি না। তাতে বলা হয়েছে, স্ট্যাটিক এক্সএমএল নিয়ম সংজ্ঞা বা রানটাইমে নিবন্ধিত হোক না কেন, সমস্ত নিয়ম মুছে ফেলার জন্য #clearRules ফলাফল কল করা। SplitController#clearRegisteredRules এর লিগ্যাসি আচরণ পেতে, অনুগ্রহ করে XML রিসোর্স আইডি সহ RuleController#parseRules এ কল করুন এবং নিয়মগুলি আবার সেট করতে RuleController#setRules কল করুন। এই পরিবর্তনের আগে: SplitController.getInstance(context).clearRegisteredRules() এই পরিবর্তনের পরে: val ruleController = RuleController.getInstance(context) val rules = ruleController.parseRules(R.xml.static_rules) ruleController.setRules(rules) ( 396 )
  • SplitRule API গুলি উন্নত করুন:
    1. SplitRule এর জন্য পিক্সেলের পরিবর্তে DP-তে ন্যূনতম মাত্রা নিন।
    2. SplitRule বিল্ডারের জন্য রিফ্যাক্টর ন্যূনতম মাত্রা ঐচ্ছিক হিসাবে নিতে। ( I95f17 )
  • SplitController শুরু করতে একটি প্রসঙ্গ পাস করুন ( I42549 )
  • SplitRule#layoutDir কে #layoutDirection এবং SplitRule Builder#setLayoutDirBuilder#setLayoutDirection নামকরণ করা হয়েছে। ( I3f6d1 )

সংস্করণ 1.1.0-alpha04

9 নভেম্বর, 2022

androidx.window:window-*:1.1.0-alpha04 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha04 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • ActivityEmbedding এর জন্য একটি ActivityStack খালি কিনা তা নির্ধারণ করার জন্য একটি পদ্ধতি প্রকাশ করুন।
  • ActivityEmbedding APIs থেকে পরীক্ষামূলক API ট্যাগগুলি সরানো হয়েছে৷
  • Builder হিসাবে ActivityRule কনস্ট্রাক্টর লুকান এটি নির্মাণের পছন্দের উপায়।
  • WindowMetricsWindowInsets পেতে একটি পরীক্ষামূলক পদ্ধতি যোগ করুন।
  • স্থানধারক শেষ করা রোধ করতে SplitPlaceholderFinishBehavior আপডেট করুন। স্থানধারক শেষ করার ফলে কিছু বিভ্রান্তিকর আচরণ হয়েছে।

এপিআই পরিবর্তন

  • val isEmpty পাবলিক করুন মজা প্রতিস্থাপন করার জন্য isEmpty .
  • ActivityStack প্যারামিটার কার্যকলাপের নাম পরিবর্তন করুন activitiesInProcess । ( IA5055 )
  • ActivityFilter#matchesClassName এবং ActivityFilter#matchesClassNameOrWildCard সরান কারণ তারা বিভ্রান্তিকর।
  • ActivityFilter#componentName abd ActivityFilter#intentAction যোগ করুন যাতে কলকারী বিভিন্ন ফিল্টারকে আলাদা করতে পারে ( I41f22 )
  • পরীক্ষামূলক API ( I216b3 ) থেকে @Deprecated API গুলি সরান
  • অ্যাক্টিভিটি এমবেডিং API ( I69ebe ) এর জন্য @ExperimentalWindowApi সরান
  • ActivityRule কনস্ট্রাক্টর লুকান, পরিবর্তে Builder ব্যবহার করুন। ( if4eb6 )
  • কোনো অ্যাক্টিভিটি ActivityFilter অংশ কিনা তা পরীক্ষা করতে API যোগ করুন। ( IA43cf )
  • WindowMetrics এবং WindowMetricsCalculatorCompat ক্লাসে পরিবর্তনগুলি প্রতিফলিত করতে API ফাইলগুলি আপডেট করুন ( I667fe )
  • ActivityEmbedding প্রপার্টি জাভাডক এবং ক্লাসের নাম ( Ia1386 ) আপডেট করুন
  • AndroidManifest.xml ( Id1ad4 ) এ ব্যবহার করার জন্য ActivityEmbedding প্রপার্টি ট্যাগ নাম যোগ করা হচ্ছে
  • নতুন API SplitPlaceholderFinishBehavior এবং SplitPlaceholderRule.finishPrimaryWithPlaceholder যোগ করা হয়েছে, এটি বিদ্যমান SplitPlaceholderRule.finishPrimaryWithSecondary কে প্রতিস্থাপন করে যা নির্ধারণ করে কখন প্লেসহোল্ডার অ্যাক্টিভিটগুলি শেষ হয়, অ্যাক্টিভিটিতে অ্যাক্টিভিটিগুলি কীভাবে যুক্ত হওয়া উচিত। ( I64647 )

বাগ ফিক্স

  • RearDisplay মোড সক্ষম করতে WindowAreaController এবং API-এর সাথে বর্তমান উইন্ডোটিকে রিয়ার ক্যামেরার সাথে সারিবদ্ধ ডিসপ্লেতে সরানোর জন্য চালু করে। ( I388ab )

সংস্করণ 1.1.0-alpha03

জুলাই 27, 2022

androidx.window:window-*:1.1.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha03 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • এম্বেডিং নিয়মের জন্য ডিফল্ট মান আপডেট করুন।

এপিআই পরিবর্তন

  • নিয়ম বৈশিষ্ট্য এমবেড করার জন্য ডিফল্ট মান আপডেট করুন। ( Ic4d35 )

সংস্করণ 1.1.0-alpha02

11 মে, 2022

androidx.window:window-*:1.1.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha02 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • Java এবং RxJava সমর্থন করার জন্য অ্যাডাপ্টার লাইব্রেরি ছেড়ে দিন।

সংস্করণ 1.1.0-alpha01

11 মে, 2022

androidx.window:window-*:1.1.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha01-এ এই কমিট রয়েছে।

নতুন বৈশিষ্ট

  • জাভা এবং RxJava সমর্থন করার জন্য অ্যাডাপ্টার প্রকাশ করুন

সংস্করণ 1.1.0-alpha01

20 এপ্রিল, 2022

androidx.window:window:1.1.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha01-এ এই কমিট রয়েছে।

নতুন বৈশিষ্ট

  • একটি বাগ সংশোধন করে যেখানে একটি অ্যাপের ব্যাকগ্রাউন্ডিং ভাঁজ বৈশিষ্ট্যগুলি নির্গত করা বন্ধ করে।
  • পরীক্ষামূলক ActivityEmbedding API-এ প্রসারিত করুন।

এপিআই পরিবর্তন

  • একটি কার্যকলাপ এমবেড করা হচ্ছে কিনা তা পরীক্ষা করার জন্য একটি সর্বজনীন API। ( I39eb7 )

বাগ ফিক্স

  • অ্যাক্টিভিটি স্প্লিট ( I1a1e4 ) এ কন্টেইনারগুলির জন্য ফিনিশিং আচরণ কাস্টমাইজ করে এমন API যোগ করুন
  • কার্যকলাপ বিভক্ত নিয়মের জন্য একটি নতুন কনফিগারেশন বিকল্প যোগ করা হয়েছে৷ ( Iec6af )

সংস্করণ 1.0

সংস্করণ 1.0.0

জানুয়ারী 26, 2022

androidx.window:window-*:1.0.0 প্রকাশিত হয়েছে। সংস্করণ 1.0.0 এই কমিট ধারণ করে.

1.0.0 এর প্রধান বৈশিষ্ট্য

  • WindowInfoTracker এবং FoldingFeature এর মাধ্যমে ফোন ভাঁজ করার জন্য সমর্থন। বর্তমান WindowMetrics গণনা করতে সাহায্য করার জন্য WindowMetricsCalculator .

সংস্করণ 1.0.0-rc01

15 ডিসেম্বর, 2021

androidx.window:window-*:1.0.0-rc01 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-rc01 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • WindowInfoTracker এর মাধ্যমে ফোন ভাঁজ করার জন্য সমর্থন যোগ করুন।
  • বর্তমান এবং সর্বাধিক WindowMetrics গণনা করার পদ্ধতি যোগ করুন।
  • সমর্থনকারী পরীক্ষা API যোগ করুন।

সংস্করণ 1.0.0-beta04

17 নভেম্বর, 2021

androidx.window:window-*:1.0.0-beta04 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-beta04-এ এই কমিট রয়েছে।

নতুন বৈশিষ্ট

  • WindowInfoRepository এর নাম পরিবর্তন করে WindowInfoTracker করুন।
  • WindowInfoTracker-এর জন্য কার্যকলাপকে একটি সুস্পষ্ট পদ্ধতি নির্ভরতা করুন।
  • Roboelectric ব্যবহার করে ডেভেলপারদের সমর্থন করার জন্য WindowMetricsCalculator-এর জন্য একটি সাধারণ TestRule যোগ করুন।

এপিআই পরিবর্তন

  • এক্সট্র্যাক্ট এক্সটেনশন ( I25a5f )
  • ActivityStack ( I5a4e6 ) এ isEmpty যোগ করুন
  • WindowInfoRepository এর নাম পরিবর্তন করে WindowInfoTracker করুন।
    • জাভা/আরএক্সজাভা/পরীক্ষা নির্ভরতা মেলে আপডেট করুন। ( I0da63 )
  • একটি সাধারণ WindowMetricsCalculator এর জন্য একটি পরীক্ষার নিয়ম যোগ করুন। ( Ibacdb )

সংস্করণ 1.0.0-beta03

27 অক্টোবর, 2021

androidx.window:window-*:1.0.0-beta03 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-beta03 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • পরীক্ষামূলক কার্যকলাপ এম্বেডিং API যোগ করুন। এই প্রাথমিক লেআউট সংস্করণটি পাশাপাশি দুটি ক্রিয়াকলাপ দেখানোর অনুমতি দেয়।

এপিআই পরিবর্তন

  • বর্তমান WindowMetrics API সরানো হয়েছে যেহেতু আমরা এটি সঠিকভাবে প্রদান করতে পারি না। পরিবর্তে WindowMetricsCalculator ব্যবহার করুন ( Icda5f )
  • এক্সটেনশন এপিআই আপডেট করা হয়েছে। ( Ica92b )
  • একটি নতুন বৈশিষ্ট্যের জন্য একটি ইন্টারফেস যোগ করা হয়েছে যা ক্রিয়াকলাপগুলিকে এম্বেড করার অনুমতি দেয় এবং সেগুলিকে প্যারেন্ট টাস্ক উইন্ডোর মধ্যে পাশাপাশি দেখানোর অনুমতি দেয়৷ ( I5711d )
  • WindowMetrics এবং WindowLayoutInfo-এর কনস্ট্রাক্টর লুকিয়ে রেখেছেন, অনুগ্রহ করে পরিবর্তে পরীক্ষা API ব্যবহার করুন। ( I5a1b5 )
  • জাল WindowLayoutInfo অবজেক্ট তৈরি করতে একটি API যোগ করুন। ( I4a2fd )

বাগ ফিক্স

সংস্করণ 1.0.0-beta02

1 সেপ্টেম্বর, 2021

androidx.window:window-*:1.0.0-beta02 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-beta02-এ এই কমিট রয়েছে।

নতুন বৈশিষ্ট

  • পরীক্ষামূলক এপিআই টীকা করতে একটি পরীক্ষামূলক টীকা যোগ করুন। ( I9f1b6 )
  • একটি রেক্ট গ্রহণ করে এমন একটি পরীক্ষা Folding Feature তৈরি করতে একটি পরীক্ষা পদ্ধতি যোগ করুন। এটি একটি বাস্তব কার্যকলাপের বিপরীতে Roboelectric ব্যবহার করার সময় পরীক্ষা করা সহজ করে তুলবে। ( Id1cca )

সংস্করণ 1.0.0-beta01

18 আগস্ট, 2021

androidx.window:window-*:1.0.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-beta01-এ এই কমিট রয়েছে।

নতুন বৈশিষ্ট

  • পুরানো ধ্রুবকগুলি সরানো হয়েছে এবং একটি ইন্টারফেসে FoldingFeature তৈরি করেছে৷

এপিআই পরিবর্তন

  • পুরানো ধ্রুবকগুলি সরান এবং FoldFeature কে একটি ইন্টারফেস করুন। ( I9a2d5 )

বাগ ফিক্স

  • Test Core লাইব্রেরির উপর নির্ভরশীল লাইব্রেরিগুলি 1.4.0 সংস্করণে আপগ্রেড করা হয়েছে এবং এখন Android প্ল্যাটফর্ম সংস্করণ S. ( I88b72 , b/189353863 ) এর সাথে কাজ করবে

সংস্করণ 1.0.0-আলফা10

4 আগস্ট, 2021

androidx.window:window-*:1.0.0-alpha10 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha10 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • WindowInfoRepo এর নাম পরিবর্তন করে WindowInfoRepository করুন এবং সংশ্লিষ্ট ক্লাস/ফাইলগুলি সামঞ্জস্য করুন।
  • বর্তমান উইন্ডো মেট্রিক্সকে WindowInfoRepository-এ একটি ফ্লোতে রূপান্তর করুন যেহেতু সময়ের সাথে মান পরিবর্তন হয়।
  • WindowInfoRepoJavaAdapter এর নাম পরিবর্তন করে WindowInfoRepoCallbackAdapter এ
  • পরীক্ষার FoldingFeature বস্তু তৈরি করতে সহায়ক পদ্ধতি যোগ করুন
  • তারা যে বৈশিষ্ট্যগুলি সমর্থন করছে তার উপর ভিত্তি করে গ্রুপ ক্লাসে প্যাকেজ আপডেট করুন।

এপিআই পরিবর্তন

  • ActivityExt থেকে ActivityExtension এর নাম পরিবর্তন করুন Repo থেকে Repository এ পরিবর্তন করুন। ( I61a16 )
  • ক্লাসের জন্য প্যাকেজ আপডেট করুন। ( I23ae2 )
  • WindowInfoRepo ( I24663 ) থেকে WindowMetrics সরান
  • WindowManager সরান এবং WindowInfoRepo ব্যবহার করুন
    • WindowBackend অভ্যন্তরীণ করুন। ( I06d9a )
  • উইন্ডো মেট্রিক্সকে ফ্লোতে রূপান্তর করুন।
    • জাভা অ্যাডাপ্টারের নাম পরিবর্তন করে WindowInfoRepoCallbackAdapter এ
    • কলব্যাকফ্লো সরান যাতে আর কোনো পরীক্ষামূলক API ব্যবহার না হয়। ( Ia4d15 )
  • পরীক্ষার প্রদর্শন বৈশিষ্ট্য তৈরি করতে সহায়ক পদ্ধতি যোগ করুন।
    • অক্লুশনমোড থেকে অক্লুশন টাইপে পরিবর্তন করুন ( If4cff )

বাগ ফিক্স

  • প্রোগার্ড ত্রুটি ঠিক করুন যেখানে মূল লাইব্রেরি সরানো হচ্ছে।
  • যেখানে WindowLayoutInfo অতিরিক্ত গ্রাহকদের কাছে বিতরণ করা হচ্ছে না সেখানে ত্রুটি ঠিক করুন।
  • ত্রুটি ঠিক করুন যেখানে কনফিগার পরিবর্তনগুলি ভাঁজ বৈশিষ্ট্য আপডেটগুলিকে ট্রিগার করবে না।

সংস্করণ 1.0.0-alpha09

৩০ জুন, ২০২১

androidx.window:window-*:1.0.0-alpha09 প্রকাশিত হয়েছে। 1.0.0-alpha09 সংস্করণে এই কমিট রয়েছে।

নতুন বৈশিষ্ট

  • পূর্ণসংখ্যা ধ্রুবক থেকে আনবাউন্ডেড enums এ পরিবর্তন করুন।
  • পরীক্ষার ভাঁজ বৈশিষ্ট্য তৈরি করতে একটি পরীক্ষা util যোগ করুন।

এপিআই পরিবর্তন

  • পরীক্ষার প্রদর্শন বৈশিষ্ট্য তৈরি করতে সহায়ক পদ্ধতি যোগ করুন। ( I3cf54 )
    • occlusionMode থেকে occlusionType টাইপে পরিবর্তন করুন।

বাগ ফিক্স

  • ডেটা স্ট্রীমের একাধিক গ্রাহক যোগ করার সময় প্রাথমিক মান নির্গত করুন।

সংস্করণ 1.0.0-alpha08

16 জুন, 2021

androidx.window:window-*:1.0.0-alpha08 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha08 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • WindowInfoRepository ব্যবহার করার সময় পরীক্ষা করা সহজ করার জন্য একটি টেস্টিং আর্টিফ্যাক্ট প্রকাশ করা হয়েছে। Display Features এবং WindowMetrics সম্পর্কে তথ্য পেতে WindowInfoRepository ব্যবহার করুন। ( I57f66 , Ida620 )

সংস্করণ 1.0.0-alpha07

2 জুন, 2021

androidx.window:window-*:1.0.0-alpha07 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha07 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • কোটলিনে মূল উইন্ডো লাইব্রেরি স্থানান্তর করুন। কোরোটিনগুলি ব্যবহার করবে এবং অ্যাসিঙ্ক্রোনাস ডেটা সামনের দিকে উন্মুক্ত করতে ফাংশনগুলিকে স্থগিত করবে৷
  • WindowMetrics এবং WindowLayoutInfo স্ট্রীম পাওয়ার জন্য প্রধান ইন্টারঅ্যাকশন পয়েন্ট হিসাবে WindowInfoRepo যোগ করুন।
  • নতুন window-java আর্টিফ্যাক্ট জাভা-ফ্রেন্ডলি API গুলিকে রেজিস্টার করতে এবং কলব্যাকগুলি আনরেজিস্টার করতে।
  • নতুন window-rxjava2 এবং window-rxjava3 আর্টিফ্যাক্ট RxJava অভিযোজিত APIs প্রকাশ করতে।

এপিআই পরিবর্তন

  • একইভাবে নির্ভরতা প্রদান করতে WindowServices যোগ করুন।
    • উইন্ডো লেআউট তথ্য ব্যবহার করতে coroutine ভিত্তিক এপিআই যোগ করুন। ( Iab70f )
  • কোটলিনে কোর উইন্ডো ম্যানেজার লাইব্রেরি স্থানান্তর করুন। ( Icca34 )

বাগ ফিক্স

  • বৈশিষ্ট্য সীমা প্রতিনিধিত্ব করার জন্য নতুন ডেটা ক্লাস যোগ করুন। ( I6dcd1 )

সংস্করণ 1.0.0-alpha06

5 মে, 2021

androidx.window:window:1.0.0-alpha06 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha06 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • আমরা কোটলিনে আমাদের মাইগ্রেশন শুরু করেছি এবং পরবর্তী রিলিজে শেষ করব।
  • DeviceState পাবলিক API থেকে সরানো হয়েছে, এর পরিবর্তে FoldingFeature ব্যবহার করুন।
  • আমরা STATE_FLIPPED FoldingFeature রাজ্য থেকে সরিয়ে দিয়েছি কারণ এটি এই মুহূর্তে কোনো ব্যবহার-কেস দ্বারা সমর্থিত নয়৷
  • আমরা অন্যান্য অপসারিত APIগুলিও সরিয়ে দিয়েছি।

এপিআই পরিবর্তন

  • একটি নির্ভরতা হিসাবে Kotlin যোগ করা হচ্ছে.
    • কোটলিনে মূল লাইব্রেরি স্থানান্তর করুন। ( Idd995 )
  • DisplayFeature নির্মাতা সরানো হয়েছে। ( I61fa4 )
  • পাবলিক api থেকে DeviceState সরানো হয়েছে, পরিবর্তে FoldingFeature ব্যবহার করুন। ( Id6079 )
  • এক্সটেনশন থেকে ডিভাইস অবস্থা কলব্যাক সরান. ( I5ea83 )
  • FoldingFeature থেকে STATE_FLIPPED সরান। ( I9c4e1 )
  • অপ্রচলিত রেজিস্ট্রেশন পদ্ধতি সরান। ( Ib381b )

সংস্করণ 1.0.0-alpha05

24 মার্চ, 2021

androidx.window:window:1.0.0-alpha05 প্রকাশিত হয়েছে। 1.0.0-alpha05 সংস্করণে এই কমিট রয়েছে।

নতুন বৈশিষ্ট

আমরা FoldingFeature-এ সুবিধার পদ্ধতি যোগ করেছি যাতে অ্যাপগুলি বলতে পারে যে বৈশিষ্ট্যটি আলাদা হচ্ছে, আটকানো হচ্ছে কিনা এবং কব্জাটির অভিযোজন নির্ধারণ করতে পারে। আমরাও কবজা টাইপ লুকিয়ে রাখছি যাতে

আমরা WindowManager থেকে সিঙ্ক্রোনাস পঠিত পদ্ধতিগুলি সরিয়ে দিচ্ছি। সিঙ্ক্রোনাস পঠন পদ্ধতিগুলি ত্রুটি প্রবণ কারণ একটি অন্তর্নিহিত জাতি শর্ত রয়েছে৷ WindowLayoutInfo-এ আপডেট পেতে শ্রোতা এবং কলব্যাক নিবন্ধন করুন।

এপিআই পরিবর্তন

  • Folding Features ( Ie733f ) এর সাথে কাজ করার জন্য সুবিধার পদ্ধতি যোগ করুন
  • WindowManager ( I96fd4 ) থেকে সিঙ্ক্রোনাস রিড পদ্ধতিগুলি সরিয়ে দেয়

সংস্করণ 1.0.0-alpha04

10 মার্চ, 2021

androidx.window:window:1.0.0-alpha04 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha04 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • একটি বাগ সংশোধন করে যেখানে কোনো WindowLayoutInfo নির্গত হয় না যদি একটি OEM বাস্তবায়ন না থাকে। এখন আমরা একটি খালি WindowLayoutInfo নির্গত করি।
  • অ্যাপ্লিকেশানটির ব্যাকগ্রাউন্ড করার সময় কব্জা অবস্থা পরিবর্তিত হলে রাজ্য সঠিকভাবে আপডেট হবে না এমন একটি বাগ ঠিক করুন৷ এখন রাষ্ট্রকে ধারাবাহিক হতে হবে।
  • রানটাইম নির্ভরতা থেকে সতর্কতা উপেক্ষা করতে আমাদের প্রোগার্ড ফাইল আপডেট করুন।

বাগ ফিক্স

  • OEM লাইব্রেরি অনুপস্থিত হলে একটি খালি মান নির্গত করুন। ( Ide935 )

সংস্করণ 1.0.0-alpha03

18 ফেব্রুয়ারি, 2021

androidx.window:window:1.0.0-alpha03 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha03 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • যখন OEM বাস্তবায়ন খালি থাকে তখন WindowLayoutInfo-এর জন্য একটি খালি মান নির্গত করুন। এটি আরও ডিভাইসে লাইব্রেরি ব্যবহার করা সহজ করে তুলবে৷ যেহেতু APIগুলি অ্যাসিঙ্ক্রোনাস তাই এখনও সুপারিশ করা হয় যে অ্যাপগুলি কিছু প্রতিরক্ষামূলক কোড লিখবে এবং একটি সময় শেষ হওয়ার পরে একটি ডিফল্ট মান নির্গত করবে। আমাদের কাছে OEM বাস্তবায়নের কোনো গ্যারান্টি নেই এবং প্রাথমিক মান বিলম্বিত হতে পারে।

বাগ ফিক্স

  • OEM লাইব্রেরি অনুপস্থিত হলে একটি খালি মান নির্গত করুন। ( Ide935 )

সংস্করণ 1.0.0-alpha02

জানুয়ারী 27, 2021

androidx.window:window:1.0.0-alpha02 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-alpha02 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট

  • এপিআইকে স্ট্রীমলাইন করতে এবং ভুলগুলি কমাতে সাহায্য করার জন্য আমরা কিছু এপিআই অবমূল্যায়ন করেছি। কিছু উল্লেখযোগ্য উদাহরণ হল WindowManager থেকে সিঙ্ক্রোনাস রিড অপারেশন অপসারণ এবং DeviceState অবমূল্যায়ন করা। সিঙ্ক্রোনাস রিড অপারেশন রেসের অবস্থার দিকে পরিচালিত করতে পারে এবং ভুল UI থাকতে পারে।

  • আমরা ডিসপ্লেফিচারকে একটি ইন্টারফেসে রূপান্তর করেছি যা অন্যান্য বৈশিষ্ট্যগুলি সামনের দিকে প্রয়োগ করবে। আমাদের প্রথম বৈশিষ্ট্য হল FoldingFeature যা এখন একটি পর্দার ভাঁজ বা একটি কব্জাকে উপস্থাপন করে। এতে DeviceState প্রতিস্থাপনকারী কব্জের অবস্থাও রয়েছে।

  • Android 11-এ WindowMetrics চালু করা হয়েছিল যাতে ডেভেলপারদের একটি উইন্ডো সম্পর্কে মেট্রিক্সের জন্য অনুসন্ধান করার একটি সহজ উপায় প্রদান করা হয়, যেমন স্ক্রিনে এর অবস্থান এবং আকার এবং যেকোনো সিস্টেম ইনসেট। আমরা এই রিলিজে API ব্যাকপোর্ট করেছি যাতে ডেভেলপাররা WindowMetrics ব্যবহার করতে পারে এবং পুরানো Android সংস্করণগুলিকে সমর্থন করতে পারে৷ WindowManager#getCurrentWindowMetrics() এবং WindowManager#getMaximumWindowMetrics() API-এর মাধ্যমে WindowMetrics পাওয়া যেতে পারে।

এপিআই পরিবর্তন

  • পরবর্তী আলফা ( Ib7cc4 ) এ সরানো হবে এমন APIগুলিকে অবমূল্যায়ন করুন
  • স্পষ্ট কার্যকলাপ উল্লেখ গ্রহণ করার জন্য ExtensionInterface আপডেট করে। ( I07ded )
  • WindowMetrics API প্রবর্তন করে। ( I3ccee )
  • WindowManager ( I69983 ) থেকে সিঙ্ক্রোনাস রিড পদ্ধতিগুলি সরান
  • এক্সটেনশন উইন্ডোব্যাকএন্ড প্যাকেজ সুরক্ষিত করুন। ( Ied208 )

বাগ ফিক্স

  • ভিজ্যুয়াল প্রসঙ্গগুলি গ্রহণ করতে ExtensionInterface API আপডেট করুন। ( I8e827 )

বাহ্যিক অবদান

  • DeviceState এবং WindowLayoutInfo একত্রিত করুন যাতে ডেটা অ্যাক্সেস করা সহজ হয়। ( আইডি৩৪এফ৪ )

সংস্করণ 1.0.0-alpha01

27 ফেব্রুয়ারি, 2020

androidx.window:window:1.0.0-alpha01 এবং androidx.window:window-extensions:1.0.0-alpha01 প্রকাশ করা হয়েছে। সংস্করণ 1.0.0-alpha01-এ এই কমিট রয়েছে। এটি উইন্ডো ম্যানেজার লাইব্রেরির প্রথম প্রকাশ।

নতুন বৈশিষ্ট

  • DisplayFeature : এই নতুন এপিআই ক্রমাগত ফ্ল্যাট স্ক্রীনের পৃষ্ঠতল যেমন কব্জা বা ভাঁজগুলিতে বাধাগুলি সনাক্ত করে
  • DeviceState : এই নতুন API সংজ্ঞায়িত অঙ্গবিন্যাসগুলির একটি তালিকা থেকে ফোনের বর্তমান ভঙ্গি প্রদান করে (উদাহরণস্বরূপ, CLOSED , OPENED , HALF_OPENED , ইত্যাদি)