Wear kadranı
Not: Kadranların Wear OS 5 veya sonraki bir sürümün önceden yüklü olduğu cihazlara yüklenmesi ve Google Play'de yayınlanan tüm yeni kadranlar için Kadran Formatı gereklidir.
Ocak 2026'dan itibaren, kadranların tüm Wear OS cihazlara yüklenebilmesi için Saat Kadranı Formatı'nın kullanılması zorunlu olacak.
Kullanıcılara yönelik değişiklikler hakkında daha fazla bilgiyi bu Yardım Merkezi makalesinde bulabilirsiniz.
| Son Güncelleme | Kararlı Sürüm | Sürüm Adayı | Beta Sürümü | Alfa Sürümü | 
|---|---|---|---|---|
| 23 Nisan 2025 | 1.2.1 | - | - | 1.3.0-alpha07 | 
Bağımlılıkları beyan etme
Wear'a bağımlılık eklemek için projenize Google Maven deposunu eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu inceleyin.
Uygulamanızın veya modülünüzün build.gradle dosyasına ihtiyacınız olan yapıların bağımlılıklarını ekleyin:
Groovy
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" }
Kotlin
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" }
Bağımlılıklar hakkında daha fazla bilgi için Derleme bağımlılıkları ekleme başlıklı makaleyi inceleyin.
Geri bildirim
Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmek için fikirleriniz varsa lütfen bize bildirin. Yeni bir kitaplık oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oy verebilirsiniz.
Daha fazla bilgi için Sorun İzleyici belgelerine bakın.
Sürüm 1.3
Sürüm 1.3.0-alpha07
23 Nisan 2025
androidx.wear.watchface:watchface-*:1.3.0-alpha07 yayınlanır. 1.3.0-alpha07 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Bir kadran için UserStyle şemasını tanımlamak bir süredir mümkündü ve ColorUserStyleSetting'ü XML'de tanımlamak da mümkündü.
API Değişiklikleri
- Kotlin 2.0 ile yayınlanan projelerin kullanılabilmesi için KGP 2.0.0 veya daha yeni bir sürümün yüklenmesi gerekir. (Idb6b5)
- Wear OS uygulamasının, saate kadran yüklemesine programatik olarak olanak tanıyan Watch Face Push API eklendi.
Hata Düzeltmeleri
- WearOS'un sonraki sürümünde ComplicationDataSourceUpdateRequesterile ilgili bir kilitlenme hatası düzeltildiğinden, 1.3.0-alpha06 sürümünü kullanan komplikasyon sağlayıcıların yükseltme yapmaları önerilir.
Sürüm 1.3.0-alpha06
26 Mart 2025
androidx.wear.watchface:watchface-*:1.3.0-alpha06 yayınlanır. 1.3.0-alpha06 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Wear kadran API'leri (watchface, watchface-client, watchface-client-guava, watchface-complications-rendering, watchface-data, watchface-editor, watchface-editor-guava ve watchface-style), Wear Kadran Formatı için desteği sonlandırıldı ve zamanla AndroidX'ten kaldırılacak. Kadran API'lerinin desteği sonlandırılmıyor ve bu API'ler kullanımda kalacak. (Ice960)
- Kadran API'leri artık doğrudan WearSDKile iletişim kurabilir. Bu, daha az IPC atlaması nedeniyle daha verimlidir.
Sürüm 1.3.0-alpha05
15 Ocak 2025
androidx.wear.watchface:watchface-*:1.3.0-alpha05 yayınlanır. 1.3.0-alpha05 sürümü bu taahhütleri içerir.
Yeni Özellikler
Kadranlar genellikle kullanıcının ListUserStyle kullanarak renk seçmesine olanak tanır. Bu yöntem işe yaramasına rağmen simgelerin, yardımcı düzenleyiciye Bluetooth üzerinden gönderilmesini gerektirir. Bu da verimsiz bir yöntemdir. Bu nedenle, yükün stil başına bir veya daha fazla rengin listelendiği ve çok daha kompakt bir kablo biçimine sahip olan ColorUserStyleSetting'ü kullanıma sunduk.
OEM komplikasyon sağlayıcılarının OEM kadranlar tarafından kullanılmak üzere ComplicationData'ya ekstralar eklemesine olanak tanıyan OEM'ye yönelik bir özellik ekledik.
API Değişiklikleri
- UserStyleSettingve- UserStyleOptionsınıfları artık oluşturuculara sahip. Bu sınıfları oluşturmanın önerilen yolu budur. (Iacd03)
- ComplicationDatasürümünde ekstralar iletme desteği. Bu, hem komplikasyon sağlayıcıyı hem de alıcı kadranı kontrol eden OEM'ler tarafından kullanılmak üzere tasarlanmıştır. Ekstra ayarlamak için ayrıcalıklı- com.google.android.wearable.permission.COMPLICATION_EXTRASizni gerekir. (I4e3b2)
- Kadranlar genellikle kullanıcının ListUserStylekullanarak renk seçmesine olanak tanır. HerListOptioniçin bir simge bulunur.UserStyleşemaları Bluetooth üzerinden gönderildiğinden, şemanın boyutunu düşük tutmak önemlidir. Bu, tüm simgeler nedeniyle düzinelerce renk seçeneği sunulduğunda sorun oluşturabilir. Bu konuda size yardımcı olmak içinColorUserStyleSettingsimgesini ekledik. Bu simge, seçeneklerin simge yerine renk listesini içerdiği ve çok daha kompakt olduğu anlamına gelir. (Ib542e)
- ColorUserStyleSettingve- ColorOption'ün kullanılması için API 34 gerekir. (I8771d)
Hata Düzeltmeleri
- Bu kitaplıkta artık tür kullanımı olan JSpecify nullness ek açıklamaları kullanılmaktadır. Kotlin geliştiricileri, doğru kullanımı zorunlu kılmak için aşağıdaki derleyici bağımsız değişkenini kullanmalıdır: -Xjspecify-annotations=strict(Kotlin derleyicisinin 2.1.0 sürümünden itibaren varsayılan olarak bu kullanılır). (Ifd363, b/326456246)
Sürüm 1.3.0-alpha04
18 Eylül 2024
androidx.wear.watchface:watchface-*:1.3.0-alpha04 yayınlanır. 1.3.0-alpha04 sürümü bu taahhütleri içerir.
Yeni Özellikler
- UserStyleSettingsve- UserStyleOptions'te simgelerin gecikmeli yüklenmesi için destek eklendi. Bu, kadran yükleme konusunda performans artışı sağlar. (Iaf43d)
- Yeni Watchface.setUpdateScreenshotOnConfigurationChangearacılığıyla sistem yapılandırması değiştiğinde (ör. yerel ayar değiştiğinde) güncellenmiş bir ekran görüntüsünün alınması için bir seçenek eklendi. Bu ayar varsayılan olarak kapalıdır. (I765a1)
Hata Düzeltmeleri
- Yeni platform API'lerine erişim manuel olarak belirtilmemiştir. Bunun nedeni, AGP 7.3 veya sonraki sürümlerde R8 kullanıldığında (ör. R8 3.3 sürümü) ve AGP 8.1 veya sonraki sürümlerde tüm derlemelerde (ör. D8 8.1 sürümü) API modelleme aracılığıyla otomatik olarak gerçekleşmesidir. AGP kullanmayan müşterilerin D8 8.1 veya sonraki bir sürüme güncellemeleri önerilir. Daha fazla bilgi için bu makaleye göz atın. (Ia60e0, b/345472586)
Sürüm 1.3.0-alpha03
17 Nisan 2024
androidx.wear.watchface:watchface-*:1.3.0-alpha03 yayınlanır. 1.3.0-alpha03 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Düzenleme sırasında temel kadran örneğinin ComplicationDatadeğerini geçici olarak ayarlayanEditorSession#setOverrideComplicationsözelliğini ekledik. Komplikasyonlar sık sık değişmiyorsa bu yöntem, geçersiz kılma işlemleriniEditorSession#renderWatchFaceToBitmapüzerinden iletmek yerine daha verimlidir. (I19384)
Hata Düzeltmeleri
- Daha önce selectComplicationDataForInstant, tüm zaman çizelgeleri içintoApiComplicationData'u çağırıyordu. Bu da sonraki === referans eşitliği testinin her zaman başarısız olacağı anlamına geliyordu. Bu durum, komplikasyonların her karede yeniden yüklenmesi ve pilin tükenmesine yol açıyordu. (717406)
Sürüm 1.3.0-alpha02
3 Nisan 2024
androidx.wear.watchface:watchface-*:1.3.0-alpha02 yayınlanır. 1.3.0-alpha02 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Eşittir operatörü pahalı olduğu için artık en iyiyi ve selectedDatadeğerini karşılaştırmak için referans eşitliğini kullanıyoruz. (446b00)
API Değişiklikleri
- GoalProgressComplicationDataiçin yedekleme olmayan dinamik bir API ekledik. (c33264)
Sürüm 1.3.0-alpha01
7 Şubat 2024
androidx.wear.watchface:watchface-*:1.3.0-alpha01 yayınlanır. 1.3.0-alpha01 sürümü bu taahhütleri içerir.
Yeni Özellikler
- WatchFaceServiceseşzamanlı olarak başlatılabilir ve bu nedenle durum bilgisi içermemelidir. Bunu desteklemek için- createExtra()tarafından oluşturulan kullanıcı tanımlı bir ekstranın, başlatma sırasında çağrılan tüm geçersiz kılma işlemlerine iletildiği- StatefulWatchFaceServiceözelliğini ekledik.
- GlesRenderer2artık- eglChooseConfigile sırayla denenecek bir özellik listesi belirtmenize olanak tanıyan bir kurucu aşırı yükleme işlevine sahiptir.
API Değişiklikleri
- StatefulWatchFaceServiceartık- createExtra()tarafından oluşturulan kullanıcı tanımlı ekstranın aktarıldığı- getComplicationSlotInflationFactory'nin geçersiz kılınmasını destekler. (I82d9f)
- Bazı kadranlarda, createUserStyleSchemasırasında oluşturulan yardımcı verilerin diğer başlatma yöntemleriyle paylaşılması gerekir. Daha iyi bir alternatif olmadığı için geliştiriciler genellikleWatchFaceServicesöğelerini durum bilgisine sahip hale getirdi. Aynı anda birden fazla örnek oluşturulabileceği ve bu da hatalara yol açabileceği için bu durum tehlikelidir. Bu sorunu çözmek içinStatefulWatchFaceServiceveStatefulWatchFaceRuntimeServiceyöntemlerini kullanıma sunduk. Bu yöntemlerde, kullanıcı tanımlı bir türcreateExtra()tarafından oluşturulur ve çeşitli oluşturma yöntemlerine parametre olarak iletilir. (If8a99)
- InteractiveWatchFaceClient'a- getUserStyleFlavorsözelliğini ekledik. Bu özellik, özellikle OEM'ler için ilgi çekicidir. (I0f5d8)
- GlesRenderer2artık- eglChooseConfigile sırayla denenecek bir özellik listesi belirtmenize olanak tanıyan bir kurucu aşırı yükleme işlevine sahiptir. Örneğin, bu sayede önce kenar yumuşatma içeren bir yapılandırmayı deneyebilir ve gerekirse kenar yumuşatma içermeyen bir yapılandırmaya geçebilirsiniz. (I1ba74)
- Android U'dan itibaren WearOS'a SystemDataSources.DATA_SOURCE_HEART_RATEdesteği eklenecek. Bu komplikasyonun yalnızcaSHORT_TEXTkomplikasyonlarını destekleyeceği garanti edilir ancak OEM'ler canlı değer yerine sağlık uygulamalarının kısayolunu sunmayı tercih edebileceğindenComplicationSlot'ınSMALL_IMAGE'yi de kabul etmesi önerilir. (I34223)
- Android U sürümünden itibaren METADATA_KEY_DATA_SOURCE_CONFIG_ACTIONile komplikasyon veri kaynağı için sistem bir yedekten geri yüklendiğinde ne olacağını kontrol edenMETADATA_KEY_CONFIG_RESTORE_SUPPORTEDözelliğini ekledik. Sistem varsayılan olarak komplikasyon veri kaynağı hizmetinin tüm yapılandırma verilerinin yedeklenmesini desteklediğini varsayar. Ancak bu destek yoksaMETADATA_KEY_DATA_SOURCE_CONFIG_ACTIONmeta veri ayarını false olarak ekleyerek komplikasyon yuvasını yapılandırılmamış olarak işaretleyebilir. (I6c505)
Sürüm 1.2
Sürüm 1.2.1
24 Ocak 2024
androidx.wear.watchface:watchface-*:1.2.1 yayınlanır. 1.2.1 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Samsung Galaxy Watch 4, 5 ve 6'da yaşanan kilitlenme sorunu düzeltildi. (43f0b0)
Sürüm 1.2.0
29 Kasım 2023
androidx.wear.watchface:watchface-*:1.2.0 yayınlanır. 1.2.0 sürümü bu taahhütleri içerir.
1.1.0 sürümünden bu yana yapılan önemli değişiklikler
- Android T'den itibaren kullanılabilen bazı yeni komplikasyon türlerini desteklemeye başladık:
- GoalProgressComplicationData, min değerinin varsayılan olarak sıfır olduğu ve değerin- targetValue'den büyük olmasına izin verildiği bir hedefe doğru ilerleme durumu için- RangedValueComplicationData'e benzer.
- WeightedElementsComplicationData, isteğe bağlı metin/başlık/resim ile birlikte bir dizi Öğe (ağırlık ve renk çiftleri) içerir. Bu veriler, genellikle komplikasyonlarda etiketlerin oluşturulması için yer olmadığından, bağlama göre anlamlı renklerin kullanılması gereken bir pasta grafiği olarak gösterilebilir.
 
- RangedValueComplicationDataöğesine isteğe bağlı- ColorRangesdesteği ekledik. Normalde komplikasyonlar, kadran tarafından seçilen renklerde oluşturulur ancak bazen- ComplicationDataSource, renkleri ayarlamak için en iyi yere yerleştirilir (ör. belirli bir anlamsal anlamı olduğunda). Örneğin, sıcaklık için kırmızıdan maviye.
- ComplicationDatatürlerinin neredeyse tamamı artık- SmallImages'u destekliyor.
- ComplicationDisplayPolicyözelliğini ekledik. Bu özellik,- DO_NOT_SHOW_WHEN_DEVICE_LOCKEDuyumlu bir kadrana cihaz kilitliyken komplikasyonu göstermemesini söyler.
- Android T'den itibaren OEM'ler, komplikasyon isteğinin sağlayıcılarının manifest dosyasında android.support.wearable.complications.SAFE_WATCH_FACESmeta verileriyle tanımlanan listedeki bir kadrandan mı yoksaComplicationRequest#isForSafeWatchFacetarafından tanımlanan listedeki bir kadrandan mı geldiğini belirleyebilecek. Sağlayıcının, TargetWatchFaceSafety.UNKNOWN dışında bir değer almak içincom.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACEiznine ihtiyacı vardır.
- UserStyleFlavors, deneysel olmayan bir özellik haline geldi.
Sürüm 1.2.0-rc01
18 Ekim 2023
androidx.wear.watchface:watchface-*:1.2.0-rc01 yayınlanır. 1.2.0-rc01 sürümü bu taahhütleri içerir.
Sürüm 1.2.0-beta02
6 Eylül 2023
androidx.wear.watchface:watchface-*:1.2.0-beta02 yayınlanır. 1.2.0-beta02 sürümü bu taahhütleri içerir.
Yeni Özellikler
- SuspendingComplicationDataSourceService#onDestroyartık açık. Sistem varsayılanı hava durumu komplikasyonu için destek kaldırılmıştır.
API Değişiklikleri
- "Hava durumu komplikasyonları için yeni bir veri kaynağı göster" seçeneğini geri alın. (I6f335)
Sürüm 1.2.0-beta01
23 Ağustos 2023
androidx.wear.watchface:watchface-*:1.2.0-beta01 yayınlanır. 1.2.0-beta01 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Android T'den itibaren WearOS, varsayılan hava durumu sistemi komplikasyonunu destekleyecektir.
API Değişiklikleri
- Komplikasyonlar için hava durumu varsayılan sistem yedeği ekleyin. (Ia0994)
- Bu yamada, guava sarmalayıcılarının yanı sıra WatchFaceRuntimeServiceveWatchFaceControlClient.createWatchFaceRuntimeControlClienteklenmiştir. Bu sürümler, tanımını başka bir paketten yükleyen özel bir kadran türü olan kadran çalışma zamanları için destek ekler. WearOS şu anda yalnızca Android kadran biçimi için çalışma zamanını desteklemektedir. (I2799f)
- Bu düzeltme, int tanımlarını WatchFaceType,CanvasType,TapTypeveyaComplicationsSlotBoundsType'e bağlı herhangi bir kodun değiştirilmesine gerek kalmayacak şekilde yeniden adlandırdığımız aosp/2636578 düzeltmesinin devamı niteliğindedir. (I4098b)
- Uyumluluğu engellemeyle ilgili ek açıklama eklemek için API dosyaları güncellendi. (I8e87a, b/287516207)
- Bu yama, WatchFaceTypes'daWatchFaceTypesabitlerini,CanvasTypes'daCanvasTypesabitlerini,TapTypes'teTapTypesabitlerini veComplicationsSlotBoundsType'deComplicationsSlotBoundsTypesabitlerini gösterir. (I3b85a, b/288750666)
- WatchFace.OverlayStyleçok düşük bir kullanım oranına sahip ve OEM'ler tarafından yeterince desteklenmiyor. Bu nedenle, daha sonra kaldırmak üzere bu özelliğin desteğini sonlandırıyoruz. (I7344a)
Sürüm 1.2.0-alpha09
21 Haziran 2023
androidx.wear.watchface:watchface-*:1.2.0-alpha09 yayınlanır. 1.2.0-alpha09 sürümü bu taahhütleri içerir.
Yeni Özellikler
- RangedValueComplicationData.Builderartık- DynamicFloatdeğerini kabul ediyor ve- ComplicationTextsınıfının alt sınıfı olarak yeni bir- DynamicComplicationTextmevcut. Her ikisi de dinamik ifadelerin yanı sıra desteklenen Wear 4 cihazlarda 1 Hz'de güncellenen platform bağlamalarını kullanabilir.
API Değişiklikleri
- Günlük mesafe, günlük kalori ve günlük kat sayısı için dinamik türler eklendi. Platform sağlığı kaynaklarının anahtarları artık PlatformHealthSources.Keys(Ib7637) altında
- Nabız ve günlük adım sayısını sağlamak için PlatformDataProvider'ü uygulayın.SensorGatewayarayüzü, herkese açık API'den kaldırıldı. (I55b84)
- StateEntryValue'ü- DynamicDataValueolarak yeniden adlandırın ve- DynamicDataKey'yi kullanacak şekilde durum API'lerini güncelleyin. (If1c01)
- Uygulama tarafından gönderilen duruma erişmek için AppDataKeyekleyin; Platform verilerine erişmek içinPlatformDataKeyekleyin;StateStore'de ad alanı desteği ekleyin. (I7985e)
- enable/- disablePlatformSourceyöntemleri- DynamicTypeEvaluator'den kaldırıldı. Güncellemelerden arayan sorumludur. (I78c6d)
- Bağlı veri türlerinin boyutunun sınırlandırılmasına izin verin. (Ie2966)
Sürüm 1.2.0-alpha08
19 Nisan 2023
androidx.wear.watchface:watchface-*:1.2.0-alpha08 yayınlanır. 1.2.0-alpha08 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Android T'den itibaren, ayrıcalıklı com.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACEolan komplikasyon sağlayıcılar, güvenli kadranlar içinandroid.support.wearable.complications.SUPPORTED_TYPES'yi geçersiz kılanandroidx.wear.watchface.complications.datasource.SAFE_WATCH_FACE_SUPPORTED_TYPESmeta verilerini kaydedebilir. Bu, komplikasyon sağlayıcının güvenilir ve güvenilmeyen kadranlarda farklı türde komplikasyonlar yayınlayabileceği anlamına gelir.
API Değişiklikleri
- @Deprecatedsınıfının mülke yayılması (I882d1, b/271441831)
- Enum.valueOfiçin değer parametresi adı değiştirildi (Ia9b89)
- enum valueOf tarafından daha fazla istisna atıldı (I818fe)
- renderWatchFaceToSurfaceyerine SurfaceControlViewHost'un üzerine inşa edilmiş ve arayanın kadrandan bir görünüm yerleştirmesine olanak tanıyan- createRemoteWatchFaceView'ü kullanıma sunduk. Bu görünüm, istemci- RemoteWatchFaceViewHost#renderWatchFace'yi çağrdığında oluşturulur. (Ib311d)
- renderWatchFaceToSurface'ü- InteractiveWatchFaceClient,- HeadlessWatchFaceClientve- EditorSession'e ekledik. Bu genellikle bitmap olarak oluşturmaktan daha yüksek performanslı olur. (Ieacad)
- ObservableStateStore,- StateStoreolarak yeniden adlandırıldı. (Ieb0e2)
- Artık varsayılan olarak boş bir mağaza olan ObservableStateStoredahil olmak üzere daha fazla isteğe bağlı bağımsız değişkene izin vermek için kurucu bağımsız değişkenleri yerineDynamicTypeEvaluator.Buildereklendi. (I6f832)
- DynamicTypeEvaluatorparametrelerinin sırası yeniden düzenlendi. (Ic1ba4)
- DynamicTypeEvaluator.bindyöntemlerine Executor eklendi. (I346ab)
- Değerlendirmeyi dinamik tür bağlandıktan sonra tetiklemek için BoundDynamicTypeyönteminiBoundDynamicTypeişlevine ekledik.startEvaluation(I19908)
- com.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACEayrıcalığına sahip komplikasyon sağlayıcılar, güvenli kadranlar için- android.support.wearable.complications.SUPPORTED_TYPES'yi geçersiz kılan- androidx.wear.watchface.complications.datasource.SAFE_WATCH_FACE_SUPPORTED_TYPESmeta verilerini kaydedebilir. (Id1c73)
- CustomValueUserStyleSettings2'ü- LargeCustomValueUserStyleSettingsolarak yeniden adlandırdık. (Ic17ac)
Hata Düzeltmeleri
- DynamicTypeValueReceiver#onPreUpdatekaldırıldı. (I2dc35)
Sürüm 1.2.0-alpha07
22 Şubat 2023
androidx.wear.watchface:watchface-*:1.2.0-alpha07 yayınlanır. 1.2.0-alpha07 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Android T'den itibaren OEM'ler, komplikasyon isteğinin sağlayıcılarının manifest dosyasında - android.support.wearable.complications.SAFE_WATCH_FACESmeta verileriyle tanımlanan listedeki bir kadrandan mı yoksa- ComplicationRequest#isForSafeWatchFacetarafından tanımlanan listedeki bir kadrandan mı geldiğini belirleyebilecek. Sağlayıcının,- TargetWatchFaceSafety.UNKNOWNdışında bir şey almak için- com.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACEiznine ihtiyacı vardır.
- Android T'den itibaren 12,5 KB'a kadar veri depolayabilen - CustomValueUserStyleSetting2de kullanılabilir.- CustomValueUserStyleSettingiçin önceki sınır 1 KB idi. Boyut sınırlarının artmasına rağmen, ayarlar düzenleme sırasında Bluetooth üzerinden gönderildiği ve Bluetooth bant genişliği sınırlı olduğu için kadran geliştiricilerinin verileri küçük tutmaları önerilir.
API Değişiklikleri
- GlesRendererve- GlesRenderer2'ye,- EGL14.EGL_CONTEXT_CLIENT_VERSIONparametresinin- EGL14.eglCreateContext'e iletilmesini ayarlamanıza olanak tanıyan isteğe bağlı bir- eglContextAttribListparametresi ekledik. (I2a83e)
- Kadran kitaplıklarını java.util.function.Consumeryerineandroidx.core.util.Consumer'e taşıdık. (I273f5)
- KT mülk erişim araçları tarafından daha fazla istisna atılıyor (Iff9d9)
- İstemcinin eski kadranlar adına desteği taklit etmesi gerekip gerekmediğini belirleyebilmesi için InteractiveWatchFaceClient.isComplicationDisplayPolicySupporteddeğerini ekledik. (I24c89)
- isForSafeWatchFacedeğerinin üç durumlu- IntDefolması gerektiğine karar verdik. (Ief2f7)
- Android T için OEM kullanımı amaçlanan ve com.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACEgerektirenComplicationRequest.isForSafeWatchFaceözelliğini kullanıma sunduk. Sistem görüntüsünde bulunan veri kaynakları için, istek gönderen kadran, veri kaynağının manifest dosyasında belirttiği güvenli kadranlar listesinde yer alıyorsa bu işlev true değerini döndürür. (I0cbb6)
- Android T için 12,5 KB'a kadar veri depolayabilen CustomValueUserStyleSetting2öğesini ekledik.CustomValueUserStyleSettingiçin önceki sınır 1 KB idi. (I0b100)
Sürüm 1.2.0-alpha06
25 Ocak 2023
androidx.wear.watchface:watchface-*:1.2.0-alpha06 yayınlanır. 1.2.0-alpha06 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Kadran platform bağlamaları için destek ekleme çalışmaları devam ediyor. Bu özellik henüz kullanıma hazır değil ancak gelişmeleri takip etmeye devam edin.
- GOAL_PROGRESS ve WEIGHTED_ELEMENTS adlı yeni komplikasyon türleri için XML ComplicationSlotdesteği ekledik.
Hata Düzeltmeleri
- Kadran düzenleyicinin Samsung cihazlarda düzgün şekilde yayınlanmamasına neden olan bir sızıntıyı düzeltir. (3b5987)
- Birden fazla favori içeren kadranlar arasında geçiş yaparken komplikasyonların bazen düzgün şekilde gösterilmemesine yol açan hata düzeltildi. (b38ece)
- perOptionScreenReaderNames ile ilgili serileştirme hatası düzeltildi. Bu hata, kadran kilitlenmelerine neden oluyordu. (e9f466)
Sürüm 1.2.0-alpha05
7 Aralık 2022
androidx.wear.watchface:watchface-*:1.2.0-alpha05 yayınlanır. 1.2.0-alpha05 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Bir süre önce hiyerarşik - UserStyleSettingsiçin destek ekledik. Android T'den itibaren bir hiyerarşide birden fazla- ComplicationSlotsUserStyleSettingbulunabilir. Kullanıcının stil seçimlerine bağlı olarak yalnızca bir- ComplicationSlotsUserStyleSettingetkin olur.
- ListOptionve- ComplicationSlotsOptioniçin ekran okuyucu desteğini iyileştirmek amacıyla- screenReaderNamealanı ekliyoruz. Android T'den önceki sürümlerde bu alan, tamamlayıcı düzenleyiciler tarafından yoksayılır.
API Değişiklikleri
- Düzenleyiciler tarafından kullanılmak üzere ListOptionveComplicationSlotsOptionalanlarına yeni bir isteğe bağlıscreenReaderNamealanı ekledik. Bu alan, Android T öncesi sürümlerin yüklü olduğu cihazlardaki yardımcı düzenleyiciler tarafından yoksayılır. (I75326)
- Android T sürümünden itibaren, aynı anda en fazla bir tanesi etkin olabileceği sürece stil hiyerarşisinde birden fazla ComplicationSlotsUserStyleSettingsdesteklenmektedir. Varsa etkinComplicationSlotsOptionöğesini bulmanıza yardımcı olmak içinUserStyleSchemaişlevinefindComplicationSlotsOptionForUserStyleyardımcı programı ekledik. (Ic2b06)
- RangedValuesTypes,- RangedValueComplicationData'un tamamlayıcı nesnesine çekildi ve- TYPE_UNDEFINED,- TYPE_RATINGolarak yeniden adlandırıldı ve yeni bir- TYPE_PERCENTAGEeklendi. (I55d02)
- Deneme amaçlı DynamicFloat'üFloatExpressionolarak yeniden adlandırdık ve@hideolarak işaretledik. (Idf4f1)
- @JvmDefaultWithCompatibilityek açıklaması (I8f206) ekleniyor
Sürüm 1.2.0-alpha04
9 Kasım 2022
androidx.wear.watchface:watchface-*:1.2.0-alpha04 yayınlanır. 1.2.0-alpha04 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Android T için GoalProgressComplicationDataveWeightedElementsComplicationDataolmak üzere iki yeni komplikasyon türü desteği ekledik.
- GoalProgressComplicationData,- RangedValueComplicationData'e benzer ancak değerinin hedefi aşmasına izin verilir (- RangedValueComplicationDataiçin değer [min .. max] aralığına sabitlenir). Bu durum, görsel tasarım açısından tüm kadranlara uygun olmayabilecek sonuçlar doğurur.
- GoalProgressComplicationData, basit verilerin pasta grafikleri ve benzer dökümleri için destek ekler.
- RangedValueComplicationDataöğesine- ColorRampsiçin isteğe bağlı destek ekledik.
- Android T için ComplicationDataalanınaComplicationPersistencePolicyvesetCachePolicyekledik. Bu alanlar, sağlayıcıların bir komplikasyonun devam edip etmediğini (yani yeniden başlatma işleminden sonra önbelleğe alınıp alınmadığını) kontrol etmesine olanak tanır. Çoğu komplikasyon için önbelleğe alma denetimi ayarlanması gerekmez ancak bu işlem, sık güncellenen bazı komplikasyonlar (ör. sağlık verileri komplikasyonları) için eski verilerle ilgili uç durumları düzeltebilir. Ayrıca,DO_NOT_SHOW_WHEN_DEVICE_LOCKEDuyumlu bir kadrana cihaz kilitliyken komplikasyonu göstermemesini talimat verdiğiComplicationDisplayPolicyözelliğini de ekledik. (Ic9574)
API Değişiklikleri
- GoalProgressComplicationData,- WeightedElementsComplicationDatave- ColorRampartık deneysel değildir. (Ica9e2)
- ComplicationPersistencePolicyve- ComplicationDisplayPolicyartık T API'leri olarak doğru şekilde işaretlenmiştir. (I31d88)
- Desteği sonlandırılan ComplicationSlotOverlayoluşturucusunda artıkDeprecationLevel.WARNINGvardır. Bu sayede, Java'dan tekrar çağrılabilir. (Ib308c)
- ComplicationRequestListener,- CanvasComplication,- ComplicationTapFilterve- InteractiveWatchFaceClientile ilgili bazı Java uyumluluk sorunlarını- @JvmDefaultWithCompatibility(Id94fc) ile ekleyerek düzelttik
- Deneysel ProtoLayoutComplicationDataveListComplicationData'i kaldırdık. Bu ürünlerin geliştirici hikayesi net değildi. Gelecekte bu konuyu tekrar ele alacağız. (I9df05)
- ValueTypekullanıcısını- RangedValueComplicationData'a tekrar ekledik.- WeightedElementsComplicationDataartık arka plan rengini destekliyor. İşlevselliği- WeightedElementsComplicationData'un alt kümesi olduğu için- DiscreteRangedValueComplicationData'ü kaldırdık. (I6446c)
Hata Düzeltmeleri
- Eşittir ve karma koduna isForScreenShotekleyin.onRenderParametersChangediçin doğru birisForScreenshotdeğeri sağlandığından emin olun (I04a41)
- Başsız istemcilerden WatchFaceControlServicesızıntısı düzeltildi. (e90e00)
Sürüm 1.2.0-alpha03
5 Ekim 2022
androidx.wear.watchface:watchface-*:1.2.0-alpha03 yayınlanır. 1.2.0-alpha03 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Yeni bir özellik eklemedik ancak kadran düzenleyiciyle ilgili birkaç hatayı düzelttik.
API Değişiklikleri
- rootUserStyleSettingsdeneysel olmadığından- UserStyleSchema.userStyleSettingsdesteği sonlandırıldı (Ie96e3)
- rootUserStyleSettings'ü deneyselden çıkarma (I8d6b3)
- WatchFaceColors, tüm sistemler tarafından desteklenmediği için deneysel olarak işaretlendi (I6d75d)
- DisconnectReasons'ü- IntDefile birlikte çalışacak şekilde herkese açık API'de kullanıma sunun. (I791f8)
Hata Düzeltmeleri
- SysUIkapanırsa kol saati düzenleyicide açık olan tüm dosyaları kapatın.- SysUIkapanırsa ve kadran düzenleyici kapanmazsa sistem, kullanıcı stili değişikliklerini sürdürmek için- SysUI'ten yararlandığından kadran tutarsız bir durumda bırakılabilir.(ba762a
- ComplicationDataSourceInfoRetriever'te, bir Kotlin coroutine devam ettirmenin gc kökü gibi davrandığı ve düzenleyici etkinliğini koruduğu bir bellek sızıntısı düzeltildi.(33ee06)
Sürüm 1.2.0-alpha02
21 Eylül 2022
androidx.wear.watchface:watchface-*:1.2.0-alpha02 yayınlanır. 1.2.0-alpha02 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Bazı kadranlarda, - UserStyledışındaki ve kadranı görsel olarak etkileyen yapılandırmalar (ör. arka plan fotoğrafı seçme) bulunur. Kadranın güncellenmiş bir önizleme resmi istemesine olanak tanıyan- Renderer.sendPreviewImageNeedsUpdateRequestözelliğini ekledik. Bunun çalışması için ilgili sistem güncellemesinin yapılması gerektiğini unutmayın.
- Ayrıca, kadran renklerini sisteme göstermek için bir API ekledik. Sistem, renk paletini buna göre seçebilir. Bu özelliğin, sonraki bir yamada deneme sürümüne geçirildiğini not edin. 
- ComplicationDatatürlerinin neredeyse tamamı artık- SmallImages'u desteklemektedir.
API Değişiklikleri
- Duvar kağıdı yöneticisi bazen bir motordan ayrılıp başka bir motor oluşturabilir. DisconnectReasonint def ekledik veClientDisconnectListener'u, dinleyicinin motorun ayrıldığını gözlemlemesine olanak tanıyanDisconnectReasoniçeren yeni bir yöntemle genişlettik. (I45cce)
- ComplicationSlotOverlayoluşturucusuna iki isteğe bağlı parametre (- nameResourceIdve- screenReaderResourceId) eklendi (I157e8)
- getOrCreateInteractiveWatchFaceClientiçin- PreviewImageUpdateRequestedListenerile yeni aşırı yükleme işlevi için bir guava sarmalayıcı ekledik. (Ic31f0)
- UserStyleSchemadışındaki bir duruma sahip olan ve görünümünü etkileyen kadranlar (ör. seçilebilir arka plan resmine sahip kadranlar) için kullanışlı olan- Renderer.sendPreviewImageNeedsUpdateRequestözelliğini ekledik. İstemci tarafında, bu istekleri gözlemlemek için- getOrCreateInteractiveWatchFaceClientisteği için isteğe bağlı parametre olarak- PreviewImageUpdateRequestedListenerekledik. (Iff44a)
- WatchFaceColors'ü göstermek için API'yi basitleştirdik. Artık Renderer'da, kadran tarafından ayarlanabilen- watchFaceColorsadlı basit bir özellik var. Bu özellik, stil değişikliklerine göre gerektiği şekilde güncellenmelidir. Renk değişikliklerini gözlemlemek için- WallpaperManageryerine- InteractiveWatchFaceClient'ye- OnWatchFaceColorsListenerekledik. (I490bc)
- En belirgin üç kadran rengini içeren bir WatchFaceColorssınıfı vewatchfaceColorsilenotifyWatchFaceColorsChangedaçık yöntemlerini Renderer'a ekledik. Bu yöntemler, sisteminWallpaperManager.getWallpaperColorsaracılığıyla kadran renklerini almasına olanak tanır. (I3d611)
- ShortTextComplicationData,- RangedValueComplicationData,- NoPermissionComplicationData(ve deneysel- DiscreteRangedValueComplicationData,- GoalProgressComplicationDatave- WeightedElementsComplicationData) artık- SmallImages'yi destekliyor. Bir kadran, komplikasyonu birden fazla renkle oluşturmayı seçerse artık tek renkli bir resim kullanmak yerine çok renkli bir- SmallImagekullanabilir. (I257df)
- PreviewImageUpdateRequestedListener'ü- Consumer<>olarak yeniden yapılandırın (Ia875d)
- Özel Tek Soyut Yöntem (SAM) türü OnWatchfaceColorsListener'ü genel Java SAM türüyle (Tüketici) değiştirme (I0c489)
- PreviewImageUpdateRequestedListenerbelirtmeyen eski- getOrCreateInteractiveWatchFaceClientve- listenableGetOrCreateInteractiveWatchFaceClientyöntemlerinin desteği sonlandırıldı. (Iec502)
Hata Düzeltmeleri
- DisconnectReason.BINDER_DIED,- DisconnectReason.ENGINE_DIEDolarak yeniden adlandırıldı. (I4eb0e)
Sürüm 1.2.0-alpha01
10 Ağustos 2022
androidx.wear.watchface:watchface-*:1.2.0-alpha01 yayınlanır. 1.2.0-alpha01 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Çeşitli yeni komplikasyon biçimleri için deneysel destek ekledik. Bu, etkin bir geliştirme alanıdır. Bu yeni biçimler, bildirimde bulunulmaksızın değiştirilebilir ve şu anda CanvasComplicationDrawabletarafından oluşturma desteği yoktur.
- Ayrıca komplikasyon yuvalarına isteğe bağlı kenar boşlukları ekleyerek küçük komplikasyonların daha kolay dokunulabilir olmasını sağladık.
API Değişiklikleri
- Deneysel BoundingArcsınıfı artık değiştirilemez. (If624a)
- Küçük komplikasyonlara dokunmak zor olabilir. Bu sorunu azaltmak için, oluşturmayı etkilemeden dokunulabilir alanı artıran kenar boşlukları desteğini kullanıma sunduk. Belirtilmediği sürece (kodda veya XML aracılığıyla) ComplciationSlotssıfır boyutunda kenar boşluklarına sahiptir. (I14089)
- getComplicationSlotInflationFactory(CurrentUserStyleRepository)imzası, null olmayan bir fabrika örneği döndürecek şekilde değiştirildi. Önceden null döndürmek hata olduğundan bu değişiklik, API sözleşmesini daha net hale getiriyor. (I0fcc0)
- createComplicationSlotsManagerile tutarlı olması için- WatchFaceService.getComplicationSlotInflationFactoryyöntemine- currentUserStyleRepositorybağımsız değişkeni ekledik. (I2ddd2)
- UserStyleFlavorsdeneysel olmayan bir özellik haline geldi. (I69cdc)
- Deneme amaçlı ValueTypeözelliğiniRangedValueComplicationData'ten kaldırdık ve bunun yerine tam sayı aralığı ve değeri dışındaRangedValueComplicationDatagibi olan deneme amaçlıDiscreteRangedValueComplicationDataözelliğini kullanıma sunduk. Ayrıca, minimum değerin varsayılan olarak sıfır olduğu ve değerintargetValue'den büyük olmasına izin verildiği bir hedefe doğru ilerleme içinRangedValueComplicationData'a benzer deneyselGoalProgressComplicationDataözelliğini de kullanıma sunduk. TümRangedValuevaryantları için monochromeImage, text veya title öğelerinden en az biri belirtilmelidir. (I9590c)
- Sistem yazılımında kullanım alanı olmadığı için boundsWithMargins,ComplicationSlotState'ten kaldırıldı. (I42e26)
- İsteğe bağlı metin/başlık/resim ile birlikte bir dizi öğe (ağırlık ve renk çiftleri) içeren WeightedElementsComplicationDataiçin deneysel destek ekledik. Bu veriler, genellikle komplikasyonlarda etiketlerin oluşturulması için yer olmadığından, bağlama göre anlamlı renklerin kullanılması gereken bir pasta grafiği olarak gösterilebilir. (I87eea)
- RangedValueComplicationDatave- GoalProgressComplicationDatatarafından isteğe bağlı olarak kullanılan deneysel- ColorRamps, artık yedi adede kadar renk içeren bir sıra ve renklerin pürüzsüz bir şekilde mi yoksa eşit boyutlu sabit renk adımlarıyla mı oluşturulacağını belirten bir işaret belirtmenize olanak tanır. (I9f5bf)
- RangedValueComplicationData.drawSegmented,- valueTypeolarak değiştirildi.- valueType, aralıktaki değere anlamsal anlam sağlayan ve komplikasyon oluşturucu tarafından stili etkilemek için kullanılabilen bir- ValueType IntDefile birlikte bir int türündedir. (I0616b)
- İsteğe bağlı ColorRangesileRangedValueComplicationDataiçin deneysel destek ekledik. Normalde komplikasyonlar, kadran tarafından seçilen renklerde oluşturulur ancak bazenComplicationDataSource, renkleri ayarlamak için en iyi yere yerleştirilir (ör. belirli bir anlamsal anlamı olduğunda). Örneğin, sıcaklık için kırmızıdan maviye. (I5153a)
- RangedValueComplicationDataiçin deneysel bir- drawSegmentedipucu ekledik. Bu, oluşturuculara, 1 segment = 1 birim olacak şekilde aralıktaki değer göstergesini segmentlerle çizmelerini bildirir. (I7d7c1)
Hata Düzeltmeleri
- ComplicationSlotBoundsdeğerini önceden tanımlanmış bir ekran koordinat sistemine göre tanımlama özelliğini ekledik. (I0985d)
Sürüm 1.1
1.1.1 sürümü
10 Ağustos 2022
androidx.wear.watchface:watchface-*:1.1.1 yayınlanır. 1.1.1 sürümü bu taahhütleri içerir.
- Bu sürüm, hata düzeltmeleri içerir. 1.1.0 sürümünü kullananların yükseltme yapmaları önemle tavsiye edilir.
Hata Düzeltmeleri
- Kadran başlatma işlemi eşzamanlı değildir ve kadran hazır olmadan önce bir komplikasyon alınırsa - pendingInitialComplicationslistesine eklenir ve daha sonra uygulanır. Maalesef- pendingInitialComplicationsçok erken uygulandı. Bu nedenle, kadran ilk kullanıma hazırlanırken komplikasyonların- pendingInitialComplications'e eklenmeye devam ettiği ve yoksayıldığı bir zaman aralığı vardı. Bu sorun düzeltildi. Ayrıca bu düzeltme,- ComplicationRenderer'ün yer tutucuları eşzamansız olarak yüklemeye çalıştığı ve bu işlemin başarısız olması nedeniyle derleme grafiğinin hiçbir zaman güncellenmemesine yol açan bir hatayı giderir. Son olarak bu yamada, birden fazla- pendingInitialComplicationsöğesinin birleştirilmesi gereken (teorik olarak) bir hata düzeltildi. (0d03ba3)
- getExistingInstanceOrSetPendingWallpaperInteractiveWatchFaceInstance'ın kilidi gerekenden uzun süre tuttuğu- InteractiveInstanceManager'te olası kilitlenmeyi düzeltin. Genellikle- engine.setUserStyleişleminin hızlı olmasını bekleriz ancak herhangi bir nedenle bu işlem hızlı olmazsa kilitlenme/ANR ile karşılaşabiliriz. Bu yama, kilitlenmeyi önlemek için gereksiz işlemleri kilitten çıkarır.(5a2adca)
- WatchFaceService'yi engelleyen birkaç sorunu düzeltin. WakeLock bazen- WatchFaceServicedeğerini koruyabilir.- release()çağrısı ekleyerek bu sorunu düzeltebilirsiniz. Ayrıca- StateFlows,- WatchFaceService'u tutabilir. Temel- CoroutineScopes'yi iptal etmek bu sorunu çözer.(fd48138)
- awaitDeferredWatchFace* alanına zaman aşımı ekleyin ve- watchfaceOverlayStyle- NullPointerExceptiondeğerini düzeltin. Normal şartlarda bu işlem, yeni yükleme ve CPU yükünün yüksek olduğu- DirectBootsenaryoları da dahil olmak üzere zaman aşımına uğramaz. Ayrıca,- getWatchfaceOverlayStyleişlevi- close()işlevinden sonra çağrılırsa ortaya çıkan NPE'yi de düzelttik.(a4c3a5a)
1.1.0 sürümü
15 Haziran 2022
androidx.wear.watchface:watchface-*:1.1.0 yayınlanır. 1.1.0 sürümü bu taahhütleri içerir.
1.0.0 sürümünden bu yana yapılan önemli değişiklikler
İyileştirilmiş düzenleme:
- Düzenleyici kullanıcı arayüzleri tarafından stil hiyerarşisinin yazılmasına olanak tanıyan hiyerarşik şemalar için destek ekledik. Artık kadran ve tamamlayıcı düzenleyiciler tarafından kullanılacak ayrı simgeler belirtebilirsiniz.
- Birden fazla kadran örneği için etkinleştirme desteği vardır. Her örnek, tüm API yüzeylerinde kullanılabilen benzersiz bir kimliğe sahiptir.
- Artık düzenleyicilerde kullanmak üzere ComplicationSlotsiçin insan tarafından okunabilir adlar belirtebilirsiniz.
- Stil "lezzetleri" için deneysel destek. Bu, tamamlayıcı düzenleyiciden görülebilecek, özel olarak seçilmiş bir stil grubudur.
- İki kadran örneği yüklenirken kadran örnekleri artık kaynakları paylaşarak bellek tasarrufu sağlayabilir.
- Kadran düzenleyicisinde komplikasyon seçerken artık mevcut sağlayıcı önceden seçilidir.
İyileştirilmiş komplikasyonlar:
- Artık birincil ve ikincil veri kaynakları için ComplicationTypedeğerini belirtebilirsiniz. Böylece geliştiricilere kutudan çıkar çıkmaz deneyim için daha fazla esneklik sunabilirsiniz.
- Kadranımıza, saat kadranına gönderilecek ve önbelleğe alınabilecek ve otomatik olarak güncellenebilecek zamana dayalı bir veri dizisi sağlayan ComplicationDataTimelineözelliğini ekledik. Örneğin, günün farklı saatlerindeki hava durumu tahmini veya yaklaşan birden fazla takvim etkinliği.
- Kadran sağlayıcının ComponentName,ComplicationDatakapsamındadır.
- Komplikasyonlar artık önbelleğe alındığından, kadranlar arasında geçiş yaparken daha iyi bir deneyim elde edersiniz.
Diğer değişiklikler:
- UserStyleSchemave- ComplicationSlotsartık XML'de tanımlanabilir. Bu sayede kadran oluşturma işlemi basitleştirilir ve sistemden daha hızlı meta veri sorguları yapılabilir.
- Kadranlar artık sistem yer paylaşımını oluşturmak için kullanılan renkleri etkileyebilir.
Sürüm 1.1.0-rc01
18 Mayıs 2022
androidx.wear.watchface:watchface-*:1.1.0-rc01 yayınlanır. 1.1.0-rc01 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Kadran XML desteğinde, ComplicationSlotBoundsve destekleyici referansları belirtmeyi kolaylaştıran bazı kullanılabilirlik düzenlemeleri yaptık. Kenar komplikasyonuBoundingArcile deneme çalışmaları devam ediyor. Şu anda kullanılması önerilmez ancakdrawHighlight'e kadar kullanılabilir.
API Değişiklikleri
- BoundingArcparametresini kabul eden deneysel bir- drawHighlightaşırı yüklemesi ekledik. (I705f8)
- Kadran XML'i artık kaynak referanslarını desteklemektedir. Hem XML'de hem de kodunuzda aynı sabitleri kullanmanıza olanak tanır. (I3ef61)
- ComplicationSlotBoundsdeğerini- center_x,- center_y,- size_x,- size_ybiçiminde tanımlama özelliğini ekledik. Artık kaynak referansları kullanılarak farklı birimler (ör. dp) de kullanılabilir. (Iace98)
Hata Düzeltmeleri
- Görevleri yanlış bağlamda çalıştıran runBlockingWithTracingsorunu düzeltildi.(4f595fe)
- BaseEditorSession.close'ü senkronize edin.- BaseEditorSession.close'ün asenkron olmasıyla ilgili sorun,- ComplicationDataSourceInfoRetriever'ü çok geç yayınlamamız nedeniyle logcat'te uyarı spam'ine yol açmasıdır. Bu muhtemelen zararsızdır ancak logcat spam'i dikkat dağıtıcıdır ve önlenmelidir.(35a5308)
Sürüm 1.1.0-beta02
11 Mayıs 2022
androidx.wear.watchface:watchface-*:1.1.0-beta02 yayınlanır. 1.1.0-beta02 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Yeni ComplicationDatatürleri için deneysel destek ekledik. Bu türler henüz kullanıma hazır değil ancak bu alanı takip edin.
API Değişiklikleri
- Kenar komplikasyon yuvasının geometrisini tanımlayan deneysel bir sınıf olan BoundingArc'ü ekledik. Bu,ComplicationSlot'e eklendi veComplicationSlotStateileWatchFaceMetadataClient'ye bağlandı. (I61a40)
- UserStyleSettingXML'de ayarları devralma özelliğini ekledik. Bu sayede ayrıntıları azaltabilir ve ayarları kadranlar arasında paylaşabilirsiniz. (Ief841)
- Deneme amaçlı iki yeni ComplicationDatatürü ekledik:ListComplicationDataveProtoLayoutComplicationData. Şu anda bu türlerin hiçbiri için oluşturma desteği yoktur ve WearOS,ComplicationDataSource'smanifest dosyasına eklenmişse bu türleri tanımaz. (I1811c)
Hata Düzeltmeleri
- TimeLineEntrytüründeki serileştirmeyi düzeltin.- TimeLineEntrytürünü serileştirmediğimiz için NoData türündeki önbelleğe alınmış- TimeLineEntries, üst komplikasyonun türüne sahipmiş gibi yanlış yorumlanıyordu. Bu da, var olmayan zorunlu alanlara erişildiğinde NPE'lere yol açıyordu. (55ffdf5)
- setComplicationDatazaman çizelgesi alanlarının bırakılmasına neden olan hata düzeltildi(fb392f5)
- runBlockingWithTracing'ün çok nadiren NPE'ye neden olduğu bir hata düzeltildi(12ca62e).
- Bazen komplikasyon alırken ClassNotFoundException: android.support.wearable.complications.ComplicationTextgösterilmesine neden olan hata düzeltildi.(217942d9)
- GlesRenderer.backgroundThreadInitInternalişlevinde, yalnızca- EGL14.eglCreateContextçağrılırsa- onBackgroundThreadGlContextCreatedişlevinin çağrılmasına neden olan bir hata düzeltildi. Ekran görüntüsünde- verticalFlipnedeniyle görsel bir hataya neden olan başka bir hata düzeltildi.(c674ad2)
- WatchFaceServiceXML sürüm kontrolünü düzeltin. Yanlış paketten yüklüyordu.(dfa06f3)
- Yer tutucu kablo biçimi artık iç paket kullanıyor. Yer tutucuların, gizli iç a.s.w.c.ComplicationData öğesini kullanabilecek mevcut kadranları bozmasını istemiyoruz. Daha önce NoDataComplicationverilerinin kablo biçimi, yer tutucuyu normal alanlarda depoluyordu (eski kadranlar, amaçlanmayan yer tutucu dizesini oluşturması nedeniyle sorunluydu). Bunun yerine artık bunu tamamen izole etmek için bir iç paket kullanıyoruz.(d5e7bd2)
Sürüm 1.1.0-beta01
20 Nisan 2022
androidx.wear.watchface:watchface-*:1.1.0-beta01 yayınlanır. 1.1.0-beta01 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Artık WatchFaceMetadataClientyöntemleri (getUserStyleSchema,getComplicationSlotMetadataMap,getUserStyleFlavors) veHeadlessWatchFaceClient.getUserStyleFlavors,WatchFaceExceptionyerine unchecked RuntimeException atıyor. (I0718a)
- WatchFaceMetadataClient.WatchFaceException, yeniden kullanılabilmesi için sınıftan çıkarıldı. (I4e869)
Hata Düzeltmeleri
- WatchFaceMetadataClientartık kısmi- ComplicationSlotBoundsgönderildiğinde kilitlenmeyecek.(Iaafd)
Sürüm 1.1.0-alpha05
6 Nisan 2022
androidx.wear.watchface:watchface-*:1.1.0-alpha05 yayınlanır. 1.1.0-alpha05 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Artık ComplicationData.dataSourcedeğerini inceleyerek hangi veri kaynağınınComplicationDatagönderdiğini anlayabilirsiniz. Bazı kadranlar, komplikasyon görüntülemeyi özelleştirmek için bunu kullanabilir. (I44a73)
API Değişiklikleri
- Renderer.CanvasRendererve- Renderer.GlesRenderer, oluşturma yöntemlerine iletilen- SharedAssetsöğesini destekleyen- Renderer.CanvasRenderer2ve- Renderer.GlesRenderer2için kullanımdan kaldırıldı. Java birlikte çalışabilirliği için- ListenableCanvasRenderer2ve- ListenableGlesRenderer2özelliklerini kullanıma sunduk. (I31ffa)
- @WatchFaceFlavorsExperimentalstillerini tanımlama özelliği eklendi: stillendirilmiş kadranlardan oluşan önceden yapılandırılmış liste (I04dd0)
- Renderer.sharedAssetsartık bir StateFlow oldu ve kullanılmayan- Renderer.SharedAssetsFactory(I12ac5) kaldırıldı
- UserStyleSchema.userStyleSettingsdesteği sonlandırılmadı (Iba7e3)
- HeadlessWatchFaceClient'nin, özet karmasını hesaplamadan önce şemayı AIDL üzerinden geçirmenin nispeten düşük maliyetinden kaçınmasına olanak tanıyan- HeadlessWatchFaceClient.getUserStyleSchemaDigestHashözelliğini ekledik. (I33597)
- isUserStyleSchemaStaticöğesini- WatchFaceMetadataClientöğesine ekledik. Bu öğe, kadran APK'sı güncellenmediği sürece- UserStyleSchemaöğesinin değişmeyeceğine güvenilebiliyorsa doğrudur. (I45a3f)
- UserStyleSchemadosyasına, şemanın özet karmasını hesaplayan- getDigestHashdosyasını ekledik. Bu,- UserStyleSchemadeğerinin değişip değişmediğini verimli bir şekilde belirlemek için kullanılabilir. (I2063d)
- METADATA_KEY_DATA_SOURCE_DEFAULT_CONFIGURATION_SUPPORTED,- METADATA_KEY_DATA_SOURCE_DEFAULT_CONFIG_SUPPORTEDolarak yeniden adlandırıldı (I9ba5d)
- UserStyleSetting.OnWatchEditorData,- UserStyleSetting.WatchFaceEditorDataolarak yeniden adlandırıldı. Yalnızca kadran düzenleyici tarafından kullanılan verileri içerir. (If3afb)
Sürüm 1.1.0-alpha04
9 Mart 2022
androidx.wear.watchface:watchface-*:1.1.0-alpha04 yayınlanır. 1.1.0-alpha04 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Güncel ComplicationDataher zaman kullanılamayabilir (ör.süresi dolmuş önbelleğe alınmış ComplicationData). Bu nedenleNoDataComplication'u isteğe bağlı bir yer tutucu ComplicationData ile genişlettik ve yalnızcaNoDataComplicationDatayer tutucusu bağlamında kullanılmasına izin verilenComplicationText.PLACEHOLDER,MonochromaticImage.PLACEHOLDER,SmallImage.PLACEHOLDER,PhotoImage.PLACEHOLDERdeğerlerini ekledik. Seçilen bu yer tutucuların gri kutular/yaylar ile oluşturulması önerilir. (I6285d)
- Referans anından sonraki bir sonraki anı (komplikasyonun herhangi bir alanının değişebileceği anı) belirten ComplicationData.getNextChangeInstantdeğerini ekledik. Bu, komplikasyon güncellemeleri için kareleri planlamak amacıyla dahili olarak kullanılır. Örneğin, bir kadran normalde dakikada bir güncelleniyorsa kronometre komplikasyonunu ayarlamak kadranınızın saniyede bir güncellenmesine neden olur. (I7ceb2)
- EditorSession.watchFaceIdartık tüm API düzeylerinde kullanılabilir. Ayrıca değeri artık her zaman- WatchState.watchFaceInstanceIdile tutarlı olacaktır. (I323b9)
- Temel sorun çerçevede düzeltildiğinden getPendingIntentForTouchEventAPI artık gerekli değildir. Bu nedenle, ilgili tüm API'ler kaldırılmıştır. Ana sayfa düğmesine kısa süre önce basılmış olsa bile kadranlarınPendingIntentsetkinleşmesi için özel bir işlem yapması gerekmez. (I1f2e8)
- Oluşturma işlemi ekran görüntüsü içinse doğru olan RendererParameters.isForScreenShotdeğerini ekledik. Animasyon içeren bazı kadranlar, en iyi sonuçları elde etmek için ayarlamalar yapabilmek amacıyla bu bilgiye ihtiyaç duyar. (I96d99)
- Ne gibi bir sorun yaşadığınızla ilgili bilgi vermek için WatchFaceExceptionReasonöğesiniWatchFaceException'a ekledik. (I01d15)
- ComplicationDataSourceService.onImmediateComplicationRequestkaldırıldı, bunun yerine sağlayıcının hızlı yanıt vermesi gerektiğini (ideal olarak 100 ms'den kısa sürede yanıt vermesi) belirtmek için- ComplicationRequest.immediateResponseRequiredeklendi. Bu işlevin ayrıcalıklı- com.google.android.wearable.permission.USE_IMMEDIATE_COMPLICATION_UPDATEizniyle korunduğunu unutmayın. (Ie6b23)
- Temel ve uygulama uyumluluğundaki boşluk kabul edilebilirlik özelliği, Tiramisu DP2 (I0cbb7) ile eşleşecek şekilde güncellendi
Hata Düzeltmeleri
- Artık kadran uygulaması, şema doğrulaması başarısız olursa bir istisnayla çöküyor (Ia400f)
Sürüm 1.1.0-alpha03
9 Şubat 2022
androidx.wear.watchface:watchface-*:1.1.0-alpha03 yayınlanır. 1.1.0-alpha03 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Hiyerarşik stil şemaları için deneysel destek ekledik. androidx.wear.watchface.style.UserStyleSetting.Option'e, başlangıçta yalnızcaListOptiontarafından kullanılan childSettings adlı yeni bir özellik ekledik. Bu sayede, düzen hiyerarşisi Düzenleyici kullanıcı arayüzleri tarafından kullanılmak üzere açıklanabilir. Temel UserStyle değişmez veMap<String, ByteArray>olarak kalır. (Iaf6f4)
- Kadranın, sistem durumu yer paylaşımının oluşturulmasını yapılandırmasına olanak tanıyan WatchFace.OverlayStyleözelliğini ekledik. (I8520d)
- CanvasRendereriçin yeni bir isteğe bağlı kurucu parametresi olan- clearWithBackgroundTintBeforeRenderingHighlightLayer'ü kullanıma sunduk (varsayılan değer false). Bu parametre true olarak ayarlanırsa tuval, arka plan tonu rengiyle temizlenir. (Ie01e5)
- Karışıklık veri kaynaklarının herhangi bir yapılandırma olmadan varsayılan bir değer sağlayabileceğini belirtmesine olanak tanıyan androidx.watchface.complications.datasource.DEFAULT_CONFIGURATION_SUPPORTEDmeta veri anahtarı eklendi (Icc0d4)
- Bir kadran düzenlenirken hem etkileşimli hem de başsız bir örnek olması yaygındır. Bellek tasarrufu sağlamak için, saat kadranı oluşturma aracının örnekler arasında değişmeyen verileri (ör. dokular ve gölgelendiriciler) paylaşmasına olanak tanıyan Renderer.SharedAssetsözelliğini kullanıma sunduk.GlesRenderer.setEglConfigveGlesRenderer.setEglDisplayiçin desteği sonlandırıldı. Bu özelliklerin ayarlanabilir olması amaçlanmamıştır ve ayarlanması, tanımlanmamış davranışlara yol açardı. (I0d9e7)
- ComplicationSlot.Builder'ye- setNameResourceIdve- setScreenReaderNameResourceId(dize kaynaklarına referans veren) ve- androidx.wear.watchface.client.ComplicationSlotState'a ilgili alıcıları ekledik. Bu sayede sistem, ComplicationSlots adlarını düzenleyicilerde ve ekran okuyucularda kullanabilir. (If6c6a)
- WatchfaceMetadataClient.getUserStyleSchemave- getComplicationSlotMetadataMapartık- RemoteExceptionyerine- WatchFaceExceptionatıyor. (I86f11)
- onSynchronousComplicationRequestve- ComplicationDataSourceService'daki ilgili işlevler- onImmediateComplicationRequestolarak yeniden adlandırıldı. (I87ba0)
- Kadran düzenleyiciler, tamamlayıcı düzenleyicilere kıyasla çok daha az ekran alanına sahiptir. Bu nedenle, kadran düzenleyiciler için farklı simgelerin desteklenmesi mantıklıdır.  Bu yama, tüm UserStyleSettings öğelerine ve uygun durumlarda Option sınıflarına OnWatchEditorData(şu anda yalnızca bir simge içerir) ekler. (If1886)
- Java birlikte çalışabilirliğini iyileştirmek için ListenableGlesRenderer'ın kurucusuna @JvmOverloadsekledik. (I2974a)
Hata Düzeltmeleri
- ListenableGlesRenderersınıfının kurucusu artık- @Throws(GlesException::class)olarak doğru şekilde işaretlendi ve bu sınıfı Java'da genişletmek mümkün oldu. (Iac6d0)
- PhotoImageComplicationDatatapAction'ın doğru şekilde işlenmesiyle ilgili hata düzeltildi (I1cc30)
Sürüm 1.1.0-alpha02
12 Ocak 2022
androidx.wear.watchface:watchface-*:1.1.0-alpha02 yayınlanır. 1.1.0-alpha02 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Hata ayıklama ve test işlemlerine yardımcı olmak için ComplicationDatave ilgili alt sınıflarda artık hashcode, equals ve toString yöntemleri geçersiz kılındı. Bu sayede bu sınıflarla çalışma daha kolay hale geldi.
API Değişiklikleri
- WatchfaceMetadataClientyöntemleri, uygun olduğunda bir kez daha- RemoteExceptionsatar. Bu sayede istemci kodunun kadrandan gelen hataları yakalaması kolaylaşır. (I78785)
- ComplicationDatave alt sınıflarda artık karma kod, eşittir ve toString işlevleri vardır. (I24bc6)
Sürüm 1.1.0-alpha01
15 Aralık 2021
androidx.wear.watchface:watchface-*:1.1.0-alpha01 yayınlanır. 1.1.0-alpha01 sürümü bu taahhütleri içerir.
Yeni Özellikler
- UserStyleSchemave- ComplicationSlotsartık XML'de tanımlanabilir. Bu sayede kadran oluşturma işlemi basitleştirilir. Ayrıca, meta verileri almak için hizmete bağlanması gerekmediğinden- WatchFaceMetadataClientsorguları daha hızlıdır.- WatchFaceMetadataClientve- ListenableWatchFaceMetadataClientartık deneysel değil ve kararlı api'nin bir parçası olacak. Sistem, isteğe bağlı olarak her biri kullanıcı tanımlı farklı stil seçeneklerine sahip birden fazla kadran örneğini destekleyebilir. Bunlar kadran seçicide gösterilir. Bu özelliği etkinleştirmek için kadranınızın manifest dosyasında aşağıdaki meta veri etiketi bulunmalıdır.- <meta-data android:name="androidx.wear.watchface.MULTIPLE_INSTANCES_ALLOWED" android:value="true" />
- Bazı kadranlarda - UserStyleiçinde yakalanmayan bir durum vardır. Bu durumu ve birden fazla örneği desteklemek için kadran örneği kimliği artık- WatchState.watchFaceInstanceIdaracılığıyla kullanılabilir.
- ComplicationDataartık komplikasyonların yüklendikten hemen sonra gösterilmesine izin vermek için önbelleğe alınıyor.- ComplicationDatabazen sistem tarafından hafızaya önbelleğe alınır, bazen de kadran kitaplıkları tarafından serileştirilir. Serileştirildiğinde, ilişkili tapAction kaybolur.Bu durumda- ComplicationData.tapActionLostDueToSerialization,- truedeğerini döndürür ve kadran, komplikasyona dokunulamayacağını belirtmek için komplikasyonu farklı şekilde (ör. devre dışı veya yarı saydam) oluşturur. Sistem, en kısa sürede- tapActionile güncellenmiş- ComplicationDatagönderir.
- Bazı - ComplicationDatauzun süre önbelleğe alınmamalıdır. Bu durumu desteklemek için daha genel bir özellik- ComplicationDataTimelineekledik. Bu, kadrana gönderilecek ve önbelleğe alınabilen ve otomatik olarak güncellenebilen zamana dayalı bir- ComplicationDatadizisi sağlamak için kullanılabilir. Örneğin, günün farklı saatlerindeki hava durumu tahmini veya yaklaşan birden fazla takvim etkinliği.- ComplicationRequestListener, bu verileri döndürmek için kullanabileceğiniz yeni bir yöntem- onComplicationDataTimelineile genişletildi.
- DefaultComplicationDataSourcePolicy, birincil ve ikincil veri kaynakları için- ComplicationType'ı belirtebilmeniz için genişletildi.
- Kadran görünür ve ortam ışığı kapalıyken komplikasyonun normalden daha yüksek bir sıklıkta (saniyede bire kadar) güncellendiği senkronize komplikasyon sağlayıcılar için destek ekledik. Not: Eşzamanlı komplikasyon sağlayıcıların kullanımı, bellek baskısı endişeleri nedeniyle sınırlı olabilir. 
- Temel sorunu (ana ekran düğmesine bastıktan sonra kadran 5 saniye boyunca etkinlik başlatamaz) çerçevede çözdüğümüz için - PendingIntentTapListenerdeğişikliklerinin geri alınması muhtemeldir.
API Değişiklikleri
- ComplicationData.isCached,- tapActionLostDueToSerializationolarak değiştirildi. Bu, komplikasyon yuvasının dokunulamayacağını belirtmek için farklı şekilde oluşturulup oluşturulmayacağını belirlerken daha kullanışlıdır. (I6de2f)
- ComplicationDataTimeline,- wear-complication-data-sourcegrubuna eklendi. Bu, kadrana gönderilecek ve önbelleğe alınabilen ve otomatik olarak güncellenebilen zamana dayalı bir- ComplicationDatadizisi sağlamak için kullanılabilir. Örneğin, günün farklı saatlerindeki hava durumu tahmini veya yaklaşan birden fazla takvim etkinliği.- ComplicationRequestListener, bu verileri döndürmek için kullanabileceğiniz yeni bir yöntem- onComplicationDataTimelineile genişletildi. Veri kaynağı hizmetlerini askıya almak için yeni bir kotlin sarmalayıcı- SuspendingTimelineComplicationDataSourceServiceeklendi. (Idecdc)
- PendingIntentTapListenerve- WatchFaceControlClient.getPendingIntentForTouchEventeklendi. Bu, çerçevenin ana ekran düğmesine bastıktan sonra 5 saniye boyunca yeni etkinliklerin başlatılmasını engellediği bir sorunun etrafından dolaşmak için dokunma işlemlerine yanıt olarak intent başlatması gereken kadranlara yardımcı olabilir. (I98074)
- Kadran başına ComplicationDataönbelleği kullanıma sunuldu. Bunun amacı, sistem bunları güncelleyene kadar kadranın, yükleme sırasında bilinen son komplikasyon veri değerlerini göstermesine olanak tanımaktır. OEM'ler için yeni bir API yöntemiWatchFaceControlClient.hasComplicationCachemevcuttur. Bu durum, sistemin kadrana komplikasyon gönderme stratejisini etkileyebilir. AyrıcaComplicationData'te birisCachedözelliği vardır vetapActionönbelleğe alınamadığı ve önbelleğe alınmış bir komplikasyondanullolacağı için önbelleğe alınmış komplikasyonların farklı şekilde oluşturulması önerilir. (I404b0)
- Kadranın örnek kimliği artık WatchState.watchFaceInstanceIdüzerinden kullanılabilir. Çoğu kadran için bu anahtarı kullanmanız gerekmez. Ancak, Schema'da depolanmayan kadran başına bir durum varsa kadran örneğini tanımlamak için bu anahtarı kullanmanız gerekir. Bu destek sürecine yardımcı olmak için artıkWatchFaceControlClient.createHeadlessWatchFaceClient'ü aradığınızda bir kimlik sağlayabilirsiniz. (I1ff98)
- Birincil, ikincil sağlayıcı ve yedek sistem sağlayıcı için varsayılan ComplicationTypesayarlama özelliğiyleDefaultComplicationDataSourcePolicygenişletildi.ComplicationSlot.defaultDataSourceTypedesteği sonlandırıldı. (If0ce3)
- ComplicationSlot.configExtrasartık değiştirilebilir ve- EditorSession.openComplicationDataSourceChooser()çağrılmadan önce güncellenebilir. (I6f852)
- WatchFace.setComplicationDeniedDialogIntentve- setComplicationRationaleDialogIntenteklendi. Bu intent'ler, komplikasyon izinleri istenmeden önce bir neden iletişim kutusu ve izinler reddedildiğinde bir komplikasyonu düzenlemeye çalışırken komplikasyon izninin gerekli olduğunu açıklayan başka bir iletişim kutusu göstermek için başlatılır (sağlayıcı seçici açılamayacağı için iletişim kutusu gereklidir). (I3a29c)
- UserStyleSchemave- ComplicationSlotsartık XML'de tanımlanabilir. Bu, kadran oluşturmayı basitleştirir ve meta verileri almak için hizmete bağlanmaları gerekmediğinden- WatchFaceMetadataClientsorgularını hızlandırır. (I85bfa)
- İstemcilerin, bir kadran getPendingIntentForTouchEvent'ü destekleyip desteklemediğini belirleyebilmesi içinInteractiveWatchFaceClient.supportsPendingIntentForTouchEventeklendi. (I0b917)
- WatchFaceMetadataClientve- ListenableWatchFaceMetadataClientartık deneysel değil. Mümkün olduğunda kadran için bir bağlayıcı açmadan kadran meta verilerini verimli bir şekilde elde etmek için kullanılabilir. (Ibb827)
- Kadran görünür ve ortam ışığı değilken komplikasyonun normalden daha yüksek bir sıklıkta (saniyede bire kadar) güncellendiği senkronize komplikasyon sağlayıcılar için destek eklendi. Sağlayıcının bunu kullanabilmesi için manifest dosyasına yeni bir androidx.wear.watchface.complications.data.source.SYNCHRONOUS_UPDATE_PERIOD_SECONDSmeta veri etiketi eklemesi veonSynchronousComplicationRequestdeğerini geçersiz kılması gerekir. Veri kaynağının yapısına bağlı olarak, komplikasyonun etkileşimli moda ne zaman girip çıktığıyla ilgili bildirimler almak içinonStartSynchronousComplicationRequestsveonStopInteractiveComplicationRequests'yi geçersiz kılması da gerekebilir. (I8fe9d)
Sürüm 1.0
1.0.1 sürümü
9 Şubat 2022
androidx.wear.watchface:watchface-*:1.0.1 yayınlanır. 1.0.1 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- PhotoImageComplicationDatatapAction'ın doğru şekilde işlenmesiyle ilgili hata düzeltildi (I1cc30)
Sürüm 1.0.0
1 Aralık 2021
androidx.wear.watchface:watchface-*:1.0.0 yayınlanır. 1.0.0 sürümü bu taahhütleri içerir.
1.0.0 sürümünün önemli özellikleri
androidx.wear.watchface paketi, WearOS kadranları geliştirmek için önerilen yeni kitaplıktır.  Eski Wearable Destek Kitaplığı'na kıyasla birçok yeni özelliği vardır.
- Kullanıcı stili (ör.renk paletini, saat ibrelerinin stilini, saat işaretlerinin görünümünü değiştirmek için) kitaplık tarafından doğrudan desteklenir (androidx.wear.watchface.stylebölümüne bakın). androidx.wear.watchface.editor kullanılarak kadran üzerinde bir düzenleyici geliştirmek artık çok daha kolay.Ayrıca, ek kod yazmanıza gerek kalmadan kadranınız sistem tamamlayıcı uygulamasından düzenlenebilir.
- En iyi uygulamalar dahildir. Kütüphane, komplikasyonlar için ekran okuyucu içerik etiketlerini otomatik olarak oluşturur (kendi etiketlerinizi de ekleyebilirsiniz). Pil seviyesi düşük olduğunda ve şarj olmuyorsa pil ömrünü artırmak için kare hızı otomatik olarak düşer.
- Özellikle de şablon kodların çoğunun kitaplığa taşındığı komplikasyonlar için kadran geliştirmek için daha az kod gerekir.
Hata Düzeltmeleri
- EditorSession.userStyle.compareAndSet(I6f676) sorununu düzeltin
- Çok kısa kadran gecikmeleri düzeltildi (Iffb97)
- Kullanıcı arayüzü iş parçacığında InteractiveWatchFaceImpl.onDestroydağıtma (I83340)
- Yayın alıcılarıyla ilgili çeşitli sorunları düzeltme (I7d25f)
Sürüm 1.0.0-rc01
3 Kasım 2021
androidx.wear.watchface:watchface-*:1.0.0-rc01 yayınlanır. 1.0.0-rc01 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Akış taşıma işlemleri nedeniyle bozulan dump() (adb shell dumpsys tarafından çağrılır) işlevini düzeltin. (087cf9e) 
- writeDirectBootPrefs işlevinin doğru sırayla çağrıldığından emin olun. writeDirectBootPrefs'in her zaman initStyleAndComplications'tan sonra çalışmasını istiyoruz. Aksi takdirde kullanıcı arayüzü iş parçacığı başlatılmasını geciktirebiliriz.(37650ac) 
- Renderer.onDestroy işlevinin çağrıldığından emin olun. Oluşturucunun oluşturulduğu ancak WF ilk başlatılmasının tamamlanmadığı ve Engine.onDestroy'un çağrıldığı senaryoda Renderer.onDestroy'u çağırmamız gerekir. (f9952dc) 
- isBatteryLowAndNotCharging için optimizasyon/düzeltme. Bu yama, isBatteryLowAndNotCharging'ın ilk kurulumunu daha erkene taşır. Bu sayede, createWatchFace ile paralel olarak yapılabilir. Ayrıca artık ACTION_POWER_DISCONNECTED değerini de dinliyoruz. (ddffd80 
- InteractiveWatchFaceClientImpl.isConnectionAlive, kapatıldıktan sonra false olmalıdır (ab9774e) 
Sürüm 1.0.0-beta01
27 Ekim 2021
androidx.wear.watchface:watchface-*:1.0.0-beta01 yayınlanır. 1.0.0-beta01 sürümü bu taahhütleri içerir.
Sürüm 1.0.0-alpha24
13 Ekim 2021
androidx.wear.watchface:watchface-*:1.0.0-alpha24 yayınlanır. 1.0.0-alpha24 sürümü bu taahhütleri içerir.
API Değişiklikleri
- androidx.wear.watchface.complicationspaketindeki sınıflar yeni bir- wear:watchface:watchface-complicationsprojesine taşındı. Bu, yinelenen sınıflarla ilgili hatalar almanız nedeniyle bu kitaplığın yanı sıra- wear:watchface:watchface-complications-data'ün önceki alfa sürümlerini de ekleyemezsiniz. (I97195)
- Renderer.dump, Renderer.onDump olarak yeniden adlandırıldı ve @UiThread ile ek açıklamaya tabi tutuldu. (I44845)
- InteractiveWatchFaceClient.addWatchFaceReadyListener,- addOnWatchFaceReadyListenerolarak yeniden adlandırıldı ve- removeWatchFaceReadyListener,- removeOnWatchFaceReadyListenerolarak yeniden adlandırıldı. (I48fea)
- EditorSession getComplicationsPreviewDatavegetComplicationsDataSourceInfoartık askıya alma işlevleri değil, başlangıçta değeri null olanStateFlow<>mülkleridir. ListenableEditorSession'dagetListenableComplicationPreviewDatavegetListenableComplicationsProviderInfo, temel sınıftaki yeniStateFlow<>nesneleri kullanmak üzere kaldırıldı. Java kodundaki değişiklikleri dinlemeniz gerekiyorsaandroidx.lifecycle.FlowLiveDataConversions.asLiveData'üLiveData<>'e dönüştürmek için kullanabilirsiniz. (Ic5483)
Sürüm 1.0.0-alpha23
29 Eylül 2021
androidx.wear.watchface:watchface-*:1.0.0-alpha23 yayınlanır. 1.0.0-alpha23 sürümü bu taahhütleri içerir.
Yeni Özellikler
Kadran kitaplığı artık tek bir kitaplık grubudur. Bu nedenle, kitaplıklar taşınmıştır ve gradle içe aktarma işlemlerinizi aşağıdaki şekilde güncellemeniz gerekir:
| Eski | Yeni | 
|---|---|
| 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 Değişiklikleri
- Ayrı androidx.wearkadran ve komplikasyon kitaplıklarınıandroidx.wear.watchfacekitaplık grubuna taşıyın. (b25f3c0)
- Bir kadran düzenleyicinin headless düzenlemeyi destekleyip desteklemediğini istemciye bildirmek için EditorRequest.canWatchFaceSupportHeadlessEditing eklendi. asop/1756809 sürümünde destek eklendiği için bu konuda bazı yanlış negatif sonuçlar olacağını ancak gelecekteki tüm kadranlar için doğru değeri döndüreceğini unutmayın. (ca55590)
- Oluşturucu artık ABD kabuğu dumpsys etkinlik hizmeti WatchFaceService tarafından oluşturulan bilgilere özel veriler eklemek için geçersiz kılınabilen bir dump() yöntemine sahiptir. (95235f9)
- InteractiveWatchFaceClient.addWatchFaceReadyListener artık önce yürütücüyü belirtir. (563ac2f)
- StateFlowCompatHelper kaldırıldı. Bunun yerine asLiveData (androidx.lifecycle.asLiveData) kullanılmalıdır. (bd35d3)
- CurrentUserStyleRepository.userStyle artık değiştirilemez. (I44889)
- WatchFaceReadyListener, OnWatchFaceReadyListener olarak yeniden adlandırıldı. (Ic12a9)
Hata Düzeltmeleri
- onDestroy'u çağırmak için InteractiveInstanceManager.deleteInstance. InteractiveWatchFaceImpl'in çöp toplanması için bu gereklidir.(fce4af8, b/199485839)
