Wear
androidx.wear.activity
androidx.wear.ambient
androidx.wear.input
androidx.wear.utils
androidx.wear.widget
androidx.wear.widget.drawer
(zobacz dokumenty referencyjne dotyczące wszystkich pakietów na Wear OS)
Ta tabela zawiera listę wszystkich artefaktów w grupie androidx.wear
.
Artefakt | Wersja stabilna | Wersja kandydująca | Wersja Beta | Wersja alfa |
---|---|---|---|---|
Wear | 1.3.0 | - | - | 1.4.0-alpha01 |
wear-input | 1.1.0 | - | - | 1.2.0-alpha02 |
wear-input-testing | 1.1.0 | - | - | 1.2.0-alpha02 |
wear-ongoing | 1.0.0 | - | - | 1.1.0-alpha01 |
wear-phone-interactions | 1.0.1 | - | - | 1.1.0-alpha05 |
wear-remote-interactions | 1.1.0 | - | - | - |
Deklarowanie zależności
Aby dodać zależność od Wear, musisz dodać repozytorium Google Maven do projektu. Więcej informacji znajdziesz w repozytorium Maven firmy Google.
Dodaj zależności dla artefaktów, których potrzebujesz, w pliku build.gradle
aplikacji lub modułu:
Groovy
dependencies { implementation "androidx.wear:wear:1.3.0" // Add support for wearable specific inputs implementation "androidx.wear:wear-input:1.1.0" implementation "androidx.wear:wear-input-testing:1.1.0" // Use to implement wear ongoing activities implementation "androidx.wear:wear-ongoing:1.0.0" // Use to implement support for interactions from the Wearables to Phones implementation "androidx.wear:wear-phone-interactions:1.0.1" // Use to implement support for interactions between the Wearables and Phones implementation "androidx.wear:wear-remote-interactions:1.1.0" }
Kotlin
dependencies { implementation("androidx.wear:wear:1.3.0") // Add support for wearable specific inputs implementation("androidx.wear:wear-input:1.1.0") implementation("androidx.wear:wear-input-testing:1.1.0") // Use to implement wear ongoing activities implementation("androidx.wear:wear-ongoing:1.0.0") // Use to implement support for interactions from the Wearables to Phones implementation("androidx.wear:wear-phone-interactions:1.0.1") // Use to implement support for interactions between the Wearables and Phones implementation("androidx.wear:wear-remote-interactions:1.1.0") }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Opinia
Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk z gwiazdką.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wear Core w wersji 1.0
Wersja 1.0.0-alpha01
29 maja 2024 r.
androidx.wear:wear-core:1.0.0-alpha01
został zwolniony. Wersja 1.0.0-alpha01 zawiera te komity.
Zmiany w interfejsie API
- Dodano nową klasę
WearApiVersionhelper
, która pomaga w sprawdzaniu zgodności interfejsu API w czasie działania na Wear. Klient może użyć tej statycznej klasy pomocniczej i podanej metody (#isApiVersionAtLeast(VERSION)
) do sprawdzenia zgodności.
Wersja 1.0 narzędzia do testowania Wear
Wersja 1.0.0
29 listopada 2023 r.
androidx.wear:wear-tooling-preview:1.0.0
został zwolniony. Wersja 1.0.0 zawiera te zatwierdzenia.
Funkcje w wersji 1.0.0
- Dodaj
WearDevices
, aby wyświetlić listę prawidłowych urządzeń Wear, których można używać do wyświetlania podglądów interfejsu.
Wersja 1.0.0-rc01
15 listopada 2023 r.
androidx.wear:wear-tooling-preview:1.0.0-rc01
jest opublikowany bez wprowadzenia zmian. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
Wersja 1.0.0-beta01
18 października 2023 r.
androidx.wear:wear-tooling-preview:1.0.0-beta01
jest opublikowany bez wprowadzenia zmian. Wersja 1.0.0-beta01 zawiera te commity.
Wersja 1.0.0-alpha01
23 sierpnia 2023 r.
androidx.wear:wear-tooling-preview:1.0.0-alpha01
został zwolniony. Wersja 1.0.0-alpha01 zawiera te commity.
Zmiany w interfejsie API
- Dodaj
WearDevices
do listy prawidłowych urządzeń Wear, które można używać do podglądów interfejsu (Ib036e)
Wersja Wear 1.4
Wersja 1.4.0-alpha01
15 listopada 2023 r.
androidx.wear:wear:1.4.0-alpha01
został zwolniony. Wersja 1.4.0-alpha01 zawiera te commity.
Poprawki błędów
- pionowo wyśrodkować ikonę
ConfirmationOverlay
, gdy nie ma wiadomości; (I496d8)
Wear 1.3
Wersja 1.3.0
9 sierpnia 2023 r.
androidx.wear:wear:1.3.0
jest publikowany bez zmian od 1.3.0-rc01
. Wersja 1.3.0 zawiera te commity.
Ważne zmiany od wersji 1.2.0
- Przeprowadź migrację
AmbientModeSupport
, aby używaćLifecycleObserver
. Wycofaj klasęAmbientModeSupport
i zastąp ją nową klasą uwzględniającą cykl życia. - Zaktualizuj
ConfirmationOverlay
, dodając nowe ikony lub układ, czcionki i dane czcionek - Aktualizacja
SwipeDismissTransitionHelper
w celu użycia tła drawable zamiast 2 elementuView
w celu poprawienia błędów podczas używaniaFragmentContainerView
SwipeDismissFrameLayout
animacja została zaktualizowana, aby była zgodna z implementacją platformy Wear i Wear Compose.SwipeDismissFrameLayout
poprawka błędu, która zapobiega przypadkowemu zamykaniu fragmentów przez przesunięcie w dółArcLayout
obsługuje teraz wagi rozszerzenia, które działają podobnie jak zwykłe wagi układu.- Pomoc dotycząca
layoutDirection
wArcLayout
Wersja 1.3.0-rc01
21 czerwca 2023 r.
androidx.wear:wear:1.3.0-rc01
jest publikowany bez zmian od 1.3.0-beta01
. Wersja 1.3.0-rc01 zawiera te commity.
Wersja 1.3.0-beta01
7 czerwca 2023 r.
androidx.wear:wear:1.3.0-beta01
został zwolniony. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Zaktualizowano
AmbientLifecycleObserver
zgodnie z opinią. NazwaAmbientLifecycleObserverInterface
została zmieniona naAmbientLifecycleObserver
, a jej instancję można uzyskać, wywołującAmbientLifecycleObserver(...)
.isAmbient
zostało przeniesione do pola zamiast metody. (I84b4f)
Poprawki błędów
- Dodanie kontroli null, aby obsługiwać przypadki, gdy widok nadrzędny jest null podczas resetowania alfa i tłumaczenia w
SwipeToDismiss
. (Ib0ec7)
Wersja 1.3.0-alpha05
19 kwietnia 2023 r.
androidx.wear:wear:1.3.0-alpha05
został zwolniony. Wersja 1.3.0-alpha05 zawiera te commity.
Zmiany w interfejsie API
- Przeprowadź migrację
AmbientModeSupport
, aby używaćLifecycleObserver
. WycofajAmbientModeSupport
na rzecz nowych klas z uwzględnieniem cyklu życia. (I1593b)
Poprawki błędów
- Zaktualizuj podejście do korzystania z tła scrim w komponencie
SwipeDismissTransitionHelper
, aby używać obiektów drawable zamiast dodawać widok. Pozwoli to naprawić błędy występujące podczas korzystania z komponentuFragmentContainerView
. (I851cd)
Wersja 1.3.0-alpha04
25 stycznia 2023 r.
androidx.wear:wear:1.3.0-alpha04
został zwolniony. Wersja 1.3.0-alpha04 zawiera te commity.
Poprawki błędów
- Zaktualizowaliśmy animację w
SwipeDismissFrameLayout
, aby była zgodna z implementacją platformy Wear i Wear Compose. (I7261b)
Wersja 1.3.0-alpha03
24 sierpnia 2022 r.
androidx.wear:wear:1.3.0-alpha03
został zwolniony. Wersja 1.3.0-alpha03 zawiera te commity.
Nowe funkcje
ArcLayout
obsługuje teraz wagi rozszerzenia, które działają podobnie jak zwykłe wagi układu. Oznacza to, że możesz określić względną wielkość elementów podrzędnych bez konieczności bezpośredniego obliczania ich kątów. Dodaliśmy też funkcję best effortMaxAngleDegrees
, która jest używana podczas rozwijania elementów podrzędnych z wagami. Możesz na przykład ustawić łuk z kilkoma elementami podrzędnymi o różnej wadze na 90 stopni, co pozwoli zachować przestrzeń zajętą przez nierozwinięte elementy.
Zmiany w interfejsie API
- Dodaliśmy wagę do
ArcLayout.LayoutParams
, co pozwala widżetom rozszerzać się do wypełniania dostępnej przestrzeni. Jeśli jest więcej niż 1 widżet, ich udział w dostępnej przestrzeni jest proporcjonalny do ich wagi. Dodatkowo dodaliśmyArcLayout.setMaxAngleDegrees
, dzięki czemu możesz na przykład ograniczyć rozszerzanie do 90 stopni (uwaga: nie ma to wpływu na układ widżetów podrzędnych o stałym rozmiarze). WreszcieArcLayout.Widget
ma terazsetSweepAngleDegrees
, co pozwalaArcLayout
przekazywać widżetowi niezerową wagę rozmiaru. (I75f24) - Zaktualizowano możliwość wartości pustej dla
setColorFilter
(I99ddf, b/236498063).
Wersja 1.3.0-alpha02
23 lutego 2022 r.
androidx.wear:wear:1.3.0-alpha02
został zwolniony. Wersja 1.3.0-alpha02 zawiera te zatwierdzenia.
Nowe funkcje
- Obsługa
layoutDirection
na stronieArcLayout
(I14d49) - Ulepszone informacje o opisie treści w przypadku ConfirmationOverlay (I0fdf8)
- Zaktualizuj
ConfirmationOverlay
, dodając nowe ikony lub układ. (If5b54)
Poprawki błędów
- Dodaliśmy reguły ProGuard, aby zapewnić, że kod związany z danemi z otoczenia nie zostanie usunięty (Idaa10).
- Unikanie przypadkowego zamykania fragmentów w SwipeDismissFrameLayout za pomocą pionowego przesunięcia (Idb6d8)
- Poprawka ConfirmationOverlay, gdy nie ma wiadomości (I63e6f)
Darowizna zewnętrzna
- Dae Gyu LEE (Samsung) – unikanie przypadkowego zamykania fragmentów w ramce SwipeDismissFrameLayout za pomocą gestu przesunięcia w dół (Idb6d8)
Wersja 1.3.0-alpha01
29 września 2021 r.
androidx.wear:wear:1.3.0-alpha01
został zwolniony. Wersja 1.3.0-alpha01 zawiera te zatwierdzenia.
Poprawki błędów
ConfirmationOverlay
przesuwa teraz ikonę w górę, aby pomieścić dłuższe wiadomości, bez konieczności umieszczania ich na krawędzi urządzenia (lub poza ekranem). (I54bff)
Wear Ongoing & Interactions w wersji 1.1.0
Wersja 1.1.0-alpha05
11 grudnia 2024 r.
androidx.wear:wear-phone-interactions:1.1.0-alpha05
został zwolniony. Wersja 1.1.0-alpha05 zawiera te komity.
Poprawki błędów
- Naprawiono błąd awarii podczas uruchamiania na Wear OS 5.1 (wersja interfejsu API 34) i kierowanie na nowsze wersje pakietu SDK. Aplikacje powinny zostać zaktualizowane do tej wersji biblioteki przed zaktualizowaniem
targetSdkVersion
do wersji 35 lub nowszej.
Wersja 1.1.0
11 grudnia 2024 r.
androidx.wear:wear-remote-interactions:1.1.0
został zwolniony. Wersja 1.1.0 zawiera te komisy.
Ważne zmiany od wersji 1.0.0
- Dodaliśmy
RemoteActivityHelper.isRemoteActivityHelperAvailable
, który pomaga sprawdzić, czy funkcja uruchamiania aktywności zdalnej jest dostępna. (I107a9)
Wersja 1.1.0-rc01
16 października 2024 r.
androidx.wear:wear-remote-interactions:1.1.0-rc01
jest publikowany bez zmian od 1.1.0-beta01
. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.
Wersja 1.1.0-beta01
24 lipca 2024 r.
androidx.wear:wear-remote-interactions:1.1.0-beta01
został zwolniony. Wersja 1.1.0-beta01 zawiera te komity. Wersja 1.3.0-beta01 Wear Remote Interactions oznacza, że ta wersja biblioteki jest kompletna pod względem funkcji, a interfejs API jest zablokowany (z wyjątkiem wersji oznaczonych jako eksperymentalne).
Wersja 1.1.0-alpha04
10 stycznia 2024 r.
androidx.wear:wear-phone-interactions:1.1.0-alpha04
został zwolniony. Wersja 1.1.0-alpha04 zawiera te commity.
Zmiany w interfejsie API
- Dodaliśmy
RemoteAuthClient.isRemoteAuthAvailable
, który sprawdza, czy uwierzytelnianie zdalne jest dostępne. (Ibc10c)
Wersja 1.1.0-alpha02
10 stycznia 2024 r.
androidx.wear:wear-remote-interactions:1.1.0-alpha02
został zwolniony. Wersja 1.1.0-alpha02 zawiera te commity.
Zmiany w interfejsie API
- Dodaliśmy
RemoteActivityHelper.isRemoteActivityHelperAvailable
, który pomaga sprawdzić, czy funkcja uruchamiania aktywności zdalnej jest dostępna. (I107a9) - Zaktualizowaliśmy konstruktor
RemoteActivityHelper
, aby zawierał opcjonalny parametr zgodny z językiem Java. (I75554)
Wersja 1.1.0-alpha01
21 czerwca 2023 r.
androidx.wear:wear-remote-interactions:1.1.0-alpha01
został zwolniony. Wersja 1.1.0-alpha01 zawiera te commity.
Poprawki błędów
- Poprawiliśmy sposób, w jaki
RemoteActivityHelper
obsługuje dopełnianie i obsługę błędów. (I60d60)
Darowizna zewnętrzna
- Usuń zależność Guava z
wear-remote-interactions
i użyj mniejszych alternatyw.
Wear-Phone-Interactions w wersji 1.1.0-alpha03
9 marca 2022 r.
androidx.wear:wear-phone-interactions:1.1.0-alpha03
został zwolniony. Wersja 1.1.0-alpha03 zawiera te commity.
Poprawki błędów
- Funkcja
redirectUrl
z poziomuOAuthRequest
zwraca teraz pusty ciąg znaków, jeśli w danym adresie URL żądania nie ma ustawionego adresu URL przekierowania. (I44242)
Wear-Phone-Interactions w wersji 1.1.0-alpha02
15 grudnia 2021 roku
androidx.wear:wear-phone-interactions:1.1.0-alpha02
został zwolniony. Wersja 1.1.0-alpha02 zawiera te commity.
Poprawki błędów
- Napraw błędy w dokumentacji
RemoteAuthClient
, w tym błąd w przykładowym fragmencie kodu i nieaktywny link doErrorCode
(I260e8)
Wear-Phone-Interactions w wersji 1.1.0-alpha01
15 września 2021 r.
androidx.wear:wear-phone-interactions:1.1.0-alpha01
został zwolniony. Wersja 1.1.0-alpha01 zawiera te commity.
Zmiany w interfejsie API
Wear Ongoing & Interactions Version 1.0.0
Wear-Phone-Interactions wersja 1.0.1
15 grudnia 2021 roku
androidx.wear:wear-phone-interactions:1.0.1
został zwolniony. Wersja 1.0.1 zawiera te zatwierdzenia.
Poprawki błędów
- Wyjątek został wygenerowany przez
BridgingManager
, gdy podczas próby wyłączenia powiadomień o połączeniu nie było dostępneexcludedTags
.
Wear-Phone-Interactions Wear-Remote-Interactions Wersja 1.0.0
15 września 2021 r.
androidx.wear:wear-phone-interactions:1.0.0
i androidx.wear:wear-remote-interactions:1.0.0
są dostępne. Wersja 1.0.0 zawiera te zatwierdzenia.
Najważniejsze funkcje wersji 1.0.0
Biblioteka interakcji z telefonem zawiera interfejsy API do interakcji z urządzeniami Wearables i telefonami. Zawiera on te informacje:
PhoneDeviceType
, który udostępnia metody pomocnicze do określania typu telefonu sparowanego z aktualnym zegarkiem (tylko na urządzeniach noszonych).- interfejsy API
BridgingManager
,BridgingManagerService
iBridgingConfig
, aby włączać i wyłączać powiadomienia w czasie działania oraz opcjonalnie ustawiać tagi dla powiadomień, które są wyłączone z trybu mostkowania; RemoteAuthClient
, zapewniając obsługę uwierzytelniania zdalnego na urządzeniach noszonych oraz obsługę rozszerzenia OAuth PKCE. Dostępne są dodatkowe moduły obsługi i klasy pomocnicze do komunikacji.
Biblioteka interakcji zdalnych zawiera interfejsy API do interakcji między urządzeniami Wearables i telefonami. Zawiera on te informacje:
WatchFaceConfigIntentHelper
, udostępniając funkcje pomocnicze do określania identyfikatora i nazwy komponentu w działaniach konfiguracji tarczy zegarka dla aplikacji towarzyszącej na telefonie.RemoteActivityHelper
, która może służyć do otwierania intencji na innych urządzeniach (np. z zegarka na telefon).
Wear-Phone-Interactions Wear-Remote-Interactions Wersja 1.0.0-rc01
1 września 2021 roku
androidx.wear:wear-phone-interactions:1.0.0-rc01
i androidx.wear:wear-remote-interactions:1.0.0-rc01
są dostępne. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiono błąd, który uniemożliwiał propagowanie błędów zgłoszonych w usługach Google Play do wywołującego podczas korzystania z RemoteActivityHelper (I60d60).
- Usunięto błąd, który powodował, że RemoteActivityHelper nigdy nie wypełnia swojej funkcji Future, jeśli nie ma połączonych węzłów lub jeśli nie znaleziono żądanego identyfikatora węzła (I60d60).
Wear – wersja 1.1 w wersji na bieżąco
Wersja 1.1.0-alpha01
23 sierpnia 2023 r.
androidx.wear:wear-ongoing:1.1.0-alpha01
został zwolniony. Wersja 1.1.0-alpha01 zawiera te commity.
Zmiany w interfejsie API
- Dodaj pole opisu treści do bieżącej aktywności. Usługi ułatwień dostępu będą używać tego atrybutu do opisywania bieżącej aktywności. (I79fc6)
Poprawki błędów
- Dodaliśmy uprawnienie
@RequiresPermission
do interfejsów API, które wymagają przyznania uprawnieniaPOST_NOTIFICATIONS
w pakiecie SDK 33 lub nowszym. (Ie542e, b/238790278)
Wear-Ongoing Wersja 1.0.0
1 września 2021 roku
androidx.wear:wear-ongoing:1.0.0
został zwolniony. Wersja 1.0.0 zawiera te zatwierdzenia.
Najważniejsze funkcje wersji 1.0.0
- Interfejs Wear Ongoing Activities API jest interfejsem API dla deweloperów, w tym deweloperów zewnętrznych, który służy do oznaczania aktywności jako „Aktywności w toku” i dostarczania potrzebnych informacji.
- Trwające aktywności to aktywności, które mogą być wykonywane w tle na zegarku (np. treningi, połączenia i multimedia). Na Wear 3 aktywność zadeklarowana jako trwająca będzie lepiej widoczna dzięki specjalnej ikonie nakładki na tarczy zegarka oraz innemu renderowaniu w menu aplikacji.
- Więcej informacji znajdziesz w przewodniku po trwającej aktywności w Wear (w języku angielskim).
Wear-Phone-Interactions Wear-Remote-Interactions Wersja 1.0.0-beta01
18 sierpnia 2021 r.
androidx.wear:wear-phone-interactions:1.0.0-beta01
i androidx.wear:wear-remote-interactions:1.0.0-beta01
są dostępne. Wersja 1.0.0-beta01 zawiera te commity.
Zmiany w interfejsie API
- Zmieniono nazwę zajęć
RemoteIntentHelper
naRemoteActivityHelper
. Zmieniono nazwy funkcjiRemoteIntentHelper#getRemoteIntentExtraIntent
iRemoteIntentHelper#getRemoteIntentNodeId
odpowiednio naRemoteActivityHelper#getTargetIntent
iRemoteActivityHelper#getTargetNodeId
. (Id2042)
Wear – wersja w trakcie 1.0.0-rc01
18 sierpnia 2021 r.
androidx.wear:wear-ongoing:1.0.0-rc01
jest publikowany bez zmian od 1.0.0-beta01
. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
Wear – wersja w trakcie 1.0.0-beta01
4 sierpnia 2021 r.
androidx.wear:wear-ongoing:1.0.0-beta01
został zwolniony. Wersja 1.0.0-beta01 zawiera te commity.
Zmiany w interfejsie API
- Niektóre metody settera w klasie OngoingActivity.Builder obsługują teraz argument null, aby zapewnić symetryczność i spójność metod settera i gettera (I17ee5).
Wear-Phone-Interactions w wersji 1.0.0-alpha07
4 sierpnia 2021 r.
androidx.wear:wear-phone-interactions:1.0.0-alpha07
został zwolniony. Wersja 1.0.0-alpha07 zawiera te commity.
Zmiany w interfejsie API
- Nazwa
WearTypeHelper.isChinaDevice
została zmieniona naWearTypeHelper.isChinaBuild
. (I47302) - Zaktualizowaliśmy bibliotekę RemoteAuthClient, aby automatycznie wybierać parametr redirect_uri na podstawie typu urządzenia (poza Chinami lub Chiny). (I38866)
- Naprawiono błąd, który powodował niepowodzenie konwersji z BridgingConfig do Bundle lub z Bundle do BridgingConfig z wyjątkiem ClassCastException. Dodano testy jednostkowe dla klasy BridgingManagerService. (I68ecb)
Wear-Remote-Interactions w wersji 1.0.0-alpha06
4 sierpnia 2021 r.
androidx.wear:wear-remote-interactions:1.0.0-alpha06
został zwolniony. Wersja 1.0.0-alpha06 zawiera te commity.
Wear-Phone-Interactions w wersji 1.0.0-alpha06
21 lipca 2021 r.
androidx.wear:wear-phone-interactions:1.0.0-alpha06
został zwolniony. Wersja 1.0.0-alpha06 zawiera te commity.
Zmiany w interfejsie API
- Klasa
BridgingManagerSeviceBinder
jest teraz podklasą klasy Service i ma nazwę BridgingManagerSevice. (I9fca2) - Metoda
RemoteAuthClient.Callback.onAuthorizationError
została zmieniona, aby zawierała parametr OAuthRequest. Metody wymagające wywołania zwrotnego wymagają teraz również wykonawcy, który ma je wykonywać. (I35e11)
Poprawki błędów
- Ulepszyliśmy interfejs API uwierzytelniania, dodając więcej udokumentowanych parametrów i używając właściwości tam, gdzie to możliwe. (I12287)
Wear-Phone-Interactions w wersji 1.0.0-alpha05
30 czerwca 2021 r.
androidx.wear:wear-phone-interactions:1.0.0-alpha05
został zwolniony. Wersja 1.0.0-alpha05 zawiera te commity.
Poprawki błędów
- udokumentowane parametry, które należy przekazać w konstruktorze metody
BridgingConfig.Builder
;
Wear – wersja w trakcie 1.0.0-alpha06
2 czerwca 2021 r.
androidx.wear:wear-ongoing:1.0.0-alpha06
został zwolniony. Wersja 1.0.0-alpha06 zawiera te commity.
Zmiany w interfejsie API
- Dodaj pole Tytuł do bieżącej aktywności. (I7a405)
Poprawki błędów
SerializationHelper.copy()
teraz tworzy kopię zapasową informacji (I8b276).- Ulepszona dokumentacja setCategory (Iff01f)
Wear – wersja w trakcie 1.0.0-alpha05
18 maja 2021 r.
androidx.wear:wear-ongoing:1.0.0-alpha05
został zwolniony. Wersja 1.0.0-alpha05 zawiera te commity.
Zmiany w interfejsie API
OngoingActivity
ma teraz metody dostępu do wszystkich wartości ustawionych bezpośrednio w Kreatorze (lub domyślnych wartości pobieranych z powiązanego powiadomienia). (Id8ac8)- Nowa klasa
Status
jest teraz używana do tworzenia stanuOngoingActivity
- Usługi
OngoingActivityData
iOngoingActivityStatus
nie są już częścią publicznego interfejsu API.
- Nowa klasa
Klasy
TextStatusPart
iTimerStatusPart
nie są już częścią publicznego interfejsu API. (I57fb6)- Aby utworzyć
Part
z tekstem statycznym, użyj instrukcjiStatus.TextPart
. - Aby utworzyć
Part
ze stoperem (liczenie w górę), użyjStatus.Stopwatch
. - Aby utworzyć
Part
z minutnikiem (odliczanie), użyjStatus.Timer
.
- Aby utworzyć
Wear – wersja w trakcie 1.0.0-alpha04
5 maja 2021 roku
androidx.wear:wear-ongoing:1.0.0-alpha04
został zwolniony. Wersja 1.0.0-alpha04 zawiera te commity.
Zmiany w interfejsie API
- W klasie OngoingActivity metody z klasy fromExistingOngoingActivity są teraz wywoływane jako recoverOngoingActivity.
- Aktualna aktywność ma teraz pełny zestaw metod getter, które wcześniej były dostępne tylko w ramach OngoingActivityData. (I0ee4d)
Wear-Remote-Interactions w wersji 1.0.0-alpha05
21 lipca 2021 r.
androidx.wear:wear-remote-interactions:1.0.0-alpha05
został zwolniony. Wersja 1.0.0-alpha05 zawiera te commity.
Zmiany w interfejsie API
Dodaliśmy klasę
RemoteIntentHelper
(wcześniej RemoteIntent w bibliotece obsługującej urządzenia do noszenia), która może służyć do otwierania intencji na innych urządzeniach (np. z zegarka na telefon). (I1d7e0)Klasa PlayStoreAvailability została usunięta z biblioteki AndroidX. Aby wykryć, czy Sklep Play jest dostępny na połączonym telefonie, użyj metody
androidx.phone.interactions.PhoneTypeHelper.getPhoneDeviceType
, aby określić, czy połączony telefon to telefon z Androidem. Następnie za pomocą metodyandroidx.wear.utils.WearTypeHelper.isChinaDevice
sprawdź, czy podłączony telefon jest urządzeniem chińskim. Jeśli telefon z Androidem nie jest chińskim urządzeniem, Sklep Play będzie dostępny. (Ie7dec)
Wear-Phone-Interactions w wersji 1.0.0-alpha04
7 kwietnia 2021 r.
androidx.wear:wear-phone-interactions:1.0.0-alpha04
został zwolniony. Wersja 1.0.0-alpha04 zawiera te commity.
Zmiany w interfejsie API
- Zaktualizowano stałe
ErrorCode
, aby nowa biblioteka była zgodna z implementacją w bibliotece Wearable Support Library.
Poprawki błędów
- Usunięto wyjątek spowodowany przez nowy interfejs OAuth API podczas uruchamiania sesji OAuth.
Wear-Remote-Interactions w wersji 1.0.0-alpha03
7 kwietnia 2021 r.
androidx.wear:wear-remote-interactions:1.0.0-alpha03
został zwolniony. Wersja 1.0.0-alpha03 zawiera te commity.
Zmiany w interfejsie API
- Zmiana klasy
PlayStoreAvailability
na klasę zawierającą obiekt towarzyszący z metodami statycznymi. Sposób korzystania z usługi pozostaje bez zmian.
Poprawki błędów
- Poprawiono dokument z podsumowaniem dla
WatchFaceConfigIntentHelper
, aby poprawnie wyświetlał przykładowy kod z rzeczywistymi znakami HTML.
Wear-Ongoing Wear-Phone-Interactions Version 1.0.0-alpha03
10 marca 2021 r.
androidx.wear:wear-ongoing:1.0.0-alpha03
i androidx.wear:wear-phone-interactions:1.0.0-alpha03
są dostępne. Wersja 1.0.0-alpha03 zawiera te commity.
Nowe funkcje
- Przeniesienie klasy OAuthClient z biblioteki Wearable Support Library do AndroidX. Ta przeniesiona klasa została przemianowana na RemoteAuthClient i obsługuje uwierzytelnianie zdalne na urządzeniach noszonych oraz umożliwia dodawanie rozszerzenia PKCE OAuth. Dostępne są dodatkowe moduły obsługi i klasy pomocnicze do komunikacji.
- Trwające aktywności można teraz powiązać z powiadomieniem, które ma tag, za pomocą nowego konstruktora OngoingActivity.Builder.
Zmiany w interfejsie API
- Dodano obsługę tagów powiadomień w bibliotece w sekcji Trwające aktywności (I653b4).
- Przeniesienie klasy OAuthClient z biblioteki obsługującej Wear do AndroidX oraz dodanie obsługi rozszerzenia PKCE OAuth (I3eaaa)
Wear-Remote-Interactions w wersji 1.0.0-alpha02
10 marca 2021 r.
androidx.wear:wear-remote-interactions:1.0.0-alpha02
został zwolniony. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.
Nowe funkcje
- Migracja klasy PlayStoreAvailability z biblioteki Wearable Support Library do AndroidX, która udostępnia interfejs API do sprawdzania, czy Sklep Play jest dostępny na telefonie.
Poprawki błędów
- Migracja klasy PlayStoreAvailability z biblioteki Wearable Support Library do AndroidX. (I69bfe)
Wersja 1.0.0-alpha02
10 lutego 2021 r.
androidx.wear:wear-ongoing:1.0.0-alpha02
i androidx.wear:wear-phone-interactions:1.0.0-alpha02
są dostępne. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodano obsługę bardziej złożonego stanu. Składają się z jednego lub kilku szablonów oraz serii części, które zostaną użyte do wypełnienia placeholderów w szablonie. OngoingActivityStatus ma teraz metodę statyczną do tworzenia prostych stanów z jedną częścią (tekst lub minutnik) oraz kreatora do tworzenia bardziej złożonych stanów. (I1fe81)
- Przeniesienie klas BridgingManager i BridgingConfig z biblioteki Wear Support Library do AndroidX, która udostępnia interfejsy API do włączania i wyłączania powiadomień w czasie działania oraz opcjonalnie do ustawiania tagów dla powiadomień, które są wyłączone z trybułu pośredniczącego. (I3a17e)
Wersja 1.0.0-alpha01
27 stycznia 2021 r.
Funkcje androidx.wear:wear-ongoing:1.0.0-alpha01
, androidx.wear:wear-phone-interactions:1.0.0-alpha01
i androidx.wear:wear-remote-interactions:1.0.0-alpha01
są dostępne. Wersja 1.0.0-alpha01 zawiera te commity.
Zmiany w interfejsie API
Przeniesienie biblioteki bieżących aktywności do nowej podbiblioteki: wear-ongoing. Klasy są teraz dostępne w pakiecie androidx.wear.ongoing (wcześniej androidx.wear.ongoingactivities) (I7c029)
Utwórz nową bibliotekę obsługi, która będzie zawierać klasy obsługujące interakcje z urządzeniami Wearables i telefonami. Początkowo jest ona wypełniona klasami przeniesionymi z biblioteki obsługi urządzeń noszonych. (Id5180)
Przejdź z klasy PhoneDeviceType z biblioteki Wearable Support Library do AndroidX. Przeniesiona klasa została przemianowana na PhoneTypeHelper i zawiera metody pomocnicze do określania typu telefonu, z którym jest sparowany bieżący zegarek, przeznaczone tylko do użytku na urządzeniach do noszenia. (Ibd947)
Utwórz nową bibliotekę obsługi, która będzie zawierać klasy obsługujące interakcje między urządzeniami do noszenia a telefonami. Początkowo jest ona wypełniona klasami przeniesionymi z biblioteki obsługi urządzeń noszonych. (I9deb4)
Przejdź z klasy WatchFaceCompanion z Biblioteki pomocy dla urządzeń do noszenia do AndroidX. Przeniesiona klasa została przemianowana na WatchFaceConfigIntentHelper i zawiera funkcje pomocnicze, które umożliwiają określenie identyfikatora i nazwy komponentu w aktywnościach konfiguracji tarczy zegarka w aplikacji towarzyszącej na telefonie. Można jej też używać lokalnie do konfigurowania tarczy zegarka na urządzeniu do noszenia. (Ia455f)
Wear Complications and Watchface 1.0.0
Wersja 1.0.0-alpha22
15 września 2021 r.
androidx.wear:wear-*:1.0.0-alpha22
został zwolniony. Wersja 1.0.0-alpha22 zawiera te zatwierdzenia.
Nowe funkcje
- Sesja edytora jest teraz subskrybowana przez obserwatorów cyklu życia, więc nie musisz jej już zamykać, gdy Twoja aktywność się zakończy.
Zmiany w interfejsie API
- Komponenty EditorSession i ListenableEditorSession teraz używają kotlin StateFlows w przypadku complicationSlotsState, ComplicationsPreviewData i ComplicationsDataSourceInfo. (I761d9)
- EditorSession#userStyle jest teraz
MutableStateFlow<UserStyle>
(I32ca9) - Metoda EditorSession.createOnWatchEditorSession korzysta teraz z obserwatora cyklu życia i zamyka się automatycznie, gdy zaobserwuje zdarzenie onDestroy. Dodatkowo funkcja
createOnWatchEditorSession
wymaga teraz tylko przekazania aktywności. Analogiczne zmiany zostały też zastosowane do ListenableEditorSession. (Ic6b7f) - Konstruktor CustomValueUserStyleSetting został przywrócony jako część publicznego interfejsu API. (I2e69a)
UserStyle
dziedziczy teraz zMap<UserStyleSetting, UserStyleSetting.Option>
, aMutableUserStyleSetting#put
rzuca IllegalArgumentException, jeśli ustawienie nie znajduje się w schemacie lub opcja nie pasuje do ustawienia. (Iba40f)
Wersja 1.0.0-alpha21
1 września 2021 roku
androidx.wear:wear-*:1.0.0-alpha21
został zwolniony. Wersja 1.0.0-alpha21 zawiera te commity.
Zmiany w interfejsie API
- Wszystkie publiczne interfejsy API tarczy zegarka, klienta, edytora i komplikacji używają teraz klasy java.time.Instant do określania czasu zamiast typu Long. W konsekwencji minimalny poziom interfejsu API wzrósł do 26. (I3cd48)
- Interfejsy API tarczy zegarka i komplikacji używają teraz niezmiennego typu ZonedDateTime zamiast typu Calendar. (I25cf8)
- ComplicationSlots są teraz inicjowane za pomocą NoDataComplicationData, ComplicationSlot.complicationData ma teraz zawsze wartość, a CanvasComplicationDrawable.complicationData nie może już być pusty. (I4dfd6) Zmniejsza (ale nie eliminuje) migotanie widżetów podczas przełączania się między tarczami zegarka.
Wersja 1.0.0-alpha20
18 sierpnia 2021 r.
androidx.wear:wear-*:1.0.0-alpha20
został zwolniony. Wersja 1.0.0-alpha20 zawiera te commity.
Zmiany w interfejsie API
- Dodaliśmy do klasy ComplicationDataSourceInfo metodę createFallbackPreviewData, która może być używana, gdy metoda ComplicationDataSourceInfoRetriever.retrievePreviewComplicationData zwraca wartość null. (I38c4d)
- Interfejs ComplicationDataSourceUpdateRequester został przekształcony, aby umożliwić jego mockowanie w testach jednostkowych. Za pomocą metody ComplicationDataSourceUpdateRequester.create() możesz utworzyć konkretny obiekt ComplicationDataSourceUpdateRequester. (I7da22)
- Parametr RenderParameters.pressedComplicationSlotIds został zastąpiony parametrem RenderParameters.lastComplicationTapDownEvents, który udostępnia nową klasę TapEvent zawierającą potrój współrzędnych x, y dotknięcia w pikselach oraz sygnaturę czasową. Wartość
WatchFace.TapListener.onTap
została zastąpiona wartościąonTapEvent(@TapType tapType: Int, tapEvent: TapEvent)
. Ponadto usunięto zasóbInteractiveWatchFaceClient.displayPressedAnimation
. (Id87d2) - Dodano adnotację dotyczącą wątku dla funkcji setImportantForAccessibility (I990fa).
- Typ ComplicationSlotBoundsType został przeniesiony do pakietu androidx-wear-watchface.ComplicationSlotBoundsType w pakiecie wear/wear-watchface. (I09420)
- Dodaliśmy obsługę przekazywania identyfikatorów zasobów ciągu tekstowego do UserStyleSetting i Options. Jest to obecnie zalecany sposób tworzenia tych obiektów. (I03d5f)
- Zostały nałożone limity maksymalnego rozmiaru danych w schemacie UserStyle. Ikony w schemacie nie mogą mieć wymiarów większych niż 400 x 400 pikseli. (I3b65b)
- Dodaliśmy klasę MutableUserStyle, aby umożliwić wprowadzanie zmian w instancjach UserStyle (I95a40).
- Zmieniliśmy nazwę
ListenableWatchFaceMetadataClient.Companion#listenableCreateWatchFaceMetadataClient
naListenableWatchFaceMetadataClient.Companion#createListenableWatchFaceMetadataClient
. (I64ce2) - Zmieniliśmy EditorState.previewComplicationsData, aby zawierał tylko dane dotyczące włączonych widżetów. Dodaliśmy też
EditorSession.DEFAULT_PREVIEW_TIME_MILLIS
, który w przypadku przekazania do funkcjirenderWatchFaceToBitmap
lubPreviewScreenshotParams
powoduje renderowanie z domyślnym czasem podglądu tarczy zegarka. (If7b3c) - Z publicznego interfejsu API usunęliśmy konstruktory UserStyleSetting, które przyjmują CharSequence. Zalecamy użycie konstruktorów, które wymagają identyfikatorów StringResource. (I8537b)
CurrentUserStyleRepository.UserStyleChangeListener
obsługuje teraz konwersje SAM. (I85989)
Wersja 1.0.0-alpha19
4 sierpnia 2021 r.
androidx.wear:wear-*:1.0.0-alpha19
został zwolniony. Wersja 1.0.0-alpha19 zawiera te commity.
Zmiany w interfejsie API
- Dodaliśmy
ListenableWatchFaceMetadataClient.listenableCreateWatchFaceMetadataClient
, który zapewnia otulający elementListenableFuture
dlaWatchFaceMetadataClient.createWatchFaceMetadataClient
. (I5fa37) - Argument
UserStyleOption.getOptionForId
akceptuje teraz tablicęUserStyleOption.Id
zamiast tablicy bajtów. (I469be) - Dodaj stałe
BooleanOption.TRUE
iBooleanOption.FALSE
oraz zablokuj tworzenie instancji (I46e09). - Metody w pakiecie wear-watchface-client, które mogą wywołać błąd RemoteException, zostały odpowiednio oznaczone. (Ib8438)
- Aby zachować spójność, zmieniliśmy nazwę z
EditorSession.createOnWatchEditingSession
nacreateOnWatchEditorSession
, a zcreateHeadlessEditingSession
nacreateHeadlessEditorSession
. Zmieniliśmy też nazwę ich opakowań na guawę. (I1526b) - Funkcja
EditorSession
jest teraz interfejsem, a funkcjaListenableEditorSession.commitChangesOnClose
jest prawidłowo delegowana. (I7dc3e) - Odrzucamy teraz każdy schemat stylu użytkownika, który zawiera ustawienia lub opcje z konfliktującymi się identyfikatorami (Ic2715).
- Dodaliśmy przeciążoną metodę
UserStyle.get
, która akceptujeUserStyleSetting.Id
. (I2aa0f)
Wersja 1.0.0-alpha18
21 lipca 2021 r.
androidx.wear:wear-*:1.0.0-alpha18
został zwolniony. Wersja 1.0.0-alpha18 zawiera te commity.
Zmiany w interfejsie API
- Przenieśliśmy
ComplicationHelperActivity
do bibliotekiandroidx.wear:wear-watchface
. (I39e76) - Ze względu na spójność i jasność nazwa
ComplicationProvider
została zmieniona naComplicationDataSource
, a wszystkie zajęcia z nazwą „Provider” zostały podobnie zmienione. (Iaef0b) CanvasComplication.isHighlighted
zostało przeniesione doRenderParameters.pressedComplicationSlotIds
. Jest to krok w kierunku stworzeniaCanvasComplication
bez stanu. Aby umożliwić tę zmianę, funkcjaCanvasComplication.render
przyjmuje teraz jako parametr także funkcjęslotId
, a funkcjaComplicationSlot
przekazuje teraz funkcjęGlesTextureComplication
. (I50e6e)- Dodaliśmy parametr
headlessDeviceConfig
doEditorRequest
. Jeśli nie jest równy 0, jest używany do tworzenia instancji bez interfejsu, która obsługuje sesję edytowania, a nie działa na instancji interaktywnej. Pozwala to wywołać edytor dla tarczy zegarka, która nie jest bieżącą. (I0a820) - Dodaliśmy eksperymentalny format
WatchFaceMetadataClient
, który umożliwia wydajne pobieranie metadanych statycznych tarcz zegarka, takich jakUserStyleSchema
, oraz stałych szczegółów dotyczącychComplicationSlots
. (I6bfdf) - Zmieniliśmy nazwę funkcji
CanvasRenderer.uiThreadInit
na init. (I6fff9) - Dodaliśmy nowy opcjonalny parametr EditorRequest o nazwie PreviewScreenshotParams, który instruuje sesję edytora, aby wykonała podglądowy zrzut ekranu podczas zatwierdzania. Obraz podglądu jest widoczny na stronie
EditorState.previewImage
. (Ic2c16)
Poprawki błędów
- Deweloperzy nie muszą już dodawać do swojego pliku manifestu klasy ComplicationHelperActivity. (I6f0c2)
Wersja 1.0.0-alpha17
30 czerwca 2021 r.
androidx.wear:wear-*:1.0.0-alpha17
został zwolniony. Wersja 1.0.0-alpha17 zawiera te commity.
Nowe funkcje
W funkcji
GlesRenderer
argumentymakeUiThreadContextCurrent
imakeBackgroundThreadContextCurrent
zostały zastąpione przezrunUiThreadGlCommands
irunBackgroundThreadGlCommands
, które obie przyjmują argumentRunnable
. Biblioteka zapewnia, że w danym momencie wykonywana jest tylko 1 kompilowana komenda GL.Aby ułatwić inicjowanie wątku UiThread, dodaliśmy metodę
CanvasRenderer.uiThreadInit
, która jest wywoływana raz w wątku UiThread przed każdym wywołaniem renderowania. Dodaliśmy teżonRendererCreated
doCanvasComplication
, co ułatwiaRenderer
iCanvasComplication
udostępnianie stanu.Aby zwiększyć przejrzystość, zmieniliśmy nazwę
Complication
naComplicationSlot
, acomplicationId
nacomplicationSlotId
lubcomplicationInstanceId
w zależności od kontekstu.
Zmiany w interfejsie API
- Dla ułatwienia zmieniliśmy nazwę
Complication
naComplicationSlot
, acomplicationId
nacomplicationSlotId
lubcomplicationInstanceId
w zależności od kontekstu. Klasy korzystające z widżetu zostały podobnie przemianowane, np. ComplicationsManager jest teraz nazywany ComplicationSlotsManager. (I4da44) - W GlesRenderer funkcje
makeUiThreadContextCurrent
imakeBackgroundThreadContextCurrent
zostały zastąpione przez funkcjerunUiThreadGlCommands
irunBackgroundThreadGlCommands
, które obie akceptują parametrRunnable
. Te funkcje są potrzebne tylko wtedy, gdy musisz wywoływać GL poza renderem,runBackgroundThreadGlCommands
ionUiThreadGlSurfaceCreated
. Jest to konieczne, ponieważ w ramach tego samego procesu może być wiele obiektów GlesRenderer z własnymi kontekstami, np. z różnych tarcz zegarka. Dodatkowo dostęp do współdzielonego bieżącego kontekstu GL jest teraz zsynchronizowany. (I04d59) - Dodaliśmy funkcję
CanvasRenderer.uiThreadInit
, która jest wywoływana raz w wątku interfejsu użytkownika przed każdym wywołaniem renderowania. Aby zapewnić przejrzystość w GlesRenderer, zmieniliśmy nazwę funkcjionGlContextCreated
naonBackgroundThreadGlContextCreated
, a funkcjęonGlSurfaceCreated
naonUiThreadGlSurfaceCreated
. (If86d0) - Nazwa
HeadlessWatchFaceClient
&InteractiveWatchFaceClient
getComplicationsSlotState
została zmieniona nagetComplicationSlotsState
. W układzieComplicationSlot
: kolumnycreateRoundRectComplicationBuilder
,createBackgroundComplicationBuilder
icreateEdgeComplicationBuilder
zostały odpowiednio przemianowane nacreateRoundRectComplicationSlotBuilder
,createBackgroundComplicationSlotBuilder
icreateEdgeComplicationSlotBuilder
. (Ib9adc) - Dodaliśmy do CanvasComplication metodę onRendererCreated, która ułatwia udostępnianie stanu przez Renderer i CanvasComplication. (I5e1ac)
Wersja 1.0.0-alpha16
16 czerwca 2021 r.
androidx.wear:wear-*:1.0.0-alpha16
został zwolniony. Wersja 1.0.0-alpha16 zawiera te commity.
Nowe funkcje
- Naprawiliśmy kilka błędów związanych z niedawnymi zmianami w modelu wątków, a także rozwiązaliśmy inne problemy z edytorem tarcz zegarka.
Poprawki błędów
- Zapobieganie NPE w
onComplicationProviderChooserResult
(b/189594557) - Rozwiązanie problemów z nieaktualnymi powierzchniami i metodą drawBlack (b/189452267)
- Naprawić wyścig w dostępie do
complicationsManager.watchState
(b/189457893) - Naprawić błąd dotyczący czasu trwania wątku w tle (b/189445428).
- Napraw problemy w edytorze tarczy zegarka w wersji wstępnej (b/189126313)
- Nie aktualizuj parametrów bezpośredniego uruchamiania w przypadku zmian stylu edytora (b/187177307)
Wersja 1.0.0-alpha15
2 czerwca 2021 r.
androidx.wear:wear-*:1.0.0-alpha15
został zwolniony. Wersja 1.0.0-alpha15 zawiera te commity.
Nowe funkcje
Większość inicjalizacji tarczy zegarka jest teraz wykonywana na wątku w tle, ale po załadowaniu tarczy wszystkie renderowanie itp. jest wykonywane na wątku UiThread. Pomiędzy wczytywaniem a renderowaniem występuje bariera pamięci, więc większość tarcz zegarka nie musi nic specjalnego robić. Wyjątkiem mogą być twarze w GLES, ponieważ kontekst jest specyficzny dla wątku, a my tworzymy 2 połączone konteksty, aby umożliwić przesyłanie zasobów GL (np. tekstur i shaderów) na wątku w tle i używanie ich na wątku interfejsu użytkownika.
Tworzenie tarcz zegarka zostało podzielone na 3 funkcje: createUserStyleSchema, createComplicationsManager i createWatchFace. Zakładamy, że wywołania createUserStyleSchema i createComplicationsManager są szybkie, a createWatchFace może potrzebować trochę czasu na załadowanie zasobów. Korzystając z tego, wprowadziliśmy funkcję WatchFaceControlClient.getDefaultProviderPoliciesAndType
, która zwraca mapę identyfikatorów Complication Ids do DefaultComplicationProviderPolicies i domyślnego typu ComplicationType. Jest to szybsze niż tworzenie instancji bez interfejsu, ponieważ nie trzeba w pełni inicjować tarczy zegarka, aby wykonać zapytanie.
Wreszcie widżety są tworzone za pomocą klasy CanvasComplicationFactory, która umożliwia leniwy sposób tworzenia modułów renderujących CanvasComplication.
Zmiany w interfejsie API
- Zawartość komórki
@TargetApi
została zastąpiona komórką@RequiresApi
. (I0184a, b/187447093, b/187447094) - Wprowadziliśmy funkcję
WatchFaceControlClient.getDefaultProviderPoliciesAndType
, która zwraca mapę identyfikatorów Complication Ids do DefaultComplicationProviderPolicies i domyślnego ComplicationType. W miarę możliwości używana jest szybka ścieżka, która pozwala uniknąć pełnego tworzenia tarczy zegarka. Aby to umożliwić, interfejs API WatchFaceService musiał zostać zmieniony. Dodano 2 nowe metody: createUserStyleSchema i createComplicationsManager, których wyniki są przekazywane do createWatchFace. Ponadto widżety są teraz tworzone za pomocą klasy CanvasComplicationFactory, która umożliwia leniwy sposób tworzenia modułów renderujących CanvasComplication. (Iad6c1) - Usunęliśmy MOST_RECENT_APP z SystemProviders. (I3df00)
- Klasa ObservableWatchData jest teraz zamknięta. (Ic940d)
- Metoda CanvasComplicationFactory.create (która zwykle jest związana z we/wy) jest teraz wywoływana na wątku w tle dla każdej komplikacji przed rozpoczęciem renderowania wątku interfejsu użytkownika. Pomiędzy budowaniem a renderowaniem występuje bariera pamięci, więc nie są wymagane żadne specjalne prymitywy wątku. (Ia18f2)
- Tworzenie tarczy zegarka jest teraz wykonywane na wątku w tle, ale wszystkie operacje renderowania są wykonywane na wątku interfejsu użytkownika. Aby to umożliwić, GlesRenderer obsługuje 2 połączone konteksty. Zapytania WatchFaceControlClient.createHeadlessWatchFaceClient i WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient mogą zostać rozwiązane przed zakończeniem działania zapytania WatchFaceService.createWatchFace. Kolejne wywołania interfejsu API będą blokowane do czasu zakończenia inicjalizacji tarczy zegarka. (Id9f41)
- Parametry EXPANSION_DP i STROKE_WIDTH_DP nie są już widoczne w pliku api.txt. (I54801)
- Zmieniliśmy metodę EditorSession.createOnWatchEditingSession tak, aby w przypadku błędu zamiast wysyłać nullową sesję wywoływała ona wyjątek TimeoutCancellationException. Dodatkowo wartość zwracana przez metody EditorRequest.createFromIntent i EditorSession.createOnWatchEditingSession jest teraz typu NonNull. (I41eb4)
Wersja 1.0.0-alpha14
18 maja 2021 r.
androidx.wear:wear-*:1.0.0-alpha14
został zwolniony. Wersja 1.0.0-alpha14 zawiera te zatwierdzenia.
Nowe funkcje
EditorSession.openComplicationProviderChooser
zwraca teraz ChosenComplicationProvider, który zawiera identyfikator komplikacji,ComplicationProviderInfo
oraz pakiet zawierający wszelkie dodatkowe elementy zwrócone przez selektor dostawcy.- Ponadto stopniowo migrujemy kod na Kotlin, a większość interfejsu API tarczy zegarka jest teraz definiowana w tym języku.
Zmiany w interfejsie API
- Właściwości GlesRenderer
eglContext
ieglDisplay
nie mogą teraz przyjmować wartości null. Wszystkie błędy GL są teraz zgłaszane za pomocąGlesRenderer.GlesException
, a nie RuntimeExceptions. (Ib1005) - Przenieśliśmy
androidx.wear.watchface.complications.rendering.ComplicationDrawable
z języka Java na Kotlin (Ibc3eb). - Przenieśliśmy
androidx.wear.watchface.complications.rendering.ComplicationStyle
z języka Java do Kotlina (I3375e). - Dodaliśmy informacje o dostawcy widżetu dla każdego widżetu w ramach EditorSession. (I37f14)
- Rozszerzyliśmy wynik funkcji
EditorSession.openComplicationProviderChooser
, aby uwzględnić informacje zwracane przez funkcję chosen. (Iead6d)
Widżety na tarczę zegarka i tarcze zegarka w wersji 1.0.0-alpha13
5 maja 2021 roku
androidx.wear:wear-*:1.0.0-alpha13
został zwolniony. Wersja 1.0.0-alpha13 zawiera te zatwierdzenia.
Nowe funkcje
Tarcze zegarka mogą zawierać ważne elementy wizualne inne niż godzina i widżety. Aby zapewnić obsługę czytników ekranu, tarcza zegarka może teraz określać etykiety ContentDescriptionLabels za pomocą właściwości Renderer.additionalContentDescriptionLabels. Aby kontrolować kolejność etykiet ContentDescriptionLabels, dodano do komplikacji atrybuty TraversalIndex. Można go zmienić za pomocą ustawienia użytkownika dotyczącego stylu komplikacji.
Aby zachęcić deweloperów do uwzględnienia czytników ekranu, uczyniliśmy pola
ShortTextComplicationData.Builder
,LongTextComplicationData.Builder
iRangedValueComplicationData.Builder
w klasachcontentDescription
obowiązkowymi. JeśliComplicationText.EMPTY
zostanie przekazane jakocontentDescription
,contentDescription
zostanie wygenerowane automatycznie na podstawie tekstu i tytułu.WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient
teraz powodujeServiceStartFailureException
, jeśli tarcza zegarka wyrzuca wyjątek podczas inicjowania. Ułatwia to diagnozowanie problemów podczas uruchamiania tarczy zegarka.
Zmiany w interfejsie API
- Dodaliśmy obsługę nazwy komponentu null w ComplicationProviderInfo, która jest potrzebna do obsługi starszych wersji Wear OS. (I744d2)
- Przeprowadziliśmy migrację
androidx.wear.complications.SystemProviders
z języka Java na Kotlin. (Ia1f8b) - Ukryliśmy wszystkie klasy z publicznego interfejsu API, które znajdują się w pakiecie android.support.wearable.complications, i w razie potrzeby utworzyliśmy odpowiednie opakowania w AndroidX. (I7bd50)
- Zmieniliśmy nazwę metody w
TimeDifferenceComplicationText.Builder
zsetMinimumUnit
nasetMinimalTimeUnit
. (I20c64) - Wprowadziliśmy wymóg przekazywania pól
ShortTextComplicationData.Builder
,LongTextComplicationData.Builder
iRangedValueComplicationData.Builder
w konstruktorze.contentDescription
(I8cb69) - Zmieniliśmy nazwę metody ComplicationProviderService.onComplicationUpdate na onComplicationRequest i zakapsułowaliśmy parametry id i type tej metody w danych ComplicationRequest. Odpowiadający mu odbiorca został przemianowany na ComplicationRequestListener, a jego metoda na ComplicationRequestListener.onComplicationData. (Iaf146)
- Usunęliśmy metodę
isActiveAt
z funkcjiComplicationData
i zamiast niej dodaliśmy polevalidTimeRange
. Ten wywołanie metody można zastąpić wywołaniemvalidTimeRange.contains
. (I65936) - Zmieniliśmy opis metody ComplicationProviderService.onComplicationActivated, aby zamiast typu int zwracała typ ComplicationType (Idb5ff).
- Przeniesiono klasę ProviderUpdateRequester z języka Java do Koltin. (Ibce13)
- Metoda GlesRender.makeContextCurrent jest teraz publiczna. Kod tarczy zegarka może wymagać wywołań gl poza renderowaniem i onGlContextCreated. Ponieważ może występować zarówno kontekst interaktywny, jak i bez głowy, konieczne jest wywołanie tego. (I8a43c)
- Metoda WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient powoduje teraz wyjątek ServiceStartFailureException, jeśli podczas inicjalizacji zegarka wystąpi wyjątek. Dodatkowo WatchFaceService wyrzuca teraz wyjątek, jeśli tworzenie tarczy zegarka trwa dłużej niż 6 sekund. (I59b2f)
- Usunęliśmy nieużywaną właściwość identyfikatora
GlesTextureComplication
. (I28958) - Tarcza zegarka może teraz określać etykiety ContentDescriptionLabels na potrzeby ułatwień dostępu za pomocą właściwości additionalContentDescriptionLabels obiektu
Renderer
. Oprócz możliwości kontrolowania kolejności etykiet ContentDescriptionLabels dodano do komplikacji funkcję accessibilityTraversalIndex. Można go zmienić za pomocą ustawienia użytkownika dotyczącego stylu komplikacji. (Ib7362) - Rozwiń dokumentację dotyczącą obsługi zdarzeń dotyku na tarczy zegarka. (Iaf31e)
Poprawki błędów
- Funkcja
EditorSession.getComplicationsPreviewData()
zwraca teraz mapę dla każdego, a nie tylko niepustych elementów. W przypadku pustych widżetów używana jest instancja EmptyComplicationData. (I1ef7e)
Widżety na tarczę zegarka i tarcze zegarka w wersji 1.0.0-alpha12
21 kwietnia 2021 r.
androidx.wear:wear-*:1.0.0-alpha12
został zwolniony. Wersja 1.0.0-alpha12 zawiera te zatwierdzenia.
Nowe funkcje
Edytory tarczy zegarka muszą wyróżniać części tarczy, aby ułatwić użytkownikom zrozumienie, który element zegarka jest konfigurowany. Rozszerzyliśmy parametry renderowania, aby umożliwić wyróżnianie stylów i widżetów. Jest to nowa opcjonalna warstwa HighlightLayer, która ma być nałożona na tarczę zegarka z przezroczystością alfa (interfejsy API do tworzenia zrzutów ekranu mogą wykonać to za Ciebie lub udostępnić warstwę HighlightLayer samodzielnie, aby zapewnić maksymalną elastyczność). Załóżmy na przykład, że masz styl, który pozwala skonfigurować wygląd wskazówek zegarka. Twój renderer może narysować wokół nich kontur w renderHighlightLayer.
Aby zachęcić dostawców widżetów do uwzględnienia dostępności, utworzyliśmy pole contentDescription w klasach PhotoImageComplicationData.Builder, MonochromaticImageComplicationData.Builder i SmallImageComplicationData.Builder, które jest obowiązkowym argumentem konstruktora. Dodano ComplicationTapFilter i Complication.createEdgeComplicationBuilder, aby obsługiwać widżety krawędziowe (rysowane wzdłuż krawędzi ekranu). Testowanie renderowania i dostępności widżetów na krawędziach należy do tarczy zegarka. Testowanie trafień na krawędzi nie jest obsługiwane w edytorze towarzyszącym.
Zmiany w interfejsie API
- Dodano prefiks
PROVIDER_
do stałych w SystemProviders. (I1e773) - Pole
contentDescription
w klasachPhotoImageComplicationData.Builder
,MonochromaticImageComplicationData.Builder
iSmallImageComplicationData.Builder
jest teraz obowiązkowe w konstruktorze. (I9643a) - Nazwa
ProviderInfoRetriever.requestPreviewComplicationData
została zmieniona naretrievePreviewComplicationData
. (I911ee) - Klasa
ComplicationProviderService
została przeniesiona z języka Java do Koltin. (I849f2) - Metoda
ComplicationProviderService.onBind
jest teraz ostateczna (I39af5) - Przywróciliśmy interfejs
CanvasComplication
i przenieśliśmy sekcjeCanvasComplicaitonDrawable
,GlesTextureComplication
iComplicationHighlightRenderer
do sekcjiwear-watchface-complications-rendering
. (I84670) - Komponent
RenderParameters
został przebudowany, aby obsługiwał rozszerzone renderowanie wyróżnień. Teraz możesz poprosić o wyrenderowanie wyróżnień dla stylów, wszystkich komplikacji lub pojedynczej komplikacji. Dodatkowo klasy CanvasRenderer i GlesRenderer mają nową abstrakcyjną metodę renderHighlightLayer do renderowania podświetlenia żądanego przez edytor. Warstwa została przemianowana na WatchFaceLayer. (Ic2444) - Aby obsługiwać widżety krawędziowe, dodaliśmy aplikacje
ComplicationTapFilter
iComplication.createEdgeComplicationBuilder
. Renderowanie i testowanie kolizji widżetów na krawędziach zależy od tarczy zegarka. Testowanie docelowych interakcji nie jest obsługiwane w edytorach. (Ia6604) - W przypadku
DoubleRangeUserStyleSetting
iLongRangeUserStyleSetting
: właściwościdefaultValue
,maximumValue
iminimumValue
są teraz właściwościami Kotlin. Dodatkowo funkcjeUserStyleSetting.Option
, takie jak toBooleanOption, toCoplicationOptions, toListOption i inne, zostały usunięte. (I52899) - Dodaj rozmiar czapki do właściwości urządzenia dostępnych dla tarczy zegarka. (I76e1e)
- Konstruktor
ComplicationHighlightRenderer
obsługuje teraz parametryoutlineExpansion
ioutlineStrokeWidth
. (I87009) - Interfejs
ComplicationDrawable.getNoDataText
jest teraz częścią publicznego interfejsu API. (I00598)
Wersja 1.0.0-alpha11
7 kwietnia 2021 r.
androidx.wear:wear-*:1.0.0-alpha11
został zwolniony. Wersja 1.0.0-alpha11 zawiera te commity.
Nowe funkcje
- Interfejsy API tarcz zegarka zostały ulepszone. Większość zmian to proste zmiany nazw, ale
InteractiveWatchFaceWcsClient
iInteractiveWatchFaceSysUiClient
zostały połączone w jedną funkcjęInteractiveWatchFaceClient
.
Zmiany w interfejsie API
- ContentDescriptionLabel.text jest teraz elementem ComplicationText, a nie elementem TimeDependentText ze starej biblioteki pomocy dla urządzeń noszonych. (I80c03)
- Aplikacja
SystemProviders.GOOGLE_PAY
nie jest dostępna na wszystkich urządzeniach z Androidem R, dlatego została usunięta z listy. Nadal można korzystać z tego dostawcy za pomocą aplikacjiDefaultComplicationProviderPolicy
(If01b5) - Zmieniliśmy nazwę ComplicationUpdateCallback na ComplicationUpdateListener, aby zachować spójność. (I61ec7)
- Mapa formatu UserStyle w formacie wire została zmieniona na
Map<String, byte[]>
. Dla wygody do publicznego interfejsu API dodano klasęUserStyleData
, która jest teraz używana przez wear-watchface-client i wear-watchface-editor. Dodatkowo wartość CustomValueUserStyleSetting.CustomValueOption.value to terazbyte[]
zamiastString
. (Iaa103) - Właściwości
UserStyleSetting
iUserStyleSetting.Option
używają teraz odpowiednio typówUserStyleSetting.Id
iUserStyleSetting.Option.Id
do przechowywania identyfikatorów zamiast typu String. (I63f72) - Nazwa
InteractiveWatchFaceClient.SystemState
została zmieniona naWatchUiState
. (I6a4e0) InteractiveWatchFaceWcsClient
iInteractiveWatchFaceSysUiClient
zostały połączone, ponieważ trudno było wyjaśnić podział odpowiedzialności (Iff3fa)- Zmieniliśmy nazwy wartości enumeracji warstwy, aby były bardziej przejrzyste.
Layer#TOP_LAYER
to terazLayer#COMPLICATIONS_OVERLAY
, aLayer#BASE_LAYER
to terazLayer#BASE
(Ia144e) - Nazwa
UserStyleListener
została zmieniona naUserStyleChangeListener
(I18524) - Nazwa
UserStyleRepository
została zmieniona naCurrentUserStyleRepository
(I6ea53) - Nazwa
InteractiveWatchFaceWcsClient.updateInstance
została zmieniona naupdateWatchfaceInstance
. (I321dc) - Zdarzenia WatchFace.TapType zostały przemianowane, aby były zgodne z zdarzeniami MotionEvents / Compose. (I0dfd0)
- takeWatchfaceScreenshot zostało przemianowane na renderWatchFaceToBitmap, a takeComplicationScreenshot – na renderComplicationToBitmap (Ie0697).
- Interfejs CanvasComplication został usunięty na rzecz otwartej klasy CanvasComplicationDrawable. (I1f81f)
WatcfaceControlServiceFactory
został usunięty z publicznego interfejsu API. (I1f8d3)- Zmieniliśmy nazwę
CanvasComplication.setData
naCanvasComplication.loadData
. (If1239) - Nazwa
ComplicationsManager.bringAttentionToComplication
została zmieniona nadisplayPressedAnimation
. (Ic4297) - Subkonto
WatchFaceService.createWatchFace
ma teraz adnotację@UiThread
. (Ib54c2) - Zmieniono nazwę parametru CanvasComplicationDrawable, aby naprawić błąd. (I50dac)
- Dodaliśmy
HeadlessWatchFaceClient.toBundle()
iHeadlessWatchFaceClient.createFromBundle
, aby umożliwić wysyłanieHeadlessWatchFaceClient
przez AIDL. (I07c35) - W klasach HeadlessWatchFaceClient i InteractiveWatchFaceClient dostępne są teraz metody ClientDisconnectListener i isConnectionAlive(), które umożliwiają sprawdzenie, czy połączenie zostało przerwane z jakiegoś powodu (np. ze względu na zakończenie działania tarczy). (Ie446d)
- Funkcja
WatchFaceControlClient#getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync
jest teraz funkcją zawieszania i nosi nazwęgetOrCreateInteractiveWatchFaceClient
. (Ib745d) EditorState.commitChanges
ihasCommitChanges()
mają teraz nazwęshouldCommitChanges()
. (I06e04)- Nazwa
previewComplicationData
została zmieniona napreviewComplicationsData
, aby wskazać, że na mapie jest (zwykle) więcej niż 1 komplikacja. (I56c06) - Aby zachować spójność z poziomami
ComplicationsManager.displayPressedAnimation
, zmieniliśmy nazwę poziomuInteractiveWatchFaceWcsClient.bringAttentionToComplication
nadisplayPressedAnimation
. (Ic9999) - Wszystkie instancje identyfikatora instancji tarczy zegarka zostały zakapsułkowane w nowej klasie WatchFaceId (I45fdf).
- Nazwa właściwości
complicationState
została zmieniona nacomplicationsState
, aby wskazać liczbę mnogą. (Ided07) - Usunęliśmy różne konwersje Bindera dla zegarka Wear OS i klienta. (Icc4c0)
- Aby zachować spójność, w funkcji
EditorServiceClient
zastosowaliśmy odświeżoną wersję, która używa słuchaczy zamiast obserwatorów. (Iec3a4) - Dodaliśmy kilka brakujących adnotacji
@Px
doInteractiveWatchFaceSysUiClient
iWatchFaceControlClient
. (I3277a) - Zmieniono nazwę interfejsu EditorObserverCallback na EditorObserverListener, aby zachować spójność. (Ie572d)
- Właściwość EditorState.watchFaceInstanceId jest ograniczona do poziomu interfejsu API Androida R lub nowszego i nie może już przyjmować wartości null. (Id52bb)
- Nazwa
EditorSession.launchComplicationProviderChooser
została zmieniona naopenComplicationProviderChooser
. (I9d441) - Funkcja
EditorSession.createOnWatchEditingSessionAsync
została przemianowana nacreateOnWatchEditingSession
i jest teraz funkcją zawieszania. (Id257b) - Dodano kilka brakujących adnotacji
@UiThread
w miejscuEditorSession
. (I6935c) - Nazwa
UserStyleSetting.affectsLayers
została zmieniona naaffectedLayers
. (I6e22b)
Wersja 1.0.0-alpha10
24 marca 2021 r.
androidx.wear:wear-*:1.0.0-alpha10
został zwolniony. Wersja 1.0.0-alpha10 zawiera te zatwierdzenia.
Nowe funkcje
- Teraz można tworzyć obiekty open gl (np. tekstury) podczas wywołania metody WatchFaceService.createWatchFace, ponieważ teraz metoda GlesRenderer wymaga jawnego wywołania initOpenGLContext, co można zrobić w ramach metody createWatchFace.
Zmiany w interfejsie API
- Interfejs
IdAndComplicationData
był nieco niewygodny, dlatego został usunięty z publicznego interfejsu API. Klasy i interfejsy, które go używały, zostały przekształcone. (I4c928) - Zastąpiliśmy
ReferenceTime
wartościamiCountUpTimeReference
iCountDownTimeReference
, które są bardziej zrozumiałe. (Ib66c6) - Dodano brakujące adnotacje
@Px
i@ColorInt
. (I9bbc3) - Właściwość
Complication.complicationConfigExtras
nie może teraz przyjmować wartości NULL i ma domyślnie wartośćBundle.EMPTY
. (Iad04f) GlesRenderer
wymaga teraz wywołaniainitOpenGLContext
po zakończeniu tworzenia. Ta funkcja była szczegółem wewnętrznym, ale teraz jest dostępna w publicznym interfejsie API, aby umożliwić wcześniejsze wywoływanie GL w ramach funkcji createWatchFace. (I726c2)- Usunęliśmy
Complication.setRenderer
, ponieważ nie powinno być potrzebne. (Ie992f) - Interfejs
Complicaiton.setComplicationBounds
nie jest już częścią publicznego interfejsu API. Jeśli chcesz zmienić pozycję widżetu, możesz to zrobić za pomocąComplicationsUserStyleSetting
. (Ibd9e5) - Nazwa
ComplicationsManager.TapCallback.onComplicationSingleTapped
została zmieniona naonComplicationTapped
. (I3a55c) - Nazwa
ComplicationOutlineRenderer.drawComplicationSelectOutline
została zmieniona nadrawComplicationOutline
. (I14b88)
Wersja 1.0.0-alpha09
10 marca 2021 r.
androidx.wear:wear-complications-*:1.0.0-alpha09
i androidx.wear:wear-watchface-*:1.0.0-alpha09
są dostępne. Wersja 1.0.0-alpha09 zawiera te commity.
Nowe funkcje
- Interfejs między hostem WCS/SysUI a tarczą na zegarku ewoluował. Edytor może teraz określić, czy zmiana stylu spowoduje włączenie lub wyłączenie powiadomienia (włączone = initiallyEnabled plus dowolne zastąpienie z ComplicationsUserStyleSetting). Ponadto
EditorService.closeEditor
umożliwia SysUI zdalnie zamykanie edytora tarczy zegarka w razie potrzeby. - Dodatkowo
InteractiveWatchFaceWcsClient.setUserStyle
z bardziej zaawansowanym poleceniemupdateInstance
, które: zmienia identyfikator instancji, ustawia styl i czyszczy komplikacje – wszystko w jednym kroku.
Zmiany w interfejsie API
- Do bibliotek tarcz zegarka dodano zdarzenia śledzone. (I1a141)
- W usługach
ComplicationState
jest teraz dostępna nowa właściwośćinitiallyEnabled
, która ułatwia przewidywanie konsekwencji zmiany stylu. (I8c905) - Zastąpiliśmy operatora
InteractiveWatchFaceWcsClient.setUserStyle
bardziej zaawansowanym operatoremupdateInstance
, który zmienia identyfikator instancji, ustawia styl i czyszczy komplikacje. (Ife6f6) - Interfejsy API zrzutów ekranu WatchFaceClient nie kompresują już zrzutów ekranu, ponieważ było to powolne. Zamiast tego pozostawiamy przetwarzanie pobierania do wykonania przez wywołującego. (Id35af)
- Teraz możesz zdalnie zamykać edytor tarczy zegarka za pomocą przycisku
EditorService.closeEditor
. (Ic5aa4) - Dodano adnotacje dotyczące możliwości wystąpienia wartości null (Ic16ed)
Wersja 1.0.0-alpha08
24 lutego 2021 r.
androidx.wear:wear-*:1.0.0-alpha08
został zwolniony. Wersja 1.0.0-alpha08 zawiera te commity.
Nowe funkcje
- Niektóre tarcze zegarka są zaprojektowane z uwzględnieniem jednego lub większej liczby konkretnych widżetów. Aby umożliwić to, dodaliśmy funkcję Complication.Builder#setFixedComplicationProvider, która po ustawieniu na wartość Prawda uniemożliwia użytkownikowi zmianę widżetu w danym miejscu.
- Biblioteki tarcz zegarka są w pierwszej kolejności w Kotlinie i korzystają z korobonów (np. zawieszanie funkcji). Dla użytkowników Javy udostępniliśmy pakiety ListenableFuture, aby poprawić współdziałanie w tych bibliotekach: wear/wear-watchface-guava, wear/wear-watchface-client-guava i wear/wear-watchface-editor-guava.
Zmiany w interfejsie API
- Usunęliśmy obsługę podwójnego dotknięcia elementów dodatkowych, które uruchamiały wybór dostawcy. Ta funkcja nie była powszechna w tarczkach zegarka i skomplikowała implementację interfejsu SysUI. (I3ef24)
- Metody klasy ProviderInfoRetriever mogą wywołać wyjątek ServiceDisconnectedException, jeśli binder zostanie zamknięty nieoczekiwanie. (Ib2cc4)
- Począwszy od Androida 11, istnieją ograniczenia dotyczące tego, kiedy można uruchomić ProviderChooser. Chcemy też, aby edytory były tworzone przy użyciu nowego interfejsu
wear-watchface-editor
, dlatego usuwamy ComplicationHelperActivity z publicznego interfejsu API. (Ib19c1) - Usuń statyczne metody ComplicationText na rzecz metod budujących. (Ibe399)
- Wprowadziliśmy owijaki guava ListenableFuture dla różnych zawieszonych metod biblioteki tarcz zegara. (I16b2c)
- W celu ułatwienia korzystania z interfejsu API dodaliśmy do RenderParameters dodatkowy konstruktor, który nie wymaga odcienia, i który można stosować z wartością LayerModes inną niż
LayerMode.DRAW_OUTLINED
. (I497ea) - Wcześniej funkcja ListUserStyleSetting różniła się od pozostałych, ponieważ miała argument domyślny. Teraz wszystkie konstruktory podklasy StyleSetting przyjmują wartość domyślną jako ostatnią. (I9dbfd)
- Klasa CanvasComplication została przekształcona, aby używać ukrytej metody, która ułatwia implementację podklasy (I5b321).
- Zrefaktoryzowaliśmy interfejs EditorResult na rzecz nowego interfejsu EditorService i interfejsu
EditorSession.broadcastState()
, aby przesyłać aktualizacje do obserwatora (zwykle SysUI). (Ic4370) - Niektóre tarcze zegarka są tworzone wokół konkretnego widżetu jako integralnej części tarczy, której dostawca nie udostępnia użytkownikowi możliwości konfiguracji. Aby Ci to ułatwić, dodaliśmy
Complication.Builder#setFixedComplicationProvider
. (I4509e) - EditorRequest określa teraz nazwę pakietu zamiast nazwy komponentu, ponieważ wyszukiwanie nazwy klasy edytora było niewygodne dla interfejsu SysUI, a nam potrzebna jest tylko nazwa pakietu. (Ib6814)
Wersja 1.0.0-alpha07
10 lutego 2021 r.
androidx.wear:wear-*:1.0.0-alpha07
został zwolniony. Wersja 1.0.0-alpha07 zawiera te commity.
Nowe funkcje
- Funkcja WatchFaceService.createWatchFace jest teraz funkcją zawieszania, co oznacza, że tarcza zegarka nie musi już blokować wątku interfejsu podczas oczekiwania na operacje wejścia/wyjścia. Podobnie w przypadku wear-watchface-editor i wear-complications-data.
Zmiany w interfejsie API
- Usuń klasę PhotoImage i użyj bezpośrednio klasy Icon. (I8a70b)
- Wyświetl prawidłowy zakres czasu ComplicationData. (I91366)
- Uczynić atrybuty podobne do obrazu bardziej jednoznacznymi. (I81700)
- Pakiety wear-watchface-editor i wear-complications-data zostały przebudowane, aby używały funkcji zawieszania zamiast coroutine. Rx java i Future kompatybilne obudowy do dalszego stosowania. (If3c5f)
- ProviderInfoRetriever zgłasza teraz PreviewNotAvailableException, jeśli requestPreviewComplicationData nie może zwrócić danych podglądu z powodu problemów z połączeniem lub braku obsługi interfejsu API. (I4964d)
- Funkcja WatchFaceControlService::createWatchFaceControlClient jest teraz zawieszona, a getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient jest teraz wywoływana jako getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync z argumentem zwracającym
Deferred<InteractiveWatchFaceWcsClient>
. RX java i Future kompatybilnościowe wrappery wkrótce. (I5d461) - Zmień nazwę
CATEGORY_PROVIDER_CONFIG_ACTION
naCATEGORY_PROVIDER_CONFIG
. (I7c068) - Funkcja createOnWatchEditingSession jest teraz zawieszona, ponieważ tarcza zegarka jest czasami niedostępna, dopóki nie rozpocznie się aktywność edytora. (Ida9aa)
- WatchFaceService.createWatchFace to teraz funkcja zawieszania, która umożliwia asynchroniczne inicjowanie. Wcześniej trzeba było zablokować wątek główny. (If076a)
- Funkcja UserStyle ma teraz operator tablic, a do funkcji UserStyle.Option dodaliśmy pomocnicze metody konwersji. (I35036)
- Usunęliśmy błąd dotyczący serializacji w ramach formatów danych UserStyle, który powodował zmianę niektórych niestabilnych ukrytych interfejsów API. (I8be09)
- Dodaliśmy ustawienie CustomValueUserStyleSetting, które umożliwia przechowywanie ciągu znaków dla pojedynczej aplikacji w ramach UserStyle. Domyślne edytory tarczy zegarka zignorują tę wartość. (Ic04d2)
- Identyfikator InstanceID nie jest przekazywany w ekstrach intencji w przypadku wersji R i starszych wersji Androida WearOS, których nie możemy uaktualnić. Aby to umożliwić, zezwalamy teraz na wartość null dla InstancID. (Id8b78)
- EditorRequest zawiera teraz nazwę komponentu edytora, który jest ustawiony jako komponent w WatchFaceEditorContract.createIntent (I3cd06).
- Zmiana: obiekt EditorResult zawiera teraz dane ComplicationData, aby umożliwić wywołującemu zrobienie zrzutu ekranu tarczy zegarka po jej zmodyfikowaniu. (I2c561)
Poprawki błędów
- Dodano zastąpienia toString() do UserStyle, UserStyleSetting i UserStyleSchema, co ułatwia pracę z tymi klasami. (I9f5ec)
Wersja 1.0.0-alpha06
27 stycznia 2021 r.
androidx.wear:wear-*:1.0.0-alpha06
został zwolniony. Wersja 1.0.0-alpha06 zawiera te commity.
Nowe funkcje
- Wprowadziliśmy nową bibliotekę wear/wear-watchface-editor, która umożliwia twórcom tarcz i OEM-om tworzenie edytora stylów i komplikacji. SysUI wyśle intencję do tarczy zegarka, która użyje nowej klasy EditorSession, aby uzyskać dostęp do szczegółów tarczy zegarka i zarejestrować wynik za pomocą Activity.setWatchRequestResult. Aby to umożliwić, dodaliśmy funkcję ProviderInfoRetriever.requestPreviewComplicationData, która umożliwia edytorom tarczy zegarka żądanie danych ComplicationData w wersji podglądu. Zaletą danych ComplicationData w podglądzie jest to, że w odróżnieniu od danych na żywo nie musisz się martwić o wyświetlanie okienek z prośbą o uprawnienia podczas renderowania edytora (uwaga: jeśli użytkownik wybierze dostawcę z uprawnieniami, nadal będzie proszony o ich przyznanie).
Zmiany w interfejsie API
- W polu ComplicationProviderInfo jest teraz pole dla nazwy komponentu dostawcy. Obsługa tego pola zostanie dodana do Wear OS w późniejszym czasie. W międzyczasie będzie ono puste. (Id8fc4)
- Dodaliśmy metodę ProviderInfoRetriever.requestPreviewComplicationData, która umożliwia edytorom tarczy zegarka żądanie danych ComplicationData w wersji podglądowej. Jest to przydatne, ponieważ widżety na żywo mogą wymagać uprawnień, a teraz możesz wyświetlać dane podglądu w przypadku widżetów, które nie są aktywne. (I2e1df)
- Klasa ComplicationManager jest teraz opcjonalnym parametrem konstruktora WatchFace, a jej argumenty zostały zmienione. (I66c76)
- Dodaliśmy opcjonalne opcje pakietu do widżetów, które po ustawieniu są łączone z przesłanym zamiarem, aby uruchomić aktywność wyboru dostawcy. (Ifd4ad)
- Dodaliśmy nową bibliotekę
wear-watchface-editor
, aby umożliwić korzystanie z edytorów hostowanych na tarczy zegarka i w ramach interfejsu SysUI. SysUI uruchamia te edytory, wysyłając odpowiednią intencję. Usługa aktywności tarczy zegarka może używać nowej klasy EditorSession, aby uzyskać dostęp do szczegółów tarczy zegarka i zanotować wynik za pomocą Activity.setWatchRequestResult. (I2110d) - Parametr LayerMode.DRAW_HIGHLIGHTED ma teraz nazwę LayerMode.DRAW_OUTLINED, a RenderParameters.highlightComplicationId – RenderParameters.selectedComplicationId. Ten ostatni rysuje oprócz obrysu również podświetlenie na wskazanej komplikacji. (I90a40)
- W przyszłości metoda WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient może zwracać wyjątek ServiceStartFailureException, jeśli usługa przestanie działać podczas oczekiwania na utworzenie tarczy zegarka. (I0f509)
- EditorSession.complicationPreviewData jest teraz obiektem ListenableFuture, ponieważ pobieranie tych danych jest procesem asynchronicznym. (Iead9d)
Poprawki błędów
- Usuwamy nieużywane pola z elementu ComplicationOverlay, pozostawiając włączone i komplikacjęBounds. (I17b71)
Wersja 1.0.0-alpha05
13 stycznia 2021 r.
androidx.wear:wear-*:1.0.0-alpha05
został zwolniony. Wersja 1.0.0-alpha05 zawiera te commity.
Nowe funkcje
Tarcze często obsługują wiele konfiguracji z różną liczbą wyświetlanych widżetów. Aby ułatwić konfigurację, obsługujemy teraz początkowo wyłączone komplikacje, wywołując setEnabled(false) w budującym. Można je włączyć później za pomocą ComplicationsUserStyleSetting.
Zmiany w interfejsie API
- ComplicationHelperActivity przyjmuje teraz
Collection<ComplicationType>
zamiast tablicy int, co ułatwia korzystanie z tej funkcji. (I1f13d) - Funkcja
ProviderInfoRetriever.retrieveProviderInfo
zwraca teraz poprawnie wartośćListenableFuture<ProviderInfo[]>
. (JEŻELI2710) - Teraz możesz utworzyć początkowo wyłączoną komplikację, wywołując metodę setEnabled(false) w budującym. (Idaa53)
- W stanie WatchFaceState jest teraz dostępna właściwość isHeadless, która ma wartość true tylko w przypadku instancji bez interfejsu. (Ifa900)
- ComplicationDrawable opcjonalnie obsługuje teraz synchroniczne wczytywanie obiektów drawable. Jest on używany przez interfejsy API zrzutu ekranu. (I34d4a)
Wersja 1.0.0-alpha04
16 grudnia 2020 roku
androidx.wear:wear-*:1.0.0-alpha04
został zwolniony. Wersja 1.0.0-alpha04 zawiera te commity.
Nowe funkcje
- Biblioteka tarcz zegarka Wear obsługuje teraz ustawianie ograniczeń według typu. Możesz na przykład użyć szerokiego ogranicznika dla typu ComplicationType.LONG_TEXT, a dla innych typów – mniejszego ogranicznika.
Zmiany w interfejsie API
- Widżety korzystają teraz z elementu ComplicationBounds, który zawiera element
Map<ComplicationType, RectF>
, aby obsługiwać różne rozmiary widżetów. (I1ebe7) - ParametryRenderowania umożliwiają teraz określenie odcienia podświetlenia do użycia na zrzutach ekranu. (Iff42b)
- Aby zmodyfikować komplikacje, musisz teraz użyć opcji ComplicationsUserStyleSetting (z wyjątkiem ograniczeń), co ma na celu zapewnienie synchronizacji z systemem operacyjnym. (I8dc5d)
- Renderer jest teraz zamkniętą klasą. Oznacza to, że CanvasRenderer i GlesRenderer są teraz wewnętrznymi klasami Renderer. (Iab5d4, b/173803230)
- Zmiana nazwy CanvasComplicationDrawable.drawHighlight na drawOutline. W ObservableWatchData brakuje kilku adnotacji UiThread. ScreenState został całkowicie usunięty z WatchState. (If1393)
- Minimalny poziom interfejsu API dla tarcz do noszenia to teraz 25. Pamiętaj, że obsługa rysunku na ekranie wymaga interfejsu API na poziomie 26 lub wyższym. (Ic9bbd)
- Interaktywna funkcja WatchFaceWcsClient ma teraz pomocniczą funkcję getComplicationIdAt. (I05811)
- Poziom interfejsu API dla wear-watchface-client został obniżony do 25, ale interfejsy API do robienia zrzutów ekranu wymagają poziomu 27. (Id31c2)
Poprawki błędów
- W stanie ComplicationState udostępniamy teraz typ ComplicationType bieżących danych ComplicationData. (I9b390)
- InteraktywnaWatchFaceWcs ma teraz metodę `bringAttentionToComplication, aby krótko wyróżnić określoną komplikację. (I6d31c)
InteractiveWatchFaceWcsClient#setUserStyle
ma teraz przeciążenie przyjmujące Map<string, string="">, które może potencjalnie uniknąć dodatkowej komunikacji IPC niezbędnej do tworzenia UserStyle. (I24eec)</string,>
Wersja 1.0.0-alpha03
2 grudnia 2020 r.
androidx.wear:wear-*:1.0.0-alpha03
został zwolniony. Wersja 1.0.0-alpha03 zawiera te commity.
Nowe funkcje
Klasa Complication ma teraz właściwość compicationData, która umożliwia tarczom zegarka obserwowanie zmian w danych widżetu. Dzięki temu możesz zmieniać wymiary widżetu w zależności od jego typu.
Zmienna liczba klatek na sekundę jest teraz obsługiwana przez przypisanie do Renderer.interactiveDrawModeUpdateDelayMillis. W przypadku tarcz zegarka, które odtwarzają krótkie animacje co sekundę, może to prowadzić do znacznego oszczędzania energii, ponieważ tarcza przechodzi w stan uśpienia, gdy nie odtwarza animacji.
Zmiany w interfejsie API
- Nazwa
BACKGROUND_IMAGE
została zmieniona naPHOTO_IMAGE
, a powiązane z nią zajęcia zostały przemianowane. Ten typ widżetu nie jest używany wyłącznie do tła, dlatego zmieniliśmy jego nazwę. (I995c6) - Zasada DefaultComplicationProviderPolicy jest odpowiednio opatrzona adnotacjami za pomocą IntDefs. (I3b431)
- Ukryta klasa TimeDependentText nie jest już dostępna za pomocą ContentDescriptionLabel. Zamiast tego dodaliśmy metodę dostępu, która umożliwia pobieranie tekstu w określonym czasie. (Ica692)
- Konstruktor ObservableWatchData jest teraz wewnętrzny. (I30121, b/173802666)
- Widżet ma teraz dane, które umożliwiają tarczom zegarka obserwowanie zmian w danych widżetu. Widżet ma też nowe wywołanie isActiveAt, które można wykorzystać do określenia, czy w podanym czasie i dacie coś ma zostać wyrenderowane. (Ic0e2a)
- Pusty parametr
SharedMemoryImage
nie jest już dostępny w interfejsie API. (I7ee17) - Argument
WatchFace.overridePreviewReferenceTimeMillis
ma teraz adnotację IntRange, a metody getter i setter mają spójne nazwy. (Ia5f78) - Aby zwiększyć przejrzystość,
Complication.Builder
jest teraz tworzony za pomocą aplikacjiComplication.createRoundRectComplicationBuilder
lubComplication.createBackgroundComplicationBuilder
(I54063) - Dodano WatchFace.TapListener, który umożliwia tarczy zegarka obserwowanie kliknięć niewykorzystywanych przez widżety. (Ic2fe1, b/172721168)
- WatchFace obsługuje teraz zmienną liczbę klatek na sekundę dzięki przypisaniu do
Renderer.interactiveDrawModeUpdateDelayMillis
. Pomaga to oszczędzać baterię, ponieważ animacja jest wyłączana, gdy nie jest wyświetlana. (I707c9) - Klasa WatchFace.Builder nie jest już potrzebna, a funkcje invalidate() i interactiveUpdateRateMillis zostały przeniesione do klasy Renderer. (I329ea)
- W celu poprawy interoperacyjności w Javie zmieniono nazwy metod pobierania właściwości logicznych w WatchState (I6d2f1).
- Z powodu spójności zmieniono nazwę interfejsu TapListener na TapCallback, a interfejsu InvalidateCallback – na InvalidateListener. (I9414e)
- Aby zachować przejrzystość, opcje stylu tarczy zegarka Wear 2.0 zostały przeniesione do osobnej klasy. Metody settera WatchFace.Builder mają teraz symetryczne metody gettera klasy WatchFace. (Iefdfc)
- Dodano InteractiveWatchFaceWcsClient i
WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient
, które albo pobiera istniejący egzemplarz, albo tworzy go po połączeniu usługi tła i utworzenia silnika. (Id666e) - WatchFaceControlClient jest teraz interfejsem, który umożliwia testom jego emulację. (I875d9)
- Interfejsy HeadlessWatchFaceClient, InteractiveWatchFaceSysUiClientImpl i InteractiveWatchFaceWcsClient ułatwiają testowanie. (I7cdc3)
- Dodano adnotacje do metod w
wear-watchface-complications-rendering
(I0d65c)
Poprawki błędów
- Usuń z DeviceConfig kształt ekranu, który powielał się w pliku
android.content.res.Configuration#isScreenRound()
(Ifadf4). - Zmieniliśmy
WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient
, aby przyjmowałMap<String, String>
zamiastUserStyle
, ponieważ trudno jest utworzyćUserStyle
bez znajomości schematu, który można uzyskać dopiero po utworzeniu klienta. (Iea02a) - Zmień
InteractiveWatchFaceWcsClient
, aby używać formatuComplicationState
zamiast formatu specyfikacji. (Icb8a4) UserStyleSettings
jest teraz zamkniętą klasą, ponieważ edytory tarcz zegarka rozumieją tylko wbudowane klasy. (I2d797)
Wersja 1.0.0-alpha02
11 listopada 2020 roku
androidx.wear:wear-*:1.0.0-alpha02
został zwolniony. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
ComplicationDetails
ma teraz nazwęComplicationState
, jest prawidłowo zapakowana, a użytki z obsługi urządzeń noszonych@ComplicationData.ComplicationType
zostały przeniesione do androidxComplicationType
. (I4dd36)- Dodaj opcjonalny parametr
highlightedComplicationId
do RenderParameters, aby żądać podświetlenia pojedynczej komplikacji na zrzutach ekranu. (I66ce9) ComplicationProviderService
, aby zachować spójność, używać interfejsu API nowych widżetów (Id5aea);- Usługa
getPreviewReferenceTimeMillis
pobiera teraz czasy odniesienia z usługiDeviceConfig
. (I779fe) - Aby uprościć interfejs API dla renderowania, możesz zamiast tego użyć interfejsu
SurfaceHolder.Callback
do obserwowania zmian. (I210db) CanvasComplicationRenderer
nie rozszerzaRenderer
, dlatego zmieniliśmy jego nazwę. (Ibe880)
Poprawki błędów
- Pierwsza wersja
androidx.wear:wear-watchface-client
(I1e35e) - Zmieniono nazwę
GlesTextureComplication#renderer
w celu zwiększenia przejrzystości (Ib78f7). - Zmień nazwę
StyleCategory
naStyleSetting
ze względu na przejrzystość (I488c7) - Dodanie parametru
UserStyleSchema
w celu uporządkowania interfejsu API (If36f8)
Wersja 1.0.0-alpha01
28 października 2020 r.
androidx.wear:wear-complications-*:1.0.0-alpha01
i androidx.wear:wear-watchface-*:1.0.0-alpha01
są dostępne. Wersja 1.0.0-alpha01 zawiera te commity.
Zmiany w interfejsie API
- Usunęliśmy niektóre elementy, których nie zamierzaliśmy udostępniać w publicznym interfejsie API. (I41669)
- Utwórz bibliotekę
androidx.wear:wear-complications-provider
. (I77f1f) - ComplicationsUserStyleCategory – nowa zalecana kategoria do konfigurowania widżetów (I96909)
- Dodaj interfejs Wear skompilowanych danych. (I7c268)
- Funkcje zwracające wartości logiczne powinny mieć przedrostek „is”, a nie „get” (If36ff).
- Zalecamy unikanie korzystania z interfejsu API w trybie chronionym, więc ta klasa została przebudowana, aby przyjmowała parametry przez konstruktor. (I61644)
- Zmień nazwę setBackgroundComplication, aby była bardziej przejrzysta. (I96fe3)
- Używanie właściwości Kotlina w przypadku obiektu ComplicationDrawable isHighlighted & data (I4dcc8)
- Zamiast ComplicationRenderer.InvalidateCallback dodajemy Complication#invalidate() (I4f4c6)
- Te interfejsy API są wycofywane w WearableSupport i są tutaj usunięte. (Ib425c)
- Zmieniono nazwy niektórych metod kreatora tarczy zegarka, aby podkreślić ich starszy charakter (dla Wear OS 2.0). (Idb775)
- Pierwszy kandydat do wersji beta interfejsu API dla Wear/Wear-watchface (Id3981)
- Pierwsza śledzona wersja interfejsu API. (Ie9fe6)
- Prawidłowe ukrywanie ComplicationDrawable.BorderStyle IntDef i przenoszenie do ComplicationStyle w celu zapewnienia spójności. (I27f7a)
- Dodawanie brakujących adnotacji do metod ComplicationStyle (I838fd)
- Ta biblioteka nie ma publicznego interfejsu API (I88e2b)
- Wszystkie klasy opcji kategorii stylów są teraz poprawnie ostatecznie. (Ib8323)
- Pierwsza śledzona wersja interfejsu API. (I27c85)
Poprawki błędów
- Zmieniono ComplicationProviderService, aby zawierał on jawną metodę getComplicationPreviewData. (I4905f)
- Sprawdzanie lint interfejsu API pod kątem braku metody gettera pasującego do Buildera jest włączone w androidx (I4bbea, b/138602561).
- Zmień nazwę wear-complications-rendering. (Ifea02)
- Wyświetlane nazwy kategorii stylów są teraz ciągami znaków (I28990)
- Zastępowanie funkcji Zastąp za pomocą funkcji Nakładka, aby dopasować ją do konwencji nazewnictwa bieżących motywów i stylów. (I4fde9)
- Zmieniono nazwę UserStyle#getOptions w celu zwiększenia przejrzystości. (I695b6)
Wersja 1.2.0
Wersja 1.2.0
15 września 2021 r.
androidx.wear:wear:1.2.0
został zwolniony. Wersja 1.2.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.1.0
Dodano komponent CurvedText, który umożliwia łatwe tworzenie wygiętego tekstu zgodnie z krzywizną największego okręgu, który można wpisać w widok. Przykład użycia:
<androidx.wear.widget.CurvedText android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="example curved text" app:anchorAngleDegrees="180" app:anchorPosition="center" app:clockwise="false" style="@android:style/TextAppearance.Large" />
Dodano kontener ArcLayout do układania elementów podrzędnych jeden po drugim na łuku w kierunku zgodnym lub przeciwnym do ruchu wskazówek zegara. Jego elementami mogą być standardowe widżety Androida lub „zaokrąglone” widżety, które implementują interfejs
ArcLayout.Widget
. (I536da) Przykład użycia:<androidx.wear.widget.ArcLayout android:layout_width="match_parent" android:layout_height="match_parent" app:anchorPosition="center"> <ImageView android:layout_width="20dp" android:layout_height="20dp" android:src="@drawable/ic_launcher" /> <androidx.wear.widget.CurvedText android:layout_width="match_parent" android:layout_height="match_parent" android:text="Curved Text" style="@android:style/TextAppearance.Small" android:padding="2dp" /> </androidx.wear.widget.WearArcLayout>
Dodaliśmy nowy kontener układu, DismissibleFrameLayout, który obsługuje zamykanie za pomocą przycisku Wstecz lub przesunięcia w stronę, przeznaczony do użytku w ramach aktywności. Aby obsłużyć działanie odrzucenia, musisz dodać co najmniej 1 słuchacza. Listener zazwyczaj usuwa widok zawierający lub fragment z bieżącej aktywności. Funkcje setSwipeDismissible(boolean) i setBackButtonDismissible(boolean) umożliwiają bezpośrednie sterowanie funkcjami. Ten nowy układ ma zastąpić istniejący układ SwipeDismissFrameLayout.
Dodano obsługę wskazującą, że aktywność może być „automatycznie wznawiana”, gdy urządzenie opuszcza tryb oświetlenia kinowego w klasie AmbientModeSupport. Ta funkcja była wcześniej dostępna w nieużywanej klasie WearableActivity z WearableSupportLibrary. (I336ab)
Przeniesiona klasa WearableCalendarContract z biblioteki obsługi urządzeń noszonych. Ten interfejs API udostępnia podzbiór danych dostępnych za pomocą CalendarContract, ale jest automatycznie synchronizowany z urządzeniami do noszenia. (I6f2d7)
Dodano nowy interfejs API
WearTypeHelper
wandroidx.wear.utils
, który umożliwia określenie, czy dane urządzenie do noszenia jest przeznaczone na rynek chiński. (Ib01a9)Dodano funkcje ułatwień dostępu do
androidx.wear.widget.ConfirmationOverlay
, które będą odczytywać wiadomości, jeśli zostaną ustawione, a następnie opis animacji. (I524dd)Naprawiliśmy błąd, który powodował awarię ConfirmationActivity, jeśli nie podano wiadomości. (Ie6055)
Naprawiono błąd, który powodował, że poziome przewijanie RecyclerView powodowało wyświetlanie wszystkich interakcji przez
WearableDrawerLayout
. (I24c7f)
Wersja 1.2.0-rc01
1 września 2021 roku
androidx.wear:wear:1.2.0-rc01
jest wersją bez zmian od ostatniej wersji beta. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.
Wersja 1.2.0-beta01
18 sierpnia 2021 r.
androidx.wear:wear:1.2.0-beta01
został zwolniony. Wersja 1.2.0-beta01 zawiera te commity.
Poprawki błędów
- Naprawiono błąd, który powodował awarię ConfirmationActivity, jeśli nie podano wiadomości. (Ie6055)
Wersja 1.2.0-alpha13
4 sierpnia 2021 r.
androidx.wear:wear:1.2.0-alpha13
został zwolniony. Wersja 1.2.0-alpha13 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Nazwa
WearTypeHelper.isChinaDevice
została zmieniona naWearTypeHelper.isChinaBuild
. (I47302)
Poprawki błędów
- Dodaliśmy do
androidx.wear.widget.ConfirmationOverlay
funkcje ułatwień dostępu, które odczytują wiadomości, jeśli są ustawione, a następnie opis animacji. (I524dd)
Wersja 1.2.0-alpha12
21 lipca 2021 r.
androidx.wear:wear:1.2.0-alpha12
został zwolniony. Wersja 1.2.0-alpha12 zawiera te commity.
Zmiany w interfejsie API
- Dodaliśmy nowy interfejs API
WearTypeHelper
wandroidx.wear.utils
, który pozwala określić, czy dane urządzenie do noszenia jest przeznaczone na rynek chiński. (Ib01a9)
Wersja 1.2.0-alpha11
30 czerwca 2021 r.
androidx.wear:wear:1.2.0-alpha11
został zwolniony. Wersja 1.2.0-alpha11 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiono błąd, który powodował, że poziome przewijanie RecyclerView powodowało wyświetlanie wszystkich interakcji przez
WearableDrawerLayout
. (I24c7f)
Wersja 1.2.0-alpha10
2 czerwca 2021 r.
androidx.wear:wear:1.2.0-alpha10
został zwolniony. Wersja 1.2.0-alpha10 zawiera te zatwierdzenia.
Nowe funkcje
- Alpha10 ulepsza obsługę ułatwień dostępu w Tekście zakrzywionym i ArcLayout. Wprowadziliśmy też drobne zmiany nazw w klasie DismissibleFrameLayout, aby ułatwić korzystanie z interfejsu API.
Zmiany w interfejsie API
- Zmieniliśmy nazwy tych metod w wersji
DismissibleFrameLayout
(Ib195e):Callback#onDismissed
->Callback#onDismissedFinished
isSwipeDismissible
->isDismissableBySwipe
isBackButtonDismissible
->isDismissableByBackButton
- Zatwierdziliśmy te metody (Ib195e):
setBackButtonDismissible
setSwipeDismissible
registerCallback
unregisterCallback
Poprawki błędów
- Użyj treści CurvedTextView w TalkBack. (I05798)
- Ulepszona dostępność w przypadku zwykłych widoków w ArcLayout. (I4418d)
Wersja 1.2.0-alpha09
18 maja 2021 r.
androidx.wear:wear:1.2.0-alpha09
został zwolniony. Wersja 1.2.0-alpha09 zawiera te commity.
Zmiany w interfejsie API
- Dodano nową funkcję
CurvedTextView.setTypeface()
(podobną do funkcjiTextView
), która służy do ustawiania kroju pisma i stylu pogrubienia/kursywy. (I4653c) - Zmieniono nazwę
WearArcLayout
naArcLayout
,WearCurvedText
naCurvedText
iWearArcLayout.ArcLayoutWidget
naArcLayout.Widget
. (I6e5ce)- W dniu
ArcLayout.Widget
nazwagetThicknessPx
została zmieniona nagetThickness
. - Stała wyrównania w pionie w elementach
ArcLayout.LayoutParams
ma teraz nazwę zaczynającą się odVERTICAL_ALIGN_
(zamiast poprzedniejVALIGN_
).
- W dniu
- W systemie
CurvedTextView
metodysetMinSweepDegrees
isetMaxSweepDegrees
zostały zastąpione przezsetSweepRangeDegrees
(I7a9d9)
Wersja 1.2.0-alpha08
5 maja 2021 roku
androidx.wear:wear:1.2.0-alpha08
został zwolniony. Wersja 1.2.0-alpha08 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Aby zwiększyć przejrzystość kodu, dodaliśmy adnotacje
@FloatRange
do niektórych parametrów kąta i typów zwracanych wartości. (I430dd) - W interfejsie
WearArcLayout.ArcLayoutWidget
metodainsideClickArea
ma teraz nazwę isPointInsideClickArea. (Ia7307)
Wersja 1.2.0-alpha07
24 marca 2021 r.
androidx.wear:wear:1.2.0-alpha07
został zwolniony. Wersja 1.2.0-alpha07 zawiera te commity.
Poprawki błędów
- Poprawiono błędy dotyczące elementów niekrzywych wewnątrz WearArcLayout spowodowane użyciem rozmiaru ekranu o większej wysokości niż szerokości. Te niezakrzywione elementy są teraz prawidłowo umieszczone wewnątrz łuku na wszystkich typach ekranów.
Wersja 1.2.0-alpha06
27 stycznia 2021 r.
androidx.wear:wear:1.2.0-alpha06
został zwolniony. Wersja 1.2.0-alpha06 zawiera te commity.
Zmiany w interfejsie API
- Bibliotekę bieżących aktywności przeniesiono do nowej podbiblioteki: „Aktywności na bieżąco”. Klasy są teraz dostępne w pakiecie androidx.wear.ongoing (wcześniej androidx.wear.ongoingactivities) (I7c029)
- Przeniesienie klasy WearableCalendarContract z biblioteki pomocy dotyczącej urządzeń do noszenia do AndroidX. Ten interfejs API udostępnia podzbiór danych dostępnych za pomocą CalendarContract, ale jest automatycznie synchronizowany z urządzeniami do noszenia. (I6f2d7)
Poprawki błędów
- Domyślnie wyłącz funkcję anulowania za pomocą przycisku W przypadku ramki Dismissable FrameLayout, ponieważ przesuwanie palcem w górę i w dół jest nadal głównym sposobem na cofnięcie na pełnym ekranie na urządzeniach do noszenia (Ic24e3)
- Rozwiązano kilka problemów z obsługą widoczności elementów podrzędnych w komponencie WearArcLayout (Icf912).
Wersja 1.2.0-alpha05
13 stycznia 2021 r.
androidx.wear:wear:1.2.0-alpha05
został zwolniony. Wersja 1.2.0-alpha05 zawiera te commity.
Poprawki błędów
- Zaktualizuj javadoc klasy AmbientModeSupport, aby zawierał przykładowe fragmenty kodu, które lepiej pokazują ogólne zastosowanie tej klasy.
Wersja 1.2.0-alpha04
16 grudnia 2020 roku
androidx.wear:wear:1.2.0-alpha04
został zwolniony. Wersja 1.2.0-alpha04 zawiera te commity.
Zmiany w interfejsie API
- Dodano obsługę wskazującą, że aktywność może być „automatycznie wznawiana”, gdy urządzenie opuszcza tryb oświetlenia kinowego w klasie AmbientModeSupport. Ta funkcja była wcześniej dostępna w nieużywanej klasie WearableActivity z WearableSupportLibrary. (I336ab)
- Trwająca aktywność
- Kategorię można teraz ustawić podczas tworzenia trwającej aktywności, np.
OngoingActivitiy.Builder.getCategory(String)
- Dane OngoingActivityData zawierają teraz sygnaturę czasową z chwili utworzenia OngoingActivity –
OngoingActivityData.getTimestamp()
- (I91cb4)
- Kategorię można teraz ustawić podczas tworzenia trwającej aktywności, np.
- Dodano obsługę ustawiania marginesów elementów podrzędnych WearArcLayout przez zmianę parametrów układu na rozszerzenie MarginLayoutParams, czyli WearArcLayout.LayoutParams rozszerza android.view.ViewGroup.MarginLayoutParams. (I2cd88)
- Zmień domyślny typ kotwicy obiektu WearCurvedTextView na
WearArcLayout.ANCHOR_CENTER
(wcześniejWearArcLayout.ANCHOR_START
). Upraszcza to relację między układem łuku a zakrzywionym tekstem, ponieważ zakrzywiony tekst domyślnie jest rysowany z wyśrodkowaniem w górnej części, a układ łuku nadrzędnego może go obrócić w wyznaczone miejsce. (I105ff)
Wersja 1.2.0-alpha03
2 grudnia 2020 r.
androidx.wear:wear:1.2.0-alpha03
został zwolniony. Wersja 1.2.0-alpha03 zawiera te komisy.
Nowe funkcje
Nowy kontener układu DismissibleFrameLayout, który obsługuje usuwanie za pomocą przycisku Wstecz lub przesunięcia, przeznaczony do użytku w ramach aktywności. Aby obsłużyć działanie odrzucenia, musisz dodać co najmniej 1 słuchacza. Listener zazwyczaj usuwa widok zawierający lub fragment z bieżącej aktywności. Do bezpośredniego sterowania funkcjami służą metody setSwipeDismissible(boolean) i setBackButtonDismissible(boolean). Ten nowy układ ma zastąpić istniejący układ SwipeDismissFrameLayout.
Widgety wygięte teraz obsługują zdarzenia dotyku. Zwykłe widżety w układzie WearArcLayout będą otrzymywać wszystkie zdarzenia dotykowe, mapowane na ich przestrzeń współrzędnych. Element WearCurvedTextView (w elementach WearArcLayout lub bez nich) może ustawiać metody obsługi onClick i onLongClick.
Klasy trwających aktywności są teraz obiektami VersionedParcelables zamiast używać niestandardowej serializacji i deserializacji. Statyczna ikona i intencja dotknięcia są teraz wymagane.
Zmiany w interfejsie API
- Atrybut „sweepDegrees” dla komponentu WearCurvedTextView jest podzielony na minSweepDegrees i maxSweepDegrees, aby umożliwić bardziej elastyczny układ tego widżetu.
Wersja 1.2.0-alpha02
11 listopada 2020 roku
androidx.wear:wear:1.2.0-alpha02
został zwolniony. Wersja 1.2.0-alpha02 zawiera te commity.
W tej wersji po raz pierwszy udostępniamy nowy interfejs „Ongoing Activities API”. Deweloperzy mogą używać tego interfejsu API, aby sygnalizować, że trwa długotrwała aktywność, np. ćwiczenia fitness lub odtwarzanie multimediów. Umożliwia deweloperom wyświetlanie okresowych aktualizacji stanu, takich jak „dystans i czas biegu” czy „bieżący odtwarzany utwór”, na tarczy zegarka lub w aplikacji. Ta funkcja jest przeznaczona do przyszłych urządzeń z włączoną funkcją ciągłej aktywności.
Zmiany w interfejsie API
- Nowy interfejs API dla trwających aktywności, który nie działa na „nieobsługiwanych urządzeniach”. (I69a31)
Wersja 1.2.0-alpha01
28 października 2020 r.
androidx.wear:wear:1.2.0-alpha01
został zwolniony. Wersja 1.2.0-alpha01 zawiera te commity.
Nowe funkcje
- Dodano komponent WearCurvedTextView, który umożliwia łatwe pisanie wygiętego tekstu zgodnie z krzywizną największego okręgu, który mieści się w widoku. Przykład użycia:
<androidx.wear.widget.WearCurvedTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="example curved text"
app:anchorAngleDegrees="180"
app:anchorPosition="center"
app:clockwise="false"
style="@android:style/TextAppearance.Large"
/>
- Dodano kontener WearArcLayout do układania elementów podrzędnych jeden po drugim na łuku w kierunku zgodnym lub przeciwnym do ruchu wskazówek zegara. Jego elementami mogą być standardowe widżety Androida lub „zakrzywione” widżety, które implementują interfejs ArcLayoutWidget. Przykład użycia:
<androidx.wear.widget.WearArcLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:anchorPosition="center">
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/ic_launcher"
/>
<androidx.wear.widget.WearCurvedTextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Curved Text"
style="@android:style/TextAppearance.Small"
android:padding="2dp"
/>
</androidx.wear.widget.WearArcLayout>
(I536da)
Wear-Input 1.2
Wersja 1.2.0-alpha02
29 września 2021 r.
androidx.wear:wear-input:1.2.0-alpha02
i androidx.wear:wear-input-testing:1.2.0-alpha02
są dostępne. Wersja 1.2.0-alpha02 zawiera te commity.
Zmiany w interfejsie API
- Zmieniliśmy nazwę parametru
disallowEmoji
nasetEmojisAllowed
w sekcjiWearableRemoteInputExtender
, aby umożliwić określenie, czy ma być wyświetlana opcja rysowania emotikonów. (I28393)
Wersja 1.2.0-alpha01
15 września 2021 r.
androidx.wear:wear-input:1.2.0-alpha01
i androidx.wear:wear-input-testing:1.2.0-alpha01
są dostępne. Wersja 1.2.0-alpha01 zawiera te commity.
Zmiany w interfejsie API
- Wyświetla wszystkie stałe lokalizacje przycisku z
WearableButtons
. (Ibb12c) - Dodano klasę
WearableRemoteInputExtender
, która może służyć do dodawania funkcji specyficznych dla Wear do klasy android.app.RemoteInput. (I01903)
Wear-Input 1.1.0
Wersja 1.1.0
18 sierpnia 2021 r.
androidx.wear:wear-input:1.1.0
i androidx.wear:wear-input-testing:1.1.0
są dostępne. Wersja 1.1.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.0.0
- Dodano
RemoteInputIntentHelper
.- Tej klasy można używać do tworzenia intencji RemoteInput. Możesz go użyć, aby poprosić użytkowników o dane w ramach dostosowywanej aktywności.
Wersja 1.1.0-rc01
4 sierpnia 2021 r.
androidx.wear:wear-input:1.1.0-rc01
i androidx.wear:wear-input-testing:1.1.0-rc01
są dostępne. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.
Brak zmian w interfejsie API od wersji androidx.wear:wear-input:1.1.0-beta01
i androidx.wear:wear-input-testing:1.1.0-beta01
Wersja 1.1.0-beta01
21 lipca 2021 r.
androidx.wear:wear-input:1.1.0-beta01
i androidx.wear:wear-input-testing:1.1.0-beta01
są publikowane bez zmian od 1.1.0-alpha03
. Wersja 1.1.0-beta01 zawiera te commity.
Wersja 1.1.0-alpha03
30 czerwca 2021 r.
androidx.wear:wear-input:1.1.0-alpha03
i androidx.wear:wear-input-testing:1.1.0-alpha03
są dostępne. Wersja 1.1.0-alpha03 zawiera te commity.
Poprawki błędów
- Naprawiono błąd, który powodował odrzucenie intencji RemoteInput, do których dodano
RemoteInput
za pomocąRemoteInputHelper.putRemoteInputsExtra
.
Wersja 1.1.0-alpha02
18 maja 2021 r.
androidx.wear:wear-input:1.1.0-alpha02
i androidx.wear:wear-input-testing:1.1.0-alpha02
są dostępne. Wersja 1.1.0-alpha02 zawiera te commity.
Zmiany w interfejsie API
- Metody
RemoteInputIntentHelper
, które służą do pobierania lub umieszczania dodatkowych elementów reprezentujących etykiety tytułu, anulowania, potwierdzenia i trwającego, używają teraz etykietyCharSequence
zamiastString
. (I0e71f)
Wersja 1.1.0-alpha01
27 stycznia 2021 r.
androidx.wear:wear-input:1.1.0-alpha01
i androidx.wear:wear-input-testing:1.1.0-alpha01
są dostępne. Wersja 1.1.0-alpha01 zawiera te commity.
Zmiany w interfejsie API
- Przeniesienie klasy RemoteInputIntent z biblioteki pomocy Wearable do AndroidX. Przeniesiona klasa została przemianowana na RemoteInputIntentHelper i zawiera funkcje pomocnicze do obsługi zdalnych danych wejściowych przez uruchamianie intencji. (I47cee)
Wear-Input 1.0.0
Wersja 1.0.0
2 grudnia 2020 r.
androidx.wear:wear-input:1.0.0
i androidx.wear:wear-input-testing:1.0.0
są dostępne. Wersja 1.0.0 zawiera te zatwierdzenia.
Ta wersja jest identyczna z 1.0.0-rc01
.
Najważniejsze funkcje wersji 1.0.0
Przeniesienie funkcji WearableButtons z biblioteki Wearable Support Library do Jetpacka.
Dodano
androidx.wear.input.test.TestWearableButtonsProvider
, który implementujeandroidx.wear.input.WearableButtonsProvider
, aby ułatwić testowanie aplikacji opracowanych za pomocą bibliotekiandroidx.wear:wear-input
.
Wersja 1.0.0-rc01
11 listopada 2020 roku
androidx.wear:wear-input:1.0.0-rc01
i androidx.wear:wear-input-testing:1.0.0-rc01
są dostępne. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
Ta wersja jest identyczna z 1.0.0-beta01
.
Wersja 1.0.0-beta01
28 października 2020 r.
androidx.wear:wear-input:1.0.0-beta01
i androidx.wear:wear-input-testing:1.0.0-beta01
są publikowane bez zmian od 1.1.0-alpha01
. Wersja 1.0.0-beta01 zawiera te commity.
Wear-Input-Testing w wersji 1.0.0-alpha01
14 października 2020 r.
androidx.wear:wear-input-testing:1.0.0-alpha01
został zwolniony. Wersja 1.0.0-alpha01 zawiera te commity.
Zmiany w interfejsie API
- Dodano
androidx.wear.input.test.TestWearableButtonsProvider
, który implementujeandroidx.wear.input.WearableButtonsProvider
, aby ułatwić testowanie aplikacji opracowanych za pomocą bibliotekiandroidx.wear:wear-input
. (I0ed0c)
Wear-Input w wersji 1.0.0-alpha01
2 września 2020 r.
androidx.wear:wear-input:1.0.0-alpha01
został zwolniony. Wersja 1.0.0-alpha01 zawiera te commity.
Nowe funkcje
Przeniesienie funkcji WearableButtons z biblioteki Wearable Support Library do Jetpacka. W kolejnych wersjach Jetpacka udostępnimy dodatkową obsługę testów w bibliotece androidx.wear:wear-input-testing
.
Wersja 1.1.0
Wersja 1.1.0
14 października 2020 r.
androidx.wear:wear:1.1.0
został zwolniony. Wersja 1.1.0 zawiera te zatwierdzenia.
Najważniejsze zmiany od wersji 1.0.0
- Aby zachować zgodność z konwencją nazewnictwa Androida, dodaliśmy prefiks
layout_
do atrybutu boxedEdges (terazlayout_BoxedEdges
) w przypadku atrybutuBoxInsetLayout
. Spowoduje to usunięcie błędu lintera w Android Studio w przypadku tych atrybutów. (I4272f) - Dodano opcjonalne
EXTRA_ANIMATION_DURATION_MILLIS
doConfirmationActivity
, aby określić czas wyświetlania okna potwierdzenia. (adb83ce, b/143356547) - Zaktualizowano
WearableActionDrawView
, aby opóźnić wyświetlanie panelu działań do momentu jego pierwszego otwarcia. (I01026, b/163870541)
Wersja 1.1.0-rc03
2 września 2020 r.
androidx.wear:wear:1.1.0-rc03
został zwolniony. Wersja 1.1.0-rc03 zawiera te commity.
Poprawki błędów
- Rozwiązanie problemu polegającego na tym, że po otwarciu panelu czynności nie wyświetlał treści. (I01026, b/163870541)
Wersja 1.1.0-rc02
24 czerwca 2020 r.
androidx.wear:wear:1.1.0-rc02
został zwolniony. Wersja 1.1.0-rc02 zawiera te zatwierdzenia.
Poprawki błędów
- Aby zachować zgodność z konwencją nazewnictwa Androida, dodaliśmy prefiks
layout_
do atrybutu boxedEdges (terazlayout_boxedEdges
) w przypadku atrybutuBoxInsetLayout
. Spowoduje to usunięcie błędu lintera w Android Studio w przypadku tych atrybutów.
Wersja 1.1.0-rc01
14 maja 2020 r.
androidx.wear:wear:1.1.0-rc01
jest publikowany bez zmian od .1.0-beta01
. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.
Wersja 1.1.0-beta01
29 kwietnia 2020 r.
androidx.wear:wear:1.1.0-beta01
jest publikowany bez zmian od androidx.wear:wear:1.1.0-alpha01
. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.
Wersja 1.1.0-alpha01
15 kwietnia 2020 roku
androidx.wear:wear:1.1.0-alpha01
został zwolniony. Wersja 1.1.0-alpha01 zawiera te commity.
Zmiany w interfejsie API
- Dodano opcjonalne
EXTRA_ANIMATION_DURATION_MILLIS
doConfirmationActivity
, aby umożliwić wyświetlanie okna potwierdzenia przez określony czas. (adb83ce, 134523c, b/143356547)
Poprawki błędów
- Zaktualizowano
WearableActionDrawView
, aby opóźnić wyświetlanie panelu działań do momentu jego pierwszego otwarcia. (5cd32f7)