خلفية شاشة ساعة Wear

إنشاء تطبيقات لساعات "Wear OS من Google" الذكية
آخر تعديل الإصدار المستقر إصدار مرشح الإصدار التجريبي الإصدار الأولي
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 يمكنك استخدامها لعرض هذه البيانات. يتوفّر برنامج تضمين جديد من لغة البرمجة Kotlin SuspendingTimelineComplicationDataSourceService لتعليق خدمات مصدر البيانات. (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)

إصلاح الأخطاء

  • التفاعلية