WindowManager

کتابخانه Jetpack WindowManager توسعه دهندگان برنامه را قادر می سازد تا از عوامل شکل دستگاه جدید و محیط های چند پنجره ای پشتیبانی کنند. این کتابخانه یک سطح مشترک API را برای نسخه های API 14 به بعد فراهم می کند. نسخه اولیه دستگاه‌های تاشو را هدف قرار می‌دهد، اما نسخه‌های بعدی به انواع صفحه نمایش و ویژگی‌های پنجره بیشتر گسترش خواهند یافت.
آخرین به روز رسانی انتشار پایدار کاندید را آزاد کنید نسخه بتا انتشار آلفا
16 اکتبر 2024 1.3.0 - - 1.4.0-alpha05

اعلام وابستگی ها

برای افزودن وابستگی به WindowManager، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Maven Google را بخوانید.

وابستگی‌های مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:

شیار

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"
}

کاتلین

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")
}

بازخورد

بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.

یک شماره جدید ایجاد کنید

برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.

نسخه 1.4

نسخه 1.4.0-alpha05

16 اکتبر 2024

androidx.window:window-*:1.4.0-alpha05 منتشر شد. نسخه 1.4.0-alpha05 حاوی این تعهدات است.

ویژگی های جدید

  • برای دریافت widthDp و heightDp از WindowMetrics توابع راحتی اضافه کنید.

تغییرات API

  • widthDp و heightDp را به WindowMetrics اضافه کنید. ( Ide026 )
  • API آزمایشی WindowInsets حذف کنید. ( I68a71 )
  • به‌روزرسانی نام‌های روش بررسی مرزها به isAtLeast ( Ib0ab7 )

نسخه 1.4.0-alpha04

2 اکتبر 2024

androidx.window:window-*:1.4.0-alpha04 منتشر شد. نسخه 1.4.0-alpha04 حاوی این commit ها است.

تغییرات API

  • روشی برای محاسبه WindowSizeClass از WindowMetrics اضافه کرد. ( 874dba )
  • برای وضوح، متدهای WindowSizeClass را به containsWidthDp ، containsHeightDp ، و containsWindowSizeDp تغییر دهید. ( fa760d )
  • WindowAreaController به کلاس پایه انتزاعی تبدیل کنید. ( I90893 )

رفع اشکال

  • هنگام ایجاد یک FoldingFeature آزمایشی، پشتیبانی از مرزهای نسبی را اضافه کنید. ( 2e6b3e )
  • رفع اشکال عمومی هنگام انتخاب WindowSizeClass .

نسخه 1.4.0-alpha03

18 سپتامبر 2024

androidx.window:window-*:1.4.0-alpha03 منتشر شد. نسخه 1.4.0-alpha03 حاوی این commit ها است.

ویژگی های جدید

  • یک روش کاربردی برای دریافت یک WindowSizeClass از WindowMetrics اضافه کنید. ( I83f1f )
  • isAtLeast به containsBreakpoint تغییر دهید. ( I85b47 )
  • اضافه بار به computeWindowSizeClass با استفاده از شناورها. ( I3dcb2 , b/364677934 , b/364677802 , b/364680886 )

رفع اشکال

  • نقاط شکست از دست رفته را به مجموعه نقطه شکست پیش فرض WindowSizeClass اضافه کنید.
  • رفع اشکالی که در آن ابعاد فشرده در برخی موارد به درستی انتخاب نشده بودند.

نسخه 1.4.0-alpha02

4 سپتامبر 2024

androidx.window:window-*:1.4.0-alpha02 منتشر شد. نسخه 1.4.0-alpha02 حاوی این تعهدات است.

ویژگی های جدید

پشتیبانی برای WindowSizeClass سفارشی اضافه کنید.

  • سازنده را برای WindowSizeClass باز کنید تا توسعه دهندگان بتوانند از خود استفاده کنند.
  • متدهای ابزار isAtLeast اضافه کنید تا توسعه دهندگان بتوانند محدوده ای از مقادیر WindowSizeClass پردازش کنند.
  • یک تابع افزونه در Set<WindowSizeClass> اضافه کنید تا بهترین تطابق را از Set محاسبه کنید.
  • برای نقاط شکست توصیه شده اندروید، ثابت اضافه کنید.
  • مجموعه نقطه شکست مربوط به نقاط شکست توصیه شده اندروید را اضافه کنید.

تغییرات API

  • نام روش کرانه ها را برای WindowSizeClass به روز کنید. ( If89a6 )
  • API WindowSizeClass را برای پشتیبانی از افزودن مقادیر جدید نقطه شکست در آینده به‌روزرسانی کنید. به جای داشتن کرانه های مطلق، از کران های پایین استفاده می کنیم و به توسعه دهندگان توصیه می کنیم هنگام پردازش یک WindowSizeClass از بررسی های کران پایین تر استفاده کنند. WindowWidthSizeClass و WindowHeightSizeClass موجود منسوخ خواهند شد زیرا بیشتر توسعه نخواهند یافت. ( I014ce )

نسخه 1.4.0-alpha01

7 آگوست 2024

androidx.window:window-*:1.4.0-alpha01 منتشر شد. نسخه 1.4.0-alpha01 حاوی این تعهدات است.

ویژگی های جدید

  • ActivityStack Pinning به برنامه‌ها اجازه می‌دهد محتوا را در یک ظرف پین کنند و مسیریابی آن را از ظرف دیگر جدا کنند.
  • Interactive Divider به برنامه‌ها اجازه می‌دهد تا یک تقسیم‌کننده ثابت یا قابل کشیدن بین دو فعالیت را در یک ارائه تقسیم‌بندی نشان دهند.
  • Dialog Dimming به برنامه‌ها اجازه می‌دهد تا ناحیه محاوره‌ای را مشخص کنند، یا کل پنجره کار را کم‌نور کنند یا فقط محفظه‌ای را که دیالوگ را نشان می‌دهد کم نور کنند.
  • پاسخ به تماس اطلاعات پنجره فعالیت جاسازی شده به برنامه ها امکان می دهد به طور مداوم به روز رسانی های پنجره فعالیت جاسازی شده را دریافت کنند.
  • Embedding Animation Background به برنامه‌ها اجازه می‌دهد پس‌زمینه انیمیشن را مشخص کنند و کیفیت انیمیشن انتقال را در هنگام استفاده از ActivityEmbedding بهبود بخشند.
  • مدیریت بهبود یافته ActivityStack به برنامه‌ها اجازه می‌دهد هنگام استفاده از ActivityEmbedding کنترل بیشتری روی ActivityStacks داشته باشند، از جمله:
  • راه اندازی یک فعالیت در یک ActivityStack مشخص
  • اتمام یک ActivityStack

تغییرات API

  • یک API جدید WindowInfoTracker#supportedPostures :

    • یک API برای تعیین اینکه آیا دستگاه از حالت TableTop برای تاشوها پشتیبانی می کند یا خیر. WindowAreaSessionPresenter#getWindow را اضافه می کند
  • افزودن API برای پشتیبانی از پین کردن ActivityStack :

    • کلاس SplitPinRule
    • SplitController#pinTopActivityStack
    • SplitController#unpinTopActivityStack
  • API ها را برای فعال کردن و پیکربندی تقسیم کننده تعاملی اضافه کنید

    • کلاس DividerAttributes
    • SplitAttributes.Builder#setDividerAttributes
  • افزودن API برای تنظیم EmbeddingConfiguration و DimAreaBehavior برای گفتگوها

    • کلاس EmbeddingConfiguration
    • کلاس DimAreaBehavior
    • ActivityEmbeddingController#setEmbeddingConfiguration
  • برای دریافت به‌روزرسانی‌های اطلاعات پنجره فعالیت تعبیه‌شده، APIها را اضافه کنید

    • کلاس EmbeddedActivityWindowInfo
    • ActivityEmbeddingController#embeddedActivityWindowInfo
  • APIها را برای تنظیم پس‌زمینه انیمیشن درج شده اضافه کنید

    • EmbeddingAnimationBackground
    • SplitAttributes.Builder#setAnimationBackground
  • API ها را برای تکمیل ActivityStacks اضافه کنید

    • ActivityEmbeddingController#finishActivityStacks
  • برای تنظیم راه اندازی ActivityStack API ها را اضافه کنید

    • ActivityEmbeddingOptions#setLaunchingActivityStack
  • APIهای زیر پایدار هستند و دیگر آزمایشی نیستند:

    • ActivityEmbeddingController#invalidateVisibleActivityStacks (از SplitController#invalidateTopVisibleSplitAttributes منتقل شد)
    • ActivityEmbeddingController#getActivityStack
    • SplitController#updateSplitAttributes
  • افزودن API برای 1.4. ( I56774 )

رفع اشکال

  • رفع اشکال در برخی از دستگاه‌ها که در آن‌ها وقتی جلسه فعال است، به جای ACTIVE، UNAVILABLE برگردانده می‌شود.
  • به دلیل پشتیبانی ناپایدار API، پشتیبانی از transferActivityToWindowArea در دستگاه‌های دارای vendorApiLevel 2 حذف می‌کند.
  • API را برای فعال کردن کشیدن به تمام صفحه برای تقسیم کننده قابل کشیدن Activity Embedding معرفی کنید. ( I645c9 )
  • به برنامه‌ها اجازه دهید انیمیشن‌های ActivityEmbedding را از طریق پارامترهای انیمیشن برای SplitAttributes غیرفعال کنند. ( IDc01a )
  • طرح دستی دسترسی به APIهای پلتفرم جدید حذف شد زیرا این به طور خودکار از طریق مدلسازی API هنگام استفاده از R8 با AGP 7.3 یا جدیدتر (مثلا R8 نسخه 3.3) و برای همه ساخت‌ها هنگام استفاده از AGP 8.1 یا بالاتر (به عنوان مثال D8 نسخه 8.1) اتفاق می‌افتد. به مشتریانی که از AGP استفاده نمی‌کنند، توصیه می‌شود به نسخه 8.1 یا بالاتر D8 به‌روزرسانی کنند. برای جزئیات بیشتر به این مقاله مراجعه کنید. ( Ia60e0 , b/345472586 )
  • به برنامه‌های افزودنی اجازه دهید پارامترهای انیمیشن را برای SplitAttributes بگیرند تا دستگاه بتواند از آن برای انتقال انیمیشن استفاده کند. ( Iede00 )
  • پنهان کردن APIهای همپوشانی ( IC4251 )
  • API ها را برای پیکربندی تقسیم کننده ثابت یا قابل کشیدن برای تقسیم معرفی کنید ( Ia7a78 )
  • تراکم اضافه شده به WindowMetrics ( Id6723 )
  • API را برای دریافت SupportedPostures اضافه کنید. ( If557a )
  • حذف setLaunchingActivityStack از API آزمایشی ( I191cf )
  • معرفی ActivityEmbeddingController#embeddedActivityWindowInfo ( I24312 )
  • #getToken منسوخ کنید و #getActivityStackToken را اضافه کنید ( Ie0471 )
  • معرفی آداپتور برگشت به تماس برای embeddedActivityWindowInfo flow API ( Ida77f )
  • افزودن آداپتور برگشت به تماس برای overlayInfo flow API ( I7264f )
  • WindowSdkExtensionsRule برای نادیده گرفتن extensionsVersion برای آزمایش معرفی کنید. ( Ifb928 )
  • - #setLaunchingActivityStack به Bundle منتقل کنید تا با استفاده‌های ActivityOptionsCompat سازگار شود.
    • کاربران باید activityOptions.toBundle به جای خود ActvityOptions ارسال کنند.
    • #setLaunchingActivityStack(Activity) را حذف کنید. کاربران باید برای دریافت ActivityStack برای استفاده از ActivityEmbeddingController#getActivityStac(Activity) مهاجرت کنند و ActivityStack به #setLaunchingActivityStack منتقل کنند. ( Ie0ccc )
  • - ActivityStack.Token و SpltInfo.Token به عنوان یک شناسه برای برقراری ارتباط بین WM Jetpack و برنامه های افزودنی معرفی کنید.
    • API ها را منسوخ یا جایگزین کنید تا به جای IBinder، Token را بگیرید/برگردانید. ( 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 شامل این commit ها است.

تغییرات مهم از 1.2.0

  • پشتیبانی از چند پلتفرم Kotlin برای کلاس های اندازه پنجره.

نسخه 1.3.0-rc01

14 مه 2024

WindowManager Jetpack 1.3 پشتیبانی از Kotlin Multiplatform را برای ویژگی‌های WindowSizeClass و همچنین رفع چندین باگ ارائه می‌کند.

androidx.window:window-*:1.3.0-rc01 منتشر شد. نسخه 1.3.0-rc01 حاوی این commit ها است.

نسخه 1.3.0-beta02

1 مه 2024

androidx.window:window-*:1.3.0-beta02 منتشر شد. نسخه 1.3.0-beta02 حاوی این تعهدات است.

تغییرات API

  • پشتیبانی برای ایجاد و استفاده از WindowSizeClass سفارشی را حذف کنید. ( شناسه 1143 )

رفع اشکال

  • رفع خطای KotlinReflectionInternalError ناشی از حذف برخی فایل‌ها در برخی از دستگاه‌ها توسط proguard. ( 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 حاوی این تعهدات است.

تغییرات API

  • 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 حاوی این commit ها است.

ویژگی های جدید

  • به‌روزرسانی‌های سطح API APIهای کلاس اندازه پنجره برای بهبود انعطاف‌پذیری برای توسعه‌دهندگانی که می‌خواهند از کلاس‌های اندازه خودشان استفاده کنند.

تغییرات 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 حاوی این commit ها است.

ویژگی های جدید

  • APIهای پنجره آزمایشی را برای دسترسی به صفحه پشتی نمایش دهید.
  • تست API برای ایجاد FoldingFeature اکنون پایدار است.
  • APIهای آزمایشی برای تنظیم مقادیر جعلی ActivityEmbedding اکنون پایدار هستند.
  • WindowLayoutInfoPublisherRule اکنون در هنگام بدست آوردن یک مقدار از یک UiContext ، نادیده گرفتن را گزارش می کند.
  • WindowInfoTracker داده های ویژگی تاشو به پارامترهای UiContext را گزارش می دهد.
  • نسخه Extensions را روی دستگاه نمایش دهید.
  • ثابت های 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 حاوی این commit ها است.

تغییرات مهم از 1.1.0

  • APIهای پنجره آزمایشی را برای دسترسی به صفحه پشتی نمایش دهید.
  • تست API برای ایجاد FoldingFeature اکنون پایدار است.
  • APIهای آزمایشی برای تنظیم مقادیر جعلی ActivityEmbedding اکنون پایدار هستند.
  • WindowLayoutInfoPublisherRule اکنون در هنگام بدست آوردن یک مقدار از یک UiContext ، نادیده گرفتن را گزارش می کند.
  • WindowInfoTracker داده های ویژگی تاشو به پارامترهای UiContext را گزارش می دهد.
  • نسخه Extensions را روی دستگاه نمایش دهید.

نسخه 1.2.0-rc01

1 نوامبر 2023

androidx.window:window-*:1.2.0-rc01 منتشر شد. نسخه 1.2.0-rc01 حاوی این commit ها است.

ویژگی های جدید

  • APIهای پنجره آزمایشی را برای دسترسی به صفحه پشتی نمایش دهید.
  • تست API برای ایجاد FoldingFeature اکنون پایدار است.
  • APIهای آزمایشی برای تنظیم مقادیر جعلی ActivityEmbedding اکنون پایدار هستند.
  • WindowLayoutInfoPublisherRule اکنون در هنگام بدست آوردن یک مقدار از یک UiContext ، نادیده گرفتن را گزارش می کند.
  • WindowInfoTracker داده های ویژگی تاشو به پارامترهای UiContext را گزارش می دهد.
  • نسخه Extensions را روی دستگاه نمایش دهید.

نسخه 1.2.0-beta04

18 اکتبر 2023

androidx.window:window-*:1.2.0-beta04 منتشر شد. نسخه 1.2.0-beta04 حاوی این تعهدات است.

تغییرات API

نسخه 1.2.0-beta03

20 سپتامبر 2023

androidx.window:window-*:1.2.0-beta03 منتشر شد. نسخه 1.2.0-beta03 حاوی این تعهدات است.

ویژگی های جدید

  • بررسی‌های RequiresApi را برای APIهایی که برای عملکرد صحیح به نسخه خاصی از برنامه‌های افزودنی نیاز دارند اضافه کنید.
  • یک API اضافه کنید تا نسخه برنامه‌های افزودنی در دستگاه نمایش داده شود.

تغییرات API

  • نسخه برنامه افزودنی SDK پنجره مورد نیاز را در APIهای عمومی حاشیه نویسی کنید.
    • حذف isXXXSupported در جزء Activity Embedding. ( 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های پنجره آزمایشی را برای دسترسی به صفحه پشتی نمایش دهید.
  • تست API برای ایجاد FoldingFeature اکنون پایدار است.
  • APIهای آزمایشی برای تنظیم مقادیر جعلی ActivityEmbedding اکنون پایدار هستند.
  • WindowLayoutInfoPublisherRule اکنون در هنگام بدست آوردن یک مقدار از یک UiContext ، نادیده گرفتن را گزارش می کند.
  • WindowInfoTracker داده های ویژگی تاشو به پارامترهای UiContext را گزارش می دهد.

تغییرات API

  • WindowArea API را به‌عنوان آزمایشی علامت‌گذاری می‌کند تا اجازه دهد تغییرات API برای انتشار پایدار در نسخه 1.3 ( I857f5 ) ادامه یابد.
  • فایل های API به روز شده برای حاشیه نویسی حذف سازگاری ( I8e87a , b/287516207 )

نسخه 1.2.0-alpha03

21 ژوئن 2023

androidx.window:window-*:1.2.0-alpha03 منتشر شد. نسخه 1.2.0-alpha03 حاوی این commit ها است.

ویژگی های جدید

  • حذف API های منسوخ شده از سطح API.
  • API ها را برای پشتیبانی از نمایشگرهای همزمان اضافه کنید.
  • یک ویژگی برای انصراف از تغییر اندازه اجباری اضافه کنید.
  • برای انصراف از لغو حداقل نسبت تصویر، ویژگی را اضافه کنید.
  • ActivityEmbeddingRule برای پشتیبانی از تست واحد در مورد Activity Embedding تثبیت کنید.

تغییرات API

  • حذف APIهای منسوخ شده ( I18d39 )
  • پشتیبانی از نمایشگرهای همزمان را اضافه کنید. ( Ifcbb0 )

رفع اشکال

  • افزودن ویژگی سازگاری انصراف برای تغییر اندازه اجباری ( Ie7ab1 )
  • SESSION_STATE_CONTENT_INVISIBLE از رابط برنامه های افزودنی حذف می کند. ( I6ed19 )
  • ActivityEmbeddingRule برای پشتیبانی از تست واحد در مورد تعبیه فعالیت تثبیت کنید. ( I8d6b6 )
  • افزودن ویژگی انصراف compat برای لغو نسبت ابعاد حداقل. ( I66390 )
  • API های منسوخ شده WindowArea ( Ieb67c ) را حذف می کند
  • تغییر نام ویژگی حلقه درخواست جهت به PROPERTY_COMPAT_ALLOW_IGNORING_ORIENTATION_REQUEST_WHEN_LOOP_DETECTED . ( Ie2fbd )
  • نام‌های ثابت جلسه ناحیه پنجره را به‌روزرسانی می‌کند ( I83675 )
  • افزودن ویژگی compat انصراف که حلقه درخواست جهت را در صورت شناسایی نادیده می گیرد ( I0a7a2 )
  • WindowAreaComponent#STATUS_ACTIVE را اضافه کنید تا مشخص شود که این ویژگی از قبل فعال است. ( I62bc3 )
  • افزودن APIهای RearDisplayPresentationMode ( I0401c )
  • API رنگ پس زمینه را برای پایداری حذف کنید. ( I34c3e )
  • API های ناحیه پنجره را مخفی کنید. ( I39de0 )
  • روش هایی را برای لغو SplitInfo در SplitController اضافه کنید. روش‌های آزمایشی را برای ایجاد double برای 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 منسوخ کنید
    • add / removeSplitCallback به SplitControllerCallbackAdapter منتقل کنید
    • برای دریافت لیست SplitInfo پشتیبانی Flow را اضافه کنید ( I7f1b6 )
  • یک قانون آزمایشی برای ActivityEmbeddingController ( I42e9b ) اضافه کنید
  • تغییر نام ActivityOptionsCompat به ActivityEmbeddingOptions ( I89301 )
  • splitSupportStatus اضافه کنید تا مشخص کنید آیا تعبیه فعالیت در دسترس است یا خیر. ( I10024 )
  • برای نمایش بهتر مقدار DEFAULT SplitAttributes.BackgroundColor معرفی کنید. روشن کنید که رنگ پس‌زمینه پویانمایی غیر شفاف پشتیبانی نمی‌شود، بنابراین هر رنگ غیر شفاف به‌عنوان پیش‌فرض در نظر گرفته می‌شود، که به معنای استفاده از رنگ پس‌زمینه پنجره طرح زمینه فعلی است. ( IC6b95 )
  • alwaysAllow() و alwaysDisallow() را با ALWAYS_ALLOW و ALWAYS_DISALLOW جایگزین کنید. ( I3057b )
  • APIها را برای SplitRule ، SplitAttributes ، SplitAttributesCalculator اضافه کنید. ( I92d23 )
  • TestActivityStack برای ایجاد ActivityStack برای آزمایش اضافه کنید
    • TestSplitInfo برای ایجاد SplitInfo برای آزمایش اضافه کنید. ( 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 حاوی این commit ها است.

ویژگی های جدید

  • API آزمایشی را به‌روزرسانی کنید تا برای ویژگی‌های تاشو نامشخص ثابت باشد.
  • نادیده گرفتن با WindowLayoutInfoPublishRule همه مقادیر windowLayoutInfo ، از جمله API مبتنی بر Context را لغو می‌کند.

تغییرات API

  • اضافه کردن ثابت برای ویژگی تاشو وسط نامشخص. ( I7530c )

رفع اشکال

  • WindowLayoutInfoPublishRule برای پشتیبانی از نادیده گرفتن WindowLayoutInfo مبتنی بر Context به‌روزرسانی کنید. ( I2037a )

نسخه 1.2.0-alpha01

24 مه 2023

androidx.window:window-*:1.2.0-alpha01 منتشر شد. نسخه 1.2.0-alpha01 حاوی این commit ها است.

ویژگی های جدید

APIهای آزمایشی را در مورد Activity Embedding و WindowLayoutInfoTracker تثبیت کنید. ActivityEmbeddingRule به پایدار ارتقا یافته است. WindowMetricsCalculatorRule به پایدار ارتقا یافته است. توابع ابزار برای ایجاد یک FoldingFeature برای آزمایش به پایدار ارتقا یافته است.

تغییرات API

  • ActivityEmbeddingRule برای پشتیبانی از تست واحد در مورد تعبیه فعالیت تثبیت کنید. ( I8d6b6 )
  • WindowMetrisCalculatorTestRule پایدار است و اجازه می دهد معیارهای خرد برای تست های JVM وجود داشته باشد. توصیه می کنیم برای نتایج دقیق از شبیه ساز استفاده کنید.
  • برای پشتیبانی از تست JVM، API های آزمایشی را برای WindowLayoutInfo تثبیت کنید. ( Ie036e )
  • IntRange برای آزمایش مقادیر ویژگی تاشو اضافه کنید. ( I69f7d )

نسخه 1.1

نسخه 1.1.0

7 ژوئن 2023

androidx.window:window-*:1.1.0 منتشر شد. نسخه 1.1.0 حاوی این commit ها است.

تغییرات مهم از 1.0.0

تعبیه فعالیت

  • PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED به‌عنوان ویژگی بولی تگ <application> در مانیفست برنامه اضافه شد.
  • isSplitSupported منسوخ شده و با splitSupportStatus جایگزین شده است تا اطلاعات دقیق تری در مورد اینکه چرا ویژگی تقسیم در دسترس نیست ارائه شود.
  • کلاس تودرتو SplitController.SplitSupportStatus را برای ارائه ثابت های حالت برای ویژگی splitSupportStatus اضافه کرد.
  • SplitController به چندین ماژول Refactored کرد:
    • ماژول ActivityEmbeddingController برای APIهای مربوط به Activity یا ActivityStack .
    • isActivityEmbedded از SplitController به ActivityEmbeddingController منتقل شد.
    • ماژول RuleController برای عملیات مربوط به EmbeddingRule :
    • API های حذف شده SplitController :
    • clearRegisteredRules()
    • getSplitRules()
    • initialize()
    • registerRule()
    • unregisterRule()
    • API های RuleController اضافه شده:
    • addRule() - یک قانون اضافه می کند یا قانونی را که دارای همان برچسب است به روز می کند.
    • removeRule() - یک قانون را از مجموعه قوانین ثبت شده حذف می کند.
    • setRules() - مجموعه ای از قوانین را ایجاد می کند.
    • clearRules() - تمام قوانین ثبت شده را حذف می کند.
    • parseRules() - قوانین را از تعاریف قوانین XML تجزیه می کند.
  • همه ماژول ها به یک زمینه نیاز دارند که با متد #getInstance() مقداردهی اولیه شود، از جمله:
    • ActivityEmbeddingController#getInstance(Context)
    • SplitController#getInstance(Context)
    • RuleController#getInstance(Context)
  • کلاس EmbeddingAspectRatio را برای تعریف ثابت های رفتاری enum مانند مربوط به نسبت ابعاد نمایش اضافه کرد.
  • کلاس SplitAttributes را برای تعریف طرح تقسیم اضافه کرد.
  • توابع ماشین حساب SplitAttributes به SplitController برای سفارشی کردن طرح بندی های تقسیم شده اضافه شده است:
    • setSplitAttributesCalculator(Function)
    • clearSplitAttributesCalculator()
    • isSplitAttributesCalculatorSupported() برای بررسی اینکه آیا APIهای SplitAttributesCalculator در دستگاه پشتیبانی می شوند یا خیر
  • فیلد EmbeddingRule#tag اضافه شد.
  • به روز رسانی API در SplitRule :
    • افزودن defaultSplitAttributes - طرح تقسیم پیش فرض یک تقسیم را تعریف می کند. جایگزین splitRatio و layoutDirection می شود.
    • ترجمه خواص XML splitRatio و splitLayoutDirection به defaultSplitAttributes اضافه شد.
    • تعاریف حداقل ابعاد را برای استفاده از پیکسل‌های مستقل از چگالی (dp) به جای پیکسل تغییر داد.
    • minHeightDp با مقدار پیش فرض 600dp اضافه شد.
    • minWidth به minWidthDp با مقدار پیش‌فرض 600dp تغییر کرد.
    • minSmallestWidth به minSmallestWidthDp با مقدار پیش‌فرض 600dp تغییر کرد.
    • maxAspectRatioInHorizontal با مقدار پیش‌فرض ALWAYS_ALLOW اضافه شد.
    • maxAspectRatioInPortrait با مقدار پیش فرض 1.4 اضافه شد.
    • کلاس تودرتو FinishBehavior برای جایگزینی ثابت های رفتار پایان تعریف شده است.
    • تغییرات ویژگی را در کلاس تودرتوی Builder SplitPairRule و SplitPlaceholderRule اعمال کرد.
  • SplitInfo#getSplitRatio() با SplitInfo#getSplitAttributes() جایگزین کرد تا اطلاعات مربوط به تقسیم اضافی را ارائه دهد.

WindowLayout

  • پشتیبانی از زمینه رابط کاربری آزمایشی غیرفعالیتی به WindowInfoTracker اضافه شد.
  • زمینه UI آزمایشی غیرفعالی به WindowMetricsCalculator اضافه شد.

مراحل مهاجرت

  • برای فعال کردن تعبیه فعالیت برای نمایش فعالیت‌ها در تقسیم‌بندی‌ها، برنامه‌ها باید ویژگی PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED را به تگ مانیفست <application> اضافه کنند: 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 ) یا به سادگی minWith بر حسب پیکسل بر displayMetrics#density تقسیم کنند.
  • ثابت‌های رفتار Finish باید به ثابت‌های کلاس enum مانند 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 تغییر می کند.
    • تغییر locale به SplitAttributes.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 ثابت های enum مانند FinishBehavior را می گیرند. برای جزئیات بیشتر به " مهاجرت های SplitRule " مراجعه کنید.
    • از setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW) برای نشان دادن تقسیم‌ها در دستگاه‌های پرتره استفاده کنید.
  • مهاجرت های SplitPlaceholder.Builder :
    • فقط filters و پارامترهای placeholderIntent دارد. سایر ویژگی ها به تنظیم کننده ها منتقل می شوند. برای جزئیات بیشتر به “SplitPairRule.Builder migrations” مراجعه کنید.
    • setFinishPrimaryWithPlaceholder ثابت های enum مانند FinishBehavior را می گیرد. برای جزئیات بیشتر به " مهاجرت های 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 حاوی این commit ها است.

ویژگی های جدید

  • ActivityEmbedding به عنوان یک API پایدار منتشر کنید.
  • رفع اشکال مختلف

نسخه 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 حاوی این تعهدات است.

تعبیه فعالیت

  • PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED به‌عنوان ویژگی بولی تگ <application> در مانیفست برنامه اضافه شد.
  • isSplitSupported منسوخ شده و با splitSupportStatus جایگزین شده است تا اطلاعات دقیق تری در مورد اینکه چرا ویژگی تقسیم در دسترس نیست ارائه شود.
  • کلاس تودرتو SplitController.SplitSupportStatus را برای ارائه ثابت های حالت برای ویژگی splitSupportStatus اضافه کرد.
  • SplitController به چندین ماژول Refactored کرد:
    • ماژول ActivityEmbeddingController برای APIهای مربوط به Activity یا ActivityStack .
    • isActivityEmbedded از SplitController به ActivityEmbeddingController منتقل شد.
    • ماژول RuleController برای عملیات مربوط به EmbeddingRule :
    • API های حذف شده SplitController :
      • clearRegisteredRules()
      • getSplitRules()
      • initialize()
      • registerRule()
      • unregisterRule()
    • API های RuleController اضافه شده:
      • addRule() - یک قانون اضافه می کند یا قانونی را که دارای همان برچسب است به روز می کند.
      • removeRule() - یک قانون را از مجموعه قوانین ثبت شده حذف می کند.
      • setRules() - مجموعه ای از قوانین را ایجاد می کند.
      • clearRules() - تمام قوانین ثبت شده را حذف می کند.
      • `parseRules() - قوانین را از تعاریف قوانین XML تجزیه می کند.
  • همه ماژول ها به یک زمینه نیاز دارند که با متد #getInstance() مقداردهی اولیه شود، از جمله:
    • ActivityEmbeddingController#getInstance(Context)
    • SplitController#getInstance(Context)
    • RuleController#getInstance(Context)
  • کلاس EmbeddingAspectRatio را برای تعریف ثابت های رفتاری enum مانند مربوط به نسبت ابعاد نمایش اضافه کرد.
  • کلاس SplitAttributes را برای تعریف طرح تقسیم اضافه کرد.
  • توابع ماشین حساب SplitAttributes به SplitController برای سفارشی کردن طرح بندی های تقسیم شده اضافه شده است:
    • setSplitAttributesCalculator(Function)
    • clearSplitAttributesCalculator()
    • isSplitAttributesCalculatorSupported() برای بررسی اینکه آیا APIهای SplitAttributesCalculator در دستگاه پشتیبانی می شوند یا خیر
  • فیلد EmbeddingRule#tag اضافه شد.
  • به روز رسانی API در SplitRule :
    • افزودن defaultSplitAttributes - طرح تقسیم پیش فرض یک تقسیم را تعریف می کند. جایگزین splitRatio و layoutDirection می شود.
    • ترجمه خواص XML splitRatio و splitLayoutDirection به defaultSplitAttributes اضافه شد.
    • تعاریف حداقل ابعاد را برای استفاده از پیکسل‌های مستقل از چگالی (dp) به جای پیکسل تغییر داد.
    • minHeightDp با مقدار پیش فرض 600dp اضافه شد.
    • minWidth به minWidthDp با مقدار پیش‌فرض 600dp تغییر کرد.
    • minSmallestWidth به minSmallestWidthDp با مقدار پیش‌فرض 600dp تغییر کرد.
    • maxAspectRatioInHorizontal با مقدار پیش‌فرض ALWAYS_ALLOW اضافه شد.
    • maxAspectRatioInPortrait با مقدار پیش فرض 1.4 اضافه شد.
    • کلاس تودرتو FinishBehavior برای جایگزینی ثابت های رفتار پایان تعریف شده است.
    • تغییرات ویژگی را در کلاس تودرتوی Builder SplitPairRule و SplitPlaceholderRule اعمال کرد.
  • SplitInfo#getSplitRatio() با SplitInfo#getSplitAttributes() جایگزین کرد تا اطلاعات مربوط به تقسیم اضافی را ارائه دهد.

WindowLayout

  • پشتیبانی از زمینه رابط کاربری غیرفعالی به WindowInfoTracker اضافه شد.
  • زمینه رابط کاربری غیرفعالی به WindowMetricsCalculator اضافه شد.

مراحل مهاجرت

  • برای فعال کردن تعبیه فعالیت برای نمایش فعالیت‌ها در تقسیم‌بندی‌ها، برنامه‌ها باید ویژگی PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED را به تگ مانیفست <application> اضافه کنند: 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 ) یا به سادگی minWith بر حسب پیکسل بر displayMetrics#density تقسیم کنند.
  • ثابت‌های رفتار Finish باید به ثابت‌های کلاس enum مانند 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 تغییر می کند.
    • تغییر locale به SplitAttributes.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 ثابت های enum مانند FinishBehavior را می گیرند. برای جزئیات بیشتر به " مهاجرت های SplitRule " مراجعه کنید.
    • از setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW) برای نشان دادن تقسیم‌ها در دستگاه‌های پرتره استفاده کنید.
  • مهاجرت های SplitPlaceholder.Builder :
    • فقط filters و پارامترهای placeholderIntent دارد. سایر ویژگی ها به تنظیم کننده ها منتقل می شوند. برای جزئیات بیشتر به "SPLITPAIRULE.Builder Migrations" مراجعه کنید.
    • setFinishPrimaryWithPlaceholder ثابت های مانند FinishBehavior Enum را می گیرد. برای جزئیات بیشتر به "مهاجرت های اسپلیترول" مراجعه کنید.
    • 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 شامل این تعهدات است.

ویژگی های جدید

  • نسخه تجربی دریافت WindowLayoutInfo از یک زمینه UI در معرض دید قرار دهید.

API تغییر می کند

  • اضافه کردن splitSupportStatus برای نشان دادن اینکه آیا تعبیه فعالیت در دسترس است یا خیر. ( I10024 )
  • UI زمینه UI WindowLayoutInfo API را به عنوان آزمایشی قرار دهید. ( i58ee0 )
  • WindowAreaController و API را معرفی می کند تا حالت RearDisplay فعال کند تا پنجره فعلی را به صفحه نمایش منتقل کند که با دوربین عقب تراز شده است. ( iffcbf )
  • رنگ پس زمینه پیش فرض را به روز کنید. ( i1ac1b )
  • پارامترهای SplitAttributes را اضافه کنید. ( i18bdd )
  • API ها را برای SplitRule ، SplitAttributes ، SplitAttributesCalculator اضافه کنید. ( I92D23 )
  • API ها را در اطراف maxAspectRatio بهبود بخشید:
    1. alwaysAllow() و alwaysDisallow() با ALWAYS_ALLOW و ALWAYS_DISALLOW جایگزین کنید.
    2. مستندات API SEE را با مستندات مستقل به روز کنید. ( i3057b )
  • سازندگان زیر از API های عمومی حذف می شوند زیرا قرار نیست توسط برنامه ها فراخوانی شوند.
    • سازنده SplitInfo
    • سازنده ActivityStack ( IDE534 )
  • اکنون SplitRule maxAspectRatioInPortrait/Landscape را به خود می گیرد. این فقط اجازه می دهد تا فعالیتهایی که نسبت ابعاد مرزهای والدین کوچکتر یا برابر با maxAspectRatio درخواستی باشد ، تقسیم شود. ( IA5990 )
  • تغییر RuleController#parseRules استاتیک ( i785DF )
  • API های اطراف فعالیت را بهبود بخشید
    1. نامگذاری API را تراز کنید - برای موارد مختلف از افزودن/حذف استفاده کنید:
    2. registerRule در addRule تغییر می کند
    3. تغییر unregisterRule در removeRule
    4. getSplitRules با getRules جایگزین کنید زیرا ActivityRule یک قانون تقسیم نیست
    5. برای تنظیم مجموعه ای از قوانین RuleController#setRules اضافه کنید
    6. API های مربوط به قانون عصاره از SplitController به Singleton RuleController . آنها عبارتند از:
    7. addRule
    8. removeRule
    9. getRules
    10. setRules
    11. clearRules
    12. parseRules
    13. عصاره #isActivityEmbedded از SplitController به Singleton ActivityEmbeddingController . آنها عبارتند از:
    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 برای پاک کردن کلیه قوانین مهم نیست که آنها در تعاریف قانون XML استاتیک یا در زمان اجرا ثبت شده اند. برای داشتن رفتار میراث 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) ( IB3967 ))
  • API های Splitrule را بهبود بخشید:
    1. به جای پیکسل ها برای SplitRule ، ابعاد حداقل در DP بگیرید.
    2. Refactor for SplitRule Builder برای گرفتن ابعاد حداقل به عنوان اختیاری. ( i95f17 )
  • یک زمینه را برای اولیه سازی SplitController ( I42549 ) عبور دهید
  • تغییر نام نامگذاری SplitRule#layoutDir به #layoutDirection و SplitRule Builder#setLayoutDir به Builder#setLayoutDirection . ( i3f6d1 )

نسخه 1.1.0-alpha04

9 نوامبر 2022

androidx.window:window-*:1.1.0-alpha04 منتشر می شود. نسخه 1.1.0-alpha04 شامل این تعهدات است.

ویژگی های جدید

  • روشی را برای تعیین اینکه آیا یک ActivityStack برای ActivityEmbedding خالی است ، در معرض دید قرار دهید.
  • برچسب های API تجربی را از API های ActivityEmbedding حذف کرد.
  • مخفی کردن سازنده ActivityRule به عنوان Builder روش ارجح برای ساخت است.
  • یک روش آزمایشی اضافه کنید تا WindowInsets در WindowMetrics بدست آورید.
  • برای جلوگیری از اتمام محل نگهدارنده ، به روزرسانی SplitPlaceholderFinishBehavior بروزرسانی کنید. اتمام محل نگهدارنده باعث ایجاد رفتار گیج کننده شد.

API تغییر می کند

  • Val isEmpty Public را برای جایگزینی سرگرم کننده isEmpty قرار دهید.
  • تغییر نام فعالیت های پارامتر ActivityStack به activitiesInProcess . ( IA5055 )
  • ActivityFilter#matchesClassName و ActivityFilter#matchesClassNameOrWildCard را حذف کنید زیرا آنها گیج کننده هستند.
  • افزودن ActivityFilter#componentName ABD ActivityFilter#intentAction برای تماس گیرنده اجازه می دهد فیلترهای مختلف را تشخیص دهد ( I41F22 )
  • API های @Deprecated را از API آزمایشی حذف کنید ( I216B3 )
  • حذف @ExperimentalWindowApi برای فعالیت تعبیه شده API ( i69ebe )
  • سازنده ActivityRule را پنهان کنید ، به جای آن از سازنده استفاده کنید. ( if4eb6 )
  • API ها را اضافه کنید تا بررسی کنید که آیا یک فعالیت بخشی از ActivityFilter است یا خیر. ( IA43CF )
  • فایلهای API را به روز کنید تا تغییرات در کلاسهای WindowMetrics و WindowMetricsCalculatorCompat را منعکس کنید ( I667FE )
  • به روزرسانی املاک ActivityEmbedding Javadoc و نام کلاس ( IA1386 )
  • اضافه کردن نام های برچسب ActivityEmbedding نام های برچسب در AndroidManifest.xml ( ID1AD4 )
  • اضافه شده API SplitPlaceholderFinishBehavior و SplitPlaceholderRule.finishPrimaryWithPlaceholder ، این جایگزین SplitPlaceholderRule.finishPrimaryWithSecondary موجود است. FinishPrimaryWithSecondary که تعریف می کند که فعالیت های محل زندگی به پایان می رسد ، چگونه فعالیت های مرتبط با فعالیت در تعبیه باید رفتار کنند. ( i64647 )

رفع اشکال

  • WindowAreaController و API را معرفی می کند تا حالت RearDisplay فعال کند تا پنجره فعلی را به صفحه نمایش منتقل کند که با دوربین عقب تراز شده است. ( i388ab )

نسخه 1.1.0-alpha03

27 جولای 2022

androidx.window:window-*:1.1.0-alpha03 منتشر می شود. نسخه 1.1.0-alpha03 شامل این تعهدات است.

ویژگی های جدید

  • مقادیر پیش فرض را برای قوانین جاسازی به روز کنید.

API تغییر می کند

  • مقادیر پیش فرض را برای تعبیه خصوصیات قانون به روز کنید. ( IC4D35 )

نسخه 1.1.0-alpha02

11 مه 2022

androidx.window:window-*:1.1.0-alpha02 منتشر می شود. نسخه 1.1.0-alpha02 شامل این تعهدات است.

ویژگی های جدید

  • کتابخانه های آداپتور را برای حمایت از جاوا و 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 شامل این تعهدات است.

ویژگی های جدید

  • اشکال را برطرف می کند که در آن پس زمینه یک برنامه از ویژگی های برابر متوقف می شود.
  • در API فعالیت آزمایشگاهی گسترش یافته است.

API تغییر می کند

  • یک API عمومی برای بررسی اینکه آیا یک فعالیت تعبیه شده است یا خیر. ( i39eb7 )

رفع اشکال

  • API هایی را اضافه کنید که رفتار نهایی را برای ظروف در شکاف های فعالیت سفارشی کنید ( I1A1E4 )
  • یک گزینه پیکربندی جدید برای قوانین تقسیم فعالیت اضافه شده است. ( IEC6AF )

نسخه 1.0

نسخه 1.0.0

26 ژانویه 2022

androidx.window:window-*:1.0.0 منتشر می شود. نسخه 1.0.0 شامل این تعهدات است.

ویژگی های اصلی 1.0.0

  • پشتیبانی از تلفن های تاشو از طریق WindowInfoTracker و FoldingFeature . WindowMetricsCalculator برای کمک به محاسبه WindowMetrics فعلی.

نسخه 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 تبدیل کنید.
  • برای پشتیبانی از توسعه دهندگان با استفاده از Robolectric ، یک تست ساده برای WindowMetricsCalculator اضافه کنید.

API تغییر می کند

  • پسوند عصاره ( I25A5F )
  • اضافه کردن isEmpty in ActivityStack ( i5a4e6 )
  • تغییر نام WindowinforePository به Windowinfotracker.
    • به روزرسانی Java/Rxjava/تست وابستگی ها برای مطابقت. ( i0da63 )
  • یک قانون تست را برای یک WindowmetricsCalculator ساده اضافه کنید. ( iBACDB )

نسخه 1.0.0-beta03

27 اکتبر 2021

androidx.window:window-*:1.0.0-beta03 منتشر می شود. نسخه 1.0.0-beta03 شامل این تعهدات است.

ویژگی های جدید

  • فعالیت تجربی تعبیه شده API را اضافه کنید. این نسخه اولیه طرح بندی امکان نشان دادن دو فعالیت در کنار هم را فراهم می کند.

API تغییر می کند

  • API فعلی WindowMetrics را حذف کرد زیرا ما نمی توانیم آن را به طور دقیق تهیه کنیم. لطفاً به جای آن از WindowMetricsCalculator استفاده کنید ( ICDA5F )
  • API پسوندها را به روز کرد. ( ICA92B )
  • یک رابط کاربری برای یک ویژگی جدید که امکان تعبیه فعالیت ها را فراهم می کند و آنها را به صورت جانبی در پنجره وظیفه والدین نشان می دهد ، اضافه شد. ( i5711d )
  • سازندگان را برای Windowmetrics و WindowlayOutinfo پنهان کنید ، لطفاً به جای آن از API های تست استفاده کنید. ( i5a1b5 )
  • یک API اضافه کنید تا اشیاء جعلی WindowlayOutinfo ایجاد کنید. ( i4a2fd )

رفع اشکال

نسخه 1.0.0-beta02

1 سپتامبر 2021

androidx.window:window-*:1.0.0-beta02 منتشر می شود. نسخه 1.0.0-beta02 شامل این تعهدات است.

ویژگی های جدید

  • برای حاشیه نویسی API های تجربی ، یک حاشیه نویسی تجربی اضافه کنید. ( i9f1b6 )
  • یک روش تست اضافه کنید تا یک تست تست تست تست شود که یک رکت را بپذیرد. این امر باعث می شود که هنگام استفاده از Robolectric بر خلاف یک فعالیت واقعی ، آزمایش کنید. ( id1cca )

نسخه 1.0.0-beta01

18 آگوست 2021

androidx.window:window-*:1.0.0-beta01 منتشر می شود. نسخه 1.0.0-beta01 شامل این تعهدات است.

ویژگی های جدید

  • ثابت های قدیمی را برداشته و FoldingFeature در یک رابط قرار داد.

API تغییر می کند

  • ثابت های قدیمی را برداشته و FoldFeature را به یک رابط تبدیل کنید. ( i9a2d5 )

رفع اشکال

  • كتابخانه هایی كه به كتابخانه Test Core وابسته هستند به نسخه 1.4.0 ارتقا یافته اند و هم اكنون با نسخه Android Platform S. ( I88B72 ، B/189353863 ) كار می كنند.

نسخه 1.0.0-alpha10

4 آگوست 2021

androidx.window:window-*:1.0.0-alpha10 منتشر می شود. نسخه 1.0.0-alpha10 شامل این تعهدات است.

ویژگی های جدید

  • Windowinforepo را به WindowinforePository تغییر دهید و کلاس ها / پرونده های مربوطه را تنظیم کنید.
  • معیارهای پنجره فعلی را به یک جریان در WindowinforePository تبدیل کنید زیرا مقدار با گذشت زمان تغییر می کند.
  • تغییر نام WindowinforePojavaAdapter به WindowinforePocallbackAdapter
  • روش یاور را اضافه کنید تا اشیاء تست تست تست ایجاد کنید
  • بسته ها را بر اساس ویژگی ای که از آنها پشتیبانی می کنند ، به کلاس های گروهی بروزرسانی کنید.

API تغییر می کند

  • تغییر نام فعالیت به فعالیتهای مربوط به فعالیت از repo به مخزن تغییر می کند. ( i61a16 )
  • بسته های کلاس ها را به روز کنید. ( i23ae2 )
  • WindowsMetrics را از Windowinforepo حذف کنید ( I24663 )
  • WindowManager را حذف کنید و از Windowinforepo استفاده کنید
    • Windowbackend داخلی. ( i06d9a )
  • معیارهای پنجره را به جریان تبدیل کنید.
    • آداپتور جاوا را به WindowinforePocallbackAdapter تغییر دهید
    • جریان برگشتی را حذف کنید تا دیگر API های آزمایشی در حال استفاده نباشند. ( IA4D15 )
  • برای ایجاد ویژگی های صفحه نمایش تست ، روش یاور را اضافه کنید.
    • تغییر از EcclusionMode به EcclusionType ( IF4CFF )

رفع اشکال

  • خطای proguard را که در آن کتابخانه اصلی حذف شده است ، رفع کنید.
  • خطایی را برطرف کنید که در آن WindowlayOutinfo به مشترکان اضافی تحویل داده نشده است.
  • خطایی را برطرف کنید که در آن تغییرات پیکربندی باعث به روزرسانی ویژگی های تاشو نمی شود.

نسخه 1.0.0-alpha09

30 ژوئن 2021

androidx.window:window-*:1.0.0-alpha09 منتشر می شود. نسخه 1.0.0-alpha09 شامل این تعهدات است.

ویژگی های جدید

  • تغییر از ثابت عدد صحیح به عناصر بی حد و حصر.
  • برای ایجاد ویژگی های تاشو تست ، یک استفاده از تست اضافه کنید.

API تغییر می کند

  • برای ایجاد ویژگی های صفحه نمایش تست ، روش یاور را اضافه کنید. ( i3cf54 )
    • تغییر از occlusionMode به occlusionType .

رفع اشکال

  • هنگام افزودن چندین مصرف کننده جریان داده ، مقدار اولیه را منتشر کنید.

نسخه 1.0.0-alpha08

16 ژوئن 2021

androidx.window:window-*:1.0.0-alpha08 منتشر می شود. نسخه 1.0.0-alpha08 شامل این تعهدات است.

ویژگی های جدید

  • یک مصنوعات آزمایش را منتشر کرد تا هنگام استفاده از WindowsInforePository ، آزمایش را آسان تر کند. برای به دست آوردن اطلاعات در مورد نمایشگر و WindowMetrics از WindowinforePository استفاده کنید. ( I57F66 ، IDA620 )

نسخه 1.0.0-alpha07

2 ژوئن 2021

androidx.window:window-*:1.0.0-alpha07 منتشر می شود. نسخه 1.0.0-alpha07 شامل این تعهدات است.

ویژگی های جدید

  • کتابخانه پنجره اصلی را به کوتلین مهاجرت کنید. از Coroutines و توابع تعلیق برای افشای داده های ناهمزمان به جلو استفاده می شود.
  • Windowinforepo را به عنوان نقطه اصلی تعامل برای دریافت WindowMetrics و جریان WindowlayoutInfo اضافه کنید.
  • آثار باستانی جدید window-java برای افشای API های دوستانه جاوا برای ثبت نام و عدم ثبت نام تماس تلفنی.
  • window-rxjava2 و window-rxjava3 آثار باستانی برای افشای API های اقتباس شده Rxjava.

API تغییر می کند

  • WindowServices اضافه کنید تا وابستگی ها به طور یکنواخت ارائه شود.
    • API مبتنی بر 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 از حالت های تاشو حذف کرده ایم زیرا در حال حاضر توسط هیچ موردی پشتیبانی نمی شود.
  • ما همچنین API های مستهلک شده دیگر را حذف کرده ایم.

API تغییر می کند

  • افزودن کوتلین به عنوان وابستگی.
    • کتابخانه اصلی را به کوتلین مهاجرت کنید. ( IDD995 )
  • DisplayFeature Builder حذف شده است. ( i61fa4 )
  • DeviceState از API عمومی حذف کنید ، به جای آن از FoldingFeature استفاده کنید. ( id6079 )
  • پاسخ به تماس حالت دستگاه را از پسوندها حذف کنید. ( i5ea83 )
  • STATE_FLIPPED از FoldingFeature حذف کنید. ( i9c4e1 )
  • روشهای ثبت نام مستهلک را حذف کنید. ( IB381B )

نسخه 1.0.0-alpha05

24 مارس 2021

androidx.window:window:1.0.0-alpha05 منتشر می شود. نسخه 1.0.0-alpha05 شامل این تعهدات است.

ویژگی های جدید

ما روشهای راحتی را به FoldingFeature اضافه کرده ایم تا برنامه ها بتوانند بگویند که آیا این ویژگی در حال جدا شدن ، انسداد و تعیین جهت یابی لولا است. ما همچنین نوع لولا را مخفی می کنیم تا

ما روشهای خواندن همزمان را از WindowManager حذف می کنیم. روشهای خواندن همزمان مستعد خطا هستند زیرا یک وضعیت مسابقه ضمنی وجود دارد. برای دریافت به روزرسانی در WindowlayOutinfo ، شنوندگان و تماس های تماس را ثبت کنید.

API تغییر می کند

  • روش های راحتی را برای کار با FoldingFeatures اضافه کنید ( IE733F )
  • روشهای خواندن همزمان را از WindowManager حذف می کند ( I96FD4 )

نسخه 1.0.0-alpha04

10 مارس 2021

androidx.window:window:1.0.0-alpha04 منتشر می شود. نسخه 1.0.0-alpha04 شامل این تعهدات است.

ویژگی های جدید

  • در صورت عدم اجرای OEM ، اشکالی را برطرف می کند که در آن هیچ WindowlayOutinfo منتشر نمی شود. اکنون ما یک WindowlayoutInfo خالی را منتشر می کنیم.
  • در صورت تغییر وضعیت لولا در هنگام پس زمینه برنامه ، یک اشکال را برطرف کنید که حالت به درستی به روز نشود. اکنون دولت باید سازگار باشد.
  • پرونده های Proguard ما را به روز کنید تا هشدارهای مربوط به وابستگی به زمان اجرا را نادیده بگیرید.

رفع اشکال

  • هنگامی که کتابخانه 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 شامل این تعهدات است.

ویژگی های جدید

  • ما برخی از API ها را برای کمک به ساده سازی API و کاهش اشتباهات کاهش داده ایم. برخی از نمونه های قابل توجه حذف عملیات خواندن همزمان از WindowManager و کاهش انحراف است. عملیات خواندن همزمان می تواند به شرایط مسابقه منجر شود و UI نادرست داشته باشد.

  • ما DisplayFeature را به یک رابط تبدیل کرده ایم که سایر ویژگی ها به جلو حرکت می کنند. اولین ویژگی ما FoldingFeature است که اکنون بازنمایی یک صفحه نمایش یا لولا است. این همچنین حاوی وضعیت لولا جایگزین Devicestate است.

  • WindowMetrics در Android 11 معرفی شد تا یک روش ساده برای پرس و جو برای معیارهای مربوط به یک پنجره ، به عنوان مثال موقعیت و اندازه آن روی صفحه و هر نوع سیستم سیستم ، به توسعه دهندگان ارائه دهد. ما در این نسخه از API استفاده کرده ایم تا توسعه دهندگان بتوانند از WindowMetrics استفاده کنند و به پشتیبانی از نسخه های قدیمی Android ادامه دهند. WindowMetrics را می توان از طریق WindowManager#getCurrentWindowMetrics() و WindowManager#getMaximumwindowMetrics () دریافت کرد.

API تغییر می کند

  • API های مستهجن که در آلفا بعدی حذف می شوند ( IB7CC4 )
  • به روزرسانی ExtensionInterface برای پذیرش منابع فعالیت صریح. ( i07ded )
  • API WindowMetrics را معرفی می کند. ( i3ccee )
  • روشهای خواندن همزمان را از WindowManager حذف کنید ( I69983 )
  • بسته بندی ExtensionWindowBackend را محافظت کنید. ( IED208 )

رفع اشکال

  • API های ExtensionInterface را به روز کنید تا زمینه های بصری را بپذیرید. ( i8e827 )

سهم خارجی

  • Devicestate و WindowLayoutInfo را ادغام کنید ، بنابراین دسترسی به داده ها آسان تر است. ( id34f4 )

نسخه 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 شامل این تعهدات است. این اولین نسخه از کتابخانه Window Manager است.

ویژگی های جدید

  • DisplayFeature : این API جدید اختلال در سطوح صفحه نمایش مسطح مداوم مانند لولا یا چین ها را مشخص می کند
  • DeviceState : این API جدید وضعیت فعلی تلفن را از لیستی از وضعیتهای تعریف شده فراهم می کند (به عنوان مثال ، CLOSED ، OPENED ، HALF_OPENED و غیره)