Watchface بپوشید
توجه: از 10 ژوئیه 2024، واچ فیس ها باید از فرمت Watch Face استفاده کنند تا روی ساعت های جدیدی که با Wear OS 5 از قبل نصب شده راه اندازی می شوند، نصب شوند. در این مقاله مرکز راهنمایی درباره تغییرات کاربر بیشتر بیاموزید.
علاوه بر این، از اوایل سال 2025 (تاریخ مشخصی که در سه ماهه چهارم سال 2024 اعلام می شود)، تمام واچ فیس های جدید منتشر شده در Google Play باید از فرمت Watch Face استفاده کنند.
آخرین به روز رسانی | انتشار پایدار | کاندید را آزاد کنید | نسخه بتا | انتشار آلفا |
---|---|---|---|---|
18 سپتامبر 2024 | 1.2.1 | - | - | 1.3.0-alpha04 |
اعلام وابستگی ها
برای افزودن وابستگی به 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" }
برای اطلاعات بیشتر درباره وابستگیها، به افزودن وابستگیهای ساخت نگاه کنید.
بازخورد
بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.
برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.
نسخه 1.3
نسخه 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_TYPES
face. این به این معنی است که یک ارائهدهنده عوارض ممکن است انتخاب کند که انواع مختلفی را به واچفیسهای قابل اعتماد در مقابل غیرقابل اعتماد ارائه دهد.
تغییرات API
- انتشار
@Deprecated
class به ویژگی ( 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 کیلوبایت را نگه دارد. محدودیت قبلی برایCustomValueUserStyleSetting
1 کیلوبایت بود. علیرغم افزایش محدودیتهای اندازه، توسعهدهندگان چهره ساعت تشویق میشوند که دادهها را کوچک نگه دارند، زیرا تنظیمات در طول ویرایش از طریق بلوتوث ارسال میشوند و پهنای باند بلوتوث محدود است.
تغییرات 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 کیلوبایت را نگه دارد. محدودیت قبلی برایCustomValueUserStyleSetting
1 کیلوبایت بود. ( 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
- مدیر کاغذ دیواری گاهی اوقات می تواند از یک موتور جدا شود و موتور دیگری بسازد. ما یک
DisconnectReason
int 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
* اضافه کنید وwatchfaceOverlayStyle
NullPointerException
برطرف کنید. در شرایط عادی این نباید از بین برود، از جمله پس از نصب تازه و سناریوهایDirectBoot
که در آن بار CPU زیاد است. همچنین اگرgetWatchfaceOverlayStyle
پس ازclose()
فراخوانی شود، NPE را رفع کرده ایم.( a4c3a5a )
نسخه 1.1.0
15 ژوئن 2022
androidx.wear.watchface:watchface-*:1.1.0
منتشر شد. نسخه 1.1.0 حاوی این commit ها است.
تغییرات مهم از 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 حاوی این commit ها است.
ویژگی های جدید
- ما برخی از ترفندهای کاربردی را برای پشتیبانی از watchface 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 ) - ما توانایی وراثت تنظیمات را در
UserStyleSetting
XML اضافه کرده ایم. این امکان را به شما می دهد تا لفظی را کاهش داده و یک تنظیم بین فضای ساعت را به اشتراک بگذارید. ( 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
به روز ممکن استMonochromaticImage.PLACEHOLDER
در دسترس نباشد (به عنوانPhotoImage.PLACEHOLDER
عوارض ذخیره شده منقضی شده) ، بنابراین ماNoDataComplication
را با یکSmallImage.PLACEHOLDER
اختیاری مکان نگهدارنده و اضافه شده استComplicationText.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 ) - رفع اشکال با
PhotoImageComplicationData
tapaction به درستی انجام نمی شود ( 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.tapActionLostDueToSerialization
true
باز می گردد و چهره ساعت باید این عارضه را متفاوت کند (به عنوان مثال خاکستری یا نیمه شفاف) تا نشان دهد که نمی توان از آن استفاده کرد. این سیستم در اسرع وقت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 برای تعلیق خدمات منبع داده ، یک بسته بندی جدید KotlinSuspendingTimelineComplicationDataSourceService
. ( 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 شامل این تعهدات است.
رفع اشکال
- رفع اشکال با
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 Watch است. این ویژگی های جدید در کتابخانه پشتیبانی قدیمی پوشیدنی دارد.
- یک ظاهر طراحی شده کاربر (به عنوان مثال برای تغییر پالت رنگ ، سبک دستان ساعت ، ظاهر ساعت و غیره) مستقیماً توسط کتابخانه پشتیبانی می شود (به
androidx.wear.watchface.style
مراجعه کنید). اکنون تهیه ویرایشگر On Watch Face با استفاده از Androidx.wear.watchface.editor و چهره ساعت شما می توانید از برنامه System Companion ویرایش کنید بدون اینکه نیاز به نوشتن کد اضافی داشته باشید. - بهترین شیوه های پخته شده در این کتابخانه به طور خودکار برچسب های محتوای صفحه نمایش صفحه نمایش را برای عوارض ایجاد می کند (شما همچنین می توانید موارد خود را اضافه کنید) ، و فریمر در صورت کم بودن باتری و شارژ برای بهبود عمر باتری به طور خودکار کاهش می یابد.
- برای ایجاد یک چهره ساعت ، به ویژه برای عوارضی که بسیاری از پلاکت ها به داخل کتابخانه منتقل شده اند ، کد کمتری لازم است.
رفع اشکال
- رفع
EditorSession.userStyle.compareAndSet
( i6f676 ) - تأخیرهای ساعت بسیار کوتاه را برطرف کنید ( IFFB97 )
- اعزام
InteractiveWatchFaceImpl.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.wear
Watchface و عوارض جداگانه را به گروه کتابخانه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 )