Wear kadranı

Wear OS by Google akıllı saatler için uygulama oluşturma

Not: Kadranların 10 Temmuz 2024'ten itibaren Wear OS 5 yüklü cihazlara yüklenmesi ve 27 Ocak 2025'ten itibaren Google Play'de yayınlanan tüm yeni kadranlar için Kadran Formatı'nın kullanılması zorunludur.

Kullanıcılara yönelik değişiklikler hakkında daha fazla bilgi edinmek için bu Yardım Merkezi makalesini inceleyin.

Son Güncelleme Kararlı Sürüm Sürüm Adayı Beta Sürümü Alfa Sürümü
15 Ocak 2025 1.2.1 - - 1.3.0-alpha05

Bağımlılıkları bildirme

Wear'a bağımlı eklemek için projenize Google Maven deposunu eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu okuyun.

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:

Eski

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.

Yeni sorun oluşturma

Daha fazla bilgi için Sorun İzleyici belgelerine bakın.

Sürüm 1.3

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 Bluetooth üzerinden yardımcı düzenleyiciye 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ının kullanması için ComplicationData'ya ekstralar eklemesine olanak tanıyan OEM'ye yönelik bir özellik ekledik.

API Değişiklikleri

  • UserStyleSetting ve UserStyleOption sınıflarında artık oluşturucular var. Bu sınıfları oluşturmanın önerilen yolu budur. (Iacd03)
  • ComplicationData sü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_EXTRAS izni gerekir. (I4e3b2)
  • Kadranlar genellikle kullanıcının ListUserStyle kullanarak renk seçmesine olanak tanır. Her ListOption iç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 sunuluyorsa sorun oluşturabilir. Bu konuda size yardımcı olmak için ColorUserStyleSetting simgesini ekledik. Bu simge, seçeneklerin simge yerine renk listesini içerdiği ve çok daha kompakt olduğu için kullanışlıdır. (Ib542e)
  • ColorUserStyleSetting ve 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şkenlerini kullanmalıdır: -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode (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

  • UserStyleSettings ve UserStyleOptions'te simgelerin gecikmeli yüklenmesi için destek eklendi. Bu, kadran yükleme konusunda performans artışı sağlar. (Iaf43d)
  • Yeni Watchface.setUpdateScreenshotOnConfigurationChange aracı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, AGP 7.3 veya sonraki sürümlerle (ör. R8 3.3 sürümü) R8 kullanıldığında ve AGP 8.1 veya sonraki sürümlerle (ör. D8 8.1 sürümü) tüm derlemelerde API modelleme aracılığıyla otomatik olarak gerçekleştiğinden, yeni platform API'lerine erişimin manuel olarak ana hatlarıyla belirtilmesi kaldırıldı. AGP kullanmayan istemcilerin 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 ComplicationData değerini geçici olarak ayarlayan EditorSession#setOverrideComplications özelliğini ekledik. Komplikasyonlar sık sık değişmiyorsa bu yöntem, geçersiz kılma işlemlerini EditorSession#renderWatchFaceToBitmap üzerinden iletmek yerine daha verimlidir. (I19384)

Hata Düzeltmeleri

  • Daha önce selectComplicationDataForInstant, tüm zaman çizelgeleri için toApiComplicationData'u çağırıyordu. Bu da sonraki === referans eşitliği testinin her zaman başarısız olacağı anlamına geliyordu. Bu, komplikasyonların her karede yeniden yüklenmesi ve pilin tükenmesi anlamına geliyordu. (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 iyi ve selectedData değerlerini karşılaştırmak için referans eşitliğini kullanıyoruz. (446b00)

API Değişiklikleri

  • GoalProgressComplicationData için yedekleme içermeyen 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

  • WatchFaceServices eş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 ek öğenin, başlatma sırasında çağrılan tüm geçersiz kılma işlemlerine iletildiği StatefulWatchFaceService öğesini ekledik.
  • GlesRenderer2 artık eglChooseConfig ile sırayla denenecek bir özellik listesi belirtmenize olanak tanıyan bir kurucu aşırı yükleme işlevine sahiptir.

API Değişiklikleri

  • StatefulWatchFaceService artık createExtra() tarafından oluşturulan kullanıcı tanımlı ekstranın aktarıldığı getComplicationSlotInflationFactory'nin geçersiz kılınmasını desteklemektedir. (I82d9f)
  • Bazı kadranlarda, createUserStyleSchema sı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 genellikle WatchFaceServices öğ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çin StatefulWatchFaceService ve StatefulWatchFaceRuntimeService yöntemlerini kullanıma sunduk. Bu yöntemlerde, kullanıcı tanımlı bir tür createExtra() 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)
  • GlesRenderer2 artık eglChooseConfig ile sırayla denenecek bir özellik listesi belirtmenize olanak tanıyan bir kurucu aşırı yükleme işlevine sahiptir. Örneğin, ö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_RATE desteği eklenecek. Bu komplikasyonun yalnızca SHORT_TEXT komplikasyonlarını destekleyeceği garanti edilir ancak OEM'ler canlı değer yerine sağlık uygulamalarının kısayolunu sunmayı tercih edebileceğinden ComplicationSlot'ın SMALL_IMAGE'yi de kabul etmesi önerilir. (I34223)
  • Android U sürümünden itibaren, sistem METADATA_KEY_DATA_SOURCE_CONFIG_ACTION ile komplikasyon veri kaynağının yedeğinden geri yüklendiğinde ne olacağını kontrol eden METADATA_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 yoksa METADATA_KEY_DATA_SOURCE_CONFIG_ACTION meta veri ayarını false olarak ekleyerek komplikasyon yuvasını yapılandırılmamış olarak işaretleyebilir. (I6c505)

Sürüm 1.2

1.2.1 sürümü

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ürleri için destek ekledik:
    • 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.
  • İsteğe bağlı ColorRanges için RangedValueComplicationData desteğini 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.
  • ComplicationData türlerinin neredeyse tamamı artık SmallImages'u destekliyor.
  • ComplicationDisplayPolicy özelliğini ekledik. Bu özellik, DO_NOT_SHOW_WHEN_DEVICE_LOCKED uyumlu 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_FACES meta verileri tarafından tanımlanan listedeki bir kadrandan gelip gelmediğini belirleyebilecek.ComplicationRequest#isForSafeWatchFace Sağlayıcının, TargetWatchFaceSafety.UNKNOWN dışında bir değer almak için com.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE iznine 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#onDestroy artık açık. Sistem varsayılan hava durumu komplikasyonu desteğinin kaldırıldığını lütfen unutmayın.

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 WatchFaceRuntimeService ve WatchFaceControlClient.createWatchFaceRuntimeControlClient eklenmiş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ı yeniden adlandırdığımız aosp/2636578 ile ilgili bir takiptir. Bu sayede WatchFaceType, CanvasType, TapType veya ComplicationsSlotBoundsType'ye bağlı herhangi bir kodun değiştirilmesi gerekmez. (I4098b)
  • Uyumluluğu engellemeyle ilgili açıklama eklemek için API dosyaları güncellendi. (I8e87a, b/287516207)
  • Bu yama, WatchFaceTypes içinde WatchFaceType sabitlerini, CanvasTypes içinde CanvasType sabitlerini, TapTypes içinde TapType sabitlerini ve ComplicationsSlotBoundsType içinde ComplicationsSlotBoundsType sabitlerini gösterir. (I3b85a, b/288750666)
  • WatchFace.OverlayStyle çok az kullanılıyor ve OEM'ler tarafından yeterince desteklenmiyor. Bu nedenle, daha sonra kaldırmak üzere bu sürümün 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.Builder artık DynamicFloat değerini kabul ediyor ve ComplicationText sınıfının alt sınıfı olarak yeni bir DynamicComplicationText mevcut. 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
  • Kalp atış hızı ve günlük adım sayısını sağlamak için PlatformDataProvider'ü uygulayın. SensorGateway arayüzü, herkese açık API'den kaldırıldı. (I55b84)
  • StateEntryValueDynamicDataValue olarak yeniden adlandırın ve DynamicDataKey kullanacak şekilde durum API'lerini güncelleyin. (If1c01)
  • Uygulama tarafından zorlanan duruma erişmek için AppDataKey ekleyin; Platform verilerine erişmek için PlatformDataKey ekleyin; StateStore'de ad alanı desteği ekleyin. (I7985e)
  • enable/disablePlatformSource yöntemleri DynamicTypeEvaluator'den kaldırıldı. Güncellemelerden arayan sorumlu olmalıdır. (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_FACE'ye 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_TYPES meta verilerini kaydedebilir. Bu, bir komplikasyon sağlayıcının güvenilir ve güvenilmeyen kadranlarda farklı türlerde komplikasyon yayınlamayı seçebileceği anlamına gelir.

API Değişiklikleri

  • @Deprecated sınıfının mülke yayılması (I882d1, b/271441831)
  • Enum.valueOf için değer parametresi adı değiştirildi (Ia9b89)
  • enum valueOf tarafından daha fazla istisna atıldı (I818fe)
  • renderWatchFaceToSurface yerine SurfaceControlViewHost'ın üzerine inşa edilmiş ve arayanın kadrandan bir görünüm yerleştirmesine olanak tanıyan createRemoteWatchFaceView'ü kullanımdan kaldırdık. Bu görünüm, istemci RemoteWatchFaceViewHost#renderWatchFace'yi çağrdığında oluşturulur. (Ib311d)
  • renderWatchFaceToSurface, InteractiveWatchFaceClient, HeadlessWatchFaceClient ve EditorSession'e eklendi. Bu genellikle bitmap olarak oluşturmaktan daha yüksek performans sağlar. (Ieacad)
  • ObservableStateStore, StateStore olarak yeniden adlandırıldı. (Ieb0e2)
  • Artık varsayılan olarak boş bir mağaza olan ObservableStateStore dahil 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 yerine DynamicTypeEvaluator.Builder eklendi. (I6f832)
  • DynamicTypeEvaluator parametrelerinin sırası yeniden düzenlendi. (Ic1ba4)
  • DynamicTypeEvaluator.bind yöntemlerine Executor eklendi. (I346ab)
  • Değerlendirmeyi dinamik tür bağlandıktan sonra tetiklemek için BoundDynamicType yöntemini BoundDynamicType işlevine ekledik.startEvaluation (I19908)
  • Ayrıcalıklı com.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE iznine 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_TYPES meta verilerini kaydedebilir. (Id1c73)
  • CustomValueUserStyleSettings2 hesabını LargeCustomValueUserStyleSettings olarak yeniden adlandırdık. (Ic17ac)

Hata Düzeltmeleri

  • DynamicTypeValueReceiver#onPreUpdate kaldı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_FACES meta verileri tarafından tanımlanan listedeki bir kadrandan gelip gelmediğini belirleyebilecek.ComplicationRequest#isForSafeWatchFace Sağlayıcının, TargetWatchFaceSafety.UNKNOWN dışında bir şey almak için com.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE iznine ihtiyacı vardır.

  • Ayrıca Android T CustomValueUserStyleSetting2'de 12,5 KB'a kadar veri depolayabilirsiniz. CustomValueUserStyleSetting iç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

  • GlesRenderer ve GlesRenderer2'ye, EGL14.EGL_CONTEXT_CLIENT_VERSION parametresini EGL14.eglCreateContext'e iletmenize olanak tanıyan isteğe bağlı bir eglContextAttribList parametresi ekledik. (I2a83e)
  • Kadran kitaplıklarını java.util.function.Consumer yerine androidx.core.util.Consumer'e taşıdık. (I273f5)
  • KT mülk erişim araçları tarafından daha fazla istisna atılıyor (Iff9d9)
  • Müşterinin eski kadranlar adına destek taklit etmesi gerekip gerekmediğini belirleyebilmesi için InteractiveWatchFaceClient.isComplicationDisplayPolicySupported değerini ekledik. (I24c89)
  • isForSafeWatchFace değerinin üç durumlu IntDef olması gerektiğine karar verdik. (Ief2f7)
  • Android T için OEM kullanımı amaçlanan ve com.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE gerektiren ComplicationRequest.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. CustomValueUserStyleSetting iç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 ComplicationSlot desteğ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 UserStyleSettings için destek ekledik. Android T'den itibaren bir hiyerarşide birden fazla ComplicationSlotsUserStyleSetting bulunabilir. Kullanıcının stil seçimlerine bağlı olarak yalnızca bir ComplicationSlotsUserStyleSetting etkin olur.

  • ListOption ve ComplicationSlotsOption için ekran okuyucu desteğini iyileştirmek amacıyla screenReaderName alanı 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 ListOption ve ComplicationSlotsOption alanlarına yeni bir isteğe bağlı screenReaderName alanı ekledik. Bu alan, Android T öncesi sürümlerin tamamlayıcı düzenleyicileri tarafından yoksayılır. (I75326)
  • Android T'den itibaren, aynı anda en fazla bir tanesi etkin olabileceği sürece stil hiyerarşisinde birden fazla ComplicationSlotsUserStyleSettings desteklenmektedir. Varsa etkin ComplicationSlotsOption öğesini bulmanıza yardımcı olmak için UserStyleSchema işlevine findComplicationSlotsOptionForUserStyle yardımcı programı ekledik. (Ic2b06)
  • RangedValuesTypes, RangedValueComplicationData'un tamamlayıcı nesnesine çekildi ve TYPE_UNDEFINED, TYPE_RATING olarak yeniden adlandırıldı ve yeni bir TYPE_PERCENTAGE eklendi. (I55d02)
  • Deneme amaçlı DynamicFloat özelliğini FloatExpression olarak yeniden adlandırdık ve @hide olarak işaretledik. (Idf4f1)
  • @JvmDefaultWithCompatibility ek 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 GoalProgressComplicationData ve WeightedElementsComplicationData olmak üzere iki yeni komplikasyon türü desteği ekledik.
  • GoalProgressComplicationData, RangedValueComplicationData'e benzer ancak değerinin hedefi aşmasına izin verilir (RangedValueComplicationData için değer [min .. max] aralığına sabitlenir). Bu durum, görsel tasarım açısından tüm kadranlara uygun olmayabilecek sonuçlara yol açar.
  • GoalProgressComplicationData, basit verilerin pasta grafikleri ve benzer dökümleri için destek ekler.
  • ColorRamps ile RangedValueComplicationData arasında isteğe bağlı destek ekledik.
  • Android T için ComplicationData özelliğine ComplicationPersistencePolicy ve setCachePolicy ekledik. Bu özellikler, sağlayıcıların bir komplikasyonun kalıcı olup olmadığını (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 önbellek denetimi ayarlanması gerekmez ancak bu işlem, sık güncellenen bazı komplikasyonlar (ör. sağlık verileri komplikasyonları) için eski verilerle ilgili sorunları düzeltebilir. Ayrıca, DO_NOT_SHOW_WHEN_DEVICE_LOCKED uyumlu bir kadrana cihaz kilitliyken komplikasyonu göstermemesini bildiren ComplicationDisplayPolicy özelliğini de ekledik. (Ic9574)

API Değişiklikleri

  • GoalProgressComplicationData, WeightedElementsComplicationData ve ColorRamp artık deneysel değildir. (Ica9e2)
  • ComplicationPersistencePolicy ve ComplicationDisplayPolicy artık T API'leri olarak doğru şekilde işaretlenmiştir. (I31d88)
  • Desteği sonlandırılan ComplicationSlotOverlay oluşturucusunda artık DeprecationLevel.WARNING var. Bu sayede, Java'dan tekrar çağrılabilir. (Ib308c)
  • ComplicationRequestListener, CanvasComplication, ComplicationTapFilter ve InteractiveWatchFaceClient ile ilgili bazı Java uyumluluk sorunlarını @JvmDefaultWithCompatibility (Id94fc) ile ekleyerek düzelttik
  • Deneysel ProtoLayoutComplicationData ve ListComplicationData'i kaldırdık. Bu ürünlerin geliştirici hikayesi net değildi. Gelecekte bu konuyu tekrar ele alacağız. (I9df05)
  • ValueType kullanıcısını RangedValueComplicationData'a geri ekledik. WeightedElementsComplicationData artı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 isForScreenShot ekleyin. onRenderParametersChanged için doğru bir isForScreenshot değeri sağlandığından emin olun (I04a41)
  • Başsız istemcilerden WatchFaceControlService sı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

  • rootUserStyleSettings deneysel olmadığından UserStyleSchema.userStyleSettings desteğ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 ile birlikte çalışabilmesi için DisconnectReasons'ü herkese açık API'de kullanıma sunun.IntDef (I791f8)

Hata Düzeltmeleri

  • SysUI kapanırsa kol saati düzenleyicide açık olan tüm dosyaları kapatın. SysUI kapanırsa ve kadran düzenleyici kapanmazsa sistem, kullanıcı stili değişikliklerini korumak 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, UserStyle dışı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. Bu özelliğin çalışması için ilgili sistem güncellemesinin yapılması gerektiğini unutmayın.

  • Ayrıca, kadranların renklerini sisteme göstermesi 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.

  • ComplicationData tü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. DisconnectReason int def ekledik ve ClientDisconnectListener'u, dinleyicinin motorun ayrıldığını gözlemlemesine olanak tanıyan bir DisconnectReason içeren yeni bir yöntemle genişlettik. (I45cce)
  • ComplicationSlotOverlay oluşturucusuna iki isteğe bağlı parametre (nameResourceId ve screenReaderResourceId) eklendi (I157e8)
  • getOrCreateInteractiveWatchFaceClient için PreviewImageUpdateRequestedListener ile yeni aşırı yükleme işlevi için bir guava sarmalayıcı ekledik. (Ic31f0)
  • UserStyleSchema dışındaki bir duruma sahip olan ve görünümlerini 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 getOrCreateInteractiveWatchFaceClient isteği için isteğe bağlı parametre olarak PreviewImageUpdateRequestedListener ekledik. (Iff44a)
  • WatchFaceColors'ü göstermek için API'yi basitleştirdik. Artık Renderer'da, kadran tarafından ayarlanabilen watchFaceColors adlı 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 WallpaperManager yerine InteractiveWatchFaceClient'ye OnWatchFaceColorsListener ekledik. (I490bc)
  • En belirgin üç kadran rengini içeren bir WatchFaceColors sınıfı ve WallpaperManager.getWallpaperColors aracılığıyla sistemin kadran renklerini almasına olanak tanıyan watchfaceColors ve notifyWatchFaceColorsChanged açık yöntemlerini Oluşturucu'ya ekledik. (I3d611)
  • ShortTextComplicationData, RangedValueComplicationData, NoPermissionComplicationData (ve deneysel DiscreteRangedValueComplicationData, GoalProgressComplicationData ve 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 SmallImage kullanabilir. (I257df)
  • PreviewImageUpdateRequestedListenerConsumer<> 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)
  • PreviewImageUpdateRequestedListener belirtmeyen eski getOrCreateInteractiveWatchFaceClient ve listenableGetOrCreateInteractiveWatchFaceClient yöntemlerinin desteği sonlandırıldı. (Iec502)

Hata Düzeltmeleri

  • DisconnectReason.BINDER_DIED, DisconnectReason.ENGINE_DIED olarak 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, aktif olarak geliştirilen bir alandır. Bu yeni biçimler, bildirimde bulunulmaksızın değiştirilebilir ve şu anda CanvasComplicationDrawable tarafından oluşturma desteği sunulmamaktadır.
  • Ayrıca komplikasyon yuvalarına isteğe bağlı kenar boşlukları ekledik. Bu sayede küçük komplikasyonlara dokunmak daha kolay hale geldi.

API Değişiklikleri

  • Deneysel BoundingArc sı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) ComplciationSlots sı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)
  • createComplicationSlotsManager ile tutarlı olması için WatchFaceService.getComplicationSlotInflationFactory yöntemine currentUserStyleRepository bağımsız değişkeni ekledik. (I2ddd2)
  • UserStyleFlavors deneysel olmayan bir özellik haline geldi. (I69cdc)
  • Deneme amaçlı ValueType özelliğini RangedValueComplicationData'ten kaldırdık ve bunun yerine tam sayı aralığı ve değeri dışında RangedValueComplicationData gibi 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ğerin targetValue'den büyük olmasına izin verildiği bir hedefe doğru ilerleme için RangedValueComplicationData'a benzer deneysel GoalProgressComplicationData özelliğini de kullanıma sunduk. Tüm RangedValue varyantları için monochromeImage, text veya title öğelerinden en az biri belirtilmelidir. (I9590c)
  • Sistem yazılımında kullanım alanı olmadığı için boundsWithMarginsComplicationSlotState'ten kaldırdık. (I42e26)
  • İsteğe bağlı metin/başlık/resim ile birlikte bir dizi Öğe (ağırlık ve renk çiftleri) içeren WeightedElementsComplicationData iç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)
  • RangedValueComplicationData ve GoalProgressComplicationData tarafı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 katı renk adımlarıyla mı oluşturulacağını belirten bir işaret belirtmenize olanak tanır. (I9f5bf)
  • RangedValueComplicationData.drawSegmented, valueType ile 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 IntDef ile birlikte bir tamsayı değeridir. (I0616b)
  • İsteğe bağlı ColorRanges ile RangedValueComplicationData arasında deneysel destek 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. (I5153a)
  • RangedValueComplicationData için deneysel bir drawSegmented ipucu ekledik. Bu, oluşturuculara aralıktaki değer göstergesini segmentlerle çizmelerini (1 segment = 1 birim) işaret eder. (I7d7c1)

Hata Düzeltmeleri

  • ComplicationSlotBounds değerini önceden tanımlanmış bir ekran koordinat sistemine göre tanımlama özelliğini ekledik. (I0985d)

Sürüm 1.1

Sürüm 1.1.1

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. Kadran hazır olmadan önce bir komplikasyon alınırsa pendingInitialComplications listesine eklenir ve daha sonra uygulanır. Maalesef pendingInitialComplications çok erken uygulandı. Bu nedenle, kadran başlatılırken komplikasyonların pendingInitialComplications'e yerleştirilmeye 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 gereğinden uzun süre tuttuğu InteractiveInstanceManager'teki olası kilitlenmeyi düzeltin. Genellikle engine.setUserStyle iş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 WatchFaceService değerini koruyabilir. release() çağrısı ekleyerek bu sorunu düzeltebilirsiniz. Ayrıca StateFlows, WatchFaceService'u saklayabilir. Temel CoroutineScopes'yi iptal etmek bu sorunu çözer.(fd48138)

  • awaitDeferredWatchFace* alanına zaman aşımı ekleyin ve watchfaceOverlayStyle NullPointerException öğesini düzeltin. Normal şartlarda bu işlem, yeni yükleme ve CPU yükünün yüksek olduğu DirectBoot senaryoları da dahil olmak üzere zaman aşımına uğramaz. Ayrıca, getWatchfaceOverlayStyle, close()'den sonra çağrılırsa NPE'yi de düzelttik.(a4c3a5a)

Sürüm 1.1.0

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 örneğin tüm API yüzeylerinde kullanılabilen benzersiz bir kimliği vardır.
  • Artık düzenleyicilerde kullanmak üzere ComplicationSlots için insan tarafından okunabilir adlar belirtebilirsiniz.
  • Stil "lezzetleri" için deneysel destek. Bu, tamamlayıcı düzenleyicide 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 ComplicationType değ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, ComplicationData kapsamındadır.
  • Kadranlar arasında geçiş yaparken daha iyi bir deneyim sunmak için komplikasyonlar artık önbelleğe alınıyor.

Diğer değişiklikler:

  • UserStyleSchema ve ComplicationSlots artık XML'de tanımlanabilir. Bu, kadran oluşturmayı basitleştirir ve sistemden daha hızlı meta veri sorguları yapılmasına olanak tanır.
  • 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, ComplicationSlotBounds ve destekleyici referansları belirtmeyi kolaylaştıran bazı kullanılabilirlik düzenlemeleri yaptık. Kenar komplikasyonu BoundingArc ile deneme çalışmaları devam ediyor. Şu anda kullanılması önerilmez ancak drawHighlight'e kadar kullanılabilir.

API Değişiklikleri

  • BoundingArc parametresini kabul eden deneysel bir drawHighlight aşı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)
  • ComplicationSlotBounds değerini center_x, center_y, size_x, size_y biç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 runBlockingWithTracing sorunu 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ı 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 ComplicationData tü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 ve ComplicationSlotState ile WatchFaceMetadataClient'ye bağlandı. (I61a40)
  • UserStyleSetting XML'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 ComplicationData türü ekledik: ListComplicationData ve ProtoLayoutComplicationData. Şu anda bu türlerin hiçbiri için oluşturma desteği yoktur ve WearOS, ComplicationDataSource's manifest dosyasına eklenirse bu türleri tanımaz. (I1811c)

Hata Düzeltmeleri

  • TimeLineEntry türündeki serileştirmeyi düzeltin. TimeLineEntry tü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)
  • setComplicationData zaman çizelgesi alanlarının bırakılmasına neden olan hata düzeltildi(fb392f5)
  • runBlockingWithTracing'ün çok nadiren NPE'ye neden olduğu hata düzeltildi(12ca62e)
  • Bazen komplikasyon alırken ClassNotFoundException: android.support.wearable.complications.ComplicationText gösterilmesine neden olan hata düzeltildi.(217942d9)
  • GlesRenderer.backgroundThreadInitInternal işlevinde, yalnızca EGL14.eglCreateContext çağrılırsa onBackgroundThreadGlContextCreated işlevinin çağrılmasına neden olan bir hata düzeltildi. Ekran görüntüsünde verticalFlip nedeniyle görsel bir hataya neden olan başka bir hata düzeltildi.(c674ad2)
  • WatchFaceService XML 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 NoDataComplication verilerinin 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 WatchFaceMetadataClient yöntemleri (getUserStyleSchema, getComplicationSlotMetadataMap, getUserStyleFlavors) ve HeadlessWatchFaceClient.getUserStyleFlavors, WatchFaceException yerine unchecked RuntimeException atıyor. (I0718a)
  • WatchFaceMetadataClient.WatchFaceException, yeniden kullanılabilmesi için sınıftan çıkarıldı. (I4e869)

Hata Düzeltmeleri

  • WatchFaceMetadataClient artık kısmi ComplicationSlotBounds gö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.dataSource değerini inceleyerek hangi veri kaynağının ComplicationData gönderdiğini anlayabilirsiniz. Bazı kadranlar, komplikasyon görüntülemeyi özelleştirmek için bu özelliği kullanabilir. (I44a73)

API Değişiklikleri

  • Renderer.CanvasRenderer ve Renderer.GlesRenderer, oluşturma yöntemlerine iletilen SharedAssets öğesini destekleyen Renderer.CanvasRenderer2 ve Renderer.GlesRenderer2 için kullanımdan kaldırıldı. Java birlikte çalışabilirliği için ListenableCanvasRenderer2 ve ListenableGlesRenderer2 özelliklerini kullanıma sunduk. (I31ffa)
  • @WatchFaceFlavorsExperimental stili tanımlama özelliği eklendi: stilize kadranlardan oluşan önceden yapılandırılmış liste (I04dd0)
  • Renderer.sharedAssets artık bir StateFlow oldu ve kullanılmayan Renderer.SharedAssetsFactory (I12ac5) kaldırıldı
  • UserStyleSchema.userStyleSettings desteği sonlandırılmadı (Iba7e3)
  • HeadlessWatchFaceClient.getUserStyleSchemaDigestHash ekledik. Bu, HeadlessWatchFaceClient'nin özet karmasını hesaplamadan önce şemayı AIDL üzerinden geçirmenin nispeten düşük ek yükünden kaçınmasına olanak tanır. (I33597)
  • WatchFaceMetadataClient öğesine isUserStyleSchemaStatic ekledik. Bu değer, kadran APK'sı güncellenmediği sürece UserStyleSchema değerinin değişmeyeceğine güvenilebiliyorsa doğrudur. (I45a3f)
  • UserStyleSchema dosyasına, şemanın özet karmasını hesaplayan getDigestHash dosyasını ekledik. Bu, UserStyleSchema değ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_SUPPORTED olarak yeniden adlandırıldı (I9ba5d)
  • UserStyleSetting.OnWatchEditorData, UserStyleSetting.WatchFaceEditorData olarak 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 ComplicationData her zaman kullanılamayabilir (ör.süresi dolmuş önbelleğe alınmış ComplicationData). Bu nedenle NoDataComplication'ü isteğe bağlı bir yer tutucu ComplicationData ile genişlettik ve yalnızca NoDataComplicationData yer tutucusu bağlamında kullanılmasına izin verilen ComplicationText.PLACEHOLDER, MonochromaticImage.PLACEHOLDER, SmallImage.PLACEHOLDER, PhotoImage.PLACEHOLDER değ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.getNextChangeInstant değ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 saniyede bir güncellenmesine neden olur. (I7ceb2)
  • EditorSession.watchFaceId artık tüm API düzeylerinde kullanılabilir. Ayrıca, değeri artık her zaman WatchState.watchFaceInstanceId ile tutarlı olacaktır. (I323b9)
  • Temel sorun çerçevede düzeltildiğinden getPendingIntentForTouchEvent API 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ın PendingIntents etkinleş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.isForScreenShot değ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 tür bir sorunla karşılaştığınıza dair bilgi vermek için WatchFaceExceptionReason öğesini WatchFaceException öğesine ekledik. (I01d15)
  • ComplicationDataSourceService.onImmediateComplicationRequest kaldı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.immediateResponseRequired eklendi. Bu işlevin ayrıcalıklı com.google.android.wearable.permission.USE_IMMEDIATE_COMPLICATION_UPDATE izniyle 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ızca ListOption tarafından kullanılan childSettings adlı yeni bir özellik ekledik. Bu sayede, stil hiyerarşisinin Düzenleyici kullanıcı arayüzleri tarafından kullanılması için açıklanmasına olanak tanınmaktadır. Temel UserStyle değişmez ve Map<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)
  • CanvasRenderer iç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_SUPPORTED meta 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.setEglConfig ve GlesRenderer.setEglDisplay için desteği sonlandırıldı. Bu özelliklerin ayarlanabilir olması amaçlanmamıştır ve ayarlanabilir olmaları, tanımlanmamış davranışlara yol açardı. (I0d9e7)
  • ComplicationSlot.Builder'ye setNameResourceId ve 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.getUserStyleSchema ve getComplicationSlotMetadataMap artık RemoteException yerine WatchFaceException atıyor. (I86f11)
  • onSynchronousComplicationRequest ve ComplicationDataSourceService'daki ilgili işlevler onImmediateComplicationRequest olarak 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 @JvmOverloads ekledik. (I2974a)

Hata Düzeltmeleri

  • ListenableGlesRenderer sı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)
  • PhotoImageComplicationData tapAction'ı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 ComplicationData ve 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

  • WatchfaceMetadataClient yöntemleri, uygun olduğunda RemoteExceptions değerini tekrar atar. Bu sayede istemci kodunun kadrandan gelen hataları yakalaması kolaylaşır. (I78785)
  • ComplicationData ve 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

  • UserStyleSchema ve ComplicationSlots artı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 WatchFaceMetadataClient sorguları daha hızlıdır. WatchFaceMetadataClient ve ListenableWatchFaceMetadataClient artı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 UserStyle içinde yakalanmayan bir durum vardır. Bu durumu ve birden fazla örneği desteklemek için kadran örneği kimliği artık WatchState.watchFaceInstanceId üzerinden kullanılabilir.

  • ComplicationData artık komplikasyonların yüklendikten hemen sonra gösterilmesine izin vermek için önbelleğe alınıyor. ComplicationData bazen 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, true değ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 tapAction ile güncellenmiş ComplicationData gönderir.

  • Bazı ComplicationData uzun süre önbelleğe alınmamalıdır. Bu nedenle, daha genel bir özellik olan ComplicationDataTimeline'ü ekledik. Bu, kadrana gönderilecek ve önbelleğe alınabilen ve otomatik olarak güncellenebilen zamana dayalı bir ComplicationData dizisi sağlamak için kullanılabilir. Örneğin, bugünün hava durumu tahminini farklı saatlerde veya yaklaşan birden fazla takvim etkinliğini öğrenebilirsiniz. ComplicationRequestListener, bu verileri döndürmek için kullanabileceğiniz yeni bir yöntem onComplicationDataTimeline ile 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: Senkronize komplikasyon sağlayıcıların kullanımı, bellek baskısı 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 PendingIntentTapListener değişikliklerinin geri alınması muhtemeldir.

API Değişiklikleri

  • ComplicationData.isCached, tapActionLostDueToSerialization olarak 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-source listesine eklendi. Bu, kadrana gönderilecek ve önbelleğe alınabilen ve otomatik olarak güncellenebilen zamana dayalı bir ComplicationData dizisi sağlamak için kullanılabilir. Örneğin, bugünün hava durumu tahminini farklı saatlerde veya yaklaşan birden fazla takvim etkinliğini öğrenebilirsiniz. ComplicationRequestListener, bu verileri döndürmek için kullanabileceğiniz yeni bir yöntem onComplicationDataTimeline ile genişletildi. Veri kaynağı hizmetlerini askıya almak için yeni bir kotlin sarmalayıcı SuspendingTimelineComplicationDataSourceService eklendi. (Idecdc)
  • PendingIntentTapListener ve WatchFaceControlClient.getPendingIntentForTouchEvent eklendi. Bu, ana ekran düğmesine bastıktan sonra çerçevenin yeni etkinliklerin başlatılmasını 5 saniye boyunca engellediği sorunun aşılmasına yardımcı olabilir. (I98074)
  • Kadran başına ComplicationData önbelleği kullanıma sunuldu. Bunun amacı, sistem bunları güncelleyene kadar kadran yüklendiğinde bilinen son komplikasyon veri değerlerinin kadranda gösterilmesini sağlamaktır. OEM'ler için yeni bir API yöntemi WatchFaceControlClient.hasComplicationCache vardır. Bu durum, sistemin kadrana komplikasyon gönderme stratejisini etkileyebilir. Ayrıca ComplicationData, isCached özelliğine sahiptir ve tapAction önbelleğe alınamadığı ve önbelleğe alınmış komplikasyonlarda null olacağı 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 değerin kullanılması gerekmez. Ancak şemada depolanmayan kadran başına bir durum varsa kadran örneğini tanımlamak için bu anahtar kullanılır. Bu destek sürecine yardımcı olmak için artık WatchFaceControlClient.createHeadlessWatchFaceClient'ü aradığınızda bir kimlik sağlayabilirsiniz. (I1ff98)
  • Birincil, ikincil sağlayıcı ve yedek sistem sağlayıcı için varsayılan ComplicationTypes ayarlama özelliğiyle DefaultComplicationDataSourcePolicy genişletildi. ComplicationSlot.defaultDataSourceType desteği sonlandırıldı. (If0ce3)
  • ComplicationSlot.configExtras artık değiştirilebilir ve EditorSession.openComplicationDataSourceChooser() çağrılmadan önce güncellenebilir. (I6f852)
  • WatchFace.setComplicationDeniedDialogIntent ve setComplicationRationaleDialogIntent eklendi. 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)
  • UserStyleSchema ve ComplicationSlots artık XML'de tanımlanabilir. Bu, kadran oluşturmayı basitleştirir ve meta verileri almak için hizmete bağlanmaları gerekmediğinden WatchFaceMetadataClient sorgularını hızlandırır. (I85bfa)
  • İstemcinin, bir kadran getPendingIntentForTouchEvent'ü destekleyip desteklemediğini belirleyebilmesi için InteractiveWatchFaceClient.supportsPendingIntentForTouchEvent eklendi. (I0b917)
  • WatchFaceMetadataClient ve ListenableWatchFaceMetadataClient artı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ılabilirler. (Ibb827)
  • 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 eklendi. Sağlayıcının bunu kullanabilmesi için manifest dosyasına yeni bir androidx.wear.watchface.complications.data.source.SYNCHRONOUS_UPDATE_PERIOD_SECONDS meta veri etiketi eklemesi ve onSynchronousComplicationRequest değ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çin onStartSynchronousComplicationRequests ve onStopInteractiveComplicationRequests değerlerini 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

  • PhotoImageComplicationData tapAction'ı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ğe sahiptir.

  • 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.style bö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, kadranınız ek kod yazmanıza gerek kalmadan 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.onDestroy'ü dağı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şımaları 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 özelliğinin ilk kurulumunu daha erkene taşır. Bu sayede, createWatchFace ile paralel olarak yapılabilir. Ayrıca artık ACTION_POWER_DISCONNECTED etkinliğini 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.complications paketindeki sınıflar yeni bir wear:watchface:watchface-complications projesine 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, addOnWatchFaceReadyListener olarak yeniden adlandırıldı ve removeWatchFaceReadyListener, removeOnWatchFaceReadyListener olarak yeniden adlandırıldı. (I48fea)
  • EditorSession getComplicationsPreviewData ve getComplicationsDataSourceInfo artık askıya alma işlevleri değil, başlangıçta değeri null olan StateFlow<> mülkleridir. ListenableEditorSession'da getListenableComplicationPreviewData ve getListenableComplicationsProviderInfo, temel sınıftaki yeni StateFlow<> nesneleri kullanmak üzere kaldırıldı. Java kodundaki değişiklikleri dinlemeniz gerekiyorsa androidx.lifecycle.FlowLiveDataConversions.asLiveDataLiveData<>'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.wear kadran ve komplikasyon kitaplıklarını androidx.wear.watchface kitaplı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ğinden 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. Bu, InteractiveWatchFaceImpl'in çöp toplanması için gereklidir.(fce4af8, b/199485839)