Zifferblatt tragen
Letzte Aktualisierung | Stabile Version | Releasekandidat | Beta-Ausgabe | Alpharelease |
---|---|---|---|---|
17. April 2024 | 1.2.1 | − | − | 1.3.0-alpha03 |
Abhängigkeiten deklarieren
Zum Hinzufügen einer Abhängigkeit von Wear musst du deinem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.
Fügen Sie der Datei build.gradle
für Ihre Anwendung oder Ihr Modul die Abhängigkeiten für die benötigten Artefakte hinzu:
Groovig
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" }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Dein Feedback hilft uns, Jetpack zu verbessern. Lassen Sie uns wissen, wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie eine neue erstellen. Durch Klicken auf die Stern-Schaltfläche können Sie zu einem vorhandenen Problem abstimmen.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Version 1.3
Version 1.3.0-alpha03
17. April 2024
androidx.wear.watchface:watchface-*:1.3.0-alpha03
wird freigegeben. Version 1.3.0-alpha03 enthält diese Commits.
API-Änderungen
- Wir haben
EditorSession#setOverrideComplications
hinzugefügt, das bei der Bearbeitung vorübergehend dieComplicationData
der zugrunde liegenden Zifferblattinstanz festlegt. Wenn sich Zusatzfunktionen nur selten ändern, ist dies effizienter, als Überschreibungen überEditorSession#renderWatchFaceToBitmap
zu übergeben. (I19384)
Fehlerkorrekturen
- Bisher hat
selectComplicationDataForInstant
für alle ZeitachsentoApiComplicationData
aufgerufen, was bedeutet, dass der nachfolgende === Referenz-Gleichheitstest immer fehlschlagen konnte. Das bedeutete, dass Zusatzfunktionen für jeden Frame neu geladen werden mussten, was zu einer schnellen Akkuentladung führt. (717406)
Version 1.3.0-alpha02
3. April 2024
androidx.wear.watchface:watchface-*:1.3.0-alpha02
wird freigegeben. Version 1.3.0-alpha02 enthält diese Commits.
Neue Funktionen
- Wir verwenden jetzt die Referenzgleichheit, um den besten Wert und
selectedData
zu vergleichen, da der Gleichheitsoperator teuer ist. (446b00)
API-Änderungen
- Wir haben eine dynamische API ohne Fallback für
GoalProgressComplicationData
hinzugefügt. (c33264)
Version 1.3.0-alpha01
7. Februar 2024
androidx.wear.watchface:watchface-*:1.3.0-alpha01
wird freigegeben. Version 1.3.0-alpha01 enthält diese Commits.
Neue Funktionen
WatchFaceServices
kann gleichzeitig initialisiert werden und sollte daher zustandslos sein. Um dies zu unterstützen, haben wirStatefulWatchFaceService
hinzugefügt. Dabei wird ein voncreateExtra()
erstelltes benutzerdefiniertes Extras an alle Überschreibungen übergeben, die während der Initialisierung aufgerufen werden.GlesRenderer2
hat jetzt eine Konstruktorüberlastung, mit der Sie miteglChooseConfig
eine Liste von Attributen angeben können, die getestet werden sollen.
API-Änderungen
StatefulWatchFaceService
unterstützt jetzt eine Überschreibung vongetComplicationSlotInflationFactory
, in die das voncreateExtra()
erstellte benutzerdefinierte Extra übergeben wird. (I82d9f)- Einige Zifferblätter müssen bei der
createUserStyleSchema
erstellte Hilfsdaten mit den anderen Initialisierungsmethoden teilen. Da es keine bessere Alternative gibt, haben EntwicklerWatchFaceServices
in der Regel zustandsorientiert gemacht. Dies ist gefährlich, da mehrere Instanzen gleichzeitig erstellt werden können, was zu Fehlern führen kann. Um dieses Problem zu lösen, haben wirStatefulWatchFaceService
undStatefulWatchFaceRuntimeService
eingeführt. Dabei wird ein benutzerdefinierter Typ voncreateExtra()
erstellt und als Parameter an die verschiedenen Erstellungsmethoden übergeben. (If8a99) - Wir haben „
getUserStyleFlavors
“ zu „InteractiveWatchFaceClient
“ hinzugefügt, das hauptsächlich für OEMs interessant ist. (I0f5d8) GlesRenderer2
hat jetzt eine Konstruktorüberlastung, mit der Sie miteglChooseConfig
eine Liste von Attributen angeben können, die getestet werden sollen. So können Sie beispielsweise zuerst eine Konfiguration mit Antialiasing ausprobieren und bei Bedarf auf eine Konfiguration zurückgreifen. (I1ba74)- Ab Android U wird Wear OS nun auch
SystemDataSources.DATA_SOURCE_HEART_RATE
unterstützt. Diese Zusatzfunktion unterstützt garantiert nurSHORT_TEXT
-Zusatzfunktionen. Es wird aber empfohlen, dass dieComplicationSlot
auchSMALL_IMAGE
akzeptiert, da OEMs möglicherweise eine Verknüpfung zu ihrer Gesundheits-App anstelle des Live-Werts bereitstellen. (I34223) - Wir haben
METADATA_KEY_CONFIG_RESTORE_SUPPORTED
hinzugefügt. Ab Android U wird damit gesteuert, was passiert, wenn das System aus einer Sicherung für die Datenquelle für Zusatzfunktionen mitMETADATA_KEY_DATA_SOURCE_CONFIG_ACTION
wiederhergestellt wird. Standardmäßig geht das System davon aus, dass der Datenquellendienst für die Zusatzfunktionen die Sicherung aller Konfigurationsdaten unterstützt. Falls nicht, kann die Metadateneinstellung „METADATA_KEY_DATA_SOURCE_CONFIG_ACTION
“ auf „false“ gesetzt werden. Dadurch wird der Zusatzinformationsslot als nicht konfiguriert markiert. (I6c505)
Version 1.2
Version 1.2.1
24. Januar 2024
androidx.wear.watchface:watchface-*:1.2.1
wird freigegeben. Version 1.2.1 enthält diese Commits.
Fehlerkorrekturen
- Absturz auf der Samsung Galaxy Watch 4, 5 und 6 wurde behoben. 43f0b0.
Version 1.2.0
29. November 2023
androidx.wear.watchface:watchface-*:1.2.0
wird freigegeben. Version 1.2.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.1.0
- Ab Android T werden jetzt einige neue Typen von Zusatzfunktionen unterstützt:
GoalProgressComplicationData
entsprichtRangedValueComplicationData
, mit der Ausnahme, dass es sich um einen Fortschritt in Richtung eines Ziels handelt, bei dem min implizit null ist. Der Wert darf außerdem größer alstargetValue
sein.WeightedElementsComplicationData
, das aus einem Array von Elementen (Paaren aus Gewicht und Farbe) sowie optionalem Text, Titel und Bild besteht. Diese können als Tortendiagramm angezeigt werden, bei dem die Farben in Anbetracht des Kontextes aussagekräftig sein müssen, da in der Regel bei einer Zusatzfunktion kein Platz zum Rendern von Beschriftungen vorhanden ist.
- Optionale
ColorRanges
werden jetzt inRangedValueComplicationData
unterstützt. Üblicherweise werden Zusatzfunktionen in den vom Zifferblatt ausgewählten Farben gerendert. Manchmal ist dasComplicationDataSource
jedoch am besten geeignet, um die Farben festzulegen, z. B. wenn sie eine bestimmte semantische Bedeutung haben. Beispiel: Rot zu Blau für die Temperatur. - Fast alle
ComplicationData
-Typen unterstützen jetztSmallImages
. - Wir haben
ComplicationDisplayPolicy
hinzugefügt, bei demDO_NOT_SHOW_WHEN_DEVICE_LOCKED
ein kompatibles Zifferblatt anweist, die Zusatzfunktion nicht anzuzeigen, wenn das Gerät gesperrt ist. - Ab Android T können OEMs feststellen, ob eine Anfrage für Zusatzfunktionen von einem Zifferblatt aus der Liste stammt, die durch die
android.support.wearable.complications.SAFE_WATCH_FACES
-Metadaten im Manifest ihres Anbieters durchComplicationRequest#isForSafeWatchFace
definiert wird. Der Anbieter benötigt die Berechtigungcom.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE
, um andere Daten als „TargetWatchFaceSafety.UNKNOWN“ zu erhalten. UserStyleFlavors
ist keine experimentelle Funktion.
Version 1.2.0-rc01
18. Oktober 2023
androidx.wear.watchface:watchface-*:1.2.0-rc01
wird freigegeben. Version 1.2.0-rc01 enthält diese Commits.
Version 1.2.0-beta02
6. September 2023
androidx.wear.watchface:watchface-*:1.2.0-beta02
wird freigegeben. Version 1.2.0-beta02 enthält diese Commits.
Neue Funktionen
SuspendingComplicationDataSourceService#onDestroy
ist jetzt geöffnet. Bitte beachte, dass die Unterstützung für die standardmäßige Wetterkomplikation eines Systems entfernt wurde.
API-Änderungen
- Änderungen an „Neue Datenquelle mit Zusatzinformationen für Wetterdaten freigeben“ rückgängig machen. (I6f335)
Version 1.2.0-beta01
23. August 2023
androidx.wear.watchface:watchface-*:1.2.0-beta01
wird freigegeben. Version 1.2.0-beta01 enthält diese Commits.
Neue Funktionen
- Ab Android T unterstützt Wear OS jetzt eine standardmäßige Zusatzfunktion für das Wettersystem.
API-Änderungen
- Standard-Wettersystem-Fallback für Zusatzfunktionen hinzufügen. (Ia0994)
- Mit diesem Patch werden
WatchFaceRuntimeService
undWatchFaceControlClient.createWatchFaceRuntimeControlClient
sowie Guava-Wrapper hinzugefügt. Diese unterstützen Zifferblattlaufzeiten, eine spezielle Art von Zifferblatt, das seine Definition aus einem anderen Paket lädt. Derzeit unterstützt WearOS nur die Laufzeit für das Android-Zifferblattformat. I2799f - Dieser Patch ist eine Folge von aosp/2636578, bei dem wir die int-Defs umbenennen, sodass Code, der von
WatchFaceType
,CanvasType
,TapType
oderComplicationsSlotBoundsType
abhängig ist, nicht geändert werden muss. (I4098b) - Die API-Dateien wurden aktualisiert, um die Kompatibilitätsunterdrückung zu erklären. (I8e87a, b/287516207)
- Dieser Patch stellt
WatchFaceType
-Konstanten inWatchFaceTypes
,CanvasType
-Konstanten inCanvasTypes
,TapType
-Konstanten inTapTypes
undComplicationsSlotBoundsType
-Konstanten inComplicationsSlotBoundsType
zur Verfügung. (I3b85a, b/288750666) WatchFace.OverlayStyle
wird sehr selten genutzt und wird von OEMs nicht gut unterstützt. Wir stellen die Funktion deshalb ein, mit der Absicht, sie später zu entfernen. (I7344a)
Version 1.2.0-alpha09
21. Juni 2023
androidx.wear.watchface:watchface-*:1.2.0-alpha09
wird freigegeben. Version 1.2.0-alpha09 enthält diese Commits.
Neue Funktionen
RangedValueComplicationData.Builder
akzeptiert jetztDynamicFloat
und eine neueDynamicComplicationText
ist als abgeleitete Klasse vonComplicationText
verfügbar. Beide können dynamische Ausdrücke sowie Plattformbindungen verwenden, die auf unterstützten Wear 4-Geräten in 1 Hz aktualisiert werden.
API-Änderungen
- Dynamische Typen für tägliche Strecke, tägliche Kalorien und Etagen wurden hinzugefügt. Schlüssel für Quellen zur Plattformintegrität befinden sich jetzt unter
PlatformHealthSources.Keys
(Ib7637) - Implementiere
PlatformDataProvider
, um die Herzfrequenz und tägliche Schritte anzugeben. DieSensorGateway
-Schnittstelle wurde aus der öffentlichen API entfernt. (I55b84) - Benennen Sie
StateEntryValue
inDynamicDataValue
um und aktualisieren Sie die Status-APIs so, dassDynamicDataKey
verwendet wird. (If1c01) - Füge
AppDataKey
für den Zugriff auf die App-Übertragung hinzu,PlatformDataKey
für den Zugriff auf Plattformdaten und die Namespace-Unterstützung inStateStore
. (I7985e) enable
/disablePlatformSource
Methoden wurden ausDynamicTypeEvaluator
entfernt. Der Aufrufer sollte für Updates verantwortlich sein. (I78c6d)- Begrenzung der Größe gebundener Datentypen zulassen. (Ie2966)
Version 1.2.0-alpha08
19. April 2023
androidx.wear.watchface:watchface-*:1.2.0-alpha08
wird freigegeben. Version 1.2.0-alpha08 enthält diese Commits.
Neue Funktionen
- Ab Android T können Anbieter von Zusatzfunktionen mit der privilegierten „
com.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE
“androidx.wear.watchface.complications.datasource.SAFE_WATCH_FACE_SUPPORTED_TYPES
-Metadaten registrieren, dieandroid.support.wearable.complications.SUPPORTED_TYPES
für sichere Zifferblätter überschreiben. Das bedeutet, dass ein Anbieter von Zusatzfunktionen vertrauenswürdigen und nicht vertrauenswürdigen Zifferblättern unterschiedliche Typen zur Verfügung stellen kann.
API-Änderungen
- Weitergabe der Klasse
@Deprecated
an Property (I882d1, b/271441831) - Name des Wertparameters für
Enum.valueOf
geändert (Ia9b89) - Mehr ausgelöste Ausnahmen von „valueOf“ (I818fe)
- Wir haben
renderWatchFaceToSurface
zugunsten voncreateRemoteWatchFaceView
entfernt. Dieses baut auf SurfaceControlViewHost auf und ermöglicht es dem Aufrufer, eine Ansicht vom Zifferblatt einzubetten, die gerendert wird, wenn der KundeRemoteWatchFaceViewHost#renderWatchFace
aufruft. (Ib311d) renderWatchFaceToSurface
wurde zuInteractiveWatchFaceClient
,HeadlessWatchFaceClient
undEditorSession
hinzugefügt. In der Regel ist dies leistungsfähiger als das Rendern in einer Bitmap. (Ieacad)ObservableStateStore
wurde inStateStore
umbenannt. (Ieb0e2)- Anstelle von Konstruktorargumenten wurde
DynamicTypeEvaluator.Builder
hinzugefügt, um weitere optionale Argumente zuzulassen, einschließlichObservableStateStore
, das jetzt standardmäßig einen leeren Speicher angibt. (I6f832) - Reihenfolge der Parameter in
DynamicTypeEvaluator
überarbeitet. (Ic1ba4) - Executor wurde den
DynamicTypeEvaluator.bind
-Methoden hinzugefügt. (I346ab) - Dem
BoundDynamicType
wurde die MethodestartEvaluation
hinzugefügt, um die Bewertung auszulösen, nachdem der dynamische Typ gebunden wurde. (I19908) - Anbieter von Zusatzfunktionen mit der privilegierten
com.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE
könnenandroidx.wear.watchface.complications.datasource.SAFE_WATCH_FACE_SUPPORTED_TYPES
-Metadaten registrieren, dieandroid.support.wearable.complications.SUPPORTED_TYPES
für sichere Zifferblätter überschreiben. (Id1c73) CustomValueUserStyleSettings2
wurde inLargeCustomValueUserStyleSettings
umbenannt. (Ic17ac)
Fehlerkorrekturen
DynamicTypeValueReceiver#onPreUpdate
wurde entfernt. (I2dc35)
Version 1.2.0-alpha07
22. Februar 2023
androidx.wear.watchface:watchface-*:1.2.0-alpha07
wird freigegeben. Version 1.2.0-alpha07 enthält diese Commits.
Neue Funktionen
Ab Android T können OEMs feststellen, ob eine Anfrage für Zusatzfunktionen von einem Zifferblatt aus der Liste stammt, die durch die
android.support.wearable.complications.SAFE_WATCH_FACES
-Metadaten im Manifest ihres Anbieters durchComplicationRequest#isForSafeWatchFace
definiert wird. Der Anbieter benötigt die Berechtigungcom.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE
, um andere Daten alsTargetWatchFaceSafety.UNKNOWN
zu erhalten.Ab Android T ist
CustomValueUserStyleSetting2
für bis zu 12,5 KB verfügbar. Das vorherige Limit fürCustomValueUserStyleSetting
betrug 1 KB. Trotz der erhöhten Größenbeschränkungen sollten Entwickler von Zifferblatt-Entwicklern die Daten klein halten, da die Einstellungen während der Bearbeitung über Bluetooth gesendet werden und die Bluetooth-Bandbreite begrenzt ist.
API-Änderungen
- Wir haben
GlesRenderer
undGlesRenderer2
den optionalen ParametereglContextAttribList
hinzugefügt, mit dem Sie die anEGL14.eglCreateContext
übergebenenEGL14.EGL_CONTEXT_CLIENT_VERSION
festlegen können. (I2a83e) - Wir haben die Zifferblatt-Bibliotheken zu
androidx.core.util.Consumer
und nicht zujava.util.function.Consumer
migriert. (I273f5) - Weitere ausgelöste Ausnahmen von Zugriffsfunktionen für KT-Properties (Iff9d9)
- Wir haben
InteractiveWatchFaceClient.isComplicationDisplayPolicySupported
hinzugefügt, damit der Client feststellen kann, ob er Unterstützung für alte Zifferblätter emulieren muss. (I24c89) - Wir haben entschieden, dass
isForSafeWatchFace
eineIntDef
mit drei Bundesstaaten sein soll. (Ief2f7) - Für Android T haben wir
ComplicationRequest.isForSafeWatchFace
eingeführt, das für die Verwendung durch OEMs vorgesehen ist undcom.google.wear.permission.GET_IS_FOR_SAFE_WATCH_FACE
erfordert. Für Datenquellen im Systembild wird hier „true“ zurückgegeben, wenn sich das anfragende Zifferblatt in der Liste sicherer Zifferblätter befindet, die von der Datenquelle in ihrem Manifest angegeben werden. (I0cbb6) - Für Android T gibt es jetzt
CustomValueUserStyleSetting2
mit einer Speichergröße von bis zu 12,5 KB. Das vorherige Limit fürCustomValueUserStyleSetting
betrug 1 KB. (I0b100)
Version 1.2.0-alpha06
25. Januar 2023
androidx.wear.watchface:watchface-*:1.2.0-alpha06
wird freigegeben. Version 1.2.0-alpha06 enthält diese Commits.
Neue Funktionen
- Wir arbeiten daran, Unterstützung für Plattformbindungen für Zusatzfunktionen hinzuzufügen. Diese ist noch nicht einsatzbereit. Wir halten Sie aber auf dem Laufenden.
- XML
ComplicationSlot
-Unterstützung für die neuen Zusatzfunktionen GOAL_PROGRESS und WEIGHTED_ELEMENTS wurde hinzugefügt.
Fehlerkorrekturen
- Ein Leck wurde behoben, bei dem der Zifferblatt-Editor auf Samsung-Geräten nicht korrekt veröffentlicht wurde. (3b5987)
- Es wurde ein Fehler behoben, bei dem Zusatzfunktionen beim Wechsel zwischen einem Zifferblatt mit mehreren Favoriten manchmal nicht richtig angezeigt wurden. (b38ece)
- Es wurde ein Serialisierungsfehler mit „perOptionScreenReaderNames“ behoben, der zu Abstürzen bei Zifferblatt führte. e9f466:
Version 1.2.0-alpha05
7. Dezember 2022
androidx.wear.watchface:watchface-*:1.2.0-alpha05
wird freigegeben. Version 1.2.0-alpha05 enthält diese Commits.
Neue Funktionen
Vor einiger Zeit haben wir die hierarchischen
UserStyleSettings
unterstützt. Ab Android T ist es jetzt möglich, mehr als einComplicationSlotsUserStyleSetting
in einer Hierarchie zu verwenden. Basierend auf der Stilauswahl des Nutzers ist nur eineComplicationSlotsUserStyleSetting
aktiv.Wir verbessern die Screenreader-Unterstützung für
ListOption
undComplicationSlotsOption
, indem wir das FeldscreenReaderName
hinzufügen. Vor Android T wird dieses Feld von Companion-Editoren ignoriert.
API-Änderungen
- Wir haben
ListOption
undComplicationSlotsOption
ein neues optionales Feld „screenReaderName
“ zur Verwendung durch Editoren hinzugefügt. Es wird von Companion-Editoren auf Geräten vor Android T ignoriert. (I75326) - Ab Android T werden jetzt mehrere
ComplicationSlotsUserStyleSettings
in einer Stilhierarchie unterstützt, solange nur eine von ihnen gleichzeitig aktiv sein kann. Wir habenUserStyleSchema
eine Dienstprogrammfunktion (findComplicationSlotsOptionForUserStyle
) hinzugefügt, mit der sich die aktiveComplicationSlotsOption
finden lässt, falls vorhanden. (Ic2b06) RangedValuesTypes
wurden in das Companion-Objekt vonRangedValueComplicationData
abgerufen und inTYPE_UNDEFINED
,TYPE_RATING
umbenannt. Es wurde eine neueTYPE_PERCENTAGE
hinzugefügt. (I55d02)- Wir haben den experimentellen Parameter
DynamicFloat
inFloatExpression
umbenannt und ihn als@hide
gekennzeichnet. (Idf4f1) - Anmerkung
@JvmDefaultWithCompatibility
hinzufügen (I8f206)
Version 1.2.0-alpha04
9. November 2022
androidx.wear.watchface:watchface-*:1.2.0-alpha04
wird freigegeben. Version 1.2.0-alpha04 enthält diese Commits.
Neue Funktionen
- Für Android T unterstützen wir zwei neue Zusatzfunktionen:
GoalProgressComplicationData
undWeightedElementsComplicationData
. - „
GoalProgressComplicationData
“ ist ähnlich wie „RangedValueComplicationData
“, sein Wert darf jedoch über das Ziel hinausgehen (beiRangedValueComplicationData
wird der Wert auf den Bereich [min .. max] begrenzt), was Auswirkungen auf das visuelle Design hat, das möglicherweise nicht für alle Zifferblätter geeignet ist. GoalProgressComplicationData
unterstützt Kreisdiagramme und ähnliche Aufschlüsselungen einfacher Daten.ColorRamps
wurde inRangedValueComplicationData
optional unterstützt.- Für Android T haben wir
ComplicationPersistencePolicy
undsetCachePolicy
zuComplicationData
hinzugefügt. Damit können Anbieter derzeit festlegen, ob eine Zusatzfunktion beibehalten wird oder nicht, z. B. ob sie nach einem Neustart im Cache gespeichert wird. Bei den meisten Komplikationen ist keine Cache-Steuerung erforderlich. In seltenen Fällen mit veralteten Daten, die häufig aktualisiert werden (z. B. bei Gesundheitsdaten), lassen sich damit aber nicht so viele Probleme beheben. Außerdem haben wirComplicationDisplayPolicy
hinzugefügt, bei demDO_NOT_SHOW_WHEN_DEVICE_LOCKED
ein kompatibles Zifferblatt anweist, die Zusatzfunktion nicht anzuzeigen, wenn das Gerät gesperrt ist. (Ic9574)
API-Änderungen
GoalProgressComplicationData
,WeightedElementsComplicationData
undColorRamp
sind keine experimentellen Funktionen mehr. (Ica9e2)ComplicationPersistencePolicy
undComplicationDisplayPolicy
sind jetzt korrekt als T APIs gekennzeichnet. (I31d88)- Der verworfene Konstruktor
ComplicationSlotOverlay
verfügt jetzt überDeprecationLevel.WARNING
, sodass er noch einmal aus Java aufgerufen werden kann. (Ib308c) - Wir haben einige Probleme mit der Java-Kompatibilität mit
ComplicationRequestListener
,CanvasComplication
,ComplicationTapFilter
undInteractiveWatchFaceClient
behoben, indem wir sie mit@JvmDefaultWithCompatibility
(Id94fc) annotiert haben. - Die experimentellen
ProtoLayoutComplicationData
undListComplicationData
wurden entfernt. Die Geschichte der Entwicklerinnen und Entwickler war unklar. Wir werden sie in Zukunft noch einmal aufgreifen. (I9df05) - Wir haben
ValueType
wieder zuRangedValueComplicationData
hinzugefügt.WeightedElementsComplicationData
unterstützt jetzt eine Hintergrundfarbe.DiscreteRangedValueComplicationData
wurde entfernt, da seine Funktionalität Teil vonWeightedElementsComplicationData
ist. (I6446c)
Fehlerkorrekturen
- Fügen Sie
isForScreenShot
in den Gleichheits- und Hash-Code ein. Achten Sie darauf, dassonRenderParametersChanged
einen korrektenisForScreenshot
-Wert erhält (I04a41) - Datenlecks von
WatchFaceControlService
bei monitorlosen Clients wurden behoben. (e90e00)
Version 1.2.0-alpha03
5. Oktober 2022
androidx.wear.watchface:watchface-*:1.2.0-alpha03
wird freigegeben. Version 1.2.0-alpha03 enthält diese Commits.
Neue Funktionen
- Keine neuen Funktionen, aber wir haben einige Fehler im Zifferblatt-Editor behoben.
API-Änderungen
UserStyleSchema.userStyleSettings
wurde eingestellt, darootUserStyleSettings
nicht mehr experimentell ist (Ie96e3)rootUserStyleSettings
aus der experimentellen Phase entfernen (I8d6b3)WatchFaceColors
wurde als experimentell gekennzeichnet, da es nicht von allen Systemen unterstützt wird (I6d75d).- Geben Sie
DisconnectReasons
in der öffentlichen API frei, damit es mitIntDef
funktioniert. (I791f8)
Fehlerkorrekturen
- Falls
SysUI
abgebrochen wird, schließe alle geöffneten Editoren im Uhreneditor. WennSysUI
abgebrochen und der Editor für das Zifferblatt nicht geschlossen wird, kann das Zifferblatt inkonsistent sein, da das SystemSysUI
benötigt, um Änderungen am Nutzerstil beizubehalten.(ba762a - Ein Speicherleck in
ComplicationDataSourceInfoRetriever
wurde behoben, bei dem eine Kohorten-Koroutinen-Fortsetzung als GG-Stamm fungieren und die Editor-Aktivität beibehalten wurden.(33ee06)
Version 1.2.0-alpha02
21. September 2022
androidx.wear.watchface:watchface-*:1.2.0-alpha02
wird freigegeben. Version 1.2.0-alpha02 enthält diese Commits.
Neue Funktionen
Einige Zifferblätter haben eine Konfiguration außerhalb von
UserStyle
, die visuelle Auswirkungen hat (z.B. durch die Auswahl eines Hintergrundbilds). Wir habenRenderer.sendPreviewImageNeedsUpdateRequest
hinzugefügt, mit dem das Zifferblatt ein aktualisiertes Vorschaubild anfordern kann. Hinweis: Hierfür ist ein entsprechendes Systemupdate erforderlich.Außerdem haben wir eine API für Zifferblätter hinzugefügt, um deren Farben dem System anzuzeigen, das dann möglicherweise seine Farbpalette basierend auf dieser Auswahl auswählt. Hinweis: Dies wurde in einem Nachfolge-Patch in der Testphase.
Fast alle
ComplicationData
-Typen unterstützen jetztSmallImages
.
API-Änderungen
- Der Hintergrundmanager kann sich manchmal von einer Suchmaschine trennen und eine neue erstellen. Wir haben ein
DisconnectReason
-int-def und eine erweiterteClientDisconnectListener
mit einer neuen Methode hinzugefügt, die eineDisconnectReason
enthält, mit der der Listener die Trennung von Engines beobachten kann. (I45cce) - Dem Konstruktor
ComplicationSlotOverlay
(I157e8) wurden die beiden optionalen ParameternameResourceId
undscreenReaderResourceId
hinzugefügt. - Wir haben einen Guava-Wrapper für die neue Überlastung von
getOrCreateInteractiveWatchFaceClient
mitPreviewImageUpdateRequestedListener
hinzugefügt. (Ic31f0) - Wir haben
Renderer.sendPreviewImageNeedsUpdateRequest
hinzugefügt, das nützlich für Zifferblätter ist, deren Zustand außerhalb derUserStyleSchema
liegt, was sich auf ihr Aussehen auswirkt (z.B. ein Zifferblatt mit einem auswählbaren Hintergrundbild). Clientseitig haben wirPreviewImageUpdateRequestedListener
als optionalen Parameter fürgetOrCreateInteractiveWatchFaceClient
hinzugefügt, um solche Anfragen zu erfassen. (Iff44a) - Wir haben die API zum Freigeben von
WatchFaceColors
vereinfacht. Jetzt gibt es im Renderer eine einfache Eigenschaft namenswatchFaceColors
, die vom Zifferblatt festgelegt werden kann. Diese sollte bei Bedarf bei Bedarf aktualisiert werden, um eventuelle Stiländerungen zu berücksichtigen. AnstattWallpaperManager
zur Beobachtung von Farbänderungen zu verwenden, haben wirOnWatchFaceColorsListener
zuInteractiveWatchFaceClient
hinzugefügt. (I490bc) - Wir haben eine
WatchFaceColors
-Klasse hinzugefügt, die die drei auffälligsten Farben für das Zifferblatt enthält. Außerdem haben wir dem Renderer die offenen MethodenwatchfaceColors
undnotifyWatchFaceColorsChanged
hinzugefügt, mit denen das System die Farben des Zifferblatts überWallpaperManager.getWallpaperColors
abrufen kann. (I3d611) ShortTextComplicationData
,RangedValueComplicationData
,NoPermissionComplicationData
(und die experimentellen FunktionenDiscreteRangedValueComplicationData
,GoalProgressComplicationData
undWeightedElementsComplicationData
) unterstützen jetzt alleSmallImages
. Wenn auf einem Zifferblatt eine Zusatzfunktion mit mehreren Farben gerendert wird, kann jetzt ein mehrfarbigesSmallImage
verwendet werden, wo zuvor ein monochromatisches Bild erforderlich gewesen wäre. (I257df)PreviewImageUpdateRequestedListener
inConsumer<>
umwandeln (Ia875d)- Den benutzerdefinierten Typ
OnWatchfaceColorsListener
für eine abstrakte Methode (Single Zusammenfassung Method, SAM) durch den generischen Java-SAM-Typ (Consumer) (I0c489) ersetzen - Die alten Methoden
getOrCreateInteractiveWatchFaceClient
undlistenableGetOrCreateInteractiveWatchFaceClient
, bei denen keinPreviewImageUpdateRequestedListener
angegeben wird, werden nicht mehr unterstützt. (Iec502)
Fehlerkorrekturen
DisconnectReason.BINDER_DIED
wurde inDisconnectReason.ENGINE_DIED
umbenannt. (I4eb0e)
Version 1.2.0-alpha01
10. August 2022
androidx.wear.watchface:watchface-*:1.2.0-alpha01
wird freigegeben. Version 1.2.0-alpha01 enthält diese Commits.
Neue Funktionen
- Wir haben experimentelle Unterstützung für verschiedene neue Formate für Zusatzfunktionen hinzugefügt. Dies ist ein Bereich der aktiven Entwicklung. Diese neuen Formate können ohne Vorankündigung geändert werden und derzeit gibt es keinen Renderer-Support von
CanvasComplicationDrawable
. - Außerdem haben wir den Steckplätzen für Zusatzfunktionen optionale Ränder hinzugefügt, damit kleine Zusatzfunktionen leichter angetippt werden können.
API-Änderungen
- Die experimentelle
BoundingArc
-Klasse ist jetzt unveränderlich. (If624a) - Kleine Zusatzfunktionen können schwierig zu tippen sein. Um dies zu verhindern, werden jetzt Ränder unterstützt, die den antippbaren Bereich vergrößern, ohne das Rendering zu beeinträchtigen. Sofern nicht anders angegeben (entweder im Code oder über XML), haben
ComplciationSlots
Ränder von null. (I14089) - Die
getComplicationSlotInflationFactory(CurrentUserStyleRepository)
-Signatur wurde geändert, um eine Nicht-Null-Factory-Instanz zurückzugeben. Vor der Rückgabe von null ist ein Fehler aufgetreten. Dies dient lediglich dazu, den API-Vertrag verständlicher zu machen. (I0fcc0) - Wir haben der Methode
WatchFaceService.getComplicationSlotInflationFactory
das ArgumentcurrentUserStyleRepository
hinzugefügt, um es mitcreateComplicationSlotsManager
zu vereinheitlichen. (I2ddd2) UserStyleFlavors
sind keine experimentelle Funktion. (I69cdc)- Wir haben die experimentelle
ValueType
ausRangedValueComplicationData
entfernt und stattdessen eine experimentelleDiscreteRangedValueComplicationData
eingeführt, dieRangedValueComplicationData
mit Ausnahme von Ganzzahlbereich und -wert ähnelt. Wir haben außerdem eine experimentelleGoalProgressComplicationData
-Funktion eingeführt, dieRangedValueComplicationData
ähnelt, mit der Ausnahme, dass sie für den Fortschritt in Richtung eines Ziels gedacht ist, bei dem min implizit null ist und der Wert größer alstargetValue
sein darf. Hinweis: Für alleRangedValue
-Varianten muss mindestens ein monochromes Bild, ein Text oder ein Titel angegeben werden. (I9590c) - Wir haben
boundsWithMargins
ausComplicationSlotState
entfernt, da die Systemsoftware keinen Anwendungsfall dafür hat. (I42e26) - Wir haben eine experimentelle Unterstützung für
WeightedElementsComplicationData
hinzugefügt. Diese besteht aus einem Array von Elementen (Paaren aus Gewicht und Farbe) sowie optionalem Text, Titel und Bild. Diese können als Tortendiagramm angezeigt werden, bei dem die Farben in Anbetracht des Kontextes aussagekräftig sein müssen, da in der Regel bei einer Zusatzfunktion kein Platz zum Rendern von Beschriftungen vorhanden ist. (I87eea) - Mit dem experimentellen
ColorRamps
, das optional vonRangedValueComplicationData
undGoalProgressComplicationData
verwendet wird, kannst du jetzt eine Sequenz von bis zu sieben Farben sowie eine Markierung festlegen, die angibt, ob die Farben gleichmäßig angepasst werden sollen oder ob gleich große Farbstufen gerendert werden sollen. I9f5bf. RangedValueComplicationData.drawSegmented
wurde invalueType
geändert. Dabei handelt es sich um eine Ganzzahl mit einer entsprechendenValueType IntDef
, die dem Bereichswert eine semantische Bedeutung verleiht und vom Renderer der Zusatzfunktionen zur Beeinflussung des Stils verwendet werden kann. (I0616b)RangedValueComplicationData
wurde experimenteller Support für optionaleColorRanges
hinzugefügt. Üblicherweise werden Zusatzfunktionen in den vom Zifferblatt ausgewählten Farben gerendert. Manchmal ist dasComplicationDataSource
jedoch am besten geeignet, um die Farben festzulegen, z. B. wenn sie eine bestimmte semantische Bedeutung haben. Beispiel: Rot zu Blau für die Temperatur. (I5153a)- Wir haben einen experimentellen
drawSegmented
-Hinweis zuRangedValueComplicationData
hinzugefügt. Damit werden Renderer angewiesen, den Indikator für den Bereichswert mit Segmenten zu zeichnen, wobei 1 Segment = 1 Einheit ist. (I7d7c1)
Fehlerkorrekturen
- Es wurde die Möglichkeit hinzugefügt,
ComplicationSlotBounds
relativ zu einem vordefinierten Bildschirmkoordinatensystem zu definieren. (I0985d)
Version 1.1
Version 1.1.1
10. August 2022
androidx.wear.watchface:watchface-*:1.1.1
wird freigegeben. Version 1.1.1 enthält diese Commits.
- Dies ist eine Version zur Fehlerbehebung und Nutzern der Version 1.1.0 wird dringend empfohlen, das Upgrade durchzuführen.
Fehlerkorrekturen
Die Initialisierung des Zifferblatts erfolgt asynchron. Wenn eine Zusatzfunktion empfangen wird, bevor das Zifferblatt fertig ist, wird sie der Liste
pendingInitialComplications
hinzugefügt und später angewendet.pendingInitialComplications
wurde leider zu früh angewendet. Dadurch gab es bei der Initialisierung des Zifferblatts ein Zeitfenster, in dem Zusatzfunktionen weiterhin aufpendingInitialComplications
hinzugefügt und ignoriert wurden. Dieser Fehler wurde nun behoben. Mit diesem Patch wird außerdem ein Fehler behoben, bei demComplicationRenderer
fälschlicherweise versucht hat, Platzhalter asynchron zu laden, wodurch die Kompilierungsgrafik nicht aktualisiert wurde. Mit diesem Patch wird ein hoffentlich theoretischer Fehler behoben, bei dem mehrerependingInitialComplications
zusammengeführt werden müssen. (0d03ba3)Potenziellen Deadlock in
InteractiveInstanceManager
behoben, bei demgetExistingInstanceOrSetPendingWallpaperInteractiveWatchFaceInstance
das Schloss länger als nötig gehalten hat. Normalerweise würden wir erwarten, dassengine.setUserStyle
schnell ist, aber wenn das aus irgendeinem Grund nicht der Fall ist, könnte es zu einem Deadlock/ANR kommen. Mit diesem Patch wird unnötige Arbeit aus dem Schloss entfernt, wodurch die Gefahr eines Deadlocks aufgehoben werden kann.(5a2adca)Beheben Sie mehrere Probleme, durch die
WatchFaceService
beibehalten wurden. Das WakeLock kann manchmal dieWatchFaceService
beibehalten, indem einrelease()
-Aufruf hinzugefügt wird, um dieses Problem zu beheben. Außerdem kannStateFlows
WatchFaceService
beibehalten und damit die zugrunde liegendenCoroutineScopes
-Korrekturen aufheben (fd48138)Fügen Sie
awaitDeferredWatchFace
* Zeitlimits hinzu und korrigieren SiewatchfaceOverlayStyle
NullPointerException
. Im Normalfall sollte dadurch keine Zeitüberschreitung vermieden werden, auch nach einer Neuinstallation undDirectBoot
-Szenarien, in denen die CPU-Auslastung hoch ist. Wir haben auch eine NPE korrigiert, wenngetWatchfaceOverlayStyle
nachclose()
aufgerufen wird (a4c3a5a).
Version 1.1.0
15. Juni 2022
androidx.wear.watchface:watchface-*:1.1.0
wird freigegeben. Version 1.1.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.0.0
Verbesserte Bearbeitung:
- Hierarchische Schemas werden jetzt unterstützt. Dadurch kann eine Hierarchie von Stilen von den Editor-UIs vorgegeben werden. Du kannst jetzt separate Symbole für die Verwendung in Zifferblatt- und Companion-Editoren angeben.
- Es gibt eine optionale Unterstützung für mehrere Instanzen eines Zifferblatts. Jede Instanz hat eine eindeutige ID, die auf allen API-Oberflächen verfügbar ist.
- Sie können jetzt für
ComplicationSlots
visuell lesbare Namen zur Verwendung in Editoren angeben. - Experimentelle Unterstützung für Stile „Geschmacksrichtungen“, eine kuratierte Auswahl von Stilen, die im zugehörigen Editor sichtbar ist.
- Wenn zwei Instanzen des Zifferblatts geladen werden, können diese jetzt Ressourcen teilen, was Arbeitsspeicher spart
- Wenn du im Editor für das Zifferblatt eine Zusatzfunktion auswählst, ist jetzt der aktuelle Anbieter vorausgewählt.
Verbesserte Zusatzfunktionen:
- Sie können die
ComplicationType
jetzt für die primäre und sekundäre Datenquelle angeben, was Entwicklern mehr Flexibilität bei der Verwendung gibt. - Wir haben
ComplicationDataTimeline
hinzugefügt, das eine Abfolge von zeitgesteuerten Daten zur Verfügung stellt, die an das Zifferblatt gesendet, im Cache gespeichert und automatisch aktualisiert werden können. Zum Beispiel die Wettervorhersage für heute zu verschiedenen Zeiten oder mehrere bevorstehende Kalendertermine. - Der
ComponentName
des Zusatzfunktion ist Teil desComplicationData
. - Zusatzfunktionen werden jetzt im Cache gespeichert, um den Wechsel zwischen Zifferblättern zu erleichtern.
Weitere Änderungen:
UserStyleSchema
undComplicationSlots
können jetzt in XML definiert werden. Das vereinfacht das Erstellen von Zifferblatt und ermöglicht schnellere Metadatenabfragen aus dem System.- Zifferblätter können jetzt die Farben beeinflussen, die zum Rendern des System-Overlays verwendet werden.
Version 1.1.0-rc01
18. Mai 2022
androidx.wear.watchface:watchface-*:1.1.0-rc01
wird freigegeben. Version 1.1.0-rc01 enthält diese Commits.
Neue Funktionen
- Wir haben einige Verbesserungen bei der Nutzerfreundlichkeit der XML-Unterstützung für Zifferblatt-Dateien vorgenommen, um die Angabe von
ComplicationSlotBounds
und unterstützenden Referenzen zu vereinfachen. Es wird weiter mit der Edge-Zusatzfunktion „BoundingArc
“ experimentiert und das Ganze in „drawHighlight
“ durchgespielt, obwohl sie zur damaligen Zeit nicht empfohlen wird.
API-Änderungen
- Wir haben eine experimentelle Überlastung von
drawHighlight
hinzugefügt, die einenBoundingArc
-Parameter akzeptiert. (I705f8) - Die XML-Datei für das Zifferblatt unterstützt jetzt Ressourcenverweise. Damit können Sie dieselben Konstanten sowohl in XML als auch in Ihrem Code verwenden. (I3ef61)
- Es wurde die Möglichkeit hinzugefügt,
ComplicationSlotBounds
in den Formularencenter_x
,center_y
,size_x
undsize_y
zu definieren. Jetzt ist es auch möglich, mithilfe von Ressourcenverweisen verschiedene Einheiten (d.h. dp) zu verwenden. (Iace98)
Fehlerkorrekturen
- Problem mit
runBlockingWithTracing
beheben, bei dem Aufgaben im falschen Kontext ausgeführt wurden (4f595fe) BaseEditorSession.close
synchron machen. Das Problem bei asynchronenBaseEditorSession.close
besteht darin, dass wirComplicationDataSourceInfoRetriever
zu spät freigeben, was zu einer Warnung im Logcat führt. Das war wahrscheinlich harmlos, aber Logcat-Spam lenkt ab und sollte vermieden werden.(35a5308)
Version 1.1.0-beta02
11. Mai 2022
androidx.wear.watchface:watchface-*:1.1.0-beta02
wird freigegeben. Version 1.1.0-beta02 enthält diese Commits.
Neue Funktionen
- Wir haben experimentelle Unterstützung für neue
ComplicationData
-Typen hinzugefügt. Die Typen sind noch nicht einsatzbereit. Sie finden es hier jedoch.
API-Änderungen
- Wir haben
BoundingArc
hinzugefügt, eine experimentelle Klasse, die die Geometrie eines Kantenkomplikationsslots beschreibt. Dies wurde „ComplicationSlot
“ hinzugefügt und durch „ComplicationSlotState
“ und „WatchFaceMetadataClient
“ erweitert. (I61a40) - Wir haben die Möglichkeit hinzugefügt, Einstellungen in
UserStyleSetting
-XML zu übernehmen. Damit kannst du die Ausführlichkeit reduzieren und eine Einstellung für verschiedene Zifferblätter verwenden. (Ief841) - Es wurden zwei neue experimentelle Typen von
ComplicationData
hinzugefügt:ListComplicationData
undProtoLayoutComplicationData
. Derzeit wird keiner dieser Typen das Rendering unterstützt. WearOS erkennt diese Typen derzeit nicht, wenn sie einemComplicationDataSource's
-Manifest hinzugefügt werden. (I1811c)
Fehlerkorrekturen
- Die Serialisierung des Typs
TimeLineEntry
wurde korrigiert. Der TypTimeLineEntry
wurde nicht seriell ausgeführt, was bedeutete, dass im Cache gespeicherteTimeLineEntries
vom Typ „NoData“ fälschlicherweise so interpretiert wurde, dass der Typ der übergeordneten Zusatzfunktion zu NPEs führte, wenn auf nicht vorhandene erforderliche Felder zugegriffen wurde. (55ffdf5) - Fehler behoben, bei dem
setComplicationData
Zeitachsenfelder gelöscht hat(fb392f5) - Es wurde ein Fehler behoben, bei dem
runBlockingWithTracing
sehr gelegentlich zu einer NPE geführt hat(12ca62e). - Es wurde ein Fehler behoben, bei dem manchmal
ClassNotFoundException: android.support.wearable.complications.ComplicationText
angezeigt wird, wenn eine Zusatzfunktion angezeigt wird (217942d9). - Es wurde ein Fehler in
GlesRenderer.backgroundThreadInitInternal
behoben, bei demonBackgroundThreadGlContextCreated
nur aufgerufen wurde, wennEGL14.eglCreateContext
aufgerufen wurde. Es wurde ein weiterer Fehler behoben, bei dem im Screenshot eine durchverticalFlip
verursachte visuelle Störung aufgetreten ist (c674ad2). - Fehler bei der XML-Versionsprüfung in
WatchFaceService
beheben, da das Paket aus dem falschen Paket geladen wurde (dfa06f3) - Für das Platzhalterkabelformat wird jetzt ein inneres Bündel verwendet. Wir möchten nicht, dass Platzhalter vorhandene Zifferblätter beschädigen, die das versteckte innere a.s.w.c.ComplicationData verwenden. Früher speicherte das Kabelformat von
NoDataComplication
-Daten den Platzhalter in den üblichen Feldern (problematisch, da alte Zifferblätter den Platzhalterstring rendern konnten, was nicht beabsichtigt war). Stattdessen verwenden wir jetzt ein inneres Bundle, um dies vollständig zu isolieren.(d5e7bd2)
Version 1.1.0-beta01
20. April 2022
androidx.wear.watchface:watchface-*:1.1.0-beta01
wird freigegeben. Version 1.1.0-beta01 enthält diese Commits.
API-Änderungen
WatchFaceMetadataClient
-Methoden (getUserStyleSchema
,getComplicationSlotMetadataMap
,getUserStyleFlavors
) undHeadlessWatchFaceClient.getUserStyleFlavors
lösen jetzt eine ungeprüfte RuntimeException anstelle vonWatchFaceException
aus. (I0718a)WatchFaceMetadataClient.WatchFaceException
wurde aus dem Kurs entfernt, um die Wiederverwendung zu ermöglichen. (I4e869)
Fehlerkorrekturen
WatchFaceMetadataClient
stürzt nicht mehr ab, wenn Teil-ComplicationSlotBounds
gesendet wird.(Iaafd)
Version 1.1.0-alpha05
6. April 2022
androidx.wear.watchface:watchface-*:1.1.0-alpha05
wird freigegeben. Version 1.1.0-alpha05 enthält diese Commits.
Neue Funktionen
- Du kannst jetzt anhand von
ComplicationData.dataSource
feststellen, von welcher Datenquelle eineComplicationData
gesendet wurde. Einige Zifferblätter können dies verwenden, um die Anzeige der Zusatzfunktionen anzupassen. (I44a73)
API-Änderungen
Renderer.CanvasRenderer
undRenderer.GlesRenderer
wurden zugunsten vonRenderer.CanvasRenderer2
undRenderer.GlesRenderer2
eingestellt. Diese unterstützenSharedAssets
und werden an die Renderingmethoden übergeben. Für Java-Interoperabilität haben wirListenableCanvasRenderer2
undListenableGlesRenderer2
eingeführt. (I31ffa)@WatchFaceFlavorsExperimental
-Funktion zum Definieren von Geschmacksrichtungen hinzugefügt – vorkonfigurierte Liste der Zifferblätter mit Stilen (I04dd0)Renderer.sharedAssets
ist jetzt ein StateFlow und die nicht verwendeteRenderer.SharedAssetsFactory
(I12ac5) wurde entfernt.UserStyleSchema.userStyleSettings
wurde nicht mehr eingestellt (Iba7e3)- Wir haben
HeadlessWatchFaceClient.getUserStyleSchemaDigestHash
hinzugefügt. Damit kann einHeadlessWatchFaceClient
den relativ geringen Aufwand für die Übergabe des Schemas über AIDL vor dem Berechnen des Digest-Hashs vermeiden. (I33597) - Wir haben
isUserStyleSchemaStatic
zuWatchFaceMetadataClient
hinzugefügt. Dies gilt nur, wenn sich dieUserStyleSchema
nur dann ändert, wenn das Zifferblatt-APK aktualisiert wird. (I45a3f) - Wir haben
getDigestHash
zuUserStyleSchema
hinzugefügt, um einen Digest-Hash des Schemas zu berechnen. Damit lässt sich effizient feststellen, ob sichUserStyleSchema
geändert hat. (I2063d) METADATA_KEY_DATA_SOURCE_DEFAULT_CONFIGURATION_SUPPORTED
umbenannt inMETADATA_KEY_DATA_SOURCE_DEFAULT_CONFIG_SUPPORTED
(I9ba5d)UserStyleSetting.OnWatchEditorData
wurde inUserStyleSetting.WatchFaceEditorData
umbenannt und enthält Daten, die nur vom Editor für das Zifferblatt verwendet werden. (If3afb)
Version 1.1.0-alpha04
9. März 2022
androidx.wear.watchface:watchface-*:1.1.0-alpha04
wird freigegeben. Version 1.1.0-alpha04 enthält diese Commits.
API-Änderungen
ComplicationData
ist möglicherweise nicht immer verfügbar (z. B. abgelaufene im Cache gespeicherte Zusatzdaten). Daher haben wirNoDataComplication
um einen optionalen Platzhalter „ComplicationData“ erweitert undComplicationText.PLACEHOLDER
,MonochromaticImage.PLACEHOLDER
,SmallImage.PLACEHOLDER
,PhotoImage.PLACEHOLDER
hinzugefügt, die nur im Kontext einesNoDataComplicationData
-Platzhalters verwendet werden dürfen. Wenn diese Platzhalter ausgewählt sind, werden sie mit grauen Feldern/Bögen gerendert. (I6285d)- Wir haben
ComplicationData.getNextChangeInstant
hinzugefügt. Damit wird das nächste Instant nach dem Verweis-Instant angegeben, bei dem sich ein beliebiges Feld der Zusatzfunktion ändern kann. Dies wird intern verwendet, um Frames für Updates von Zusatzfunktionen zu planen. Wenn ein Zifferblatt beispielsweise normalerweise einmal pro Minute aktualisiert wird, wird es beim Einstellen der Zusatzfunktion „Stoppuhr“ einmal pro Sekunde aktualisiert. (I7ceb2) EditorSession.watchFaceId
kann jetzt auf allen API-Ebenen verwendet werden. Außerdem ist sein Wert jetzt immer mitWatchState.watchFaceInstanceId
konsistent. (I323b9)- Die
getPendingIntentForTouchEvent
API ist nicht mehr erforderlich, da das zugrunde liegende Problem im Framework behoben wurde. Alle zugehörigen APIs wurden daher entfernt. Zifferblätter müssen nichts Besonderes tun, damitPendingIntents
ausgelöst wird, auch wenn vor Kurzem die Startbildschirmtaste gedrückt wurde. (I1f2e8) - Wir haben
RendererParameters.isForScreenShot
hinzugefügt. Dieser Wert ist „true“, wenn das Rendering für einen Screenshot erfolgt. Einige Zifferblätter mit Animationen müssen dies wissen, damit sie die besten Ergebnisse erzielen können. (I96d99) - Wir haben „
WatchFaceExceptionReason
“ zu „WatchFaceException
“ hinzugefügt, um den Fehler zu erklären. (I01d15) ComplicationDataSourceService.onImmediateComplicationRequest
wurde entfernt. Stattdessen wurdeComplicationRequest.immediateResponseRequired
hinzugefügt, um zu signalisieren, dass der Dienstleister schnell reagieren muss (idealerweise in weniger als 100 ms). Beachten Sie, dass diese Funktion durch die privilegierte Berechtigungcom.google.android.wearable.permission.USE_IMMEDIATE_COMPLICATION_UPDATE
geschützt ist. (Ie6b23)- Null-Zulässigkeit in Core und Appcompat für Tiramisu DP2 (I0cbb7) aktualisiert
Fehlerkorrekturen
- Die Zifferblatt-App stürzt jetzt mit einer Ausnahme ab, wenn die Schemavalidierung fehlschlägt (Ia400f).
Version 1.1.0-alpha03
9. Februar 2022
androidx.wear.watchface:watchface-*:1.1.0-alpha03
wird freigegeben. Version 1.1.0-alpha03 enthält diese Commits.
API-Änderungen
- Wir haben experimentelle Unterstützung für hierarchische Stilschemas hinzugefügt. Wir haben
androidx.wear.watchface.style.UserStyleSetting.Option
die neue Eigenschaft „childSettings“ hinzugefügt, die anfangs nur vonListOption
verwendet wird. Dadurch kann eine Hierarchie von Stilen zur Verwendung durch Editor-UIs beschrieben werden. Der zugrunde liegende UserStyle bleibt unverändert und ist weiterhin einMap<String, ByteArray>
. Iaf6f4 - Wir haben
WatchFace.OverlayStyle
hinzugefügt, mit dem das Zifferblatt das Rendern des Systemstatus-Overlays konfigurieren kann. (I8520d) - Wir haben
clearWithBackgroundTintBeforeRenderingHighlightLayer
einen neuen optionalen Konstruktorparameter fürCanvasRenderer
eingeführt (der Standardwert ist „false“). Wird dieser Parameter auf „true“ gesetzt, wird der Canvas mit der Hintergrundfarbe gelöscht. (Ie01e5) - Es wurde ein
androidx.watchface.complications.datasource.DEFAULT_CONFIGURATION_SUPPORTED
-Metadatenschlüssel hinzugefügt, mit dem Datenquellen für Zusatzfunktionen angeben können, dass sie einen Standardwert ohne Konfiguration angeben können (Icc0d4). - Es ist üblich, dass beim Bearbeiten eines Zifferblatts sowohl eine interaktive als auch eine monitorlose Instanz angezeigt wird. Um Arbeitsspeicher zu sparen, haben wir
Renderer.SharedAssets
eingeführt, mit dem ein Renderer für Zifferblatt unveränderliche Daten (z.B. Texturen und Shader) zwischen Instanzen teilen kann.GlesRenderer.setEglConfig
undGlesRenderer.setEglDisplay
wurden verworfen. Diese sollten nie festgelegt werden, was zu undefiniertem Verhalten geführt hätte. (I0d9e7) - Wir haben
setNameResourceId
undsetScreenReaderNameResourceId
(die auf Stringressourcen verweisen) zuComplicationSlot.Builder
und die entsprechenden Getter inandroidx.wear.watchface.client.ComplicationSlotState
hinzugefügt. Dadurch kann das System die Namen von ComplicationSlots abrufen, die in Editoren und Screenreadern verwendet werden können. (If6c6a) WatchfaceMetadataClient.getUserStyleSchema
undgetComplicationSlotMetadataMap
geben jetztWatchFaceException
stattRemoteException
aus. (I86f11)onSynchronousComplicationRequest
und die zugehörigen Funktionen inComplicationDataSourceService
wurden inonImmediateComplicationRequest
usw. umbenannt. (I87ba0)- Zifferblatt-Editoren haben viel weniger Platz auf dem Bildschirm als Companion-Editoren. Daher ist es sinnvoll, unterschiedliche Symbole für Zifferblatt-Editoren zu unterstützen. Mit diesem Patch wird
OnWatchEditorData
(aktuell nur ein Symbol) zu allen UserStyleSettings und gegebenenfalls ihren Optionsklassen hinzugefügt. (If1886) - Wir haben dem Konstruktor von ListenableGlesRenderer
@JvmOverloads
hinzugefügt, um die Java-Interoperabilität zu verbessern. (I2974a)
Fehlerkorrekturen
- Der Konstruktor von
ListenableGlesRenderer
ist jetzt korrekt als@Throws(GlesException::class)
markiert und es ist jetzt möglich, diese Klasse in Java zu erweitern. (Iac6d0) - Es wurde ein Fehler behoben, bei dem die TapAction
PhotoImageComplicationData
nicht richtig verarbeitet wurde (I1cc30).
Version 1.1.0-alpha02
12. Januar 2022
androidx.wear.watchface:watchface-*:1.1.0-alpha02
wird freigegeben. Version 1.1.0-alpha02 enthält diese Commits.
Neue Funktionen
- Um das Debugging und das Testen zu erleichtern, haben
ComplicationData
und zugehörige Unterklassen jetzt überschriebene Hashcode-, Gleichheits- und toString-Methoden, wodurch die Arbeit mit ihnen einfacher wird.
API-Änderungen
WatchfaceMetadataClient
-Methoden geben bei Bedarf wiederRemoteExceptions
aus, sodass der Clientcode Fehler auf dem Zifferblatt leichter erkennen kann. (I78785)ComplicationData
und die Unterklassen verfügen jetzt über Hashcode, ist gleich und toString. (I24bc6)
Version 1.1.0-alpha01
15. Dezember 2021
androidx.wear.watchface:watchface-*:1.1.0-alpha01
wird freigegeben. Version 1.1.0-alpha01 enthält diese Commits.
Neue Funktionen
UserStyleSchema
undComplicationSlots
können jetzt in XML definiert werden. Das vereinfacht das Erstellen des Zifferblatts. Außerdem sindWatchFaceMetadataClient
-Abfragen schneller, da sie nicht an den Dienst gebunden werden müssen, um die Metadaten abzurufen.WatchFaceMetadataClient
undListenableWatchFaceMetadataClient
befinden sich nicht mehr in der Testphase und werden Teil der stabilen API. Das System kann optional mehrere Instanzen eines Zifferblattes mit jeweils unterschiedlichen benutzerdefinierten Stiloptionen unterstützen. Diese werden in der Zifferblattauswahl angezeigt. Um diese Funktion zu aktivieren, muss ein Zifferblatt das folgende Metadaten-Tag in seinem Manifest enthalten.<meta-data android:name="androidx.wear.watchface.MULTIPLE_INSTANCES_ALLOWED" android:value="true" />
Einige Zifferblätter haben einen Status, der nicht im
UserStyle
erfasst wird. Um dies und mehrere Instanzen zu unterstützen, ist die Instanz-ID des Zifferblatts jetzt überWatchState.watchFaceInstanceId
verfügbar.ComplicationData
wird jetzt im Cache gespeichert, damit Zusatzfunktionen sofort nach dem Laden angezeigt werden können. Manchmal wirdComplicationData
vom System im Arbeitsspeicher im Cache gespeichert, manchmal wird es von den Zifferblattbibliotheken serialisiert. Bei der Serialisierung geht die zugehörige „tapAction“ verloren. In diesem Fall gibtComplicationData.tapActionLostDueToSerialization
den Werttrue
zurück und das Zifferblatt sollte die Zusatzfunktion anders rendern (z. B. ausgegraut oder halbtransparent), um zu signalisieren, dass sie nicht angetippt werden kann. Das System sendet so schnell wie möglich aktualisierteComplicationData
mit einertapAction
.Einige
ComplicationData
sollten nicht über längere Zeit im Cache gespeichert werden. Um dies zu unterstützen, haben wir eine allgemeinere Funktion hinzugefügt:ComplicationDataTimeline
. Dies kann verwendet werden, um eine Abfolge von zeitgesteuertenComplicationData
bereitzustellen, die an das Zifferblatt gesendet werden, die dann automatisch im Cache gespeichert und aktualisiert werden können. Zum Beispiel die Wettervorhersage für heute zu verschiedenen Zeiten oder mehrere bevorstehende Kalendertermine.ComplicationRequestListener
wurde mit der neuen MethodeonComplicationDataTimeline
erweitert, mit der Sie diese Daten zurückgeben können.DefaultComplicationDataSourcePolicy
wurde erweitert, sodass Sie dieComplicationType
für die primäre und sekundäre Datenquelle angeben können.Wir haben eine Unterstützung für Anbieter von synchronen Zusatzfunktionen hinzugefügt, bei denen die Zusatzfunktion häufiger als normal aktualisiert wird – bis zu einmal pro Sekunde, wenn das Zifferblatt gut sichtbar ist. Hinweis:Anbieter von synchronen Zusatzfunktionen können aufgrund von Bedenken hinsichtlich der Speicherauslastung nur begrenzt genutzt werden.
Die
PendingIntentTapListener
-Änderungen werden wahrscheinlich rückgängig gemacht, weil wir das zugrunde liegende Problem im Framework gelöst haben. Das Zifferblatt kann nach dem Drücken der Startbildschirmtaste fünf Sekunden lang keine Aktivitäten starten.
API-Änderungen
- „
ComplicationData.isCached
“ wurde zu „tapActionLostDueToSerialization
“ geändert. Dies ist hilfreicher, wenn Sie bestimmen möchten, ob die Anzeigenfläche für die Zusatzfunktion anders gerendert werden soll, um zu signalisieren, dass sie nicht angetippt werden kann. (I6de2f) ComplicationDataTimeline
wurde zuwear-complication-data-source
hinzugefügt. Dies kann verwendet werden, um eine Abfolge von zeitgesteuertenComplicationData
bereitzustellen, die an das Zifferblatt gesendet werden, die dann automatisch im Cache gespeichert und aktualisiert werden können. Zum Beispiel die Wettervorhersage für heute zu verschiedenen Zeiten oder mehrere bevorstehende Kalendertermine.ComplicationRequestListener
wurde mit der neuen MethodeonComplicationDataTimeline
erweitert, mit der Sie diese Daten zurückgeben können. Es gibt einen neuen Kotlin-WrapperSuspendingTimelineComplicationDataSourceService
zum Anhalten von Datenquellendiensten. (Idecdc)PendingIntentTapListener
undWatchFaceControlClient.getPendingIntentForTouchEvent
wurden hinzugefügt. Das kann dazu beitragen, dass Zifferblätter nach dem Tippen Intents starten müssen, um ein Problem zu umgehen, bei dem das Framework nach dem Drücken der Startbildschirmtaste 5 Sekunden lang neue Aktivitäten blockiert. (I98074)- Für jedes Zifferblatt wurde ein
ComplicationData
-Cache eingeführt. Dadurch kann auf dem Zifferblatt die Werte der letzten bekannten Zusatzfunktionen beim Laden angezeigt werden, bis das System diese aktualisieren konnte. Es gibt eine neue API-MethodeWatchFaceControlClient.hasComplicationCache
für OEMs. Dies kann die Strategie des Systems für das Senden von Zusatzfunktionen an ein Zifferblatt beeinflussen. Außerdem hatComplicationData
eineisCached
-Eigenschaft. Es wird empfohlen, im Cache gespeicherte Zusatzfunktionen anders darzustellen, da dietapAction
nicht im Cache gespeichert werden kann und in einer im Cache gespeicherten Zusatzfunktion alsnull
gilt. (I404b0) - Die Instanz-ID des Zifferblatts ist jetzt über
WatchState.watchFaceInstanceId
verfügbar. Für die meisten Zifferblätter ist dies nicht erforderlich. Wenn jedoch ein Status für jedes Zifferblatt vorhanden ist, der nicht im Schema gespeichert ist, ist dies der Schlüssel, um die Zifferblattinstanz zu identifizieren. Dazu kannst du jetzt beim Aufrufen vonWatchFaceControlClient.createHeadlessWatchFaceClient
eine ID angeben. (I1ff98) - Erweiterter
DefaultComplicationDataSourcePolicy
mit der Möglichkeit, den standardmäßigenComplicationTypes
für den primären, sekundären und Fallback-Systemanbieter festzulegen.ComplicationSlot.defaultDataSourceType
wurde eingestellt. (If0ce3) ComplicationSlot.configExtras
ist jetzt änderbar und kann vor dem Aufruf vonEditorSession.openComplicationDataSourceChooser()
aktualisiert werden. (I6f852)WatchFace.setComplicationDeniedDialogIntent
undsetComplicationRationaleDialogIntent
wurden hinzugefügt. Diese Intents werden gestartet, um ein Dialogfeld mit einer Begründung anzuzeigen, bevor Berechtigungen für die Zusatzfunktionen angefordert werden. In einem weiteren Dialogfeld wird erklärt, dass diese Berechtigung erforderlich ist, wenn eine Zusatzfunktion bearbeitet werden soll, wenn Berechtigungen verweigert wurden (die Anbieterauswahl wird nicht geöffnet, sodass das Dialogfeld erforderlich ist). (I3a29c)UserStyleSchema
undComplicationSlots
können jetzt in XML definiert werden. Dies vereinfacht das Erstellen von Zifferblatt und machtWatchFaceMetadataClient
-Abfragen schneller, da sie nicht an den Dienst gebunden werden müssen, um die Metadaten abzurufen. (I85bfa)InteractiveWatchFaceClient.supportsPendingIntentForTouchEvent
wurde hinzugefügt, damit ein Client feststellen kann, ob ein ZifferblattgetPendingIntentForTouchEvent
unterstützt. (I0b917)WatchFaceMetadataClient
undListenableWatchFaceMetadataClient
sind keine experimentellen Funktionen mehr. Sie können verwendet werden, um möglichst effizient Metadaten für das Zifferblatt abzurufen, ohne dass ein Ordner am Zifferblatt geöffnet werden muss. (Ibb827)- Anbieter von synchronen Zusatzfunktionen werden jetzt unterstützt, sodass sie häufiger als normal aktualisiert werden – bis zu einmal pro Sekunde, wenn das Zifferblatt sichtbar und ungewohnt ist. Um sie zu verwenden, muss der Anbieter ein neues
androidx.wear.watchface.complications.data.source.SYNCHRONOUS_UPDATE_PERIOD_SECONDS
-Metadaten-Tag in sein Manifest aufnehmen undonSynchronousComplicationRequest
überschreiben. Je nach Art der Datenquelle müssen unter Umständen auchonStartSynchronousComplicationRequests
undonStopInteractiveComplicationRequests
überschrieben werden, damit Sie benachrichtigt werden, wenn die Zusatzfunktion den interaktiven Modus startet oder beendet. (I8fe9d)
Version 1.0
Version 1.0.1
9. Februar 2022
androidx.wear.watchface:watchface-*:1.0.1
wird freigegeben. Version 1.0.1 enthält diese Commits.
Fehlerkorrekturen
- Es wurde ein Fehler behoben, bei dem die TapAction
PhotoImageComplicationData
nicht richtig verarbeitet wurde (I1cc30).
Version 1.0.0
1. Dezember 2021
androidx.wear.watchface:watchface-*:1.0.0
wird freigegeben. Version 1.0.0 enthält diese Commits.
Hauptfunktionen von Version 1.0.0
Das androidx.wear.watchface
-Paket ist die neue empfohlene Bibliothek für die Entwicklung von Wear OS-Zifferblättern. Sie hat gegenüber der alten Wearable-Supportbibliothek einige neue Funktionen.
- Nutzerstile (z. B. Farbpalette, Stil der Uhrzeiger usw.) werden direkt von der Bibliothek unterstützt (siehe
androidx.wear.watchface.style
). Es ist jetzt viel einfacher, mit androidx.wear.watchface.editor einen Editor für das Zifferblatt zu entwickeln und das Zifferblatt über die System-Companion-App bearbeiten zu können, ohne dass du einen zusätzlichen Code schreiben musst. - Best Practices sind integriert. Die Bibliothek generiert Screenreader-Inhaltslabels für Zusatzfunktionen automatisch (Sie können auch eigene hinzufügen) und die Framerate wird automatisch reduziert, wenn der Akku schwach ist und nicht aufgeladen wird, um die Akkulaufzeit zu verlängern.
- Für die Entwicklung eines Zifferblatts ist weniger Code erforderlich, insbesondere bei Zusatzfunktionen, bei denen ein Großteil der Boilerplate in die Bibliothek verschoben wurde.
Fehlerkorrekturen
EditorSession.userStyle.compareAndSet
(I6f676) korrigieren- Sehr kurze Verzögerungen bei Zifferblatt beheben (Iffb97)
- Sendet
InteractiveWatchFaceImpl.onDestroy
im UI-Thread (I83340) - Verschiedene Probleme mit Übertragungsempfängern beheben (I7d25f)
Version 1.0.0-rc01
3. November 2021
androidx.wear.watchface:watchface-*:1.0.0-rc01
wird freigegeben. Version 1.0.0-rc01 enthält diese Commits.
Fehlerkorrekturen
Dump() wurde korrigiert (aufgerufen von ADB Shell dumpsys), das bei Ablaufmigrationen nicht funktioniert hat. 087cf9e.
Achten Sie darauf, dass die Werte für writeDirectBootPrefs ordnungsgemäß angeordnet sind. „writeDirectBootPrefs“ soll immer nach „initStyleAndComplications“ ausgeführt werden, sonst riskiert es, die Initialisierung des UI-Threads zu verzögern.(37650ac)
Achten Sie darauf, dass Renderer.onDestroy aufgerufen wird. In dem Szenario, in dem der Renderer erstellt wurde, aber die WF-Init-Methode noch nicht abgeschlossen ist und Engine.onDestroy aufgerufen wird, muss Renderer.onDestroy aufgerufen werden. (f9952dc)
Optimierung/Problemlösung „isBatteryLowAndNotCharging“. Mit diesem Patch wird die Ersteinrichtung von „isBatteryLowAndNotCharging“ früher eingerichtet und kann parallel zu createWatchFace ausgeführt werden. Außerdem hören wir jetzt ACTION_POWER_DISCONNECTED. (ddffd80)
InteractiveWatchFaceClientImpl.isConnectionAlive lautet nach Schließen "false" (ab9774e)
Version 1.0.0-beta01
27. Oktober 2021
androidx.wear.watchface:watchface-*:1.0.0-beta01
wird freigegeben. Version 1.0.0-beta01 enthält diese Commits.
Version 1.0.0-alpha24
13. Oktober 2021
androidx.wear.watchface:watchface-*:1.0.0-alpha24
wird freigegeben. Version 1.0.0-alpha24 enthält diese Commits.
API-Änderungen
- Die Klassen im Paket
androidx.wear.watchface.complications
wurden in ein neueswear:watchface:watchface-complications
-Projekt verschoben. Hinweis: Das bedeutet, dass du diese Bibliothek und vorherige Alphaversionen vonwear:watchface:watchface-complications-data
nicht einbinden kannst, da es zu Fehlern bei doppelten Klassen kommt. (I97195) - Renderer.dump wurde in Renderer.onDump umbenannt und mit @UiThread annotiert. (I44845)
InteractiveWatchFaceClient.addWatchFaceReadyListener
wurde inaddOnWatchFaceReadyListener
umbenannt undremoveWatchFaceReadyListener
wurde inremoveOnWatchFaceReadyListener
umbenannt. (I48fea)- EditorSession
getComplicationsPreviewData
undgetComplicationsDataSourceInfo
sind keine Sperrfunktionen mehr, sondernStateFlow<>
-Properties, deren Wert anfänglich null ist. In ListenableEditorSession wurdengetListenableComplicationPreviewData
undgetListenableComplicationsProviderInfo
zugunsten der neuenStateFlow<>
-Objekte aus der Basisklasse entfernt. Wenn Sie Änderungen im Java-Code beobachten müssen, sollten Sieandroidx.lifecycle.FlowLiveDataConversions.asLiveData
verwenden, um inLiveData<>
zu konvertieren. (Ic5483)
Version 1.0.0-alpha23
29. September 2021
androidx.wear.watchface:watchface-*:1.0.0-alpha23
wird freigegeben. Version 1.0.0-alpha23 enthält diese Commits.
Neue Funktionen
Die Zifferblattbibliothek ist jetzt eine einzige Bibliotheksgruppe. Daher wurden die Bibliotheken verschoben und Sie müssen Ihre Gradle-Importe so aktualisieren:
Alt | Neu |
---|---|
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-Änderungen
- Migrieren Sie die separaten Bibliotheken für
androidx.wear
-Zifferblatt und Zusatzfunktionen in dieandroidx.wear.watchface
-Bibliotheksgruppe. (b25f3c0) - EditorRequest.canWatchFaceSupportHeadlessEditing wurde hinzugefügt, um Kunden darüber zu informieren, ob ein Zifferblatt-Editor die monitorlose Bearbeitung unterstützt. Beachten Sie, dass es dabei einige falsch negative Ergebnisse gibt, da die Unterstützung in asop/1756809 hinzugefügt wurde. Es wird jedoch der richtige Wert für alle zukünftigen Zifferblätter zurückgegeben. (ca55590)
- Renderer verfügt jetzt über eine dump()-Methode, die überschrieben werden kann, um den vom ABD-Shell-Dumpsys-Aktivitätsdienst „WatchFaceService“ generierten Informationen benutzerdefinierte Daten hinzuzufügen. (95235f9)
- InteractiveWatchFaceClient.addWatchFaceReadyListener gibt jetzt zuerst den Executor an. 563ac2f
- StateFlowCompatHelper wurde entfernt. Verwenden Sie stattdessen asLiveData (androidx.lifecycle.asLiveData). (bd35d3)
- CurrentUserStyleRepository.userStyle kann nicht mehr geändert werden. (I44889)
- WatchFaceReadyListener wurde in OnWatchFaceReadyListener umbenannt. (Ic12a9)
Fehlerkorrekturen
- InteractiveInstanceManager.deleteInstance zum Aufrufen von onDestroy Dies ist erforderlich, damit für InteractiveWatchFaceImpl die Speicherbereinigung durchgeführt wird.(fce4af8, b/199485839)