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ü
18 Eylül 2024 1.2.1 - - 1.3.0-alpha04

Bağımlılıkları beyan etme

Wear'a bağımlı 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:

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-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 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 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 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 selectedData değerini karşılaştırmak için referans eşitliğini kullanıyoruz. (446b00)

API Değişiklikleri

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

  • 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ı destekler. (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, 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_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'dan itibaren METADATA_KEY_DATA_SOURCE_CONFIG_ACTION ile komplikasyon veri kaynağı için sistem bir yedekten 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 desteklenmediğinde 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

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ı ColorRanges desteğ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.
  • 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 verileriyle 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 için desteğin 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ı WatchFaceType, CanvasType, TapType veya ComplicationsSlotBoundsType'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 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ü kullanımdan kaldı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'yi 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 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_FACE olan 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, 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

  • @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 (I818fe) tarafından daha fazla istisna atıldı
  • renderWatchFaceToSurface yerine 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, HeadlessWatchFaceClient ve EditorSession'e eklendi. Bu genellikle bitmap olarak oluşturmaktan daha yüksek performanslı olur. (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)
  • CustomValueUserStyleSettings2LargeCustomValueUserStyleSettings 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 verileriyle tanımlanan listedeki bir kadrandan mı yoksa ComplicationRequest#isForSafeWatchFace tarafından tanımlanan listedeki bir kadrandan mı geldiğini belirleyebilecek. 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.

  • Android T'den itibaren 12,5 KB'a kadar veri depolayabilen CustomValueUserStyleSetting2 de kullanılabilir. 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 parametresinin EGL14.eglCreateContext'e iletilmesini ayarlamanıza 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)
  • İstemcinin eski kadranlar adına desteği 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örüntülenmemesine yol açan hata düzeltildi. (b38ece)
  • perOptionScreenReaderNames ile ilgili saat kadranının kilitlenmesine yol açan bir serileştirme hatası düzeltildi. (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ın tamamlayıcı düzenleyiciler tarafından yoksayıldığını unutmayın.

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 bulmaya yardımcı olmak için UserStyleSchema işlevine bir yardımcı program işlevi findComplicationSlotsOptionForUserStyle 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ı DynamicFloatFloatExpression 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, tüm kadranlara uygun olmayabilecek görsel tasarımla ilgili sonuçlar doğurur.
  • GoalProgressComplicationData, basit verilerin pasta grafikleri ve benzer dökümleri için destek ekler.
  • RangedValueComplicationData öğesine ColorRamps için isteğe bağlı destek ekledik.
  • Android T için ComplicationData alanına ComplicationPersistencePolicy ve setCachePolicy ekledik. Bu ekleme, 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 sorunlu durumları düzeltebilir. Ayrıca, DO_NOT_SHOW_WHEN_DEVICE_LOCKED uyumlu bir kadrana cihaz kilitliyken komplikasyonu göstermemesini talimat verdiği 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 vardır. 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 tekrar 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)
  • DisconnectReasonsIntDef ile birlikte çalışacak şekilde herkese açık API'de kullanıma sunun. (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. Bunun ç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 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, etkin bir geliştirme alanıdır. Bu yeni biçimler, bildirimde bulunulmaksızın değiştirilebilir ve şu anda CanvasComplicationDrawable tarafı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 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 bir 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'ye 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 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 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 aralandırılıp aralandırılmayacağını veya eşit boyutlu sabit renk adımlarının oluşturulup oluşturulmayacağını belirten bir işaret belirtmenize olanak tanır. (I9f5bf)
  • RangedValueComplicationData.drawSegmented, valueType olarak değiştirildi. valueType, aralıktaki değere anlamsal anlam sağlayan ve komplikasyon oluşturma aracı tarafından stili etkilemek için kullanılabilen bir ValueType IntDef ile ilişkili bir tamsayı değeridir. (I0616b)
  • İsteğe bağlı ColorRanges ile RangedValueComplicationData için 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, 1 segment = 1 birim olacak şekilde aralıktaki değer göstergesini segmentlerle çizmelerini bildirir. (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

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 pendingInitialComplications listesine eklenir ve daha sonra uygulanır. Maalesef pendingInitialComplications çok erken uygulandı. Bu nedenle, kadran ilk kullanıma hazırlanı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 değerini düzeltin. Normal şartlarda bu işlem, yeni yükleme sonrası 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 işlevi close() işlevinden sonra çağrılırsa ortaya çıkan 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 örnek, tüm API yüzeylerinde kullanılabilen benzersiz bir kimliğe sahiptir.
  • 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ınabilen ve otomatik olarak güncellenebilen 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.
  • 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:

  • 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ıracak bazı kullanılabilirlik düzenlemeleri yaptık. Kenar komplikasyonu BoundingArc ile denemelerimiz devam ediyor. Şu anda kullanılması önerilmez ancak drawHighlight'e kadar bağlantı kuruyoruz.

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ı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 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 bir 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 ç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 bunu 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'nin, özet karmasını hesaplamadan önce şemayı AIDL üzerinden geçirmenin nispeten düşük ek yükünden 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)
  • 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'u 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ı saniyede bir güncellemeye 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 gibi bir sorun yaşadığınızla ilgili bağlam bilgisi vermek için WatchFaceExceptionReason öğesini WatchFaceException'e 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 ile eşleşecek şekilde güncellendi (I0cbb7)

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 destek sonlandırıldı. Bu özelliklerin ayarlanabilir olması amaçlanmamıştır ve ayarlanması, 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 karma kodu, eşittir 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 bir kez daha RemoteExceptions 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 durumu desteklemek için daha genel bir özellik 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, 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 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 grubuna 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, 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 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'te bir isCached özelliği vardır ve tapAction önbelleğe alınamadığı ve önbelleğe alınmış bir komplikasyonda 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 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ı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 ışığı 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_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'ın 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 alacağınız için 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 alındı. (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 adresinde 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. InteractiveWatchFaceImpl'in çöp toplanması için bu gereklidir.(fce4af8, b/199485839)