Wear
androidx.wear.activity
androidx.wear.ambient
androidx.wear.input
androidx.wear.utils
androidx.wear.Widget
androidx.wear.Widget.drawer
(Zapoznaj się z dokumentacją do wszystkich pakietów Wear{/14){/13
Ta tabela zawiera wszystkie artefakty 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 |
zużywana | 1.0.0 | - | - | 1.1.0-alpha01 |
interakcje na Wear telefon | 1.0.1 | - | - | 1.1.0-alpha04 |
wear-remote-interactions | 1.0.0 | 1.1.0-rc01 | - | - |
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.
W pliku build.gradle
aplikacji lub modułu dodaj zależności artefaktów, których potrzebujesz:
Odlotowe
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.0.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.0.0") }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Opinia
Twoja opinia pomoże nam ulepszyć Jetpacka. Daj nam znać, jeśli odkryjesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. 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.
Usługa androidx.wear:wear-core:1.0.0-alpha01
została zwolniona. Wersja 1.0.0-alpha01 zawiera te komity.
Zmiany w interfejsie API
- Dodano nową klasę
WearApiVersionhelper
, która ułatwia sprawdzanie zgodności interfejsu API w czasie działania na Wear. Klienty mogą używać tej statycznej klasy pomocniczej i dostępnej metody (#isApiVersionAtLeast(VERSION)
) do sprawdzania 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
do listy prawidłowych urządzeń Wear, które 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.
Usługa androidx.wear:wear-tooling-preview:1.0.0-alpha01
została zwolniona. 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)
Wear w wersji 1.4
Wersja 1.4.0-alpha01
15 listopada 2023 r.
androidx.wear:wear:1.4.0-alpha01
został zwolniony. Wersja 1.4.0-alfa01 zawiera te zatwierdzenia.
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 - W celu poprawienia błędów podczas korzystania z interfejsu
FragmentContainerView
obiektSwipeDismissTransitionHelper
został zaktualizowany do używania elementu rysowanego w tle zamiast drugiego elementuView
- Animacja
SwipeDismissFrameLayout
została zaktualizowana, by była zgodna z implementacjami na platformie Wear i w Wear Compose. SwipeDismissFrameLayout
poprawka błędu, która zapobiega przypadkowemu zamykaniu fragmentów przez przesunięcie w dółArcLayout
obsługuje teraz wagi rozwinięcia, 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 zatwierdzenia.
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.
Usługa androidx.wear:wear:1.3.0-alpha05
została zwolniona. Wersja 1.3.0-alpha05 zawiera te commity.
Zmiany interfejsu API
- Przeprowadź migrację
AmbientModeSupport
, aby używaćLifecycleObserver
. WycofajAmbientModeSupport
na rzecz nowych klas uwzględniających cykl życia. (I1593b)
Poprawki błędów
- Zaktualizuj podejście do korzystania z tła
SwipeDismissTransitionHelper
, aby używać obiektów rysowanych zamiast dodawać widok. Pozwoli to naprawić błędy występujące podczas korzystania zFragmentContainerView
. (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
, by była zgodna z implementacją na platformie Wear i w Wear Compose. (I7261b)
Wersja 1.3.0-alfa03
24 sierpnia 2022 r.
Usługa androidx.wear:wear:1.3.0-alpha03
została zwolniona. 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 stosowana 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 interfejsu 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. Dodaliśmy teżArcLayout.setMaxAngleDegrees
, dzięki czemu możesz na przykład ograniczyć rozwinięcie do 90 stopni (nie ma to wpływu na układ żadnych 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 commity.
Nowe funkcje
- Obsługa
layoutDirection
na stronieArcLayout
(I14d49) - Ulepszona wiadomość z opisem treści dla ConfirmOverlay (I0fdf8)
- Zaktualizuj
ConfirmationOverlay
, dodając nowe ikony lub układ. (If5b54)
Poprawki błędów
- Dodano reguły ProGuard, które gwarantują zachowanie kodu związanego z dźwiękiem (Idaa10)
- Unikanie przypadkowego zamykania fragmentów w SwipeDismissFrameLayout za pomocą pionowego przesunięcia (Idb6d8)
- Naprawianie nakładki restartu, gdy nie ma komunikatu (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-rc01
16 października 2024 r.
Usługa androidx.wear:wear-remote-interactions:1.1.0-rc01
została udostępniona 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-alfa02
10 stycznia 2024 r.
Usługa androidx.wear:wear-remote-interactions:1.1.0-alpha02
została zwolniona. Wersja 1.1.0-alpha02 zawiera te commity.
Zmiany interfejsu API
- Dodaliśmy
RemoteActivityHelper.isRemoteActivityHelperAvailable
, który pomaga sprawdzić, czy funkcja uruchamiania aktywności zdalnej jest dostępna. (I107a9) - Zaktualizowaliśmy konstruktor
RemoteActivityHelper
, aby był zgodny z opcjonalnym parametrem w Javie. (I75554)
Wersja 1.1.0-alpha01
21 czerwca 2023 r.
Usługa androidx.wear:wear-remote-interactions:1.1.0-alpha01
została zwolniona. Wersja 1.1.0-alpha01 zawiera te commity.
Poprawki błędów
- Ulepszono procedurę uzupełniania i obsługi błędów w
RemoteActivityHelper
. (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-alfa03
9 marca 2022 r.
Usługa androidx.wear:wear-phone-interactions:1.1.0-alpha03
została zwolniona. 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-alfa02
15 grudnia 2021 roku
Usługa androidx.wear:wear-phone-interactions:1.1.0-alpha02
została zwolniona. Wersja 1.1.0-alfa02 zawiera te zatwierdzenia.
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.
Usługa androidx.wear:wear-phone-interactions:1.1.0-alpha01
została zwolniona. Wersja 1.1.0-alpha01 zawiera te commity.
Zmiany interfejsu 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.
Główne funkcje 1.0.0
Biblioteka interakcji telefonicznych zawiera interfejsy API do interakcji z urządzeń do noszenia na telefony. Zawiera ona:
PhoneDeviceType
udostępniający metody pomocnicze służące do określania typu telefonu, z którym jest sparowany zegarek. Można go używać tylko na urządzeniach do noszenia.- 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ę zdalnego uwierzytelniania na urządzeniach do noszenia oraz obsługę rozszerzenia PKCE OAuth. 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 ona:
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 zegara 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
zostały udostępnione. 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 drodze
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 interfejsu API
- Dodaj pole opisu treści do bieżącej aktywności. Będzie ona używana przez usługi ułatwień dostępu do opisania trwają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
Usługa androidx.wear:wear-ongoing:1.0.0
została zwolniona. 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 zatwierdzenia.
Zmiany interfejsu 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-ontualna wersja 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-alfa07 zawiera te zatwierdzenia.
Zmiany interfejsu 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 klasy BridgingManagerService. (I68ecb)
Wear-Remote-Interactions w wersji 1.0.0-alfa06
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ą usługi i nosi 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 wykonać. (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 w przypadku 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 interfejsu 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 moduły pobierania wszystkich wartości ustawionych bezpośrednio w kreatorze (lub wartości domyślne pobrane z powiązanego powiadomienia). (Id8ac8)- Nowa klasa
Status
jest teraz używana do utworzenia stanu elementuOngoingActivity
- 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 1.0.0-alfa04
5 maja 2021 roku
Usługa androidx.wear:wear-ongoing:1.0.0-alpha04
została zwolniona. 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.
- W obecności trwającej aktywności jest teraz dostępny pełny zestaw metod getter, które wcześniej były dostępne tylko w ramach danych o trwającej aktywności. (I0ee4d)
Wear-Remote-Interactions w wersji 1.0.0-alpha05
21 lipca 2021 r.
Usługa androidx.wear:wear-remote-interactions:1.0.0-alpha05
została zwolniona. 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 sprawdzić, czy Sklep Play jest dostępny na połączonym telefonie, użyj metody
androidx.phone.interactions.PhoneTypeHelper.getPhoneDeviceType
do określenia, 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-alfa04
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 powodowany 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
- Zmieniono klasę
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-alfa03 zawiera te zatwierdzenia.
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.
- Bieżące działania można teraz powiązać z powiadomieniem zawierającym 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-alfa02 zawiera te zatwierdzenia.
Nowe funkcje
- Migracja klasy PlayStoreAvailability z biblioteki pomocy Wearable do AndroidaX, który 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
zostały udostępnione. Wersja 1.0.0-alpha02 zawiera te commity.
Zmiany interfejsu 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. Klasa OngoingActivityStatus ma teraz metodę statyczną do tworzenia prostych stanów z jedną częścią (tekstem lub zegarkiem) oraz konstruktor 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 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 interfejsu API
Bibliotekę bieżących aktywności przenieś 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ę pomocy zawierającą zajęcia, które obsługują interakcje z urządzeń do noszenia na telefony. Początkowo zawierają one klasy przeniesione z biblioteki pomocy do noszenia. (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. (DEb4)
Przenieś klasę WatchFaceCompanion z biblioteki pomocy na urządzeniach do noszenia na AndroidaX. 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)
Widżety i tarcza zegarka 1.0.0 na Wear
Wersja 1.0.0-alpha22
15 września 2021 r.
androidx.wear:wear-*:1.0.0-alpha22
został zwolniony. Wersja 1.0.0-alfa22 zawiera te zatwierdzenia.
Nowe funkcje
- Edytujący sesję subskrybuje teraz obserwatorów cyklu życia, więc nie musisz już jej zamykać, gdy przestaniesz być aktywny.
Zmiany w interfejsie API
- EditorSession i ListenableEditorSession używają teraz biblioteki kotlin StateFlows do parametrów 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. Identyczne zmiany zostały też zastosowane w funkcji 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
Usługa androidx.wear:wear-*:1.0.0-alpha21
została zwolniona. 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).
- Obiekt ComplicationSlots jest teraz inicjowany przy użyciu parametru NoDataComplicationData, komplikacja ComplicationSlot.complicationData zawsze ma wartość, a obiekt CanvasComplicationDrawable.complicationData nie może już przyjmować wartości null. (I4dfd6) Zmniejsza to (ale nie eliminuje) migotania 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 interfejsu API
- Do obiektu ComplicationDataSourceInfo dodaliśmy funkcję createFallbackPreviewData, której można używać, gdy ComplicationDataSourceInfoSource. (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)
- Metoda RenderParameters.pressComplicationSlotIds została zastąpiona przez funkcję RenderParameters.lastComplicationTapDownEvents, która wyświetla nową klasę TapEvent zawierającą potrójne współrzędne x i y kliknię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ę o wątkach w przypadku parametru setWażneForAccessibility (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) - Usunęliśmy konstruktory UserStyleSettings przyjmujące cechy CharSequence z publicznego interfejsu API. 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) - Aby zachować spójność i przejrzystość, nazwa
ComplicationProvider
została zmieniona naComplicationDataSource
, a nazwy wszystkich klas z nazwą dostawcy zostały w podobny sposób 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 funkcjaGlesTextureComplication
otrzymuje teraz funkcjęComplicationSlot
. (I50e6e)- Dodaliśmy parametr
headlessDeviceConfig
doEditorRequest
. Jeśli nie jest równy 0, służy do tworzenia instancji bez interfejsu, która będzie obsługiwać sesję edytora, a nie instancję interaktywną. Dzięki temu edytor może być wywoływany w przypadku tarczy zegarka, która nie jest bieżącą. (I0a820) - Dodaliśmy eksperymentalną
WatchFaceMetadataClient
, która umożliwia sprawne pobieranie statycznych metadanych tarczy zegarka, takich jakUserStyleSchema
, oraz poprawionych szczegółów dotyczących tarczyComplicationSlots
. (I6bfdf) - Zmieniliśmy nazwę funkcji
CanvasRenderer.uiThreadInit
na init. (I6fff9) - Dodaliśmy parametr PreviewScreenshotParams, który jest opcjonalnym nowym parametrem EditorRequest. Instruuje on sesję edytora, aby wykonał 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-alfa17
30 czerwca 2021 r.
Usługa androidx.wear:wear-*:1.0.0-alpha17
została zwolniona. Wersja 1.0.0-alfa17 zawiera te zatwierdzenia.
Nowe funkcje
W
GlesRenderer
regułymakeUiThreadContextCurrent
imakeBackgroundThreadContextCurrent
zostały zastąpione przezrunUiThreadGlCommands
irunBackgroundThreadGlCommands
, które akceptująRunnable
. Biblioteka zapewnia, że w danym momencie wykonywana jest tylko 1 kompilowana komenda GL.Aby ułatwić inicjowanie w usłudze UiThread, dodaliśmy pole
CanvasRenderer.uiThreadInit
, które jest wywoływane raz w elemencie UiThread przed wywołaniami 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 renderowaniem,runBackgroundThreadGlCommands
ionUiThreadGlSurfaceCreated
. Jest to konieczne, ponieważ w ramach tego samego procesu może być wiele obiektów GlesRenderer, z których każdy może mieć własny kontekst, prawdopodobnie z różnych tarcz zegarka. Dodatkowo dostęp do współdzielonego bieżącego kontekstu GL jest teraz zsynchronizowany. (I04d59) - Dodaliśmy obiekt
CanvasRenderer.uiThreadInit
, który jest wywoływany raz w elemencie UiThread przed wszelkimi wywołaniami do renderowania. Aby zapewnić większą przejrzystość, w GlesRenderer zmieniliśmy nazwęonGlContextCreated
naonBackgroundThreadGlContextCreated
, aonGlSurfaceCreated
naonUiThreadGlSurfaceCreated
. (If86d0). - Nazwa
HeadlessWatchFaceClient
iInteractiveWatchFaceClient
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.
Usługa androidx.wear:wear-*:1.0.0-alpha16
została zwolniona. Wersja 1.0.0-alpha16 zawiera te commity.
Nowe funkcje
- Naprawiliśmy kilka błędów związanych z niedawnymi zmianami modelu wątki, a także rozwiązaliśmy inne problemy z edytorem tarczy 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).
- Naprawiono problemy z edytorem tarczy zegarka w wersji Pre-R (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ść inicjowania tarczy zegarka jest teraz przeprowadzana w wątku w tle, jednak po wczytaniu wszystkich elementów renderowania tarczy zegarka w interfejsie UiThread. Pomiędzy wczytaniem a renderowaniem występuje bariera pamięci, więc większość tarcz zegarka nie musi robić nic specjalnego. 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. Aby to zrobić, wprowadziliśmy funkcję WatchFaceControlClient.getDefaultProviderPoliciesAndType
, która zwraca mapę identyfikatorów złożonych na wartość DefaultComplicationProviderPolicies i domyślnie 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 tekstem@RequiresApi
. (I0184a, b/187447093, b/187447094) - Wprowadziliśmy funkcję
WatchFaceControlClient.getDefaultProviderPoliciesAndType
, która zwraca mapę identyfikatorów widżetów na zasadę DefaultComplicationProviderPolicies i domyślny obiekt 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 aplikację Most_latest_APP z elementów SystemProvider. (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 inicjowania watchFace. (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 ma teraz wartość NonNull. (I41eb4)
Wersja 1.0.0-alfa14
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 element ChosenComplicationProvider, który zawiera identyfikator widżetu,ComplicationProviderInfo
oraz pakiet zawierający dodatkowe dodatki zwrócone przez wybór dostawcy.- Ponadto stopniowo migrujemy kod na Kotlin, a większość interfejsu API tarczy zegarka jest teraz definiowana w tym języku.
Zmiany interfejsu 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
Usługa androidx.wear:wear-*:1.0.0-alpha13
została zwolniona. Wersja 1.0.0-alfa13 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 ułatwień dostępu ContentDescriptionLabels za pomocą właściwości Renderer.additionalContentDescriptionLabels. Aby kontrolować kolejność ContentDescriptionLabels, do komplikacji dodano atrybuty accessibilityTraversalIndex. Można go zmienić za pomocą ustawienia użytkownika dotyczącego stylu komplikacji.
Aby zachęcić deweloperów do uważnego rozważenia możliwości korzystania z czytników ekranu, uczyniliśmy pola
ShortTextComplicationData.Builder
,LongTextComplicationData.Builder
iRangedValueComplicationData.Builder
obowiązkowymi w konstruktorach.contentDescription
Jeśli parametrComplicationText.EMPTY
zostanie przekazany do parametrucontentDescription
, parametrcontentDescription
zostanie automatycznie wygenerowany na podstawie tekstu i tytułu.WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient
teraz powodujeServiceStartFailureException
, jeśli tarcza zegarka wyrzuca wyjątek podczas inicjalizacji. Ułatwia to diagnozowanie problemów podczas uruchamiania tarczy zegarka.
Zmiany interfejsu API
- Dodaliśmy obsługę braku nazwy komponentu w kompilacji ComplicationProviderInfo, która jest niezbędna 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 przed publicznym interfejsem API, które znajdują się w android.support.wearable.complications, i w razie potrzeby utworzyliśmy odpowiadające im elementy otaczające AndroidaX. (I7bd50)
- Zmieniliśmy nazwę metody w
TimeDifferenceComplicationText.Builder
zsetMinimumUnit
nasetMinimalTimeUnit
. (I20c64) - W konstruktorze musisz obowiązkowo przekazywać pola
ShortTextComplicationData.Builder
,LongTextComplicationData.Builder
iRangedValueComplicationData.Builder
.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 tabeliComplicationData
i zamiast niej ujawniliśmy polevalidTimeRange
. To wywołanie metody można zastąpić kodemvalidTimeRange.contains
. (I65936) - Zmieniliśmy opis metody ComplicationProviderService.onComplicationActivated, aby zamiast typu int przyjmowała typ ComplicationType (Idb5ff).
- Przeniesiono pole ProviderUpdateRequester z Javy do Koltin. (Ibce13)
- Metoda GlesRender.makeContextCurrent jest teraz publiczna. Kod tarczy zegarka może wymagać wykonywania wywołań gcloud poza renderowaniem i użyciem funkcji onGlContextCreated, a wywołanie tej funkcji może wymagać kontekstu zarówno interaktywnego, jak i bez interfejsu graficznego. (I8a43c)
- WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient zgłasza teraz wyjątek ServiceStartFailureException, jeśli tarcza zegarka zgłasza żądanie podczas inicjowania. Oprócz tego WatchFaceService zgłasza teraz wyjątek, jeśli createWatchFace 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ć ułatwienia dostępu ContentDescriptionLabel za pomocą właściwości dodatkowej
Renderer
. Oprócz możliwości kontrolowania kolejności etykiet ContentDescriptionLabels dodano funkcję accessibilityTraversalIndex do komplikacji. 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-alfa12 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 komplikacji. Dostępna jest nowa, opcjonalna warstwa zakreślacza, która jest matowana na tarczy zegarka i przezroczystością w formacie alfa. 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 komplikacji do obsługi ułatwień dostępu, pole PhotoImageComplicationData.Builder's, MonochromaticImageComplicationData.Builder's i SmallImageComplicationData.Builder's contentDescription jest obowiązkowym argumentem konstruktora. Dodano ComplicationTapFilter i Complication.createEdgeComplicationBuilder, aby obsługiwać widżety krawędziowe (rysowane wzdłuż krawędzi ekranu). Renderowanie i testowanie kolizji widżetów na krawędziach zależy od tarczy zegarka. Testowanie trafień na krawędzi nie jest obsługiwane w edytorze towarzyszącym.
Zmiany interfejsu 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) ComplicationProviderService
zostało przeniesione 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żna poprosić o renderowanie podświetleń stylów, a także wszystkie lub tylko pojedyncze widżety. 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
ComplicationTapFilter
iComplication.createEdgeComplicationBuilder
. Renderowanie i testowanie kolizji widżetów krawędzi należy do tarczy zegarka. Testowanie docelowych wejść 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.
Usługa androidx.wear:wear-*:1.0.0-alpha11
została zwolniona. Wersja 1.0.0-alpha11 zawiera te commity.
Nowe funkcje
- Interfejsy API tarcz zegarka zostały dopracowane. 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. Oprócz tego ustawienia CustomValueUserStyleSettings.CustomValueOption.value to terazbyte[]
, a nieString
. (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 konta
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 usługi
UserStyleListener
została zmieniona naUserStyleChangeListener
(I18524) - Nazwa usługi
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)
- Wykonanie zrzutu ekranu TakeWatchface na żądanie zostało zmienione na renderWatchFaceToBitmap, a nazwa polecenia TakeComplication snapshot została zmieniona na „renderComplicationToBitmap” (Ie0697)
- Interfejs CanvasComplication został usunięty na rzecz otwartej klasy CanvasComplicationDrawable. (I1f81f)
- Interfejs
WatcfaceControlServiceFactory
został usunięty z publicznego interfejsu API. (I1f8d3) - Zmieniliśmy nazwę
CanvasComplication.setData
naCanvasComplication.loadData
. (If1239) - Nazwa konta
ComplicationsManager.bringAttentionToComplication
została zmieniona nadisplayPressedAnimation
. (Ic4297) - Subkonto
WatchFaceService.createWatchFace
ma teraz adnotację@UiThread
. (Ib54c2) - Zmieniono nazwę parametru CanvasComplicationDrawable, aby naprawić błąd. (I50dac).
- Dodano
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 zegarka). (Ie446d)
- Funkcja
WatchFaceControlClient#getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync
jest teraz funkcją zawieszania i nosi nazwęgetOrCreateInteractiveWatchFaceClient
. (Ib745d) - Nazwa usługi
EditorState.commitChanges
ihasCommitChanges()
została zmieniona nashouldCommitChanges()
. (I06e04) - Nazwa
previewComplicationData
została zmieniona napreviewComplicationsData
, aby wskazać, że na mapie występuje (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 Binder na Wear-watchface-klienta – powinny być konieczne. (Icc4c0)
- Aby zachować spójność, w bibliotece
EditorServiceClient
zamiast obserwatorów zaczęliśmy używać odsłuchiwania. (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 konta
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
do plikuEditorSession
. (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-alfa10 zawiera te zatwierdzenia.
Nowe funkcje
- Można teraz tworzyć otwarte obiekty gl (np. tekstury) podczas WatchFaceService.createWatchFace, ponieważ GlesRenderer wymaga teraz jednoznacznego wywołania initOpenGLContext, co można zrobić wewnątrz createWatchFace.
Zmiany w interfejsie API
- Interfejs
IdAndComplicationData
prezentował się nieco niezręcznie i 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
elementamiCountUpTimeReference
iCountDownTimeReference
, które są bardziej przejrzyste. (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ć położenie widżetu, możesz to zrobić za pomocąComplicationsUserStyleSetting
. (IBD9e5) - Nazwa
ComplicationsManager.TapCallback.onComplicationSingleTapped
została zmieniona naonComplicationTapped
. (I3a55c) - Nazwa konta
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-alfa09 zawiera te zatwierdzenia.
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 widżetu (enabled = initiallyEnabled plus any override from 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 wyczyścia komplikacje – wszystko to w jednym kroku.
Zmiany w interfejsie API
- Do bibliotek tarcz zegarka dodano zdarzenia śledzone. (I1a141)
- W modelu
ComplicationState
jest teraz dostępna nowa właściwośćinitiallyEnabled
, która ułatwia przewidywanie konsekwencji zmiany stylu. (I8c905) - Zastąpiliśmy
InteractiveWatchFaceWcsClient.setUserStyle
bardziej zaawansowanym poleceniemupdateInstance
, które: zmienia identyfikator instancji, ustawia styl i usuwa widżety. (Ife6f6). - Interfejsy API zrzutów ekranu WatchFaceClient nie kompresują już zrzutów ekranu, ponieważ było to powolne. Zamiast tego pozostawiamy przetwarzanie po wywołaniu do wywołującego. (Id35af)
- Można teraz zdalnie zamknąć edytor na tarczy zegarka za pomocą
EditorService.closeEditor
. (Ic5aa4) - Dodano adnotacje o dopuszczaniu 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-alfa08 zawiera te zatwierdzenia.
Nowe funkcje
- Niektóre tarcze zegarka bazują na jednym lub kilku konkretnych widżetach. W związku z tym dodaliśmy widżet Complication.Builder#setFixedComplicationProvider, który, jeśli ma wartość Prawda, uniemożliwia użytkownikowi zmianę widżetu w danym boksie.
- 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
- Wycofaliśmy obsługę dwukrotnego dotknięcia widżetów podczas uruchamiania wyboru dostawcy. Ta funkcja nie była typowa na tarczach zegarka i skomplikowała implementację 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 kody guawy ListenableFuture dla różnych zawieszonych metod biblioteki tarcz zegarka. (I16b2c)
- Aby ułatwić korzystanie z interfejsu API, dodaliśmy do RenderParameters dodatkowy konstruktor, który nie wymaga odcienia i może być używany 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 przebudowana, 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. W tym celu dodaliśmy
Complication.Builder#setFixedComplicationProvider
. (I4509e) - Edytor EditorRequest określa teraz nazwę pakietu zamiast nazwy KomponentName, ponieważ wyszukiwanie nazwy klasy w edytorze przez SysUI było niewygodne. Potrzebujemy jedynie nazwy pakietu. (Ib6814)
Wersja 1.0.0-alpha07
10 lutego 2021 r.
androidx.wear:wear-*:1.0.0-alpha07
został zwolniony. Wersja 1.0.0-alfa07 zawiera te zatwierdzenia.
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. Środowisko Java RX i kody kompatybilne w przyszłości. (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 wartością zwracaną
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 tablicy, a do funkcji UserStyle.Option dodaliśmy pomocnicze metody konwersji. (I35036)
- Naprawiliśmy poważny błąd polegający na tym, że formaty przewodów UserStyle zmieniały niektóre niestabilne ukryte interfejsy API. (I8be09)
- Dodaliśmy funkcję CustomValueUserStyleSettings, która pozwala na przechowywanie pojedynczych ciągów znaków specyficznych dla aplikacji w obrębie klasy 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)
- Edytor EditorRequest zawiera teraz parametr KomponentName ustawiony jako komponent w WatchFaceEditorContract.createIntent (I3cd06)
- W Edytorze na tarczy zegarka dostępne są teraz podglądy ComplicationData, aby użytkownik mógł zrobić zrzut ekranu tarczy zegarka po wprowadzeniu zmian. (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-alfa06 zawiera te zatwierdzenia.
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 metodę ProviderInfoRetriever.requestPreviewComplicationData, która umożliwia edytorom tarczy zegarka żądanie danych ComplicationData w wersji podglądowej. 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 przyszłości. 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ń i możesz teraz wyświetlać dane podglądu nieaktywnych widżetów. (I2e1df)
- Klasa ComplicationManager jest teraz opcjonalnym parametrem konstruktora WatchFace, a aby to umożliwić, argumenty zostały zmienione. (I66c76)
- Do widżetów dodaliśmy opcjonalny pakiet. Jeśli zostanie on scalony z intencją wysłaną w celu uruchomienia działania wyboru dostawcy, (Ifd4ad)
- Dodaliśmy nową bibliotekę
wear-watchface-editor
, aby umożliwić korzystanie z edytorów hostowanych w tarczy zegarka i w 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 to teraz ListenableFuture, ponieważ pobieranie tych danych jest procesem asynchronicznym. (Iead9d).
Poprawki błędów
- Usuwamy nieużywane pola z ComplicationOverlay, pozostawiając włączone i complicationBounds. (I17b71)
Wersja 1.0.0-alpha05
13 stycznia 2021 r.
Usługa androidx.wear:wear-*:1.0.0-alpha05
została zwolniona. Wersja 1.0.0-alpha05 zawiera te commity.
Nowe funkcje
Tarcze zegarka często obsługują wiele konfiguracji widżetów 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
prawidłowo zwraca terazListenableFuture<ProviderInfo[]>
. (JEŻELI2710) - Możesz teraz utworzyć widżet, który został początkowo wyłączony, wywołując w konstruktorze funkcję setEnabled(false). (Idaa53)
- WatchFaceState ma teraz właściwość isHeadless, która obowiązuje tylko w przypadku instancji bez interfejsu graficznego. (Ifa900)
- Obiekt ComplicationDrawable obsługuje teraz synchroniczne ładowanie elementów obiektów rysowalnych. 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) - RenderParameters pozwala teraz określić odcień wyróżnienia, który będzie używany na zrzutach ekranu. (Iff42b)
- Z wyjątkiem ograniczeń musisz teraz używać funkcji ComplicationsUserStyleSetting do modyfikowania widżetów. Ma to 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 interfejsu Canvas na sprzęcie 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, która krótko wyróżnia 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.
Usługa androidx.wear:wear-*:1.0.0-alpha03
została zwolniona. 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.
Zmienne liczby klatek są teraz obsługiwane przez przypisywanie 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 interfejsu API
- Nazwa
BACKGROUND_IMAGE
została zmieniona naPHOTO_IMAGE
wraz z powiązanymi zajęciami. Ten rodzaj widżetu jest używany nie tylko w przypadku tła, dlatego nazwa została zmieniona. (I995c6) - Zasada DefaultComplicationProviderPolicy jest odpowiednio opatrzona adnotacjami za pomocą IntDefs. (I3b431)
- Ukryta klasa TimeDependentText nie jest już widoczna przez ContentDescriptionLabel. Zamiast tego dodajemy metodę dostępu, która pobiera tekst w określonym momencie. (Ica692).
- Konstruktor ObservableWatchData jest teraz wewnętrzny. (I30121, b/173802666)
- Widżet ma teraz obiekt compicationData, który umożliwia 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). WatchFace.overridePreviewReferenceTimeMillis
ma teraz adnotację IntRange, a metody pobierania i metody ustawiającej mają teraz spójne nazwy. (Ia5f78)- Aby zwiększyć przejrzystość,
Complication.Builder
jest teraz tworzony za pomocą aplikacjiComplication.createRoundRectComplicationBuilder
lubComplication.createBackgroundComplicationBuilder
(I54063) - Dodano element WatchFace.TapListener, który umożliwia obserwowanie kliknięć niezwiązanych z widżetami. (Ic2fe1, b/172721168)
- WatchFace obsługuje teraz zmienną liczbę klatek na sekundę dzięki przypisaniu do
Renderer.interactiveDrawModeUpdateDelayMillis
. Pomoże to wydłużyć czas pracy na baterii dzięki uśpieniu, gdy nie używasz animacji. (I707c9) - Klasa WatchFace.Builder nie jest już potrzebna, a funkcje invalidate() i interactiveUpdateRateMillis zostały przeniesione do klasy Renderer. (I329ea)
- Aby zapewnić lepszą interoperacyjność 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. Setery WatchFace.Builder mają teraz symetryczne metody pobierania 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)
- HeadlessWatchFaceClient, InteractiveWatchFaceSysUiClientImpl i InteractiveWatchFaceWcsClient to teraz interfejsy ułatwiające 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 klasą zapleczoną, ponieważ edytorzy tarczy zegarka rozumieją tylko klasy wbudowane. (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 commity.
Zmiany interfejsu 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 do RenderParameters opcjonalny parametr
highlightedComplicationId
, który umożliwia żądanie podświetlenia pojedynczej komplikacji na zrzutach ekranu. (I66ce9) ComplicationProviderService
do korzystania z interfejsu API nowych widżetów komplikacji w celu zapewnienia spójności (Id5aea).- Usługa
getPreviewReferenceTimeMillis
pobiera teraz czasy odniesienia z usługiDeviceConfig
. (I779fe) - Aby uprościć interfejs Renderer API, 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) - Dodaję
UserStyleSchema
w celu bardziej przejrzystego 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)
- Dodano interfejs Wear-complication-data API. (I7c268)
- w przypadku funkcji z wartościami zwracanymi w wartości logicznej, które mają być poprzedzone ciągiem „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 ComplicationDrawable isHighlighted & data (I4dcc8)
- Zamiast ComplicationRenderer.InvalidateCallback dodajemy Complication#invalidate() (I4f4c6)
- Te interfejsy API są wycofywane z WearableSupport i usunięte tutaj. (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 do noszenia lub tarczy zegarka (Id3981)
- Pierwsza śledzona wersja interfejsu API. (IE9fe6)
- Prawidłowe ukrywanie ComplicationDrawable.BorderStyle IntDef i przenoszenie do ComplicationStyle w celu zachowania 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
- Zmieniliśmy usługę ComplicationProviderService, aby mieć 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ąpienie przez funkcję Nakładka, aby dopasować ją do konwencji nazewnictwa bieżących motywów i stylów. (I4fde9).
- Zmieniliśmy nazwę UserStyle#getOptions w celu uniknięcia wątpliwoś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 pojedynczo na łuku w kierunku zgodnym z ruchem wskazówek zegara lub przeciwnie 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.
Dodaliśmy obsługę wskazywania, że działanie może być „automatycznie wznawiane”, gdy urządzenie opuści tryb nieaktywny 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).Do aplikacji
androidx.wear.widget.ConfirmationOverlay
dodano funkcje ułatwień dostępu, które po ustawieniu umożliwiają odczytywanie na głos wiadomości (jeśli są włączone), a po nich 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 przewijanie RecyclerView w poziomie 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
- Naprawiliśmy 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 interfejsu 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 interfejsu 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.
Usługa androidx.wear:wear:1.2.0-alpha11
została zwolniona. Wersja 1.2.0-alpha11 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiliśmy błąd, który powodował, że przewijanie RecyclerView w poziomie 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 następujących metod w pliku
DismissibleFrameLayout
(Ib195e):Callback#onDismissed
->Callback#onDismissedFinished
isSwipeDismissible
->isDismissableBySwipe
isBackButtonDismissible
->isDismissableByBackButton
- Zakończyliśmy wdrażanie tych metod (Ib195e):
setBackButtonDismissible
setSwipeDismissible
registerCallback
unregisterCallback
Poprawki błędów
- Użyj zawartości obiektu CurvedTextView w TalkBack. (I05798)
- Większa dostępność 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 ustawia krój tekstu oraz styl pogrubienia i kursywy. (I4653C) - Zmieniono nazwę
WearArcLayout
naArcLayout
,WearCurvedText
naCurvedText
iWearArcLayout.ArcLayoutWidget
naArcLayout.Widget
. (I6e5ce)- W dniu
ArcLayout.Widget
zmieniono nazwęgetThicknessPx
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-alfa07 zawiera te zatwierdzenia.
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-alfa06 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Bibliotekę bieżących aktywności przeniesiono do nowej podbiblioteki: „Aktywności na bieżąco”. Zajęcia 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.
Usługa androidx.wear:wear:1.2.0-alpha05
została zwolniona. Wersja 1.2.0-alpha05 zawiera te commity.
Poprawki błędów
- Zaktualizuj plik javadoc klasy AmbientModeSupport, aby udostępnić przykładowe fragmenty kodu, które lepiej pokazują ogólne zastosowanie tej klasy.
Wersja 1.2.0-alfa04
16 grudnia 2020 roku
androidx.wear:wear:1.2.0-alpha04
został zwolniony. Wersja 1.2.0-alpha04 zawiera te commity.
Zmiany interfejsu 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 aktywności OngoingActivity, 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 aktywności OngoingActivity, 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 powiązanie 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
Grudzień 2, 2020
Usługa androidx.wear:wear:1.2.0-alpha03
została zwolniona. 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. Funkcje setSwipeDismissible(boolean) i setBackButtonDismissible(boolean) umożliwiają bezpośrednie sterowanie funkcjami. 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 WearArc będą otrzymywać wszystkie zdarzenia dotyku zmapowane na ich przestrzeń współrzędnych. WearCurvedTextView (w obrębie obiektu WearArcLayout lub nie) może ustawiać moduły 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-alfa02 zawiera te zatwierdzenia.
W tej wersji po raz pierwszy dodaliśmy 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 „obecnie 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 interfejsu 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 element 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-alfa01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Udostępniono wszystkie stałe lokalizacji przycisku z okresu
WearableButtons
. (Ibb12c). - Dodano klasę
WearableRemoteInputExtender
, której można użyć do dodawania do android.app.RemoteInput dodatków związanych z Wear. (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 wprowadzone od wersji 1.0.0
- Dodano
RemoteInputIntentHelper
.- Tej klasy można używać do tworzenia intencji RemoteInput. Następnie można ich użyć, aby poprosić użytkowników o podanie informacji w aktywności z możliwością dostosowania.
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
zostały udostępnione. 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-alfa02
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 usługi
RemoteInputIntentHelper
używane do pobierania lub umieszczania dodatków reprezentujących tytuł, anulowanie, potwierdzenie i etykiety w toku, używają teraz w przypadku tych etykiet 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
zostały udostępnione. Wersja 1.1.0-alpha01 zawiera te commity.
Zmiany interfejsu API
- Przenieś klasę RemoteInputIntent z biblioteki pomocy urządzenia do noszenia do AndroidaX. 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
Migracja 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 zatwierdzenia.
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-alfa01 zawiera te zatwierdzenia.
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-alfa01 zawiera te zatwierdzenia.
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.
Ważne 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 linter w Android Studio w przypadku tych atrybutów. (I4272f) - Do elementu
ConfirmationActivity
dodaliśmy opcjonalny parametrEXTRA_ANIMATION_DURATION_MILLIS
, aby uwzględnić 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 działań nie wyświetlał się żaden element. (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.
Usługa androidx.wear:wear:1.1.0-beta01
została udostępniona 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)