תצוגת Wear Watch
הערה: החל מ-10 ביולי 2024, תצוגות השעון חייבות להשתמש בתכונה Watch Face Format כדי להיות מותקנות בשעונים חדשים שמופעלים עם Wear OS 5 מותקנת מראש. מידע נוסף לשינויים שגלויים למשתמשים כאן מרכז העזרה במאמר הזה.
כמו כן, החל מתחילת 2025 (תאריך ספציפי יפורסם במהלך רבעון 4 של שנת 2024), כל תצוגות השעון החדשות שמתפרסמות ב-Google Play חייבות להשתמש בתצוגת השעון פורמט.
העדכון האחרון | גרסה יציבה | מועמד לפרסום | גרסת בטא | גרסת אלפא |
---|---|---|---|---|
17 באפריל 2024 | 1.2.1 | - | - | 1.3.0-alpha03 |
הצהרה על יחסי תלות
כדי להוסיף תלות ב-Wear, צריך להוסיף את מאגר Google Maven פרויקט. למאגר Maven של Google אפשר לקבל מידע נוסף.
מוסיפים את יחסי התלות של פריטי המידע הנדרשים בקובץ build.gradle
בשביל
האפליקציה או המודול שלך:
מגניב
dependencies { // Use to implement wear watchfaces implementation "androidx.wear.watchface:watchface:1.2.1" // Use to implement wear watchface complications implementation "androidx.wear.watchface:watchface-complications-data-source:1.2.1" // (Kotlin-specific extensions) implementation "androidx.wear.watchface:watchface-complications-data-source-ktx:1.2.1" // Use to implement a watchface style and complication editor implementation "androidx.wear.watchface:watchface-editor:1.2.1" // Can use to render complications. // This library is optional and watchfaces may have custom implementation for rendering // complications. implementation "androidx.wear.watchface:watchface-complications-rendering:1.2.1" }
Kotlin
dependencies { // Use to implement wear watchfaces implementation("androidx.wear.watchface:watchface:1.2.1") // Use to implement wear watchface complications implementation "androidx.wear.watchface:watchface-complications-data-source:1.2.1" // (Kotlin-specific extensions) implementation "androidx.wear.watchface:watchface-complications-data-source-ktx:1.2.1" // Use to implement a watchface style and complication editor implementation("androidx.wear.watchface:watchface-editor:1.2.1") // Can use to render complications. // This library is optional and watchfaces may have custom implementation for rendering // complications. implementation "androidx.wear.watchface:watchface-complications-rendering:1.2.1" }
למידע נוסף על יחסי תלות, אפשר לעיין במאמר הוספת יחסי תלות של build.
משוב
המשוב שלך עוזר לנו לשפר את Jetpack. נשמח לשמוע אם גילית בעיות חדשות או אם יש לך רעיונות לשיפור הספרייה הזו. מומלץ לעיין בעיות קיימות בספרייה הזו לפני שיוצרים ספר חדש. אפשר להוסיף את ההצבעה שלך לבעיה קיימת על ידי לחיצה על לחצן הכוכב.
מקורות מידע בנושא מעקב אחר בעיות אפשר לקבל מידע נוסף.
גרסה 1.3
גרסה 1.3.0-alpha03
17 באפריל 2024
androidx.wear.watchface:watchface-*:1.3.0-alpha03
משוחרר. גרסה 1.3.0-alpha03 מכילה את התחייבויות אלה.
שינויים ב-API
- הוספנו את התכונה
EditorSession#setOverrideComplications
, שמגדירה באופן זמני אתComplicationData
של המופע הבסיסי של השעון בזמן העריכה. אם הסיבוכים משתנים לעיתים רחוקות, זה יעיל יותר מהעברת שינויים מברירת המחדל דרךEditorSession#renderWatchFaceToBitmap
. (I19384)
תיקוני באגים
- בעבר,
selectComplicationDataForInstant
קראה לפונקציהtoApiComplicationData
עבור צירי זמן כלשהם, כלומר מבחן === השוויון הבא תמיד ייכשל. המשמעות היא שכל פריים נטען מחדש על התכונות הנוספות, וכתוצאה מכך הסוללה התרוקנת. (717406)
גרסה 1.3.0-alpha02
3 באפריל 2024
androidx.wear.watchface:watchface-*:1.3.0-alpha02
משוחרר. גרסה 1.3.0-alpha02 מכילה את התחייבויות אלה.
תכונות חדשות
- עכשיו אנחנו משתמשים בשוויון קובצי עזר כדי להשוות בין הטובים ביותר לבין
selectedData
כי האופרטור 'שווה ל-' יקר. (446b00)
שינויים ב-API
- הוספנו ל-
GoalProgressComplicationData
ממשק API דינמי ללא גיבוי. (c33264)
גרסה 1.3.0-alpha01
7 בפברואר 2024
androidx.wear.watchface:watchface-*:1.3.0-alpha01
משוחרר. גרסה 1.3.0-alpha01 מכילה את התחייבויות אלה.
תכונות חדשות
WatchFaceServices
ניתן לאתחל בו-זמנית ולכן הם צריכים להיות ללא שמירת מצב. כדי לתמוך בכך, הוספנוStatefulWatchFaceService
שבו תוספת בהגדרת משתמש שנוצרה על ידיcreateExtra()
מועברת לכל הביטולים שנקראים במהלך האתחול.- יש עכשיו ב-
GlesRenderer2
עומס יתר ב-constructor, שמאפשר לציין רשימה של מאפיינים שאפשר לנסות בעזרתeglChooseConfig
.
שינויים ב-API
- ב-
StatefulWatchFaceService
יש עכשיו תמיכה בשינוי שלgetComplicationSlotInflationFactory
שאליו מועברת התוספת המוגדרת על ידי המשתמש, שנוצרה על ידיcreateExtra()
. (I82d9f) - חלק מתצוגות השעון צריכות לשתף נתוני עזר שנוצרו במהלך
createUserStyleSchema
עם שיטות האתחול האחרות. מכיוון שאין חלופה טובה יותר, מפתחים בדרך כלל הוסיפו את הסטטוסWatchFaceServices
שלהם למצב. הפעולה הזו מסוכנת כי אפשר ליצור כמה מופעים בו-זמנית ולגרום לבאגים. כדי לפתור את הבעיה, הוספנו אתStatefulWatchFaceService
ואתStatefulWatchFaceRuntimeService
, שבהם סוג בהגדרת המשתמש נוצר על ידיcreateExtra()
ומועבר לשיטות היצירה השונות כפרמטר. (If8a99) - הוספנו את
getUserStyleFlavors
אלInteractiveWatchFaceClient
, שהוא מעניין בעיקר יצרני ציוד מקורי. (I0f5d8) - יש עכשיו ב-
GlesRenderer2
עומס יתר ב-constructor, שמאפשר לציין רשימה של מאפיינים שאפשר לנסות בעזרתeglChooseConfig
. כך, לדוגמה, ניתן לנסות קודם הגדרה עם פעולת 'ביטול שינוי' וחזרה להגדרה כזו בלי צורך בכך. (I1ba74) - החל מ-Android U, נוסיף ל-WearOS תמיכה ב-
SystemDataSources.DATA_SOURCE_HEART_RATE
. מובטח שהתוספת הזו תתמוך רק ברכיבים שלSHORT_TEXT
, אבל מומלץ ל-ComplicationSlot
לאשר גם אתSMALL_IMAGE
כי יצרני ציוד מקורי יכולים להציג קיצור דרך לאפליקציית הבריאות שלהם במקום את הערך הפעיל. (I34223) - הוספנו את האפליקציה
METADATA_KEY_CONFIG_RESTORE_SUPPORTED
, שהחל מ-Android U, קובעת מה יקרה כשהמערכת תשוחזר מגיבוי של מקור נתונים של סיבוכים ב-METADATA_KEY_DATA_SOURCE_CONFIG_ACTION
. כברירת מחדל, המערכת מניחה ששירות המקור של נתוני הרכיבים תומך בגיבוי של נתוני תצורה כלשהם. אם הוא לא תומך בגיבוי של נתוני התצורה, המערכת יכולה להוסיף את הגדרת המטא-נתוניםMETADATA_KEY_DATA_SOURCE_CONFIG_ACTION
ל-False, מה שיסמן את חריץ התכונה כ'לא מוגדר'. I6c505
גרסה 1.2
גרסה 1.2.1
24 בינואר 2024
androidx.wear.watchface:watchface-*:1.2.1
משוחרר. גרסה 1.2.1 כוללת את ההתחייבויות האלה.
תיקוני באגים
- תוקנה קריסה ב-Samsung Galaxy Watch 4, 5 ו- 6. (43f0b0)
גרסה 1.2.0
29 בנובמבר 2023
androidx.wear.watchface:watchface-*:1.2.0
משוחרר. גרסה 1.2.0 כוללת את ההתחייבויות האלה.
שינויים חשובים מאז 1.1.0
- הוספנו תמיכה בכמה סוגים חדשים של סיבוכים שזמינים לשימוש מ-Android T:
GoalProgressComplicationData
, שדומה ל-RangedValueComplicationData
, אלא היא עבור התקדמות לקראת יעד שבו המינימום המשתמע הוא אפס, והערך יכול להיות גדול מ-targetValue
.WeightedElementsComplicationData
, שמורכב ממערך אלמנטים (זוגות משקל וצבע) יחד עם טקסט/כותרת/תמונה אופציונליים. ייתכן שהתוויות יוצגו כתרשים עוגה שבו לצבעים יש משמעות בהקשר, כי בדרך כלל אין מקום לרכיבים נוספים כדי לעבד תוויות.
- הוספנו תמיכה באפשרויות האופציונליות
ColorRanges
ברמתRangedValueComplicationData
. בדרך כלל הרכיבים הנוספים יוצגו בצבעים שנבחרו על ידי תצוגת השעון, אבל לפעמים עדיף לבחור בComplicationDataSource
כדי להגדיר את הצבעים, למשל. כשיש להם משמעות סמנטית מסוימת. לדוגמה מאדום לכחול לציון הטמפרטורה. - כמעט כל סוג של
ComplicationData
תומך עכשיו ב-SmallImages
. - הוספנו את המאפיין
ComplicationDisplayPolicy
, שבוDO_NOT_SHOW_WHEN_DEVICE_LOCKED
מורה לתצוגת שעון תואמת לא להציג את התכונה הנוספת כשהמכשיר נעול. - מ-Android T, יצרני ציוד מקורי יוכלו לקבוע אם בקשה לרכיב נשלחה מתצוגת שעון ברשימה שהוגדרה על ידי המטא-נתונים
android.support.wearable.complications.SAFE_WATCH_FACES
במניפסט של הספק עדComplicationRequest#isForSafeWatchFace
. הספק צריך את ההרשאהcom.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE
כדי לקבל כל דבר מלבד TargetWatchFaceSafety.UNKNOWN`. - מעכשיו,
UserStyleFlavors
הוא תכונה לא ניסיונית.
גרסה 1.2.0-rc01
18 באוקטובר 2023
androidx.wear.watchface:watchface-*:1.2.0-rc01
משוחרר. גרסה 1.2.0-rc01 מכילה את שמירות האלה.
גרסה 1.2.0-beta02
6 בספטמבר 2023
androidx.wear.watchface:watchface-*:1.2.0-beta02
משוחרר. גרסה 1.2.0-beta02 מכילה את התחייבויות אלה.
תכונות חדשות
SuspendingComplicationDataSourceService#onDestroy
פתוח עכשיו. חשוב לדעת: הוסרה התמיכה בסיבוך של מזג האוויר שמוגדר כברירת מחדל במערכת.
שינויים ב-API
- ביטול האפשרות 'חשיפת מקור נתונים חדש לסיבוכים של מזג האוויר'. (I6f335)
גרסה 1.2.0-beta01
23 באוגוסט 2023
androidx.wear.watchface:watchface-*:1.2.0-beta01
משוחרר. גרסה 1.2.0-beta01 מכילה את התחייבויות אלה.
תכונות חדשות
- החל מ-Android T, מערכת WearOS תתמוך עכשיו בתכונה נוספת של מערכת מזג האוויר שמוגדרת כברירת מחדל.
שינויים ב-API
- הוספה של חלופה למערכת ברירת המחדל של מזג האוויר לרכיבים נוספים. (Ia0994)
- התיקון הזה מוסיף את
WatchFaceRuntimeService
ואתWatchFaceControlClient.createWatchFaceRuntimeControlClient
יחד עם רכיבי wrapper של גויאבה. המסכים האלה תומכים בזמני ריצה של תצוגת השעון, סוג מיוחד של תצוגת שעון שטוענת את ההגדרה מחבילה אחרת. נכון לעכשיו, WearOS תומך רק בסביבת זמן הריצה של Android Watch Face Format. (I2799f) - התיקון הזה נוצר בהמשך ל-aosp/2636578 שבו אנחנו משנים את השם של אמצעי הבקרה, כך שאין צורך לשנות כל קוד שתלוי ב-
WatchFaceType
, ב-CanvasType
, ב-TapType
או ב-ComplicationsSlotBoundsType
. (I4098b) - קובצי API עודכנו כדי להוסיף הערות על ביטול התאימות. (I8e87a, b/287516207)
- התיקון הזה חושף קבועים של
WatchFaceType
ב-WatchFaceTypes
, קבועים שלCanvasType
ב-CanvasTypes
,TapType
קבועים ב-TapTypes
ו-ComplicationsSlotBoundsType
קבועים ב-ComplicationsSlotBoundsType
. (I3b85a, b/288750666) - השימוש ב-
WatchFace.OverlayStyle
נמוך מאוד ויצרני ציוד מקורי לא תומכים בו בצורה טובה. לכן אנחנו מוציאים משימוש את המוצר בתאריך מאוחר יותר. (I7344a)
גרסה 1.2.0-alpha09
21 ביוני 2023
androidx.wear.watchface:watchface-*:1.2.0-alpha09
משוחרר. גרסה 1.2.0-alpha09 מכילה את התחייבויות אלה.
תכונות חדשות
RangedValueComplicationData.Builder
מקבל עכשיו אתDynamicFloat
, ו-DynamicComplicationText
חדש זמין כקטגוריית משנה שלComplicationText
. שתיהן יכולות להשתמש בביטויים דינמיים וגם בקישורי פלטפורמה שמתעדכנים ב-1hz במכשירי Wear 4 נתמכים.
שינויים ב-API
- נוספו סוגים דינמיים למרחק יומי, קלוריות ליום וערכי מינימום יומיים. המפתחות למקורות בנושאי בריאות של הפלטפורמה נמוכים מ-
PlatformHealthSources.Keys
(Ib7637) - צריך להטמיע
PlatformDataProvider
כדי למדוד את הדופק ומספר הצעדים היומיים. הממשקSensorGateway
הוסר מה-API הציבורי. (I55b84) - משנים את השם של
StateEntryValue
ל-DynamicDataValue
, ומעדכנים את ממשקי ה-API של המצב כך שישתמשו ב-DynamicDataKey
. (If1c01) - צריך להוסיף
AppDataKey
כדי לקבל גישה למצב 'דחיפת האפליקציה'. הוספתPlatformDataKey
כדי לגשת לנתוני הפלטפורמה; הוספת תמיכה במרחב השמות ב-StateStore
. (I7985e) enable
מתוךdisablePlatformSource
שיטות הוסרו מהשיטהDynamicTypeEvaluator
. מבצע הקריאה החוזרת יהיה אחראי לעדכונים. (I78c6d)- אפשר להגביל את הגודל של סוגי נתונים קשורים. (Ie2966)
גרסה 1.2.0-alpha08
19 באפריל 2023
androidx.wear.watchface:watchface-*:1.2.0-alpha08
משוחרר. גרסה 1.2.0-alpha08 מכילה את התחייבויות אלה.
תכונות חדשות
- ב-Android T, ספקי רכיבים בעלי ההרשאות
com.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE
עשויים לרשום מטא-נתונים שלandroidx.wear.watchface.complications.datasource.SAFE_WATCH_FACE_SUPPORTED_TYPES
שמבטלים אתandroid.support.wearable.complications.SUPPORTED_TYPES
לצורך תצוגות בטוחות של שעון. המשמעות היא שספק הרכיבים עשוי לבחור להציג סוגים שונים של תצוגות שעון מהימנות לעומת תצוגות שעון לא מהימנות.
שינויים ב-API
- הפצה של מחלקה
@Deprecated
לנכס (I882d1, b/271441831) - שם פרמטר הערך של
Enum.valueOf
השתנה (Ia9b89) - עוד חריגות מ-enum valueOf (I818fe)
- הסרנו את
renderWatchFaceToSurface
לטובת השירותcreateRemoteWatchFaceView
, שנמצא על ה-SurfaceControlViewHost ומאפשר למתקשר להטמיע תצוגה מתצוגת השעון, שמעובדת כשהלקוח מתקשר אלRemoteWatchFaceViewHost#renderWatchFace
. (Ib311d) - הוספנו את
renderWatchFaceToSurface
אלInteractiveWatchFaceClient
,HeadlessWatchFaceClient
ואתEditorSession
. בדרך כלל, הביצועים האלה יהיו טובים יותר מעיבוד למפת סיביות (bitmap). (Ieacad) - השם של
ObservableStateStore
השתנה ל-StateStore
. (Ieb0e2) - הוספת את
DynamicTypeEvaluator.Builder
במקום ארגומנטים של constructor כדי לאפשר יותר ארגומנטים, כוללObservableStateStore
, שברירת המחדל שלו היא חנות ריקה. (I6f832) - סדר הפרמטרים מחדש ב-
DynamicTypeEvaluator
. (Ic1ba4) - קובץ הביצוע נוסף ל-methods
DynamicTypeEvaluator.bind
. (I346ab) - הוספנו את ה-method
startEvaluation
ל-BoundDynamicType
כדי להפעיל את ההערכה לאחר הקפצת הסוג הדינמי. (I19908) - ספקי רכיבים עם
com.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE
בעלי הרשאות יכולים לרשום מטא-נתוניםandroidx.wear.watchface.complications.datasource.SAFE_WATCH_FACE_SUPPORTED_TYPES
שמבטלים אתandroid.support.wearable.complications.SUPPORTED_TYPES
בשביל תצוגות שעון בטוחות. (Id1c73) - שינינו את השם של
CustomValueUserStyleSettings2
לשםLargeCustomValueUserStyleSettings
. (Ic17ac)
תיקוני באגים
DynamicTypeValueReceiver#onPreUpdate
הוסר. (I2dc35)
גרסה 1.2.0-alpha07
22 בפברואר 2023
androidx.wear.watchface:watchface-*:1.2.0-alpha07
משוחרר. גרסה 1.2.0-alpha07 מכילה את התחייבויות אלה.
תכונות חדשות
מ-Android T, יצרני ציוד מקורי יוכלו לקבוע אם בקשה לרכיב נשלחה מתצוגת שעון ברשימה שהוגדרה על ידי המטא-נתונים
android.support.wearable.complications.SAFE_WATCH_FACES
במניפסט של הספק עדComplicationRequest#isForSafeWatchFace
. הספק צריך את ההרשאהcom.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE
כדי לקבל כל דבר מלבדTargetWatchFaceSafety.UNKNOWN
.בנוסף, מ-Android T
CustomValueUserStyleSetting2
זמין לשימוש והוא יכול להכיל עד 12.5kb. המגבלה הקודמת עבורCustomValueUserStyleSetting
הייתה 1kb. למרות מגבלות הגודל המוגדלות, אנחנו ממליצים למפתחים של תצוגות השעון לצמצם את הנתונים, כי ההגדרות נשלחות דרך Bluetooth במהלך עריכה ורוחב הפס של ה-Bluetooth מוגבל.
שינויים ב-API
- הוספנו פרמטר אופציונלי
eglContextAttribList
לפרמטרGlesRenderer
וגםGlesRenderer2
, שמאפשר להגדיר אתEGL14.EGL_CONTEXT_CLIENT_VERSION
שמועברת ל-EGL14.eglCreateContext
. (I2a83e) - העברנו את הקישורים לתצוגת השעון אל
androidx.core.util.Consumer
במקום אלjava.util.function.Consumer
. (I273f5) - עוד חריגות מכלי גישה לנכסי KT (Iff9d9)
- הוספנו את התכונה
InteractiveWatchFaceClient.isComplicationDisplayPolicySupported
כדי שהלקוח יוכל לקבוע אם הוא צריך לבצע אמולציה של התמיכה או לא בשם תצוגות השעון הישנות. (I24c89) - החלטנו ש-
isForSafeWatchFace
צריך להיותIntDef
בן שלוש מדינות. (Ief2f7) - ל-android T הוספנו את
ComplicationRequest.isForSafeWatchFace
, שמיועד לשימוש של OEM (יצרן ציוד מקורי) ונדרש לוcom.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE
. למקורות נתונים בתמונת המערכת, הערך יחזיר True אם תצוגת השעון ששלחה את הבקשה נמצאת ברשימה של תצוגות השעון הבטוחות שצוינו על ידי מקור הנתונים במניפסט. (I0cbb6) - ל-Android T הוספנו
CustomValueUserStyleSetting2
שיכול להכיל עד 12.5kb. המגבלה הקודמת עבורCustomValueUserStyleSetting
הייתה 1kb. (I0b100)
גרסה 1.2.0-alpha06
25 בינואר 2023
androidx.wear.watchface:watchface-*:1.2.0-alpha06
משוחרר. גרסה 1.2.0-alpha06 מכילה את התחייבויות אלה.
תכונות חדשות
- אנחנו עדיין עובדים על הוספת תמיכה בקישורי פלטפורמות של תכונות נוספות. האפליקציה עדיין לא מוכנה לשימוש, אבל כדאי להמשיך להתעדכן.
- הוספנו תמיכה ב-XML
ComplicationSlot
לסוגי הרכיבים החדשים: GOAL_PROGRESS ו-WEIGHTED_ElementS.
תיקוני באגים
- תיקון דליפה כשעורך תצוגת השעון לא פורסם כראוי במכשירי Samsung. (3b5987)
- תיקון באג שגרם לפעמים לרכיבים לא הוצגו כראוי כשעוברים בין תצוגת שעון עם מספר מועדפים. (b38ece)
- תיקון באג בהסדרת סריאליזציה עם perOptionScreenReaderNames, שגרם לקריסות של תצוגת השעון. (e9f466)
גרסה 1.2.0-alpha05
7 בדצמבר 2022
androidx.wear.watchface:watchface-*:1.2.0-alpha05
משוחרר. גרסה 1.2.0-alpha05 מכילה את התחייבויות אלה.
תכונות חדשות
בעבר הוספנו תמיכה ב
UserStyleSettings
היררכי. החל מ-Android T, אפשר עכשיו להוסיף יותר מComplicationSlotsUserStyleSetting
אחד בהיררכיה. רקComplicationSlotsUserStyleSetting
אחד יהיה פעיל, על סמך הסגנונות שנבחרו על ידי המשתמש.אנחנו משפרים את התמיכה בקורא מסך ב-
ListOption
וב-ComplicationSlotsOption
על-ידי הוספת השדהscreenReaderName
. חשוב לדעת שלפני Android T, עורכים נלווים יתעלמו מהשדה הזה.
שינויים ב-API
- הוספנו שדה אופציונלי חדש של
screenReaderName
ל-ListOption
ול-ComplicationSlotsOption
לשימוש על ידי עורכים. עורכים נלוות יתעלמו ממנו במכשירים לפני Android T. (I75326) - ב-Android T, יש עכשיו תמיכה בכמה
ComplicationSlotsUserStyleSettings
בהיררכיית סגנונות, כל עוד רק אחד מהם יכול להיות פעיל בכל רגע נתון. הוספנו את פונקציית השירותfindComplicationSlotsOptionForUserStyle
אלUserStyleSchema
כדי לעזור לנו למצוא את ה-ComplicationSlotsOption
הפעיל, אם יש כזה. (Ic2b06) RangedValuesTypes
נשלף אל האובייקט הנלווה שלRangedValueComplicationData
, והשם שלו השתנה ל-TYPE_UNDEFINED
,TYPE_RATING
ונוסףTYPE_PERCENTAGE
חדש. (I55d02)- שינינו את השם של הניסוי הניסיוני
DynamicFloat
לשםFloatExpression
וסימנו אותו בתור@hide
. (Idf4f1) - הוספת הערה מסוג
@JvmDefaultWithCompatibility
(I8f206)
גרסה 1.2.0-alpha04
9 בנובמבר 2022
androidx.wear.watchface:watchface-*:1.2.0-alpha04
משוחרר. גרסה 1.2.0-alpha04 מכילה את התחייבויות אלה.
תכונות חדשות
- ל-Android T הוספנו תמיכה בשני סוגים חדשים של רכיבים:
GoalProgressComplicationData
ו-WeightedElementsComplicationData
. - המאפיין
GoalProgressComplicationData
דומה לערךRangedValueComplicationData
, אבל הערך שלו מותר לחרוג מהיעד (בשבילRangedValueComplicationData
, הערך מוצמד לטווח [min .. max]), ויש לו השלכות על העיצוב החזותי שייתכן שלא יתאים לכל תצוגות השעון. - ב-
GoalProgressComplicationData
נוספה תמיכה בתרשימי עוגה ובפירוטים דומים של נתונים פשוטים. - הוספנו תמיכה אופציונלית עבור
ColorRamps
לדומייןRangedValueComplicationData
. - ב-Android T, הוספנו את
ComplicationPersistencePolicy
ואתsetCachePolicy
אלComplicationData
, מה שמאפשר כרגע לספק לקבוע אם הרכיב יישאר פעיל או לא (כלומר אם בוצעה הפעלה מחדש במטמון בעבר). רוב הרכיבים לא יצטרכו להגדיר בקרה על המטמון, אבל פעולה כזו עשויה לתקן תרחישי פינות עם נתונים לא עדכניים לגבי חלק מהרכיבים שמתעדכנים לעיתים קרובות (למשל סיבוכים של נתוני בריאות). הוספנו גם את המאפייןComplicationDisplayPolicy
, שבוDO_NOT_SHOW_WHEN_DEVICE_LOCKED
מורה לתצוגת שעון תואמת לא להציג את התכונה הנוספת כשהמכשיר נעול. (Ic9574)
שינויים ב-API
- התכונות
GoalProgressComplicationData
,WeightedElementsComplicationData
ו-ColorRamp
לא ניסיוניות יותר. (Ica9e2) ComplicationPersistencePolicy
ו-ComplicationDisplayPolicy
מסומנים עכשיו כראוי כ-T APIs. (I31d88)- ב-constructor של
ComplicationSlotOverlay
שהוצא משימוש יש עכשיוDeprecationLevel.WARNING
, שמאפשר לקרוא לו שוב מ-Java. (Ib308c) - תיקנו כמה בעיות תאימות של Java ל-
ComplicationRequestListener
, ל-CanvasComplication
, ל-ComplicationTapFilter
ול-InteractiveWatchFaceClient
על ידי הוספת ההערה@JvmDefaultWithCompatibility
(Id94fc) - הסרנו את
ProtoLayoutComplicationData
ואתListComplicationData
הניסיוניים. סיפור המפתח של הנושאים האלה לא היה ברור, אנחנו מקווים לחזור ולבדוק אותו בעתיד. (I9df05) - הוספנו
ValueType
בחזרה אלRangedValueComplicationData
. ב-WeightedElementsComplicationData
יש עכשיו תמיכה בצבע רקע. הסרנו אתDiscreteRangedValueComplicationData
כי הפונקציונליות שלו היא קבוצת משנה שלWeightedElementsComplicationData
. (I6446c)
תיקוני באגים
- יש לכלול את
isForScreenShot
בקוד השווה ובקוד הגיבוב. צריך לוודא שהשדהonRenderParametersChanged
מקבל ערךisForScreenshot
נכון (I04a41) - תוקנו הדלפות של
WatchFaceControlService
מלקוחות ללא GUI. (e90e00)
גרסה 1.2.0-alpha03
5 באוקטובר 2022
androidx.wear.watchface:watchface-*:1.2.0-alpha03
משוחרר. גרסה 1.2.0-alpha03 מכילה את התחייבויות אלה.
תכונות חדשות
- אין תכונות חדשות, אבל תיקנו כמה באגים שיש לך בכלי לעריכת תצוגת השעון.
שינויים ב-API
- הוצא משימוש
UserStyleSchema.userStyleSettings
בתורrootUserStyleSettings
הופך ללא ניסיוני (Ie96e3) - העברת
rootUserStyleSettings
אל מחוץ לניסוי הניסיוני (I8d6b3) - סימנו את
WatchFaceColors
כניסוי ניסיוני מאחר שהוא אינו נתמך בכל המערכות (I6d75d) - חושפים את
DisconnectReasons
ב-API הציבורי כדי שהוא יפעל עםIntDef
. (I791f8)
תיקוני באגים
- סגירת כל החלונות הפתוחים בכלי לעריכת שעון אם
SysUI
מת. אםSysUI
מת והעורך של תצוגת השעון לא נסגר, יכול להיות שתצוגת השעון נשארת במצב לא עקבי כי המערכת מסתמכת עלSysUI
כדי לשמר שינויים בסגנון המשתמש.(ba762a - תיקון דליפת זיכרון ב-
ComplicationDataSourceInfoRetriever
, שבה המשך קורוטין של קוטלין פעל כשורש gc ושמר את פעילות העריכה.(33ee06)
גרסה 1.2.0-alpha02
21 בספטמבר 2022
androidx.wear.watchface:watchface-*:1.2.0-alpha02
משוחרר. גרסה 1.2.0-alpha02 מכילה את התחייבויות אלה.
תכונות חדשות
לחלק מתצוגות השעון יש הגדרות מחוץ ל-
UserStyle
שמשפיעות עליהן מבחינה חזותית (למשל, בחירת תמונת רקע). הוספנו את התכונהRenderer.sendPreviewImageNeedsUpdateRequest
, שמאפשרת לתצוגת השעון לבקש תמונת תצוגה מקדימה מעודכנת. הערה: כדי לפעול, נדרש עדכון מערכת מתאים.הוספנו גם API לתצוגות השעון לחשוף את הצבעים שלהן למערכת, וכך לבחור את לוח הצבעים שלה על סמך המידע הזה. הערה: הגרסה הזו נמצאת בשלב ניסיוני במסגרת תיקון הבעיה.
כמעט כל סוג של
ComplicationData
תומך עכשיו ב-SmallImages
.
שינויים ב-API
- לפעמים מנהל הטפטים יכול להתנתק מהמנוע וליצור מנוע אחר. הוספנו
DisconnectReason
Int-def והרחבנו אתClientDisconnectListener
בשיטה חדשה שכוללתDisconnectReason
, שמאפשרת למאזינים לראות ניתוקים של מנוע. (I45cce) - נוספו שני פרמטרים אופציונליים
nameResourceId
ו-screenReaderResourceId
ל-constructor שלComplicationSlotOverlay
(I157e8) - הוספנו wrapper של גויאבה לעומס-היתר החדש של
getOrCreateInteractiveWatchFaceClient
עםPreviewImageUpdateRequestedListener
. (Ic31f0) - הוספנו את
Renderer.sendPreviewImageNeedsUpdateRequest
, מידע שימושי לתצוגות שעון עם מצב מחוץ לUserStyleSchema
, שמשפיע על המראה שלהן (למשל, תצוגת שעון עם תמונת רקע שניתן לבחור). בצד הלקוח הוספנו אתPreviewImageUpdateRequestedListener
כפרמטר אופציונלי ל-getOrCreateInteractiveWatchFaceClient
כדי לקיים את הבקשות האלה. (Iff44a) - הפכנו את ה-API לפשוט יותר כדי לחשוף את
WatchFaceColors
. עכשיו יש נכס פשוט בשםwatchFaceColors
ברינדור, שאותו אפשר להגדיר בתצוגת השעון. צריך לעדכן אותו לפי הצורך בכל שינוי בסגנון. במקום להשתמש בפונקציהWallpaperManager
כדי להבחין בשינויי צבעים, הוספנו אתOnWatchFaceColorsListener
אלInteractiveWatchFaceClient
. (I490bc) - הוספנו מחלקה
WatchFaceColors
שכוללת את שלושת הצבעים הבולטים ביותר של תצוגות השעון, והוספנו שיטות פתוחותwatchfaceColors
וגםnotifyWatchFaceColorsChanged
לכלי לעיבוד, שמאפשרים למערכת לקבל את הצבעים של תצוגת השעון דרךWallpaperManager.getWallpaperColors
. (I3d611) ShortTextComplicationData
,RangedValueComplicationData
,NoPermissionComplicationData
(והגרסה הניסיוניתDiscreteRangedValueComplicationData
,GoalProgressComplicationData
ו-WeightedElementsComplicationData
) תומכת עכשיו ב-SmallImages
. אם תצוגת שעון בוחרת לעבד תכונה שכוללת כמה צבעים, עכשיו אפשר להשתמש בSmallImage
צבעוני במקום שבו קודם לכן היא הייתה צריכה להשתמש בתמונה חד-כרומטית. (I257df)- משנים את הערך של
PreviewImageUpdateRequestedListener
ל-Consumer<>
במקום זאת (Ia875d) - החלפה בהתאמה אישית של סוג השיטה המופשטת היחידה (SAM)
OnWatchfaceColorsListener
בסוג SAM גנרי של Java (צרכן) (I0c489) - הוצאנו משימוש את השיטות הישנות
getOrCreateInteractiveWatchFaceClient
ו-listenableGetOrCreateInteractiveWatchFaceClient
שלא מציינותPreviewImageUpdateRequestedListener
. (Iec502)
תיקוני באגים
- השם של
DisconnectReason.BINDER_DIED
השתנה ל-DisconnectReason.ENGINE_DIED
. (I4eb0e)
גרסה 1.2.0-alpha01
10 באוגוסט 2022
androidx.wear.watchface:watchface-*:1.2.0-alpha01
משוחרר. גרסה 1.2.0-alpha01 מכילה את התחייבויות אלה.
תכונות חדשות
- הוספנו תמיכה ניסיונית בפורמטים חדשים של סיבוכים. זהו תחום בהתפתחות פעילה. הפורמטים החדשים האלה עשויים להשתנות ללא הודעה מראש, וכרגע אין תמיכה בכלי לרינדור מצד
CanvasComplicationDrawable
. - הוספנו גם שוליים אופציונליים למשבצות לרכיבים, כך שקל יותר להקיש על סיבוכים קטנים.
שינויים ב-API
- עכשיו אי אפשר לשנות את המחלקה הניסיונית
BoundingArc
. (If624a) - סיבוכים קטנים עלולים להיות מסובכים בהקשה. כדי לצמצם את התופעה, הוספנו תמיכה בשוליים שמגדילים את שטח המסך להקשה בלי להשפיע על העיבוד. אם לא צוין אחרת (בקוד או באמצעות XML), השוליים של
ComplciationSlots
הם אפס. (I14089) - חתימת
getComplicationSlotInflationFactory(CurrentUserStyleRepository)
שונתה כדי להחזיר מופע יצרן שאינו null. בעבר הייתה שגיאה בהחזרת הערך null, ולכן זה רק מבהיר את חוזה ה-API. (I0fcc0) - הוספנו ארגומנט
currentUserStyleRepository
לשיטהWatchFaceService.getComplicationSlotInflationFactory
כדי שיהיה עקבי עםcreateComplicationSlotsManager
. (I2ddd2) - שינית את
UserStyleFlavors
מהתכונה לא ניסיונית. (I69cdc) - הסרנו את
ValueType
הניסיוני מ-RangedValueComplicationData
ובמקום זאת השקנו אתDiscreteRangedValueComplicationData
הניסיוני, כמוRangedValueComplicationData
למעט טווח מספרים שלמים & עם ערך מסוים. הוספנו גם גרסה ניסיונית שלGoalProgressComplicationData
, שדומה ל-RangedValueComplicationData
, אבל היא משמשת להתקדמות לקראת יעד שבו המינימום המשתמע הוא אפס, והערך יכול להיות גדול מ-targetValue
. הערה לכלRangedValue
הווריאציות צריך לציין לפחות תמונה אחת בסגנון מונוכרומטי, טקסט או שם פריט. (I9590c) - הסרנו את
boundsWithMargins
מ-ComplicationSlotState
כי לתוכנת המערכת אין תרחיש לדוגמה עבורה. (I42e26) - הוספנו תמיכה ניסיונית ב-
WeightedElementsComplicationData
, שמורכבת ממערך אלמנטים (זוגות משקל וצבע) יחד עם טקסט/כותרת/תמונה אופציונליים. ייתכן שהתוויות יוצגו כתרשים עוגה שבו לצבעים יש משמעות בהקשר, כי בדרך כלל אין מקום לרכיבים נוספים כדי לעבד תוויות. (I87eea) ColorRamps
הניסיוני, שבו משתמשים באופן אופציונלי ב-RangedValueComplicationData
וב-GoalProgressComplicationData
, מאפשר עכשיו לציין רצף של עד שבעה צבעים ודגל שמציין אם לשלב את הצבעים בצורה חלקה או אם צריך לעבד שלבי צבע אחידים בגודל זהה. (I9f5bf)RangedValueComplicationData.drawSegmented
השתנה ל-valueType
, שהוא int עםValueType IntDef
תואם, שמספק משמעות סמנטית לערך בטווח, ויכול לשמש את כלי הרינדור כדי להשפיע על הסגנון. (I0616b)- הוספנו תמיכה ניסיונית ב-
ColorRanges
האופציונליים ל-RangedValueComplicationData
. בדרך כלל הרכיבים הנוספים יוצגו בצבעים שנבחרו על ידי תצוגת השעון, אבל לפעמים עדיף לבחור בComplicationDataSource
כדי להגדיר את הצבעים, למשל. כשיש להם משמעות סמנטית מסוימת. לדוגמה מאדום לכחול לציון הטמפרטורה. (I5153a) - הוספנו רמז ניסיוני של
drawSegmented
ל-RangedValueComplicationData
. אותות אלה מאפשרים לשרטט את מחוון הערך בטווח עם פלחים, כאשר מקטע אחד = יחידה אחת. (I7d7c1)
תיקוני באגים
- הוספנו את היכולת להגדיר את
ComplicationSlotBounds
ביחס למערכת קואורדינטות מסך מוגדרת מראש. (I0985d)
גרסה 1.1
גרסה 1.1.1
10 באוגוסט 2022
androidx.wear.watchface:watchface-*:1.1.1
משוחרר. גרסה 1.1.1 כוללת את ההתחייבויות האלה.
- זוהי גרסה לתיקון באגים ואנחנו מעודדים את המשתמשים בגרסה 1.1.0 לשדרג.
תיקוני באגים
האתחול של תצוגת השעון הוא אסינכרוני. אם התקבל תכונה נוספת לפני שתצוגת השעון מוכנה, היא תופיע ברשימה
pendingInitialComplications
ותחיל אותה מאוחר יותר. לצערנו, השיטהpendingInitialComplications
הוחלה מהר מדי, ולכן היה חלון זמן במהלך האתחול של תצוגת השעון שבו עדיין היו פרטים נוספים עלpendingInitialComplications
והמערכת התעלמה מהם. השגיאה תוקנה. בנוסף, התיקון הזה מתקן באג שגרם ל-ComplicationRenderer
לנסות לטעון placeholders באופן אסינכרוני באופן שגוי. כתוצאה מכך, הגרפיקה של ההידור לא עודכנה אף פעם. לבסוף, התיקון הזה תיקן באג תיאורטי שבו יש צורך למזג מספרpendingInitialComplications
. (0d03ba3)תיקון מבוי סתום אפשרי ב
InteractiveInstanceManager
שבוgetExistingInstanceOrSetPendingWallpaperInteractiveWatchFaceInstance
החזיק את המנעול יותר זמן מהנדרש. בדרך כלל אנחנו מצפים ש-engine.setUserStyle
יהיה מהיר, אבל אם מסיבה כלשהי זה לא המצב, התוצאה עלולה להיות קיפאון/ANR. התיקון הזה מעביר עבודה מיותרת מהמנעול, ומסיר את הפוטנציאל למבוי סתום (5a2adca)צריך לתקן כמה בעיות שנשארו
WatchFaceService
. לפעמים ה-WakeLock יכול לשמור אתWatchFaceService
, וכדאי להוסיף קריאה ל-release()
כדי לפתור את הבעיה. בנוסף, ב-StateFlows
אפשר לשמור את הערךWatchFaceService
, ולבטל את התיקונים הבסיסיים לתיקונים מסוגCoroutineScopes
.(fd48138)צריך להוסיף זמנים קצובים לתפוגה אל
awaitDeferredWatchFace
* ולתקןwatchfaceOverlayStyle
NullPointerException
. בנסיבות רגילות, הזמן הקצוב לתפוגה לא אמור להסתיים, כולל אחרי התקנה חדשה ותרחישים שלDirectBoot
שבהם יש עומס על המעבד (CPU) גבוה. תיקנו גם את ה-NPE אם התבצעה קריאה אלgetWatchfaceOverlayStyle
אחריclose()
.(a4c3a5a)
גרסה 1.1.0
15 ביוני 2022
androidx.wear.watchface:watchface-*:1.1.0
משוחרר. גרסה 1.1.0 כוללת את ההתחייבויות האלה.
שינויים חשובים מאז 1.0.0
עריכה משופרת:
- הוספנו תמיכה בסכימות היררכיות, שמאפשרות לשכתב היררכיה של סגנונות על ידי ממשקי משתמש של עריכה. עכשיו אפשר להגדיר סמלים נפרדים לשימוש בתצוגת השעון ובעורכים נלווים.
- אפשר להצטרף לכמה מופעים של תצוגת שעון. לכל מכונה יש מזהה ייחודי שזמין בכל פלטפורמות ה-API.
- עכשיו אפשר לציין שמות קריאים לאנשים של
ComplicationSlots
לשימוש בעורכים. - תמיכה ניסיונית בעיצוב 'טעמים', מבחר סגנונות נבחר שניתן לראות מהעורך הנלווה.
- כשעורכים שני מופעים של תצוגת השעון, אפשר עכשיו לשתף משאבים ולחסוך בזיכרון מופעים
- כשבוחרים תכונה נוספת בכלי לעריכת תצוגות השעון, הספק הנוכחי נבחר מראש.
סיבוכים משופרים:
- עכשיו אפשר לציין את
ComplicationType
עבור מקורות הנתונים הראשיים והמשניים, וכך להעניק למפתחים יותר גמישות לחוויית שימוש מוכנה מראש. - הוספנו את התוסף
ComplicationDataTimeline
שמספק רצף של נתונים מוגבלים בזמן שיישלחו לתצוגת השעון, שניתן לשמור במטמון ולעדכן אותם באופן אוטומטי. לדוגמה, תחזית מזג האוויר להיום בזמנים שונים או במספר אירועים ביומן קרובים. - ה-
ComponentName
של ספק הרכיבים הוא חלק מ-ComplicationData
. - הרכיבים הנוספים נשמרים עכשיו במטמון, כדי לשפר את חוויית המעבר בין תצוגות השעון.
שינויים נוספים:
- עכשיו אפשר להגדיר את
UserStyleSchema
ואתComplicationSlots
ב-XML. זה מפשט את היצירה של תצוגות השעון ומאפשר למערכת לשלוח שאילתות מטא-נתונים מהר יותר. - תצוגות השעון יכולות עכשיו להשפיע על הצבעים שמשמשים לעיבוד שכבת-העל של המערכת.
גרסה 1.1.0-rc01
18 במאי 2022
androidx.wear.watchface:watchface-*:1.1.0-rc01
משוחרר. גרסה 1.1.0-rc01 מכילה את שמירות האלה.
תכונות חדשות
- ביצענו כמה שינויים בנוחות השימוש לתמיכה ב-XML עבור תצוגת השעון, כדי שיהיה קל יותר לציין
ComplicationSlotBounds
וקובצי עזר תומכים. הניסוי עדיין מתבצע עם רכיבי הקצהBoundingArc
, אבל מתבצע חיבור שלו אלdrawHighlight
, אבל לא מומלץ להשתמש בו באותו זמן.
שינויים ב-API
- הוספנו עומס יתר ניסיוני של
drawHighlight
שמקבל פרמטרBoundingArc
. (I705f8) - XML של תצוגת השעון תומך עכשיו בהפניות למשאבים. היא מאפשרת להשתמש באותם קבועים גם ב-XML וגם בקוד שלכם. (I3ef61)
- הוספנו את האפשרות להגדיר את
ComplicationSlotBounds
בטופסcenter_x
,center_y
,size_x
,size_y
. עכשיו אפשר גם להשתמש ביחידות שונות (למשל dp) באמצעות הפניות למשאבים. (Iace98)
תיקוני באגים
- תיקון
runBlockingWithTracing
הרצת משימות בהקשר שגוי.(4f595fe) - הגדרת
BaseEditorSession.close
כסינכרונית. הבעיה בכך ש-BaseEditorSession.close
הוא אסינכרוני היא שאנחנו משחררים אתComplicationDataSourceInfoRetriever
מאוחר מדי, מה שמוביל לאזהרה על ספאם ב-Logcat. סביר להניח שזה היה לא מזיק, אבל ספאם של Logcat הוא מסיח את הדעת, ויש להימנע מכך.(35a5308)
גרסה 1.1.0-beta02
11 במאי 2022
androidx.wear.watchface:watchface-*:1.1.0-beta02
משוחרר. גרסה 1.1.0-beta02 מכילה את התחייבויות אלה.
תכונות חדשות
- הוספנו תמיכה ניסיונית בסוגים חדשים של
ComplicationData
. הם עדיין לא מוכנים לשימוש, אבל כדאי לבדוק את המרחב המשותף הזה.
שינויים ב-API
- הוספנו את
BoundingArc
, מחלקה ניסיונית שמתארת את הגיאומטריה של משבצת לרכיב קצה. הניתוק נוסף אלComplicationSlot
והובלה אינסטלציה דרךComplicationSlotState
ו-WatchFaceMetadataClient
. (I61a40) - הוספנו את היכולת לקבל בירושה הגדרות ב-XML של
UserStyleSetting
. היא מאפשרת להפחית את דרגת המלל ולשתף הגדרה בין תצוגות השעון. (Ief841) - הוספנו שני סוגים ניסיוניים חדשים של
ComplicationData
:ListComplicationData
וProtoLayoutComplicationData
. בשלב זה אין תמיכה בעיבוד בשביל אחד מהסוגים האלה, ו-WearOS לא מזהה כרגע את הסוגים האלה אם מוסיפים למניפסט שלComplicationDataSource's
. (I1811c)
תיקוני באגים
- תיקון העריכה הסדרתית מסוג
TimeLineEntry
. לא היינו יוצרים סריאליזציה של סוגTimeLineEntry
, וכתוצאה מכךTimeLineEntries
מסוג NoData יתפרש בטעות כסוג של רכיב הורה, שמוביל ל-NPE כשבוצעה גישה לשדות חובה שלא קיימים. (55ffdf5) - תיקון באג שגרם לשחרור של שדות של ציר הזמן על ידי
setComplicationData
(fb392f5) - תיקון באג שבמקרים מסוימים לגרום ל-
runBlockingWithTracing
להוביל ל-NPE(12ca62e) - תיקון באג שבמקרים מסוימים אנחנו מקבלים
ClassNotFoundException: android.support.wearable.complications.ComplicationText
כאשר אנחנו מקבלים תכונה נוספת.(217942d9) - תיקון באג ב
GlesRenderer.backgroundThreadInitInternal
שהתקשרו אלonBackgroundThreadGlContextCreated
רק אם בוצעה שיחה אלEGL14.eglCreateContext
. תיקון באג נוסף שבו הייתה תקלה ויזואלית בצילום המסך שנגרמה על ידיverticalFlip
.(c674ad2) - תיקון
WatchFaceService
של בדיקת גרסת XML, היא נטענה מהחבילה הלא נכונה.(dfa06f3) - בפורמט של חוט placeholder נעשה עכשיו שימוש בחבילה פנימית. אנחנו לא רוצים שרכיבי placeholder ישברו תצוגות שעון קיימות שעשויות להשתמש ב-a.s.w.c.ComplicationData הפנימי המוסתר. בעבר, הפורמט של הכבלים היה בפורמט של
NoDataComplication
נתונים שאחסנו את ה-placeholder בשדות הרגילים (בעייתי כי תצוגות שעון ישנות יעבדו את מחרוזת ה-placeholder באופן לא מכוון). במקום זאת, עכשיו אנחנו משתמשים בחבילה פנימית כדי לבודד אותה באופן מלא.(d5e7bd2)
גרסה 1.1.0-beta01
20 באפריל 2022
androidx.wear.watchface:watchface-*:1.1.0-beta01
משוחרר. גרסה 1.1.0-beta01 מכילה את התחייבויות אלה.
שינויים ב-API
- עכשיו
WatchFaceMetadataClient
methods (getUserStyleSchema
,getComplicationSlotMetadataMap
,getUserStyleFlavors
) ו-HeadlessWatchFaceClient.getUserStyleFlavors
מבטלות את הסימון של אפשרות RuntimeError במקוםWatchFaceException
. (I0718a) WatchFaceMetadataClient.WatchFaceException
הוצא מהכיתה כדי לאפשר שימוש חוזר בו. (I4e869)
תיקוני באגים
WatchFaceMetadataClient
לא תקרוס יותר לאחר שליחה חלקית שלComplicationSlotBounds
.(Iaafd)
גרסה 1.1.0-alpha05
6 באפריל 2022
androidx.wear.watchface:watchface-*:1.1.0-alpha05
משוחרר. גרסה 1.1.0-alpha05 מכילה את התחייבויות אלה.
תכונות חדשות
- עכשיו יש לך אפשרות לדעת איזה מקור נתונים שלח
ComplicationData
על ידי בדיקה שלComplicationData.dataSource
. בחלק מתצוגות השעון אפשר להשתמש באפשרות הזו כדי להתאים אישית את התצוגה של הרכיבים. (I44a73)
שינויים ב-API
- הגרסאות
Renderer.CanvasRenderer
ו-Renderer.GlesRenderer
הוצאו משימוש לטובתRenderer.CanvasRenderer2
ו-Renderer.GlesRenderer2
, שתומכות ב-SharedAssets
שמועברות לשיטות העיבוד. עבור יכולת פעולה הדדית של Java, השקנו אתListenableCanvasRenderer2
ואתListenableGlesRenderer2
. (I31ffa) - נוספה האפשרות של
@WatchFaceFlavorsExperimental
להגדיר טעמים – רשימה מוגדרת מראש של תצוגות שעון מעוצבות (I04dd0) Renderer.sharedAssets
נקראת עכשיו StateFlow והסרנו אתRenderer.SharedAssetsFactory
שלא נמצא בשימוש (I12ac5)UserStyleSchema.userStyleSettings
כבר לא הוצא משימוש (Iba7e3)- הוספנו את הרכיב
HeadlessWatchFaceClient.getUserStyleSchemaDigestHash
, שמאפשר ל-HeadlessWatchFaceClient
למנוע את התקורה הנמוכה יחסית של העברת הסכימה באמצעות AIDL לפני חישוב הגיבוב לתקציר. (I33597) - הוספנו את
isUserStyleSchemaStatic
אלWatchFaceMetadataClient
, והוא רלוונטי רק אם ניתן להסתמך עלUserStyleSchema
שלא ישתנה אלא אם ה-APK של תצוגת השעון יעודכן. (I45a3f) - הוספנו אל
UserStyleSchema
את הפונקציהgetDigestHash
, שמחשבת גיבוב תקציר של הסכימה. אפשר להשתמש כך כדי לקבוע ביעילות אם בוצע שינוי בUserStyleSchema
. (I2063d) - השם של
METADATA_KEY_DATA_SOURCE_DEFAULT_CONFIGURATION_SUPPORTED
השתנה ל-METADATA_KEY_DATA_SOURCE_DEFAULT_CONFIG_SUPPORTED
(I9ba5d) - השם של
UserStyleSetting.OnWatchEditorData
השתנה ל-UserStyleSetting.WatchFaceEditorData
. הוא מכיל נתונים שנמצאים בשימוש רק על ידי הכלי לעריכת תצוגות השעון. (If3afb)
גרסה 1.1.0-alpha04
9 במרץ 2022
androidx.wear.watchface:watchface-*:1.1.0-alpha04
משוחרר. גרסה 1.1.0-alpha04 מכילה את התחייבויות אלה.
שינויים ב-API
- יכול להיות שהגרסה
ComplicationData
עדכנית לא תמיד תהיה זמינה (למשל, תכונות ComplicationData שהתוקף שלהן פג) לכן הרחבנו אתNoDataComplication
עם placeholder אופציונלי של ComplicationData והוספנו את התכונותComplicationText.PLACEHOLDER
,MonochromaticImage.PLACEHOLDER
,SmallImage.PLACEHOLDER
ו-PhotoImage.PLACEHOLDER
שאפשר להשתמש בהן רק בהקשר של placeholder שלNoDataComplicationData
. אם בוחרים את ערכי ה-placeholder האלה, מומלץ לעבד אותם עם תיבות או קשתות אפורות. (I6285d) - הוספנו את הערך
ComplicationData.getNextChangeInstant
, שמציין את ההפעלה המיידית הבאה אחרי הפניה מיידית, שבו כל שדה ברכיב עשוי להשתנות. הוא משמש באופן פנימי לתזמון פריימים לצורך עדכוני רכיבים. לדוגמה אם תצוגת שעון מתעדכנת בדרך כלל פעם בדקה, הגדרה של רכיב עצירה של השעון תגרום לעדכון שלה פעם בשנייה. (I7ceb2) - עכשיו אפשר להשתמש ב-
EditorSession.watchFaceId
בכל רמות ה-API. בנוסף, הערך שלו תמיד יהיה עקבי עםWatchState.watchFaceInstanceId
. (I323b9) - ה-API של
getPendingIntentForTouchEvent
כבר לא נחוץ, כי הבעיה הבסיסית תוקנה ב-framework, ולכן כל ממשקי ה-API הקשורים הוסרו. תצוגות השעון לא צריכות לבצע שום פעולה מיוחדת כדי להפעיל אתPendingIntents
, גם אם הלחצן של דף הבית נלחץ לאחרונה. (I1f2e8) - הוספנו את הערך
RendererParameters.isForScreenShot
, שיהיה רלוונטי אם העיבוד מתבצע עבור צילום מסך. חלק מתצוגות השעון עם אנימציות צריכות לדעת את המידע הזה כדי לבצע כוונונים ולקבל את התוצאות הטובות ביותר. (I96d99) - הוספנו את הכתובת
WatchFaceExceptionReason
אלWatchFaceException
כדי לתת הקשר לגבי הבעיה. (I01d15) - המכשיר
ComplicationDataSourceService.onImmediateComplicationRequest
הוסר, ובמקום זאת התווסףComplicationRequest.immediateResponseRequired
כדי לאותת שהספק צריך להגיב במהירות (רצוי להגיב תוך פחות מ-100 אלפיות שנייה). חשוב לשים לב שהפונקציונליות הזו מוגנת באמצעות הרשאתcom.google.android.wearable.permission.USE_IMMEDIATE_COMPLICATION_UPDATE
המוגבלת. (Ie6b23) - תכונת ה-null עודכנה בליבת ותאימות האפליקציה כדי להתאים ל-Tiramisu DP2 (I0cbb7)
תיקוני באגים
- אפליקציית תצוגת השעון קורסת עכשיו באופן חריג אם אימות הסכימה נכשל (Ia400f)
גרסה 1.1.0-alpha03
9 בפברואר 2022
androidx.wear.watchface:watchface-*:1.1.0-alpha03
משוחרר. גרסה 1.1.0-alpha03 מכילה את התחייבויות אלה.
שינויים ב-API
- הוספנו תמיכה ניסיונית בסכימות סגנונות היררכיות. הוספנו נכס חדש ל-
androidx.wear.watchface.style.UserStyleSetting.Option
– הגדרות צאצא שנמצא בשימוש בהתחלה רק על ידיListOption
. כך ניתן לתאר היררכיה של סגנונות לשימוש בממשקי המשתמש של Editor, סגנון המשתמש הבסיסי לא משתנה ועדיין נשארMap<String, ByteArray>
. (Iaf6f4) - הוספנו את התכונה
WatchFace.OverlayStyle
, שמאפשרת לתצוגת השעון להגדיר את הרינדור של שכבת-העל של סטטוס המערכת. (I8520d) - הוספנו ל-
clearWithBackgroundTintBeforeRenderingHighlightLayer
פרמטר אופציונלי חדש של constructor בשבילCanvasRenderer
(ברירת המחדל היא False). אם המדיניות מוגדרת כ-True, אזור העריכה ינוקה מצבע הרקע. (Ie01e5) - נוסף מפתח המטא-נתונים
androidx.watchface.complications.datasource.DEFAULT_CONFIGURATION_SUPPORTED
שמאפשר למקורות נתונים של רכיבים כדי לציין שהם יכולים לספק ערך ברירת מחדל ללא הגדרה (Icc0d4) - לעיתים קרובות כשעורכים תצוגת שעון היא צריכה להיות גם מכונה אינטראקטיבית וגם מכונה ללא GUI. כדי לחסוך בזיכרון, הוספנו את התכונה
Renderer.SharedAssets
, שמאפשרת לכלי לרינדור תצוגות השעון לשתף נתונים שאינם ניתנים לשינוי (למשל, טקסטורות וכלי הצללה) בין מופעים.GlesRenderer.setEglConfig
ו-GlesRenderer.setEglDisplay
הוצאו משימוש, הם אף פעם לא היו מיועדים להגדיר אותם, ולכן הפעולה הזו הייתה מובילה להתנהגות לא מוגדרת. (I0d9e7) - הוספנו
setNameResourceId
ועודsetScreenReaderNameResourceId
(שמפנה למשאבי מחרוזות) אלComplicationSlot.Builder
ולנמענים תואמים ב-androidx.wear.watchface.client.ComplicationSlotState
. הפעולה הזו מאפשרת למערכת לאחזר את השמות של ComplicationSlots לשימוש בעורכים ובקוראי מסך. (If6c6a) WatchfaceMetadataClient.getUserStyleSchema
ו-getComplicationSlotMetadataMap
יזינו עכשיוWatchFaceException
במקוםRemoteException
. (I86f11)- השמות של
onSynchronousComplicationRequest
ופונקציות קשורות ב-ComplicationDataSourceService
השתנו ל-onImmediateComplicationRequest
וכו'... (I87ba0) - לעורכים של תצוגת השעון יש הרבה פחות מקום במסך בהשוואה לעורכים הנלווים, לכן הגיוני לתמוך בסמלים שונים בעורכים של תצוגת השעון. התיקון הזה יוסיף את
OnWatchEditorData
(שמכיל כרגע רק סמל) לכל UserStyleSettings וכן במקרים המתאימים של מחלקות ה-Option. (If1886) - הוספנו את
@JvmOverloads
ל-constructor של ListenableGlesRenderer כדי לשפר את הפעולה ההדדית של Java. (I2974a)
תיקוני באגים
- ה-constructor של
ListenableGlesRenderer
מסומן עכשיו בצורה נכונה כ-@Throws(GlesException::class)
, ועכשיו אפשר להרחיב את המחלקה הזו ב-Java. (Iac6d0) - מתקן באג באמצעות
PhotoImageComplicationData
TapAction לא מטופל כראוי (I1cc30)
גרסה 1.1.0-alpha02
12 בינואר, 2022
androidx.wear.watchface:watchface-*:1.1.0-alpha02
משוחרר. גרסה 1.1.0-alpha02 מכילה את התחייבויות אלה.
תכונות חדשות
- כדי לסייע בניפוי באגים ובבדיקות,
ComplicationData
ומחלקות משנה קשורות ביטלו עכשיו את קוד הגיבוב (hashcode), ה-methods ו-toString כדי שיהיה קל יותר לעבוד איתן.
שינויים ב-API
- שיטות
WatchfaceMetadataClient
גורמות שוב ל-RemoteExceptions
במקומות המתאימים, וכך קוד הלקוח יכול לזהות בקלות שגיאות מתצוגת השעון. (I78785) - ל-
ComplicationData
ולמחלקות המשנה יש עכשיו hashcode, equals ו-toString. (I24bc6)
גרסה 1.1.0-alpha01
15 בדצמבר 2021
androidx.wear.watchface:watchface-*:1.1.0-alpha01
משוחרר. גרסה 1.1.0-alpha01 מכילה את התחייבויות אלה.
תכונות חדשות
עכשיו אפשר להגדיר את
UserStyleSchema
ואתComplicationSlots
ב-XML. זה מפשט את הבנייה של תצוגות השעון. בנוסף, שאילתותWatchFaceMetadataClient
מהירות יותר כי הן לא צריכות לקשר לשירות כדי לקבל את המטא-נתונים. ממשקי ה-WatchFaceMetadataClient
וה-ListenableWatchFaceMetadataClient
לא ניסיוניים יותר והם יהפכו לחלק מ-API היציב. המערכת תוכל לתמוך בכמה מופעים של תצוגת שעון, שבכל אחד מהם יהיו אפשרויות עיצוב ייחודיות לפי הגדרות המשתמש. הבעיות האלה יוצגו בבורר של תצוגת השעון. כדי להשתמש בתכונה הזו, תצוגת השעון צריכה לכלול במניפסט של המטא-נתונים הבאים את התג הבא.<meta-data android:name="androidx.wear.watchface.MULTIPLE_INSTANCES_ALLOWED" android:value="true" />
בחלק מתצוגות השעון יש מצב שלא תועד ב
UserStyle
. כדי לתמוך במצב הזה ובמספר מקרים, מזהה המכונה של תצוגת השעון זמין עכשיו דרךWatchState.watchFaceInstanceId
.מתבצעת עכשיו שמירה של
ComplicationData
במטמון כדי לאפשר הצגה של רכיבים נוספים מיד אחרי הטעינה. לפעמיםComplicationData
נשמר במטמון בזיכרון על ידי המערכת, ולפעמים הוא עובר סריאליזציה לספריות של תצוגת השעון. אחרי השדרוג הסידורי, ה-tapAction המשויך יאבד. במקרה כזה,ComplicationData.tapActionLostDueToSerialization
יחזיר את הערךtrue
ותצוגת השעון תעבד את התכונה באופן שונה (למשל, אפור או שקוף למחצה) כדי לאותת שלא ניתן להקיש עליה. המערכת תשלחComplicationData
מעודכן עםtapAction
בהקדם האפשרי.לא צריך לשמור חלק מה
ComplicationData
במטמון למשך זמן רב. כדי לתמוך בכך, הוספנו תכונה כללית יותרComplicationDataTimeline
. אפשר להשתמש בכך כדי לספק רצף שלComplicationData
עם הגבלת זמן להצגה בתצוגת השעון, שניתן לשמור במטמון ולעדכן באופן אוטומטי. לדוגמה, תחזית מזג האוויר להיום בזמנים שונים או במספר אירועים ביומן קרובים. בוצעה הרחבה שלComplicationRequestListener
בשיטה חדשהonComplicationDataTimeline
שבעזרתה ניתן להחזיר את הנתונים האלה.התוסף
DefaultComplicationDataSourcePolicy
הורחב כך שאפשר לציין אתComplicationType
עבור מקורות הנתונים הראשיים והמשניים.הוספנו תמיכה בספקים סינכרוניים של רכיבים שבהם התכונה מתעדכנת בתדירות גבוהה יותר מהרגיל, עד פעם בשנייה כשתצוגת השעון גלויה ולא סביבתית. הערה: לשימוש של ספקי רכיבים סינכרוניים עשוי להיות שימוש מוגבל בגלל בעיות של לחץ על הזיכרון.
סביר להניח שהשינויים
PendingIntentTapListener
יבוטלו, כי פתרנו את הבעיה הבסיסית (כלומר, תצוגת השעון לא יכולה להפעיל פעילויות במשך 5 שניות לאחר לחיצה על הלחצן הראשי) ב-framework.
שינויים ב-API
- הערך
ComplicationData.isCached
השתנה ל-tapActionLostDueToSerialization
, שעוזר יותר לקבוע אם יש לעבד את משבצת התכונה באופן שונה כדי לאותת שלא ניתן להקיש עליה. (I6de2f) ComplicationDataTimeline
נוסף לקבוצהwear-complication-data-source
. אפשר להשתמש בכך כדי לספק רצף שלComplicationData
עם הגבלת זמן להצגה בתצוגת השעון, שניתן לשמור במטמון ולעדכן באופן אוטומטי. לדוגמה, תחזית מזג האוויר להיום בזמנים שונים או במספר אירועים ביומן קרובים. בוצעה הרחבה שלComplicationRequestListener
בשיטה חדשהonComplicationDataTimeline
שבעזרתה ניתן להחזיר את הנתונים האלה. יש wrapper חדש של KotlinSuspendingTimelineComplicationDataSourceService
להשעיית שירותי מקור נתונים. (Idecdc)- נוספו
PendingIntentTapListener
וגםWatchFaceControlClient.getPendingIntentForTouchEvent
. כך ניתן לעזור בתצוגות שעון להפעיל כוונות בתגובה להקשות כדי לעקוף בעיה שבה המסגרת חוסמת הפעלה של פעילויות חדשות למשך 5 שניות לאחר לחיצה על הלחצן הראשי. (I98074) - הוספנו מטמון של
ComplicationData
לכל תצוגת שעון. מטרת התכונה הזו היא לאפשר לתצוגת השעון להציג את הערכים האחרונים של נתוני הרכיב הידועים בזמן הטעינה, עד שלמערכת תהיה אפשרות לעדכן אותם. יש שיטת API חדשהWatchFaceControlClient.hasComplicationCache
שמיועדת ליצרני ציוד מקורי. הפעולה הזו עשויה להשפיע על האסטרטגיה של המערכת לשליחת רכיבים לתצוגת השעון. בנוסף, ל-ComplicationData
יש מאפייןisCached
ומומלץ לעבד את הרכיבים הנוספים במטמון באופן שונה כי לא ניתן לשמור את המאפייןtapAction
במטמון והוא יהיהnull
בתכונה נוספת ששמורה במטמון. (I404b0) - מזהה המכונה של תצוגת השעון זמין עכשיו דרך
WatchState.watchFaceInstanceId
. אין צורך להשתמש באפשרות הזו ברוב תצוגות השעון, אבל אם המצב של תצוגת השעון לא שמור בסכימה, זה המפתח לזיהוי המופע של תצוגת השעון. כדי לתמוך בכך, עכשיו אפשר לספק תעודה מזהה כשמתקשרים אלWatchFaceControlClient.createHeadlessWatchFaceClient
. (I1ff98) - בוצעה הרחבה של
DefaultComplicationDataSourcePolicy
עם אפשרות להגדיר את ברירת המחדלComplicationTypes
לספק הראשי, לספק המשני ולספק המערכת החלופית. האפשרותComplicationSlot.defaultDataSourceType
הוצאה משימוש. (If0ce3) - עכשיו אפשר לשנות את
ComplicationSlot.configExtras
ולעדכן אותו לפני הקריאה ל-EditorSession.openComplicationDataSourceChooser()
. (I6f852) - נוספו
WatchFace.setComplicationDeniedDialogIntent
וגםsetComplicationRationaleDialogIntent
. הכוונות האלה מופעלות כדי להציג תיבת דו-שיח עם הנימוקים לפני שמבקשים הרשאות לרכיבים, ותיבת דו-שיח נוספת שבה מוסבר שנדרשת הרשאה לרכיב כשמנסים לערוך רכיב נוסף כשההרשאות נדחו (הבורר של הספק ייכשל, כך שיש צורך בתיבת הדו-שיח). (I3a29c) - עכשיו אפשר להגדיר את
UserStyleSchema
ואתComplicationSlots
ב-XML. זה מפשט את היצירה של תצוגות השעון ומזרז את השאילתות ב-WatchFaceMetadataClient
כי הן לא צריכות להיות מקושרות לשירות כדי לקבל את המטא-נתונים. (I85bfa) - נוספה ההגדרה
InteractiveWatchFaceClient.supportsPendingIntentForTouchEvent
כדי שלקוח יוכל לקבוע אם תצוגת השעון תומכת ב-getPendingIntentForTouchEvent
. (I0b917) - התכונות
WatchFaceMetadataClient
ו-ListenableWatchFaceMetadataClient
כבר לא ניסיוניות. אפשר להשתמש בהם כדי להשיג ביעילות מטא-נתונים של תצוגת השעון, כשזה אפשרי, בלי לפתוח קלסר לתצוגת השעון. (Ibb827) - נוספה תמיכה בספקים סינכרוניים של רכיבים שבהם התכונה מתעדכנת בתדירות גבוהה יותר מהרגיל, עד פעם בשנייה כשתצוגת השעון גלויה ולא סביבתית. כדי להשתמש באפשרות הזו, הספק צריך לכלול תג מטא-נתונים חדש מסוג
androidx.wear.watchface.complications.data.source.SYNCHRONOUS_UPDATE_PERIOD_SECONDS
במניפסט שלו, ולשנות את הערך שלonSynchronousComplicationRequest
. בהתאם לאופי של מקור הנתונים, ייתכן שיהיה צורך גם לבטל את ההגדרות שלonStartSynchronousComplicationRequests
ושלonStopInteractiveComplicationRequests
כדי לקבל התראות על כניסת הרכיב או יציאה ממנו. (I8fe9d)
גירסה 1.0
גרסה 1.0.1
9 בפברואר 2022
androidx.wear.watchface:watchface-*:1.0.1
משוחרר. גרסה 1.0.1 כוללת את ההתחייבויות האלה.
תיקוני באגים
- מתקן באג באמצעות
PhotoImageComplicationData
TapAction לא מטופל כראוי (I1cc30)
גרסה 1.0.0
1 בדצמבר 2021
androidx.wear.watchface:watchface-*:1.0.0
משוחרר. גרסה 1.0.0 מכילה את ההתחייבויות האלה.
התכונות העיקריות של גרסה 1.0.0
החבילה androidx.wear.watchface
היא הספרייה החדשה המומלצת לפיתוח תצוגות שעון עם WearOS. יש בו כמה תכונות חדשות בהשוואה לספריית התמיכה הישנה של גאדג'טים לבישים.
- הספרייה תומכת בעיצוב המשתמש (לדוגמה, כדי לשנות את לוח הצבעים, את הסגנון של מחוגות השעון, את המראה של סימני השעה וכו') (ראו
androidx.wear.watchface.style
). עכשיו הרבה יותר קל לפתח כלי לעריכת תצוגות שעון באמצעות androidx.wear.watchface.editor, וכך לערוך את תצוגת השעון מהאפליקציה הנלווית של המערכת בלי לכתוב קוד נוסף. - שיטות מומלצות כבר ליישם. הספרייה יוצרת תוויות לתיאור התוכן של קורא המסך באופן אוטומטי עבור סיבוכים (אפשר גם להוסיף תוויות משלך), וקצב הפריימים יורד באופן אוטומטי כשהסוללה חלשה ולא נטענת כדי לשפר את חיי הסוללה.
- נדרש פחות קוד כדי לפתח תצוגת שעון, במיוחד לסיבוכים שבהם חלק גדול מתבנית הבוילרפלייט עבר לספרייה.
תיקוני באגים
- תיקון
EditorSession.userStyle.compareAndSet
(I6f676) - איך לפתור עיכובים קצרים מאוד בתצוגת השעון (Iffb97)
- שליחת
InteractiveWatchFaceImpl.onDestroy
ב-thread של ממשק המשתמש (I83340) - פתרון מספר בעיות במקלטי שידורים (I7d25f)
גרסה 1.0.0-rc01
3 בנובמבר 2021
androidx.wear.watchface:watchface-*:1.0.0-rc01
משוחרר. גרסה 1.0.0-rc01 מכילה את ההתחייבויות האלה.
תיקוני באגים
תיקון dump() (שנקרא על ידי dumpsys של מעטפת adb) שנקטע על ידי העברות זרימה. (087cf9e)
חשוב להקפיד על סדר תקין של רכיבי WriteDirectBootPref. אנחנו רוצים שערכי WriteBootPrefs יופעלו תמיד אחרי initStyleAndComplications , או שאנחנו עלולים לעכב את התחלת השרשור בממשק המשתמש.(37650ac)
צריך לוודא שהקריאה של Renderer.onDestroy מופעלת. בתרחיש שבו נוצר ה-רינדור, אבל אתחול WF לא הושלם ונקראת Engine.onDestroy, צריך לקרוא ל-Renderer.onDestroy. (f9952dc)
אופטימיזציה/תיקון ל-isסוללהLowAndNotCharging. התיקון הזה מזיז את ההגדרה הראשונית של isסוללהLowAndNotCharging בשלב מוקדם יותר, כלומר ניתן לבצע את ההגדרה במקביל createWatchFace. בנוסף, אנחנו גם מקשיבים עכשיו ל-ACTION_POWER_DISCONNECTED. (ddffd80
InteractiveWatchFaceClient.isConnectionAlive to be false לאחר סגירה (ab9774e)
גרסה 1.0.0-beta01
27 באוקטובר 2021
androidx.wear.watchface:watchface-*:1.0.0-beta01
משוחרר. גרסה 1.0.0-beta01 מכילה את התחייבויות אלה.
גרסה 1.0.0-alpha24
13 באוקטובר 2021
androidx.wear.watchface:watchface-*:1.0.0-alpha24
משוחרר. גרסה 1.0.0-alpha24 מכילה את התחייבויות אלה.
שינויים ב-API
- כיתות בחבילה
androidx.wear.watchface.complications
הועברו לפרויקט חדש ב-wear:watchface:watchface-complications
. חשוב לשים לב שאי אפשר לכלול את הספרייה הזו וגם את כל גרסת האלפא הקודמת שלwear:watchface:watchface-complications-data
, כי יופיעו שגיאות על כיתות כפולות. (I97195) - השם של Renderer.dump השתנה ל-Renderer.onDump ונוספו לו הערות @UiThread. (I44845)
- השם של
InteractiveWatchFaceClient.addWatchFaceReadyListener
השתנה ל-addOnWatchFaceReadyListener
והשם שלremoveWatchFaceReadyListener
השתנה ל-removeOnWatchFaceReadyListener
. (I48fea) - Editor
getComplicationsPreviewData
ו-getComplicationsDataSourceInfo
כבר לא פונקציות השעיה. במקום זאת, הם נכסיStateFlow<>
שהערך שלהם בהתחלה הוא null. ב-ListenableEditorSessiongetListenableComplicationPreviewData
ו-getListenableComplicationsProviderInfo
הוסרו לטובת האובייקטים החדשיםStateFlow<>
ממחלקת הבסיס. אם צריך להאזין לשינויים בקוד של ג'אווה, כדאי להשתמש ב-androidx.lifecycle.FlowLiveDataConversions.asLiveData
כדי להמיר לLiveData<>
. (Ic5483)
גרסה 1.0.0-alpha23
29 בספטמבר 2021
androidx.wear.watchface:watchface-*:1.0.0-alpha23
משוחרר. גרסה 1.0.0-alpha23 מכילה את התחייבויות אלה.
תכונות חדשות
ספריית תצוגת השעון היא עכשיו קבוצת ספריות אחת, וכתוצאה מכך הספריות עברו למיקום אחר וצריך לעדכן את ייבוא ה-Gradle באופן הבא:
מכשיר ישן | חדש |
---|---|
androidx.wear:wear-complications-data |
androidx.wear.watchface:watchface-complications-data |
androidx.wear:wear-complications-data-source |
androidx.wear.watchface:watchface-complications-data-source |
androidx.wear:wear-watchface |
androidx.wear.watchface:watchface |
androidx.wear:wear-watchface-complications-rendering |
androidx.wear.watchface:watchface-complications-rendering |
androidx.wear:wear-watchface-client |
androidx.wear.watchface:watchface-client |
androidx.wear:wear-watchface-client-guava |
androidx.wear.watchface:watchface-client-guava |
androidx.wear:wear-watchface-data |
androidx.wear.watchface:watchface-data |
androidx.wear:wear-watchface-editor |
androidx.wear.watchface:watchface-editor |
androidx.wear:wear-watchface-editor-guava |
androidx.wear.watchface:watchface-editor-guava |
androidx.wear:wear-watchface-guava |
androidx.wear.watchface:watchface-guava |
androidx.wear:wear-watchface-style |
androidx.wear.watchface:watchface-style |
שינויים ב-API
- צריך להעביר את הספריות הנפרדות של תצוגת השעון והרכיבים
androidx.wear
לקבוצת הספריותandroidx.wear.watchface
. (b25f3c0) - נוסף EditorRequest.canWatchFaceSupportHeadlessEditing כדי ליידע לקוח אם עורך תצוגת שעון תומך בעריכה ללא GUI. לתשומת ליבך, יהיו כמה מילות מפתח שליליות מוטעות כך, מכיוון שנוספה תמיכה ב-asop/1756809, אך היא תחזיר את הערך הנכון לכל תצוגות השעון העתידיות. (ca55590)
- בכלי הרינדור יש עכשיו שיטת dump() , שאותה אפשר לשנות כדי להוסיף נתונים מותאמים אישית למידע שנוצר על ידי שירות הפעילות WatchFaceService של מעטפת dumpsys של ABD. (95235f9)
- מעכשיו, InteractiveWatchFaceClient.addWatchFaceReadyListener מציין קודם את המבצע. (563ac2f)
- StateFlowCompatHelper הוסר. במקום זאת, צריך להשתמש בפורמט asLiveData (androidx.lifecycle.asLiveData). (bd35d3)
- לא ניתן יותר לשנות את ההגדרה currentUserStyleRepository.userStyle. (I44889)
- השם של WatchFace מגווןListener השתנה ל-OnWatchFaceReadyListener. (Ic12a9)
תיקוני באגים
- InteractiveInstanceManager.deleteInstance כדי לקרוא onDestroy. הפעולה הזו נדרשת כדי להבטיח איסוף של נתוני אשפה ב-InteractiveWatchFaceImpl.(fce4af8, b/199485839)