خلفية شاشة ساعة Wear
آخر تعديل | الإصدار المستقر | إصدار مرشح | الإصدار التجريبي | الإصدار الأولي |
---|---|---|---|---|
29 تشرين الثاني (نوفمبر) 2023 | 1.2.0 | - | - | - |
تعريف التبعيات
لإضافة تبعية إلى Wear، يجب إضافة مستودع Google Maven إلى مشروعك. يمكنك الاطّلاع على مستودع Maven الذي يضم أدوات Google للحصول على مزيد من المعلومات.
أضف التبعيات للعناصر التي تحتاجها في ملف build.gradle
لتطبيقك أو وحدتك:
رائع
dependencies { // Use to implement wear watchfaces implementation "androidx.wear.watchface:watchface:1.2.0" // Use to implement wear watchface complications implementation "androidx.wear.watchface:watchface-complications-data-source:1.2.0" // (Kotlin-specific extensions) implementation "androidx.wear.watchface:watchface-complications-data-source-ktx:1.2.0" // Use to implement a watchface style and complication editor implementation "androidx.wear.watchface:watchface-editor:1.2.0" // 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.0" }
Kotlin
dependencies { // Use to implement wear watchfaces implementation("androidx.wear.watchface:watchface:1.2.0") // Use to implement wear watchface complications implementation "androidx.wear.watchface:watchface-complications-data-source:1.2.0" // (Kotlin-specific extensions) implementation "androidx.wear.watchface:watchface-complications-data-source-ktx:1.2.0" // Use to implement a watchface style and complication editor implementation("androidx.wear.watchface:watchface-editor:1.2.0") // 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.0" }
ولمزيدٍ من المعلومات عن التبعيات، يُرجى الاطّلاع على مقالة إضافة تبعيات الإصدار.
ملاحظات
تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إخبارنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة تصويتك إلى مشكلة حالية من خلال النقر على زر النجمة.
راجع مستندات أداة تتبُّع المشاكل للحصول على مزيد من المعلومات.
الإصدار 1.2
الإصدار 1.2.0
29 تشرين الثاني (نوفمبر) 2023
تم إصدار "androidx.wear.watchface:watchface-*:1.2.0
". يحتوي الإصدار 1.2.0 على هذه الالتزامات.
تغييرات مهمة منذ الإصدار 1.1.0
- لقد وفّرنا بعض أنواع الإضافات الجديدة المتاحة للاستخدام من Android T:
GoalProgressComplicationData
التي تشبهRangedValueComplicationData
باستثناء أنها للتقدم نحو هدف يكون فيه الحد الأدنى ضمنيًا صفرًا، ويُسمح بأن تكون القيمة أكبر منtargetValue
.WeightedElementsComplicationData
الذي يتكون من مصفوفة من العناصر (أزواج من الوزن واللون) بالإضافة إلى نص/عنوان/صورة اختيارية. قد يتم عرض هذه كمخطط دائري حيث يجب أن تكون الألوان ذات معنى للسياق، حيث لا يوجد عادةً مجال في الإضافة لعرض التصنيفات.
- لقد أتحنا استخدام
ColorRanges
الاختياري إلىRangedValueComplicationData
. في العادة، يتم عرض الإضافات بألوان تناسب خلفية شاشة الساعة، ولكن في بعض الأحيان، يكون من الأفضل ضبطComplicationDataSource
لضبط الألوان، مثلاً عندما يكون لها معنى دلالي معيّن. مثلاً، الأحمر إلى الأزرق لدرجة الحرارة. - كل نوع من أنواع
ComplicationData
تقريبًا يتوافق الآن معSmallImages
. - لقد أضفنا السمة
ComplicationDisplayPolicy
حيث يطلبDO_NOT_SHOW_WHEN_DEVICE_LOCKED
من خلفية شاشة ساعة متوافقة عدم عرض الإضافة عندما يكون الجهاز مقفلاً. - من خلال Android T، سيتمكّن المصنّعون الأصليون للأجهزة من تحديد ما إذا كان طلب الإضافة واردًا من خلفية شاشة ساعة في القائمة التي تحدّدها البيانات الوصفية الخاصة بـ
android.support.wearable.complications.SAFE_WATCH_FACES
ضمن ملف البيان الخاص بمقدّم التطبيق بحلولComplicationRequest#isForSafeWatchFace
. سيحتاج مقدّم الخدمة إلى إذن "com.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE
" لتلقّي أي معلومات أخرى غير TargetwatchFaceSafe.UNKNOWN`. - أصبحت ميزة "
UserStyleFlavors
" ميزة غير تجريبية.
الإصدار 1.2.0-rc01
18 تشرين الأول (أكتوبر) 2023
تم إصدار "androidx.wear.watchface:watchface-*:1.2.0-rc01
". يحتوي الإصدار 1.2.0-rc01 على هذه الالتزامات.
الإصدار 1.2.0-beta02
6 أيلول (سبتمبر) 2023
تم إصدار "androidx.wear.watchface:watchface-*:1.2.0-beta02
". يتضمّن الإصدار 1.2.0-beta02 هذه الالتزامات.
الميزات الجديدة
SuspendingComplicationDataSourceService#onDestroy
مفتوح الآن. يُرجى العلم أنّه تم إلغاء إمكانية الإضافة التلقائية للنظام على الطقس.
تغييرات واجهة برمجة التطبيقات
- العودة إلى النسخة السابقة من "عرض مصدر بيانات جديد لمضاعفات الطقس" (I6f335)
الإصدار 1.2.0-beta01
23 آب (أغسطس) 2023
تم إصدار "androidx.wear.watchface:watchface-*:1.2.0-beta01
". يتضمّن الإصدار 1.2.0-beta01 هذه الالتزامات.
الميزات الجديدة
- من Android T، سيدعم WearOS الآن إضافة تلقائية في نظام الطقس.
تغييرات واجهة برمجة التطبيقات
- أضِف عنصر احتياطي للنظام التلقائي للطقس لعرض الإضافات. (Ia0994)
- تضيف هذه التصحيح
WatchFaceRuntimeService
وWatchFaceControlClient.createWatchFaceRuntimeControlClient
مع أغلفة الجوافة. وتدعم هذه التطبيقات أوقات تشغيل خلفية شاشة الساعة التي تُعد نوعًا خاصًا من خلفية شاشة الساعة التي تحمِّل التعريف الخاص بها من حزمة أخرى. في الوقت الحالي، لا يتوافق نظام التشغيل WearOS إلا مع تنسيق خلفية شاشة ساعة Android. (I2799f) - نتواصل معك بشأن رمز التصحيح aosp/2636578 الذي سنعيد تسميته دفاتر int، بحيث لا يحتاج أي رمز يعتمد على
WatchFaceType
أوCanvasType
أوTapType
أوComplicationsSlotBoundsType
إلى التغيير. (I4098b) - تم تعديل ملفات واجهة برمجة التطبيقات لإضافة تعليق توضيحي بشأن إلغاء التوافق. (I8e87a، b/287516207)
- تعرض هذه التصحيح الثوابت
WatchFaceType
فيWatchFaceTypes
والثوابتCanvasType
فيCanvasTypes
والثوابتTapType
فيTapTypes
والثوابتComplicationsSlotBoundsType
فيComplicationsSlotBoundsType
. (I3b85a، b/288750666) - يتم استخدام
WatchFace.OverlayStyle
بشكل منخفض جدًا ولا يدعمه المصنّعون الأصليون للأجهزة بشكل جيد، لذا نعمل على إيقافها وننوي إزالتها في وقت لاحق. (I7344a)
الإصدار 1.2.0-alpha09
21 حزيران (يونيو) 2023
تم إصدار "androidx.wear.watchface:watchface-*:1.2.0-alpha09
". يحتوي الإصدار 1.2.0-alpha09 على هذه الالتزامات.
الميزات الجديدة
- يقبل
RangedValueComplicationData.Builder
الآن استخدامDynamicFloat
، وتتوفّرDynamicComplicationText
جديد كفئة فرعية منComplicationText
، وكلاهما يمكنه استخدام التعبيرات الديناميكية بالإضافة إلى روابط الأنظمة الأساسية التي يتم تحديثها في 1 هرتز على الأجهزة المتوافقة التي تعمل بنظام التشغيل Wear 4.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة الأنواع الديناميكية للمسافة اليومية والسعرات الحرارية اليومية والطوابق اليومية. تتوفّر الآن مفاتيح مصادر سلامة النظام الأساسي ضمن النطاق
PlatformHealthSources.Keys
(Ib7637). - يمكنك تنفيذ سياسة
PlatformDataProvider
لتحديد معدّل نبضات القلب وعدد الخطوات اليومية. تمت إزالة واجهةSensorGateway
من واجهة برمجة التطبيقات العامة. (I55b84) - يمكنك إعادة تسمية
StateEntryValue
إلىDynamicDataValue
وتعديل واجهات برمجة التطبيقات للحالة لاستخدامDynamicDataKey
. (If1c01) - يُرجى إضافة
AppDataKey
للوصول إلى الحالة المدفوعة للتطبيق، وإضافةPlatformDataKey
للوصول إلى بيانات النظام الأساسي، وإضافة إتاحة مساحة الاسم فيStateStore
. (I7985e) - تمت إزالة
enable
طريقة من أصلdisablePlatformSource
منDynamicTypeEvaluator
. من المفترض أن يكون المتصل مسؤولاً عن التحديثات. (I78c6d) - السماح بتحديد حجم أنواع البيانات المرتبطة (Ie2966)
الإصدار 1.2.0-alpha08
19 نيسان (أبريل) 2023
تم إصدار "androidx.wear.watchface:watchface-*:1.2.0-alpha08
". يحتوي الإصدار 1.2.0-alpha08 على هذه الالتزامات.
الميزات الجديدة
- بدءًا من نظام التشغيل Android T، قد يسجّل موفّرو الإضافات الذين لديهم إذن مميّز
com.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE
بيانات وصفيةandroidx.wear.watchface.complications.datasource.SAFE_WATCH_FACE_SUPPORTED_TYPES
، ما يلغيandroid.support.wearable.complications.SUPPORTED_TYPES
لخلفيات شاشة الساعة الآمنة. ويعني هذا أنّ مقدِّم محتوى الإضافة قد يختار عرض أنواع مختلفة لخلفيات شاشة الساعة الموثوق بها مقابل تلك غير الموثوق بها.
تغييرات واجهة برمجة التطبيقات
- نشر فئة
@Deprecated
إلى موقع إلكتروني (I882d1، b/271441831) - تم تغيير اسم معلَمة القيمة لـ
Enum.valueOf
(Ia9b89) - المزيد من الاستثناءات من قيمة التعداد (I818fe)
- لقد أزلنا
renderWatchFaceToSurface
لصالحcreateRemoteWatchFaceView
الذي يتم إنشاؤه فوق SurfaceControlViewHost ويتيح للمتصل تضمين طريقة عرض من خلفية شاشة الساعة، والتي يتم عرضها عندما يتصل العميل بـRemoteWatchFaceViewHost#renderWatchFace
. (Ib311d) - أضفنا
renderWatchFaceToSurface
إلىInteractiveWatchFaceClient
وHeadlessWatchFaceClient
وEditorSession
. وسيكون هذا عادةً أكثر أداءً من العرض على صورة نقطية. (Ieacad) - تمت إعادة تسمية
ObservableStateStore
إلىStateStore
. (Ieb0e2) - تمت إضافة
DynamicTypeEvaluator.Builder
بدلاً من وسيطات دالة الإنشاء للسماح بالمزيد من الوسيطات الاختيارية، بما في ذلكObservableStateStore
التي تم ضبطها الآن على متجر فارغ. (I6f832) - إعادة ترتيب المعلَمات في
DynamicTypeEvaluator
. (Ic1ba4) - تمت إضافة أداة التنفيذ إلى
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 على هذه الالتزامات.
الميزات الجديدة
من خلال Android T، سيتمكّن المصنّعون الأصليون للأجهزة من تحديد ما إذا كان طلب الإضافة واردًا من خلفية شاشة ساعة في القائمة التي تحدّدها البيانات الوصفية الخاصة بـ
android.support.wearable.complications.SAFE_WATCH_FACES
ضمن ملف البيان الخاص بمقدّم التطبيق بحلولComplicationRequest#isForSafeWatchFace
. سيحتاج مقدّم الخدمة إلى إذنcom.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE
لاستلام أي ملفات أخرى غيرTargetWatchFaceSafety.UNKNOWN
.من Android T
CustomValueUserStyleSetting2
أيضًا متاحة للاستخدام على ما يصل إلى 12.5 كيلوبايت. كان الحدّ الأقصى السابق لـCustomValueUserStyleSetting
1 كيلوبايت. على الرغم من زيادة حدود الحجم، ننصح مطوّري خلفية شاشة الساعة بإبقاء حجم البيانات صغيرًا لأن الإعدادات يتم إرسالها عبر البلوتوث أثناء التعديل وإبقاء معدل نقل بيانات البلوتوث محدودًا.
تغييرات واجهة برمجة التطبيقات
- أضفنا مَعلمة اختيارية
eglContextAttribList
إلىGlesRenderer
وGlesRenderer2
، ما يتيح لك ضبط قيمةEGL14.EGL_CONTEXT_CLIENT_VERSION
التي تم تمريرها علىEGL14.eglCreateContext
. (I2a83e) - تم نقل بيانات خلفيات شاشة الساعة إلى
androidx.core.util.Consumer
بدلاً منjava.util.function.Consumer
. (I273f5) - المزيد من الاستثناءات من موصّلات ملكية KT (Iff9d9)
- لقد أضفنا السمة
InteractiveWatchFaceClient.isComplicationDisplayPolicySupported
حتى يتمكَّن العميل من تحديد ما إذا كان عليه محاكاة الدعم أم لا نيابةً عن خلفيات شاشة الساعة القديمة. (I24c89) - لقد قررنا أنّ
isForSafeWatchFace
يجب أن يكونIntDef
ثلاثي الحالات. (Ief2f7) - بالنسبة إلى android T، طرحنا السمة
ComplicationRequest.isForSafeWatchFace
المخصّصة لاستخدام المصنّع الأصلي للجهاز وتتطلبcom.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE
. بالنسبة إلى مصادر البيانات في صورة النظام، سيتم عرض القيمة "صحيح" إذا كانت خلفية شاشة الساعة المطلوبة مُدرَجة في قائمة خلفيات شاشة الساعة الآمنة التي حدّدها مصدر البيانات في ملف البيان. (I0cbb6) - بالنسبة إلى Android 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 على هذه الالتزامات.
الميزات الجديدة
- لا يزال العمل مستمرًا لإتاحة عمليات ربط الأنظمة الأساسية للإضافات. هذه الميزة ليست جاهزة للاستخدام بعد، ولكن تابِع أخبارنا.
- أتحنا إمكانية استخدام تنسيق XML
ComplicationSlot
لأنواع الإضافات الجديدة، مثل GOAL_REASON وWEIGHTED_ELEMENTS.
إصلاح الأخطاء
- إصلاح تسرُّب يؤدّي إلى عدم إصدار محرّر خلفية شاشة الساعة بشكل صحيح على أجهزة Samsung (3b5987)
- إصلاح الخطأ الذي لا يتم أحيانًا عرض الإضافات بشكل صحيح عند التبديل بين خلفية شاشة ساعة تحتوي على العديد من الخيارات المفضّلة (b38ece)
- إصلاح خطأ في التسلسل باستخدام perOptionScreenReaderNames الذي يؤدي إلى تعطُّل خلفية شاشة الساعة. (e9f466)
الإصدار 1.2.0-alpha05
7 كانون الأول (ديسمبر) 2022
تم إصدار "androidx.wear.watchface:watchface-*:1.2.0-alpha05
". يحتوي الإصدار 1.2.0-alpha05 على هذه الالتزامات.
الميزات الجديدة
منذ فترة قصيرة، أتحنا استخدام
UserStyleSettings
الهرمي، ومن Android T، أصبح بالإمكان الآن إدراج أكثر منComplicationSlotsUserStyleSetting
في التسلسل الهرمي. سيتم تفعيلComplicationSlotsUserStyleSetting
واحدة فقط، استنادًا إلى اختيارات النمط التي يختارها المستخدم.نعمل على تحسين دعم قارئ الشاشة لكل من
ListOption
وComplicationSlotsOption
من خلال إضافة الحقلscreenReaderName
. تجدر الإشارة إلى أنّه سيتم تجاهل هذا الحقل من قِبل المحرّرين المصاحبين قبل android T.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة حقل
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
تشرين الثاني (نوفمبر) 2022
تم إصدار "androidx.wear.watchface:watchface-*:1.2.0-alpha04
". يحتوي الإصدار 1.2.0-alpha04 على هذه الالتزامات.
الميزات الجديدة
- بالنسبة إلى نظام التشغيل Android T، أتحنا إمكانية استخدام نوعَين جديدَين من الإضافات، وهما
GoalProgressComplicationData
وWeightedElementsComplicationData
. - تتشابه القيمة "
GoalProgressComplicationData
" مع القيمة "RangedValueComplicationData
"، ولكن يمكن أن تتجاوز قيمتها المستهدَف (بالنسبة إلىRangedValueComplicationData
يتم تثبيت القيمة على النطاق [min .. max]) ما يترتب على ذلك تداعيات على التصميم المرئي قد لا يناسب جميع خلفيات شاشة الساعة. - تتيح
GoalProgressComplicationData
إضافة الرسوم البيانية الدائرية والتفصيلات المشابهة للبيانات البسيطة. - لقد أضفنا دعمًا اختياريًا بشأن استخدام
ColorRamps
إلىRangedValueComplicationData
. - بالنسبة إلى نظام التشغيل Android T، أضفنا
ComplicationPersistencePolicy
وsetCachePolicy
إلىComplicationData
الذي يتيح حاليًا لمقدّم الخدمة إمكانية التحكم في استمرار الإضافة من عدمه (أي ما إذا تم تخزينها مؤقتًا بعد إعادة التشغيل). لن تحتاج معظم الإضافات إلى ضبط التحكّم في ذاكرة التخزين المؤقت، ولكن يمكن أن يؤدي ذلك إلى معالجة الحالات التي تكون فيها البيانات قديمة بالنسبة إلى بعض الإضافات التي يتم تعديلها بشكل متكرّر (مثل إضافات البيانات الصحية). لقد أضفنا أيضًاComplicationDisplayPolicy
حيث يطلبDO_NOT_SHOW_WHEN_DEVICE_LOCKED
من خلفية شاشة ساعة متوافقة عدم عرض الإضافة عندما يكون الجهاز مقفلاً. (Ic9574)
تغييرات واجهة برمجة التطبيقات
- لم يعُد
GoalProgressComplicationData
وWeightedElementsComplicationData
وColorRamp
في مرحلة تجريبية. (Ica9e2) - تم الآن وضع علامة على
ComplicationPersistencePolicy
وComplicationDisplayPolicy
بشكل صحيح على أنّها واجهات T APIs. (I31d88) - تحتوي دالة إنشاء
ComplicationSlotOverlay
التي تم إيقافها نهائيًا علىDeprecationLevel.WARNING
، ما يسمح بطلبها من جافا مرة أخرى. (Ib308c) - لقد أصلحنا بعض مشاكل JavaScript المتوافقة مع
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 على هذه الالتزامات.
الميزات الجديدة
- ما مِن ميزات جديدة، ولكن أصلحنا بعض الأخطاء في أداة تعديل خلفية شاشة الساعة.
تغييرات واجهة برمجة التطبيقات
- تم إيقاف
UserStyleSchema.userStyleSettings
نهائيًا لأنrootUserStyleSettings
أصبحت غير تجريبية (Ie96e3) - نقل
rootUserStyleSettings
خارج الإصدار التجريبي (I8d6b3) - لقد وضعنا علامة على
WatchFaceColors
باعتباره تجريبيًا لأنه غير متوافق مع كل الأنظمة (I6d75d). - اعرض
DisconnectReasons
في واجهة برمجة التطبيقات المتاحة للجميع ليكون متوافقًا مع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 على هذه الالتزامات.
الميزات الجديدة
تم ضبط بعض خلفيات شاشة الساعة خارج
UserStyle
، ما يؤثر في الصورة بشكل مرئي (مثل اختيار صورة خلفية). لقد أضفنا السمةRenderer.sendPreviewImageNeedsUpdateRequest
التي تتيح لخلفية شاشة الساعة طلب صورة معاينة معدَّلة. تجدر الإشارة إلى أنّ هذا الإجراء يتطلّب تاريخ تحديث للنظام حتى يعمل.وأضفنا أيضًا واجهة برمجة تطبيقات لخلفيات شاشة الساعة لعرض ألوانها للنظام الذي قد يختار لوحة ألوانه بناءً على ذلك. ملاحظة: أصبح هذا الإصدار تجريبيًا من خلال رمز تصحيح متابعة.
كل نوع من أنواع
ComplicationData
تقريبًا يتوافق الآن معSmallImages
.
تغييرات واجهة برمجة التطبيقات
- يمكن أحيانًا أن ينفصل مدير الخلفيات عن المحرّك وإنشاء آخر. لقد أضفنا
DisconnectReason
int def ومدّدناClientDisconnectListener
باستخدام طريقة جديدة تتضمّنDisconnectReason
، ما يسمح للمستمع بملاحظة انفصال المحرك. (I45cce) - تمت إضافة معلمتين اختياريتين
nameResourceId
وscreenReaderResourceId
إلى الدالة الإنشائيةComplicationSlotOverlay
(I157e8). - لقد أضفنا برنامج تضمين الجوافة للتحميل الزائد الجديد لـ
getOrCreateInteractiveWatchFaceClient
باستخدامPreviewImageUpdateRequestedListener
. (Ic31f0) - لقد أضفنا
Renderer.sendPreviewImageNeedsUpdateRequest
، وهو مفيد لخلفيات شاشة الساعة التي لا تتوافق معUserStyleSchema
، ما يؤثر في مظهرها (على سبيل المثال، خلفية شاشة ساعة مع صورة خلفية يمكن اختيارها). من جهة العميل، أضفناPreviewImageUpdateRequestedListener
كمَعلمة اختيارية إلىgetOrCreateInteractiveWatchFaceClient
لملاحظة هذه الطلبات. (Iff44a) - لقد بسّطنا واجهة برمجة التطبيقات لعرض
WatchFaceColors
، وتتوفّر الآن خاصية بسيطة تُسمىwatchFaceColors
على العارض ويمكن ضبطها على خلفية شاشة الساعة، ويجب تعديل هذه الخاصية حسب الضرورة استجابةً لأي تغييرات في النمط. بدلاً من استخدامWallpaperManager
لملاحظة التغيّرات في الألوان، أضفناOnWatchFaceColorsListener
إلىInteractiveWatchFaceClient
. (I490bc) - أضفنا فئة
WatchFaceColors
التي تحمل أبرز ثلاثة ألوان لخلفية شاشة الساعة وأضفنا الطريقتَين المفتوحتَينwatchfaceColors
وnotifyWatchFaceColorsChanged
إلى العارض، ما يتيح للنظام الحصول على ألوان خلفية شاشة الساعة من خلالWallpaperManager.getWallpaperColors
. (I3d611) - تتوافق الإصدارات
ShortTextComplicationData
وRangedValueComplicationData
وNoPermissionComplicationData
(والإصدارات التجريبية منDiscreteRangedValueComplicationData
وGoalProgressComplicationData
وWeightedElementsComplicationData
) معSmallImages
. إذا اختارت خلفية شاشة الساعة عرض إضافة بألوان متعددة، أصبح لديها الآن خيار استخدامSmallImage
متعدد الألوان حيث كان يجب في السابق استخدام صورة أحادية اللون. (I257df) - إعادة تحليل
PreviewImageUpdateRequestedListener
ليصبحConsumer<>
بدلاً من ذلك (Ia875d) - استبدال نوع الطريقة المجرّدة الفردية (SAM)
OnWatchfaceColorsListener
بالنوع العام من Java SAM (للمستهلك) (I0c489) - لقد أوقفنا الإجراءَين القديمَين
getOrCreateInteractiveWatchFaceClient
وlistenableGetOrCreateInteractiveWatchFaceClient
اللتَين لا تحدّدانPreviewImageUpdateRequestedListener
. (Iec502)
إصلاح الأخطاء
- تمت إعادة تسمية
DisconnectReason.BINDER_DIED
إلىDisconnectReason.ENGINE_DIED
. (I4eb0e)
الإصدار 1.2.0-alpha01
10 آب (أغسطس) 2022
تم إصدار "androidx.wear.watchface:watchface-*:1.2.0-alpha01
". يحتوي الإصدار 1.2.0-alpha01 على هذه الالتزامات.
الميزات الجديدة
- لقد أتحنا إمكانية استخدام تجريبي لمختلف تنسيقات الإضافات الجديدة. هذا قسم من مجالات التطوير النشط، وتخضع هذه التنسيقات الجديدة للتغيير بدون إشعار، ولا يمكن حاليًا استخدام أجهزة العرض من
CanvasComplicationDrawable
. - وقد أضفنا أيضًا هوامش اختيارية إلى خانات الإضافات التي تسهِّل النقر على الإضافات الصغيرة.
تغييرات واجهة برمجة التطبيقات
- فئة
BoundingArc
التجريبية غير قابلة للتغيير الآن. (If624a) - قد يكون من الصعب النقر على الإضافات الصغيرة. وللمساعدة في الحدّ من هذه المشكلة، وفّرنا الهوامش التي تزيد من المساحة القابلة للنقر بدون التأثير في العرض. ما لم يتم تحديد هوامش
ComplciationSlots
(سواء في رمز أو عبر XML). (I14089) - تم تغيير توقيع
getComplicationSlotInflationFactory(CurrentUserStyleRepository)
لعرض مثيل مصنع غير فارغ. كان من الخطأ عرض قيمة فارغة من قبل، لذا فإن هذا فقط يجعل عقد واجهة برمجة التطبيقات أكثر وضوحًا. (I0fcc0) - أضفنا الوسيطة
currentUserStyleRepository
إلى الطريقةWatchFaceService.getComplicationSlotInflationFactory
لتكون متسقة معcreateComplicationSlotsManager
. (I2ddd2) - أصبحت
UserStyleFlavors
ميزة غير تجريبية. (I69cdc) - لقد أزلنا
ValueType
التجريبية منRangedValueComplicationData
وبدلاً من ذلك قدمناDiscreteRangedValueComplicationData
التجريبية التي تشبهRangedValueComplicationData
باستثناء نطاق الأعداد الصحيحة وقيمتها. لقد قدّمنا أيضًاGoalProgressComplicationData
التجريبية التي تشبهRangedValueComplicationData
، باستثناء أنها بصدد التقدم نحو هدف يكون فيه الحد الأدنى ضمنيًا صفرًا، ويُسمح بأن تكون القيمة أكبر منtargetValue
. يُرجى العلم أنّه في كل خياراتRangedValue
، يجب تحديد صورة واحدة أو نص أو عنوان أحادي اللون على الأقل. (I9590c) - لقد أزلنا
boundsWithMargins
منComplicationSlotState
لأنّه لا يحتوي برنامج النظام على حالة استخدام له. (I42e26) - أتحنا إمكانية استخدام التجربة لـ
WeightedElementsComplicationData
التي تتألّف من مصفوفة من العناصر (أزواج من الوزن والألوان) بالإضافة إلى نص/عنوان/صورة اختيارية. قد يتم عرض هذه كمخطط دائري حيث يجب أن تكون الألوان ذات معنى للسياق، حيث لا يوجد عادةً مجال في الإضافة لعرض التصنيفات. (I87eea) - تتيح لك الآن السمة
ColorRamps
التجريبية التي يتم استخدامها اختياريًا من قِبلRangedValueComplicationData
وGoalProgressComplicationData
تحديد تسلسل يصل إلى سبعة ألوان، وعلامة تشير إلى ما إذا كان يجب تعديل الألوان بسلاسة أو ما إذا كان يجب عرض خطوات لون واحدة متساوية الحجم. (I9f5bf) - تم تغيير
RangedValueComplicationData.drawSegmented
إلىvalueType
وهي قيمة صحيحة معValueType IntDef
مقابلة توفّر معنى دلالي للقيمة ذات النطاق الواسع، ويمكن أن يستخدمها عارض الإضافة للتأثير في النمط. (I0616b) - لقد أضفنا دعمًا تجريبيًا إلى السمة
ColorRanges
الاختيارية إلىRangedValueComplicationData
. في العادة، يتم عرض الإضافات بألوان تناسب خلفية شاشة الساعة، ولكن في بعض الأحيان، يكون من الأفضل ضبطComplicationDataSource
لضبط الألوان، مثلاً عندما يكون لها معنى دلالي معيّن. مثلاً، الأحمر إلى الأزرق لدرجة الحرارة. (I5153a) - لقد أضفنا تلميحًا تجريبيًا من
drawSegmented
إلىRangedValueComplicationData
. ويعمل هذا على إرسال إشارات إلى العارضين لرسم مؤشر القيمة ذات النطاق الزمني على شكل شرائح، حيث يكون المقطع الأول = وحدة واحدة. (I7d7c1)
إصلاح الأخطاء
- لقد أتحنا إمكانية تعريف السمة
ComplicationSlotBounds
وفقًا لنظام إحداثيات الشاشة المحدّد مسبقًا. (I0985d)
الإصدار 1.1
الإصدار 1.1.1
10 آب (أغسطس) 2022
تم إصدار "androidx.wear.watchface:watchface-*:1.1.1
". يحتوي الإصدار 1.1.1 على هذه الالتزامات.
- هذا إصدار مخصّص لإصلاح الأخطاء، وننصحك بشدة بالترقية من الإصدار 1.1.0 إلى الإصدار 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
التي يكون فيها الحِمل على وحدة المعالجة المركزية مرتفعًا. لقد تم أيضًا تصحيح NPE في حال استدعاءgetWatchfaceOverlayStyle
بعدclose()
.(a4c3a5a)
الإصدار 1.1.0
15 حزيران (يونيو) 2022
تم إصدار "androidx.wear.watchface:watchface-*:1.1.0
". يحتوي الإصدار 1.1.0 على هذه الالتزامات.
تغييرات مهمة منذ الإصدار 1.0.0
تعديل محسّن:
- ولقد أتحنا المخططات الهرمية، ما يسمح بتدوين التسلسل الهرمي للأنماط من خلال واجهات المستخدم الخاصة بالمحرّر. يمكنك الآن تحديد رموز منفصلة لاستخدامها على خلفية شاشة الساعة وأدوات التحرير المصاحبة.
- يمكن تفعيل العديد من مثيلات خلفية شاشة الساعة، ولكل مثيل معرّف فريد متاح على جميع مساحات عرض واجهة برمجة التطبيقات.
- يمكنك الآن تحديد أسماء يمكن للمستخدمين قراءتها في
ComplicationSlots
بهدف استخدامها في أدوات التحرير. - دعم تجريبي لتصميم "النكهات"، وهي مجموعة منظّمة من الأنماط ستكون مرئية من خلال المحرّر المصاحب.
- عند تحميل مثيلين من خلفية شاشة الساعة، أصبح من الممكن الآن لمثيلات خلفية شاشة الساعة أن تشارك الموارد، ما يوفّر مساحة في الذاكرة
- عند اختيار إضافة من أداة تعديل خلفية شاشة الساعة، يتم الآن اختيار مقدِّم الخدمة الحالي بشكل مسبق.
إضافات محسَّنة:
- يمكنك الآن تحديد
ComplicationType
لمصادر البيانات الأساسية والثانوية، ما يمنح المطوّرين مزيدًا من المرونة لتوفير تجربة استخدام جديدة. - لقد أضفنا السمة
ComplicationDataTimeline
التي توفِّر سلسلة من البيانات المحدّدة زمنيًا ليتم تسليمها إلى خلفية شاشة الساعة والتي يمكن تخزينها مؤقتًا وتعديلها تلقائيًا. على سبيل المثال، توقّعات الطقس لليوم في أوقات مختلفة أو لعدة أحداث قادمة في التقويم. ComponentName
التابع لموفّر الإضافة هو جزء منComplicationData
.- يتم الآن تخزين الإضافات مؤقتًا، ما يوفِّر تجربة أفضل عند التبديل بين خلفيات شاشة الساعة.
التغييرات الأخرى:
- يمكن الآن تحديد
UserStyleSchema
وComplicationSlots
في ملف XML. يساهم ذلك في تبسيط إنشاء خلفية شاشة الساعة ويتيح إجراء طلبات بحث أسرع عن البيانات الوصفية من النظام. - يمكن لخلفيات شاشة الساعة الآن التأثير في الألوان المستخدَمة لعرض النظام المركّب.
الإصدار 1.1.0-rc01
18 أيار (مايو) 2022
تم إصدار "androidx.wear.watchface:watchface-*:1.1.0-rc01
". يحتوي الإصدار 1.1.0-rc01 على هذه الالتزامات.
الميزات الجديدة
- لقد أدخلنا بعض التعديلات على سهولة الاستخدام لإتاحة تنسيق XML لخلفية شاشة الساعة، ما يسهّل تحديد
ComplicationSlotBounds
والمراجع الداعمة. ستستمر تجربة إضافة الحافةBoundingArc
إلى اكتمالها وصولاً إلىdrawHighlight
على الرغم من أنّه لا يُنصح باستخدامها في ذلك الوقت.
تغييرات واجهة برمجة التطبيقات
- أضفنا حملاً تجريبيًا زائدًا من
drawHighlight
يقبل المعلَمةBoundingArc
. (I705f8) - يتيح الآن ملف XML الخاص بخلفية شاشة الساعة استخدام مراجع الموارد. يتيح لك استخدام الثوابت نفسها في كل من XML والتعليمات البرمجية. (I3ef61)
- تمت إضافة إمكانية تعريف
ComplicationSlotBounds
في النماذجcenter_x
وcenter_y
وsize_x
وsize_y
. والآن أصبح من الممكن أيضًا استخدام وحدات مختلفة (أي dp) باستخدام مراجع الموارد. (Iace98)
إصلاح الأخطاء
- إصلاح مشكلة
runBlockingWithTracing
التي كانت تشغِّل المهام في سياق غير صحيح (4f595fe) - جعل
BaseEditorSession.close
متزامنًا. تكمن المشكلة في عدم مزامنةBaseEditorSession.close
في أنّنا نطلقComplicationDataSourceInfoRetriever
بعد فوات الأوان، ما يؤدي إلى إرسال تحذير بشأن المحتوى غير المرغوب فيه في Logcat. قد يكون هذا الإجراء غير مؤذٍ، ولكن محتوى Logcat غير المرغوب فيه يشتت الانتباه ويجب تجنُّبه.(35a5308)
الإصدار 1.1.0-beta02
11 أيار (مايو) 2022
تم إصدار "androidx.wear.watchface:watchface-*:1.1.0-beta02
". يتضمّن الإصدار 1.1.0-beta02 هذه الالتزامات.
الميزات الجديدة
- لقد أتحنا إمكانية استخدام الإصدار التجريبي لأنواع
ComplicationData
الجديدة، وهي غير جاهزة للاستخدام بعد، ولكن يمكنك الاطّلاع على هذه الأنواع.
تغييرات واجهة برمجة التطبيقات
- لقد أضفنا
BoundingArc
، وهو فئة تجريبية تصف الأبعاد الهندسية لفتحة إضافة الحافة. تمت إضافة هذا إلى "ComplicationSlot
" ووصلت الأسلاك حتىComplicationSlotState
وWatchFaceMetadataClient
. (I61a40) - لقد أضفنا إمكانية اكتساب الإعدادات في ملف XML الخاص بـ
UserStyleSetting
. يتيح لك التطبيق تقليل مستوى الإسهاب ومشاركة إعدادات بين خلفيات شاشة الساعة. (Ief841) - لقد أضفنا نوعَين تجريبيَين جديدَين من
ComplicationData
، وهماListComplicationData
وProtoLayoutComplicationData
. لا تتوفّر حاليًا إمكانية عرض أي من هذين النوعين ولا يتعرّف نظام التشغيل WearOS على هذه الأنواع حاليًا إذا تمت إضافتها إلى بيانComplicationDataSource's
. (I1811c)
إصلاح الأخطاء
- إصلاح التسلسل من نوع
TimeLineEntry
لم نكن نضع تسلسلاً لنوعTimeLineEntry
الذي يعني أنه سيتم تفسيرTimeLineEntries
المخزّنة مؤقتًا من النوع NoData بشكل غير صحيح على أنّه يتضمن نوع الإضافة الرئيسية التي تؤدي إلى NPEs عند الوصول إلى حقول مطلوبة غير موجودة. (55ffdf5) - إصلاح الخطأ الذي أدى إلى تجاهل
setComplicationData
لحقول المخطط الزمني(fb392f5) - إصلاح خطأ قد يؤدي في بعض الأحيان إلى
runBlockingWithTracing
NPE(12ca62e) - إصلاح خطأ حيث نحصل أحيانًا على
ClassNotFoundException: android.support.wearable.complications.ComplicationText
عند تلقي إضافة (217942d9) - إصلاح خطأ في
GlesRenderer.backgroundThreadInitInternal
حيث كان يتم استدعاءonBackgroundThreadGlContextCreated
فقط في حال استدعاءEGL14.eglCreateContext
. إصلاح خطأ آخر تسبّب فيهverticalFlip
بحدوث خلل بصري في لقطة الشاشة (c674ad2) - أصلِح مشكلة التحقّق من إصدار XML في
WatchFaceService
بسبب تحميله من حزمة خاطئة.(dfa06f3) - يستخدم تنسيق السلك النائب حزمة داخلية الآن. لا نريد أن تتسبب العناصر النائبة في إيقاف خلفيات شاشة الساعة الحالية التي قد تستخدم البيانات الداخلية المخفية a.s.w.c.ComplctionData. في السابق، كان يتم تخزين العنصر النائب في الحقول المعتادة باستخدام تنسيق سلكي لبيانات
NoDataComplication
(يحدث ذلك مشكلة لأنّ خلفيات شاشة الساعة القديمة تعرض سلسلة العنصر النائب غير المقصودة)، بدلاً من ذلك، نستخدم الآن حزمة داخلية لعزل هذا العنصر بالكامل.(d5e7bd2)
الإصدار 1.1.0-beta01
20 نيسان (أبريل) 2022
تم إصدار "androidx.wear.watchface:watchface-*:1.1.0-beta01
". يتضمّن الإصدار 1.1.0-beta01 هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- إنّ طُرق
WatchFaceMetadataClient
الآن (getUserStyleSchema
وgetComplicationSlotMetadataMap
وgetUserStyleFlavors
) وHeadlessWatchFaceClient.getUserStyleFlavors
تؤدي إلى عرض RuntimeException بدون علامة بدلاً منWatchFaceException
. (I0718a) - تم نقل
WatchFaceMetadataClient.WatchFaceException
خارج الصف للسماح بإعادة استخدامه. (I4e869)
إصلاح الأخطاء
- لن تتعطل
WatchFaceMetadataClient
بعد الآن عند إرسال جزء منComplicationSlotBounds
.(Iaafd)
الإصدار 1.1.0-alpha05
6 نيسان (أبريل) 2022
تم إصدار "androidx.wear.watchface:watchface-*:1.1.0-alpha05
". يحتوي الإصدار 1.1.0-alpha05 على هذه الالتزامات.
الميزات الجديدة
- يمكنك الآن تحديد مصدر البيانات الذي أرسل
ComplicationData
من خلال فحص "ComplicationData.dataSource
". قد تستخدم بعض خلفيات شاشة الساعة هذا الإذن لتخصيص عرض الإضافة. (I44a73)
تغييرات واجهة برمجة التطبيقات
- تم إيقاف الترميزَين
Renderer.CanvasRenderer
وRenderer.GlesRenderer
لصالحRenderer.CanvasRenderer2
وRenderer.GlesRenderer2
اللذَين يتيحان استخدامSharedAssets
التي يتم تمريرها إلى طرق العرض. بالنسبة إلى إمكانية التشغيل التفاعلي لـ JavaScript، قدّمناListenableCanvasRenderer2
وListenableGlesRenderer2
. (I31ffa) - تمت إضافة إمكانية استخدام
@WatchFaceFlavorsExperimental
لتحديد النكهات - قائمة مُعدّة مسبقًا لخلفيات شاشة الساعة ذات النمط (I04dd0) - أصبح
Renderer.sharedAssets
الآن StateFlow وقد أزلنا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
"، وهو يحتوي على بيانات لا يتم استخدامها إلا من خلال أداة تعديل الفيديوهات على خلفية شاشة الساعة. (If3afb)
الإصدار 1.1.0-alpha04
9 آذار (مارس) 2022
تم إصدار "androidx.wear.watchface:watchface-*:1.1.0-alpha04
". يحتوي الإصدار 1.1.0-alpha04 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- قد لا تكون بيانات
ComplicationData
المُحدَّثة متاحة دائمًا (على سبيل المثال، تأتي ميزة PaymentData المُخزنة مؤقتًا منتهية الصلاحية) لذلك، وسّعنا نطاقNoDataComplication
باستخدام عنصر نائب اختياري للإضافة، إضافةً إلى إضافةComplicationText.PLACEHOLDER
وMonochromaticImage.PLACEHOLDER
وSmallImage.PLACEHOLDER
وPhotoImage.PLACEHOLDER
، غير مسموح باستخدامها إلا داخل سياق العنصر النائب لـNoDataComplicationData
. في حال تحديد هذه العناصر، نقترح عرضها بمربّعات/أقواس رمادية. (I6285d) - لقد أضفنا
ComplicationData.getNextChangeInstant
الذي يخبرك بـ "البحث الفوري" التالي بعد المرجع "البحث الفوري" الذي قد يتغير فيه أي حقل من الإضافة. يُستخدَم هذا الإذن داخليًا لجدولة الإطارات الخاصة بتحديثات الإضافات. على سبيل المثال، إذا كان يتم تحديث خلفية شاشة الساعة عادةً مرة واحدة في الدقيقة، سيتم تحديث الإضافة مرة واحدة في الثانية من خلال ضبط الإضافة "إيقاف الساعة". (I7ceb2) - يمكن الآن استخدام
EditorSession.watchFaceId
على جميع مستويات واجهة برمجة التطبيقات. بالإضافة إلى ذلك، ستظل قيمتها الآن متسقة معWatchState.watchFaceInstanceId
. (I323b9) - لم تعُد واجهة برمجة تطبيقات
getPendingIntentForTouchEvent
ضرورية بما أنه تم إصلاح المشكلة الأساسية في إطار العمل، لذلك تمت إزالة جميع واجهات برمجة التطبيقات ذات الصلة. لا تحتاج خلفيات شاشة الساعة إلى اتخاذ أي إجراءات خاصة لتنشيط "PendingIntents
"، حتى إذا تم الضغط على زر الشاشة الرئيسية مؤخرًا. (I1f2e8) - لقد أضفنا
RendererParameters.isForScreenShot
والذي سيكون صحيحًا إذا كان العرض للقطة شاشة. تحتاج بعض خلفيات شاشة الساعة التي تحتوي على رسوم متحركة إلى معرفة ذلك لإجراء تعديلات لضمان تحقيق أفضل النتائج. (I96d99) - لقد أضفنا السمة
WatchFaceExceptionReason
إلى السمةWatchFaceException
لتوفير بعض المعلومات عن المشكلة التي حدثت. (I01d15) - تمت إزالة
ComplicationDataSourceService.onImmediateComplicationRequest
، وبدلاً من ذلك تمت إضافةComplicationRequest.immediateResponseRequired
للإشارة إلى أنّ مقدّم الخدمة يحتاج إلى الاستجابة بسرعة (الاستجابة المثالية خلال أقل من 100 ملي ثانية). تجدر الإشارة إلى أنّ هذه الوظيفة محمية خلف إذنcom.google.android.wearable.permission.USE_IMMEDIATE_COMPLICATION_UPDATE
المميّز. (Ie6b23) - تم تعديل إمكانية إلغاء القيم في النظام الأساسي وAppcompat لتتوافق مع Tiramisu DP2 (I0cbb7).
إصلاح الأخطاء
- يتعطل تطبيق خلفية شاشة الساعة الآن مع استثناء في حال تعذّر التحقق من المخطط (Ia400f)
الإصدار 1.1.0-alpha03
9 شباط (فبراير) 2022
تم إصدار "androidx.wear.watchface:watchface-*:1.1.0-alpha03
". يحتوي الإصدار 1.1.0-alpha03 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- لقد أضفنا دعمًا تجريبيًا لمخطّطات النمط الهرمي. لقد أضفنا موقعًا جديدًا إلى
androidx.wear.watchface.style.UserStyleSetting.Option
، وهو childSettings والذي لا يتم استخدامه في الأساس إلا من خلالListOption
. ويسمح ذلك بوصف تسلسل هرمي للأنماط ليستخدمه واجهات المستخدم في "محرّر إعلانات Google"، ولم يتم تغيير نمط UserStyle الأساسي وسيظلMap<String, ByteArray>
. (Iaf6f4) - لقد أضفنا
WatchFace.OverlayStyle
التي تسمح لخلفية شاشة الساعة بضبط عرض تراكب حالة النظام. (I8520d) - أضفنا
clearWithBackgroundTintBeforeRenderingHighlightLayer
مَعلمة دالة إنشاء اختيارية جديدة لـCanvasRenderer
(القيمة التلقائية هي "خطأ")، وفي حال ضبطها على "صحيح"، سيتم محو لوحة الرسم بلون تلوين الخلفية. (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
. يسمح هذا الإجراء للنظام بجلب أسماء BillingSlots لاستخدامها في أدوات التحرير وبرامج قراءة الشاشة. (If6c6a) - يطرح
WatchfaceMetadataClient.getUserStyleSchema
وgetComplicationSlotMetadataMap
الآنWatchFaceException
بدلاً منRemoteException
. (I86f11) - تمت إعادة تسمية
onSynchronousComplicationRequest
والدوال ذات الصلة فيComplicationDataSourceService
إلىonImmediateComplicationRequest
وغيرها... (I87ba0) - تتسم أدوات تحرير خلفيات شاشة الساعة بخصائص شاشة أقل بكثير من أدوات التحرير المصاحبة، لذلك من المنطقي إتاحة رموز مختلفة في أدوات تحرير خلفيات شاشة الساعة. تضيف حزمة التصحيح هذه
OnWatchEditorData
(التي تحتوي حاليًا على رمز فقط) إلى جميع فئات UserStyleSettings وفئات الخيارات عند اللزوم. (If1886) - لقد أضفنا
@JvmOverloads
إلى الدالة الإنشائية لـ ListenableGlesRenderer لإتاحة إمكانية تشغيل JavaScript بشكل أفضل. (I2974a)
إصلاح الأخطاء
- تم الآن تصنيف الدالة الإنشائية لـ
ListenableGlesRenderer
على أنها@Throws(GlesException::class)
بشكل صحيح، ويمكن الآن توسيع هذه الفئة في جافا. (Iac6d0) - إصلاح الخطأ المتمثل في عدم التعامل مع
PhotoImageComplicationData
clickAction بشكل صحيح (I1cc30)
الإصدار 1.1.0-alpha02
12 كانون الثاني (يناير) 2022
تم إصدار "androidx.wear.watchface:watchface-*:1.1.0-alpha02
". يحتوي الإصدار 1.1.0-alpha02 على هذه الالتزامات.
الميزات الجديدة
- للمساعدة في تصحيح الأخطاء والاختبار، تم الآن تجاوز رمز التجزئة
ComplicationData
والفئات الفرعية ذات الصلة به من خلال طريقتَي رمز التجزئة والتساوي وtoString ما يسهّل على المستخدمين استخدام هذه الرموز.
تغييرات واجهة برمجة التطبيقات
- تعرض طُرق
WatchfaceMetadataClient
مجددًاRemoteExceptions
عندما يكون ذلك مناسبًا، ما يسهّل على رمز العميل اكتشاف الأخطاء من خلفية شاشة الساعة. (I78785) - تحتوي السمة
ComplicationData
والفئات الفرعية الآن على رمز تجزئة ويساوي و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
من الإصدار التجريبي وسيصبحان جزءًا من واجهة برمجة التطبيقات الثابتة. سيتمكن النظام من دعم مثيلات متعددة لخلفية شاشة الساعة بشكل اختياري، لكل منها خيارات تصميم فريدة يحددها المستخدم. ستظهر هذه الصور في أداة اختيار خلفية شاشة الساعة. لتفعيل هذه الميزة، يجب أن تتضمّن خلفية شاشة الساعة علامة البيانات الوصفية التالية في ملف البيان.<meta-data android:name="androidx.wear.watchface.MULTIPLE_INSTANCES_ALLOWED" android:value="true" />
تكون حالة بعض خلفيات شاشة الساعة غير مدرَجة في "
UserStyle
". لإتاحة هذه الإمكانية وغيرها من المثيلات المتعددة، يتوفّر الآن رقم تعريف المثيل لخلفية شاشة الساعة من خلالWatchState.watchFaceInstanceId
.يتم الآن تخزين
ComplicationData
مؤقتًا للسماح بعرض الإضافات فور التحميل. في بعض الأحيان، يتم تخزينComplicationData
مؤقتًا في الذاكرة بواسطة النظام، وأحيانًا يتم إدراجه على شكل تسلسل من خلال مكتبات خلفية شاشة الساعة. عند ربط الإجراء بالنقر على سلسلة، سيتم فقدان أي إجراء نقر مرتبط به، وفي هذه الحالة، سيعرضComplicationData.tapActionLostDueToSerialization
الإضافةtrue
، ويجب أن تعرض خلفية شاشة الساعة الإضافة بشكل مختلف (مثلاً باللون الرمادي أو شبه شفاف) للإشارة إلى أنّه لا يمكن النقر على التطبيق. سيرسل النظامComplicationData
المحدَّث معtapAction
في أقرب وقت ممكن.يجب عدم تخزين بعض
ComplicationData
في ذاكرة التخزين المؤقت لفترة طويلة، لقد أضفنا ميزة أكثر عموميةComplicationDataTimeline
لدعم ذلك. ويمكن استخدامها لتوفير سلسلة منComplicationData
الخاضعة لقيود الوقت ليتم عرضها على خلفية شاشة الساعة والتي يمكن تخزينها مؤقتًا وتعديلها تلقائيًا. على سبيل المثال، توقّعات الطقس لليوم في أوقات مختلفة أو لعدة أحداث قادمة في التقويم. تم توسيع نطاقComplicationRequestListener
باستخدام طريقة جديدةonComplicationDataTimeline
يمكنك استخدامها لعرض هذه البيانات.تم تمديد مهلة
DefaultComplicationDataSourcePolicy
بحيث يمكنك تحديدComplicationType
لمصدري البيانات الأساسي والثانوي.لقد أتحنا لموفّري الإضافات المتزامنة حيث يتم تحديث الإضافة بمعدل تكرار أعلى من المعتاد، حتى مرة واحدة في الثانية، عندما تكون خلفية شاشة الساعة مرئية وغير محيطة. ملاحظة: قد يكون استخدام موفِّري الإضافات المتزامنة محدودًا بسبب مشاكل متعلقة بضغط الذاكرة.
من المحتمل أن يتم التراجع عن تغييرات
PendingIntentTapListener
لأنّنا تمكّنا من حلّ المشكلة الأساسية (لا يمكن لخلفية شاشة الساعة تفعيل الأنشطة لمدة 5 ثوانٍ بعد الضغط على زر الشاشة الرئيسية) في إطار العمل بدلاً من ذلك.
تغييرات واجهة برمجة التطبيقات
- تم تغيير
ComplicationData.isCached
إلىtapActionLostDueToSerialization
، ما يُعدّ مفيدًا أكثر عند تحديد ما إذا كان يجب عرض خانة الإضافة بشكل مختلف للإشارة إلى عدم إمكانية النقر عليها. (I6de2f) - تمت إضافة "
ComplicationDataTimeline
" إلى "wear-complication-data-source
". ويمكن استخدامها لتوفير سلسلة منComplicationData
الخاضعة لقيود الوقت ليتم عرضها على خلفية شاشة الساعة والتي يمكن تخزينها مؤقتًا وتعديلها تلقائيًا. على سبيل المثال، توقّعات الطقس لليوم في أوقات مختلفة أو لعدة أحداث قادمة في التقويم. تم توسيع نطاقComplicationRequestListener
باستخدام طريقة جديدةonComplicationDataTimeline
يمكنك استخدامها لعرض هذه البيانات. يتوفّر برنامج تضمين جديد من لغة البرمجة KotlinSuspendingTimelineComplicationDataSourceService
لتعليق خدمات مصدر البيانات. (Idecdc) - تمت إضافة "
PendingIntentTapListener
" و"WatchFaceControlClient.getPendingIntentForTouchEvent
". يمكن أن يساعد ذلك خلفيات شاشة الساعة التي تحتاج إلى تفعيل الأهداف استجابةً للنقرات للتغلب على مشكلة تؤدي فيها عمليات حظر إطار العمل إلى إطلاق أنشطة جديدة لمدة 5 ثوانٍ بعد الضغط على زر الشاشة الرئيسية. (I98074) - تم إدخال ذاكرة تخزين مؤقت لكل خلفية شاشة ساعة
ComplicationData
. تهدف هذه الميزة إلى السماح لخلفية شاشة الساعة بعرض آخر قيم بيانات الإضافة المعروفة عند التحميل إلى أن يتمكّن النظام من تعديلها. تتوفّر طريقةWatchFaceControlClient.hasComplicationCache
جديدة لواجهة برمجة التطبيقات مخصّصة للمصنّعين الأصليين للأجهزة. قد يؤثر ذلك على استراتيجية النظام لإرسال الإضافات إلى خلفية شاشة الساعة. بالإضافة إلى ذلك، لدىComplicationData
السمةisCached
ويُنصح بعرض الإضافات المخزَّنة مؤقتًا بشكل مختلف لأنّtapAction
لا يمكن تخزينها مؤقتًا وستكونnull
في إضافة مخبأة. (I404b0) - رقم تعريف المثيل لخلفية شاشة الساعة متاح الآن عبر "
WatchState.watchFaceInstanceId
". لا تحتاج معظم خلفيات شاشة الساعة إلى استخدام هذا الخيار، ولكن إذا كانت هناك حالة خلفية لكل ساعة غير مخزَّنة في المخطط، هذا هو المفتاح الذي يجب استخدامه لتحديد مثيل خلفية شاشة الساعة. للمساعدة في ذلك، يمكنك الآن تقديم مستند تعريف عند الاتصال برقمWatchFaceControlClient.createHeadlessWatchFaceClient
. (I1ff98) - تم توسيع نطاق
DefaultComplicationDataSourcePolicy
مع إمكانية ضبط الإعداد التلقائيComplicationTypes
لموفّر الخدمة الأساسي والثانوي ولموفّر النظام الاحتياطي. تم إيقافComplicationSlot.defaultDataSourceType
نهائيًا. (If0ce3) ComplicationSlot.configExtras
قابل للتغيير الآن ويمكن تحديثه قبل الاتصال بـEditorSession.openComplicationDataSourceChooser()
. (I6f852)- تمت إضافة "
WatchFace.setComplicationDeniedDialogIntent
" و"setComplicationRationaleDialogIntent
". يتم إطلاق هذه الأغراض لإظهار مربع حوار منطقي قبل طلب أذونات الإضافة، ومربّع حوار آخر يوضّح ضرورة الحصول على إذن الإضافة عند محاولة تعديل إضافة عند رفض الأذونات (تعذّر فتح محدد الموفّر وبالتالي يكون مربع الحوار مطلوبًا). (I3a29c) - يمكن الآن تحديد
UserStyleSchema
وComplicationSlots
في ملف XML. يساهم ذلك في تبسيط عملية إنشاء خلفية شاشة الساعة ويجعل طلبات البحث في "WatchFaceMetadataClient
" أسرع بدون الحاجة إلى الربط بالخدمة للحصول على البيانات الوصفية. (I85bfa) - تمت إضافة
InteractiveWatchFaceClient.supportsPendingIntentForTouchEvent
حتى يتمكَّن العميل من تحديد ما إذا كانت خلفية شاشة الساعة متوافقة معgetPendingIntentForTouchEvent
. (I0b917) - لم يعُد
WatchFaceMetadataClient
وListenableWatchFaceMetadataClient
في مرحلة تجريبية. ويمكن استخدام هذه الرموز للحصول على البيانات الوصفية لخلفية شاشة الساعة بكفاءة، متى أمكن بدون فتح حافظة لها. (Ibb827) - تمت إتاحة إضافة موفّري الإضافات المتزامنة حيث يتم تحديث الإضافة بمعدل تكرار أعلى من المعتاد، حتى مرة واحدة في الثانية، عندما تكون خلفية شاشة الساعة مرئية وغير محيطة. لاستخدام هذه الميزة، على موفّر الخدمة تضمين علامة بيانات وصفية
androidx.wear.watchface.complications.data.source.SYNCHRONOUS_UPDATE_PERIOD_SECONDS
جديدة في ملف البيان الخاص به وإلغاءonSynchronousComplicationRequest
. استنادًا إلى طبيعة مصدر البيانات، قد تحتاج أيضًا إلى إلغاءonStartSynchronousComplicationRequests
وonStopInteractiveComplicationRequests
لتلقّي إشعارات عند دخول الإضافة إلى الوضع التفاعلي والخروج منها. (I8fe9d)
الإصدار 1.0
الإصدار 1.0.1
9 شباط (فبراير) 2022
تم إصدار "androidx.wear.watchface:watchface-*:1.0.1
". يحتوي الإصدار 1.0.1 على هذه الالتزامات.
إصلاح الأخطاء
- إصلاح الخطأ المتمثل في عدم التعامل مع
PhotoImageComplicationData
clickAction بشكل صحيح (I1cc30)
الإصدار 1.0.0
1 كانون الأول (ديسمبر) 2021
تم إصدار "androidx.wear.watchface:watchface-*:1.0.0
". يحتوي الإصدار 1.0.0 على هذه الالتزامات.
الميزات الرئيسية للإصدار 1.0.0
حزمة androidx.wear.watchface
هي المكتبة الجديدة المقترَحة لتطوير خلفيات شاشة ساعة WearOS. يوفّر التطبيق عددًا من الميزات الجديدة مقارنةً بمكتبة دعم الأجهزة القابلة للارتداء القديمة.
- يمكن للمكتبة توفير تصميم المستخدم (مثل تغيير لوحة الألوان أو نمط عقارب الساعة أو مظهر علامات الساعات أو غير ذلك) مباشرةً من المكتبة (يُرجى الاطّلاع على
androidx.wear.watchface.style
). لقد أصبح من السهل الآن تطوير محرِّر على خلفية شاشة الساعة باستخدام androidx.wear.watchface.editor ويمكن تعديل خلفية شاشة الساعة من التطبيق المصاحب للنظام بدون الحاجة إلى كتابة أي رمز إضافي. - أفضل الممارسات الأساسية تنشئ المكتبة تلقائيًا تصنيفات لمحتوى قارئ الشاشة للإضافات (يمكنك أيضًا إضافة تصنيفات خاصة بك)، وينخفض عدد اللقطات في الثانية تلقائيًا عندما تكون البطارية منخفضة ولا يتم شحنها لتحسين عمر البطارية.
- لن تحتاج إلى استخدام رموز برمجية قليلة لتطوير خلفية شاشة الساعة، خاصةً في الإضافات التي تعرض الكثير من النصوص النموذجية إلى المكتبة.
إصلاح الأخطاء
- إصلاح
EditorSession.userStyle.compareAndSet
(I6f676) - صحِّح حالات التأخير القصيرة جدًا لخلفية شاشة الساعة (Iffb97)
- نقل
InteractiveWatchFaceImpl.onDestroy
على سلسلة واجهة المستخدم (I83340) - حلُّ العديد من المشاكل في أجهزة استقبال البث (I7d25f)
الإصدار 1.0.0-rc01
3 تشرين الثاني (نوفمبر) 2021
تم إصدار "androidx.wear.watchface:watchface-*:1.0.0-rc01
". يحتوي الإصدار 1.0.0-rc01 على هذه الالتزامات.
إصلاح الأخطاء
إصلاح dump() (يسمى ذلك adbshell dumpsys) التي تعطّلت بسبب عمليات نقل بيانات التدفق. (087cf9e)
تأكَّد من الترتيب الصحيح لـ writeDirectBootPrefs. نحن نريد تنفيذ writeDirectBootPrefs دائمًا بعد initStyleAndComplctions، وإلا قد نتمكّن من تأخير إدخال سلسلة محادثات واجهة المستخدم (37650ac).
تأكَّد من طلب Renderer.onDestroy. في سيناريو إنشاء العارض ولكن لم يكتمل إعداد WF init ويتم استدعاء Engine.onDestroy، نحتاج إلى طلب Renderer.onDestroy. (f9952dc)
التحسين/الإصلاح إلى isBatteryLowAndNotCharging. تنقل حزمة التصحيح هذه الإعداد الأولي لـ isBatteryLowAndNotCharging سابقًا، مما يعني أنه يمكن إجراؤها بالتوازي مع createwatchFace. بالإضافة إلى ذلك، نستمع الآن إلى ACTION_POWER_DISCONNECTED. (ddffd80
InteractivewatchFaceClientImpl.isConnectionAlive أن تكون false بعد الإغلاق (ab9774e)
الإصدار 1.0.0-beta01
27 تشرين الأول (أكتوبر) 2021
تم إصدار "androidx.wear.watchface:watchface-*:1.0.0-beta01
". يتضمّن الإصدار 1.0.0-beta01 هذه الالتزامات.
الإصدار 1.0.0-alpha24
13 تشرين الأول (أكتوبر) 2021
تم إصدار "androidx.wear.watchface:watchface-*:1.0.0-alpha24
". يحتوي الإصدار 1.0.0-alpha24 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تم نقل الصفوف في الحزمة
androidx.wear.watchface.complications
إلى مشروعwear:watchface:watchface-complications
جديد. يعني ذلك أنّه لا يمكنك تضمين هذه المكتبة بالإضافة إلى أيّ إصدار أولي سابق منwear:watchface:watchface-complications-data
لأنّك ستظهر لك أخطاء بشأن الصفوف المكرّرة. (I97195) - تمت إعادة تسمية Renderer.dump إلى Renderer.onDump وتمت إضافة تعليق توضيحي إليها باستخدام @UiThread. (I44845)
- تمت إعادة تسمية
InteractiveWatchFaceClient.addWatchFaceReadyListener
إلىaddOnWatchFaceReadyListener
، وتمت إعادة تسميةremoveWatchFaceReadyListener
إلىremoveOnWatchFaceReadyListener
. (I48fea) - لم تعُد قيمة EditorSession
getComplicationsPreviewData
وgetComplicationsDataSourceInfo
تعلّقان الدالتين، بل هما سمتانStateFlow<>
تكون قيمتهما في البداية فارغة. في ListenableEditorSession، تمت إزالةgetListenableComplicationPreviewData
و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 على هذه الالتزامات.
الميزات الجديدة
أصبحت مكتبة خلفية شاشة الساعة الآن مجموعة مكتبة واحدة، ونتيجةً لذلك تم نقل المكتبات وستحتاج إلى تعديل عمليات استيراد التدرج على النحو التالي:
قديم | جديد |
---|---|
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 |
تغييرات واجهة برمجة التطبيقات
- يمكنك نقل مكتبات خلفية شاشة الساعة والإضافات
androidx.wear
المنفصلة إلى مجموعة مكتبةandroidx.wear.watchface
. (b25f3c0) - تمت إضافة "EditorRequest.canwatchFaceSupport" (التحرير بلا رأس) للسماح للعميل بمعرفة ما إذا كان محرر خلفية شاشة الساعة يتيح التعديل بلا واجهة مستخدم رسومية. تجدر الإشارة إلى وجود بعض السلبيات الخاطئة بهذه الطريقة لأنّه تمت إضافة الدعم في asop/1756809، ولكنه سيعرض القيمة الصحيحة لجميع خلفيات شاشة الساعة المستقبلية. (ca55590)
- يحتوي العارض الآن على طريقة dump() يمكن إلغاؤها لإضافة بيانات مخصصة إلى المعلومات التي تم إنشاؤها بواسطة خدمة نشاط ABD Shell dumpsys. (95235f9)
- يجب أن تكون ميزة InteractivewatchFaceClient.addwatchFaceجاهزListener تحدّد الآن تنفيذ التنفيذ أولاً. (563ac2f)
- تمت إزالة StateFlowCompatHelper. يجب استخدام asLiveData (androidx.lifecycle.asLiveData) بدلاً منها. (bd35d3)
- لم يعد الحالي UserStyleRepository.userStyle قابلاً للتغيير. (I44889)
- تمت إعادة تسمية WatchFacereadyListener إلى OnwatchFaceReadListener. (Ic12a9)
إصلاح الأخطاء