Wear Kadranı

Wear OS by Google akıllı saatler için uygulamalar oluşturun.

Not: 10 Temmuz 2024'ten itibaren kadranların, Wear OS 5'in önceden yüklü olduğu yeni kol saatlerine yüklenebilmesi için Kadran Biçimi'ni kullanması gerekecektir. Kullanıcılara yönelik değişiklikler hakkında daha fazla bilgi edinmek için bu Yardım Merkezi makalesine göz atabilirsiniz.

Ayrıca, 2025'in başlarından itibaren (belirli tarih 2024'ün 4. çeyreğinde duyurulacak) Google Play'de yayınlanan tüm yeni kadranların Saat Kadranı Formatı'nı kullanması gerekmektedir.

Son Güncelleme Kararlı Sürüm Yayın Adayı Beta Sürümü Alfa Sürümü
17 Nisan 2024 1.2.1 - - 1.3.0-alfa03

Bağımlılıkları bildirme

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

Uygulamanız veya modülünün build.gradle dosyasına ihtiyaç duyduğunuz yapılar için bağımlılıkları ekleyin:

Modern

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 edinmek için Derleme bağımlılıkları ekleme bölümüne bakın.

Geri bildirim

Geri bildiriminiz Jetpack'i iyileştirmemize yardımcı olacaktır. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmeye yönelik fikirleriniz varsa 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 ekleyebilirsiniz.

Yeni sayı oluştur

Daha fazla bilgi için Sorun İzleyici dokümanlarına bakın.

Sürüm 1.3

Sürüm 1.3.0-alpha03

17 Nisan 2024

androidx.wear.watchface:watchface-*:1.3.0-alpha03 yayınlandı. Sürüm 1.3.0-alpha03 bu kaydetmeleri içerir.

API Değişiklikleri

  • Temel kadran örneğinin düzenleme sırasında ComplicationData ayarını geçici olarak ayarlayan EditorSession#setOverrideComplications özelliğini ekledik. Özellikler nadiren değişiyorsa bu yöntem, geçersiz kılma işlemlerini EditorSession#renderWatchFaceToBitmap üzerinden aktarmaktan daha verimlidir. (I19384)

Hata Düzeltmeleri

  • Daha önce selectComplicationDataForInstant, tüm zaman çizelgeleri için toApiComplicationData çağrısı yapıyordu. Bu, sonraki === referans eşitlik testinin her zaman başarısız olacağı anlamına geliyordu. Bu da, karmaşık içeriklerin her karede yeniden yüklendiği anlamına geliyordu. Bu da pilin bitmesine neden oluyordu. (717406)

Sürüm 1.3.0-alpha02

3 Nisan 2024

androidx.wear.watchface:watchface-*:1.3.0-alpha02 yayınlandı. Sürüm 1.3.0-alpha02 bu kaydetmeleri içerir.

Yeni Özellikler

  • Eşittir operatörü pahalı olduğundan, en iyi ile selectedData karşılaştırmasını yapmak için artık referans eşitliğini kullanıyoruz. (446b00)

API Değişiklikleri

  • GoalProgressComplicationData için yedek olmayan bir dinamik API ekledik. (c33264)

Sürüm 1.3.0-alpha01

7 Şubat 2024

androidx.wear.watchface:watchface-*:1.3.0-alpha01 yayınlandı. 1.3.0-alpha01 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • WatchFaceServices eşzamanlı olarak başlatılabilir. Bu nedenle durum bilgisiz olmalıdır. Bunu desteklemek için createExtra() tarafından tanımlanan kullanıcı tarafından tanımlanan ekstra bir kullanıcının başlatma sırasında çağrılan tüm geçersiz kılmalara iletilmesini sağlayan StatefulWatchFaceService özelliğini ekledik.
  • GlesRenderer2 artık eglChooseConfig ile deneyeceğiniz özelliklerin listesini belirtmenize olanak tanıyan bir oluşturucu aşırı yüklemesi içeriyor.

API Değişiklikleri

  • StatefulWatchFaceService artık createExtra() tarafından oluşturulan kullanıcı tanımlı ekstra öğenin iletildiği getComplicationSlotInflationFactory geçersiz kılmasını destekliyor. (I82d9f)
  • Bazı kadranların createUserStyleSchema sırasında oluşturulan yardımcı verileri diğer başlatma yöntemleriyle paylaşması gerekiyor. Daha iyi bir alternatif olmadığı için geliştiriciler genellikle WatchFaceServices cihazlarını durum bilgili hale getirdiler. Aynı anda birden fazla örnek oluşturulabileceğinden hatalara yol açabileceğinden bu durum tehlikelidir. Bu sorunu çözmek için StatefulWatchFaceService ve StatefulWatchFaceRuntimeService özelliklerini kullanıma sunduk. Bu özellikler, kullanıcı tanımlı türün createExtra() tarafından oluşturulup çeşitli oluşturma yöntemlerine parametre olarak aktarılmaktadır. (If8a99)
  • InteractiveWatchFaceClient uygulamasına, özellikle OEM'lerin ilgisini çeken getUserStyleFlavors özelliğini ekledik. (I0f5d8)
  • GlesRenderer2 artık eglChooseConfig ile deneyeceğiniz özelliklerin listesini belirtmenize olanak tanıyan bir oluşturucu aşırı yüklemesi içeriyor. Örneğin, bu, önce kenar yumuşatma özellikli bir yapılandırmayı denemenize ve gerekirse ihtiyaç duymadan kullanmaya başlamanıza olanak tanır. (I1ba74)
  • SystemDataSources.DATA_SOURCE_HEART_RATE desteği Android U'dan WearOS'e eklenecek. Bu özelliğin yalnızca SHORT_TEXT komplikasyonlarını desteklediği garanti edilir ancak OEM'ler, sağlık uygulamalarına gerçek zamanlı değer yerine kısayol sunmayı tercih edebileceği için ComplicationSlot kullanıcılarının da SMALL_IMAGE özelliğini kabul etmesi önerilir. (I34223)
  • Android U sürümünden itibaren, METADATA_KEY_DATA_SOURCE_CONFIG_ACTION içeren özellik verisi kaynağı için sistem bir yedekten geri yüklendiğinde ne olacağını kontrol eden METADATA_KEY_CONFIG_RESTORE_SUPPORTED ekledik. Varsayılan olarak sistem, özellik veri kaynağı hizmetinin herhangi bir yapılandırma verisinin yedeklenmesini desteklediğini varsayar. Ancak destek sunmazsa METADATA_KEY_DATA_SOURCE_CONFIG_ACTION meta veri ayarını yanlış değerine ekleyebilir. Bu durumda, özellik alanı yapılandırılmadı olarak işaretlenir. (I6c505)

Sürüm 1.2

Sürüm 1.2.1

24 Ocak 2024

androidx.wear.watchface:watchface-*:1.2.1 yayınlandı. Sürüm 1.2.1 bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • Samsung Galaxy Watch 4, 5 ve 6'da yaşanan kilitlenme düzeltildi. (43f0b0)

Sürüm 1.2.0

29 Kasım 2023

androidx.wear.watchface:watchface-*:1.2.0 yayınlandı. 1.2.0 sürümü bu kaydetmeleri içerir.

1.1.0'dan bu yana önemli değişiklikler

  • Android T'de kullanılabilen yeni komplikasyon türleri için de destek ekledik:
    • GoalProgressComplicationData, RangedValueComplicationData özelliğine benzer. Tek fark, minimum değerin dolaylı olarak sıfır olduğu ve değerin targetValue değerinden büyük olmasına izin verilen hedefe yönelik ilerlemedir.
    • WeightedElementsComplicationData, bir öğe dizisi (ağırlık ve renk çiftleri) ile isteğe bağlı metin/başlık/resimden oluşur. Bunlar, genellikle etiketleri oluşturmak için özelliklerde yer olmadığından, bağlam göz önüne alındığında renklerin anlamlı olması gereken bir pasta grafik olarak gösterilebilir.
  • RangedValueComplicationData paketine isteğe bağlı ColorRanges desteği ekledik. Normalde komplikasyonlar kadranın seçtiği renklerde oluşturulur, ancak bazen (ör. belirli bir anlamsal anlama sahip olduklarında) renkleri ayarlamak için ComplicationDataSource en iyi şekilde yerleştirilir. Ör. sıcaklık için kırmızıdan maviye.
  • Artık neredeyse her ComplicationData türü SmallImages destekleniyor.
  • DO_NOT_SHOW_WHEN_DEVICE_LOCKED adlı çocuğun uyumlu bir kadrana, cihaz kilitliyken özelliği göstermemesi talimatını veren ComplicationDisplayPolicy eklendi.
  • OEM'ler, Android T'den bir özellik isteğinin, sağlayıcılarının manifest dosyasında android.support.wearable.complications.SAFE_WATCH_FACES meta verileri tarafından tanımlanan listedeki bir kadrandan gelip gelmediğini ComplicationRequest#isForSafeWatchFace tarihine kadar belirleyebilecek. Sağlayıcının TargetWatchFaceSafety.UNKNOWN dışında herhangi bir şey almak için com.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE iznine ihtiyacı olacaktı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ınlandı. Sürüm 1.2.0-rc01 bu kaydetmeleri içerir.

Sürüm 1.2.0-beta02

6 Eylül 2023

androidx.wear.watchface:watchface-*:1.2.0-beta02 yayınlandı. Sürüm 1.2.0-beta02 bu kaydetmeleri içerir.

Yeni Özellikler

  • SuspendingComplicationDataSourceService#onDestroy şu anda açık. Sistem varsayılan hava durumu özelliği desteğinin kaldırıldığını lütfen unutmayın.

API Değişiklikleri

  • "Hava durumu özellikleri için yeni bir veri kaynağı göster" ayarını geri alın. (I6f335)

Sürüm 1.2.0-beta01

23 Ağustos 2023

androidx.wear.watchface:watchface-*:1.2.0-beta01 yayınlandı. Sürüm 1.2.0-beta01 bu kaydetmeleri içerir.

Yeni Özellikler

  • WearOS artık Android T'den itibaren varsayılan hava durumu sistemi özelliğini destekleyecek.

API Değişiklikleri

  • Özellikler için varsayılan hava durumu sistem yedeğini ekleyin. (Ia0994)
  • Bu yama, guava sarmalayıcılarıyla birlikte WatchFaceRuntimeService ve WatchFaceControlClient.createWatchFaceRuntimeControlClient öğelerini ekler. Bu özellikler, tanımını başka bir paketten yükleyen özel bir kadran türü olan kadran çalışma zamanlarını destekler. WearOS şu anda yalnızca Android Saat Kadranı Formatı için çalışma zamanını desteklemektedir. (I2799f)
  • Bu yama, aosp/2636578 ile ilgili bir devam niteliğindedir. Bu yama, int defs'i yeniden adlandırdığımız bir güncellemeyle ilgilidir. WatchFaceType, CanvasType, TapType veya ComplicationsSlotBoundsType değerlerine bağlı olarak oluşturulan kodların değiştirilmesi gerekmez. (I4098b)
  • API dosyaları, uyumluluk göstermemeye ek açıklama ekleyecek şekilde güncellendi. (I8e87a, b/287516207)
  • Bu yama, WatchFaceTypes için WatchFaceType, CanvasTypes için CanvasType, TapTypes için TapType ve ComplicationsSlotBoundsType için ComplicationsSlotBoundsType sabitleri gösteriyor. (I3b85a, b/288750666)
  • WatchFace.OverlayStyle, çok düşük bir kullanım oranına sahiptir ve OEM'ler tarafından pek desteklenmemektedir. Bu nedenle, daha sonraki bir tarihte kaldırmak üzere bu özelliği 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ınlandı. Sürüm 1.2.0-alpha09 bu kaydetmeleri içerir.

Yeni Özellikler

  • RangedValueComplicationData.Builder artık DynamicFloat kabul ediyor. ComplicationText alt sınıfı olarak yeni bir DynamicComplicationText mevcut. Her ikisi de dinamik ifadelerin yanı sıra desteklenen Wear 4 cihazlarda 1hz'de güncellenen platform bağlamalarını kullanabilir.

API Değişiklikleri

  • Günlük mesafe, günlük kalori ve günlük katlar için dinamik türler eklendi. Platform sağlık kaynaklarının anahtarları artık PlatformHealthSources.Keys (Ib7637) altında yer alıyor
  • Nabız ve günlük adım sayısını sağlamak için PlatformDataProvider özelliğini uygulayın. SensorGateway arayüzü, herkese açık API'den kaldırıldı. (I55b84)
  • StateEntryValue öğesini DynamicDataValue olarak yeniden adlandırın ve durum API'lerini DynamicDataKey öğesini kullanacak şekilde güncelleyin. (If1c01)
  • Uygulama aktarma durumuna erişmek için AppDataKey; platform verilerine erişim için PlatformDataKey; StateStore bölgesinde ad alanı desteği ekleyin. (I7985e)
  • enable/disablePlatformSource yöntem DynamicTypeEvaluator etiketinden kaldırıldı. Güncellemelerden arayan kişi sorumlu olmalıdır. (I78c6d)
  • Sınırlanan veri türlerinin boyutunu sınırlandırmaya izin ver. (Ie2966)

Sürüm 1.2.0-alpha08

19 Nisan 2023

androidx.wear.watchface:watchface-*:1.2.0-alpha08 yayınlandı. 1.2.0-alpha08 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • Ayrıcalıklı com.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE özelliğine sahip özellik sağlayıcılar, Android T'den androidx.wear.watchface.complications.datasource.SAFE_WATCH_FACE_SUPPORTED_TYPES meta verisi kaydedebilir. Bu durumda, güvenli kadranlar için android.support.wearable.complications.SUPPORTED_TYPES geçersiz kılınır. Bu, özellik sağlayıcının güvenilir ve güvenilir olmayan kadranlara farklı türler sunmayı seçebileceği anlamına gelir.

API Değişiklikleri

  • @Deprecated sınıfının mülke yayılımı (I882d1, b/271441831)
  • Enum.valueOf için değer parametresi adı değişti (Ia9b89)
  • enum valueOf (I818fe) değerinden diğer istisnalar
  • renderWatchFaceToSurface uygulamasını, SurfaceControlViewHost üzerine kurulu olan ve arayanın kadrandan bir görünüm yerleştirmesine olanak tanıyan createRemoteWatchFaceView'ın lehine kaldırdık. Bu görünüm, istemci RemoteWatchFaceViewHost#renderWatchFace araması yaptığında oluşturulur. (Ib311d)
  • renderWatchFaceToSurface, InteractiveWatchFaceClient, HeadlessWatchFaceClient ve EditorSession bölümlerine eklendi. Genellikle bu, bit eşlem oluşturmaktan daha iyi performans gösterir. (Ieacad)
  • ObservableStateStore, StateStore olarak yeniden adlandırıldı. (Ieb0e2)
  • Artık varsayılan olarak boş bir depolama alanına ayarlanmış ObservableStateStore dahil olmak üzere daha isteğe bağlı bağımsız değişkenlere izin vermek için kurucu bağımsız değişkenler yerine DynamicTypeEvaluator.Builder eklendi. (I6f832)
  • DynamicTypeEvaluator içindeki parametrelerin sırası yeniden düzenlendi. (Ic1ba4)
  • DynamicTypeEvaluator.bind yöntemlerine yürüten eklendi. (I346ab)
  • Dinamik tür bağlandıktan sonra değerlendirmeyi tetiklemek için BoundDynamicType öğesine startEvaluation yöntemi ekledik. (I19908)
  • Ayrıcalıklı com.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE özelliğine sahip komplikasyon sağlayıcıları, güvenli kadranlar için android.support.wearable.complications.SUPPORTED_TYPES politikasını geçersiz kılan androidx.wear.watchface.complications.datasource.SAFE_WATCH_FACE_SUPPORTED_TYPES meta verisi kaydedebilir. (Id1c73)
  • CustomValueUserStyleSettings2, LargeCustomValueUserStyleSettings olarak yeniden adlandırıldı. (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ınlandı. 1.2.0-alpha07 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • OEM'ler, Android T'den bir özellik isteğinin, sağlayıcılarının manifest dosyasında android.support.wearable.complications.SAFE_WATCH_FACES meta verileri tarafından tanımlanan listedeki bir kadrandan gelip gelmediğini ComplicationRequest#isForSafeWatchFace tarihine kadar belirleyebilecek. TargetWatchFaceSafety.UNKNOWN dışında herhangi bir veri almak için sağlayıcının com.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE iznine ihtiyacı vardır.

  • Ayrıca, Android T'den CustomValueUserStyleSetting2 mevcuttur ve 12,5 KB'a kadar veri depolayabilirsiniz. CustomValueUserStyleSetting için önceki sınır 1 KB'tı. Artan boyut sınırlarına rağmen kadran geliştiricilerinin verileri küçük tutmaları önerilir. Bunun nedeni, ayarların düzenleme sırasında Bluetooth üzerinden gönderilmesi ve Bluetooth bant genişliğinin sınırlı olmasıdır.

API Değişiklikleri

  • GlesRenderer ve GlesRenderer2 bölümlerine, EGL14.eglCreateContext öğesine iletilen EGL14.EGL_CONTEXT_CLIENT_VERSION parametresini ayarlamanıza olanak tanıyan isteğe bağlı eglContextAttribList parametresini ekledik. (I2a83e)
  • Kadran kitaplıklarını, java.util.function.Consumer yerine androidx.core.util.Consumer bölümüne taşıdık. (I273f5)
  • KT mülkü erişimcilerinden gelen diğer istisnalar (Iff9d9)
  • Müşterinin, eski kadranlar adına destek emülasyonu yapması gerekip gerekmediğini belirleyebilmesi için InteractiveWatchFaceClient.isComplicationDisplayPolicySupported özelliğini ekledik. (I24c89)
  • isForSafeWatchFace bölgesinin üç eyaletli IntDef olması gerektiğine karar verdik. (Ief2f7)
  • Android T için, OEM kullanımına yönelik olan ComplicationRequest.isForSafeWatchFace kullanıma sunuldu. Bu özellik için com.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE gerekir. Sistem görüntüsündeki veri kaynakları için istekte bulunan kadran, manifest dosyasında veri kaynağı tarafından belirtilen güvenli kadranlar listesindeyse doğru değerini döndürür. (I0cbb6)
  • Android T için 12,5 KB'a kadar alabilen CustomValueUserStyleSetting2 ekledik. CustomValueUserStyleSetting için önceki sınır 1 KB'tı. (I0b100)

Sürüm 1.2.0-alpha06

25 Ocak 2023

androidx.wear.watchface:watchface-*:1.2.0-alpha06 yayınlandı. 1.2.0-alpha06 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • Özellik platformu bağlama desteği eklemek için çalışmalar devam ediyor. Bu özellik henüz kullanıma hazır değil. Gelişmeler için bizi takip etmeye devam edin.
  • Yeni özellik türleri (GOAL_PROGRESS ve WEIGHTED_ELEMENTS) için ComplicationSlot XML desteği ekledik.

Hata Düzeltmeleri

  • Samsung cihazlarda kadran düzenleyici düzgün bir şekilde yayınlanmamış olan sızıntıları düzeltir. (3b5987)
  • Birden fazla favorisi olan bir kadran arasında geçiş yaparken bazen özelliklerin düzgün gösterilmemesine neden olan hata düzeltildi. (b38ece)
  • Kadran kilitlenmelerine neden olan perOptionScreenReaderNames ile serileştirme hatasını düzeltir. (e9f466)

Sürüm 1.2.0-alpha05

7 Aralık 2022

androidx.wear.watchface:watchface-*:1.2.0-alpha05 yayınlandı. 1.2.0-alpha05 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • Bir süre önce hiyerarşik UserStyleSettings desteği ekledik. Android T'den artık bir hiyerarşide birden fazla ComplicationSlotsUserStyleSetting bulunabilir. Kullanıcının stil seçimlerine bağlı olarak yalnızca bir ComplicationSlotsUserStyleSetting etkin olacak.

  • screenReaderName alanı ekleyerek ListOption ve ComplicationSlotsOption için ekran okuyucu desteğini iyileştiriyoruz. Android T'den önce bu alanın tamamlayıcı düzenleyiciler tarafından yoksayılacağını unutmayın.

API Değişiklikleri

  • Düzenleyiciler tarafından kullanılmak üzere ListOption ve ComplicationSlotsOption sürümlerine isteğe bağlı yeni bir screenReaderName alanı ekledik. Bu alan, Android T'den önceki cihazlarda tamamlayıcı düzenleyiciler tarafından yoksayılacak. (I75326)
  • Android T'den aynı anda yalnızca bir tanesi etkin olabildiği sürece artık stil hiyerarşisinde birden fazla ComplicationSlotsUserStyleSettings desteklenmektedir. Varsa etkin ComplicationSlotsOption öğesini bulmanıza yardımcı olmak için UserStyleSchema işlevine findComplicationSlotsOptionForUserStyle yardımcı işlevi ekledik. (Ic2b06)
  • RangedValuesTypes, RangedValueComplicationData öğesinin tamamlayıcı nesnesine alındı ve TYPE_UNDEFINED, TYPE_RATING olarak yeniden adlandırıldı ve yeni TYPE_PERCENTAGE eklendi. (I55d02)
  • DynamicFloat adlı deneysel uygulamayı FloatExpression olarak yeniden adlandırdık ve @hide olarak işaretledik. (Idf4f1)
  • @JvmDefaultWithCompatibility ek açıklaması ekleniyor (I8f206)

Sürüm 1.2.0-alpha04

9 Kasım 2022

androidx.wear.watchface:watchface-*:1.2.0-alpha04 yayınlandı. 1.2.0-alpha04 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • Android T için GoalProgressComplicationData ve WeightedElementsComplicationData olmak üzere iki yeni özellik türü için destek ekledik.
  • GoalProgressComplicationData, RangedValueComplicationData özelliğine benzer ancak bu değerin hedefin ötesine geçilmesine izin verilir (RangedValueComplicationData için değer [min .. maks.] aralığına sabitlenir). Bu durum, görsel tasarım açısından tüm kadranlara uymayabilir.
  • GoalProgressComplicationData, pasta grafikler ve basit verilerin benzer dökümleri için destek ekler.
  • RangedValueComplicationData paketine, ColorRamps için isteğe bağlı destek ekledik.
  • Şu anda sağlayıcının, bir özelliğin devam edip etmediğini (yani yeniden başlatma sonrasında önbelleğe alınıp alınmadığını) kontrol etmesine olanak tanıyan ComplicationPersistencePolicy ve setCachePolicy özelliklerini Android T için ComplicationData uygulamasına ekledik. Çoğu özellik için önbellek denetiminin ayarlanması gerekmez.Ancak bu işlem, sık sık güncellenen bazı özellikler (ör. sağlık verisi komplikasyonları) için eski verilerin yer aldığı köşedeki destek alanlarını düzeltebilir. Ayrıca, DO_NOT_SHOW_WHEN_DEVICE_LOCKED ürününün, uyumlu bir kadrana cihaz kilitliyken özelliği göstermemesi talimatını veren ComplicationDisplayPolicy politikasını da ekledik. (Ic9574)

API Değişiklikleri

  • GoalProgressComplicationData, WeightedElementsComplicationData ve ColorRamp artık deneysel değil. (Ica9e2)
  • ComplicationPersistencePolicy ve ComplicationDisplayPolicy artık gerektiği gibi T API'leri olarak işaretlendi. (I31d88)
  • Desteği sonlandırılan ComplicationSlotOverlay oluşturucusu, artık Java'dan tekrar çağrılmasına izin veren DeprecationLevel.WARNING öğesine sahip. (Ib308c)
  • ComplicationRequestListener, CanvasComplication, ComplicationTapFilter ve InteractiveWatchFaceClient ile ilgili bazı Java uyumluluk sorunlarını, bunları @JvmDefaultWithCompatibility (Id94fc) ile ek açıklama olarak düzelttik.
  • ProtoLayoutComplicationData ve ListComplicationData denemelerini kaldırdık. Bu oyunların geliştirici hikayesi net değildir. İleride bu videoları tekrar gözden geçirmeyi umuyoruz. (I9df05)
  • RangedValueComplicationData klasörüne ValueType ekledik. WeightedElementsComplicationData artık arka plan rengini destekliyor. DiscreteRangedValueComplicationData işlevi, WeightedElementsComplicationData ürününün bir alt kümesi olduğundan kaldırıldı. (I6446c)

Hata Düzeltmeleri

  • isForScreenShot öğesini eşittir ve karma koduna ekleyin. onRenderParametersChanged öğesinin doğru isForScreenshot değerini aldığından emin olun (I04a41)
  • Gözetimsiz istemcilerden gelen WatchFaceControlService sızıntıları düzeltildi. (e90e00)

Sürüm 1.2.0-alpha03

5 Ekim 2022

androidx.wear.watchface:watchface-*:1.2.0-alpha03 yayınlandı. 1.2.0-alpha03 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • Yeni özellik yok ancak kadran düzenleyiciyle ilgili birkaç hatayı düzelttik.

API Değişiklikleri

  • rootUserStyleSettings deneysel olmadığı için UserStyleSchema.userStyleSettings desteği sonlandırıldı (Ie96e3)
  • rootUserStyleSettings öğesini deneme öğelerinin (I8d6b3) dışına taşı
  • WatchFaceColors, tüm sistemler tarafından desteklenmediği için deneysel olarak işaretlendi (I6d75d)
  • IntDef ile çalışması için DisconnectReasons öğesini herkese açık API'de kullanıma sunun. (I791f8)

Hata Düzeltmeleri

  • SysUI ölürse saat düzenleyicideki tüm açık olanları kapatın. SysUI ölürse ve kadran düzenleyici kapatılmazsa sistem, kullanıcı stili değişikliklerinin devam etmesi için SysUI politikasını kullandığından kadran tutarsız bir durumda kalabilir.(ba762a
  • Bir kotlin eş yordamının, gc root'u olarak davrandığı ve düzenleyici etkinliğini koruduğu durumlarda ComplicationDataSourceInfoRetriever ürününde bellek sızıntısını düzeltin.(33ee06)

Sürüm 1.2.0-alpha02

21 Eylül 2022

androidx.wear.watchface:watchface-*:1.2.0-alpha02 yayınlandı. 1.2.0-alpha02 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • Bazı kadranların, UserStyle dışında bir yapılandırma olduğunu ve bunu görsel olarak etkileyen yapılandırmaları vardır (ör. arka plan fotoğrafı seçme). Kadranın güncellenmiş önizleme resmi istemesine olanak tanıyan Renderer.sendPreviewImageNeedsUpdateRequest özelliğini ekledik. Bunun çalışması için uygun bir sistem güncel olması gerektiğini unutmayın.

  • Ayrıca, kadranların renklerini sisteme göstermek amacıyla kadranların renk paletini buna göre seçebilecek bir API de ekledik. Bu uygulamanın, bir yamayla birlikte deneme amaçlı olarak yapıldığını unutmayın.

  • Artık neredeyse tüm ComplicationData türleri SmallImages destekliyor.

API Değişiklikleri

  • Duvar kağıdı yöneticisi bazen bir motordan ayrılıp başka bir motor yapabilir. Dinleyicinin motor çıkarma işlemlerini gözlemlemesine olanak tanıyan DisconnectReason içeren yeni bir yöntemle DisconnectReason int def ve genişletilmiş ClientDisconnectListener yöntemi ekledik. (I45cce)
  • ComplicationSlotOverlay oluşturucusuna (I157e8) isteğe bağlı iki parametre nameResourceId ve screenReaderResourceId eklendi
  • PreviewImageUpdateRequestedListener içeren yeni getOrCreateInteractiveWatchFaceClient aşırı yüklemesi için bir guava sarmalayıcı ekledik. (Ic31f0)
  • UserStyleSchema dışında durumu olan kadranların (ör. seçilebilir bir arka plan resmi olan kadran) görünmesi için faydalı olan Renderer.sendPreviewImageNeedsUpdateRequest özelliğini ekledik. Bu istekleri gözlemlemek için istemci tarafında getOrCreateInteractiveWatchFaceClient öğesine isteğe bağlı parametre olarak PreviewImageUpdateRequestedListener ekledik. (Iff44a)
  • WatchFaceColors API'sini gösterme API'sini basitleştirdik. Artık Oluşturucu'da, kadranın ayarlayabileceği watchFaceColors adlı basit bir özellik var. Stil değişikliklerine yanıt olarak bu özellik güncellenmelidir. Renk değişikliklerini gözlemlemek için WallpaperManager kullanmak yerine, InteractiveWatchFaceClient öğesine OnWatchFaceColorsListener özelliğini ekledik. (I490bc)
  • En belirgin üç kadran rengini barındıran bir WatchFaceColors sınıfı ve Oluşturucu'ya watchfaceColors ve notifyWatchFaceColorsChanged açık yöntemleri ekledik. Bunlar, sistemin WallpaperManager.getWallpaperColors üzerinden kadranın renklerini almasını sağlar. (I3d611)
  • ShortTextComplicationData, RangedValueComplicationData, NoPermissionComplicationData (ve deneysel DiscreteRangedValueComplicationData, GoalProgressComplicationData ve WeightedElementsComplicationData) artık SmallImages özelliğini destekliyor. Bir kadran, birden fazla renk içeren bir komplikasyon oluşturmayı seçerse artık tek renkli resim kullanması gereken çok renkli SmallImage kullanabilir. (I257df)
  • PreviewImageUpdateRequestedListener öğesini bunun yerine Consumer<> olacak şekilde yeniden düzenleyin (Ia875d)
  • Özel Tek Soyut Yöntemi (SAM) türünü OnWatchfaceColorsListener ile genel Java SAM türüyle (Tüketici) (I0c489) değiştirin
  • PreviewImageUpdateRequestedListener belirtilmeyen eski getOrCreateInteractiveWatchFaceClient ve listenableGetOrCreateInteractiveWatchFaceClient yöntemleri kullanımdan kaldı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ınlandı. Sürüm 1.2.0-alpha01 bu kaydetmeleri içerir.

Yeni Özellikler

  • Çeşitli yeni özellik biçimleri için deneysel destek ekledik. Bu, aktif geliştirme aşamasındaki bir alandır. Bu yeni biçimler önceden haber verilmeden değiştirilebilir ve şu anda CanvasComplicationDrawable tarafından oluşturucu desteği sunulmamaktadır.
  • Ayrıca, küçük özelliklere daha kolay dokunulmasını sağlayan özellik alanlarına isteğe bağlı kenar boşlukları da ekledik.

API Değişiklikleri

  • Deneysel BoundingArc sınıfı artık sabit. (If624a)
  • Küçük komplikasyonlara dokunmak zor olabilir. Bu sorunu azaltmak amacıyla, 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 kenar boşluğu sıfırdır. (I14089)
  • getComplicationSlotInflationFactory(CurrentUserStyleRepository) imzası, boş olmayan bir fabrika örneği döndürecek şekilde değiştirildi. Daha önce null değerinin döndürülmesi hataydı. Bu nedenle, API sözleşmesinin daha net bir şekilde anlaşılmasını sağladı. (I0fcc0)
  • createComplicationSlotsManager ile tutarlı olması için WatchFaceService.getComplicationSlotInflationFactory yöntemine currentUserStyleRepository bağımsız değişken ekledik. (I2ddd2)
  • UserStyleFlavors artık deneysel olmayan bir özellik oldu. (I69cdc)
  • Deneme amaçlı ValueType, RangedValueComplicationData alan adından kaldırıldı ve yerine tam sayı aralığı ve değer haricinde RangedValueComplicationData benzeri bir deneysel DiscreteRangedValueComplicationData kullanıma sunuldu. Ayrıca, minimumun dolaylı olarak sıfır olduğu ve değerin targetValue değerinden büyük olmasına izin verilen hedefe yönelik ilerlemeyle ilgili olması dışında, RangedValueComplicationData benzeri deneysel GoalProgressComplicationData özelliğini kullanıma sunduk. Tüm RangedValue varyantları için monochromeImage, metin veya başlıktan en az biri belirtilmelidir. (I9590c)
  • Sistem yazılımında bir kullanım alanı olmadığından boundsWithMargins URL'sini ComplicationSlotState ürününden kaldırdık. (I42e26)
  • WeightedElementsComplicationData için deneysel destek ekledik. Bu destek, bir dizi Öğe (ağırlık ve renk çiftleri) ile isteğe bağlı metin/başlık/resimden oluşur. Bunlar, genellikle etiketleri oluşturmak için özelliklerde yer olmadığından, bağlam göz önüne alındığında renklerin anlamlı olması gereken bir pasta grafik olarak gösterilebilir. (I87eea)
  • RangedValueComplicationData ve GoalProgressComplicationData tarafından isteğe bağlı olarak kullanılan deneysel ColorRamps, artık yedi adede kadar renk sırasını ve renklerin yumuşak bir şekilde senkronize edilmesini mi yoksa eşit boyutlu tek renk adımlarının mı oluşturulması gerektiğini belirten bir işaret belirtmenize olanak tanıyor. (I9f5bf)
  • RangedValueComplicationData.drawSegmented, aralıklı değere anlamsal anlam sağlayan ve stili etkilemek için özellik oluşturucu tarafından kullanılabilecek, karşılık gelen ValueType IntDef ile karşılık gelen bir tam sayı olan valueType olarak değiştirildi. (I0616b)
  • RangedValueComplicationData konumuna isteğe bağlı ColorRanges için deneysel destek ekledik. Normalde komplikasyonlar kadranın seçtiği renklerde oluşturulur, ancak bazen (ör. belirli bir anlamsal anlama sahip olduklarında) renkleri ayarlamak için ComplicationDataSource en iyi şekilde yerleştirilir. Ör. sıcaklık için kırmızıdan maviye. (I5153a)
  • RangedValueComplicationData öğesine deneysel bir drawSegmented ipucu ekledik. Bu, oluşturucuları segmentlerle aralıklı değer göstergesini çizmesi için sinyal verir (1 segment = 1 birim). (I7d7c1)

Hata Düzeltmeleri

  • Önceden tanımlanmış ekran koordinat sistemine göre ComplicationSlotBounds öğesini tanımlama özelliği ekledik. (I0985d)

Sürüm 1.1

Sürüm 1.1.1

10 Ağustos 2022

androidx.wear.watchface:watchface-*:1.1.1 yayınlandı. Sürüm 1.1.1 bu kaydetmeleri içerir.

  • Bu bir hata düzeltme sürümüdür ve 1.1.0 sürümü kullanıcılarının yeni sürüme geçmesi önemle tavsiye edilir.

Hata Düzeltmeleri

  • Kadran başlatma eşzamansızdır ve bir özellik, kadran hazır olmadan alınırsa pendingInitialComplications listesine yerleştirilir ve daha sonra uygulanır. Maalesef pendingInitialComplications çok erken uygulandı. Bu nedenle, kadran başlatma sırasında komplikasyonların yine de pendingInitialComplications üzerine yüklenip yoksayılabileceği bir zaman aralığı bulunuyordu. Bu sorun artık düzeltildi. Ayrıca bu yama, ComplicationRenderer ürününün yer tutucuları yanlışlıkla eşzamansız olarak yüklemeye çalışmasına ve derleme grafiğinin hiç güncellenmemesine yol açan hataya neden olan hatayı düzeltir. Son olarak bu yama, birden fazla pendingInitialComplications ürününün birleştirilmesini gerektiren teorik bir hatayı düzeltir. (0d03ba3)

  • getExistingInstanceOrSetPendingWallpaperInteractiveWatchFaceInstance adlı çocuğun kilidi gerekenden daha uzun süre tuttuğu InteractiveInstanceManager uygulamasında olası kilitlenme durumu düzeltildi. Genellikle engine.setUserStyle ürününün hızlı olmasını bekleriz, ancak herhangi bir nedenle hızlı değilse de kilitlenme yaşayabiliriz/ANR ile karşı karşıya kalabiliriz. Bu yama, gereksiz işleri kilidin dışına çıkararak kilitlenme olasılığını ortadan kaldırır.(5a2adca)

  • WatchFaceService verilerinin saklandığı birkaç sorunu düzeltin. WakeLock bazen WatchFaceService öğesini saklayabilir. release() çağrısı eklendiğinde bu sorun düzeltilir. Ayrıca StateFlows, WatchFaceService dosyasını saklayabilir. Bu işlem, ilgili CoroutineScopes düzeltmelerini iptal eder.(fd48138)

  • awaitDeferredWatchFace* özelliğine zaman aşımları ekleyin ve watchfaceOverlayStyle NullPointerException sorununu düzeltin. Normal koşullarda bu, yeni yükleme işleminden sonra ve CPU yükünün yüksek olduğu DirectBoot senaryoları dahil olmak üzere zaman aşımına uğramamalıdır. close() sonrasında getWatchfaceOverlayStyle çağrılırsa NPE'yi de düzelttik.(a4c3a5a)

Sürüm 1.1.0

15 Haziran 2022

androidx.wear.watchface:watchface-*:1.1.0 yayınlandı. 1.1.0 sürümü bu kaydetmeleri içerir.

1.0.0'dan bu yana önemli değişiklikler

İyileştirilmiş Düzenleme:

  • Düzenleyici kullanıcı arayüzleri tarafından stiller hiyerarşisinin belirlenmesine olanak tanıyan hiyerarşik şemalar için destek ekledik. Artık kadranda ve tamamlayıcı düzenleyicilerde kullanılmak üzere ayrı simgeler belirtebilirsiniz.
  • Birden fazla kadran örneği için kaydolma desteği vardır. Her örneğin, tüm API yüzeylerinde kullanılabilen benzersiz bir kimliği vardır.
  • Artık düzenleyicilerde kullanmak üzere ComplicationSlots için okunabilir adlar belirtebilirsiniz.
  • Tamamlayıcı düzenleyiciden görülebilecek özel bir stil seçkisi olan "aroma"lara stil eklemek için deneysel destek.
  • Artık kadranın iki örneği yüklenirken kadranların kaynakları paylaşabilmesi ve bellekten tasarruf etmesi mümkün
  • Kadran düzenleyicide bir özellik seçilirken artık mevcut sağlayıcı önceden seçilmiş olur.

İyileştirilmiş Özellikler:

  • Artık birincil ve ikincil veri kaynakları için ComplicationType belirtebilirsiniz. Böylece geliştiricilere kullanıma hazır deneyim için daha fazla esneklik sunulur.
  • Kadrana yayınlanacak, zaman sınırlamalı bir veri dizisi sağlayan ComplicationDataTimeline ekledik. Bu veriler önbelleğe alınıp otomatik olarak güncellenebilir. Örneğin, çeşitli saatlerdeki bugünün hava durumu tahmini veya yaklaşan birden fazla takvim etkinliği.
  • Özellik sağlayıcısının ComponentName, ComplicationData kapsamındadır.
  • Özellikler artık önbelleğe alınıyor. Bu sayede, kadranlar arasında geçiş yaparken daha iyi bir deneyim elde edebilirsiniz.

Diğer değişiklikler:

  • UserStyleSchema ve ComplicationSlots artık XML'de tanımlanabilir. Bu, kadran oluşturma sürecini basitleştirir ve sistemden meta veri sorgularının daha hızlı yapılmasını sağlar.
  • 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ınlandı. Sürüm 1.1.0-rc01 bu kaydetmeleri içerir.

Yeni Özellikler

  • ComplicationSlotBounds ve destekleyici referansları belirtmeyi kolaylaştırmak için kadran XML desteğinde kullanılabilirlikte bazı düzenlemeler yaptık. Şu anda kullanılması önerilmez ancak BoundingArc adlı kenar özelliğiyle ilgili deneme devam ederek drawHighlight'a kadar su tesisatı gerçekleştiriyor.

API Değişiklikleri

  • BoundingArc parametresini kabul eden drawHighlight için deneysel bir aşırı yükleme ekledik. (I705f8)
  • Kadran XML'i artık kaynak referanslarını destekliyor. Hem XML'de hem de kodunuzda aynı sabit değerleri kullanmanıza olanak tanır. (I3ef61)
  • ComplicationSlotBounds öğesini center_x, center_y, size_x, size_y biçiminde tanımlama özelliği ekledik. Artık kaynak referansları kullanılarak farklı birimler (dp) de kullanılabilir. (Iace98)

Hata Düzeltmeleri

  • Görevleri yanlış bağlamda çalıştıran runBlockingWithTracing sorununu düzeltin.(4f595fe)
  • BaseEditorSession.close öğesini eşzamanlı yapın. BaseEditorSession.close öğesinin eşzamansız olmasıyla ilgili sorun, ComplicationDataSourceInfoRetriever öğesini çok geç bırakmamız ve bu şekilde logcat'te spam uyarısına yol açmasıdır. Bu muhtemelen zararsızdı ancak logcat spam'i dikkat dağıtıcıdır ve kaçınılması gerekir.(35a5308)

Sürüm 1.1.0-beta02

11 Mayıs 2022

androidx.wear.watchface:watchface-*:1.1.0-beta02 yayınlandı. Sürüm 1.1.0-beta02 bu kaydetmeleri 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

  • Bir uç özellik alanının geometrisini tanımlayan deneysel bir sınıf olan BoundingArc'i ekledik. Bu kanal, ComplicationSlot bölümüne eklendi ve ComplicationSlotState ile WatchFaceMetadataClient bölgelerine tesis edildi. (I61a40)
  • UserStyleSetting XML biçiminde ayarları devralma özelliğini ekledik. Ayrıntı düzeyini azaltmanıza ve kadranlar arasında bir ayarı paylaşmanıza olanak tanır. (Ief841)
  • ListComplicationData ve ProtoLayoutComplicationData olmak üzere iki yeni deneme amaçlı ComplicationData türü ekledik. Şu anda bu türlerin ikisi için de oluşturma desteği yoktur ve Wear OS, bir ComplicationDataSource's manifestine eklendiğinde bu türleri şu anda tanımamaktadır. (I1811c)

Hata Düzeltmeleri

  • TimeLineEntry türünün serileştirmesi düzeltildi. TimeLineEntry türünü serileştirmedik. Yani, NoData türündeki önbelleğe alınmış TimeLineEntries, hatalı bir şekilde, mevcut olmayan zorunlu alanlara erişildiğinde üst özellikte bulunan özellik türünün NPE'lere yol açtığı şeklinde yorumlanıyordu. (55ffdf5)
  • setComplicationData adlı kullanıcının zaman çizelgesi alanlarını atlamasına neden olan hatayı düzeltin(fb392f5)
  • Nadiren runBlockingWithTracing değerinin NPE'ye(12ca62e) yol açabileceği hatayı düzeltir
  • Bazen bir özellik aldığımızda ClassNotFoundException: android.support.wearable.complications.ComplicationText hatasına neden olan hatayı düzeltir.(217942d9)
  • GlesRenderer.backgroundThreadInitInternal yönteminde, yalnızca EGL14.eglCreateContext çağrıldığında onBackgroundThreadGlContextCreated çağrısı yapan bir hata düzeltildi. verticalFlip nedeniyle ekran görüntüsünde görsel bir arızaya neden olan başka bir hatayı düzeltir.(c674ad2)
  • WatchFaceService XML sürümü kontrolünü düzeltin, yanlış paketten yükleniyordu.(dfa06f3)
  • Yer tutucu kablo biçimi artık bir iç paket kullanıyor. Yer tutucuların, gizli iç a.s.w.c.ComplicationData öğesini kullanabilecek mevcut kadranları bozmasını istemeyiz. Önceden, NoDataComplication verilerinin kablolu biçimi, yer tutucuyu normal alanlarda depoluyordu (eski kadranların amaçlanmayan yer tutucu dizesi oluşturması nedeniyle sorunludur), 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ınlandı. Sürüm 1.1.0-beta01 bu kaydetmeleri içerir.

API Değişiklikleri

  • Artık WatchFaceMetadataClient yöntemleri (getUserStyleSchema, getComplicationSlotMetadataMap, getUserStyleFlavors) ve HeadlessWatchFaceClient.getUserStyleFlavors, WatchFaceException yerine işaretlenmemiş RuntimeException hatası veriyor. (I0718a)
  • WatchFaceMetadataClient.WatchFaceException, yeniden kullanılabilmesi için sınıftan çıkarıldı. (I4e869)

Hata Düzeltmeleri

  • WatchFaceMetadataClient, ComplicationSlotBounds kısmi gönderildiğinde artık kilitlenmez.(Iaafd)

Sürüm 1.1.0-alpha05

6 Nisan 2022

androidx.wear.watchface:watchface-*:1.1.0-alpha05 yayınlandı. 1.1.0-alpha05 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • Artık ComplicationData.dataSource öğesini inceleyerek hangi veri kaynağının ComplicationData gönderdiğini öğrenebilirsiniz. Bazı kadranlar, özellik ekranını özelleştirmek için bunu kullanabilir. (I44a73)

API Değişiklikleri

  • Renderer.CanvasRenderer ve Renderer.GlesRenderer desteği, oluşturma yöntemlerine aktarılan SharedAssets destekleyen Renderer.CanvasRenderer2 ve Renderer.GlesRenderer2 ile birlikte kullanımdan kaldırıldı. Java birlikte çalışabilirlik için ListenableCanvasRenderer2 ve ListenableGlesRenderer2 kullanıma sunuldu. (I31ffa)
  • @WatchFaceFlavorsExperimental aroma tanımlama özelliği eklendi - stile sahip kadranların önceden yapılandırılmış listesi (I04dd0)
  • Renderer.sharedAssets artık bir StateFlow ve kullanılmayan Renderer.SharedAssetsFactory (I12ac5) kaldırıldı
  • UserStyleSchema.userStyleSettings artık kullanılmıyor (Iba7e3)
  • HeadlessWatchFaceClient ürününün, özet karmasını hesaplamadan önce şemayı AIDL üzerinden geçirmenin nispeten düşük ek yükünü önlemesine olanak tanıyan HeadlessWatchFaceClient.getUserStyleSchemaDigestHash ekledik. (I33597)
  • WatchFaceMetadataClient uygulamasına isUserStyleSchemaStatic eklendi. Bu değer, kadran APK'sı güncellenmediği sürece UserStyleSchema değerinin değişmemesi gerektiği takdirde geçerlidir. (I45a3f)
  • Şemanın özet karmasını hesaplayan getDigestHash yönergesini UserStyleSchema bölümüne ekledik. Bu, UserStyleSchema öğesinin değişip değişmediğini etkili 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)
  • Yalnızca kadran düzenleyicinin kullandığı verileri içeren UserStyleSetting.OnWatchEditorData, UserStyleSetting.WatchFaceEditorData olarak yeniden adlandırıldı. (If3afb)

Sürüm 1.1.0-alpha04

9 Mart 2022

androidx.wear.watchface:watchface-*:1.1.0-alpha04 yayınlandı. 1.1.0-alpha04 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Güncel ComplicationData her zaman kullanılamayabilir (ör. önbelleğe alınmış ComplicationData'nın süresi dolmuş), bu nedenle isteğe bağlı bir yer tutucu ComplicationData ile NoDataComplication öğesinin kapsamını genişlettik ve yalnızca NoDataComplicationData yer tutucu bağlamında kullanılmasına izin verilen ComplicationText.PLACEHOLDER, MonochromaticImage.PLACEHOLDER, SmallImage.PLACEHOLDER, PhotoImage.PLACEHOLDER öğelerini ekledik. Seçilirse bu yer tutucuların gri kutular/yaylarla oluşturulması önerilir. (I6285d)
  • Referans Anında Arama'dan sonra, özellikte herhangi bir alanın değişebileceği bir sonraki Anında Arama'yı bildiren ComplicationData.getNextChangeInstant özelliğini ekledik. Bu, özellik güncellemeleri için çerçeveleri planlamak üzere dahili olarak kullanılır. Örneğin, bir kadran normalde dakikada bir kez güncelleniyorsa, kol saatini durdurma özelliğinin ayarlanması, kadranların saniyede bir güncellenmesine neden olur. (I7ceb2)
  • EditorSession.watchFaceId artık tüm API düzeylerinde kullanılabilir. Ayrıca, bu parametrenin 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ğil ve ilgili tüm API'ler kaldırıldı. Ana sayfa düğmesine kısa süre önce basılmış olsa bile, kadranların PendingIntents özelliğinin etkinleşmesi için özel bir şey yapması gerekmez. (I1f2e8)
  • Oluşturma işlemi ekran görüntüsüyse doğru olacak RendererParameters.isForScreenShot ekledik. Animasyonlu bazı kadranların en iyi sonuçları almak üzere ayarlamalar yapmak için bunu bilmesi gerekir. (I96d99)
  • Sorunun ne olduğuyla ilgili bilgi sağlamak amacıyla WatchFaceException içine WatchFaceExceptionReason ekledik. (I01d15)
  • ComplicationDataSourceService.onImmediateComplicationRequest kaldırıldı. Bunun yerine, sağlayıcının hızlı bir şekilde yanıt vermesi gerektiğini (ideal olarak 100 ms.den kısa sürede yanıt vermesi) gerektiğini belirtmek için ComplicationRequest.immediateResponseRequired eklendi. Bu işlevin, ayrıcalıklı com.google.android.wearable.permission.USE_IMMEDIATE_COMPLICATION_UPDATE izninin arkasında korunduğunu unutmayın. (Ie6b23)
  • Çekirdek ve uygulamadaki boş değer, Tiramisu DP2 (I0cbb7) ile eşleşecek şekilde güncellendi

Hata Düzeltmeleri

  • Şimdi, şema doğrulaması başarısız olursa kadran uygulaması bir istisnayla kilitleniyor (Ia400f)

Sürüm 1.1.0-alpha03

9 Şubat 2022

androidx.wear.watchface:watchface-*:1.1.0-alpha03 yayınlandı. 1.1.0-alpha03 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Hiyerarşik stil şemaları için deneysel destek ekledik. androidx.wear.watchface.style.UserStyleSetting.Option bölümüne, başlangıçta yalnızca ListOption tarafından kullanılan altAyarlar adlı yeni bir mülk ekledik. Bu, düzenleyici kullanıcı arayüzleri tarafından kullanılmak üzere stiller hiyerarşisinin açıklanmasına olanak tanır. Temel UserStyle değişmemiş ve hâlâ Map<String, ByteArray> olarak kalacaktı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 isteğe bağlı yeni bir oluşturucu parametresi (clearWithBackgroundTintBeforeRenderingHighlightLayer) kullanıma sunduk (varsayılan değer false'tur), doğru değerine ayarlanırsa kanvas arka plan tonu rengiyle temizlenir. (Ie01e5)
  • Özellik 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 gözetimsiz bir örneğin olması yaygın bir durumdur. Hafızadan tasarruf etmek için kadran oluşturucunun örnekler arasında sabit veriler (ör. dokular ve gölgelendiriciler) paylaşmasına olanak tanıyan Renderer.SharedAssets özelliğini kullanıma sunduk. GlesRenderer.setEglConfig ve GlesRenderer.setEglDisplay desteği sonlandırıldı. Hiçbir zaman bunların ayarlanabilir olması amaçlanmamıştı. Dolayısıyla, bu yapılandırmaların tanımlanmamış davranışlara yol açması gerekir. (I0d9e7)
  • ComplicationSlot.Builder öğesine ve androidx.wear.watchface.client.ComplicationSlotState öğesindeki ilgili alıcılara setNameResourceId ve setScreenReaderNameResourceId (dize kaynaklarına referans veren) öğeleri ekledik. Bu, sistemin, düzenleyicilerde ve ekran okuyucularda kullanılmak üzere ComplicationSlot'ların adlarını getirmesine olanak tanır. (If6c6a)
  • WatchfaceMetadataClient.getUserStyleSchema ve getComplicationSlotMetadataMap artık RemoteException yerine WatchFaceException atıyor. (I86f11)
  • ComplicationDataSourceService içindeki onSynchronousComplicationRequest ve ilgili işlevler onImmediateComplicationRequest vb. 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üzenleyicilerinde farklı simgeleri desteklemek mantıklıdır. Bu yama, tüm UserStyleSettings'e ve uygun durumlarda Option sınıflarına OnWatchEditorData (şu anda yalnızca simge içerir) ekler. (If1886)
  • Java birlikte çalışabilirliği daha iyi hale getirmek için ListenableGlesRenderer'ın oluşturucusuna @JvmOverloads kodunu ekledik. (I2974a)

Hata Düzeltmeleri

  • ListenableGlesRenderer kurucusu artık doğru bir şekilde @Throws(GlesException::class) olarak işaretlendi ve bu sınıfın Java'da genişletilmesi mümkün. (Iac6d0)
  • PhotoImageComplicationData TapAction'ın doğru şekilde işlenmemesine neden olan hatayı düzeltir (I1cc30)

Sürüm 1.1.0-alpha02

12 Ocak 2022

androidx.wear.watchface:watchface-*:1.1.0-alpha02 yayınlandı. 1.1.0-alpha02 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • Hata ayıklama ve test işlemlerine yardımcı olmak için ComplicationData ve ilgili alt sınıflar artık hashcode, equals ve toString yöntemlerini geçersiz kılarak daha kolay çalışılmasını sağlar.

API Değişiklikleri

  • WatchfaceMetadataClient yöntemleri bir kez daha uygun olan durumlarda RemoteExceptions değerini atar ve istemci kodunun kadrandaki hataları yakalamasını kolaylaştırır. (I78785)
  • ComplicationData ve alt sınıflarda artık hashcode, eşittir ve toString. (I24bc6)

Sürüm 1.1.0-alpha01

15 Aralık 2021

androidx.wear.watchface:watchface-*:1.1.0-alpha01 yayınlandı. Sürüm 1.1.0-alpha01 bu kaydetmeleri içerir.

Yeni Özellikler

  • UserStyleSchema ve ComplicationSlots artık XML'de tanımlanabilir. Bu, kadranı oluşturmayı kolaylaştırır. Ayrıca WatchFaceMetadataClient sorguları, meta verileri almak için hizmete bağlanması gerekmediğinden daha hızlıdır. WatchFaceMetadataClient ve ListenableWatchFaceMetadataClient artık deneme aşamasında değil ve kararlı API'nin bir parçası olacak. Sistem, isteğe bağlı olarak her biri kullanıcı tarafından tanımlanan farklı stil seçeneklerine sahip birden fazla kadran örneğini destekleyebilir. Bunlar, kadran seçicide gösterilir. Bunu etkinleştirmek için kadranları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ı kadranların durumu UserStyle ile yakalanmamış bir durum. Bu özelliği ve birden fazla örneği desteklemek için kadranın örnek kimliğini artık WatchState.watchFaceInstanceId üzerinden kullanabilirsiniz.

  • ComplicationData, özelliklerin yüklendikten hemen sonra görüntülenmesini sağlamak için artık önbelleğe alınıyor. ComplicationData bazen sistem tarafından bellekte önbelleğe alınır, bazen de kadran kitaplıkları tarafından serileştirilir. Seri haline getirildiğinde ilişkili herhangi bir TapAction kaybolduğunda ComplicationData.tapActionLostDueToSerialization, true değerini döndürür ve kadran, dokunulamayacağını belirtmek için özelliği farklı şekilde (ör. devre dışı veya yarı şeffaf) oluşturur. Sistem en kısa sürede güncellenmiş ComplicationData öğesini tapAction ile gönderir.

  • Bazı ComplicationData, uzun süre önbelleğe alınmamalıdır. Bunu desteklemek için daha genel bir özellik (ComplicationDataTimeline) ekledik. Bu, önbelleğe alınıp otomatik olarak güncellenebilecek kadrana yayınlanacak zaman sınırlamalı bir ComplicationData dizisi sağlamak için kullanılabilir. Örneğin, çeşitli saatlerdeki bugünün hava durumu tahmini veya yaklaşan birden fazla takvim etkinliği. ComplicationRequestListener, bu verileri döndürmek için kullanabileceğiniz yeni onComplicationDataTimeline yöntemiyle genişletildi.

  • DefaultComplicationDataSourcePolicy uzatıldı. Böylece, birincil ve ikincil veri kaynakları için ComplicationType belirtebileceksiniz.

  • Eşzamanlı komplikasyon sağlayıcılar için, özelliğin normalden daha yüksek sıklıkta (kadran görünürken ve ambiyans dışındayken saniyede bir defaya kadar) güncellendiği eşzamanlı komplikasyon sağlayıcılar için destek ekledik. Not: Bellek baskısıyla ilgili sorunlar nedeniyle eşzamanlı özellik sağlayıcılarının kullanımı sınırlı olabilir.

  • Bunun yerine, temel sorunu çözdüğümüz için PendingIntentTapListener değişikliklerinin geri döndürülmesi bekleniyor. Bunun yerine, kadranın ana sayfa düğmesine basıldıktan sonra 5 saniye boyunca etkinlikleri başlatması mümkün değildir.

API Değişiklikleri

  • ComplicationData.isCached, tapActionLostDueToSerialization olarak değiştirildi. Bu özellik, komplikasyon alanının dokunulamayacağını belirtmek için farklı bir şekilde oluşturulması gerekip gerekmediğini belirlemede daha faydalıdır. (I6de2f)
  • ComplicationDataTimeline, wear-complication-data-source koleksiyonuna eklendi. Bu, önbelleğe alınıp otomatik olarak güncellenebilecek kadrana yayınlanacak zaman sınırlamalı bir ComplicationData dizisi sağlamak için kullanılabilir. Örneğin, çeşitli saatlerdeki bugünün hava durumu tahmini veya yaklaşan birden fazla takvim etkinliği. ComplicationRequestListener, bu verileri döndürmek için kullanabileceğiniz yeni onComplicationDataTimeline yöntemiyle genişletildi. Veri kaynağı hizmetlerini askıya almak için yeni bir kotlin sarmalayıcısı SuspendingTimelineComplicationDataSourceService kullanıma sunuldu. (Idecdc)
  • PendingIntentTapListener ve WatchFaceControlClient.getPendingIntentForTouchEvent eklendi. Bu, çerçevenin ana sayfa düğmesine basıldıktan sonra 5 saniye boyunca yeni etkinlik başlatmayı engellediği bir sorunu çözmek için dokunma hareketlerinden sonra intent başlatması gereken kadranlara yardımcı olabilir. (I98074)
  • Kadran başına ComplicationData önbelleği kullanıma sunuldu. Bunun amacı, yükleme sonrasında, sistem bunları güncelleme fırsatı bulana kadar kadranın bilinen son özellik verisi değerlerini göstermesine izin vermektir. OEM'ler için tasarlanan yeni bir API yöntemi (WatchFaceControlClient.hasComplicationCache) kullanıma sunuldu. Bu durum, sistemin kadrana özellik gönderme stratejisini etkileyebilir. Ayrıca, ComplicationData, isCached özelliğine sahiptir. tapAction önbelleğe alınamadığı ve önbelleğe alınan özellikte null olacağı için önbelleğe alınan özelliklerin farklı şekilde oluşturulması önerilir. (I404b0)
  • Kadranın örnek kimliği artık WatchState.watchFaceInstanceId üzerinden kullanılabilir. Çoğu kadran özelliğinin bu özelliği kullanması gerekmez ancak Şema'da depolanmayan, kadran başına bir durum söz konusuysa kadran örneğini tanımlamak için kullanacağınız anahtar budur. Destek ekibine yardımcı olmak için artık WatchFaceControlClient.createHeadlessWatchFaceClient numaralı telefonu ararken bir kimlik sağlayabilirsiniz. (I1ff98)
  • DefaultComplicationDataSourcePolicy, birincil ve ikincil sağlayıcı ve yedek sistem sağlayıcı için varsayılan ComplicationTypes ayarlama seçeneğiyle 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 amaçlar, özellik izinleri istemeden önce gerekçe iletişim kutusu göstermek için başlatılır. İzinler reddedildiğinde ise bir özelliği düzenlemeye çalışırken özellik izninin gerekli olduğunu açıklayan başka bir iletişim kutusu (sağlayıcı seçici açılamayacağı için iletişim kutusu gerekir). (I3a29c)
  • UserStyleSchema ve ComplicationSlots artık XML'de tanımlanabilir. Bu özellik, kadran oluşturma sürecini basitleştirir ve meta verileri almak için hizmete bağlanmaları gerekmediğinden WatchFaceMetadataClient sorgularını hızlandırır. (I85bfa)
  • Müşterilerin, kadranların getPendingIntentForTouchEvent destekleyip desteklemediğini anlayabilmesi için InteractiveWatchFaceClient.supportsPendingIntentForTouchEvent eklendi. (I0b917)
  • WatchFaceMetadataClient ve ListenableWatchFaceMetadataClient artık deneme aşamasında değil. Bunlar, mümkün olduğunda kadran için bir bağlayıcı açmadan kadran meta verilerini verimli bir şekilde elde etmek için kullanılabilir. (Ibb827)
  • Özelliğin normalden daha yüksek sıklıkta, kadran görünürken ve ambiyans dışındayken saniyede bir defaya kadar güncellendiği eşzamanlı özellik sağlayıcılar için destek eklendi. Sağlayıcının bunu kullanmak 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, özelliğin etkileşimli moda girip çıktığıyla ilgili bildirim almak için onStartSynchronousComplicationRequests ve onStopInteractiveComplicationRequests ayarlarının geçersiz kılınması da gerekebilir. (I8fe9d)

Sürüm 1.0

Sürüm 1.0.1

9 Şubat 2022

androidx.wear.watchface:watchface-*:1.0.1 yayınlandı. Sürüm 1.0.1 bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • PhotoImageComplicationData TapAction'ın doğru şekilde işlenmemesine neden olan hatayı düzeltir (I1cc30)

Sürüm 1.0.0

1 Aralık 2021

androidx.wear.watchface:watchface-*:1.0.0 yayınlandı. 1.0.0 sürümü bu kaydetmeleri içerir.

1.0.0'ın Temel Özellikleri

androidx.wear.watchface paketi, WearOS kadranları geliştirmek için önerilen yeni kitaplıktır. Eski Giyilebilir Cihaz Destek Kitaplığı'na kıyasla çok sayıda yeni özellik içeriyor.

  • Kullanıcı stil (ör. renk paletini, saat ellerinin stilini, saat işaretlerinin görünümünü vb. değiştirmek için) doğrudan kitaplık tarafından desteklenir (bkz. androidx.wear.watchface.style). Artık androidx.wear.watchface.editor kullanarak bir kadran düzenleyici geliştirmek çok daha kolay. Ayrıca kadranınız, herhangi bir kod yazmanıza gerek kalmadan sistem tamamlayıcı uygulamasından düzenlenebilir.
  • En iyi uygulamalar eklendi. Kitaplık, özellikler için otomatik olarak ekran okuyucu içerik etiketleri oluşturdu (kendilerini de ekleyebilirsiniz) ve kare hızı, pil seviyesi düştüğünde ve pil ömrünü uzatmak için şarj edilmediğinde otomatik olarak düşüyor.
  • Kadran geliştirmek için daha az kod gerekir. Bu, özellikle de büyük miktarda ortak metinin kitaplığa taşındığı özelliklerde geçerlidir.

Hata Düzeltmeleri

  • EditorSession.userStyle.compareAndSet ile ilgili sorunları düzeltin (I6f676)
  • Çok kısa kadran gecikmelerini düzeltme (Iffb97)
  • UI iş parçacığında InteractiveWatchFaceImpl.onDestroy gönder (I83340)
  • Yayın alıcılarla ilgili bazı sorunları düzeltme (I7d25f)

Sürüm 1.0.0-rc01

3 Kasım 2021

androidx.wear.watchface:watchface-*:1.0.0-rc01 yayınlandı. Sürüm 1.0.0-rc01 bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • Akış taşıma işlemlerinde bozulan dump() (adb shell dumpsys tarafından çağrılır) sorununu düzeltin. (087cf9e)

  • WriteDirectBootPrefs öğelerinin doğru sıralandığından emin olun. WriteDirectBootPref'lerin her zaman initStyleAndComplications sonrasında çalışmasını isteriz. Aksi takdirde, kullanıcı arayüzü iş parçacığının init.(37650ac) başlatılması gecikir.

  • Renderer.onDestroy'un çağrıldığından emin olun. Oluşturucu'nun oluşturulduğu ancak WF başlatmanın tamamlanmadığı ve Engine.onDestroy'un çağrıldığı senaryoda, Renderer.onDestroy'u çağırmamız gerekir. (f9952dc)

  • isBatteryLowAndNot Charge için optimizasyon/düzeltme. Bu yama, isBatteryLowAndNotChering'in ilk kurulumunu daha erkene taşıyarak createWatchFace ile paralel olarak yapılabilir. Ayrıca artık ACTION_POWER_DISCONNECTED dinliyoruz. (ddffd80)

  • InteractiveWatchFaceClientImpl.isConnectionAlive kapatıldıktan sonra yanlış olacak (ab9774e)

Sürüm 1.0.0-beta01

27 Ekim 2021

androidx.wear.watchface:watchface-*:1.0.0-beta01 yayınlandı. Sürüm 1.0.0-beta01 bu kaydetmeleri içerir.

Sürüm 1.0.0-alpha24

13 Ekim 2021

androidx.wear.watchface:watchface-*:1.0.0-alpha24 yayınlandı. 1.0.0-alpha24 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • androidx.wear.watchface.complications paketindeki sınıflar yeni bir wear:watchface:watchface-complications projesine taşındı. Yinelenen sınıflarla ilgili hatalar alacağınız için bu kitaplığı ve wear:watchface:watchface-complications-data uygulamasının önceki alfa sürümlerini dahil edemeyeceğinizi unutmayın. (I97195)
  • Renderer.dump, Renderer.onDump olarak yeniden adlandırıldı ve @UiThread ile ek açıklama eklendi. (I44845)
  • InteractiveWatchFaceClient.addWatchFaceReadyListener, addOnWatchFaceReadyListener olarak, removeWatchFaceReadyListener ise removeOnWatchFaceReadyListener olarak yeniden adlandırıldı. (I48fea)
  • EditorSession getComplicationsPreviewData ve getComplicationsDataSourceInfo artık askıya alma işlevleri değil. Bunlar, değeri başlangıçta null olan StateFlow<> mülküdür. ListenableEditorSession'da getListenableComplicationPreviewData ve getListenableComplicationsProviderInfo, temel sınıftaki yeni StateFlow<> nesnelerinin lehine kaldırıldı. Java kodundaki değişiklikleri dinlemeniz gerekiyorsa LiveData<> biçimine dönüştürmek için androidx.lifecycle.FlowLiveDataConversions.asLiveData kullanmayı düşünün. (Ic5483)

Sürüm 1.0.0-alpha23

29 Eylül 2021

androidx.wear.watchface:watchface-*:1.0.0-alpha23 yayınlandı. 1.0.0-alpha23 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

Kadran kitaplığı artık tek bir kitaplık grubudur. Bunun sonucunda kitaplıklar taşınmıştır ve gradle içe aktarma işlemlerinizi aşağıdaki gibi 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 özellik kitaplıklarını androidx.wear.watchface kitaplık grubuna taşıyın. (b25f3c0)
  • Kadran düzenleyicisinin gözetimsiz düzenlemeyi destekleyip desteklemediğini müşteriye bildirmek için EditorRequest.canWatchFaceSupportHeadlessEditing özelliği eklendi. Destek asop/1756809'da eklendiğinden, bu ile ilgili bazı yanlış negatif sonuçlar olabileceğini unutmayın, ancak gelecekteki tüm kadranlarda doğru değeri döndürecektir. (ca55590)
  • Oluşturucu artık, ABD shell dumpsys etkinlik hizmeti WatchFaceService tarafından oluşturulan bilgilere özel veri eklemek için geçersiz kılınabilecek bir dump() yöntemine sahiptir. (95235f9)
  • InteractiveWatchFaceClient.addWatchFaceReadyListener, artık önce yürütücüyü belirtiyor. (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

  • InteractiveInstanceManager.deleteInstance to call onDestroy çağrısı