Watchface بپوشید
توجه: فرمت Watch Face برای نصب چهرههای ساعت در دستگاههایی با Wear OS 5 یا جدیدتر و برای همه واچفیسهای جدید منتشر شده در Google Play لازم است.
از ژانویه 2026، فرمت Watch Face برای نصب واچ فیس در همه دستگاههای Wear OS ضروری خواهد بود.
در این مقاله مرکز راهنمایی درباره تغییرات کاربر بیشتر بیاموزید.
| آخرین به روز رسانی | انتشار پایدار | کاندید را آزاد کنید | نسخه بتا | انتشار آلفا |
|---|---|---|---|---|
| 23 آوریل 2025 | 1.2.1 | - | - | 1.3.0-alpha07 |
اعلام وابستگی ها
برای افزودن وابستگی به 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" }
کاتلین
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" }
شیار
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" }
کاتلین
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" }
برای اطلاعات بیشتر درباره وابستگیها، به افزودن وابستگیهای ساخت نگاه کنید.
بازخورد
بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.
برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.
نسخه 1.3
نسخه 1.3.0-alpha07
23 آوریل 2025
androidx.wear.watchface:watchface-*:1.3.0-alpha07 منتشر شد. نسخه 1.3.0-alpha07 حاوی این commit ها است.
ویژگی های جدید
- برای مدتی میتوان طرح UserStyle یک ساعت را تعریف کرد و میتوان
ColorUserStyleSettingدر XML تعریف کرد.
تغییرات API
- پروژههایی که با Kotlin 2.0 منتشر میشوند برای مصرف نیاز به KGP 2.0.0 یا جدیدتر دارند. ( Idb6b5 )
- Watch Face Push API اضافه شده است که به یک برنامه Wear OS اجازه می دهد صفحه ساعت را به صورت برنامه ریزی شده روی ساعت نصب کند.
رفع اشکال
- ارائه دهندگان پیچیدگی که از 1.3.0-alpha06 استفاده می کنند تشویق می شوند تا به روز رسانی کنند زیرا یک اشکال خرابی با
ComplicationDataSourceUpdateRequesterدر نسخه بعدی WearOS برطرف شده است.
نسخه 1.3.0-alpha06
26 مارس 2025
androidx.wear.watchface:watchface-*:1.3.0-alpha06 منتشر شد. نسخه 1.3.0-alpha06 حاوی این commit ها است.
ویژگی های جدید
- APIهای wear watchface (watchface، watchface-client، watchface-client-guava، watchface-complications-rendering، watchface-data، watchface-editor، watchface-editor-guava، و watchface-style) به نفع فرمت Wear Watchface مستهلک شده اند و در نهایت از AndroidX حذف خواهند شد. APIهای پیچیده منسوخ نشده اند و باقی خواهند ماند. ( Ice960 )
- APIهای پیچیده اکنون می توانند مستقیماً با
WearSDKارتباط برقرار کنند که به دلیل جهش IPC کمتر کارآمدتر است.
نسخه 1.3.0-alpha05
15 ژانویه 2025
androidx.wear.watchface:watchface-*:1.3.0-alpha05 منتشر شد. نسخه 1.3.0-alpha05 حاوی این تعهدات است.
ویژگی های جدید
صفحههای ساعت معمولاً به کاربر اجازه میدهند رنگها را با استفاده از ListUserStyle انتخاب کنند. در حالی که این کار میکند، مستلزم ارسال نمادها از طریق بلوتوث به ویرایشگر همراه است که کارآمد نیست، بنابراین ColorUserStyleSetting معرفی کردهایم که در آن محموله فهرستی از یک یا چند رنگ در هر سبک است که فرمت سیم بهطور قابل توجهی فشردهتری دارد.
ما یک ویژگی OEM Facing اضافه کردهایم که به ارائهدهندگان عوارض OEM اجازه میدهد تا موارد اضافی را برای استفاده توسط واچفیسهای OEM به ComplicationData اضافه کنند.
تغییرات API
- کلاس های
UserStyleSettingوUserStyleOptionاکنون سازنده هایی دارند که روش پیشنهادی برای ساخت آنها است. ( Iacd03 ) - پشتیبانی از ارسال موارد اضافی در
ComplicationData. این برای استفاده توسط OEM ها در نظر گرفته شده است، جایی که آنها هم ارائه دهنده عوارض و هم صفحه ساعت گیرنده را کنترل می کنند. تنظیم یک مورد اضافی به مجوز ممتازcom.google.android.wearable.permission.COMPLICATION_EXTRASنیاز دارد. ( I4e3b2 ) - چهرههای ساعت معمولاً به کاربر اجازه میدهند تا رنگها را با استفاده از
ListUserStyle، با یک نماد برای هرListOptionانتخاب کند. از آنجایی که طرحوارههایUserStyleاز طریق بلوتوث ارسال میشوند، مهم است که اندازه طرحواره را پایین نگه دارید که اگر دهها گزینه رنگ به دلیل همه آن نمادها داده شود، میتواند مشکل ساز شود. برای کمک به این کار،ColorUserStyleSettingاضافه کردهایم که در آن گزینه به جای نماد، فهرستی از رنگها را در بر میگیرد که بسیار فشردهتر است. ( Ib542e ) -
ColorUserStyleSettingوColorOptionبرای استفاده به API 34 نیاز دارند. ( I8771d )
رفع اشکال
- این کتابخانه اکنون از حاشیهنویسیهای پوچ JSpecify استفاده میکند که نوع استفاده هستند. توسعه دهندگان Kotlin باید از آرگومان کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند:
-Xjspecify-annotations=strict(این پیش فرض با نسخه 2.1.0 کامپایلر Kotlin شروع می شود). ( Ifd363 , b/326456246 )
نسخه 1.3.0-alpha04
18 سپتامبر 2024
androidx.wear.watchface:watchface-*:1.3.0-alpha04 منتشر شد. نسخه 1.3.0-alpha04 حاوی این commit ها است.
ویژگی های جدید
- پشتیبانی از بارگذاری تنبل آیکون ها در
UserStyleSettingsوUserStyleOptionsاضافه شده است که یک پیروزی عملکردی برای بارگیری صفحه های ساعت است. ( Iaf43d ) - از طریق
Watchface.setUpdateScreenshotOnConfigurationChangeجدید، گزینهای برای یک اسکرینشات بهروزرسانی شده اضافه شد تا هر زمان که پیکربندی سیستم تغییر میکند (مثلاً اگر منطقه تغییر کرده است) گرفته شود. به طور پیش فرض این تنظیم خاموش است. ( I765a1 )
رفع اشکال
- طرح دستی دسترسی به APIهای پلتفرم جدید حذف شد زیرا این به طور خودکار از طریق مدلسازی API هنگام استفاده از R8 با AGP 7.3 یا جدیدتر (مثلا R8 نسخه 3.3) و برای همه ساختها هنگام استفاده از AGP 8.1 یا بالاتر (به عنوان مثال D8 نسخه 8.1) اتفاق میافتد. به مشتریانی که از AGP استفاده نمیکنند، توصیه میشود به نسخه 8.1 یا بالاتر D8 بهروزرسانی کنند. برای جزئیات بیشتر به این مقاله مراجعه کنید. ( Ia60e0 , b/345472586 )
نسخه 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 حاوی این commit ها است.
ویژگی های جدید
- ما اکنون از برابری مرجع برای مقایسه بهترین و
selectedDataاستفاده می کنیم زیرا عملگر برابر گران است. ( 446b00 )
تغییرات API
- ما یک API پویا بدون بازگشت برای
GoalProgressComplicationDataاضافه کردهایم. ( c33264 )
نسخه 1.3.0-alpha01
7 فوریه 2024
androidx.wear.watchface:watchface-*:1.3.0-alpha01 منتشر شد. نسخه 1.3.0-alpha01 حاوی این commit ها است.
ویژگی های جدید
-
WatchFaceServicesمی توان همزمان مقداردهی کرد و به همین دلیل باید بدون حالت باشند، برای پشتیبانی از این سرویسStatefulWatchFaceServiceرا اضافه کرده ایم که در آن یک کاربر اضافی که توسطcreateExtra()ایجاد شده است، به تمام مواردی که در طول مقداردهی اولیه فراخوانی می شوند، منتقل می شود. -
GlesRenderer2اکنون دارای اضافه بار سازنده است که به شما امکان می دهد لیستی از ویژگی ها را مشخص کنید تا به نوبه خود باeglChooseConfigامتحان کنید.
تغییرات API
-
StatefulWatchFaceServiceاکنون از یک بازنویسیgetComplicationSlotInflationFactoryپشتیبانی می کند که اضافی تعریف شده توسط کاربر ایجاد شده توسطcreateExtra()به آن ارسال می شود. ( I82d9f ) - برخی از واچ فیسها باید دادههای کمکی ایجاد شده در طول
createUserStyleSchemaرا با سایر روشهای مقداردهی اولیه به اشتراک بگذارند. از آنجایی که جایگزین بهتری وجود نداشت، توسعه دهندگان معمولاًWatchFaceServicesخود را حالتی می کردند. این خطرناک است زیرا میتوان چندین نمونه را همزمان ایجاد کرد که میتواند منجر به باگ شود. برای حل این مشکلStatefulWatchFaceServiceوStatefulWatchFaceRuntimeServiceرا معرفی کرده ایم که در آنها یک نوع تعریف شده توسط کاربر توسطcreateExtra()ایجاد می شود و به عنوان پارامتر به متدهای مختلف ایجاد ارسال می شود. ( If8a99 ) - ما
getUserStyleFlavorsبهInteractiveWatchFaceClientاضافه کردهایم که در درجه اول برای OEM ها مورد توجه است. ( I0f5d8 ) -
GlesRenderer2اکنون دارای اضافه بار سازنده است که به شما امکان می دهد لیستی از ویژگی ها را مشخص کنید تا به نوبه خود باeglChooseConfigامتحان کنید. به عنوان مثال، این به شما امکان می دهد ابتدا یک پیکربندی با anti-aliasing را امتحان کنید و در صورت نیاز به یکی بدون آن برگردید. ( I1ba74 ) - از Android U، پشتیبانی از
SystemDataSources.DATA_SOURCE_HEART_RATEبه WearOS اضافه خواهد شد. این عارضه فقط برای پشتیبانی از عوارضSHORT_TEXTتضمین شده است، اما برایComplicationSlotتوصیه میشود کهSMALL_IMAGEنیز بپذیرد، زیرا OEMها ممکن است به جای ارزش زنده، میانبری برای برنامه سلامت خود ارائه دهند. ( 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 حاوی این commit ها است.
رفع اشکال
- رفع خرابی در Samsung Galaxy Watch 4، 5 و 6. ( 43f0b0 )
نسخه 1.2.0
29 نوامبر 2023
androidx.wear.watchface:watchface-*:1.2.0 منتشر شد. نسخه 1.2.0 حاوی این commit ها است.
تغییرات مهم از 1.1.0
- ما برخی از انواع پیچیده جدید را که برای استفاده از Android T در دسترس هستند، اضافه کردهایم:
-
GoalProgressComplicationDataکه مشابهRangedValueComplicationDataاست، با این تفاوت که برای پیشرفت به سمت هدفی است که حداقل به طور ضمنی صفر است، و مقدار مجاز است بزرگتر ازtargetValueباشد. -
WeightedElementsComplicationDataکه از آرایه ای از عناصر (جفت وزن و رنگ) به همراه متن/عنوان/تصویر اختیاری تشکیل شده است. اینها ممکن است به عنوان یک نمودار دایره ای نمایش داده شوند که در آن رنگ ها باید با توجه به زمینه معنادار باشند، زیرا معمولاً جایی برای پیچیدگی برای ارائه برچسب ها وجود ندارد.
-
- ما پشتیبانی از
ColorRangesاختیاری را بهRangedValueComplicationDataاضافه کردهایم. معمولاً پیچیدگیها در رنگهایی که صفحه ساعت انتخاب میکند ارائه میشوند، اما گاهی اوقاتComplicationDataSourceبهترین مکان برای تنظیم رنگها است، مثلاً زمانی که معنای معنایی خاصی دارند. به عنوان مثال قرمز به آبی برای دما. - تقریباً هر نوع
ComplicationDataاکنون ازSmallImagesپشتیبانی می کند. - ما
ComplicationDisplayPolicyاضافه کردهایم که در آنDO_NOT_SHOW_WHEN_DEVICE_LOCKEDبه یک صفحه ساعت سازگار دستور میدهد که هنگام قفل بودن دستگاه، عارضه را نمایش ندهد. - از Android T، OEMها میتوانند تشخیص دهند که آیا درخواست عارضه از صفحه ساعت در لیستی که توسط متادیتای
android.support.wearable.complications.SAFE_WATCH_FACESدر مانیفست ارائهدهنده آنها تعریف شده است، توسطComplicationRequest#isForSafeWatchFaceیا خیر. ارائه دهنده برای دریافت هر چیزی غیر از TargetWatchFaceSafety.UNKNOWN به مجوزcom.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACEنیاز دارد. -
UserStyleFlavorsبه یک ویژگی غیر آزمایشی تبدیل شده است.
نسخه 1.2.0-rc01
18 اکتبر 2023
androidx.wear.watchface:watchface-*:1.2.0-rc01 منتشر شد. نسخه 1.2.0-rc01 حاوی این commit ها است.
نسخه 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 حاوی این تعهدات است.
ویژگی های جدید
- از اندروید T، WearOS اکنون از یک سیستم پیشفرض سیستم آب و هوا پشتیبانی میکند.
تغییرات API
- برای عوارض سیستم پیشفرض آبوهوا را اضافه کنید. ( Ia0994 )
- این وصله
WatchFaceRuntimeServiceوWatchFaceControlClient.createWatchFaceRuntimeControlClientرا به همراه پوشش های گواوا اضافه می کند. اینها از زمانهای اجرا با صفحه ساعت پشتیبانی میکنند که نوع خاصی از صفحه ساعت است که تعریف آن را از یک بسته دیگر بارگیری میکند. در حال حاضر WearOS فقط از زمان اجرا برای قالب Android Watch Face پشتیبانی میکند. ( I2799f ) - این وصله دنبالهای از aosp/2636578 است که در آن نام int defs را تغییر میدهیم، بنابراین هر کدی بسته به
WatchFaceType،CanvasType،TapTypeیاComplicationsSlotBoundsTypeنیازی به تغییر ندارد. ( I4098b ) - فایل های API به روز شده برای حاشیه نویسی سرکوب سازگاری. ( I8e87a , b/287516207 )
- این وصله ثابتهای
WatchFaceTypeرا درWatchFaceTypes، ثابتهایCanvasTypeدرCanvasTypes، ثابتهایTapTypeدرTapTypesو ثابتهایComplicationsSlotBoundsTypeرا درComplicationsSlotBoundsTypeنشان میدهد. ( I3b85a , b/288750666 ) -
WatchFace.OverlayStyleاستفاده بسیار کمی دارد و به خوبی توسط OEM ها پشتیبانی نمی شود، بنابراین ما آن را مستهلک می کنیم تا در تاریخ بعدی آن را حذف کنیم. ( I7344a )
نسخه 1.2.0-alpha09
21 ژوئن 2023
androidx.wear.watchface:watchface-*:1.2.0-alpha09 منتشر شد. نسخه 1.2.0-alpha09 حاوی این commit ها است.
ویژگی های جدید
-
RangedValueComplicationData.BuilderاکنونDynamicFloatمیپذیرد و یکDynamicComplicationTextجدید بهعنوان زیرکلاسComplicationTextدر دسترس است، که هر دو میتوانند از عبارات پویا و همچنین اتصالات پلتفرم استفاده کنند که در دستگاههای Wear 4 پشتیبانیشده با سرعت 1 هرتز بهروزرسانی میشوند.
تغییرات 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 حاوی این commit ها است.
ویژگی های جدید
- از 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_TYPESface. این به این معنی است که یک ارائهدهنده عوارض ممکن است انتخاب کند که انواع مختلفی را به واچفیسهای قابل اعتماد در مقابل غیرقابل اعتماد ارائه دهد.
تغییرات API
- انتشار
@Deprecatedclass به ویژگی ( I882d1 , b/271441831 ) - نام پارامتر مقدار برای
Enum.valueOfتغییر کرد ( Ia9b89 ) - استثناهای بیشتر از enum valueOf ( I818fe )
- ما
renderWatchFaceToSurfaceبه نفعcreateRemoteWatchFaceViewحذف کردیم که در بالای SurfaceControlViewHost ساخته شده است و به تماسگیرنده اجازه میدهد نمایی را از صفحه ساعت تعبیه کند، که وقتی مشتریRemoteWatchFaceViewHost#renderWatchFaceمیخواند، رندر میشود. ( IB311d ) - ما
renderWatchFaceToSurfaceبهInteractiveWatchFaceClient،HeadlessWatchFaceClientوEditorSessionاضافه کردهایم. معمولاً این کارایی بیشتری نسبت به ارائه به نقشه بیتی دارد. ( Ieacad ) -
ObservableStateStoreبهStateStoreتغییر نام داده است. ( Ieb0e2 ) -
DynamicTypeEvaluator.Builderرا به جای آرگومان های سازنده اضافه کرد تا آرگومان های اختیاری بیشتری را مجاز کند، از جملهObservableStateStoreکه اکنون به صورت پیش فرض یک فروشگاه خالی است. ( I6f832 ) - ترتیب مجدد پارامترها در
DynamicTypeEvaluator. ( IC1ba4 ) - Executor به متدهای
DynamicTypeEvaluator.bindاضافه شده است. ( I346ab ) - ما متد
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 حاوی این commit ها است.
ویژگی های جدید
از Android T، OEMها میتوانند تشخیص دهند که آیا درخواست عارضه از صفحه ساعت در لیستی که توسط متادیتای
android.support.wearable.complications.SAFE_WATCH_FACESدر مانیفست ارائهدهنده آنها تعریف شده است، توسطComplicationRequest#isForSafeWatchFaceیا خیر. ارائه دهنده برای دریافت هر چیزی غیر ازTargetWatchFaceSafety.UNKNOWNبه مجوزcom.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACEنیاز دارد.همچنین از Android T
CustomValueUserStyleSetting2برای استفاده در دسترس است که می تواند تا 12.5 کیلوبایت را نگه دارد. محدودیت قبلی برایCustomValueUserStyleSetting1 کیلوبایت بود. علیرغم افزایش محدودیتهای اندازه، توسعهدهندگان چهره ساعت تشویق میشوند که دادهها را کوچک نگه دارند، زیرا تنظیمات در طول ویرایش از طریق بلوتوث ارسال میشوند و پهنای باند بلوتوث محدود است.
تغییرات API
- ما یک پارامتر اختیاری
eglContextAttribListبهGlesRenderer&GlesRenderer2اضافه کرده ایم که به شما امکان می دهدEGL14.EGL_CONTEXT_CLIENT_VERSIONرا بهEGL14.eglCreateContextتنظیم کنید. ( I2a83e ) - ما به جای
java.util.function.Consumerلبه های صفحه ساعت را بهandroidx.core.util.Consumerمنتقل کرده ایم. ( I273f5 ) - استثناهای پرتاب شده بیشتر از ابزارهای دسترسی به ویژگی KT ( Iff9d9 )
- ما
InteractiveWatchFaceClient.isComplicationDisplayPolicySupportedرا اضافه کردهایم تا مشتری بتواند تشخیص دهد که آیا باید پشتیبانی را به نمایندگی از ساعتهای قدیمی شبیهسازی کند یا خیر. ( I24c89 ) - ما تصمیم گرفتیم که
isForSafeWatchFaceباید یکIntDefسه حالته باشد. ( Ief2f7 ) - برای اندروید T ما
ComplicationRequest.isForSafeWatchFaceمعرفی کرده ایم که برای استفاده OEM در نظر گرفته شده است و بهcom.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACEنیاز دارد. برای منابع داده در تصویر سیستم، اگر صفحه ساعت درخواستکننده در فهرست صفحههای ساعت ایمن مشخصشده توسط منبع داده در مانیفست آن باشد، این مقدار درست برمیگردد. ( I0cbb6 ) - برای اندروید T ما
CustomValueUserStyleSetting2اضافه کرده ایم که می تواند تا 12.5 کیلوبایت را نگه دارد. محدودیت قبلی برایCustomValueUserStyleSetting1 کیلوبایت بود. ( I0b100 )
نسخه 1.2.0-alpha06
25 ژانویه 2023
androidx.wear.watchface:watchface-*:1.2.0-alpha06 منتشر شد. نسخه 1.2.0-alpha06 حاوی این commit ها است.
ویژگی های جدید
- کار برای افزودن پشتیبانی برای اتصالات پلت فرم پیچیده ادامه دارد، این هنوز برای استفاده آماده نیست، اما با ما همراه باشید!
- ما پشتیبانی XML
ComplicationSlotبرای انواع جدید پیچیدگی، GOAL_PROGRESS و WEIGHTED_ELEMENTS اضافه کردهایم.
رفع اشکال
- رفع نشتی که در آن ویرایشگر صفحه ساعت به درستی در دستگاه های سامسونگ منتشر نشده است. ( 3b5987 )
- اشکالی را برطرف می کند که در آن گاهی اوقات هنگام جابجایی بین صفحه ساعت با چندین مورد دلخواه، عوارض به درستی نمایش داده نمی شد. ( b38ece )
- یک اشکال سریالسازی را با perOptionScreenReaderNames که منجر به خرابی صفحه ساعت میشود، برطرف میکند. ( e9f466 )
نسخه 1.2.0-alpha05
7 دسامبر 2022
androidx.wear.watchface:watchface-*:1.2.0-alpha05 منتشر شد. نسخه 1.2.0-alpha05 حاوی این commit ها است.
ویژگی های جدید
مدتی پیش ما پشتیبانی از
UserStyleSettingsسلسله مراتبی را اضافه کردیم و از اندروید T اکنون می توان بیش از یکComplicationSlotsUserStyleSettingدر یک سلسله مراتب داشت. تنها یکComplicationSlotsUserStyleSettingفعال خواهد بود، بر اساس انتخاب سبک کاربر.ما با افزودن یک فیلد
screenReaderName، پشتیبانی از صفحهخوان را برایListOptionوComplicationSlotsOptionبهبود میدهیم، توجه داشته باشید که قبل از 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 حاوی این commit ها است.
ویژگی های جدید
- برای 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 API علامت گذاری شده اند. ( I31d88 ) - سازنده
ComplicationSlotOverlayمنسوخ شده اکنون دارایDeprecationLevel.WARNINGاست. WARNING که به آن اجازه می دهد یک بار دیگر از جاوا فراخوانی شود. ( IB308c ) - ما برخی از مشکلات سازگار با جاوا را با
ComplicationRequestListener،CanvasComplication،ComplicationTapFilterوInteractiveWatchFaceClientبا حاشیه نویسی آنها با@JvmDefaultWithCompatibility( Id94fc ) رفع کرده ایم. - ما آزمایشی
ProtoLayoutComplicationDataوListComplicationDataرا حذف کردیم. داستان توسعه دهنده برای اینها نامشخص بود، امیدواریم در آینده دوباره بررسی کنیم. ( I9df05 ) - ما یک
ValueTypeدوباره بهRangedValueComplicationDataاضافه کردیم.WeightedElementsComplicationDataاکنون از رنگ پس زمینه پشتیبانی می کند. ماDiscreteRangedValueComplicationDataحذف کردهایم زیرا عملکرد آن زیرمجموعهای ازWeightedElementsComplicationDataاست. ( I6446c )
رفع اشکال
-
isForScreenShotرا در کدهای برابر و هش قرار دهید. مطمئن شوید کهonRenderParametersChangedمقدارisForScreenshotدرستی دریافت می کند ( I04a41 ) - رفع نشت
WatchFaceControlServiceاز کلاینت های بدون سر. ( e90e00 )
نسخه 1.2.0-alpha03
5 اکتبر 2022
androidx.wear.watchface:watchface-*:1.2.0-alpha03 منتشر شد. نسخه 1.2.0-alpha03 حاوی این commit ها است.
ویژگی های جدید
- هیچ ویژگی جدیدی وجود ندارد، اما ما چند اشکال ویرایشگر چهره ساعت را برطرف کرده ایم.
تغییرات API
-
UserStyleSchema.userStyleSettingsمنسوخ شده به عنوانrootUserStyleSettingsغیر آزمایشی می شود ( Ie96e3 ) - حذف
rootUserStyleSettingsاز آزمایشی ( I8d6b3 ) - ما
WatchFaceColorsبهعنوان آزمایشی علامتگذاری کردهایم زیرا توسط همه سیستمها پشتیبانی نمیشود ( I6d75d ) -
DisconnectReasonsدر API عمومی قرار دهید تا باIntDefکار کند. ( I791f8 )
رفع اشکال
- اگر
SysUIاز بین رفت، ویرایشگر ساعت باز را ببندید. اگرSysUIاز بین برود و ویرایشگر روی ساعت بسته نشود، صفحه ساعت ممکن است در حالت ناسازگار باقی بماند زیرا سیستم برای تداوم هرگونه تغییر سبک کاربر بهSysUIمتکی است.( ba762a - رفع نشت حافظه در
ComplicationDataSourceInfoRetriever، جایی که یک ادامه کوروتین kotlin به عنوان ریشه gc عمل میکند و فعالیت ویرایشگر را حفظ میکند.( 33ee06 )
نسخه 1.2.0-alpha02
21 سپتامبر 2022
androidx.wear.watchface:watchface-*:1.2.0-alpha02 منتشر شد. نسخه 1.2.0-alpha02 حاوی این commit ها است.
ویژگی های جدید
برخی از صفحههای ساعت پیکربندی خارج از
UserStyleدارند که از نظر بصری روی آن تأثیر میگذارد (مثلاً انتخاب یک عکس پسزمینه). ماRenderer.sendPreviewImageNeedsUpdateRequestاضافه کردهایم که به صفحه ساعت اجازه میدهد یک تصویر پیشنمایش بهروز درخواست کند. توجه داشته باشید که برای کار کردن به یک تاریخ سیستم مربوطه نیاز دارد.ما همچنین یک API برای چهرههای ساعت اضافه کردهایم تا رنگهای آنها را در معرض سیستم قرار دهیم که ممکن است بر این اساس پالت رنگی خود را انتخاب کند. توجه داشته باشید که این به صورت آزمایشی در پچ بعدی ساخته شده است.
تقریباً هر نوع
ComplicationDataاکنون ازSmallImagesپشتیبانی می کند.
تغییرات API
- مدیر کاغذ دیواری گاهی اوقات می تواند از یک موتور جدا شود و موتور دیگری بسازد. ما یک
DisconnectReasonint def و توسعه یافتهClientDisconnectListenerبا یک روش جدید اضافه کرده ایم که شاملDisconnectReasonاست که به شنونده اجازه می دهد تا جدا شدن موتور را مشاهده کند. ( I45cce ) - دو پارامتر اختیاری
nameResourceIdوscreenReaderResourceIdبه سازندهComplicationSlotOverlayاضافه شد ( I157e8 ) - ما یک پوشش گواوا برای اضافه بار جدید
getOrCreateInteractiveWatchFaceClientبا یکPreviewImageUpdateRequestedListenerاضافه کرده ایم. ( IC31f0 ) - ما
Renderer.sendPreviewImageNeedsUpdateRequestاضافه کردهایم که برای چهرههای ساعتی که حالتی خارج ازUserStyleSchemaدارند، مفید است که بر ظاهر آنها تأثیر میگذارد (مثلاً یک صفحه ساعت با یک تصویر پسزمینه قابل انتخاب). در سمت کلاینت،PreviewImageUpdateRequestedListenerبه عنوان یک پارامتر اختیاری برایgetOrCreateInteractiveWatchFaceClientاضافه کردهایم تا این درخواستها را مشاهده کند. ( Iff44a ) - ما API را برای نمایش
WatchFaceColorsساده کردهایم، اکنون یک ویژگی ساده به نامwatchFaceColorsدر رندر وجود دارد که صفحه ساعت میتواند آن را تنظیم کند، این ویژگی باید در صورت لزوم در پاسخ به هرگونه تغییر سبک بهروزرسانی شود. به جای استفاده ازWallpaperManagerبرای مشاهده تغییرات رنگ،OnWatchFaceColorsListenerبهInteractiveWatchFaceClientاضافه کردهایم. ( I490bc ) - ما یک کلاس
WatchFaceColorsاضافه کرده ایم که دارای سه رنگ برجسته ترین صفحه ساعت است و روش های بازwatchfaceColors¬ifyWatchFaceColorsChangedرا به Renderer اضافه کرده ایم، اینها به سیستم اجازه می دهد تا رنگ های صفحه ساعت را از طریقWallpaperManager.getWallpaperColorsبه دست آورد. ( I3d611 ) -
ShortTextComplicationData،RangedValueComplicationData،NoPermissionComplicationData(و آزمایشیDiscreteRangedValueComplicationData،GoalProgressComplicationDataوWeightedElementsComplicationData) همگی ازSmallImagesپشتیبانی می کنند. اگر یک صفحه ساعت انتخاب کند که یک پیچیدگی را با چندین رنگ ارائه کند، اکنون این گزینه را دارد که ازSmallImageچند رنگی استفاده کند، جایی که قبلاً مجبور بود از یک تصویر تک رنگ استفاده کند. ( I257df ) - Refactor
PreviewImageUpdateRequestedListenerبه جایConsumer<>( Ia875d ) - جایگزینی نوع سفارشی Single Abstract Method (SAM)
OnWatchfaceColorsListenerبا نوع SAM عمومی جاوا (Consumer) ( 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 حاوی این commit ها است.
ویژگی های جدید
- ما پشتیبانی آزمایشی را برای قالبهای مختلف پیچیده جدید اضافه کردهایم. این منطقه توسعه فعال است. این قالبهای جدید بدون اطلاع قبلی ممکن است تغییر کنند و در حال حاضر هیچ پشتیبانی رندری از
CanvasComplicationDrawableوجود ندارد. - ما همچنین حاشیه های اختیاری را به شکاف های عارضه اضافه کرده ایم که استفاده از عوارض کوچک را آسان تر می کند.
تغییرات API
- کلاس آزمایشی
BoundingArcاکنون تغییر ناپذیر است. ( If624a ) - استفاده از عوارض کوچک ممکن است دشوار باشد. برای کمک به کاهش این موضوع، ما پشتیبانی از حاشیهها را معرفی کردهایم که بدون تأثیر بر رندر، ناحیه قابل لمس را افزایش میدهند. مگر اینکه مشخص شده باشد (چه در کد یا از طریق XML)
ComplciationSlotsدارای حاشیه صفر هستند. ( I14089 ) - امضای
getComplicationSlotInflationFactory(CurrentUserStyleRepository)را برای برگرداندن یک نمونه کارخانه غیر پوچ تغییر داد. پیش از این خطا برگرداندن null بود، بنابراین این فقط قرارداد API را واضحتر میکند. ( I0fcc0 ) - ما آرگومان
currentUserStyleRepositoryبه متدWatchFaceService.getComplicationSlotInflationFactoryاضافه کردهایم تا باcreateComplicationSlotsManagerسازگار باشد. ( I2ddd2 ) -
UserStyleFlavorsبه ویژگی غیرتجربی تبدیل شده است. ( I69cdc ) - ما
ValueTypeآزمایشی را ازRangedValueComplicationDataحذف کردهایم و به جای آنDiscreteRangedValueComplicationDataآزمایشی را معرفی کردهایم که مانندRangedValueComplicationDataبه جز محدوده و مقدار صحیح است. ما همچنینGoalProgressComplicationDataآزمایشی را معرفی کردهایم که شبیه بهRangedValueComplicationDataاست، با این تفاوت که برای پیشرفت به سمت هدفی است که حداقل به طور ضمنی صفر است، و مقدار مجاز است بزرگتر ازtargetValueباشد. توجه داشته باشید برای همه انواعRangedValueحداقل یکی از monochromeImage، متن یا عنوان باید مشخص شود. ( I9590c ) - ما
boundsWithMarginsازComplicationSlotStateحذف کردیم زیرا نرم افزار سیستم مورد استفاده برای آن ندارد. ( I42e26 ) - ما پشتیبانی آزمایشی را برای
WeightedElementsComplicationDataاضافه کرده ایم که از آرایه ای از عناصر (جفت وزن و رنگ) به همراه متن/عنوان/تصویر اختیاری تشکیل شده است. اینها ممکن است به عنوان یک نمودار دایره ای نمایش داده شوند که در آن رنگ ها باید با توجه به زمینه معنادار باشند، زیرا معمولاً جایی برای پیچیدگی برای ارائه برچسب ها وجود ندارد. ( I87eea ) -
ColorRampsآزمایشی که بهصورت اختیاری توسطRangedValueComplicationDataوGoalProgressComplicationDataاستفاده میشود، اکنون به شما امکان میدهد تا دنبالهای از حداکثر هفت رنگ و پرچمی را مشخص کنید که نشان میدهد رنگها باید به آرامی توئین شوند یا اینکه مراحل رنگی با اندازه یکسان باید ارائه شوند. ( I9f5bf ) -
RangedValueComplicationData.drawSegmentedبهvalueTypeتغییر کرده است که یک int باValueType IntDefمتناظر است که معنای معنایی را برای مقدار محدوده ارائه میکند و ممکن است توسط رندر عارضه برای تأثیرگذاری بر استایل استفاده شود. ( I0616b ) - ما پشتیبانی آزمایشی را برای
ColorRangesاختیاری بهRangedValueComplicationDataاضافه کردهایم. معمولاً پیچیدگیها در رنگهایی که صفحه ساعت انتخاب میکند ارائه میشوند، اما گاهی اوقاتComplicationDataSourceبهترین مکان برای تنظیم رنگها است، مثلاً زمانی که معنای معنایی خاصی دارند. به عنوان مثال قرمز به آبی برای دما. ( I5153a ) - ما یک راهنمایی آزمایشی
drawSegmentedبهRangedValueComplicationDataاضافه کردهایم. این به رندرها سیگنال می دهد که نشانگر مقدار دامنه را با بخش هایی ترسیم کنند، جایی که 1 بخش = 1 واحد. ( I7d7c1 )
رفع اشکال
- ما توانایی تعریف
ComplicationSlotBoundsرا نسبت به یک سیستم مختصات صفحه نمایش از پیش تعریف شده اضافه کرده ایم. ( I0985d )
نسخه 1.1
نسخه 1.1.1
10 آگوست 2022
androidx.wear.watchface:watchface-*:1.1.1 منتشر شد. نسخه 1.1.1 حاوی این commit ها است.
- این یک نسخه رفع اشکال است و کاربران نسخه 1.1.0 به شدت تشویق می شوند که آن را ارتقا دهند.
رفع اشکال
مقداردهی اولیه واچ فیس ناهمزمان است و اگر عارضه ای قبل از آماده شدن واچ فیس دریافت شود، در لیست
pendingInitialComplicationsقرار می گیرد و بعدا اعمال می شود. متأسفانهpendingInitialComplicationsخیلی زود اعمال شد، به این معنی که یک پنجره زمانی در طول اولیه سازی صفحه ساعت وجود داشت که در آن عوارض همچنان رویpendingInitialComplicationsقرار می گرفتند و نادیده گرفته می شدند. اکنون این مشکل برطرف شده است. علاوه بر این، این وصله اشکالی را برطرف میکند که در آنComplicationRendererبه اشتباه سعی میکرد جایبانها را بهصورت ناهمزمان بارگذاری کند، که با شکست مواجه شد و باعث شد که گرافیک کامپایل هرگز بهروزرسانی نشود. در نهایت این وصله یک اشکال تئوری امیدوارانه را برطرف می کند که در آن چندینpendingInitialComplicationsباید ادغام شوند. ( 0d03ba3 )رفع بن بست احتمالی در
InteractiveInstanceManagerکه در آنgetExistingInstanceOrSetPendingWallpaperInteractiveWatchFaceInstanceقفل را بیش از زمان لازم نگه می داشت. معمولاً ما انتظار داریم کهengine.setUserStyleسریع باشد اما اگر به دلایلی اینگونه نباشد ، می توانستیم با یک بن بست/ANR به پایان برسیم. این پچ کار غیر ضروری را از قفل خارج می کند و پتانسیل بن بست را از بین می برد. ( 5A2ADCA )چندین مسئله را که حفظ شده
WatchFaceServiceحفظ کرده است ، برطرف کنید. Wakelock می تواند گاهی اوقاتWatchFaceServiceحفظ کند ، و با اضافه کردن یکrelease()تماس () این مسئله را برطرف می کند. همچنینStateFlowsمی توانندWatchFaceServiceحفظ کنند ، وCoroutineScopesزیربنایی را لغو می کند. ( FD48138 )زمان را به
awaitDeferredWatchFace* اضافه کنید وwatchfaceOverlayStyleNullPointerExceptionبرطرف کنید. در شرایط عادی ، این نباید از جمله پس از سناریوهای نصب تازه وDirectBootکه بار CPU زیاد است ، زمان بارها باشد. اگرgetWatchfaceOverlayStyleپس ازclose()نامیده شود ( A4C3A5A ) ما NPE را نیز برطرف کرده ایم.
نسخه 1.1.0
15 ژوئن 2022
androidx.wear.watchface:watchface-*:1.1.0 منتشر می شود. نسخه 1.1.0 شامل این تعهدات است.
تغییرات مهم از 1.0.0
ویرایش بهبود یافته:
- ما از طرح های سلسله مراتبی پشتیبانی می کنیم ، که اجازه می دهد سلسله مراتب سبک ها توسط ویرایشگر UIS نوشته شود. اکنون می توانید نمادهای جداگانه ای را برای استفاده توسط ویرایشگرهای Watch Face و Companion مشخص کنید.
- برای موارد مختلف از چهره ساعت ، پشتیبانی انتخابی وجود دارد ، هر نمونه دارای شناسه منحصر به فرد در تمام سطوح API است.
- اکنون می توانید نام های قابل خواندن انسان را برای
ComplicationSlotsبرای استفاده در ویراستاران مشخص کنید. - پشتیبانی آزمایشی برای یک ظاهر طراحی شده "طعم دهنده ها" ، انتخابی از سبک های انتخاب شده که از ویرایشگر همراه قابل مشاهده خواهد بود.
- هنگام ویرایش دو مورد از Watchface بارگیری می شود ، اکنون برای موارد Watchface برای به اشتراک گذاشتن منابع ، صرفه جویی در حافظه امکان پذیر است
- هنگام انتخاب عارضه در ویرایشگر On Watch Face ، ارائه دهنده فعلی اکنون از پیش انتخاب شده است.
عوارض بهبود یافته:
- اکنون می توانید برای منابع داده اولیه و ثانویه ،
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و پشتیبانی از منابع را آسان تر کنیم. آزمایش با عارضه EdgeBoundingArcادامه دارد ، لوله کشی آن را به سمتdrawHighlightاگرچه در آن زمان برای استفاده توصیه نمی شود.
تغییرات API
- ما یک اضافه بار آزمایشی از
drawHighlightاضافه کرده ایم که یک پارامترBoundingArcمی پذیرد. ( i705f8 ) - Watch Face XML اکنون از منابع منابع پشتیبانی می کند. به شما امکان می دهد از همان ثابت ها هم در XML و هم در کد خود استفاده کنید. ( i3ef61 )
- ما توانایی تعریف
ComplicationSlotBoundsدر فرمcenter_x،center_y،size_x،size_yاضافه کرده ایم. اکنون همچنین می توان با استفاده از منابع منابع ، از واحدهای مختلف (یعنی DP) استفاده کرد. ( ice98 )
رفع اشکال
- رفع
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 ) - ما توانایی وراثت تنظیمات را در
UserStyleSettingXML اضافه کرده ایم. این امکان را به شما می دهد تا لفظی را کاهش داده و یک تنظیم بین فضای ساعت را به اشتراک بگذارید. ( 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رفع می کند که در صورت فراخوانیEGL14.eglCreateContext، فقط در صورت فراخوانیonBackgroundThreadGlContextCreatedتماس می گرفت. اشکال دیگری را برطرف می کند که در آن یک درخشش بصری در تصویر وجود دارد که ناشی ازverticalFlipاست. ( C674AD2 ) - بررسی نسخه XML
WatchFaceService، از بسته اشتباه بارگیری می شد. ( DFA06F3 ) - قالب سیم نگهدارنده در حال حاضر از یک بسته داخلی استفاده می کند. ما نمی خواهیم که صاحبخانه ها فضای ساعتهای موجود را که ممکن است از ASWCCOMPLICATIONDATA داخلی پنهان استفاده کند ، بشکنند. پیش از این قالب سیم از داده های
NoDataComplicationمحل نگهداری مکان را در قسمتهای معمول ذخیره می کرد (مشکل ساز به دلیل چهره های قدیمی ، رشته مکان نگهدارنده را که در نظر گرفته نشده است) می کند ، در عوض ما اکنون از یک بسته داخلی برای جداسازی کامل این استفاده می کنیم. ( D5E7BD2 )
نسخه 1.1.0-beta01
20 آوریل 2022
androidx.wear.watchface:watchface-*:1.1.0-beta01 منتشر می شود. نسخه 1.1.0-beta01 شامل این تعهدات است.
تغییرات API
- اکنون روشهای
WatchFaceMetadataClient(getUserStyleSchema،getComplicationSlotMetadataMap،getUserStyleFlavors) وHeadlessWatchFaceClient.getUserStyleFlavorsبه جایWatchFaceException، RuntimeException را کنترل نمی کنند. ( 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.dataSourceیکComplicationDataارسال کرده است ، برخی از چهره های ساعت ممکن است از این برای سفارشی کردن نمایش عارضه استفاده کنند. ( i44a73 )
تغییرات API
-
Renderer.CanvasRendererوRenderer.GlesRendererبه نفعRenderer.CanvasRenderer2وRenderer.GlesRenderer2کهSharedAssetsپشتیبانی می کنند ، به روشهای ارائه دهنده کاهش یافته است. برای Java Interop ماListenableCanvasRenderer2وListenableGlesRenderer2را معرفی کرده ایم. ( i31ffa ) - اضافه شده
@WatchFaceFlavorsExperimentalتوانایی تعریف طعم ها - لیست پیش تنظیم شده از فضای ساعتهای سبک ( I04DD0 ) -
Renderer.sharedAssetsاکنون یک جریان دولتی است و ماRenderer.SharedAssetsFactoryحذف کرده ایم ( I12AC5 ) -
UserStyleSchema.userStyleSettingsدیگر کاهش نمی یابد ( IBA7E3 ) - ما
HeadlessWatchFaceClient.getUserStyleSchemaDigestHashاضافه کرده ایم که به یکHeadlessWatchFaceClientاجازه می دهد تا از سربار نسبتاً کم عبور از طرح از طریق AIDL قبل از محاسبه هضم هضم جلوگیری کند. ( i33597 ) - ما
isUserStyleSchemaStaticبهWatchFaceMetadataClientاضافه کرده ایم که درست است و فقط در صورتی کهUserStyleSchemaبه تغییر نپرداز باشد ، مگر اینکه APK چهره ساعت به روز شود. ( i45a3f ) - ما
getDigestHashبهUserStyleSchemaاضافه کرده ایم که یک هشدار هضم این طرح را محاسبه می کند. این می تواند مورد استفاده قرار گیرد تا به طور مؤثر تعیین کند که آیاUserStyleSchemaتغییر کرده است یا خیر. ( I2063D ) -
METADATA_KEY_DATA_SOURCE_DEFAULT_CONFIGURATION_SUPPORTEDبهMETADATA_KEY_DATA_SOURCE_DEFAULT_CONFIG_SUPPORTED( i9ba5d ) تغییر نام داد. -
UserStyleSetting.OnWatchEditorDataبهUserStyleSetting.WatchFaceEditorDataتغییر نام داده است ، این شامل داده هایی است که صرفاً توسط ویرایشگر On Watch Face استفاده می شود. ( IF3AFB )
نسخه 1.1.0-alpha04
9 مارس 2022
androidx.wear.watchface:watchface-*:1.1.0-alpha04 منتشر می شود. نسخه 1.1.0-alpha04 شامل این تعهدات است.
تغییرات API
-
ComplicationDataبه روز ممکن است همیشه در دسترس نباشد (به عنوان مثال عوارض ذخیره شده منقضی شده) بنابراین ماNoDataComplicationبا یک عارضه مکان یاب اختیاری گسترش داده ایم وPhotoImage.PLACEHOLDERComplicationText.PLACEHOLDERاضافه شده است. محلول ،MonochromaticImage.PLACEHOLDER،SmallImage.PLACEHOLDER. مکان نگهدارندهNoDataComplicationData. در صورت انتخاب این مکان ها پیشنهاد می شود که با جعبه ها/قوس های خاکستری ارائه شود. ( i6285d ) - ما
ComplicationData.getNextChangeInstantاضافه کرده ایم که لحظه بعدی را به شما می گوید بعد از لحظه مرجع که در آن هر زمینه ای از عارضه ممکن است تغییر کند. این در داخل برای برنامه ریزی فریم ها برای به روزرسانی های عوارض استفاده می شود. به عنوان مثال اگر چهره ساعت به طور معمول یک بار در دقیقه به روز شود ، تنظیم عارضه Watch Watch باعث می شود که یک بار در ثانیه به روز شود. ( i7ceb2 ) -
EditorSession.watchFaceIdاکنون می تواند در تمام سطوح API استفاده شود. علاوه بر این ، ارزش آن اکنون همیشه باWatchState.watchFaceInstanceIdسازگار خواهد بود. ( i323b9 ) - API
getPendingIntentForTouchEventدیگر لازم نیست زیرا مسئله اساسی در این چارچوب برطرف شده است ، بنابراین تمام API های مرتبط حذف شده اند. فضای ساعتها نیازی به انجام کار خاصی برایPendingIntentsدر حال آتش سوزی ندارند ، حتی اگر اخیراً دکمه خانه فشرده شده باشد. ( i1f2e8 ) - ما
RendererParameters.isForScreenShotرا اضافه کرده ایم که اگر رندر برای یک صفحه نمایش باشد صادق خواهد بود. برخی از چهره های تماشای با انیمیشن ها برای اطمینان از بهترین نتیجه باید این موضوع را بدانند. ( i96d99 ) - ما
WatchFaceExceptionReasonبهWatchFaceExceptionاضافه کرده ایم تا زمینه ای را برای آنچه اشتباه پیش آمد ، ارائه دهیم. ( I01D15 ) -
ComplicationDataSourceService.onImmediateComplicationRequestحذف شده است ، در عوضComplicationRequest.immediateResponseRequiredاضافه شده است تا نشان دهد که ارائه دهنده باید سریع پاسخ دهد (ایده آل در <100ms پاسخ می دهد). توجه داشته باشید که این قابلیت در پشتcom.google.android.wearable.permission.USE_IMMEDIATE_COMPLICATION_UPDATEمجاز است. ( IE6B23 ) - ناپایدار بودن در Core و AppCompat برای مطابقت با Tiramisu DP2 ( I0CBB7 )
رفع اشکال
- در صورت عدم موفقیت اعتبار سنجی برنامه ، برنامه Watchface با استثنا خراب می شود ( 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، ChildSettings اضافه کرده ایم که در ابتدا فقط توسطListOptionاستفاده می شود. این اجازه می دهد تا یک سلسله مراتب از سبک ها برای استفاده توسط ویرایشگر UIS توصیف شود ، Userstyle زیربنایی بدون تغییر است و هنوز هم یکMap<String, ByteArray>است. ( IAF6F4 ) - ما
WatchFace.OverlayStyleرا اضافه کرده ایم که به چهره ساعت اجازه می دهد تا ارائه پوشش وضعیت سیستم را پیکربندی کند. ( i8520D ) - ما یک پارامتر جدید سازنده اختیاری برای
CanvasRenderer(پیش فرض نادرست است) یک پارامتر جدید سازنده اختیاریclearWithBackgroundTintBeforeRenderingHighlightLayerمعرفی کرده ایم. ( IE01E5 ) - اضافه شده
androidx.watchface.complications.datasource.DEFAULT_CONFIGURATION_SUPPORTEDکلید ابرداده که به منابع داده عارضه اجازه می دهد تا نشان دهند که می توانند بدون هیچ پیکربندی یک مقدار پیش فرض را ارائه دهند ( ICC0D4 ) - این معمول است که ویرایش چهره ساعت برای وجود یک نمونه تعاملی و بی سر و صدا وجود دارد. برای کمک به صرفه جویی در حافظه ، ما
Renderer.SharedAssetsمعرفی کرده ایم که به یک رندر چهره ساعت اجازه می دهد تا داده های تغییر ناپذیر (به عنوان مثال بافت و سایه بان) را بین موارد به اشتراک بگذارد.GlesRenderer.setEglConfigوGlesRenderer.setEglDisplayمستهلک می شوند ، هرگز در نظر گرفته نشده بود که این موارد قابل حل باشد و انجام این کار منجر به رفتار نامشخص می شود. ( i0d9e7 ) - ما
setNameResourceId&setScreenReaderNameResourceId(که منابع رشته مرجع) را بهComplicationSlot.Builderو گیرنده های مربوطه درandroidx.wear.watchface.client.ComplicationSlotStateاضافه کرده ایم. این به سیستم اجازه می دهد تا نام عوارض را برای استفاده در ویرایشگران و خوانندگان صفحه نمایش واکشی کند. ( if6c6a ) -
WatchfaceMetadataClient.getUserStyleSchemaوgetComplicationSlotMetadataMapاکنون به جایRemoteException،WatchFaceExceptionپرتاب می کنند. ( i86f11 ) -
onSynchronousComplicationRequestو توابع مرتبط با آن درComplicationDataSourceServiceبهonImmediateComplicationRequestو غیره تغییر نام داده اند ... ( I87BA0 ) - ویرایشگرهای Watch Face نسبت به ویراستاران همراه ، املاک و مستغلات بسیار کمتری دارند ، بنابراین پشتیبانی از نمادهای مختلف برای ویرایشگرهای Watch Face منطقی است. این وصله
OnWatchEditorData(در حال حاضر فقط یک نماد) را به کلیه userstyletings ها و در صورت لزوم کلاس های گزینه آنها اضافه می کند. ( IF1886 ) - ما
@JvmOverloadsبه سازنده LearbeableSrenderer برای بهتر Interop Java اضافه کرده ایم. ( I2974a )
رفع اشکال
- سازنده
ListenableGlesRendererاکنون به درستی به عنوان@Throws(GlesException::class)مشخص شده است ، و اکنون امکان گسترش این کلاس در جاوا امکان پذیر است. ( IAC6D0 ) - رفع اشکال با
PhotoImageComplicationDatatapaction به درستی انجام نمی شود ( I1CC30 )
نسخه 1.1.0-alpha02
12 ژانویه 2022
androidx.wear.watchface:watchface-*:1.1.0-alpha02 منتشر می شود. نسخه 1.1.0-alpha02 شامل این تعهدات است.
ویژگی های جدید
- برای کمک به اشکال زدایی و آزمایش ،
ComplicationDataو زیر کلاسهای مرتبط هم اکنون دارای روشهای هشکد ، برابر و روشهای ToString است که باعث می شود کار با آنها آسان تر شود.
تغییرات API
- روشهای
WatchfaceMetadataClientیک بار دیگر ازRemoteExceptionsدر صورت لزوم پرتاب می کنند ، و این باعث می شود کد مشتری بتواند خطاهای چهره ساعت را بدست آورد. ( i78785 ) - در حال حاضر
ComplicationDataو Sub Class اکنون 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، برای پشتیبانی از این و موارد مختلف ، شناسه نمونه Watch Face اکنون از طریقWatchState.watchFaceInstanceIdدر دسترس است.در حال حاضر
ComplicationDataدر حال ذخیره است تا عوارض بلافاصله پس از بارگیری نمایش داده شود. بعضی اوقاتComplicationDataتوسط سیستم در حافظه ذخیره می شود و گاهی اوقات توسط کتابخانه های Watch Face سریال می شود. در صورت سریال سازی هر نوع tapaction مرتبط از بین می رود ، اگر این اتفاق بیفتدComplicationData.tapActionLostDueToSerializationtrueباز می گردد و چهره ساعت باید این عارضه را متفاوت کند (به عنوان مثال خاکستری یا نیمه شفاف) تا نشان دهد که نمی توان از آن استفاده کرد. این سیستم در اسرع وقتComplicationDataبه روز شده را با یکtapActionارسال می کند.برای حمایت از این ، ما برای حمایت از این یک ویژگی
ComplicationDataترComplicationDataTimelineیک ویژگی کلی تر اضافه شده است. این می تواند برای ارائه دنباله ای ازComplicationDataدروازه دار برای تحویل به صورت ساعت که می تواند ذخیره و به طور خودکار به روز شود ، استفاده شود. به عنوان مثال ، پیش بینی آب و هوا امروز در زمان های مختلف یا چندین رویداد تقویم آینده.ComplicationRequestListenerبا یک روش جدیدonComplicationDataTimelineگسترش یافته است که می توانید برای بازگرداندن این داده ها استفاده کنید.DefaultComplicationDataSourcePolicyگسترش یافته است ، بنابراین می توانید برای منابع داده اولیه و ثانویه ،ComplicationTypeمشخص کنید.ما از ارائه دهندگان عارضه همزمان پشتیبانی می کنیم که در آن عارضه در فرکانس بالاتر از حد معمول به روز می شود ، تا زمانی که صورت ساعت قابل مشاهده و غیر آمیخته باشد ، یک بار در ثانیه. توجه: ارائه دهندگان عارضه همزمان ممکن است به دلیل نگرانی در مورد فشار حافظه ، استفاده محدودی داشته باشند.
تغییرات
PendingIntentTapListenerدر حال تعقیب به دلیل اینکه مشکل اساسی را حل کرده ایم (ممکن نیست که چهره ساعت به مدت 5 ثانیه پس از فشار دادن دکمه صفحه اصلی فعالیت کند) در چارچوب حل شود.
تغییرات API
-
ComplicationData.isCachedبهtapActionLostDueToSerializationتغییر یافته است که در هنگام تعیین اینکه آیا شکاف عارضه باید به گونه ای متفاوت ارائه شود تا سیگنال شود که نمی توان از آن استفاده کرد. ( i6de2f ) -
ComplicationDataTimelineاضافه شده بهwear-complication-data-source. این می تواند برای ارائه دنباله ای ازComplicationDataدروازه دار برای تحویل به صورت ساعت که می تواند ذخیره و به طور خودکار به روز شود ، استفاده شود. به عنوان مثال ، پیش بینی آب و هوا امروز در زمان های مختلف یا چندین رویداد تقویم آینده.ComplicationRequestListenerبا یک روش جدیدonComplicationDataTimelineگسترش یافته است که می توانید برای بازگرداندن این داده ها استفاده کنید. یک بسته بندی جدید Kotlin برای تعلیق خدمات منبع داده ، یک بسته بندی جدیدSuspendingTimelineComplicationDataSourceService. ( idecdc ) - اضافه شده
PendingIntentTapListenerوWatchFaceControlClient.getPendingIntentForTouchEvent. این می تواند به تماشای چهره هایی که نیاز به راه اندازی اهداف در پاسخ به شیرها دارند ، کمک کند تا در مورد مشکلی کار کنند که در آن چارچوب بلوک فعالیت های جدید را به مدت 5 ثانیه پس از فشار دادن دکمه Home انجام می دهد. ( I98074 ) - یک حافظه
ComplicationDataهر ساعت را در هر ساعت معرفی کرد. هدف از این امر این است که به چهره ساعت اجازه داده شود تا آخرین مقادیر داده های عارضه شناخته شده را پس از بارگیری به نمایش بگذارد تا اینکه سیستم فرصتی برای به روزرسانی آنها داشته باشد. یک روش جدید APIWatchFaceControlClient.hasComplicationCacheدر نظر گرفته شده برای OEM ها وجود دارد. این ممکن است در استراتژی سیستم برای ارسال عوارض به چهره ساعت تأثیر بگذارد. علاوه بر این ،ComplicationDataدارای یک خاصیتisCachedاست و توصیه می شود که عوارض ذخیره شده به طور متفاوتی ارائه شود زیراtapActionنمی تواند ذخیره شود و در یک عارضه ذخیره شدهnullشود. ( i404b0 ) - شناسه نمونه Watch Face اکنون از طریق
WatchState.watchFaceInstanceIdدر دسترس است. اکثر چهره های ساعت نیازی به استفاده از این کار ندارند ، اما اگر یک حالت چهره در هر ساعت وجود داشته باشد که در این طرح ذخیره نشده باشد ، این کلید استفاده برای شناسایی نمونه چهره ساعت است. برای کمک به پشتیبانی از این امر ، اکنون می توانید هنگام تماس باWatchFaceControlClient.createHeadlessWatchFaceClientیک شناسه ارائه دهید. ( i1ff98 ) - توسعه
DefaultComplicationDataSourcePolicyبا امکان تنظیمComplicationTypesپیش فرض برای ارائه دهنده اولیه ، ثانویه و برای ارائه دهنده سیستم Fallback.ComplicationSlot.defaultDataSourceTypeاکنون کاهش یافته است. ( if0ce3 ) -
ComplicationSlot.configExtrasاکنون قابل تغییر است و می تواند قبل از فراخوانیEditorSession.openComplicationDataSourceChooser()به روز شود. ( i6f852 ) -
WatchFace.setComplicationDeniedDialogIntentوsetComplicationRationaleDialogIntentاضافه شده است. این اهداف برای نشان دادن گفتگوی منطقی قبل از درخواست مجوزهای عارضه راه اندازی شده است ، و گفتگوی دیگری توضیح می دهد که هنگام تلاش برای ویرایش یک عارضه در هنگام تکذیب مجوزها ، مجوز عوارض لازم است (انتخاب کننده ارائه دهنده نتوانسته است باز شود تا گفتگو مورد نیاز باشد). ( i3a29c ) -
UserStyleSchemaوComplicationSlotsاکنون می تواند در XML تعریف شود. این امر باعث می شود چهره Watch Face ساخت و ساز را ساده تر کند و نمایش داده های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 شامل این تعهدات است.
رفع اشکال
- رفع اشکال با
PhotoImageComplicationDatatapaction به درستی انجام نمی شود ( I1CC30 )
نسخه 1.0.0
1 دسامبر 2021
androidx.wear.watchface:watchface-*:1.0.0 منتشر می شود. نسخه 1.0.0 شامل این تعهدات است.
ویژگی های اصلی 1.0.0
بسته androidx.wear.watchface کتابخانه جدید پیشنهادی برای توسعه چهره های WearOS Watch است. این ویژگی های جدید در کتابخانه پشتیبانی قدیمی پوشیدنی دارد.
- یک ظاهر طراحی شده کاربر (به عنوان مثال برای تغییر پالت رنگ ، سبک دستان ساعت ، ظاهر ساعت و غیره) مستقیماً توسط کتابخانه پشتیبانی می شود (به
androidx.wear.watchface.styleمراجعه کنید). اکنون تهیه ویرایشگر On Watch Face با استفاده از Androidx.wear.watchface.editor و چهره ساعت شما می توانید از برنامه System Companion ویرایش کنید بدون اینکه نیاز به نوشتن کد اضافی داشته باشید بسیار ساده تر است. - بهترین شیوه های پخته شده در این کتابخانه به طور خودکار برچسب های محتوای صفحه نمایش صفحه نمایش را برای عوارض ایجاد می کند (شما همچنین می توانید موارد خود را اضافه کنید) ، و فریمر در صورت کم بودن باتری و شارژ برای بهبود عمر باتری به طور خودکار کاهش می یابد.
- برای ایجاد یک چهره ساعت ، به ویژه برای عوارضی که بسیاری از پلاکت ها به داخل کتابخانه منتقل شده اند ، کد کمتری لازم است.
رفع اشکال
- رفع
EditorSession.userStyle.compareAndSet( i6f676 ) - تأخیرهای ساعت بسیار کوتاه را برطرف کنید ( IFFB97 )
- اعزام
InteractiveWatchFaceImpl.onDestroywatchfaceimpl.ondestroy در موضوع UI ( I83340 ) - چندین مشکل با گیرنده های پخش ( I7D25F ) رفع کنید
نسخه 1.0.0-RC01
3 نوامبر 2021
androidx.wear.watchface:watchface-*:1.0.0-rc01 منتشر می شود. نسخه 1.0.0-RC01 شامل این تعهدات است.
رفع اشکال
رفع Dump () () که توسط ADB Shell Dumpsys نامیده می شود) که با مهاجرت جریان شکسته شد. ( 087CF9E )
از سفارش مناسب از WritedIrectBootPrefs اطمینان حاصل کنید. ما می خواهیم WritedIrectBootPrefs همیشه پس از برنامه های اولیه اجرا شود یا به خطر بیفتد و به تأخیر بیندازیم.
اطمینان حاصل کنید که renderer.ondestroy نامیده می شود. در سناریویی که Renderer ایجاد شده است اما WF Init تکمیل نشده است و موتور. ( F9952DC )
بهینه سازی/رفع IsBatterylowandNotharging. این پچ تنظیم اولیه isbatterylowandnotchring را در اوایل حرکت می دهد و این بدان معنی است که می توان آن را به طور موازی با CreateWatchFace انجام داد. علاوه بر این ، ما اکنون به action_power_disconnected گوش می دهیم. ( DDFFD80
interactiveWatchFaceClientImpl.IsconnectionAlive پس از بستن نادرست است ( 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. توجه داشته باشید این بدان معنی است که شما نمی توانید این کتابخانه و همچنین نسخه قبلی Alphawear:watchface:watchface-complications-dataدرج کنید زیرا در مورد کلاس های تکراری خطایی می کنید. ( I97195 ) - Renderer.dump به Renderer.ondump تغییر نام داده است و با Uithread حاشیه نویسی شده است. ( i44845 )
-
InteractiveWatchFaceClient.addWatchFaceReadyListenerبهaddOnWatchFaceReadyListenerتغییر نام داده است وremoveWatchFaceReadyListenerبهremoveOnWatchFaceReadyListenerتغییر نام داده است. ( i48fea ) - editorsession
getComplicationsPreviewDataوgetComplicationsDataSourceInfoدیگر توابع تعلیق نیستند ، در عوض آنها ویژگی هایStateFlow<>هستند که مقدار آنها در ابتدا تهی است. در LeadeableDitorsessiongetListenableComplicationPreviewDataو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 شامل این تعهدات است.
ویژگی های جدید
کتابخانه Watchface اکنون یک گروه کتابخانه ای واحد است و در نتیجه کتابخانه ها حرکت کرده اند و شما باید واردات 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.wearWatchface و عوارض جداگانه را به گروه کتابخانهandroidx.wear.watchfaceمنتقل کنید. ( B25F3C0 ) - اضافه شده EditorRequest.CanWatchFacesUpportheadledited برای اطلاع مشتری در مورد اینکه آیا یک ویرایشگر Watchface از ویرایش بدون سر پشتیبانی می کند یا خیر. توجه داشته باشید که برخی از منفی های دروغین با این امر وجود خواهد داشت زیرا پشتیبانی در ASOP/1756809 اضافه شده است ، اما این مقدار صحیح را برای همه فضای مهم آینده باز می گرداند. ( CA55590 )
- Renderer اکنون یک روش زباله () دارد که می تواند برای اضافه کردن داده های سفارشی به اطلاعات تولید شده توسط ABD Shell Dumpsys Activity Service WatchCeservice اضافه شود. ( 95235F9 )
- InteractiveWatchFaceClient.AddwatchFacereAdylistener اکنون ابتدا مجری را مشخص می کند. ( 563AC2F )
- StateFlowCompathelper حذف شده است. به جای آن باید از Aslivedata (androidx.lifecycle.aslivedata) استفاده شود. ( BD35D3 )
- جریان فعلی. ( i44889 )
- Watchfacereadylistener به OnwatchFacereadylistener تغییر نام داده است. ( IC12A9 )
رفع اشکال
- interactiveInStanCemanager.DeleteInstance برای تماس با ondestroy این مورد برای اطمینان از تعاملی watchfaceImpl جمع آوری زباله جمع آوری شده است. ( FCE4AF8 ، B/199485839 )