WindowManager

ספריית WindowManager של Jetpack מאפשרת למפתחי אפליקציות לתמוך בגורמי צורה חדשים של מכשירים ובסביבות עם חלונות מרובים. הגרסה הראשונית מיועדת למכשירים מתקפלים, אבל גרסאות עתידיות יכללו תמיכה בסוגים נוספים של מסכים ובתכונות נוספות של חלונות.
העדכון האחרון גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסה אלפא
16 באוקטובר 2024 1.3.0 - - 1.4.0-alpha05

הצהרת יחסי תלות

כדי להוסיף תלות ב-WindowManager, צריך להוסיף את מאגר Google Maven לפרויקט. למידע נוסף, קראו את המאמר מאגר Maven של Google.

מוסיפים את יחסי התלות של הארטיפקטים הנדרשים בקובץ 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")
}

משוב

המשוב שלכם עוזר לנו לשפר את Jetpack. אם נתקלתם בבעיות חדשות או שיש לכם רעיונות לשיפור הספרייה הזו, נשמח לשמוע מכם. לפני שיוצרים בעיה חדשה, כדאי לעיין בבעיות הקיימות בספרייה הזו. כדי להצביע על בעיה קיימת, לוחצים על לחצן הכוכב.

דיווח על בעיה חדשה

מידע נוסף זמין במסמכי התיעוד של Issue Tracker.

גרסה 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 מכילה את ההוספות האלה.

שינויים ב-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 כוללת את ההוספות האלה.

תכונות חדשות

  • מוסיפים שיטה שימושית כדי לקבל WindowSizeClass מ-WindowMetrics. (I83f1f)
  • משנים את השם של isAtLeast ל-containsBreakpoint. (I85b47)
  • הוספת עומס יתר ל-computeWindowSizeClass באמצעות משתני float. (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> כדי לחשב את ההתאמה הטובה ביותר מהקבוצה.
  • מוסיפים קבועים לנקודות העצירה המומלצות ל-Android.
  • מוסיפים את קבוצת נקודות העצירה (breakpoint) התואמת לנקודות העצירה המומלצות ל-Android.

שינויים ב-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 מאפשרת לאפליקציות להצמיד את התוכן למאגר אחד ולבודד את הניווט שלו מהמאגר השני.
  • מפריד אינטראקטיבי מאפשר לאפליקציות להציג מפריד קבוע או שניתן לגרירה בין שתי הפעילויות במצגת מפוצלת.
  • הכהת תיבת דו-שיח במסך מלא מאפשרת לאפליקציות לציין את אזור ההכהה של תיבת הדו-שיח, כדי להכהות את כל חלון המשימה או רק את המארז שבו מוצגת תיבת הדו-שיח.
  • החזרה לשיחה (Callback) עם מידע על חלון הפעילות המוטמע מאפשרת לאפליקציות לקבל עדכונים על חלון הפעילות המוטמע באופן רציף.
  • הטמעת רקע של אנימציה מאפשרת לאפליקציות לציין את הרקע של האנימציה, וכך לשפר את איכות אנימציית המעבר כשמשתמשים ב-ActivityEmbedding.
  • ניהול משופר של ActivityStack מאפשר לאפליקציות לשלוט יותר ב-ActivityStacks כשמשתמשים ב-ActivityEmbedding, כולל:
  • הפעלת פעילות ב-ActivityStack שצוין
  • סיום ActivityStack

שינויים ב-API

  • ממשק API חדש WindowInfoTracker#supportedPostures:

    • ממשק API שקובע אם המכשיר תומך במצב שולחני במכשירים מתקפלים. הוספה של 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
  • הוספת ממשקי API להגדרת השקת המוצר ActivityStack

    • ActivityEmbeddingOptions#setLaunchingActivityStack
  • ממשקי ה-API הבאים הם יציבים ולא ניסיוניים יותר:

    • ActivityEmbeddingController#invalidateVisibleActivityStacks (הועבר מ-SplitController#invalidateTopVisibleSplitAttributes)
    • ActivityEmbeddingController#getActivityStack
    • SplitController#updateSplitAttributes
  • הוספת ממשקי API לגרסה 1.4. (I56774)

תיקוני באגים

  • תיקון באג במכשירים מסוימים, שבו המערכת הייתה מחזירה את הערך UNAVAILABLE במקום ACTIVE כשהסשן פעיל.
  • הוסרה התמיכה ב-transferActivityToWindowArea במכשירים עם vendorApiLevel של 2 בגלל תמיכה לא יציבה ב-API.
  • הוספת ממשק API שמאפשר גרירה למסך מלא של המחיצה הניתנת לגרירה להטמעת פעילויות. (I645c9)
  • לאפשר לאפליקציות להשבית את האנימציות של ActivityEmbedding באמצעות פרמטרים של אנימציה עבור SplitAttributes. (Idc01a)
  • הסרנו את התיאור הידני של הגישה לממשקי API חדשים של פלטפורמות, כי הגישה הזו מתבצעת באופן אוטומטי באמצעות בניית מודלים של ממשקי API כשמשתמשים ב-R8 עם AGP מגרסה 7.3 ואילך (למשל, R8 מגרסה 3.3) ובכל גרסאות ה-build כשמשתמשים ב-AGP מגרסה 8.1 ואילך (למשל, D8 מגרסה 8.1). לקוחות שלא משתמשים ב-AGP מומלצים לעדכן ל-D8 בגרסה 8.1 ואילך. למידע נוסף, מומלץ לעיין במאמר הזה. (Ia60e0, ‏ b/345472586)
  • מתן הרשאה לתוספים לקבל פרמטרים של אנימציה עבור SplitAttributes, כדי שהמכשיר יוכל להשתמש בהם למעברים באנימציה. (Iede00)
  • הסתרת ממשקי API של שכבות-על (Ic4251)
  • הוספת ממשקי API להגדרת המחיצה הקבועה או הנשלפת של הפיצול (Ia7a78)
  • הוספת צפיפות ל-WindowMetrics (Id6723)
  • מוסיפים את ה-API כדי לקבל את SupportedPostures. (If557a)
  • הסרת setLaunchingActivityStack מ-API הניסיוני (I191cf)
  • הצגת ActivityEmbeddingController#embeddedActivityWindowInfo (I24312)
  • הוצאה משימוש של #getToken והוספה של #getActivityStackToken (Ie0471)
  • הצגת מתאם קריאה חוזרת (callback) ל-API של תהליך embeddedActivityWindowInfo (Ida77f)
  • הוספת מתאם קריאה חוזרת (callback) ל-API של תהליך overlayInfo (I7264f)
  • מוסיפים את WindowSdkExtensionsRule כדי לשנות את extensionsVersion לצורך בדיקה. (Ifb928)
  • - העברת #setLaunchingActivityStack ל-Bundle כדי להתאים לשימוש ב-ActivityOptionsCompat.
    • המשתמשים צריכים להעביר את activityOptions.toBundle במקום את ActvityOptions עצמו.
    • מסירים את #setLaunchingActivityStack(Activity). המשתמשים צריכים לעבור להשתמש ב-ActivityEmbeddingController#getActivityStac(Activity) כדי לקבל ActivityStack, ולהעביר את ה-ActivityStack אל #setLaunchingActivityStack. (Ie0ccc)
  • - הוספת ActivityStack.Token ו-SpltInfo.Token כמזהה לתקשורת בין WM Jetpack לבין התוספים.
    • הוצאה משימוש או החלפה של ממשקי API כדי לקבל או להחזיר אסימון במקום IBinder. (I12b24)
  • - הצגת ActivityEmbeddingController#invalidateVisibleActivityStacks
    • הסרת SplitController#invalidateTopVisibleSplitAttributes כי התכונה קולטת את #invalidateVisibleActivityStacks (I02ef5)
  • - הוספת API להגדרת ההגדרות להטמעה. (I59a4a)
  • - הוספה/ביטול הצמדה של ממשקי ה-API המובילים של ActivityStack androidx.Window
    • עדכון אפליקציית הדגמה כדי לאפשר הצמדה/ביטול הצמדה של החלק העליון 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

  • תמיכה ב-Kotlin Multiplatform עבור Window Size Classes.

גרסה 1.3.0-rc01

14 במאי 2024

WindowManager ב-Jetpack 1.3 יש תמיכה ב-Kotlin Multiplatform בתכונות של WindowSizeClass, וגם תיקונים לכמה באגים.

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 כוללת את ההוספות האלה.

שינויים ב-API

  • הסרת התמיכה ביצירה של WindowSizeClass מותאמים אישית ובשימוש בהם. (Id1143)

תיקוני באגים

  • תיקון של 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 מכילה את ההצהרות האלה.

תכונות חדשות

  • עדכונים שבוצעו בממשק ה-API של Window Size Class API כדי לשפר את הגמישות למפתחים שרוצים להשתמש בקטגוריות גודל משלהם.

שינויים ב-API

  • מוסיפים אילוצים לגובה לבורר הרוחב. (I23393)
  • הוספת פונקציות שירות לבחירת WindowSizeClass מתוך קבוצה. הוספת פונקציות ניסיוניות למתן ציונים כדי שמפתחים יוכלו לכתוב בוחרים משלהם. מוסיפים פונקציית תוסף של בורר כדי לבחור את WindowSizeClass הרחב ביותר בתוך גבול נתון. (I0c944)
  • פותחים את המבנה WindowSizeClass כדי שאפשר יהיה להוסיף נקודות עצירה בהתאמה אישית. (Ic1ff3)
  • הוספת פונקציית נוחות ליצירת סיווג גודל לפי רוחב, גובה וצפיפות. (If67f4)

תיקוני באגים

  • תיקון חריגה כשערך של float נכרת ל-0. (272ffac)

גרסה 1.3.0-alpha01

15 בנובמבר 2023

androidx.window:window-*:1.3.0-alpha01 משוחרר. גרסה 1.3.0-alpha01 כוללת את ההוספות האלה.

תכונות חדשות

  • חשיפת ממשקי API ניסיוניים של חלונות כדי לגשת למסך האחורי.
  • ממשקי ה-API לבדיקה ליצירת FoldingFeature יצאו עכשיו מגרסה 'בטא'.
  • ממשקי ה-API לבדיקה להגדרת ערכים מזויפים של ActivityEmbedding עברו עכשיו תיקון והם יציבים.
  • 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 ניסיוניים של חלונות כדי לגשת למסך האחורי.
  • ממשקי ה-API לבדיקה ליצירת FoldingFeature יצאו עכשיו מגרסה 'בטא'.
  • ממשקי ה-API לבדיקה להגדרת ערכים מזויפים של ActivityEmbedding עברו עכשיו תיקון והם יציבים.
  • WindowLayoutInfoPublisherRule מדווחת עכשיו על ההחרגה כשמקבלים ערך מ-UiContext.
  • WindowInfoTracker מדווחת על נתוני התכונה של הקיפול לפרמטרים UiContext.
  • חושפים את גרסת התוספים במכשיר.

גרסה 1.2.0-rc01

1 בנובמבר 2023

androidx.window:window-*:1.2.0-rc01 משוחרר. גרסה 1.2.0-rc01 כוללת את השמירות האלה.

תכונות חדשות

  • חשיפת ממשקי API ניסיוניים של חלונות כדי לגשת למסך האחורי.
  • ממשקי ה-API לבדיקה ליצירת FoldingFeature יצאו עכשיו מגרסה 'בטא'.
  • ממשקי ה-API לבדיקה להגדרת ערכים מזויפים של ActivityEmbedding עברו עכשיו תיקון והם יציבים.
  • WindowLayoutInfoPublisherRule מדווחת עכשיו על ההחרגה כשמקבלים ערך מ-UiContext.
  • WindowInfoTracker מדווחת על נתוני התכונה של הקיפול לפרמטרים UiContext.
  • חושפים את גרסת התוספים במכשיר.

גרסה 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 ברכיב הטמעת הפעילות. (Ie3dae)
  • להציג את WindowSdkExtensions כדי לדווח על גרסת התוסף במכשיר.
    • מוסיפים את RequiresWindowSdkExtension כדי להוסיף הערה לגרסה המינימלית הנדרשת של התוסף. (I05fd4)
  • הופך את WindowAreaInfo#getCapability ללא-ריק (non-nullable). (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

  • סימון ממשקי ה-API של WindowArea כניסיוניים כדי לאפשר המשך שינויים ב-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 כוללת את ההוספות האלה.

תכונות חדשות

  • הסרת ממשקי API שהוצאו משימוש מ-API surface.
  • מוסיפים ממשקי API כדי לתמוך בתצוגות בו-זמניות.
  • מוסיפים נכס כדי לבטל את ההסכמה לשינוי גודל נכסים בכפייה.
  • הוספת נכס כדי לבטל את ההסכמה לשינוי יחס גובה-רוחב מינימלי.
  • יציבות של ActivityEmbeddingRule כדי לתמוך בבדיקות יחידה של הטמעת פעילויות.

שינויים ב-API

  • הסרת ממשקי 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)
  • הוספת ממשקי API של RearDisplayPresentationMode (I0401c)
  • הסרת ה-API של צבע הרקע בגרסה היציבה. (I34c3e)
  • הסתרת ממשקי API של אזור החלון. (I39de0)
  • מוסיפים שיטות כדי לשנות את SplitInfo ב-SplitController. מוסיפים שיטות בדיקה ליצירת כפולה של 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
    • הוספת תמיכה ב-Flow כדי לקבל את הרשימה SplitInfo (I7f1b6)
  • הוספת כלל בדיקה עבור ActivityEmbeddingController (I42e9b)
  • שינוי השם של ActivityOptionsCompat ל-ActivityEmbeddingOptions (I89301)
  • מוסיפים את הערך splitSupportStatus כדי לציין אם אפשר להטמיע את הפעילות. (I10024)
  • מוסיפים את SplitAttributes.BackgroundColor כדי לייצג בצורה טובה יותר את הערך של DEFAULT. חשוב לציין שאין תמיכה בצבע רקע של אנימציה לא אטום, ולכן צבעים לא אטומים יטופלו כברירת המחדל, כלומר יתבצע שימוש בצבע הרקע הנוכחי של חלון העיצוב. (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 מכילה את ההוספות האלה.

תכונות חדשות

  • עדכון ה-API לבדיקה כך שיכלול קבוע לתכונות קיפול לא מצוינות.
  • שינוי מברירת המחדל באמצעות WindowLayoutInfoPublishRule ישנה את כל הערכים של windowLayoutInfo, כולל ממשק ה-API המבוסס על הקשר.

שינויים ב-API

  • הוספת קבוע לתכונה לא מצוינות של קיפול למרכז. (I7530c)

תיקוני באגים

  • מעדכנים את WindowLayoutInfoPublishRule כדי לתמוך בשינויים מברירת המחדל ב-Context על סמך WindowLayoutInfo. (I2037a)

גרסה 1.2.0-alpha01

24 במאי 2023

androidx.window:window-*:1.2.0-alpha01 משוחרר. גרסה 1.2.0-alpha01 כוללת את ההוספות האלה.

תכונות חדשות

יציבות של ממשקי ה-API לבדיקה בנושא הטמעת פעילויות ו-WindowLayoutInfoTracker. גרסת ActivityEmbeddingRule קודמה לגרסה יציבה. גרסת WindowMetricsCalculatorRule קודמה לגרסה יציבה. פונקציות השירות ליצירת FoldingFeature לבדיקה הועלו לגרסת יציבה.

שינויים ב-API

  • יציבות של ActivityEmbeddingRule כדי לתמוך בבדיקות יחידה סביב הטמעת פעילויות. (I8d6b6)
  • WindowMetrisCalculatorTestRule יציב ומאפשר מדדי stub לבדיקות JVM. מומלץ להשתמש במהדר (emulator) כדי לקבל תוצאות מדויקות.
  • יציבות של ממשקי API לבדיקה עבור WindowLayoutInfo כדי לתמוך בבדיקות JVM. (Ie036e)
  • מוסיפים IntRange כדי לבדוק את ערכי התכונה. (I69f7d)

גרסה 1.1

גרסה 1.1.0

7 ביוני 2023

androidx.window:window-*:1.1.0 משוחרר. גרסה 1.1.0 כוללת את ההצהרות האלה.

שינויים חשובים מאז גרסה 1.0.0

הטמעת פעילות

  • הוספנו את PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED כמאפיין בוליאני של התג <application> במניפסט של האפליקציה.
  • הוחלפה isSplitSupported ב-splitSupportStatus כדי לספק מידע מפורט יותר על הסיבה לכך שתכונה הפיצול לא זמינה.
  • נוספה הכיתה בתצוגת עץ SplitController.SplitSupportStatus כדי לספק ערכי קבועים של מצב לנכס splitSupportStatus.
  • שיניתם את SplitController לכמה מודולים:
    • מודול 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.
  • צריך להעביר את הקבועים של התנהגות הסיום לקבועים של כיתות FinishBehavior שדומים לממשקי enum:
    • 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 migrations:
    • 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 שדומים למערך ערכי קבועים. פרטים נוספים זמינים בקטע 'העברות של כללי SplitRule'.
    • כדי להציג פיצולים במכשירים בפורמט לאורך, לוחצים על setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW).
  • SplitPlaceholder.Builder migrations:
    • יש לו רק את הפרמטרים filters ו-placeholderIntent. מאפיינים אחרים מועברים ל-setters. פרטים נוספים זמינים במאמר 'העברות של SplitPairRule.Builder'.
    • setFinishPrimaryWithPlaceholder מקבלת את הקבועים 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 כוללת את השמירות האלה.

תכונות חדשות

  • משיקים את 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 לכמה מודולים:
    • מודול 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 migrations:
    • 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.
  • צריך להעביר את הקבועים של התנהגות הסיום לקבועים של כיתות FinishBehavior שדומים לממשקי enum:
    • 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 migrations:
    • 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 שדומים למערך ערכי קבועים. פרטים נוספים זמינים בקטע 'העברות של כללי SplitRule'.
    • כדי להציג פיצולים במכשירים בפורמט לאורך, לוחצים על setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW).
  • SplitPlaceholder.Builder migrations:
    • יש לו רק את הפרמטרים filters ו-placeholderIntent. מאפיינים אחרים מועברים ל-setters. פרטים נוספים זמינים במאמר 'העברות של SplitPairRule.Builder'.
    • setFinishPrimaryWithPlaceholder מקבלת את הקבועים 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-alpha06

22 בפברואר 2023

androidx.window:window-*:1.1.0-alpha06 משוחרר. גרסה 1.1.0-alpha06 מכילה את ההוספות האלה.

תכונות חדשות

  • חשיפת גרסה ניסיונית של אחזור WindowLayoutInfo מהקשר של ממשק משתמש.

שינויים ב-API

  • מוסיפים את הערך splitSupportStatus כדי לציין אם אפשר להטמיע את הפעילות. (I10024)
  • הגדירו את ממשק ה-API WindowLayoutInfo של UI Context כניסיוני. (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)
  • ה-constructors הבאים הוסרו מממשקי API ציבוריים כי לא אמורות להתבצע קריאות אליהם על ידי אפליקציות.
    • ה-constructor של SplitInfo
    • הבנאי של ActivityStack‏ (Ide534)
  • SplitRule מקבל עכשיו את maxAspectRatioInPortrait/Landscape. המערכת מאפשרת לפצל פעילויות רק אם יחס הגובה-רוחב של גבולות ההורה קטן מ-maxAspectRatio המבוקש או שווה לו. (Ia5990)
  • משנים את RuleController#parseRules לסטטי (I785df)
  • שיפור ממשקי ה-API שקשורים ל-ActivityEmbedding
    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, צריך לקרוא ל-RuleController#parseRules עם מזהה המשאבים ב-XML ולקרוא ל-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. צריך להשתמש במימדים המינימליים ב-DP במקום בפיקסלים עבור SplitRule.
    2. שינוי הקוד של ה-Builder של SplitRule כך שיאפשר להשתמש במאפיינים מינימליים כאופציונליים. (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.
  • מסתירים את ה-constructor של ActivityRule כי Builder היא הדרך המועדפת ליצירת אובייקטים.
  • מוסיפים שיטה ניסיונית כדי לקבל את WindowInsets ב-WindowMetrics.
  • צריך לעדכן את SplitPlaceholderFinishBehavior כדי למנוע סיום של placeholder. סיום ה-placeholder גרם להתנהגות מבלבלת.

שינויים ב-API

  • הופכים את val isEmpty לציבורית כדי להחליף את fun isEmpty.
  • משנים את השם של הפעילויות של הפרמטר ActivityStack ל-activitiesInProcess. (Ia5055)
  • מסירים את ActivityFilter#matchesClassName ואת ActivityFilter#matchesClassNameOrWildCard כי הם מבלבלים.
  • מוסיפים את ActivityFilter#componentName ואת ActivityFilter#intentAction כדי לאפשר למבצע הקריאה להבחין בין מסננים שונים (I41f22)
  • הסרת ממשקי ה-API של @Deprecated מה-API הניסיוני (I216b3)
  • הסרת @ExperimentalWindowApi עבור ממשקי API להטמעת פעילות (I69ebe)
  • מסתירים את ה-constructor של ActivityRule ומשתמשים ב-Builder במקום זאת. (If4eb6)
  • מוסיפים ממשקי API כדי לבדוק אם פעילות מסוימת היא חלק מ-ActivityFilter. (Ia43cf)
  • עדכון קובצי ה-API כך שישקפו שינויים בכיתות WindowMetrics ו-WindowMetricsCalculatorCompat (I667fe)
  • עדכון Javadoc ושם הכיתה של המאפיין ActivityEmbedding (Ia1386)
  • הוספת שמות של תגי נכס ActivityEmbedding לשימוש בקובץ AndroidManifest.xml (Id1ad4)
  • נוספו ממשקי API חדשים, SplitPlaceholderFinishBehavior ו-SplitPlaceholderRule.finishPrimaryWithPlaceholder, שמחליפים את SplitPlaceholderRule.finishPrimaryWithSecondary הקיים. ממשקי ה-API האלה מגדירים מתי פעילות של placeholder מסתיימת ואיך התנהגות הפעילויות המשויכות להטמעת הפעילות. (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 מכילה את השמירות האלה.

תכונות חדשות

  • פרסום ספריות המתאם לתמיכה ב-Java וב-RxJava.

גרסה 1.1.0-alpha01

11 במאי 2022

androidx.window:window-*:1.1.0-alpha01 משוחרר. גרסה 1.1.0-alpha01 כוללת את ההוספות האלה.

תכונות חדשות

  • פרסום מתאמים לתמיכה ב-Java וב-RxJava

גרסה 1.1.0-alpha01

20 באפריל 2022

androidx.window:window:1.1.0-alpha01 משוחרר. גרסה 1.1.0-alpha01 כוללת את ההוספות האלה.

תכונות חדשות

  • תוקן באג שגרם לכך שהעברת אפליקציה לרקע גורמת להפסקת ההעברה של תכונות מתקפלות.
  • הרחבה של ActivityEmbedding API הניסיוני.

שינויים ב-API

  • ממשק API ציבורי לבדיקה אם פעילות מוטמעת. (I39eb7)

תיקוני באגים

  • הוספת ממשקי API שמתאימים אישית את התנהגות הסיום של קונטיינרים בחלוקות פעילות (I1a1e4)
  • הוספנו אפשרות הגדרה חדשה לכללי חלוקת הפעילות. (Iec6af)

גירסה 1.0

גרסה 1.0.0

26 בינואר 2022

androidx.window:window-*:1.0.0 משוחרר. גרסה 1.0.0 כוללת את ההצהרות האלה על ביצוע שינויים (commits).

תכונות עיקריות בגרסה 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.
  • הופכים את Activity לשימוש מפורש בשיטה של WindowInfoTracker.
  • הוספת TestRule פשוט ל-WindowMetricsCalculator כדי לתמוך במפתחים שמשתמשים ב-Robolectric.

שינויים ב-API

  • חילוץ תוספים (I25a5f)
  • הוספת isEmpty ב-ActivityStack‏ (I5a4e6)
  • משנים את השם של WindowInfoRepository ל-WindowInfoTracker.
    • מעדכנים את יחסי התלות של java/rxjava/testing בהתאם. (I0da63)
  • מוסיפים כלל בדיקה ל-WindowMetricsCalculator פשוט. (Ibacdb)

גרסה 1.0.0-beta03

27 באוקטובר 2021

androidx.window:window-*:1.0.0-beta03 משוחרר. גרסה 1.0.0-beta03 מכילה את ההצהרות האלה.

תכונות חדשות

  • הוספת ממשקי API ניסיוניים להטמעת פעילויות. הגרסה הראשונית של הפריסה מאפשרת להציג שתי פעילויות זו לצד זו.

שינויים ב-API

  • הסרנו את currentWindowMetrics API כי אין לנו אפשרות לספק אותו בצורה מדויקת. במקום זאת, צריך להשתמש ב-WindowMetricsCalculator‏ (Icda5f)
  • עדכנו את ה-Extensions API. (Ica92b)
  • הוספנו ממשק לתכונה חדשה שמאפשרת להטמיע פעילויות ולהציג אותן זו לצד זו בחלון המשימה הראשי. (I5711d)
  • הוסתרו המאפיינים ה-constructor של 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)
  • מוסיפים שיטת בדיקה כדי ליצור FoldingFeature לבדיקה שמקבלת Rect. כך יהיה קל יותר לבדוק כשמשתמשים ב-Robolectric, לעומת Activity בפועל. (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 בגרסה S. (I88b72, ‏ b/189353863)

גרסה 1.0.0-alpha10

4 באוגוסט 2021

androidx.window:window-*:1.0.0-alpha10 משוחרר. גרסה 1.0.0-alpha10 מכילה את ההצהרות האלה.

תכונות חדשות

  • משנים את השם של WindowInfoRepo ל-WindowInfoRepository ומתאימים את הכיתות או הקבצים המתאימים.
  • ממירים את מדדי החלון הנוכחיים ל-Flow ב-WindowInfoRepository, כי הערך משתנה לאורך זמן.
  • שינוי השם של WindowInfoRepoJavaAdapter ל-WindowInfoRepoCallbackAdapter
  • הוספת שיטת עזר ליצירת אובייקטים של FoldingFeature לבדיקה
  • מעדכנים את החבילות כדי לקבץ כיתות לפי התכונה שהן תומכות בה.

שינויים ב-API

  • משנים את השם של ActivityExt ל-ActivityExtensions. משנים את השם של Repo ל-Repository. (I61a16)
  • מעדכנים את החבילות של הכיתות. (I23ae2)
  • הסרת WindowMetrics מ-WindowInfoRepo (I24663)
  • הסרה של WindowManager ושימוש ב-WindowInfoRepo
    • הפיכת WindowBackend לרכיב פנימי. (I06d9a)
  • המרת מדדי חלון ל-Flow.
    • שינוי השם של מתאם Java ל-WindowInfoRepoCallbackAdapter
    • מסירים את callbackFlow כדי שלא יהיו יותר ממשקי API ניסיוניים בשימוש. (Ia4d15)
  • הוספת שיטת עזר ליצירת תכונות תצוגה לבדיקה.
    • שינוי מ-occlusionMode ל-occlusionType (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 מכילה את ההצהרות האלה.

תכונות חדשות

  • פרסמנו ארטיפקט לבדיקה כדי שיהיה קל יותר לבדוק את השימוש ב-WindowInfoRepository. משתמשים ב-WindowInfoRepository כדי לקבל מידע על DisplayFeatures ועל WindowMetrics. (I57f66, ‏ Ida620)

גרסה 1.0.0-alpha07

2 ביוני 2021

androidx.window:window-*:1.0.0-alpha07 משוחרר. גרסה 1.0.0-alpha07 מכילה את ההצהרות האלה על ביצוע שינויים (commits).

תכונות חדשות

  • העברת ספריית הליבה של החלונות ל-Kotlin. נשתמש בקורוטינים ובפונקציות השהיה כדי לחשוף נתונים אסינכרונים בהמשך.
  • מוסיפים את WindowInfoRepo כנקודת האינטראקציה הראשית לקבלת WindowMetrics והזרם של WindowLayoutInfo.
  • פריט מידע חדש מסוג window-java שמשמש לחשיפת ממשקי API ידידותיים ל-Java לצורך רישום והסרה של קריאות חזרה (callbacks).
  • ארטיפקטים חדשים של window-rxjava2 ו-window-rxjava3 כדי לחשוף ממשקי API מותאמים ל-RxJava.

שינויים ב-API

  • מוסיפים את WindowServices כדי לספק יחסי תלות באופן אחיד.
    • הוספת API מבוסס-קורוטינה לצורך שימוש במידע על פריסת החלון. (Iab70f)
  • העברת ספריית הליבה של מנהל החלונות ל-Kotlin. (Icca34)

תיקוני באגים

  • מוסיפים סיווג נתונים חדש שמייצג את גבולות התכונה. (I6dcd1)

גרסה 1.0.0-alpha06

5 במאי 2021

androidx.window:window:1.0.0-alpha06 משוחרר. גרסה 1.0.0-alpha06 כוללת את ההוספות האלה.

תכונות חדשות

  • התחלנו את המעבר ל-Kotlin ונשלים אותו במהדורה הבאה.
  • DeviceState הוסרה מה-API הציבורי. במקום זאת, יש להשתמש ב-FoldingFeature.
  • הסרנו את STATE_FLIPPED מהמצבים של FoldingFeature כי בשלב הזה אין תמיכה בו בתרחישי שימוש כלשהם.
  • הסרנו גם ממשקי API אחרים שהוצאו משימוש.

שינויים ב-API

  • הוספת Kotlin כיחס תלות.
    • העברת ספריית הליבה ל-Kotlin. (Idd995)
  • הוסרה ה-builder של DisplayFeature. (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. שיטות קריאה סינכרוניות נוטות לשגיאות כי יש בהן תנאי מרוץ (race condition) משתמע. רישום של מאזינים וקריאות חוזרות (callbacks) כדי לקבל עדכונים על WindowLayoutInfo.

שינויים ב-API

  • הוספת שיטות נוחות לעבודה עם FoldingFeatures‏ (Ie733f)
  • הסרה של שיטות קריאה סינכרוניות מ-WindowManager‏ (I96fd4)

גרסה 1.0.0-alpha04

10 במרץ 2021

androidx.window:window:1.0.0-alpha04 משוחרר. גרסה 1.0.0-alpha04 מכילה את ההצהרות האלה על ביצוע שינויים (commits).

תכונות חדשות

  • תוקן באג שבו לא מתבצע פליטה של WindowLayoutInfo אם אין הטמעה של OEM. עכשיו אנחנו פולטים אירוע WIndowLayoutInfo ריק.
  • תוקן באג שגרם לכך שהמצב לא יתעדכן כראוי אם מצב הציר ישתנה בזמן שהאפליקציה הייתה ברקע. עכשיו המצב אמור להיות עקבי.
  • עדכון קובצי Proguard שלנו כדי להתעלם מאזהרות מיחסי תלות בסביבת זמן הריצה.

תיקוני באגים

  • הפקת ערך ריק כשספריית ה-OEM חסרה. (Ide935)

גרסה 1.0.0-alpha03

18 בפברואר 2021

androidx.window:window:1.0.0-alpha03 משוחרר. גרסה 1.0.0-alpha03 כוללת את ההצהרות האלה.

תכונות חדשות

  • שולחים ערך ריק של WindowLayoutInfo כשהטמעת ה-OEM ריקה. כך יהיה קל יותר להשתמש בספרייה במכשירים נוספים. מאחר שממשקי ה-API הם אסינכרונים, עדיין מומלץ לכתוב באפליקציות קוד הגנה מסוים ולהפיק ערך ברירת מחדל אחרי זמן קצוב לתפוגה. אין לנו התחייבויות לגבי הטמעות של יצרני ציוד מקורי, וייתכן שהערך הראשוני יתעכב.

תיקוני באגים

  • שולחים ערך ריק כשספריית ה-OEM חסרה. (Ide935)

גרסה 1.0.0-alpha02

27 בינואר 2021

androidx.window:window:1.0.0-alpha02 משוחרר. גרסה 1.0.0-alpha02 מכילה את ההצהרות האלה.

תכונות חדשות

  • הוצאנו משימוש כמה ממשקי API כדי לשפר את היעילות של ה-API ולצמצם את מספר השגיאות. דוגמאות בולטות לכך הן הסרת פעולות הקריאה הסינכרוניות מ-WindowManager והוצאה משימוש של DeviceState. פעולות קריאה סינכרוניות עלולות להוביל לתנאי מרוץ (race condition) ולממשק משתמש שגוי.

  • הפכנו את DisplayFeature לממשק שבו תכונות אחרות יופעלו מעכשיו ואילך. התכונה הראשונה שלנו היא FoldingFeature, שמייצגת עכשיו מסך מתקפל או ציר. הוא מכיל גם את המצב של ציר המכשיר, שמחליף את DeviceState.

  • WindowMetrics הוצג ב-Android 11 כדי לספק למפתחים דרך פשוטה לשלוח שאילתות לגבי מדדים של חלון, למשל המיקום והגודל שלו במסך וכל רכיבי המערכת שמוצגים בתוך החלון. בגרסה הזו הוספנו תמיכה לאחור ב-API כדי שמפתחים יוכלו להשתמש ב-WindowMetrics ולהמשיך לתמוך בגרסאות ישנות יותר של Android. אפשר לקבל את WindowMetrics דרך ממשקי ה-API WindowManager#getCurrentWindowMetrics() ו-WindowManager#getMaximumWindowMetrics().

שינויים ב-API

  • הוצאה משימוש של ממשקי API שיוסרו בגרסה הבאה של גרסת האלפא (Ib7cc4)
  • עדכון של ExtensionInterface כדי לאפשר הפניה מפורשת לפעילות. (I07ded)
  • הצגת WindowMetrics API. (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 וכו').