Watchface بپوشید

ایجاد برنامه‌های کاربردی برای ساعت‌های هوشمند Wear OS by Google.

توجه: از 10 ژوئیه 2024، واچ فیس ها باید از فرمت Watch Face استفاده کنند تا روی ساعت های جدیدی که با Wear OS 5 از قبل نصب شده راه اندازی می شوند، نصب شوند. در این مقاله مرکز راهنمایی درباره تغییرات کاربر بیشتر بیاموزید.

علاوه بر این، از اوایل سال 2025 (تاریخ مشخصی که در سه ماهه چهارم سال 2024 اعلام می شود)، تمام واچ فیس های جدید منتشر شده در Google Play باید از فرمت Watch Face استفاده کنند.

آخرین به روز رسانی انتشار پایدار کاندید را آزاد کنید نسخه بتا انتشار آلفا
18 سپتامبر 2024 1.2.1 - - 1.3.0-alpha04

اعلام وابستگی ها

برای افزودن وابستگی به Wear، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Maven Google را بخوانید.

وابستگی‌های مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:

شیار

dependencies {
    // Use to implement wear watchfaces
    implementation "androidx.wear.watchface:watchface:1.2.1"

    // Use to implement wear watchface complications
    implementation "androidx.wear.watchface:watchface-complications-data-source:1.2.1"
    // (Kotlin-specific extensions)
    implementation "androidx.wear.watchface:watchface-complications-data-source-ktx:1.2.1"

    // Use to implement a watchface style and complication editor
    implementation "androidx.wear.watchface:watchface-editor:1.2.1"

    // Can use to render complications.
    // This library is optional and watchfaces may have custom implementation for rendering
    // complications.
    implementation "androidx.wear.watchface:watchface-complications-rendering:1.2.1"
}

کاتلین

dependencies {
    // Use to implement wear watchfaces
    implementation("androidx.wear.watchface:watchface:1.2.1")

    // Use to implement wear watchface complications
    implementation "androidx.wear.watchface:watchface-complications-data-source:1.2.1"
    // (Kotlin-specific extensions)
    implementation "androidx.wear.watchface:watchface-complications-data-source-ktx:1.2.1"

    // Use to implement a watchface style and complication editor
    implementation("androidx.wear.watchface:watchface-editor:1.2.1")

    // Can use to render complications.
    // This library is optional and watchfaces may have custom implementation for rendering
    // complications.
    implementation "androidx.wear.watchface:watchface-complications-rendering:1.2.1"
}

برای اطلاعات بیشتر درباره وابستگی‌ها، به افزودن وابستگی‌های ساخت نگاه کنید.

بازخورد

بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.

یک شماره جدید ایجاد کنید

برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.

نسخه 1.3

نسخه 1.3.0-alpha04

18 سپتامبر 2024

androidx.wear.watchface:watchface-*:1.3.0-alpha04 منتشر شد. نسخه 1.3.0-alpha04 حاوی این commit ها است.

ویژگی های جدید

  • پشتیبانی از بارگذاری تنبل آیکون ها در UserStyleSettings و UserStyleOptions اضافه شده است که یک پیروزی عملکردی برای بارگیری صفحه های ساعت است. ( Iaf43d )
  • از طریق Watchface.setUpdateScreenshotOnConfigurationChange جدید، گزینه‌ای برای یک اسکرین‌شات به‌روزرسانی شده اضافه شد تا هر زمان که پیکربندی سیستم تغییر می‌کند (مثلاً اگر منطقه تغییر کرده است) گرفته شود. به طور پیش فرض این تنظیم خاموش است. ( I765a1 )

رفع اشکال

  • طرح دستی دسترسی به APIهای پلتفرم جدید حذف شد زیرا این به طور خودکار از طریق مدلسازی API هنگام استفاده از R8 با AGP 7.3 یا جدیدتر (مثلا R8 نسخه 3.3) و برای همه ساخت‌ها هنگام استفاده از AGP 8.1 یا بالاتر (به عنوان مثال D8 نسخه 8.1) اتفاق می‌افتد. به مشتریانی که از AGP استفاده نمی‌کنند، توصیه می‌شود به نسخه 8.1 یا بالاتر D8 به‌روزرسانی کنند. برای جزئیات بیشتر به این مقاله مراجعه کنید. ( Ia60e0 , b/345472586 )

نسخه 1.3.0-alpha03

17 آوریل 2024

androidx.wear.watchface:watchface-*:1.3.0-alpha03 منتشر شد. نسخه 1.3.0-alpha03 حاوی این تعهدات است.

تغییرات API

  • ما EditorSession#setOverrideComplications اضافه کرده‌ایم که به طور موقت ComplicationData نمونه واچ‌فیس زیرین را هنگام ویرایش تنظیم می‌کند. اگر پیچیدگی ها به ندرت تغییر می کنند، کارآمدتر از عبور لغو از طریق EditorSession#renderWatchFaceToBitmap است. ( I19384 )

رفع اشکال

  • قبلا selectComplicationDataForInstant برای هر خط زمانی toApiComplicationData فراخوانی می‌کرد، به این معنی که آزمون برابری مرجع === بعدی همیشه ناموفق بود. این به این معنی بود که هر فریمی که منجر به تخلیه باتری می‌شد، عوارض بارگذاری مجدد می‌شد. ( 717406 )

نسخه 1.3.0-alpha02

3 آوریل 2024

androidx.wear.watchface:watchface-*:1.3.0-alpha02 منتشر شد. نسخه 1.3.0-alpha02 حاوی این commit ها است.

ویژگی های جدید

  • ما اکنون از برابری مرجع برای مقایسه بهترین و selectedData استفاده می کنیم زیرا عملگر برابر گران است. ( 446b00 )

تغییرات API

  • ما یک API پویا بدون بازگشت برای GoalProgressComplicationData اضافه کرده‌ایم. ( c33264 )

نسخه 1.3.0-alpha01

7 فوریه 2024

androidx.wear.watchface:watchface-*:1.3.0-alpha01 منتشر شد. نسخه 1.3.0-alpha01 حاوی این commit ها است.

ویژگی های جدید

  • WatchFaceServices را می توان همزمان مقداردهی کرد و به همین دلیل باید بدون حالت باشند، برای پشتیبانی از این سرویس StatefulWatchFaceService را اضافه کرده ایم که در آن یک کاربر اضافی که توسط createExtra() ایجاد شده است، به تمام مواردی که در طول مقداردهی اولیه فراخوانی می شوند، منتقل می شود.
  • GlesRenderer2 اکنون دارای اضافه بار سازنده است که به شما امکان می دهد لیستی از ویژگی ها را مشخص کنید تا به نوبه خود با eglChooseConfig امتحان کنید.

تغییرات API

  • StatefulWatchFaceService اکنون از یک بازنویسی getComplicationSlotInflationFactory پشتیبانی می کند که اضافی تعریف شده توسط کاربر ایجاد شده توسط createExtra() به آن ارسال می شود. ( I82d9f )
  • برخی از واچ فیس‌ها باید داده‌های کمکی ایجاد شده در طول createUserStyleSchema را با سایر روش‌های مقداردهی اولیه به اشتراک بگذارند. از آنجایی که جایگزین بهتری وجود نداشت، توسعه دهندگان معمولاً WatchFaceServices خود را حالتی می کردند. این خطرناک است زیرا می‌توان چندین نمونه را همزمان ایجاد کرد که می‌تواند منجر به باگ شود. برای حل این مشکل StatefulWatchFaceService و StatefulWatchFaceRuntimeService را معرفی کرده ایم که در آنها یک نوع تعریف شده توسط کاربر توسط createExtra() ایجاد می شود و به عنوان پارامتر به متدهای مختلف ایجاد ارسال می شود. ( If8a99 )
  • ما getUserStyleFlavors به InteractiveWatchFaceClient اضافه کرده‌ایم که در درجه اول برای OEM ها مورد توجه است. ( I0f5d8 )
  • GlesRenderer2 اکنون دارای اضافه بار سازنده است که به شما امکان می دهد لیستی از ویژگی ها را مشخص کنید تا به نوبه خود با eglChooseConfig امتحان کنید. به عنوان مثال، این به شما امکان می دهد ابتدا یک پیکربندی با anti-aliasing را امتحان کنید و در صورت نیاز به یکی بدون آن برگردید. ( I1ba74 )
  • از Android U، پشتیبانی از SystemDataSources.DATA_SOURCE_HEART_RATE به WearOS اضافه خواهد شد. این عارضه فقط برای پشتیبانی از عوارض SHORT_TEXT تضمین شده است، اما برای ComplicationSlot توصیه می‌شود که SMALL_IMAGE نیز بپذیرد، زیرا OEM‌ها ممکن است به جای ارزش زنده، میان‌بری برای برنامه سلامت خود ارائه دهند. ( I34223 )
  • ما METADATA_KEY_CONFIG_RESTORE_SUPPORTED اضافه کرده‌ایم که از Android U به بعد، کنترل می‌کند وقتی سیستم از یک نسخه پشتیبان برای منبع داده پیچیده با METADATA_KEY_DATA_SOURCE_CONFIG_ACTION بازیابی می‌شود چه اتفاقی می‌افتد. به‌طور پیش‌فرض، سیستم فرض می‌کند که سرویس منبع داده‌های پیچیده از پشتیبان‌گیری از هر داده پیکربندی پشتیبانی می‌کند، اما اگر این کار را نکرد، می‌تواند تنظیمات فراداده METADATA_KEY_DATA_SOURCE_CONFIG_ACTION را به false اضافه کند که شکاف پیچیدگی را به‌عنوان پیکربندی نشده علامت‌گذاری می‌کند. ( I6c505 )

نسخه 1.2

نسخه 1.2.1

24 ژانویه 2024

androidx.wear.watchface:watchface-*:1.2.1 منتشر شد. نسخه 1.2.1 حاوی این commit ها است.

رفع اشکال

  • رفع خرابی در Samsung Galaxy Watch 4، 5 و 6. ( 43f0b0 )

نسخه 1.2.0

29 نوامبر 2023

androidx.wear.watchface:watchface-*:1.2.0 منتشر شد. نسخه 1.2.0 حاوی این commit ها است.

تغییرات مهم از 1.1.0

  • ما برخی از انواع پیچیده جدید را که برای استفاده از Android T در دسترس هستند، اضافه کرده‌ایم:
    • GoalProgressComplicationData که مشابه RangedValueComplicationData است، با این تفاوت که برای پیشرفت به سمت هدفی است که حداقل به طور ضمنی صفر است، و مقدار مجاز است بزرگتر از targetValue باشد.
    • WeightedElementsComplicationData که از آرایه ای از عناصر (جفت وزن و رنگ) به همراه متن/عنوان/تصویر اختیاری تشکیل شده است. اینها ممکن است به عنوان یک نمودار دایره ای نمایش داده شوند که در آن رنگ ها باید با توجه به زمینه معنادار باشند، زیرا معمولاً جایی برای پیچیدگی برای ارائه برچسب ها وجود ندارد.
  • ما پشتیبانی از ColorRanges اختیاری را به RangedValueComplicationData اضافه کرده‌ایم. معمولاً پیچیدگی‌ها در رنگ‌هایی که صفحه ساعت انتخاب می‌کند ارائه می‌شوند، اما گاهی اوقات ComplicationDataSource بهترین مکان برای تنظیم رنگ‌ها است، مثلاً زمانی که معنای معنایی خاصی دارند. به عنوان مثال قرمز به آبی برای دما.
  • تقریباً هر نوع ComplicationData اکنون از SmallImages پشتیبانی می کند.
  • ما ComplicationDisplayPolicy اضافه کرده‌ایم که در آن DO_NOT_SHOW_WHEN_DEVICE_LOCKED به یک صفحه ساعت سازگار دستور می‌دهد که هنگام قفل بودن دستگاه، عارضه را نمایش ندهد.
  • از Android T، OEM‌ها می‌توانند تشخیص دهند که آیا درخواست عارضه از صفحه ساعت در لیستی که توسط متادیتای android.support.wearable.complications.SAFE_WATCH_FACES در مانیفست ارائه‌دهنده آنها تعریف شده است، توسط ComplicationRequest#isForSafeWatchFace است یا خیر. ارائه دهنده برای دریافت هر چیزی غیر از TargetWatchFaceSafety.UNKNOWN به مجوز com.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE نیاز دارد.
  • UserStyleFlavors به ​​یک ویژگی غیر آزمایشی تبدیل شده است.

نسخه 1.2.0-rc01

18 اکتبر 2023

androidx.wear.watchface:watchface-*:1.2.0-rc01 منتشر شد. نسخه 1.2.0-rc01 حاوی این commit ها است.

نسخه 1.2.0-beta02

6 سپتامبر 2023

androidx.wear.watchface:watchface-*:1.2.0-beta02 منتشر شد. نسخه 1.2.0-beta02 حاوی این تعهدات است.

ویژگی های جدید

  • SuspendingComplicationDataSourceService#onDestroy اکنون باز است. لطفاً توجه داشته باشید که پشتیبانی از یک عارضه آب و هوایی پیش‌فرض سیستم حذف شده است.

تغییرات API

  • "نمایش منبع داده جدید برای عوارض آب و هوایی" را برگردانید. ( I6f335 )

نسخه 1.2.0-beta01

23 آگوست 2023

androidx.wear.watchface:watchface-*:1.2.0-beta01 منتشر شد. نسخه 1.2.0-beta01 حاوی این تعهدات است.

ویژگی های جدید

  • از اندروید T، WearOS اکنون از یک سیستم پیش‌فرض سیستم آب و هوا پشتیبانی می‌کند.

تغییرات API

  • برای عوارض سیستم پیش‌فرض آب‌وهوا را اضافه کنید. ( Ia0994 )
  • این وصله WatchFaceRuntimeService و WatchFaceControlClient.createWatchFaceRuntimeControlClient را به همراه پوشش های گواوا اضافه می کند. اینها از زمان‌های اجرا با صفحه ساعت پشتیبانی می‌کنند که نوع خاصی از صفحه ساعت است که تعریف آن را از یک بسته دیگر بارگیری می‌کند. در حال حاضر WearOS فقط از زمان اجرا برای قالب Android Watch Face پشتیبانی می‌کند. ( I2799f )
  • این وصله دنباله‌ای از aosp/2636578 است که در آن نام int defs را تغییر می‌دهیم، بنابراین هر کدی بسته به WatchFaceType ، CanvasType ، TapType یا ComplicationsSlotBoundsType نیازی به تغییر ندارد. ( I4098b )
  • فایل های API به روز شده برای حاشیه نویسی سرکوب سازگاری. ( I8e87a , b/287516207 )
  • این وصله ثابت‌های WatchFaceType در WatchFaceTypes ، ثابت‌های CanvasType در CanvasTypes ، ثابت‌های TapType در TapTypes و ثابت‌های ComplicationsSlotBoundsType را در ComplicationsSlotBoundsType نشان می‌دهد. ( I3b85a , b/288750666 )
  • WatchFace.OverlayStyle استفاده بسیار کمی دارد و به خوبی توسط OEM ها پشتیبانی نمی شود، بنابراین ما آن را مستهلک می کنیم تا در تاریخ بعدی آن را حذف کنیم. ( I7344a )

نسخه 1.2.0-alpha09

21 ژوئن 2023

androidx.wear.watchface:watchface-*:1.2.0-alpha09 منتشر شد. نسخه 1.2.0-alpha09 حاوی این commit ها است.

ویژگی های جدید

  • RangedValueComplicationData.Builder اکنون DynamicFloat را می‌پذیرد و یک DynamicComplicationText جدید به‌عنوان زیرکلاس ComplicationText در دسترس است، که هر دو می‌توانند از عبارات پویا و همچنین اتصالات پلتفرم استفاده کنند که در دستگاه‌های Wear 4 پشتیبانی‌شده با سرعت 1 هرتز به‌روزرسانی می‌شوند.

تغییرات API

  • انواع پویا برای مسافت روزانه، کالری روزانه و طبقات روزانه اضافه شده است. کلیدهای منابع سلامت پلتفرم اکنون تحت PlatformHealthSources.Keys هستند ( Ib7637 )
  • PlatformDataProvider برای ارائه ضربان قلب و مراحل روزانه پیاده سازی کنید. رابط SensorGateway از API عمومی حذف شده است. ( I55b84 )
  • StateEntryValue به DynamicDataValue تغییر نام دهید و APIهای حالت را برای استفاده از DynamicDataKey به روز کنید. ( If1c01 )
  • افزودن AppDataKey برای دسترسی به وضعیت تحت فشار برنامه. افزودن PlatformDataKey برای دسترسی به داده های پلت فرم. پشتیبانی فضای نام را در StateStore اضافه کنید. ( I7985e )
  • روش‌های enable / disablePlatformSource از DynamicTypeEvaluator حذف شده‌اند. تماس گیرنده باید مسئول به روز رسانی ها باشد. ( I78c6d )
  • اجازه می دهد تا اندازه انواع داده های محدود شده را محدود کند. ( Ie2966 )

نسخه 1.2.0-alpha08

19 آوریل 2023

androidx.wear.watchface:watchface-*:1.2.0-alpha08 منتشر شد. نسخه 1.2.0-alpha08 حاوی این commit ها است.

ویژگی های جدید

  • از Android T، ارائه‌دهندگان عوارض با com.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE ممتاز ممکن است androidx.wear.watchface.complications.datasource.SAFE_WATCH_FACE_SUPPORTED_TYPES متادیتا را ثبت کنند که android.support.wearable.complications.SUPPORTED_TYPES face. این به این معنی است که یک ارائه‌دهنده عوارض ممکن است انتخاب کند که انواع مختلفی را به واچ‌فیس‌های قابل اعتماد در مقابل غیرقابل اعتماد ارائه دهد.

تغییرات API

  • انتشار @Deprecated class به ویژگی ( I882d1 , b/271441831 )
  • نام پارامتر مقدار برای Enum.valueOf تغییر کرد ( Ia9b89 )
  • استثناهای بیشتر از enum valueOf ( I818fe )
  • ما renderWatchFaceToSurface به نفع createRemoteWatchFaceView حذف کردیم که در بالای SurfaceControlViewHost ساخته شده است و به تماس‌گیرنده اجازه می‌دهد نمایی را از صفحه ساعت تعبیه کند، که وقتی مشتری RemoteWatchFaceViewHost#renderWatchFace می‌خواند، رندر می‌شود. ( IB311d )
  • ما renderWatchFaceToSurface به InteractiveWatchFaceClient ، HeadlessWatchFaceClient و EditorSession اضافه کرده‌ایم. معمولاً این کارایی بیشتری نسبت به ارائه به نقشه بیتی دارد. ( Ieacad )
  • ObservableStateStore به StateStore تغییر نام داده است. ( Ieb0e2 )
  • DynamicTypeEvaluator.Builder را به جای آرگومان های سازنده اضافه کرد تا آرگومان های اختیاری بیشتری را مجاز کند، از جمله ObservableStateStore که اکنون به صورت پیش فرض یک فروشگاه خالی است. ( I6f832 )
  • ترتیب مجدد پارامترها در DynamicTypeEvaluator . ( IC1ba4 )
  • Executor به متدهای DynamicTypeEvaluator.bind اضافه شده است. ( I346ab )
  • ما متد startEvaluation به BoundDynamicType اضافه کرده‌ایم تا بعد از محدود شدن نوع پویا، ارزیابی را آغاز کنیم. ( I19908 )
  • ارائه دهندگان پیچیدگی با com.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE ممتاز ممکن است androidx.wear.watchface.complications.datasource.SAFE_WATCH_FACE_SUPPORTED_TYPES متادیتا را ثبت کنند که android.support.wearable.complications.SUPPORTED_TYPES . ( ID1c73 )
  • ما CustomValueUserStyleSettings2 به LargeCustomValueUserStyleSettings تغییر نام دادیم. ( IC17ac )

رفع اشکال

  • DynamicTypeValueReceiver#onPreUpdate حذف شده است. ( I2dc35 )

نسخه 1.2.0-alpha07

22 فوریه 2023

androidx.wear.watchface:watchface-*:1.2.0-alpha07 منتشر شد. نسخه 1.2.0-alpha07 حاوی این commit ها است.

ویژگی های جدید

  • از Android T، OEM‌ها می‌توانند تشخیص دهند که آیا درخواست عارضه از صفحه ساعت در لیستی که توسط متادیتای android.support.wearable.complications.SAFE_WATCH_FACES در مانیفست ارائه‌دهنده آنها تعریف شده است، توسط ComplicationRequest#isForSafeWatchFace است یا خیر. ارائه دهنده برای دریافت هر چیزی غیر از TargetWatchFaceSafety.UNKNOWN به مجوز com.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE نیاز دارد.

  • همچنین از Android T CustomValueUserStyleSetting2 برای استفاده در دسترس است که می تواند تا 12.5 کیلوبایت را نگه دارد. محدودیت قبلی برای CustomValueUserStyleSetting 1 کیلوبایت بود. علیرغم افزایش محدودیت‌های اندازه، توسعه‌دهندگان چهره ساعت تشویق می‌شوند که داده‌ها را کوچک نگه دارند، زیرا تنظیمات در طول ویرایش از طریق بلوتوث ارسال می‌شوند و پهنای باند بلوتوث محدود است.

تغییرات API

  • ما یک پارامتر اختیاری eglContextAttribList به GlesRenderer & GlesRenderer2 اضافه کرده ایم که به شما امکان می دهد EGL14.EGL_CONTEXT_CLIENT_VERSION را به EGL14.eglCreateContext تنظیم کنید. ( I2a83e )
  • ما به جای java.util.function.Consumer لبه های صفحه ساعت را به androidx.core.util.Consumer منتقل کرده ایم. ( I273f5 )
  • استثناهای پرتاب شده بیشتر از ابزارهای دسترسی به ویژگی KT ( Iff9d9 )
  • ما InteractiveWatchFaceClient.isComplicationDisplayPolicySupported را اضافه کرده‌ایم تا مشتری بتواند تشخیص دهد که آیا باید پشتیبانی را به نمایندگی از ساعت‌های قدیمی شبیه‌سازی کند یا خیر. ( I24c89 )
  • ما تصمیم گرفتیم که isForSafeWatchFace باید یک IntDef سه حالته باشد. ( Ief2f7 )
  • برای اندروید T ما ComplicationRequest.isForSafeWatchFace معرفی کرده ایم که برای استفاده OEM در نظر گرفته شده است و به com.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE نیاز دارد. برای منابع داده در تصویر سیستم، اگر صفحه ساعت درخواست‌کننده در فهرست صفحه‌های ساعت ایمن مشخص‌شده توسط منبع داده در مانیفست آن باشد، این مقدار درست برمی‌گردد. ( I0cbb6 )
  • برای اندروید T ما CustomValueUserStyleSetting2 اضافه کرده ایم که می تواند تا 12.5 کیلوبایت را نگه دارد. محدودیت قبلی برای CustomValueUserStyleSetting 1 کیلوبایت بود. ( I0b100 )

نسخه 1.2.0-alpha06

25 ژانویه 2023

androidx.wear.watchface:watchface-*:1.2.0-alpha06 منتشر شد. نسخه 1.2.0-alpha06 حاوی این commit ها است.

ویژگی های جدید

  • کار برای افزودن پشتیبانی برای اتصالات پلت فرم پیچیده ادامه دارد، این هنوز برای استفاده آماده نیست، اما با ما همراه باشید!
  • ما پشتیبانی XML ComplicationSlot برای انواع جدید پیچیدگی، GOAL_PROGRESS و WEIGHTED_ELEMENTS اضافه کرده‌ایم.

رفع اشکال

  • رفع نشتی که در آن ویرایشگر صفحه ساعت به درستی در دستگاه های سامسونگ منتشر نشده است. ( 3b5987 )
  • اشکالی را برطرف می کند که در آن گاهی اوقات هنگام جابجایی بین صفحه ساعت با چندین مورد دلخواه، عوارض به درستی نمایش داده نمی شد. ( b38ece )
  • یک اشکال سریال‌سازی را با perOptionScreenReaderNames که منجر به خرابی صفحه ساعت می‌شود، برطرف می‌کند. ( e9f466 )

نسخه 1.2.0-alpha05

7 دسامبر 2022

androidx.wear.watchface:watchface-*:1.2.0-alpha05 منتشر شد. نسخه 1.2.0-alpha05 حاوی این commit ها است.

ویژگی های جدید

  • مدتی پیش ما پشتیبانی از UserStyleSettings سلسله مراتبی را اضافه کردیم و از اندروید T اکنون می توان بیش از یک ComplicationSlotsUserStyleSetting در یک سلسله مراتب داشت. تنها یک ComplicationSlotsUserStyleSetting فعال خواهد بود، بر اساس انتخاب سبک کاربر.

  • ما با افزودن یک فیلد screenReaderName ، پشتیبانی از صفحه‌خوان را برای ListOption و ComplicationSlotsOption بهبود می‌دهیم، توجه داشته باشید که قبل از Android T این فیلد توسط ویرایشگرهای همراه نادیده گرفته می‌شود.

تغییرات API

  • ما یک فیلد screenReaderName اختیاری جدید به ListOption و ComplicationSlotsOption اضافه کرده‌ایم تا ویرایشگرها از آن استفاده کنند - توسط ویرایشگرهای همراه در دستگاه‌های قبل از Android T نادیده گرفته می‌شود. ( I75326 )
  • از Android T چندین ComplicationSlotsUserStyleSettings اکنون در یک سلسله مراتب سبک پشتیبانی می شوند تا زمانی که حداکثر فقط یکی از آنها می تواند در هر زمان فعال باشد. ما یک تابع ابزار findComplicationSlotsOptionForUserStyle را به UserStyleSchema اضافه کرده‌ایم تا در صورت وجود، ComplicationSlotsOption فعال را پیدا کنید. ( IC2b06 )
  • RangedValuesTypes به شی همراه RangedValueComplicationData کشیده شد و به TYPE_UNDEFINED تغییر نام داد، TYPE_RATING و یک TYPE_PERCENTAGE جدید اضافه شد. ( I55d02 )
  • ما DynamicFloat آزمایشی را به FloatExpression تغییر نام دادیم و آن را به عنوان @hide علامت‌گذاری کردیم. ( Idf4f1 )
  • افزودن حاشیه نویسی @JvmDefaultWithCompatibility ( I8f206 )

نسخه 1.2.0-alpha04

9 نوامبر 2022

androidx.wear.watchface:watchface-*:1.2.0-alpha04 منتشر شد. نسخه 1.2.0-alpha04 حاوی این commit ها است.

ویژگی های جدید

  • برای Android T پشتیبانی از دو نوع پیچیده جدید، GoalProgressComplicationData و WeightedElementsComplicationData را اضافه کرده‌ایم.
  • GoalProgressComplicationData مشابه RangedValueComplicationData است، اما مقدار آن مجاز است از هدف عبور کند (برای RangedValueComplicationData مقدار به محدوده [min .. max] بسته می‌شود) که پیامدهایی برای طراحی بصری دارد که ممکن است برای همه صفحه‌های ساعت مناسب نباشد.
  • GoalProgressComplicationData از نمودارهای دایره ای و تجزیه و تحلیل مشابه داده های ساده پشتیبانی می کند.
  • ما پشتیبانی اختیاری برای ColorRamps را به RangedValueComplicationData اضافه کرده‌ایم.
  • برای Android T، ComplicationPersistencePolicy و setCachePolicy به ComplicationData اضافه کرده‌ایم که در حال حاضر به یک ارائه‌دهنده اجازه می‌دهد کنترل کند که آیا یک عارضه ادامه دارد یا نه (یعنی اینکه آیا پس از راه‌اندازی مجدد در حافظه پنهان ذخیره شده است). اکثر عوارض نیازی به تنظیم کنترل حافظه پنهان ندارند، اما انجام این کار می‌تواند موارد گوشه‌ای با داده‌های قدیمی را برای برخی از عوارض که اغلب به‌روزرسانی می‌شوند (مثلاً عوارض داده‌های سلامت) برطرف کند. ما همچنین ComplicationDisplayPolicy اضافه کرده‌ایم که در آن DO_NOT_SHOW_WHEN_DEVICE_LOCKED به یک صفحه ساعت سازگار دستور می‌دهد که هنگام قفل بودن دستگاه، عارضه را نمایش ندهد. ( IC9574 )

تغییرات API

  • GoalProgressComplicationData ، WeightedElementsComplicationData و ColorRamp دیگر آزمایشی نیستند. ( Ica9e2 )
  • ComplicationPersistencePolicy و ComplicationDisplayPolicy اکنون به درستی به عنوان T API علامت گذاری شده اند. ( I31d88 )
  • سازنده ComplicationSlotOverlay منسوخ شده اکنون دارای DeprecationLevel.WARNING است. WARNING که به آن اجازه می دهد یک بار دیگر از جاوا فراخوانی شود. ( IB308c )
  • ما برخی از مشکلات سازگار با جاوا را با ComplicationRequestListener ، CanvasComplication ، ComplicationTapFilter و InteractiveWatchFaceClient با حاشیه نویسی آنها با @JvmDefaultWithCompatibility ( Id94fc ) رفع کرده ایم.
  • ما آزمایشی ProtoLayoutComplicationData و ListComplicationData حذف کردیم. داستان توسعه دهنده برای اینها نامشخص بود، امیدواریم در آینده دوباره بررسی کنیم. ( I9df05 )
  • ما یک ValueType دوباره به RangedValueComplicationData اضافه کردیم. WeightedElementsComplicationData اکنون از رنگ پس زمینه پشتیبانی می کند. ما DiscreteRangedValueComplicationData حذف کرده‌ایم زیرا عملکرد آن زیرمجموعه‌ای از WeightedElementsComplicationData است. ( I6446c )

رفع اشکال

  • isForScreenShot را در کدهای برابر و هش قرار دهید. مطمئن شوید که onRenderParametersChanged مقدار isForScreenshot درستی دریافت می کند ( I04a41 )
  • رفع نشت WatchFaceControlService از کلاینت های بدون سر. ( e90e00 )

نسخه 1.2.0-alpha03

5 اکتبر 2022

androidx.wear.watchface:watchface-*:1.2.0-alpha03 منتشر شد. نسخه 1.2.0-alpha03 حاوی این commit ها است.

ویژگی های جدید

  • هیچ ویژگی جدیدی وجود ندارد، اما ما چند اشکال ویرایشگر چهره ساعت را برطرف کرده ایم.

تغییرات API

  • UserStyleSchema.userStyleSettings منسوخ شده به عنوان rootUserStyleSettings غیر آزمایشی می شود ( Ie96e3 )
  • حذف rootUserStyleSettings از آزمایشی ( I8d6b3 )
  • ما WatchFaceColors به‌عنوان آزمایشی علامت‌گذاری کرده‌ایم زیرا توسط همه سیستم‌ها پشتیبانی نمی‌شود ( I6d75d )
  • DisconnectReasons در API عمومی قرار دهید تا با IntDef کار کند. ( I791f8 )

رفع اشکال

  • اگر SysUI از بین رفت، ویرایشگر ساعت باز را ببندید. اگر SysUI از بین برود و ویرایشگر روی ساعت بسته نشود، صفحه ساعت ممکن است در حالت ناسازگار باقی بماند زیرا سیستم برای تداوم هرگونه تغییر سبک کاربر به SysUI متکی است.( ba762a
  • رفع نشت حافظه در ComplicationDataSourceInfoRetriever ، جایی که یک ادامه کوروتین kotlin به عنوان ریشه gc عمل می‌کند و فعالیت ویرایشگر را حفظ می‌کند.( 33ee06 )

نسخه 1.2.0-alpha02

21 سپتامبر 2022

androidx.wear.watchface:watchface-*:1.2.0-alpha02 منتشر شد. نسخه 1.2.0-alpha02 حاوی این commit ها است.

ویژگی های جدید

  • برخی از صفحه‌های ساعت پیکربندی خارج از UserStyle دارند که از نظر بصری روی آن تأثیر می‌گذارد (مثلاً انتخاب یک عکس پس‌زمینه). ما Renderer.sendPreviewImageNeedsUpdateRequest را اضافه کرده‌ایم که به صفحه ساعت اجازه می‌دهد یک تصویر پیش‌نمایش به‌روز درخواست کند. توجه داشته باشید که برای کار کردن به یک تاریخ سیستم مربوطه نیاز دارد.

  • ما همچنین یک API برای چهره‌های ساعت اضافه کرده‌ایم تا رنگ‌های آن‌ها را در معرض سیستم قرار دهیم که ممکن است بر این اساس پالت رنگی خود را انتخاب کند. توجه داشته باشید که این به صورت آزمایشی در پچ بعدی ساخته شده است.

  • تقریباً هر نوع ComplicationData اکنون از SmallImages پشتیبانی می کند.

تغییرات API

  • مدیر کاغذ دیواری گاهی اوقات می تواند از یک موتور جدا شود و موتور دیگری بسازد. ما یک DisconnectReason int def و توسعه یافته ClientDisconnectListener با یک روش جدید اضافه کرده ایم که شامل DisconnectReason است که به شنونده اجازه می دهد تا جدا شدن موتور را مشاهده کند. ( I45cce )
  • دو پارامتر اختیاری nameResourceId و screenReaderResourceId به سازنده ComplicationSlotOverlay اضافه شد ( I157e8 )
  • ما یک پوشش گواوا برای اضافه بار جدید getOrCreateInteractiveWatchFaceClient با یک PreviewImageUpdateRequestedListener اضافه کرده ایم. ( IC31f0 )
  • ما Renderer.sendPreviewImageNeedsUpdateRequest اضافه کرده‌ایم که برای چهره‌های ساعتی که حالتی خارج از UserStyleSchema دارند، مفید است که بر ظاهر آنها تأثیر می‌گذارد (مثلاً یک صفحه ساعت با یک تصویر پس‌زمینه قابل انتخاب). در سمت کلاینت، PreviewImageUpdateRequestedListener به عنوان یک پارامتر اختیاری برای getOrCreateInteractiveWatchFaceClient اضافه کرده‌ایم تا این درخواست‌ها را مشاهده کند. ( Iff44a )
  • ما API را برای نمایش WatchFaceColors ساده کرده‌ایم، اکنون یک ویژگی ساده به نام watchFaceColors در رندر وجود دارد که صفحه ساعت می‌تواند آن را تنظیم کند، این ویژگی باید در صورت لزوم در پاسخ به هرگونه تغییر سبک به‌روزرسانی شود. به جای استفاده از WallpaperManager برای مشاهده تغییرات رنگ، OnWatchFaceColorsListener به InteractiveWatchFaceClient اضافه کرده‌ایم. ( I490bc )
  • ما یک کلاس WatchFaceColors اضافه کرده ایم که دارای سه رنگ برجسته ترین صفحه ساعت است و روش های باز watchfaceColors & notifyWatchFaceColorsChanged به Renderer اضافه کرده ایم، اینها به سیستم اجازه می دهد تا رنگ های صفحه ساعت را از طریق WallpaperManager.getWallpaperColors به ​​دست آورد. ( I3d611 )
  • ShortTextComplicationData ، RangedValueComplicationData ، NoPermissionComplicationData (و آزمایشی DiscreteRangedValueComplicationData ، GoalProgressComplicationData و WeightedElementsComplicationData ) همگی از SmallImages پشتیبانی می کنند. اگر یک صفحه ساعت انتخاب کند که یک پیچیدگی را با چندین رنگ ارائه کند، اکنون این گزینه را دارد که از SmallImage چند رنگی استفاده کند، جایی که قبلاً مجبور بود از یک تصویر تک رنگ استفاده کند. ( I257df )
  • Refactor PreviewImageUpdateRequestedListener به جای Consumer<> ( Ia875d )
  • جایگزینی نوع سفارشی Single Abstract Method (SAM) OnWatchfaceColorsListener با نوع SAM عمومی جاوا (Consumer) ( I0c489 )
  • ما متدهای قدیمی getOrCreateInteractiveWatchFaceClient و listenableGetOrCreateInteractiveWatchFaceClient را که یک PreviewImageUpdateRequestedListener مشخص نمی کنند، منسوخ کرده ایم. ( Iec502 )

رفع اشکال

  • DisconnectReason.BINDER_DIED به DisconnectReason.ENGINE_DIED تغییر نام داده است. ( I4eb0e )

نسخه 1.2.0-alpha01

10 آگوست 2022

androidx.wear.watchface:watchface-*:1.2.0-alpha01 منتشر شد. نسخه 1.2.0-alpha01 حاوی این commit ها است.

ویژگی های جدید

  • ما پشتیبانی آزمایشی را برای قالب‌های مختلف پیچیده جدید اضافه کرده‌ایم. این منطقه توسعه فعال است. این قالب‌های جدید بدون اطلاع قبلی ممکن است تغییر کنند و در حال حاضر هیچ پشتیبانی رندری از CanvasComplicationDrawable وجود ندارد.
  • ما همچنین حاشیه های اختیاری را به شکاف های عارضه اضافه کرده ایم که استفاده از عوارض کوچک را آسان تر می کند.

تغییرات API

  • کلاس آزمایشی BoundingArc اکنون تغییر ناپذیر است. ( If624a )
  • استفاده از عوارض کوچک ممکن است دشوار باشد. برای کمک به کاهش این موضوع، ما پشتیبانی از حاشیه‌ها را معرفی کرده‌ایم که بدون تأثیر بر رندر، ناحیه قابل لمس را افزایش می‌دهند. مگر اینکه مشخص شده باشد (چه در کد یا از طریق XML) ComplciationSlots دارای حاشیه صفر هستند. ( I14089 )
  • امضای getComplicationSlotInflationFactory(CurrentUserStyleRepository) را برای برگرداندن یک نمونه کارخانه غیر تهی تغییر داد. پیش از این خطا برگرداندن null بود، بنابراین این فقط قرارداد API را واضح‌تر می‌کند. ( I0fcc0 )
  • ما آرگومان currentUserStyleRepository را به متد WatchFaceService.getComplicationSlotInflationFactory اضافه کرده‌ایم تا با createComplicationSlotsManager سازگار باشد. ( I2ddd2 )
  • UserStyleFlavors به ​​ویژگی غیرتجربی تبدیل شده است. ( I69cdc )
  • ما ValueType آزمایشی را از RangedValueComplicationData حذف کرده‌ایم و به جای آن DiscreteRangedValueComplicationData آزمایشی را معرفی کرده‌ایم که مانند RangedValueComplicationData به جز محدوده و مقدار صحیح است. ما همچنین GoalProgressComplicationData آزمایشی را معرفی کرده‌ایم که شبیه به RangedValueComplicationData است، با این تفاوت که برای پیشرفت به سمت هدفی است که حداقل به طور ضمنی صفر است، و مقدار مجاز است بزرگ‌تر از targetValue باشد. توجه داشته باشید برای همه انواع RangedValue حداقل یکی از monochromeImage، متن یا عنوان باید مشخص شود. ( I9590c )
  • ما boundsWithMargins از ComplicationSlotState حذف کردیم زیرا نرم افزار سیستم مورد استفاده برای آن ندارد. ( I42e26 )
  • ما پشتیبانی آزمایشی را برای WeightedElementsComplicationData اضافه کرده ایم که از آرایه ای از عناصر (جفت وزن و رنگ) به همراه متن/عنوان/تصویر اختیاری تشکیل شده است. اینها ممکن است به عنوان یک نمودار دایره ای نمایش داده شوند که در آن رنگ ها باید با توجه به زمینه معنادار باشند، زیرا معمولاً جایی برای پیچیدگی برای ارائه برچسب ها وجود ندارد. ( I87eea )
  • ColorRamps آزمایشی که به‌صورت اختیاری توسط RangedValueComplicationData و GoalProgressComplicationData استفاده می‌شود، اکنون به شما امکان می‌دهد تا دنباله‌ای از حداکثر هفت رنگ و پرچمی را مشخص کنید که نشان می‌دهد رنگ‌ها باید به آرامی توئین شوند یا اینکه مراحل رنگی با اندازه یکسان باید ارائه شوند. ( I9f5bf )
  • RangedValueComplicationData.drawSegmented به valueType تغییر کرده است که یک int با ValueType IntDef متناظر است که معنای معنایی را برای مقدار محدوده ارائه می‌کند و ممکن است توسط رندر عارضه برای تأثیرگذاری بر استایل استفاده شود. ( I0616b )
  • ما پشتیبانی آزمایشی را برای ColorRanges اختیاری به RangedValueComplicationData اضافه کرده‌ایم. معمولاً پیچیدگی‌ها در رنگ‌هایی که صفحه ساعت انتخاب می‌کند ارائه می‌شوند، اما گاهی اوقات ComplicationDataSource بهترین مکان برای تنظیم رنگ‌ها است، مثلاً زمانی که معنای معنایی خاصی دارند. به عنوان مثال قرمز به آبی برای دما. ( I5153a )
  • ما یک راهنمایی آزمایشی drawSegmented به RangedValueComplicationData اضافه کرده‌ایم. این به رندرها سیگنال می دهد که نشانگر مقدار دامنه را با بخش هایی ترسیم کنند، جایی که 1 بخش = 1 واحد. ( I7d7c1 )

رفع اشکال

  • ما توانایی تعریف ComplicationSlotBounds را نسبت به یک سیستم مختصات صفحه نمایش از پیش تعریف شده اضافه کرده ایم. ( I0985d )

نسخه 1.1

نسخه 1.1.1

10 آگوست 2022

androidx.wear.watchface:watchface-*:1.1.1 منتشر شد. نسخه 1.1.1 حاوی این commit ها است.

  • این یک نسخه رفع اشکال است و کاربران نسخه 1.1.0 به شدت تشویق می شوند که آن را ارتقا دهند.

رفع اشکال

  • مقداردهی اولیه واچ فیس ناهمزمان است و اگر عارضه ای قبل از آماده شدن واچ فیس دریافت شود، در لیست pendingInitialComplications قرار می گیرد و بعدا اعمال می شود. متأسفانه pendingInitialComplications خیلی زود اعمال شد، به این معنی که یک پنجره زمانی در طول اولیه سازی صفحه ساعت وجود داشت که در آن عوارض همچنان روی pendingInitialComplications قرار می گرفتند و نادیده گرفته می شدند. این در حال حاضر رفع شده است. علاوه بر این، این وصله اشکالی را برطرف می‌کند که در آن ComplicationRenderer به اشتباه سعی می‌کرد جای‌بان‌ها را به‌صورت ناهمزمان بارگذاری کند، که با شکست مواجه شد و باعث شد که گرافیک کامپایل هرگز به‌روزرسانی نشود. در نهایت این وصله یک اشکال تئوری امیدوارانه را برطرف می کند که در آن چندین pendingInitialComplications باید ادغام شوند. ( 0d03ba3 )

  • رفع بن بست احتمالی در InteractiveInstanceManager که در آن getExistingInstanceOrSetPendingWallpaperInteractiveWatchFaceInstance قفل را بیش از زمان لازم نگه می داشت. معمولاً انتظار داریم engine.setUserStyle سریع باشد، اما اگر به دلایلی اینطور نیست، می‌توانیم با بن‌بست/ANR مواجه شویم. این پچ کارهای غیر ضروری را از قفل خارج می کند و پتانسیل بن بست را از بین می برد. ( 5a2adca )

  • چندین مشکل که WatchFaceService حفظ کرده است را برطرف کنید. WakeLock گاهی اوقات می تواند WatchFaceService را حفظ کند، با افزودن یک release() این مشکل را برطرف می کند. همچنین StateFlows می‌تواند WatchFaceService حفظ کند و اصلاحات CoroutineScopes را لغو کند. ( fd48138 )

  • وقفه‌هایی را برای awaitDeferredWatchFace * اضافه کنید و watchfaceOverlayStyle NullPointerException برطرف کنید. در شرایط عادی این نباید از بین برود، از جمله پس از نصب تازه و سناریوهای DirectBoot که در آن بار CPU زیاد است. همچنین اگر getWatchfaceOverlayStyle پس از close() فراخوانی شود، NPE را رفع کرده ایم.( a4c3a5a )

نسخه 1.1.0

15 ژوئن 2022

androidx.wear.watchface:watchface-*:1.1.0 منتشر شد. نسخه 1.1.0 حاوی این commit ها است.

تغییرات مهم از 1.0.0

ویرایش بهبود یافته:

  • ما پشتیبانی از طرح‌واره‌های سلسله مراتبی را اضافه کردیم، که اجازه می‌دهد سلسله مراتبی از سبک‌ها توسط رابط‌های کاربری ویرایشگر نوشته شود. اکنون می توانید نمادهای جداگانه ای را برای استفاده در ویرایشگرهای صفحه ساعت و همراه تعیین کنید.
  • برای چندین نمونه از یک واچ فیس پشتیبانی اختیاری وجود دارد، هر نمونه دارای یک شناسه منحصر به فرد در تمام سطوح API است.
  • اکنون می توانید نام های قابل خواندن انسان را برای ComplicationSlots برای استفاده در ویرایشگرها مشخص کنید.
  • پشتیبانی آزمایشی از یک ظاهر طراحی شده "طعم ها"، مجموعه ای انتخاب شده از سبک ها که از ویرایشگر همراه قابل مشاهده خواهد بود.
  • هنگامی که ویرایش دو نمونه از واچ فیس بارگیری می شود، اکنون این امکان برای نمونه های واچ فیس وجود دارد که منابع را به اشتراک بگذارند و حافظه را ذخیره کنند.
  • هنگام انتخاب یک عارضه در ویرایشگر روی ساعت، اکنون ارائه دهنده فعلی از قبل انتخاب شده است.

عوارض بهبود یافته:

  • اکنون می‌توانید ComplicationType برای منابع داده اولیه و ثانویه مشخص کنید، که به توسعه‌دهندگان انعطاف‌پذیری بیشتری برای تجربه خارج از جعبه می‌دهد.
  • ComplicationDataTimeline اضافه کرده‌ایم که مجموعه‌ای از داده‌های دارای بازه زمانی را برای تحویل به صفحه ساعت ارائه می‌دهد که می‌تواند به صورت خودکار ذخیره و به‌روزرسانی شود. به عنوان مثال، پیش بینی آب و هوای امروز در زمان های مختلف یا چندین رویداد تقویمی آینده.
  • ComponentName ارائه‌دهنده عوارض بخشی از ComplicationData است.
  • اکنون پیچیدگی‌ها در حافظه پنهان ذخیره شده‌اند که تجربه بهتری را هنگام جابجایی بین صفحه‌های ساعت فراهم می‌کند.

سایر تغییرات:

  • UserStyleSchema و ComplicationSlots اکنون در XML قابل تعریف هستند. این کار ساخت صفحه ساعت را ساده می‌کند و امکان جستجوی سریع‌تر ابرداده از سیستم را فراهم می‌کند.
  • صفحه‌های ساعت اکنون می‌توانند بر رنگ‌های مورد استفاده برای نمایش پوشش سیستم تأثیر بگذارند.

نسخه 1.1.0-rc01

18 مه 2022

androidx.wear.watchface:watchface-*:1.1.0-rc01 منتشر شد. نسخه 1.1.0-rc01 حاوی این commit ها است.

ویژگی های جدید

  • ما برخی از ترفندهای کاربردی را برای پشتیبانی از watchface XML ایجاد کرده‌ایم که تعیین ComplicationSlotBounds و مراجع پشتیبانی را آسان‌تر می‌کند. آزمایش با عارضه Edge BoundingArc ادامه دارد ، لوله کشی آن را به سمت drawHighlight اگرچه در آن زمان برای استفاده توصیه نمی شود.

API تغییر می کند

  • ما یک اضافه بار آزمایشی از drawHighlight اضافه کرده ایم که یک پارامتر BoundingArc را می پذیرد. ( i705f8 )
  • Watch Face XML اکنون از منابع منابع پشتیبانی می کند. به شما امکان می دهد از همان ثابت ها هم در XML و هم در کد خود استفاده کنید. ( i3ef61 )
  • ما توانایی تعریف ComplicationSlotBounds را در فرم center_x ، center_y ، size_x ، size_y اضافه کرده ایم. اکنون همچنین می توان با استفاده از منابع منابع ، از واحدهای مختلف (یعنی DP) استفاده کرد. ( ice98 )

رفع اشکال

  • رفع runBlockingWithTracing که در زمینه اشتباه انجام می شد. ( 4F595FE )
  • BaseEditorSession.close همزمان کنید. مشکل BaseEditorSession.close ناهمزمان است این است که ما ComplicationDataSourceInfoRetriever خیلی دیر می کنیم که منجر به هشدار دادن به هرزنامه در logcat می شویم. این احتمالاً بی ضرر بود اما اسپم Logcat حواس پرتی است و باید از آن جلوگیری کرد. ( 35A5308 )

نسخه 1.1.0-beta02

11 مه 2022

androidx.wear.watchface:watchface-*:1.1.0-beta02 منتشر می شود. نسخه 1.1.0-beta02 شامل این تعهدات است.

ویژگی های جدید

  • ما پشتیبانی آزمایشی را برای انواع جدید ComplicationData اضافه کرده ایم ، اینها هنوز آماده استفاده نیستند بلکه این فضا را تماشا می کنند.

API تغییر می کند

  • ما BoundingArc ، یک کلاس آزمایشی را اضافه کرده ایم که هندسه یک شکاف عارضه لبه را توصیف می کند. این به ComplicationSlot اضافه شده و از طریق ComplicationSlotState و WatchFaceMetadataClient لوله کشی شده است. ( i61a40 )
  • ما توانایی وراثت تنظیمات را در UserStyleSetting XML اضافه کرده ایم. این امکان را به شما می دهد تا لفظی را کاهش داده و یک تنظیم بین فضای ساعت را به اشتراک بگذارید. ( IEF841 )
  • ما دو نوع آزمایشی جدید از ComplicationData اضافه کرده ایم: ListComplicationData و ProtoLayoutComplicationData . در حال حاضر هیچ پشتیبانی رندر برای هر یک از این نوع ها وجود ندارد و Wearos در حال حاضر این نوع را تشخیص نمی دهد در صورت اضافه شدن به مانیفست ComplicationDataSource's . ( i1811c )

رفع اشکال

  • سریال سازی از نوع TimeLineEntry را برطرف کنید. ما از نوع TimeLineEntry سریال نمی کردیم ، به این معنی که TimeLineEntries ذخیره شده از نوع nodata به طور نادرست تفسیر می شود که از نوع عارضه والدین در هنگام دسترسی به قسمتهای مورد نیاز غیر موجود در NPE ها استفاده می شود. ( 55FFDF5 )
  • رفع اشکالی که در آن setComplicationData زمینه های جدول زمانی را کاهش داده است ( FB392F5 )
  • رفع اشکالی که در آن گاهی اوقات runBlockingWithTracing منجر به NPE ( 12Ca62E ) می شود
  • رفع اشکال در جایی که ما گاهی اوقات ClassNotFoundException: android.support.wearable.complications.ComplicationText هنگام دریافت عارضه. ( 217942D9 )
  • اشکال را در GlesRenderer.backgroundThreadInitInternal رفع می کند که در صورت فراخوانی EGL14.eglCreateContext فقط در صورت نام فراخوانی onBackgroundThreadGlContextCreated . اشکال دیگری را برطرف می کند که در آن یک درخشش بصری در تصویر وجود دارد که ناشی از verticalFlip است. ( C674AD2 )
  • بررسی نسخه XML WatchFaceService ، از بسته اشتباه بارگیری می شد. ( DFA06F3 )
  • قالب سیم نگهدارنده در حال حاضر از یک بسته داخلی استفاده می کند. ما نمی خواهیم که صاحبخانه ها فضای ساعتهای موجود را که ممکن است از ASWCCOMPLICATIONDATA داخلی پنهان استفاده کند ، بشکنند. پیش از این قالب سیم از داده های NoDataComplication محل نگهداری مکان را در قسمتهای معمول ذخیره می کرد (مشکل ساز به دلیل چهره های قدیمی ، رشته مکان نگهدارنده را که در نظر گرفته نشده است) می کند ، در عوض ما اکنون از یک بسته داخلی برای جداسازی کامل این استفاده می کنیم. ( D5E7BD2 )

نسخه 1.1.0-beta01

20 آوریل 2022

androidx.wear.watchface:watchface-*:1.1.0-beta01 منتشر می شود. نسخه 1.1.0-beta01 شامل این تعهدات است.

API تغییر می کند

  • اکنون روشهای WatchFaceMetadataClient ( getUserStyleSchema ، getComplicationSlotMetadataMap ، getUserStyleFlavors ) و HeadlessWatchFaceClient.getUserStyleFlavors به ​​جای WatchFaceException RuntimeException را کنترل نمی کنند. ( i0718a )
  • WatchFaceMetadataClient.WatchFaceException از کلاس خارج شده است تا مجدداً مورد استفاده مجدد قرار گیرد. ( i4e869 )

رفع اشکال

  • WatchFaceMetadataClient دیگر هنگام ارسال ComplicationSlotBounds جزئی دیگر خراب نمی شود. ( IAAFD )

نسخه 1.1.0-alpha05

6 آوریل 2022

androidx.wear.watchface:watchface-*:1.1.0-alpha05 منتشر می شود. نسخه 1.1.0-alpha05 شامل این تعهدات است.

ویژگی های جدید

  • اکنون می توانید بگویید که کدام منبع داده با بازرسی از ComplicationData.dataSource یک ComplicationData ارسال کرده است ، برخی از چهره های ساعت ممکن است از این برای سفارشی کردن نمایش عارضه استفاده کنند. ( i44a73 )

API تغییر می کند

  • Renderer.CanvasRenderer و Renderer.GlesRenderer به نفع Renderer.CanvasRenderer2 و Renderer.GlesRenderer2 که SharedAssets پشتیبانی می کنند ، به روشهای ارائه دهنده کاهش یافته است. برای Java Interop ما ListenableCanvasRenderer2 و ListenableGlesRenderer2 معرفی کرده ایم. ( i31ffa )
  • اضافه شده @WatchFaceFlavorsExperimental توانایی تعریف طعم ها - لیست پیش تنظیم شده از فضای ساعتهای سبک ( I04DD0 )
  • Renderer.sharedAssets اکنون یک جریان دولتی است و ما Renderer.SharedAssetsFactory را حذف کرده ایم ( I12AC5 )
  • UserStyleSchema.userStyleSettings دیگر کاهش نمی یابد ( IBA7E3 )
  • ما HeadlessWatchFaceClient.getUserStyleSchemaDigestHash اضافه کرده ایم که به یک HeadlessWatchFaceClient اجازه می دهد تا از سربار نسبتاً کم عبور از طرح از طریق AIDL قبل از محاسبه هضم هضم جلوگیری کند. ( i33597 )
  • ما isUserStyleSchemaStatic به WatchFaceMetadataClient اضافه کرده ایم که درست است و فقط در صورتی که UserStyleSchema به تغییر نپرداز باشد ، مگر اینکه APK چهره ساعت به روز شود. ( i45a3f )
  • ما getDigestHash به UserStyleSchema اضافه کرده ایم که یک هشدار هضم این طرح را محاسبه می کند. این می تواند مورد استفاده قرار گیرد تا به طور مؤثر تعیین کند که آیا UserStyleSchema تغییر کرده است یا خیر. ( I2063D )
  • METADATA_KEY_DATA_SOURCE_DEFAULT_CONFIGURATION_SUPPORTED به METADATA_KEY_DATA_SOURCE_DEFAULT_CONFIG_SUPPORTED ( i9ba5d ) تغییر نام داد.
  • UserStyleSetting.OnWatchEditorData به UserStyleSetting.WatchFaceEditorData تغییر نام داده است ، این شامل داده هایی است که صرفاً توسط ویرایشگر On Watch Face استفاده می شود. ( IF3AFB )

نسخه 1.1.0-alpha04

9 مارس 2022

androidx.wear.watchface:watchface-*:1.1.0-alpha04 منتشر می شود. نسخه 1.1.0-alpha04 شامل این تعهدات است.

API تغییر می کند

  • ComplicationData به روز ممکن است MonochromaticImage.PLACEHOLDER در دسترس نباشد (به عنوان PhotoImage.PLACEHOLDER عوارض ذخیره شده منقضی شده) ، بنابراین ما NoDataComplication را با یک SmallImage.PLACEHOLDER اختیاری مکان نگهدارنده و اضافه شده است ComplicationText.PLACEHOLDER در متن یک مکان نگهدارنده NoDataComplicationData . در صورت انتخاب این مکان ها پیشنهاد می شود که با جعبه ها/قوس های خاکستری ارائه شود. ( i6285d )
  • ما ComplicationData.getNextChangeInstant اضافه کرده ایم که لحظه بعدی را به شما می گوید بعد از لحظه مرجع که در آن هر زمینه ای از عارضه ممکن است تغییر کند. این در داخل برای برنامه ریزی فریم ها برای به روزرسانی های عوارض استفاده می شود. به عنوان مثال اگر چهره ساعت به طور معمول یک بار در دقیقه به روز شود ، تنظیم عارضه Watch Watch باعث می شود که یک بار در ثانیه به روز شود. ( i7ceb2 )
  • EditorSession.watchFaceId اکنون می تواند در تمام سطوح API استفاده شود. علاوه بر این ، ارزش آن اکنون همیشه با WatchState.watchFaceInstanceId سازگار خواهد بود. ( i323b9 )
  • API getPendingIntentForTouchEvent دیگر لازم نیست زیرا مسئله اساسی در این چارچوب برطرف شده است ، بنابراین تمام API های مرتبط حذف شده اند. فضای ساعتها نیازی به انجام کار خاصی برای PendingIntents حال آتش سوزی ندارند ، حتی اگر اخیراً دکمه خانه فشرده شده باشد. ( i1f2e8 )
  • ما RendererParameters.isForScreenShot اضافه کرده ایم که اگر رندر برای یک صفحه نمایش باشد صادق خواهد بود. برخی از چهره های تماشای با انیمیشن ها برای اطمینان از بهترین نتیجه باید این موضوع را بدانند. ( i96d99 )
  • ما WatchFaceExceptionReason به WatchFaceException اضافه کرده ایم تا زمینه ای را برای آنچه اشتباه پیش آمد ، ارائه دهیم. ( I01D15 )
  • ComplicationDataSourceService.onImmediateComplicationRequest حذف شده است ، در عوض ComplicationRequest.immediateResponseRequired اضافه شده است تا نشان دهد که ارائه دهنده باید سریع پاسخ دهد (ایده آل در <100ms پاسخ می دهد). توجه داشته باشید که این قابلیت در پشت com.google.android.wearable.permission.USE_IMMEDIATE_COMPLICATION_UPDATE مجاز است. ( IE6B23 )
  • ناپایدار بودن در Core و AppCompat برای مطابقت با Tiramisu DP2 ( I0CBB7 )

رفع اشکال

  • در صورت عدم موفقیت اعتبار سنجی برنامه ، برنامه Watchface با استثنا خراب می شود ( IA400F )

نسخه 1.1.0-alpha03

9 فوریه 2022

androidx.wear.watchface:watchface-*:1.1.0-alpha03 منتشر می شود. نسخه 1.1.0-alpha03 شامل این تعهدات است.

API تغییر می کند

  • ما پشتیبانی آزمایشی را برای طرح های سبک سلسله مراتبی اضافه کرده ایم. ما یک ویژگی جدید را به androidx.wear.watchface.style.UserStyleSetting.Option ، ChildSettings اضافه کرده ایم که در ابتدا فقط توسط ListOption استفاده می شود. این اجازه می دهد تا یک سلسله مراتب از سبک ها برای استفاده توسط ویرایشگر UIS توصیف شود ، Userstyle زیربنایی بدون تغییر است و هنوز هم یک Map<String, ByteArray> است. ( IAF6F4 )
  • ما WatchFace.OverlayStyle را اضافه کرده ایم که به چهره ساعت اجازه می دهد تا ارائه پوشش وضعیت سیستم را پیکربندی کند. ( i8520D )
  • ما یک پارامتر جدید سازنده اختیاری برای CanvasRenderer (پیش فرض نادرست است) یک پارامتر جدید clearWithBackgroundTintBeforeRenderingHighlightLayer اختیاری را معرفی کرده ایم. ( IE01E5 )
  • اضافه شده androidx.watchface.complications.datasource.DEFAULT_CONFIGURATION_SUPPORTED کلید ابرداده که به منابع داده های عارضه اجازه می دهد تا نشان دهند که می توانند بدون هیچ پیکربندی یک مقدار پیش فرض را ارائه دهند ( ICC0D4 )
  • این معمول است که ویرایش چهره ساعت برای وجود یک نمونه تعاملی و بی سر و صدا وجود دارد. برای کمک به صرفه جویی در حافظه ، ما Renderer.SharedAssets معرفی کرده ایم که به یک رندر چهره ساعت اجازه می دهد تا داده های تغییر ناپذیر (به عنوان مثال بافت و سایه بان) را بین موارد به اشتراک بگذارد. GlesRenderer.setEglConfig و GlesRenderer.setEglDisplay مستهلک می شوند ، هرگز در نظر گرفته نشده بود که این موارد قابل حل باشد و انجام این کار منجر به رفتار نامشخص می شود. ( i0d9e7 )
  • ما setNameResourceId & setScreenReaderNameResourceId (که منابع رشته مرجع) را به ComplicationSlot.Builder و گیرنده های مربوطه در androidx.wear.watchface.client.ComplicationSlotState اضافه کرده ایم. این به سیستم اجازه می دهد تا نام عوارض را برای استفاده در ویرایشگران و خوانندگان صفحه نمایش واکشی کند. ( if6c6a )
  • WatchfaceMetadataClient.getUserStyleSchema و getComplicationSlotMetadataMap اکنون به جای RemoteException ، WatchFaceException پرتاب می کنند. ( i86f11 )
  • onSynchronousComplicationRequest و توابع مرتبط با آن در ComplicationDataSourceService به onImmediateComplicationRequest و غیره تغییر نام داده اند ... ( I87BA0 )
  • ویرایشگرهای Watch Face نسبت به ویراستاران همراه ، املاک و مستغلات بسیار کمتری دارند ، بنابراین پشتیبانی از نمادهای مختلف برای ویرایشگرهای Watch Face منطقی است. این وصله OnWatchEditorData (در حال حاضر فقط یک نماد) را به کلیه userstyletings ها و در صورت لزوم کلاس های گزینه آنها اضافه می کند. ( IF1886 )
  • ما @JvmOverloads به سازنده LearbeableSrenderer برای بهتر Interop Java اضافه کرده ایم. ( I2974a )

رفع اشکال

  • سازنده ListenableGlesRenderer اکنون به درستی به عنوان @Throws(GlesException::class) مشخص شده است ، و اکنون امکان گسترش این کلاس در جاوا امکان پذیر است. ( IAC6D0 )
  • رفع اشکال با PhotoImageComplicationData tapaction به درستی انجام نمی شود ( I1CC30 )

نسخه 1.1.0-alpha02

12 ژانویه 2022

androidx.wear.watchface:watchface-*:1.1.0-alpha02 منتشر می شود. نسخه 1.1.0-alpha02 شامل این تعهدات است.

ویژگی های جدید

  • برای کمک به اشکال زدایی و آزمایش ، ComplicationData و زیر کلاسهای مرتبط هم اکنون دارای روشهای هشکد ، برابر و روشهای ToString است که باعث می شود کار با آنها آسان تر شود.

API تغییر می کند

  • روشهای WatchfaceMetadataClient یک بار دیگر RemoteExceptions در صورت لزوم پرتاب می کنند ، و این باعث می شود کد مشتری بتواند خطاهای چهره ساعت را بدست آورد. ( i78785 )
  • در حال حاضر ComplicationData و Sub Class اکنون HashCode ، Equals و ToString دارند. ( i24bc6 )

نسخه 1.1.0-alpha01

15 دسامبر 2021

androidx.wear.watchface:watchface-*:1.1.0-alpha01 منتشر می شود. نسخه 1.1.0-alpha01 شامل این تعهدات است.

ویژگی های جدید

  • UserStyleSchema و ComplicationSlots اکنون می تواند در XML تعریف شود. این باعث می شود ساخت و سازهای ساعت مچی انجام شود. علاوه بر این ، نمایش داده های WatchFaceMetadataClient سریعتر است زیرا برای به دست آوردن ابرداده نیازی به اتصال به سرویس ندارد. WatchFaceMetadataClient و ListenableWatchFaceMetadataClient دیگر آزمایشی نیستند و به بخشی از API پایدار تبدیل می شوند. این سیستم قادر خواهد بود به صورت اختیاری از چندین نمونه از یک ساعت مچی پشتیبانی کند ، هر کدام دارای گزینه های یک ظاهر طراحی شده کاربر مشخص هستند. این موارد در انتخاب کننده ساعت صورت قابل مشاهده خواهد بود. برای انتخاب این موضوع ، یک چهره ساعت باید برچسب داده متا زیر را در آشکار آن قرار دهد.

        <meta-data
            android:name="androidx.wear.watchface.MULTIPLE_INSTANCES_ALLOWED"
            android:value="true" />
    
  • برخی از چهره های تماشای بیان شده در UserStyle ، برای پشتیبانی از این و موارد مختلف ، شناسه نمونه Watch Face اکنون از طریق WatchState.watchFaceInstanceId در دسترس است.

  • در حال حاضر ComplicationData در حال ذخیره است تا عوارض بلافاصله پس از بارگیری نمایش داده شود. بعضی اوقات ComplicationData توسط سیستم در حافظه ذخیره می شود و گاهی اوقات توسط کتابخانه های Watch Face سریال می شود. در صورت سریال سازی هر نوع tapaction مرتبط از بین می رود ، اگر این اتفاق بیفتد ComplicationData.tapActionLostDueToSerialization true باز می گردد و چهره ساعت باید این عارضه را متفاوت کند (به عنوان مثال خاکستری یا نیمه شفاف) تا نشان دهد که نمی توان از آن استفاده کرد. این سیستم در اسرع وقت ComplicationData به روز شده را با یک tapAction ارسال می کند.

  • برای حمایت ComplicationData این ، ما برای حمایت از این یک ویژگی کلی تر به ComplicationDataTimeline یک ویژگی کلی تر اضافه شده است. این می تواند برای ارائه دنباله ای از ComplicationData دروازه دار برای تحویل به صورت ساعت که می تواند ذخیره و به طور خودکار به روز شود ، استفاده شود. به عنوان مثال ، پیش بینی آب و هوا امروز در زمان های مختلف یا چندین رویداد تقویم آینده. ComplicationRequestListener با یک روش جدید onComplicationDataTimeline گسترش یافته است که می توانید برای بازگرداندن این داده ها استفاده کنید.

  • DefaultComplicationDataSourcePolicy گسترش یافته است ، بنابراین می توانید برای منابع داده اولیه و ثانویه ComplicationType مشخص کنید.

  • ما از ارائه دهندگان عارضه همزمان پشتیبانی می کنیم که در آن عارضه در فرکانس بالاتر از حد معمول به روز می شود ، تا زمانی که صورت ساعت قابل مشاهده و غیر آمیخته باشد ، یک بار در ثانیه. توجه: ارائه دهندگان عارضه همزمان ممکن است به دلیل نگرانی در مورد فشار حافظه ، استفاده محدودی داشته باشند.

  • تغییرات PendingIntentTapListener در حال تعقیب به دلیل اینکه مشکل اساسی را حل کرده ایم (ممکن نیست که چهره ساعت به مدت 5 ثانیه پس از فشار دادن دکمه صفحه اصلی فعالیت کند) در چارچوب حل شود.

API تغییر می کند

  • ComplicationData.isCached به tapActionLostDueToSerialization تغییر یافته است که در هنگام تعیین اینکه آیا شکاف عارضه باید به گونه ای متفاوت ارائه شود تا سیگنال شود که نمی توان از آن استفاده کرد. ( i6de2f )
  • ComplicationDataTimeline اضافه شده به wear-complication-data-source . این می تواند برای ارائه دنباله ای از ComplicationData دروازه دار برای تحویل به صورت ساعت که می تواند ذخیره و به طور خودکار به روز شود ، استفاده شود. به عنوان مثال ، پیش بینی آب و هوا امروز در زمان های مختلف یا چندین رویداد تقویم آینده. ComplicationRequestListener با یک روش جدید onComplicationDataTimeline گسترش یافته است که می توانید برای بازگرداندن این داده ها استفاده کنید. یک بسته بندی جدید Kotlin برای تعلیق خدمات منبع داده ، یک بسته بندی جدید Kotlin SuspendingTimelineComplicationDataSourceService . ( idecdc )
  • اضافه شده PendingIntentTapListener و WatchFaceControlClient.getPendingIntentForTouchEvent . این می تواند به تماشای چهره هایی که نیاز به راه اندازی اهداف در پاسخ به شیرها دارند ، کمک کند تا در مورد مشکلی کار کنند که در آن چارچوب بلوک فعالیت های جدید را به مدت 5 ثانیه پس از فشار دادن دکمه Home انجام می دهد. ( I98074 )
  • یک ComplicationData هر ساعت را در هر ساعت معرفی کرد. هدف از این امر این است که به چهره ساعت اجازه داده شود تا آخرین مقادیر داده های عارضه شناخته شده را پس از بارگیری به نمایش بگذارد تا اینکه سیستم فرصتی برای به روزرسانی آنها داشته باشد. یک روش جدید API WatchFaceControlClient.hasComplicationCache در نظر گرفته شده برای OEM ها وجود دارد. این ممکن است در استراتژی سیستم برای ارسال عوارض به چهره ساعت تأثیر بگذارد. علاوه بر این ، ComplicationData دارای یک خاصیت isCached است و توصیه می شود که عوارض ذخیره شده به طور متفاوتی ارائه شود زیرا tapAction نمی تواند ذخیره شود و در یک عارضه ذخیره شده null شود. ( i404b0 )
  • شناسه نمونه Watch Face اکنون از طریق WatchState.watchFaceInstanceId در دسترس است. اکثر چهره های ساعت نیازی به استفاده از این کار ندارند ، اما اگر یک حالت چهره در هر ساعت وجود داشته باشد که در این طرح ذخیره نشده باشد ، این کلید استفاده برای شناسایی نمونه چهره ساعت است. برای کمک به پشتیبانی از این امر ، اکنون می توانید هنگام تماس با WatchFaceControlClient.createHeadlessWatchFaceClient یک شناسه ارائه دهید. ( i1ff98 )
  • توسعه DefaultComplicationDataSourcePolicy با امکان تنظیم ComplicationTypes پیش فرض برای ارائه دهنده اولیه ، ثانویه و برای ارائه دهنده سیستم Fallback. ComplicationSlot.defaultDataSourceType اکنون کاهش یافته است. ( if0ce3 )
  • ComplicationSlot.configExtras اکنون قابل تغییر است و می تواند قبل از فراخوانی EditorSession.openComplicationDataSourceChooser() به روز شود. ( i6f852 )
  • WatchFace.setComplicationDeniedDialogIntent و setComplicationRationaleDialogIntent اضافه شده است. این اهداف برای نشان دادن گفتگوی منطقی قبل از درخواست مجوزهای عارضه راه اندازی شده است ، و گفتگوی دیگری توضیح می دهد که هنگام تلاش برای ویرایش یک عارضه در هنگام تکذیب مجوزها ، مجوز عوارض لازم است (انتخاب کننده ارائه دهنده نتوانسته است باز شود تا گفتگو مورد نیاز باشد). ( i3a29c )
  • UserStyleSchema و ComplicationSlots اکنون می تواند در XML تعریف شود. این امر باعث می شود چهره Watch Face ساخت و ساز را ساده تر کند و نمایش داده های WatchFaceMetadataClient را سریعتر می کند زیرا برای به دست آوردن ابرداده نیازی به اتصال به سرویس ندارند. ( i85bfa )
  • اضافه شده InteractiveWatchFaceClient.supportsPendingIntentForTouchEvent ، بنابراین مشتری می تواند تعیین کند که آیا یک چهره ساعت از getPendingIntentForTouchEvent پشتیبانی می کند یا خیر. ( I0B917 )
  • WatchFaceMetadataClient و ListenableWatchFaceMetadataClient دیگر آزمایشی نیستند. از آنها می توان برای به دست آوردن کارآمد ابرداده صورت ، در صورت امکان بدون باز کردن یک اتصال دهنده به صورت ساعت استفاده کرد. ( IBB827 )
  • پشتیبانی اضافه شده برای ارائه دهندگان عارضه همزمان که در آن عارضه در فرکانس بالاتر از حد معمول به روز می شود ، تا زمانی که صورت ساعت قابل مشاهده و غیر آمیخته باشد ، یک بار در ثانیه. برای استفاده از این ، ارائه دهنده باید شامل یک androidx.wear.watchface.complications.data.source.SYNCHRONOUS_UPDATE_PERIOD_SECONDS در آشکار باشد و از onSynchronousComplicationRequest استفاده کند. بسته به ماهیت منبع داده ، ممکن است نیاز به نادیده گرفتن onStartSynchronousComplicationRequests و onStopInteractiveComplicationRequests برای دریافت اعلان هایی از زمان ورود و خروج از حالت تعاملی داشته باشد. ( i8fe9d )

نسخه 1.0

نسخه 1.0.1

9 فوریه 2022

androidx.wear.watchface:watchface-*:1.0.1 منتشر می شود. نسخه 1.0.1 شامل این تعهدات است.

رفع اشکال

  • رفع اشکال با PhotoImageComplicationData tapaction به درستی انجام نمی شود ( I1CC30 )

نسخه 1.0.0

1 دسامبر 2021

androidx.wear.watchface:watchface-*:1.0.0 منتشر می شود. نسخه 1.0.0 شامل این تعهدات است.

ویژگی های اصلی 1.0.0

بسته androidx.wear.watchface کتابخانه جدید پیشنهادی برای توسعه چهره های WearOS Watch است. این ویژگی های جدید در کتابخانه پشتیبانی قدیمی پوشیدنی دارد.

  • یک ظاهر طراحی شده کاربر (به عنوان مثال برای تغییر پالت رنگ ، سبک دستان ساعت ، ظاهر ساعت و غیره) مستقیماً توسط کتابخانه پشتیبانی می شود (به androidx.wear.watchface.style مراجعه کنید). اکنون تهیه ویرایشگر On Watch Face با استفاده از Androidx.wear.watchface.editor و چهره ساعت شما می توانید از برنامه System Companion ویرایش کنید بدون اینکه نیاز به نوشتن کد اضافی داشته باشید.
  • بهترین شیوه های پخته شده در این کتابخانه به طور خودکار برچسب های محتوای صفحه نمایش صفحه نمایش را برای عوارض ایجاد می کند (شما همچنین می توانید موارد خود را اضافه کنید) ، و فریمر در صورت کم بودن باتری و شارژ برای بهبود عمر باتری به طور خودکار کاهش می یابد.
  • برای ایجاد یک چهره ساعت ، به ویژه برای عوارضی که بسیاری از پلاکت ها به داخل کتابخانه منتقل شده اند ، کد کمتری لازم است.

رفع اشکال

  • رفع EditorSession.userStyle.compareAndSet ( i6f676 )
  • تأخیرهای ساعت بسیار کوتاه را برطرف کنید ( IFFB97 )
  • اعزام InteractiveWatchFaceImpl.onDestroy در موضوع UI ( I83340 )
  • چندین مشکل با گیرنده های پخش ( I7D25F ) رفع کنید

نسخه 1.0.0-RC01

3 نوامبر 2021

androidx.wear.watchface:watchface-*:1.0.0-rc01 منتشر می شود. نسخه 1.0.0-RC01 شامل این تعهدات است.

رفع اشکال

  • رفع Dump () () که توسط ADB Shell Dumpsys نامیده می شود) که با مهاجرت جریان شکسته شد. ( 087CF9E )

  • از سفارش مناسب از WritedIrectBootPrefs اطمینان حاصل کنید. ما می خواهیم WritedIrectBootPrefs همیشه پس از برنامه های اولیه اجرا شود یا به خطر بیفتد و به تأخیر بیندازیم.

  • اطمینان حاصل کنید که renderer.ondestroy نامیده می شود. در سناریویی که Renderer ایجاد شده است اما WF Init تکمیل نشده است و موتور. ( F9952DC )

  • بهینه سازی/رفع IsBatterylowandNotharging. این پچ تنظیم اولیه isbatterylowandnotchring را در اوایل حرکت می دهد و این بدان معنی است که می توان آن را به طور موازی با CreateWatchFace انجام داد. علاوه بر این ، ما اکنون به action_power_disconnected گوش می دهیم. ( DDFFD80

  • interactiveWatchFaceClientImpl.IsconnectionAlive پس از بستن نادرست است ( AB9774E )

نسخه 1.0.0-beta01

27 اکتبر 2021

androidx.wear.watchface:watchface-*:1.0.0-beta01 منتشر می شود. نسخه 1.0.0-beta01 شامل این تعهدات است.

نسخه 1.0.0-alpha24

13 اکتبر 2021

androidx.wear.watchface:watchface-*:1.0.0-alpha24 منتشر می شود. نسخه 1.0.0-alpha24 شامل این تعهدات است.

API تغییر می کند

  • کلاس های بسته androidx.wear.watchface.complications به یک wear:watchface:watchface-complications . توجه داشته باشید این بدان معنی است که شما نمی توانید این کتابخانه و همچنین نسخه قبلی Alpha wear:watchface:watchface-complications-data را درج کنید زیرا در مورد کلاس های تکراری خطایی می کنید. ( I97195 )
  • Renderer.dump به Renderer.ondump تغییر نام داده است و با Uithread حاشیه نویسی شده است. ( i44845 )
  • InteractiveWatchFaceClient.addWatchFaceReadyListener به addOnWatchFaceReadyListener تغییر نام داده است و removeWatchFaceReadyListener به removeOnWatchFaceReadyListener تغییر نام داده است. ( i48fea )
  • editorsession getComplicationsPreviewData و getComplicationsDataSourceInfo دیگر توابع تعلیق نیستند ، در عوض آنها ویژگی های StateFlow<> هستند که مقدار آنها در ابتدا تهی است. در LeadeableDitorsession 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 شامل این تعهدات است.

ویژگی های جدید

کتابخانه Watchface اکنون یک گروه کتابخانه واحد است و در نتیجه کتابخانه ها حرکت کرده اند و شما باید واردات Gradle خود را به شرح زیر به روز کنید:

قدیمی جدید
androidx.wear:wear-complications-data androidx.wear.watchface:watchface-complications-data
androidx.wear:wear-complications-data-source androidx.wear.watchface:watchface-complications-data-source
androidx.wear:wear-watchface androidx.wear.watchface:watchface
androidx.wear:wear-watchface-complications-rendering androidx.wear.watchface:watchface-complications-rendering
androidx.wear:wear-watchface-client androidx.wear.watchface:watchface-client
androidx.wear:wear-watchface-client-guava androidx.wear.watchface:watchface-client-guava
androidx.wear:wear-watchface-data androidx.wear.watchface:watchface-data
androidx.wear:wear-watchface-editor androidx.wear.watchface:watchface-editor
androidx.wear:wear-watchface-editor-guava androidx.wear.watchface:watchface-editor-guava
androidx.wear:wear-watchface-guava androidx.wear.watchface:watchface-guava
androidx.wear:wear-watchface-style androidx.wear.watchface:watchface-style

API تغییر می کند

  • کتابخانه های androidx.wear Watchface و عوارض جداگانه را به گروه کتابخانه androidx.wear.watchface منتقل کنید. ( B25F3C0 )
  • اضافه شده EditorRequest.CanWatchFacesUpportheadledited برای اطلاع مشتری در مورد اینکه آیا یک ویرایشگر Watchface از ویرایش بدون سر پشتیبانی می کند یا خیر. توجه داشته باشید که برخی از منفی های دروغین با این امر وجود خواهد داشت زیرا پشتیبانی در ASOP/1756809 اضافه شده است ، اما این مقدار صحیح را برای همه فضای مهم آینده باز می گرداند. ( CA55590 )
  • Renderer اکنون یک روش زباله () دارد که می تواند برای اضافه کردن داده های سفارشی به اطلاعات تولید شده توسط ABD Shell Dumpsys Activity Service WatchCeservice اضافه شود. ( 95235F9 )
  • InteractiveWatchFaceClient.AddwatchFacereAdylistener اکنون ابتدا مجری را مشخص می کند. ( 563AC2F )
  • StateFlowCompathelper حذف شده است. به جای آن باید از Aslivedata (androidx.lifecycle.aslivedata) استفاده شود. ( BD35D3 )
  • جریان فعلی. ( i44889 )
  • Watchfacereadylistener به OnwatchFacereadylistener تغییر نام داده است. ( IC12A9 )

رفع اشکال

  • interactiveInStanCemanager.DeleteInstance برای تماس با ondestroy این مورد برای اطمینان از تعاملی watchfaceImpl جمع آوری زباله جمع آوری شده است. ( FCE4AF8 ، B/199485839 )