Wear kadranı
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.
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
veUserStyleOptions
'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 ayarlayanEditorSession#setOverrideComplications
özelliğini ekledik. Komplikasyonlar sık sık değişmiyorsa bu yöntem, geçersiz kılma işlemleriniEditorSession#renderWatchFaceToBitmap
üzerinden iletmek yerine daha verimlidir. (I19384)
Hata Düzeltmeleri
- Daha önce
selectComplicationDataForInstant
, tüm zaman çizelgeleri içintoApiComplicationData
'u çağırıyordu. Bu da sonraki === referans eşitliği testinin her zaman başarısız olacağı anlamına geliyordu. Bu durum, komplikasyonların her karede yeniden yüklenmesi ve pilin tükenmesine yol açıyordu. (717406)
Sürüm 1.3.0-alpha02
3 Nisan 2024
androidx.wear.watchface:watchface-*:1.3.0-alpha02
yayınlanır. 1.3.0-alpha02 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Eşittir operatörü pahalı olduğu için artık en iyiyi ve
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çincreateExtra()
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ğiStatefulWatchFaceService
öğesini ekledik.GlesRenderer2
artıkeglChooseConfig
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ıkcreateExtra()
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 genellikleWatchFaceServices
öğelerini durum bilgisine sahip hale getirdi. Aynı anda birden fazla örnek oluşturulabileceği ve bu da hatalara yol açabileceği için bu durum tehlikelidir. Bu sorunu çözmek içinStatefulWatchFaceService
veStatefulWatchFaceRuntimeService
yöntemlerini kullanıma sunduk. Bu yöntemlerde, kullanıcı tanımlı bir türcreateExtra()
tarafından oluşturulur ve çeşitli oluşturma yöntemlerine parametre olarak iletilir. (If8a99) InteractiveWatchFaceClient
'agetUserStyleFlavors
özelliğini ekledik. Bu özellik, özellikle OEM'ler için ilgi çekicidir. (I0f5d8)GlesRenderer2
artıkeglChooseConfig
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ızcaSHORT_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ğindenComplicationSlot
'ınSMALL_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 edenMETADATA_KEY_CONFIG_RESTORE_SUPPORTED
özelliğini ekledik. Sistem varsayılan olarak komplikasyon veri kaynağı hizmetinin tüm yapılandırma verilerinin yedeklenmesini desteklediğini varsayar. Ancak bu desteklenmediğindeMETADATA_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ğerintargetValue
'den büyük olmasına izin verildiği bir hedefe doğru ilerleme durumu içinRangedValueComplicationData
'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 bazenComplicationDataSource
, renkleri ayarlamak için en iyi yere yerleştirilir (ör. belirli bir anlamsal anlamı olduğunda). Örneğin, sıcaklık için kırmızıdan maviye.ComplicationData
türlerinin neredeyse tamamı artıkSmallImages
'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çincom.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
veWatchFaceControlClient.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
veyaComplicationsSlotBoundsType
'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çindeWatchFaceType
sabitlerini,CanvasTypes
içindeCanvasType
sabitlerini,TapTypes
içindeTapType
sabitlerini veComplicationsSlotBoundsType
içindeComplicationsSlotBoundsType
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ıkDynamicFloat
değerini kabul ediyor veComplicationText
sınıfının alt sınıfı olarak yeni birDynamicComplicationText
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) StateEntryValue
'üDynamicDataValue
olarak yeniden adlandırın veDynamicDataKey
'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çinPlatformDataKey
ekleyin;StateStore
'de ad alanı desteği ekleyin. (I7985e) enable
/disablePlatformSource
yöntemleriDynamicTypeEvaluator
'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çinandroid.support.wearable.complications.SUPPORTED_TYPES
'yi geçersiz kılanandroidx.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ıyancreateRemoteWatchFaceView
'ü kullanıma sunduk. Bu görünüm, istemciRemoteWatchFaceViewHost#renderWatchFace
'yi çağrdığında oluşturulur. (Ib311d)renderWatchFaceToSurface
,InteractiveWatchFaceClient
,HeadlessWatchFaceClient
veEditorSession
'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 yerineDynamicTypeEvaluator.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önteminiBoundDynamicType
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çinandroid.support.wearable.complications.SUPPORTED_TYPES
'yi geçersiz kılanandroidx.wear.watchface.complications.datasource.SAFE_WATCH_FACE_SUPPORTED_TYPES
meta verilerini kaydedebilir. (Id1c73) CustomValueUserStyleSettings2
'ü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 verileriyle tanımlanan listedeki bir kadrandan mı yoksaComplicationRequest#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çincom.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
veGlesRenderer2
'ye,EGL14.EGL_CONTEXT_CLIENT_VERSION
parametresininEGL14.eglCreateContext
'e iletilmesini ayarlamanıza olanak tanıyan isteğe bağlı bireglContextAttribList
parametresi ekledik. (I2a83e)- Kadran kitaplıklarını
java.util.function.Consumer
yerineandroidx.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 üç durumluIntDef
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
gerektirenComplicationRequest.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 fazlaComplicationSlotsUserStyleSetting
bulunabilir. Kullanıcının stil seçimlerine bağlı olarak yalnızca birComplicationSlotsUserStyleSetting
etkin olur.ListOption
veComplicationSlotsOption
için ekran okuyucu desteğini iyileştirmek amacıylascreenReaderName
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
veComplicationSlotsOption
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 etkinComplicationSlotsOption
öğesini bulmaya yardımcı olmak içinUserStyleSchema
işlevine bir yardımcı program işlevifindComplicationSlotsOptionForUserStyle
ekledik. (Ic2b06) RangedValuesTypes
,RangedValueComplicationData
'un tamamlayıcı nesnesine çekildi veTYPE_UNDEFINED
,TYPE_RATING
olarak yeniden adlandırıldı ve yeni birTYPE_PERCENTAGE
eklendi. (I55d02)- Deneme amaçlı
DynamicFloat
'ü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
veWeightedElementsComplicationData
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
öğesineColorRamps
için isteğe bağlı destek ekledik.- Android T için
ComplicationData
alanınaComplicationPersistencePolicy
vesetCachePolicy
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ğiComplicationDisplayPolicy
özelliğini de ekledik. (Ic9574)
API Değişiklikleri
GoalProgressComplicationData
,WeightedElementsComplicationData
veColorRamp
artık deneysel değildir. (Ica9e2)ComplicationPersistencePolicy
veComplicationDisplayPolicy
artık T API'leri olarak doğru şekilde işaretlenmiştir. (I31d88)- Desteği sonlandırılan
ComplicationSlotOverlay
oluşturucusunda artıkDeprecationLevel.WARNING
vardır. Bu sayede, Java'dan tekrar çağrılabilir. (Ib308c) ComplicationRequestListener
,CanvasComplication
,ComplicationTapFilter
veInteractiveWatchFaceClient
ile ilgili bazı Java uyumluluk sorunlarını@JvmDefaultWithCompatibility
(Id94fc) ile ekleyerek düzelttik- Deneysel
ProtoLayoutComplicationData
veListComplicationData
'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ğiWeightedElementsComplicationData
'un alt kümesi olduğu içinDiscreteRangedValueComplicationData
'ü kaldırdık. (I6446c)
Hata Düzeltmeleri
- Eşittir ve karma koduna
isForScreenShot
ekleyin.onRenderParametersChanged
için doğru birisForScreenshot
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ığındanUserStyleSchema.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
'üIntDef
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çinSysUI
'ten yararlandığından kadran tutarsız bir durumda bırakılabilir.(ba762aComplicationDataSourceInfoRetriever
'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ıyanRenderer.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ıkSmallImages
'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 veClientDisconnectListener
'u, dinleyicinin motorun ayrıldığını gözlemlemesine olanak tanıyanDisconnectReason
içeren yeni bir yöntemle genişlettik. (I45cce) ComplicationSlotOverlay
oluşturucusuna iki isteğe bağlı parametre (nameResourceId
vescreenReaderResourceId
) eklendi (I157e8)getOrCreateInteractiveWatchFaceClient
içinPreviewImageUpdateRequestedListener
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ı olanRenderer.sendPreviewImageNeedsUpdateRequest
özelliğini ekledik. İstemci tarafında, bu istekleri gözlemlemek içingetOrCreateInteractiveWatchFaceClient
isteği için isteğe bağlı parametre olarakPreviewImageUpdateRequestedListener
ekledik. (Iff44a)WatchFaceColors
'ü göstermek için API'yi basitleştirdik. Artık Renderer'da, kadran tarafından ayarlanabilenwatchFaceColors
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çinWallpaperManager
yerineInteractiveWatchFaceClient
'yeOnWatchFaceColorsListener
ekledik. (I490bc)- En belirgin üç kadran rengini içeren bir
WatchFaceColors
sınıfı veWallpaperManager.getWallpaperColors
aracılığıyla sistemin kadran renklerini almasına olanak tanıyanwatchfaceColors
venotifyWatchFaceColorsChanged
açık yöntemlerini Oluşturucu'ya ekledik. (I3d611) ShortTextComplicationData
,RangedValueComplicationData
,NoPermissionComplicationData
(ve deneyselDiscreteRangedValueComplicationData
,GoalProgressComplicationData
veWeightedElementsComplicationData
) artıkSmallImages
'yi destekliyor. Bir kadran, komplikasyonu birden fazla renkle oluşturmayı seçerse artık tek renkli bir resim kullanmak yerine çok renkli birSmallImage
kullanabilir. (I257df)PreviewImageUpdateRequestedListener
'üConsumer<>
olarak yeniden yapılandırın (Ia875d)- Özel Tek Soyut Yöntem (SAM) türü
OnWatchfaceColorsListener
'ü genel Java SAM türüyle (Tüketici) değiştirme (I0c489) PreviewImageUpdateRequestedListener
belirtmeyen eskigetOrCreateInteractiveWatchFaceClient
velistenableGetOrCreateInteractiveWatchFaceClient
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çinWatchFaceService.getComplicationSlotInflationFactory
yönteminecurrentUserStyleRepository
bağımsız değişkeni ekledik. (I2ddd2)UserStyleFlavors
deneysel olmayan bir özellik haline geldi. (I69cdc)- Deneme amaçlı
ValueType
özelliğiniRangedValueComplicationData
'ten kaldırdık ve bunun yerine tam sayı aralığı ve değeri dışındaRangedValueComplicationData
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ğerintargetValue
'den büyük olmasına izin verildiği bir hedefe doğru ilerleme içinRangedValueComplicationData
'ye benzer deneyselGoalProgressComplicationData
özelliğini de kullanıma sunduk. TümRangedValue
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
veGoalProgressComplicationData
tarafından isteğe bağlı olarak kullanılan deneyselColorRamps
, 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 birValueType IntDef
ile ilişkili bir tamsayı değeridir. (I0616b)- İsteğe bağlı
ColorRanges
ileRangedValueComplicationData
için deneysel destek ekledik. Normalde komplikasyonlar, kadran tarafından seçilen renklerde oluşturulur ancak bazenComplicationDataSource
, renkleri ayarlamak için en iyi yere yerleştirilir (ör. belirli bir anlamsal anlamı olduğunda). Örneğin, sıcaklık için kırmızıdan maviye. (I5153a) RangedValueComplicationData
için deneysel birdrawSegmented
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. MaalesefpendingInitialComplications
çok erken uygulandı. Bu nedenle, kadran ilk kullanıma hazırlanırken komplikasyonlarınpendingInitialComplications
'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 fazlapendingInitialComplications
öğesinin birleştirilmesi gereken (teorik olarak) bir hata düzeltildi. (0d03ba3)getExistingInstanceOrSetPendingWallpaperInteractiveWatchFaceInstance
'ın kilidi gereğinden uzun süre tuttuğuInteractiveInstanceManager
'teki olası kilitlenmeyi düzeltin. Genellikleengine.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 bazenWatchFaceService
değerini koruyabilir.release()
çağrısı ekleyerek bu sorunu düzeltebilirsiniz. AyrıcaStateFlows
,WatchFaceService
'u saklayabilir. TemelCoroutineScopes
'yi iptal etmek bu sorunu çözer.(fd48138)awaitDeferredWatchFace
* alanına zaman aşımı ekleyin vewatchfaceOverlayStyle
NullPointerException
değerini düzeltin. Normal şartlarda bu işlem, yeni yükleme sonrası ve CPU yükünün yüksek olduğuDirectBoot
senaryoları da dahil olmak üzere zaman aşımına uğramaz. Ayrıca,getWatchfaceOverlayStyle
işleviclose()
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
veComplicationSlots
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 komplikasyonuBoundingArc
ile denemelerimiz devam ediyor. Şu anda kullanılması önerilmez ancakdrawHighlight
'e kadar bağlantı kuruyoruz.
API Değişiklikleri
BoundingArc
parametresini kabul eden deneysel birdrawHighlight
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ğerinicenter_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 veComplicationSlotState
ileWatchFaceMetadataClient
'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
veProtoLayoutComplicationData
. Ş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ızcaEGL14.eglCreateContext
çağrılırsaonBackgroundThreadGlContextCreated
çağrılmasına neden olan bir hata düzeltildi. Ekran görüntüsündeverticalFlip
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
) veHeadlessWatchFaceClient.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ısmiComplicationSlotBounds
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ınComplicationData
gönderdiğini anlayabilirsiniz. Bazı kadranlar, komplikasyon görüntülemeyi özelleştirmek için bunu kullanabilir. (I44a73)
API Değişiklikleri
Renderer.CanvasRenderer
veRenderer.GlesRenderer
, oluşturma yöntemlerine iletilenSharedAssets
öğesini destekleyenRenderer.CanvasRenderer2
veRenderer.GlesRenderer2
için kullanımdan kaldırıldı. Java birlikte çalışabilirliği içinListenableCanvasRenderer2
veListenableGlesRenderer2
ö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ılmayanRenderer.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ıyanHeadlessWatchFaceClient.getUserStyleSchemaDigestHash
özelliğini ekledik. (I33597)isUserStyleSchemaStatic
öğesiniWatchFaceMetadataClient
öğesine ekledik. Bu öğe, kadran APK'sı güncellenmediği süreceUserStyleSchema
öğesinin değişmeyeceğine güvenilebiliyorsa doğrudur. (I45a3f)UserStyleSchema
dosyasına, şemanın özet karmasını hesaplayangetDigestHash
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 nedenleNoDataComplication
'u isteğe bağlı bir yer tutucu ComplicationData ile genişlettik ve yalnızcaNoDataComplicationData
yer tutucusu bağlamında kullanılmasına izin verilenComplicationText.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 zamanWatchState.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ınPendingIntents
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
öğesiniWatchFaceException
'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çinComplicationRequest.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ızcaListOption
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 veMap<String, ByteArray>
olarak kalır. (Iaf6f4) - Kadranın, sistem durumu yer paylaşımının oluşturulmasını yapılandırmasına olanak tanıyan
WatchFace.OverlayStyle
özelliğini ekledik. (I8520d) CanvasRenderer
için yeni bir isteğe bağlı kurucu parametresi olanclearWithBackgroundTintBeforeRenderingHighlightLayer
'ü 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
veGlesRenderer.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
'yesetNameResourceId
vesetScreenReaderNameResourceId
(dize kaynaklarına referans veren) veandroidx.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
vegetComplicationSlotMetadataMap
artıkRemoteException
yerineWatchFaceException
atıyor. (I86f11)onSynchronousComplicationRequest
veComplicationDataSourceService
'daki ilgili işlevleronImmediateComplicationRequest
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 dahaRemoteExceptions
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
veComplicationSlots
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ğindenWatchFaceMetadataClient
sorguları daha hızlıdır.WatchFaceMetadataClient
veListenableWatchFaceMetadataClient
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ıkWatchState.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 durumdaComplicationData.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üredetapAction
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 özellikComplicationDataTimeline
ekledik. Bu, kadrana gönderilecek ve önbelleğe alınabilen ve otomatik olarak güncellenebilen zamana dayalı birComplicationData
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öntemonComplicationDataTimeline
ile genişletildi.DefaultComplicationDataSourcePolicy
, birincil ve ikincil veri kaynakları içinComplicationType
'ı 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ı birComplicationData
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öntemonComplicationDataTimeline
ile genişletildi. Veri kaynağı hizmetlerini askıya almak için yeni bir kotlin sarmalayıcıSuspendingTimelineComplicationDataSourceService
eklendi. (Idecdc)PendingIntentTapListener
veWatchFaceControlClient.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öntemiWatchFaceControlClient.hasComplicationCache
vardır. Bu durum, sistemin kadrana komplikasyon gönderme stratejisini etkileyebilir. AyrıcaComplicationData
'te birisCached
özelliği vardır vetapAction
önbelleğe alınamadığı ve önbelleğe alınmış bir komplikasyondanull
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ıkWatchFaceControlClient.createHeadlessWatchFaceClient
'ü aradığınızda bir kimlik sağlayabilirsiniz. (I1ff98) - Birincil, ikincil sağlayıcı ve yedek sistem sağlayıcı için varsayılan
ComplicationTypes
ayarlama özelliğiyleDefaultComplicationDataSourcePolicy
genişletildi.ComplicationSlot.defaultDataSourceType
desteği sonlandırıldı. (If0ce3) ComplicationSlot.configExtras
artık değiştirilebilir veEditorSession.openComplicationDataSourceChooser()
çağrılmadan önce güncellenebilir. (I6f852)WatchFace.setComplicationDeniedDialogIntent
vesetComplicationRationaleDialogIntent
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
veComplicationSlots
artık XML'de tanımlanabilir. Bu, kadran oluşturmayı basitleştirir ve meta verileri almak için hizmete bağlanmaları gerekmediğindenWatchFaceMetadataClient
sorgularını hızlandırır. (I85bfa)- İstemcinin, bir kadran
getPendingIntentForTouchEvent
'ü destekleyip desteklemediğini belirleyebilmesi içinInteractiveWatchFaceClient.supportsPendingIntentForTouchEvent
eklendi. (I0b917) WatchFaceMetadataClient
veListenableWatchFaceMetadataClient
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 veonSynchronousComplicationRequest
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çinonStartSynchronousComplicationRequests
veonStopInteractiveComplicationRequests
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 birwear:watchface:watchface-complications
projesine taşındı. Bu, yinelenen sınıflarla ilgili hatalar alacağınız için bu kitaplığın yanı sırawear: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ı veremoveWatchFaceReadyListener
,removeOnWatchFaceReadyListener
olarak yeniden adlandırıldı. (I48fea)- EditorSession
getComplicationsPreviewData
vegetComplicationsDataSourceInfo
artık askıya alma işlevleri değil, başlangıçta değeri null olanStateFlow<>
mülkleridir. ListenableEditorSession'dagetListenableComplicationPreviewData
vegetListenableComplicationsProviderInfo
, temel sınıftaki yeniStateFlow<>
nesneleri kullanmak üzere kaldırıldı. Java kodundaki değişiklikleri dinlemeniz gerekiyorsaandroidx.lifecycle.FlowLiveDataConversions.asLiveData
'üLiveData<>
'e dönüştürmek için kullanabilirsiniz. (Ic5483)
Sürüm 1.0.0-alpha23
29 Eylül 2021
androidx.wear.watchface:watchface-*:1.0.0-alpha23
yayınlanır. 1.0.0-alpha23 sürümü bu taahhütleri içerir.
Yeni Özellikler
Kadran kitaplığı artık tek bir kitaplık grubudur. Bu nedenle, kitaplıklar taşınmıştır ve gradle içe aktarma işlemlerinizi aşağıdaki şekilde güncellemeniz gerekir:
Eski | Yeni |
---|---|
androidx.wear:wear-complications-data |
androidx.wear.watchface:watchface-complications-data |
androidx.wear:wear-complications-data-source |
androidx.wear.watchface:watchface-complications-data-source |
androidx.wear:wear-watchface |
androidx.wear.watchface:watchface |
androidx.wear:wear-watchface-complications-rendering |
androidx.wear.watchface:watchface-complications-rendering |
androidx.wear:wear-watchface-client |
androidx.wear.watchface:watchface-client |
androidx.wear:wear-watchface-client-guava |
androidx.wear.watchface:watchface-client-guava |
androidx.wear:wear-watchface-data |
androidx.wear.watchface:watchface-data |
androidx.wear:wear-watchface-editor |
androidx.wear.watchface:watchface-editor |
androidx.wear:wear-watchface-editor-guava |
androidx.wear.watchface:watchface-editor-guava |
androidx.wear:wear-watchface-guava |
androidx.wear.watchface:watchface-guava |
androidx.wear:wear-watchface-style |
androidx.wear.watchface:watchface-style |
API Değişiklikleri
- Ayrı
androidx.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)