Wear
androidx.wear.activity
androidx.wear.ambient
androidx.wear.input
androidx.wear.utils
androidx.wear.Widget
androidx.wear.Widget.drawer
(Zobacz dokumenty referencyjne dotyczące wszystkich pakietów na Wear)
Ta tabela zawiera listę wszystkich artefaktów w grupie androidx.wear
.
Artefakt | Wersja stabilna | Kandydat do publikacji | Wersja Beta | Wersja alfa |
---|---|---|---|---|
Wear | 1.3.0 | - | - | 1.4.0-alfa01 |
Wear-input | 1.1.0 | - | - | 1.2.0-alfa02 |
testy Wear-input | 1.1.0 | - | - | 1.2.0-alfa02 |
ciągłe zużywanie | 1.0.0 | - | - | 1.1.0-alfa01 |
interakcje z Wear-phone | 1,0.1 | - | - | 1.1.0-alfa04 |
Interakcje z Wear i pilotem | 1.0.0 | - | - | 1.1.0-alfa02 |
Deklarowanie zależności
Aby dodać zależność na Wear, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Google Maven.
W pliku build.gradle
aplikacji lub modułu dodaj zależności artefaktów, których potrzebujesz:
Odlotowy
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ć Jetpack. Daj nam znać, jeśli znajdziesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową bibliotekę, przejrzyj problemy z tą biblioteką. Możesz oddać głos w ramach istniejącego problemu, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wear Core w wersji 1.0
Wersja 1.0.0-alfa01
29 maja 2024 r.
Aplikacja androidx.wear:wear-core:1.0.0-alpha01
została zwolniona. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodano nową klasę
WearApiVersionhelper
, która ułatwia sprawdzanie zgodności interfejsu API środowiska wykonawczego na Wear. Klienty mogą sprawdzać zgodność za pomocą tej statycznej klasy pomocniczej oraz podanej metody (#isApiVersionAtLeast(VERSION)
).
Podgląd narzędzi Wear w wersji 1.0
Wersja 1.0.0
29 listopada 2023 r.
Aplikacja androidx.wear:wear-tooling-preview:1.0.0
została zwolniona. Wersja 1.0.0 zawiera te zatwierdzenia.
Funkcje 1.0.0
- Dodaj atrybut
WearDevices
, aby wyświetlić listę prawidłowych urządzeń do noszenia, których można używać do wyświetlania podglądów interfejsu.
Wersja 1.0.0-rc01
15 listopada 2023 r.
Aplikacja androidx.wear:wear-tooling-preview:1.0.0-rc01
została wydana bez zmian. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
Wersja 1.0.0-beta01
18 października 2023 r.
Aplikacja androidx.wear:wear-tooling-preview:1.0.0-beta01
została wydana bez zmian. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.
Wersja 1.0.0-alfa01
23 sierpnia 2023 r.
Aplikacja androidx.wear:wear-tooling-preview:1.0.0-alpha01
została zwolniona. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodaj
WearDevices
, aby wyświetlić listę prawidłowych urządzeń do noszenia, których można używać do wyświetlania podglądu interfejsu (Ib036e)
Wear w wersji 1.4
Wersja 1.4.0-alfa01
15 listopada 2023 r.
Aplikacja androidx.wear:wear:1.4.0-alpha01
została zwolniona. Wersja 1.4.0-alpha01 zawiera te zatwierdzenia.
Poprawki błędów
- Jeśli nie ma wiadomości, wyśrodkuj ikonę
ConfirmationOverlay
w pionie. (I496d8)
Wear w wersji 1.3
Wersja 1.3.0
9 sierpnia 2023 r.
Wersja androidx.wear:wear:1.3.0
została udostępniona bez zmian od 1.3.0-rc01
. Wersja 1.3.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.2.0
- Aby korzystać z usługi
LifecycleObserver
, przenieś:AmbientModeSupport
. Zrezygnuj z umowyAmbientModeSupport
na rzecz nowych klas uwzględniających cykl życia. - Zaktualizuj aplikację
ConfirmationOverlay
o nowe ikony i układ oraz czcionki i dane dotyczące czcionek SwipeDismissTransitionHelper
Zaktualizowano, aby używać rysowalnego tła zamiast drugiegoView
w celu poprawienia błędów podczas korzystania z funkcjiFragmentContainerView
- Animacja
SwipeDismissFrameLayout
została zaktualizowana, aby była spójna z implementacjami na platformie Wear i na Wear Compose. - Naprawiono błąd
SwipeDismissFrameLayout
zapobiegający przypadkowemu zamknięciu fragmentów z przechyleniem w pionie ArcLayout
obsługuje teraz wagi rozwinięcia, które działają podobnie do zwykłych wag układu.- Wesprzyj kanał
layoutDirection
na platformieArcLayout
Wersja 1.3.0-rc01
21 czerwca 2023 r.
Wersja androidx.wear:wear:1.3.0-rc01
została udostępniona bez zmian od 1.3.0-beta01
. Wersja 1.3.0-rc01 zawiera te zatwierdzenia.
Wersja 1.3.0-beta01
7 czerwca 2023 r.
Aplikacja androidx.wear:wear:1.3.0-beta01
została zwolniona. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Zaktualizowano
AmbientLifecycleObserver
po otrzymaniu opinii. Nazwa instancjiAmbientLifecycleObserverInterface
została zmieniona naAmbientLifecycleObserver
. Instancja można uzyskać, wywołując metodęAmbientLifecycleObserver(...)
. FunkcjaisAmbient
została przeniesiona do pola, a nie metody. (I84b4f)
Poprawki błędów
- Dodanie testów null w celu obsługi zgłoszeń, gdy widok nadrzędny ma wartość null, podczas resetowania wersji alfa i tłumaczenia w
SwipeToDismiss
. (Ib0ec7)
Wersja 1.3.0-alfa05
19 kwietnia 2023 r.
Aplikacja androidx.wear:wear:1.3.0-alpha05
została zwolniona. Wersja 1.3.0-alpha05 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Aby korzystać z usługi
LifecycleObserver
, przenieś:AmbientModeSupport
. ZastąpAmbientModeSupport
jako nowe klasy uwzględniające cykl życia. (I1593b)
Poprawki błędów
- W celu naprawienia błędów podczas korzystania z elementu
FragmentContainerView
zaktualizuj metodę siatki w tleSwipeDismissTransitionHelper
, aby używać elementów rysowalnych zamiast dodawać widok. (I851cd)
Wersja 1.3.0-alfa04
25 stycznia 2023 r.
Aplikacja androidx.wear:wear:1.3.0-alpha04
została zwolniona. Wersja 1.3.0-alpha04 zawiera te zatwierdzenia.
Poprawki błędów
- Zaktualizowaliśmy animację w usłudze
SwipeDismissFrameLayout
, by była spójna z implementacjami na platformie Wear i na Wear Compose. (I7261b)
Wersja 1.3.0-alfa03
24 sierpnia 2022 r.
Aplikacja androidx.wear:wear:1.3.0-alpha03
została zwolniona. Wersja 1.3.0-alpha03 zawiera te zatwierdzenia.
Nowe funkcje
ArcLayout
obsługuje teraz wagi rozwinięcia, które działają podobnie do zwykłych wag układu. Oznacza to, że możesz określić względny rozmiar elementów podrzędnych bez konieczności bezpośredniego obliczania ich kątów. Uwzględniliśmy także funkcjęMaxAngleDegrees
, która jest uwzględniana przy rozwijaniu elementów podrzędnych z wagami. Możesz na przykład zacisnąć łuk z kilkoma elementami podrzędnymi o wagach do 90 stopni, pamiętając przy tym o odstępach zajętych przez elementy nierozwinięte.
Zmiany w interfejsie API
- Zwiększyliśmy wagę elementu
ArcLayout.LayoutParams
, który umożliwia rozwinięcie widżetu, aby wypełnił dostępną przestrzeń. Jeśli dostępnych jest więcej widżetów, to ilość dostępnego miejsca jest proporcjonalna do ich wagi. Oprócz tego dodaliśmy funkcjęArcLayout.setMaxAngleDegrees
, która pozwala na przykład ograniczać rozwinięcie do 90 stopni (nie ma to jednak wpływu na układ żadnych widżetów podrzędnych o stałych rozmiarach). Na koniecArcLayout.Widget
ma teraz funkcjęsetSweepAngleDegrees
, która pozwalaArcLayout
na informowanie widżetu o wielkości innej niż zero. (I75f24) - Zaktualizowano wartość null atrybutu
setColorFilter
(I99ddf, b/236498063)
Wersja 1.3.0-alfa02
23 lutego 2022 r.
Aplikacja androidx.wear:wear:1.3.0-alpha02
została zwolniona. Wersja 1.3.0-alpha02 zawiera te zatwierdzenia.
Nowe funkcje
- Wesprzyj kanał
layoutDirection
na platformieArcLayout
(I14d49) - Ulepszony komunikat z opisem treści dla interfejsu ConfirmOverlay (I0fdf8).
- Zaktualizuj aplikację
ConfirmationOverlay
o nowe ikony lub układ. (If5b54)
Poprawki błędów
- Dodano reguły ProGuard, aby zapewnić zachowanie kodu związanego z nastrojami (Idaa10).
- Unikanie przypadkowego zamykania fragmentów w SushSlideFrameUkład za pomocą przechylenia w pionie (Idb6d8)
- Naprawianie nakładki potwierdzenia, gdy nie ma komunikatu (I63e6f)
Wkład z zewnątrz
- Dae Gyu LEE (Samsung) – unikaj przypadkowego zamykania fragmentów w sylwestrowym wyciszeniu drgań w pionie za pomocą przechylenia pionowego (Idb6d8)
Wersja 1.3.0-alfa01
29 września 2021 r.
Aplikacja androidx.wear:wear:1.3.0-alpha01
została zwolniona. Wersja 1.3.0-alpha01 zawiera te zatwierdzenia.
Poprawki błędów
ConfirmationOverlay
przesuwa ikonę w górę, aby zmieścić się w dłuższych komunikatach bez wchodzenia w obszar ramy urządzenia (lub poza ekran). (I54bff)
Bieżące i interakcje z Wear – wersja 1.1.0
VerWear i telefony w wersji 1.1.0-alfa04
10 stycznia 2024 r.
Aplikacja androidx.wear:wear-phone-interactions:1.1.0-alpha04
została zwolniona. Wersja 1.1.0-alpha04 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodaliśmy
RemoteAuthClient.isRemoteAuthAvailable
, który sprawdza, czy jest dostępne uwierzytelnianie zdalne. (IBC10c)
Wersja 1.1.0-alfa02
10 stycznia 2024 r.
Aplikacja androidx.wear:wear-remote-interactions:1.1.0-alpha02
została zwolniona. Wersja 1.1.0-alpha02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodaliśmy usługę
RemoteActivityHelper.isRemoteActivityHelperAvailable
, która pomaga sprawdzać, czy dostępna jest funkcja uruchamiania aktywności zdalnej. (I107a9) - Zaktualizowaliśmy konstruktor
RemoteActivityHelper
, aby miał opcjonalny parametr zgodny z Javą. (I75554)
Wersja 1.1.0-alfa01
21 czerwca 2023 r.
Aplikacja androidx.wear:wear-remote-interactions:1.1.0-alpha01
została zwolniona. Wersja 1.1.0-alpha01 zawiera te zatwierdzenia.
Poprawki błędów
- Ulepszyliśmy obsługę uzupełniania i błędów w usłudze
RemoteActivityHelper
. (I60d60)
Wkład z zewnątrz
- Usuń zależność z Gujawy z
wear-remote-interactions
i użyj mniejszych zamienników.
Wear-Phone-Interactions (Interakcje z telefonem) w wersji 1.1.0-alfa03
9 marca 2022 r.
Aplikacja androidx.wear:wear-phone-interactions:1.1.0-alpha03
została zwolniona. Wersja 1.1.0-alpha03 zawiera te zatwierdzenia.
Poprawki błędów
- Funkcja
redirectUrl
z tabeliOAuthRequest
zwraca teraz pusty ciąg znaków, jeśli adres URL przekierowania nie jest ustawiony w danym żądaniu. (I44242)
Wear-Phone-Interactions (Interakcje z telefonem) w wersji 1.1.0-alfa02
15 grudnia 2021 roku
Aplikacja androidx.wear:wear-phone-interactions:1.1.0-alpha02
została zwolniona. Wersja 1.1.0-alpha02 zawiera te zatwierdzenia.
Poprawki błędów
- Popraw błędy w dokumentacji usługi
RemoteAuthClient
, w tym błąd w przykładowym fragmencie kodu i niedziałający link do witrynyErrorCode
(I260e8).
Wear-Phone-Interactions (Interakcje z telefonem) w wersji 1.1.0-alfa01
15 września 2021 r.
Aplikacja androidx.wear:wear-phone-interactions:1.1.0-alpha01
została zwolniona. Wersja 1.1.0-alpha01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
Interakcje z Wear – trwające i interakcje z Wear – wersja 1.0.0
Wear-Phone-Interactions (Interakcje z telefonem w wersji 1.0.1)
15 grudnia 2021 roku
Aplikacja androidx.wear:wear-phone-interactions:1.0.1
została zwolniona. Wersja 1.0.1 zawiera te zatwierdzenia.
Poprawki błędów
- Podczas próby wyłączenia powiadomień połączonych bez
excludedTags
zBridgingManager
został zgłoszony poprawiony wyjątek.
Wear-telefon – interakcje z Wear – zdalne interakcje w wersji 1.0.0
15 września 2021 r.
Opublikowano androidx.wear:wear-phone-interactions:1.0.0
i androidx.wear:wear-remote-interactions:1.0.0
. Wersja 1.0.0 zawiera te zatwierdzenia.
Główne funkcje wersji 1.0.0
Biblioteka interakcji telefonicznych zawiera interfejsy API do interakcji, od urządzeń do noszenia po telefony. Zawiera ona te elementy:
PhoneDeviceType
, zapewniając metody pomocnicze do określania typu telefonu, z którym jest sparowany bieżący zegarek, do użytku tylko na urządzeniach do noszenia.- Interfejsy API
BridgingManager
,BridgingManagerService
iBridgingConfig
do włączania i wyłączania powiadomień w czasie działania oraz opcjonalnie ustawiania tagów dla powiadomień wykluczonych z trybu łączenia. RemoteAuthClient
– obsługę zdalnego uwierzytelniania na urządzeniach do noszenia oraz dodanie rozszerzenia OAuth PKCE. Dostępne są dodatkowe moduły obsługi i klasy pomocnicze do komunikacji.
Biblioteka interakcji zdalnej zawiera interfejsy API do interakcji między urządzeniami do noszenia i telefonami. Zawiera ona te elementy:
WatchFaceConfigIntentHelper
, udostępniając funkcje pomocnicze do określania identyfikatora i nazwy komponentu w działaniach konfiguracji tarczy zegarka na telefonie.- Klasa
RemoteActivityHelper
, która może służyć do otwierania intencji na innych urządzeniach (np. z zegarka po telefon).
Wear-telefon: interakcje z Wear – zdalne interakcje w wersji 1.0.0-rc01
1 września 2021 roku
Opublikowano androidx.wear:wear-phone-interactions:1.0.0-rc01
i androidx.wear:wear-remote-interactions:1.0.0-rc01
. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
- Popraw błąd uniemożliwiający rozpowszechnianie błędów zgłaszanych w Usługach Google Play do elementu wywołującego podczas korzystania z funkcji RemoteActivityHelper (I60d60)
- Naprawiono błąd, który powodował, że funkcja RemoteActivityHelper nigdy nie realizowałaby swojej przyszłości, jeśli nie było połączonych węzłów lub nie znaleziono żądanego identyfikatora nodeId (I60d60)
Wear-Ongoing w wersji 1.1
Wersja 1.1.0-alfa01
23 sierpnia 2023 r.
Aplikacja androidx.wear:wear-ongoing:1.1.0-alpha01
została zwolniona. Wersja 1.1.0-alpha01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodaj pole opisu treści do trwają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
- Dodano
@RequiresPermission
do interfejsów API, które wymagają przyznania uprawnieniaPOST_NOTIFICATIONS
w pakiecie SDK 33 i nowszych wersjach. (Ie542e, b/238790278)
Wear-Ongoing w wersji 1.0.0
1 września 2021 roku
Aplikacja androidx.wear:wear-ongoing:1.0.0
została zwolniona. Wersja 1.0.0 zawiera te zatwierdzenia.
Główne funkcje wersji 1.0.0
- Wear Ongoing Activities API to interfejs API dla deweloperów, w tym deweloperów zewnętrznych, służący do oznaczania aktywności jako „trwającej” i dostarczania potrzebnych informacji.
- Aktywne aktywności to czynności, które mogą być wykonywane w tle (np. treningi, połączenia i multimedia). Na Wear 3 aktywność zadeklarowana jako trwająca będzie bardziej widoczna dzięki specjalnej ikonie nakładki na tarczy zegarka oraz innym renderowaniu w Menu z aplikacjami.
- Więcej informacji znajdziesz w przewodniku po aktywności związanej z Wear.
Wear-telefon: interakcje z Wear-zdalne interakcje w wersji 1.0.0-beta01
18 sierpnia 2021 r.
Opublikowano androidx.wear:wear-phone-interactions:1.0.0-beta01
i androidx.wear:wear-remote-interactions:1.0.0-beta01
. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Zmieniono nazwę klasy
RemoteIntentHelper
naRemoteActivityHelper
. Zmieniliśmy nazwy funkcjiRemoteIntentHelper#getRemoteIntentExtraIntent
iRemoteIntentHelper#getRemoteIntentNodeId
na odpowiednioRemoteActivityHelper#getTargetIntent
iRemoteActivityHelper#getTargetNodeId
. (Id2042).
Wear-Ongoing w wersji 1.0.0-rc01
18 sierpnia 2021 r.
Wersja androidx.wear:wear-ongoing:1.0.0-rc01
została udostępniona bez zmian od 1.0.0-beta01
. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
Wear-Ongoing w wersji 1.0.0-beta01
4 sierpnia 2021 r.
Aplikacja androidx.wear:wear-ongoing:1.0.0-beta01
została zwolniona. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Niektóre metody ustawiające w OngoingActivity.Builder akceptują teraz argument null, aby zapewnić symetrię i spójność metody ustawiającego i pobierającego (I17ee5)
Wear-Phone-Interactions (Interakcje z telefonem) w wersji 1.0.0-alfa07
4 sierpnia 2021 r.
Aplikacja androidx.wear:wear-phone-interactions:1.0.0-alpha07
została zwolniona. Wersja 1.0.0-alpha07 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Zmieniono nazwę
WearTypeHelper.isChinaDevice
naWearTypeHelper.isChinaBuild
. (I47302) - Zaktualizowaliśmy bibliotekę RemoteAuthClient, tak aby automatycznie wybierała wartość redirect_uri na podstawie typu urządzenia (RoW/Chiny). (I38866)
- Naprawiliśmy błąd, który powodował, że konwersja BridgingConfig na pakiet lub z niego nie powiodła się z wyjątkiem ClassCastException. Dodano testy jednostkowe dla klasy BridgingManagerService. (I68ecb)
Wear-Remote-Interactions (Interakcje zdalne) w wersji 1.0.0-alfa06
4 sierpnia 2021 r.
Aplikacja androidx.wear:wear-remote-interactions:1.0.0-alpha06
została zwolniona. Wersja 1.0.0-alpha06 zawiera te zatwierdzenia.
Wear-Phone-Interactions (Interakcje z telefonem) w wersji 1.0.0-alfa06
21 lipca 2021 r.
Aplikacja androidx.wear:wear-phone-interactions:1.0.0-alpha06
została zwolniona. Wersja 1.0.0-alpha06 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Klasa
BridgingManagerSeviceBinder
jest teraz podklasą usługi i została zmieniona na BridgingManagerSevice. (I9fca2) - Metoda
RemoteAuthClient.Callback.onAuthorizationError
została zmieniona, by uwzględnić parametr OAuthRequest. Metody wymagające wywołania zwrotnego wymagają teraz również wykonawcy, aby zostało wykonane wywołanie zwrotne. (I35e11)
Poprawki błędów
- Ułatwiliśmy korzystanie z interfejsu API uwierzytelniania dzięki bardziej udokumentowanym parametrom i używamy właściwości tam, gdzie jest to możliwe. (I12287)
Wear-Phone-Interactions (Interakcje z telefonem) w wersji 1.0.0-alfa05
30 czerwca 2021 r.
Aplikacja androidx.wear:wear-phone-interactions:1.0.0-alpha05
została zwolniona. Wersja 1.0.0-alpha05 zawiera te zatwierdzenia.
Poprawki błędów
- Udokumentowane parametry, które należy przekazać w konstruktorze dla funkcji
BridgingConfig.Builder
.
Wear-Ongoing w wersji 1.0.0-alfa06
2 czerwca 2021 r.
Aplikacja androidx.wear:wear-ongoing:1.0.0-alpha06
została zwolniona. Wersja 1.0.0-alpha06 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodaj pole tytułu do trwającej aktywności. (I7a405)
Poprawki błędów
SerializationHelper.copy()
tworzy teraz obronną kopię informacji (I8b276)- Ulepszona dokumentacja setCategory (Iff01f)
Wear-Ongoing w wersji 1.0.0-alfa05
18 maja 2021 r.
Aplikacja androidx.wear:wear-ongoing:1.0.0-alpha05
została zwolniona. Wersja 1.0.0-alpha05 zawiera te zatwierdzenia.
Zmiany w interfejsie API
OngoingActivity
ma teraz narzędzia pobierające, które pozwalają pobierać wszystkie wartości ustawione bezpośrednio za pomocą konstruktora (lub wartości domyślne pobrane z powiązanego powiadomienia). (Id8ac8)- Nowa klasa
Status
jest teraz używana do tworzenia stanu klasyOngoingActivity
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 elementuStatus.TextPart
. - Aby utworzyć
Part
ze stoperem (odliczającym), użyjStatus.Stopwatch
- Aby utworzyć
Part
z licznikiem czasu (odliczaniem), użyj funkcjiStatus.Timer
- Aby utworzyć
Wear-Ongoing w wersji 1.0.0-alfa04
5 maja 2021 roku
Aplikacja androidx.wear:wear-ongoing:1.0.0-alpha04
została zwolniona. Wersja 1.0.0-alpha04 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Metody OngoingActivity zostały utworzone w OngoingActivity jako „recoveryOngoingActivity”.
- OngoingActivity ma teraz pełny zestaw metod pobierania, ten sam, który wcześniej był dostępny tylko w OngoingActivityData. (I0ee4d)
Wear-Remote-Interactions (Interakcje zdalne) w wersji 1.0.0-alfa05
21 lipca 2021 r.
Aplikacja androidx.wear:wear-remote-interactions:1.0.0-alpha05
została zwolniona. Wersja 1.0.0-alpha05 zawiera te zatwierdzenia.
Zmiany w interfejsie API
Dodaliśmy klasę
RemoteIntentHelper
(wcześniej RemoteIntent w bibliotece pomocy dotyczącej urządzeń do noszenia), która może służyć do otwierania intencji na innych urządzeniach (tj. 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
w celu określenia, czy połączony telefon to telefon z Androidem. Następnie użyj metodyandroidx.wear.utils.WearTypeHelper.isChinaDevice
, aby określić, czy połączony telefon to urządzenie chińskie. Sklep Play jest dostępny, jeśli telefon jest z Androidem i nie jest urządzeniem chińskim. (Ie7dec)
Wear-Phone-Interactions (Interakcje z telefonem) w wersji 1.0.0-alfa04
7 kwietnia 2021 r.
Aplikacja androidx.wear:wear-phone-interactions:1.0.0-alpha04
została zwolniona. Wersja 1.0.0-alpha04 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Zaktualizowano stałe
ErrorCode
, aby zapewnić zgodność nowej biblioteki wstecz z implementacją w bibliotece pomocy dotyczącej urządzeń do noszenia.
Poprawki błędów
- Naprawiono wyjątek, który był powodowany przez nowy interfejs OAuth API podczas uruchamiania sesji OAuth.
Wear-Remote-Interactions (Interakcje zdalne) w wersji 1.0.0-alfa03
7 kwietnia 2021 r.
Aplikacja androidx.wear:wear-remote-interactions:1.0.0-alpha03
została zwolniona. Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Zmieniono
PlayStoreAvailability
na klasę, która zawiera obiekt towarzyszący z metodami statycznymi. Użycie pozostaje bez zmian.
Poprawki błędów
- Poprawiono dokument z podsumowaniem dla funkcji
WatchFaceConfigIntentHelper
, który prawidłowo wyświetla przykładowy kod z rzeczywistymi znakami HTML.
Aktywne interakcje z Wear z telefonem w wersji 1.0.0-alfa03
10 marca 2021 r.
Opublikowano androidx.wear:wear-ongoing:1.0.0-alpha03
i androidx.wear:wear-phone-interactions:1.0.0-alpha03
. Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.
Nowe funkcje
- Przeprowadź migrację OAuthClient z biblioteki pomocy do noszenia na AndroidaX. Ta przeniesiona klasa została zmieniona na RemoteAuthClient i umożliwia zdalne uwierzytelnianie w urządzeniach do noszenia oraz obsługę dodawania rozszerzenia OAuth PKCE. Dostępne są dodatkowe moduły obsługi i klasy pomocnicze do komunikacji.
- Aktywne działania można teraz powiązać z powiadomieniem zawierającym tag przy użyciu nowego konstruktora OngoingActivity.Builder.
Zmiany w interfejsie API
- Dodano obsługę tagów powiadomień w bibliotece bieżących działań (I653b4).
- Przenieś OAuthClient z biblioteki pomocy Wear do AndroidaX i dodaj obsługę rozszerzenia OAuth PKCE (I3eaaa)
Wear-Remote-Interactions (Interakcje zdalne) w wersji 1.0.0-alfa02
10 marca 2021 r.
Aplikacja androidx.wear:wear-remote-interactions:1.0.0-alpha02
została zwolniona. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.
Nowe funkcje
- Przeniesienie klasy PlayStoreAvailability z biblioteki pomocy do urządzeń do noszenia do AndroidaX, która udostępnia interfejs API do sprawdzania, czy Sklep Play jest dostępny na telefonie.
Poprawki błędów
- Przenoszę klasę PlayStoreAvailability z biblioteki pomocy do noszenia na AndroidaX. (I69bfe)
Wersja 1.0.0-alfa02
10 lutego 2021 r.
Opublikowano androidx.wear:wear-ongoing:1.0.0-alpha02
i androidx.wear:wear-phone-interactions:1.0.0-alpha02
. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodano obsługę bardziej złożonego stanu. Składają się z szablonu (lub kilku) i serii części, które będą używane do wypełnienia obiektów zastępczych szablonu. OngoingActivityStatus ma teraz statyczną metodę tworzenia prostych stanów za pomocą tylko jednej części (tekst lub licznik czasu) oraz narzędzie do tworzenia bardziej złożonych stanów. (I1fe81)
- Przenieś klasy BridgingManager i BrisgingConfig z Biblioteki pomocy Wear na platformę AndroidX, która udostępnia interfejsy API do włączania i wyłączania powiadomień w czasie działania oraz opcjonalnie ustawiać tagi dla powiadomień wykluczonych z trybu łączenia. (I3a17e)
Wersja 1.0.0-alfa01
27 stycznia 2021 r.
Opublikowano 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
. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
Przenieś bibliotekę bieżących działań do nowej biblioteki podrzędnej. Zajęcia 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 od urządzeń do noszenia po telefony. Początkowo zawiera on zajęcia przeniesione z biblioteki pomocy do noszenia. (Id5180).
Przeprowadź migrację klasy PhoneDeviceType z biblioteki pomocy do urządzeń do noszenia na AndroidaX. Przeniesiona klasa została zmieniona na PhoneTypeHelper, co zapewnia pomocnicze metody określania typu telefonu, z którym jest sparowany bieżący zegarek. Te funkcje są używane tylko na urządzeniach do noszenia. (Ibd947)
Utwórz nową bibliotekę pomocy zawierającą zajęcia, które obsługują interakcje między urządzeniami do noszenia i telefonami. Początkowo zawiera on zajęcia przeniesione z biblioteki pomocy do noszenia. (I9deb4)
Przeprowadź migrację klasy WatchFaceCompanion z biblioteki pomocy do noszenia na AndroidaX. Przenoszona klasa zmienia nazwę na WatchFaceConfigIntentHelper, która udostępnia funkcje pomocnicze do określania 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
Wersja 1.0.0-alfa22
15 września 2021 r.
Aplikacja androidx.wear:wear-*:1.0.0-alpha22
została zwolniona. Wersja 1.0.0-alpha22 zawiera te zatwierdzenia.
Nowe funkcje
- Edytujący sesję subskrybuje teraz obserwatorów cyklu życia, więc nie musisz już go zamykać, gdy Twoja aktywność przestanie działać.
Zmiany w interfejsie API
- Edytor SessionSession i ListenableEditorSession używają teraz metody kotlin StateFlows na potrzeby complicationSlotsState, ComplicationsPreviewData i ComplicationsDataSourceInfo. (I761d9)
- EditorSession#userStyle to teraz
MutableStateFlow<UserStyle>
(I32ca9) - Edytor EditorSession.createOnWatchEditorSession korzysta teraz z obserwatora cyklu życia i zamyka się automatycznie, gdy zaobserwuje onDestroy. Dodatkowo
createOnWatchEditorSession
wymaga teraz tylko przekazania działania. Identyczne zmiany zostały też zastosowane do elementu ListenableEditorSession. (Ic6b7f) - Konstruktor CustomValueUserStyleSetting został przywrócony jako część publicznego interfejsu API. (I2e69a)
UserStyle
dziedziczy teraz dziedziczenie zasad zMap<UserStyleSetting, UserStyleSetting.Option>
, aMutableUserStyleSetting#put
zgłasza IllegalArgumentException, jeśli ustawienie nie znajduje się w schemacie lub jeśli opcja nie jest z nim zgodna. (Iba40f)
Wersja 1.0.0-alfa21
1 września 2021 roku
Aplikacja androidx.wear:wear-*:1.0.0-alpha21
została zwolniona. Wersja 1.0.0-alpha21 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Wszystkie publiczne interfejsy API tarczy zegarka, klienta, edytora i widżety używają teraz java.time.Błyskawiczne do czasu, a nie z długiego okresu, w związku z czym minimalny poziom interfejsu API wzrósł do 26. (I3cd48)
- Interfejsy API tarczy zegarka i widżety używają teraz stałej strefy ZonedDateTime, a nie Kalendarza. (I25cf8)
- ComplicationSlots jest teraz inicjowany z użyciem NoDataComplicationData, ComplicationSlot.complicationData zawsze ma wartość. CanvasComplicationDrawable.complicationData nie będzie już mieć wartości null. (I4dfd6). Eliminuje to (ale nie eliminuje) widżetów migotania podczas przełączania się między tarczami zegarka.
Wersja 1.0.0-alfa20
18 sierpnia 2021 r.
Aplikacja androidx.wear:wear-*:1.0.0-alpha20
została zwolniona. Wersja 1.0.0-alpha20 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Do obiektu ComplicationDataSourceInfo dodaliśmy funkcję createFallbackPreviewData, której można używać, gdy ComplicationDataSourceInfoRetriever.retrievePreviewComplicationData zwraca wartość null. (I38c4d)
- Interfejs ComplicationDataSourceUpdateRequester został przekształcony w interfejs umożliwiający kpinowanie w testach jednostkowych. Można utworzyć konkretny obiekt ComplicationDataSourceUpdateRequester za pomocą funkcji ComplicationDataSourceUpdateRequester.create(). (I7da22)
- Metoda RenderParameters.ratedComplicationSlotIds została zastąpiona przez parametr RenderParameters.lastComplicationTapDownEvents, który udostępnia nową klasę TapEvent zawierającą potrójną klasę x, Y kliknięcia w pikselach oraz sygnaturę czasową. Pole
WatchFace.TapListener.onTap
zostało zastąpione przezonTapEvent(@TapType tapType: Int, tapEvent: TapEvent)
. Poza tymInteractiveWatchFaceClient.displayPressedAnimation
została usunięta. (Id87d2) - Dodano adnotację dotyczącą podziału na wątki dla funkcji setimportantForAccessibility (I990fa).
- Wartość ComplicationSlotBoundsType została przeniesiona do androidx-wear-watchface.ComplicationSlotBoundsType w komponencie wear/wear-watchface. (I09420)
- Dodaliśmy obsługę przekazywania identyfikatorów zasobów w formie ciągów znaków do parametrów UserStyleSetting i Opcje. Jest to obecnie zalecany sposób tworzenia tych obiektów. (I03d5f)
- Maksymalny rozmiar przewodu w schemacie UserStyle jest objęty ograniczeniami. Ikony w schemacie nie mogą być większe niż 400 x 400 pikseli. (I3b65b)
- Dodaliśmy klasę MutableUserStyle, aby obsługiwać zmiany w instancjach UserStyle (I95a40).
- Zmieniliśmy nazwę grupy
ListenableWatchFaceMetadataClient.Companion#listenableCreateWatchFaceMetadataClient
naListenableWatchFaceMetadataClient.Companion#createListenableWatchFaceMetadataClient
. (I64ce2) - Zmodyfikowaliśmy EdytorState.previewComplicationsData, aby zawierał tylko dane dotyczące włączonych widżetów. Dodaliśmy też
EditorSession.DEFAULT_PREVIEW_TIME_MILLIS
, który, jeśli zostanie przekazany do metodyrenderWatchFaceToBitmap
, lubPreviewScreenshotParams
żąda renderowania z domyślnym czasem podglądu tarczy zegarka. (If7b3c) - Usunęliśmy konstruktory UserStyleSetting odbierające CharSequence z publicznego interfejsu API. Zalecamy używanie konstruktorów, które wymagają identyfikatorów StringResource. (I8537b)
CurrentUserStyleRepository.UserStyleChangeListener
obsługuje teraz konwersję SAM. (I85989)
Wersja 1.0.0-alfa19
4 sierpnia 2021 r.
Aplikacja androidx.wear:wear-*:1.0.0-alpha19
została zwolniona. Wersja 1.0.0-alfa19 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodaliśmy kod
ListenableWatchFaceMetadataClient.listenableCreateWatchFaceMetadataClient
, który zapewnia koderListenableFuture
dla komponentuWatchFaceMetadataClient.createWatchFaceMetadataClient
. (I5fa37) UserStyleOption.getOptionForId
akceptuje terazUserStyleOption.Id
zamiast tablicy bajtów. (I469be)- Podaj stałe
BooleanOption.TRUE
iBooleanOption.FALSE
i nie zezwalaj na tworzenie instancji (I46e09) - Metody w wear-watchface-client, które mogą zgłaszać zdalny wyjątek, mają teraz odpowiednie adnotacje. (Ib8438)
- Aby zachować spójność, zmieniliśmy nazwę społeczności
EditorSession.createOnWatchEditingSession
nacreateOnWatchEditorSession
. PodobniecreateHeadlessEditingSession
to terazcreateHeadlessEditorSession
. Zmieniły się również nazwy opakowań z gujawy. (I1526b) EditorSession
jest teraz interfejsem, aListenableEditorSession.commitChangesOnClose
jest teraz prawidłowo delegowany. (I7dc3e)- Odrzucamy teraz wszystkie schematy stylów użytkownika, które zawierają ustawienia lub opcje o sprzecznych identyfikatorach (Ic2715)
- Dodaliśmy przeciążenie
UserStyle.get
, które akceptujeUserStyleSetting.Id
. (I2aa0f).
Wersja 1.0.0-alfa18
21 lipca 2021 r.
Aplikacja androidx.wear:wear-*:1.0.0-alpha18
została zwolniona. Wersja 1.0.0-alfa18 zawiera te zatwierdzenia.
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 wszystkie zajęcia, które mają w nazwie Dostawcy, też mają taką samą nazwę. (Iaef0b) - Domena
CanvasComplication.isHighlighted
została przeniesiona do:RenderParameters.pressedComplicationSlotIds
. To krok w stronę bezstanowego:CanvasComplication
. Aby umożliwić obsługę tej zmiany,CanvasComplication.render
przyjmuje teraz także parametrslotId
jako parametr, aComplicationSlot
przekazujemy doGlesTextureComplication
. (I50e6e) - Do interfejsu
EditorRequest
dodaliśmy parametrheadlessDeviceConfig
. Jeśli nie ma on wartości null, ten parametr jest używany do tworzenia instancji bez interfejsu graficznego w celu udzielenia zgody na działanie edytora EditorSession zamiast działania na instancji interaktywnej. Dzięki temu można wywołać edytor dla innej tarczy zegarka. (I0a820) - Dodaliśmy eksperymentalną funkcję
WatchFaceMetadataClient
, która umożliwia sprawne pobieranie statycznych metadanych tarczy zegarka, takich jakUserStyleSchema
i poprawione szczegóły na temat:ComplicationSlots
. (I6bfdf) - Zmieniliśmy nazwę grupy
CanvasRenderer.uiThreadInit
na init. (I6fff9) - Dodaliśmy parametr PreviewScreenshotParams – opcjonalny nowy parametr obiektu EditorRequest, który nakazuje wykonanie zrzutu ekranu podglądu po zatwierdzeniu z tym parametrem. Obraz podglądu jest widoczny
EditorState.previewImage
. (Ic2c16)
Poprawki błędów
- Deweloperzy nie muszą już dodawać ComplicationHelperActivity do swojego pliku manifestu. (I6f0c2)
Wersja 1.0.0-alfa17
30 czerwca 2021 r.
Aplikacja androidx.wear:wear-*:1.0.0-alpha17
została zwolniona. Wersja 1.0.0-alfa17 zawiera te zatwierdzenia.
Nowe funkcje
W
GlesRenderer
zasadymakeUiThreadContextCurrent
imakeBackgroundThreadContextCurrent
zostały zastąpione przezrunUiThreadGlCommands
irunBackgroundThreadGlCommands
, które akceptują dokumentRunnable
. Biblioteka zapewnia, że w danym momencie może być wykonywane tylko jedno polecenie GL.Aby ułatwić inicjowanie interfejsu UiThread, dodaliśmy element
CanvasRenderer.uiThreadInit
, który jest wywoływany w UiThread raz przed każdym wywołaniem renderowania. Dodaliśmy teżonRendererCreated
doCanvasComplication
, aby ułatwić użytkownikomRenderer
iCanvasComplication
udostępnianie ich stanu.Aby uniknąć wątpliwości: nazwa
Complication
została zmieniona naComplicationSlot
, acomplicationId
nacomplicationSlotId
lubcomplicationInstanceId
w zależności od sposobu korzystania.
Zmiany w interfejsie API
- Aby rozwiać wszelkie wątpliwości, zmieniliśmy nazwę
Complication
naComplicationSlot
, acomplicationId
nacomplicationSlotId
lubcomplicationInstanceId
w zależności od sposobu użytkowania. Klasy korzystające z komplikacji zmieniły nazwę w podobny sposób, np. ComplicationsManager nosi teraz nazwę ComplicationSlotsManager. (I4da44) - W narzędziu GlesRenderer funkcje
makeUiThreadContextCurrent
imakeBackgroundThreadContextCurrent
zostały zastąpione przezrunUiThreadGlCommands
irunBackgroundThreadGlCommands
, które akceptująRunnable
. Te funkcje są potrzebne tylko wtedy, gdy musisz wykonywać wywołania GL poza renderowaniem,runBackgroundThreadGlCommands
ionUiThreadGlSurfaceCreated
. Jest to wymagane, ponieważ w tym samym procesie może istnieć wiele mechanizmów GlesRenderer, z których każdy może mieć własny kontekst, potencjalnie pochodzący z różnych tarcz zegarka. Oprócz tego zsynchronizowany jest także dostęp do bieżącego udostępnionego kontekstu globalnego. (I04d59) - Dodaliśmy tag
CanvasRenderer.uiThreadInit
, który jest wywoływany w UiThread jeden raz przed każdym wywołaniem renderowania. Aby uniknąć wątpliwości w GlesRenderer, zmieniliśmy nazwę językaonGlContextCreated
naonBackgroundThreadGlContextCreated
ionGlSurfaceCreated
naonUiThreadGlSurfaceCreated
. (If86d0) - Nazwa aplikacji
HeadlessWatchFaceClient
iInteractiveWatchFaceClient
getComplicationsSlotState
została zmieniona nagetComplicationSlotsState
. WComplicationSlot
: nazwycreateRoundRectComplicationBuilder
,createBackgroundComplicationBuilder
icreateEdgeComplicationBuilder
zostały zmienione odpowiednio nacreateRoundRectComplicationSlotBuilder
,createBackgroundComplicationSlotBuilder
icreateEdgeComplicationSlotBuilder
. (Ib9adc) - Do aplikacji CanvasComplication dodaliśmy funkcję onRendererCreated, która ułatwia udostępnianie stanu przez mechanizmy renderowania i Cancomplication. (I5e1ac)
Wersja 1.0.0-alfa16
16 czerwca 2021 r.
Aplikacja androidx.wear:wear-*:1.0.0-alpha16
została zwolniona. Wersja 1.0.0-alfa16 zawiera te zatwierdzenia.
Nowe funkcje
- Naprawiliśmy wiele błędów związanych z ostatnimi zmianami w modelu wątków oraz naprawiliśmy inne problemy związane z edytorem tarczy zegarka.
Poprawki błędów
- Zapobiegaj NPE w
onComplicationProviderChooserResult
(b/189594557) - Rozwiązywanie problemów z nieaktualnymi powierzchniami i drewnianymi plusami (b/189452267)
- Rozwiąż problem z dostępem do domeny
complicationsManager.watchState
(b/189457893) - Naprawianie błędu dotyczącego czasu trwania wątku w tle (b/189445428)
- Rozwiązywanie problemów z edytorem tarczy zegarka Pre-R (b/189126313)
- Nie aktualizuj parametrów rozruchu bezpośredniego w przypadku zmiany stylu edytora (b/187177307)
Wersja 1.0.0-alfa15
2 czerwca 2021 r.
Aplikacja androidx.wear:wear-*:1.0.0-alpha15
została zwolniona. Wersja 1.0.0-alpha15 zawiera te zatwierdzenia.
Nowe funkcje
Większość inicjowania tarcz zegarka odbywa się teraz w wątku w tle, ale po wczytaniu całego mechanizmu renderowania tarcz zegarka itp. odbywa się to w interfejsie UiThread. Między wczytywaniem a renderowaniem istnieje bariera pamięci, dzięki której większość użytkowników nie musi robić niczego specjalnego. Tarcze zegarka korzystające z GLES mogą stanowić wyjątek, ponieważ kontekst jest związany z wątkami, a my tworzymy 2 powiązane konteksty, dzięki czemu można przesyłać zasoby GL (np. tekstury i shaki) w wątku w tle i używać ich w interfejsie UiThread.
Konstrukcję tarcz zegarka podzieliliśmy na 3 funkcje: createUserStyleSchema, createComplicationsManager i createWatchFace. Zakładamy, że elementy createUserStyleSchema i createComplicationsManager są szybkie, a załadowanie zasobów createWatchFace może zająć trochę czasu. Dlatego wprowadziliśmy funkcję WatchFaceControlClient.getDefaultProviderPoliciesAndType
, która zwraca mapę identyfikatorów widżetów do domyślnego atrybutu ComplicationType. To szybsze niż utworzenie instancji bez interfejsu graficznego, ponieważ nie wymaga ona pełnego inicjowania tarczy zegarka do wykonania zapytania.
Na koniec widżety są teraz tworzone w narzędziu CanvasComplicationFactory, które umożliwia leniwe tworzenie mechanizmów renderowania CanvasComplication.
Zmiany w interfejsie API
- Tekst
@TargetApi
został zamieniony na@RequiresApi
. (I0184a, b/187447093, b/187447094) - Wprowadziliśmy
WatchFaceControlClient.getDefaultProviderPoliciesAndType
, który zwraca mapę identyfikatorów komplikacji do DefaultComplicationProviderPolicies i domyślną wartość ComplicationType. Tam, gdzie to możliwe, używana jest szybka ścieżka, która pozwala uniknąć pełnego utworzenia tarczy zegarka. Aby to ułatwić, interfejs API WatchFaceService musiał się zmienić. Wprowadziliśmy 2 nowe metody: createUserStyleSchema i createComplicationsManager, których wyniki są przekazywane do createWatchFace. Dodatkowo komplikacje są teraz tworzone w narzędziu CanvasComplicationFactory, które umożliwia leniwe tworzenie mechanizmów renderowania CanvasComplication. (Iad6c1) - Usunęliśmy MOST_TIMEZONE_APP z SystemProviders. (I3df00).
- ObservableWatchData jest teraz zapieczętowaną klasą. (IC940d)
- Element CanvasComplicationFactory.create (zwykle powiązany z io) jest teraz wywoływany w wątku w tle dla każdego widżetu przed rozpoczęciem renderowania wątku interfejsu użytkownika. Między konstrukcją a renderowaniem istnieje bariera pamięci, dzięki czemu nie trzeba używać specjalnych podstawowych elementów podstawowych z wątkami. (Ia18f2).
- Konstrukcja tarczy zegarka jest teraz wykonywana w wątku w tle, chociaż całe renderowanie odbywa się w wątku interfejsu użytkownika. GlesRenderer obsługuje 2 połączone konteksty. Rozwiązanie WatchFaceControlClient.createHeadlessWatchFaceClient i WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient może zostać rozwiązanych przed zakończeniem działania aplikacji WatchFaceService.createWatchFace. Kolejne wywołania interfejsu API będą blokowane do momentu zakończenia inicjowania watchFace. (Id9f41).
- EXPANSION_DP i STROKE_WIDTH_DP nie są już widoczne w api.txt. (I54801)
- W przypadku wystąpienia błędu zamiast wysłania pustej sesji zastosowaliśmy funkcję EditorSession.createOnWatchEditingSession do zgłaszania wyjątku TimeoutcancelException. Dodatkowo wartość zwracana przez interfejsy EditorRequest.createFromIntent i EditorSession.createOnWatchEditingSession to teraz NonNull. (I41eb4)
Wersja 1.0.0-alfa14
18 maja 2021 r.
Aplikacja androidx.wear:wear-*:1.0.0-alpha14
została zwolniona. Wersja 1.0.0-alfa14 zawiera te zatwierdzenia.
Nowe funkcje
- Funkcja
EditorSession.openComplicationProviderChooser
zwraca teraz wartość ChosenComplicationProvider, która zawiera identyfikator widżetu (ComplicationProviderInfo
) oraz pakiet zawierający wszelkie dodatkowe dodatki zwrócone przez funkcję wyboru dostawcy. - Stopniowo przenosimy kod do Kotlin i większość interfejsu API tarcz zegarka jest teraz zdefiniowana w Kotlin.
Zmiany w interfejsie API
- Właściwości GlesRenderer
eglContext
ieglDisplay
nie mogą teraz zawierać wartości null. Błędy GL są teraz zgłaszane przezGlesRenderer.GlesException
, a nie przez klasyfikacje RuntimeException. (IB1005) - Przenieśliśmy usługę
androidx.wear.watchface.complications.rendering.ComplicationDrawable
z języka Javy do Kotlin (Ibc3eb) - Przenieśliśmy usługę
androidx.wear.watchface.complications.rendering.ComplicationStyle
z języka Javy do Kotlin (I3375e) - Dodaliśmy informacje o dostawcy poszczególnych widżetów w Edytorze. (I37f14)
- Rozszerzyliśmy zakres wyniku
EditorSession.openComplicationProviderChooser
o informacje zwrócone przez wybrane osoby. (Iead6d)
Widżety na Wear i tarcza zegarka w wersji 1.0.0-alfa13
5 maja 2021 roku
Aplikacja androidx.wear:wear-*:1.0.0-alpha13
została zwolniona. Wersja 1.0.0-alfa13 zawiera te zatwierdzenia.
Nowe funkcje
Tarcze zegarka nie tylko wyświetlają czas i widżety, ale też mogą zawierać ważne elementy wizualne. Aby umożliwić korzystanie z tej funkcji przez czytnik ekranu, tarcza zegarka może teraz określać ułatwienia dostępu ContentDescriptionDescription w ramach dodatkowej właściwości mechanizmu renderowania. Oprócz tego do widżetów dodano funkcję AccessibilityTraversalIndex w celu kontrolowania kolejności obiektów ContentDescriptionLabels. To ustawienie można zmienić przez ComplicationsUserStyleSetting.
Aby zachęcić programistów do starannego rozważenia zakupu czytników ekranu, dodaliśmy do konstruktorów obowiązkowe pola
ShortTextComplicationData.Builder
,LongTextComplicationData.Builder
iRangedValueComplicationData.Builder
contentDescription
. Jeśli przekażesz atrybutComplicationText.EMPTY
w przypadku elementucontentDescription
, na podstawie tekstu i tytułu zostanie automatycznie wygenerowanycontentDescription
.WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient
teraz zwracaServiceStartFailureException
, jeśli tarcza zegarka zgłasza wyjątek podczas inicjowania, co znacznie ułatwia diagnozowanie problemów podczas uruchamiania tarczy.
Zmiany w interfejsie API
- W komponencie ComplicationProviderInfo dodaliśmy obsługę o wartości null nazwy komponentu, która jest niezbędna na potrzeby obsługi starszych wersji Wear OS. (I744d2)
- Przenieśliśmy
androidx.wear.complications.SystemProviders
z języka Java do Kotlin. (Ia1f8b) - Ukryliśmy wszystkie klasy w publicznym interfejsie API, które znajdują się w android.support.wearable.complications, i w razie potrzeby utworzyliśmy odpowiednie otoki w AndroidzieX. (I7bd50)
- Zmieniliśmy nazwę metody w
TimeDifferenceComplicationText.Builder
zsetMinimumUnit
nasetMinimalTimeUnit
. (I20c64) - Pole
ShortTextComplicationData.Builder
,LongTextComplicationData.Builder
iRangedValueComplicationData.Builder
contentDescription
musi być przekazywane w konstruktorze. (I8cb69) - Zmieniliśmy nazwę ComplicationProviderService.onComplicationUpdate na onComplicationRequest i uwzględniliśmy parametr id i typu tej metody w data ComplicationRequest. Nazwa powiązanego detektora została zmieniona na ComplicationRequestListener i jej metodę ComplicationRequestListener.onComplicationData. (Iaf146)
- Usunęliśmy metodę
isActiveAt
z tabeliComplicationData
i zamiast niej ujawniliśmy polevalidTimeRange
. To wywołanie metody można zastąpić funkcjąvalidTimeRange.contains
. (I65936) - Zmieniliśmy opis metody ComplicationProviderService.onComplicationActivated, aby możliwe było otrzymywanie obiektu ComplicationType zamiast typu int. (Idb5ff)
- Przeniesiono ProviderUpdateRequester z Javy do Koltin. (Ibce13).
- Komponent GlesRender.makeContextCurrent jest teraz publiczny. Kod tarczy zegarka może wymagać wykonania połączeń w GL poza renderowaniem i funkcją onGlContextCreated. Wywołanie tego zdarzenia 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 podczas inicjowania. Dodatkowo WatchFaceService zgłasza wyjątek, jeśli funkcja createWatchFace trwa dłużej niż 6 sekund. (I59b2f)
- Usunęliśmy nieużywaną właściwość id elementu
GlesTextureComplication
. (I28958) - Tarcza zegarka może teraz określać etykiety ContentDescriptionDescription o ułatwieniach dostępu za pomocą właściwości dodatkowej
Renderer
. Widżety umożliwiają nie tylko kontrolowanie kolejności elementów ContentDescriptionDescription, których etykieta została dodana do widżetów. To ustawienie można zmienić przez ComplicationsUserStyleSetting. (Ib7362) - Rozwiń dokumentację obsługi zdarzeń dotknięcia na tarczy zegarka. (Iaf31e)
Poprawki błędów
- Funkcja
EditorSession.getComplicationsPreviewData()
zwraca teraz mapę w przypadku wszystkich widżetów, które nie są puste. Instancja EmptyComplicationData jest używana na potrzeby pustych widżetów. (I1ef7e)
Widżety na Wear i tarcza zegarka w wersji 1.0.0-alfa12
21 kwietnia 2021 r.
Aplikacja androidx.wear:wear-*:1.0.0-alpha12
została zwolniona. Wersja 1.0.0-alpha12 zawiera te zatwierdzenia.
Nowe funkcje
Edytory tarcz zegarka muszą zaznaczyć fragmenty, by dowiedzieć się, który aspekt zegarka jest konfigurowany. Poszerzyliśmy funkcję RenderParameters, aby umożliwić wyróżnianie stylów i widżetów. Dostępna jest nowa, opcjonalna warstwa podświetleń, którą można zamazać na tarczy zegarka z przezroczystością alfa (interfejsy API zrzutów ekranu mogą to zrobić za Ciebie, ale możesz też stworzyć warstwę wyróżnienia osobno, aby zapewnić jak największą elastyczność). Załóżmy, że korzystasz ze stylu, który pozwala skonfigurować wygląd wskazówek zegarka, a mechanizm renderowania w interfejsie renderowania w warstwie wyróżnienia może narysować wokół nich kontur.
Aby ułatwić korzystanie z komplikacji dostawców ułatwień dostępu, utworzyliśmy pola PhotoImageComplicationData.Builder, MonochromaticImageComplicationData.Builder i SmallImageComplicationData.Builder jako wymagany argument konstruktora. Dodaliśmy ComplicationTapFilter i Complication.createEdgeComplicationBuilder do obsługi widżetów na krawędziach ekranu (rysowanych wokół krawędzi ekranu). Renderowanie i testowanie widżetów znajdziesz tylko na tarczy zegarka. Edytor towarzyszący nie obsługuje testowania trafień brzegowych.
Zmiany w interfejsie API
- Do stałych w SystemProvider dodano prefiks
PROVIDER_
. (I1e773) - Pole
PhotoImageComplicationData.Builder
,MonochromaticImageComplicationData.Builder
iSmallImageComplicationData.Builder
jest obowiązkowe. Należy je przekazywać w konstruktorze.contentDescription
(I9643a) - Nazwa konta
ProviderInfoRetriever.requestPreviewComplicationData
została zmieniona naretrievePreviewComplicationData
. (I911ee). - Przeniesiono
ComplicationProviderService
z języka Java do Koltin. (I849f2) - Metoda
ComplicationProviderService.onBind
jest teraz ostateczna (I39af5) - Przywróciliśmy interfejs
CanvasComplication
i przenieśliśmyCanvasComplicaitonDrawable
,GlesTextureComplication
orazComplicationHighlightRenderer
dowear-watchface-complications-rendering
. (I84670) - Aplikacja
RenderParameters
została zmodyfikowana, by umożliwić obsługę rozszerzonego renderowania najciekawszych momentów. Możesz teraz poprosić o wyrenderowanie podświetlenia stylów, a także wszystkich widżetów lub pojedynczych widżetów. Dodatkowo wprowadziliśmy CanvasRenderer i GlesRenderer w celu wprowadzenia nowej, abstrakcyjnej metody render SpotlightLayer, umożliwiającej renderowanie wszelkich podświetleń żądanych przez edytor. Nazwa warstwy została zmieniona na WatchFaceLayer. (Ic2444) - Aplikacje
ComplicationTapFilter
iComplication.createEdgeComplicationBuilder
zostały dodane do obsługi widżetów brzegowych. Renderowanie i testowanie widżetów znajdziesz tylko na tarczy zegarka. Testy działań nie są obsługiwane w edytorach. (Ia6604) - W przypadku aplikacji
DoubleRangeUserStyleSetting
iLongRangeUserStyleSetting
:defaultValue
,maximumValue
iminimumValue
to teraz usługi kotlin. Oprócz tego zostały usunięte funkcjeUserStyleSetting.Option
, takie jak toBooleanOption, toCoplicationOptions, toListOption i podobne. (I52899) - Dodaj rozmiar podbródka do właściwości urządzenia dostępnego dla tarczy zegarka. (I76e1e)
- Konstruktor
ComplicationHighlightRenderer
akceptuje teraz parametryoutlineExpansion
ioutlineStrokeWidth
. (I87009) ComplicationDrawable.getNoDataText
jest teraz częścią publicznego interfejsu API. (I00598)
Wersja 1.0.0-alfa11
7 kwietnia 2021 r.
Aplikacja androidx.wear:wear-*:1.0.0-alpha11
została zwolniona. Wersja 1.0.0-alpha11 zawiera te zatwierdzenia.
Nowe funkcje
- Dopracowaliśmy interfejsy API tarczy zegarka. Większość zmian to proste zmiany nazw, ale
InteractiveWatchFaceWcsClient
iInteractiveWatchFaceSysUiClient
zostały scalone wInteractiveWatchFaceClient
.
Zmiany w interfejsie API
- ContentDescriptionLabel.text to teraz ComplicationText, a nie starą bibliotekę pomocy do urządzeń do noszenia TimeDependentText. (I80c03)
- Nie możemy zagwarantować, że aplikacja
SystemProviders.GOOGLE_PAY
będzie dostępna na wszystkich urządzeniach z Androidem R, dlatego została usunięta z listy. Nadal można korzystać z usług tego dostawcy w usłudzeDefaultComplicationProviderPolicy
(If01b5) - Aby zachować spójność, zmieniliśmy nazwę ComplicationUpdateCallback na ComplicationUpdateListener. (I61ec7)
- Mapa formatu przewodu UserStyle została zmieniona na
Map<String, byte[]>
. Dla ułatwienia do publicznego interfejsu API została dodana klasaUserStyleData
, która jest teraz używana przez wear-watchface-client i wear-watchface-editor. Dodatkowo parametr CustomValueUserStyleSetting.CustomValueOption.value ma teraz wartośćbyte[]
zamiastString
. (Iaa103) - Do przechowywania identyfikatorów funkcji
UserStyleSetting
iUserStyleSetting.Option
stosowane są teraz odpowiednioUserStyleSetting.Id
iUserStyleSetting.Option.Id
, a nie ciąg znaków. (I63f72) - Nazwa konta
InteractiveWatchFaceClient.SystemState
została zmieniona naWatchUiState
. (I6a4e0) - Kolumny
InteractiveWatchFaceWcsClient
iInteractiveWatchFaceSysUiClient
zostały scalone, ponieważ trudno było wyjaśnić sposób podziału odpowiedzialności (Iff3fa) - Zmieniliśmy nazwy wartości warstw z wynikami, aby zwiększyć ich przejrzystość.
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 konta
InteractiveWatchFaceWcsClient.updateInstance
została zmieniona naupdateWatchfaceInstance
. (I321dc) - Zmieniliśmy nazwy zdarzeń WatchFace TapType, aby dopasować je do MotionEvents / Compose. (I0dfd0).
- Nazwa TakeWatchfaceScreen została zmieniona na renderWatchFaceToBitmap, a TakeComplicationSCREEN na renderComplicationToBitmap (Ie0697).
- Interfejs CanvasComplication został usunięty i zastąpiony otwartym klasą CanvasComplicationDrawable. (I1f81f)
- Interfejs
WatcfaceControlServiceFactory
został usunięty z publicznego interfejsu API. (I1f8d3) - Zmieniliśmy nazwę grupy
CanvasComplication.setData
naCanvasComplication.loadData
. (If1239) - Nazwa konta
ComplicationsManager.bringAttentionToComplication
została zmieniona nadisplayPressedAnimation
. (Ic4297) WatchFaceService.createWatchFace
ma teraz adnotację@UiThread
. (Ib54c2)- Aby naprawić błąd, zmieniliśmy nazwę parametru CanvasComplicationDrawable. (I50dac)
- Dodaliśmy
HeadlessWatchFaceClient.toBundle()
iHeadlessWatchFaceClient.createFromBundle
, aby umożliwić wysyłanieHeadlessWatchFaceClient
przez AIDL. (I07c35) - Rozwiązania HeadlessWatchFaceClient i InteractiveWatchFaceClient teraz zawierają funkcje ClientDisableListener i isConnectionAlive(), które umożliwiają sprawdzanie, czy połączenie nie zostało przerwane z jakiegoś powodu (np. z powodu przerwania tarczy zegarka). (IE446d)
WatchFaceControlClient#getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync
to teraz funkcja zawieszania, a jej nazwa togetOrCreateInteractiveWatchFaceClient
. (Ib745d)- Nazwa aplikacji
EditorState.commitChanges
ihasCommitChanges()
została zmieniona nashouldCommitChanges()
. (I06e04). - Nazwa aplikacji
previewComplicationData
została zmieniona napreviewComplicationsData
, aby wskazać, że na mapie znajduje się (zwykle) więcej niż 1 widżet. (I56c06) - Nazwa usługi
InteractiveWatchFaceWcsClient.bringAttentionToComplication
została zmieniona nadisplayPressedAnimation
, aby zapewnić spójność zComplicationsManager.displayPressedAnimation
. (Ic9999) - Wszystkie wystąpienia identyfikatora instancji tarczy zegarka są zawarte 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 wear-watchface-client. (Icc4c0)
- Aby zachować spójność, zmodernizowaliśmy funkcję
EditorServiceClient
, aby używać w niej detektorów, a nie obserwatorów. (Iec3a4) - Dodaliśmy kilka brakujących adnotacji (
@Px
) do stronInteractiveWatchFaceSysUiClient
iWatchFaceControlClient
. (I3277a) - W celu zachowania spójności została zmieniona nazwa interfejsu EditorObserverCallback na EditorObserverListener. (Ie572d)
- Element EditorState.watchFaceInstanceId jest ograniczony do poziomu interfejsu API Androida R lub nowszego i nie może już mieć wartości null. (Id52bb).
- Nazwa konta
EditorSession.launchComplicationProviderChooser
została zmieniona naopenComplicationProviderChooser
. (I9d441). - Nazwa
EditorSession.createOnWatchEditingSessionAsync
została zmieniona nacreateOnWatchEditingSession
i jest teraz funkcją zawieszania. (Id257b) - Dodano kilka brakujących adnotacji
@UiThread
wEditorSession
. (I6935c) - Nazwa konta
UserStyleSetting.affectsLayers
została zmieniona naaffectedLayers
. (I6e22b)
Wersja 1.0.0-alfa10
24 marca 2021 r.
Aplikacja androidx.wear:wear-*:1.0.0-alpha10
została zwolniona. Wersja 1.0.0-alpha10 zawiera te zatwierdzenia.
Nowe funkcje
- Można teraz tworzyć otwarte obiekty gl (np. tekstury) podczas korzystania z WatchFaceService.createWatchFace, ponieważ GlesRenderer wymaga teraz jawnego wywołania initOpenGLContext, które można wykonać w ramach metody createWatchFace.
Zmiany w interfejsie API
- Działanie
IdAndComplicationData
było nieco niezręczne i zostało usunięte z publicznego interfejsu API. Klasy i interfejsy, które z nich korzystały, zostały refaktoryzowane. (I4c928) - Zastąpiliśmy
ReferenceTime
elementamiCountUpTimeReference
iCountDownTimeReference
, więc nie o to oczywiste. (Ib66c6) - Dodano brakujące adnotacje
@Px
i@ColorInt
. (I9bbc3) Complication.complicationConfigExtras
nie może teraz zawierać wartości null i ma wartość domyślnąBundle.EMPTY
. (Iad04f)GlesRenderer
wymaga teraz zadzwonienia pod numerinitOpenGLContext
po zakończeniu budowy. Ta funkcja była szczegółową funkcją wewnętrzną, ale teraz jest dostępna w publicznym interfejsie API, aby umożliwić wcześniejsze wywołania GL w metodzie createWatchFace. (I726c2)- Usunęliśmy rozszerzenie
Complication.setRenderer
, ponieważ nie powinno być potrzebne. (Ie992f) Complicaiton.setComplicationBounds
nie jest już częścią publicznego interfejsu API. Jeśli chcesz dostosować pozycję widżetu, możesz to zrobić w aplikacjiComplicationsUserStyleSetting
. (Ibd9e5)- Nazwa konta
ComplicationsManager.TapCallback.onComplicationSingleTapped
została zmieniona naonComplicationTapped
. (I3a55c) - Nazwa konta
ComplicationOutlineRenderer.drawComplicationSelectOutline
została zmieniona nadrawComplicationOutline
. (I14b88)
Wersja 1.0.0-alfa09
10 marca 2021 r.
Opublikowano androidx.wear:wear-complications-*:1.0.0-alpha09
i androidx.wear:wear-watchface-*:1.0.0-alpha09
. Wersja 1.0.0-alpha09 zawiera te zatwierdzenia.
Nowe funkcje
- Zmienił się interfejs między hostem WCS/SysUI a tarczą zegarka. Edytujący może teraz określić, czy zmiana stylu spowoduje włączenie, czy wyłączenie widżetu (włączone = początkowo włączone i dowolne zastąpienie z ComplicationsUserStyleSetting). W razie potrzeby
EditorService.closeEditor
umożliwia firmie SysUI zdalne zamknięcie edytora tarcz zegarka. - Oprócz tego
InteractiveWatchFaceWcsClient.setUserStyle
zawiera bardziej zaawansowane polecenieupdateInstance
, które za jednym razem zmienia identyfikator instancji, ustawia styl i usuwa komplikacje.
Zmiany w interfejsie API
- Do bibliotek tarczy zegarka dodano element TraceEvents. (I1a141).
ComplicationState
ma teraz nową właściwośćinitiallyEnabled
, która przydaje się do przewidywania konsekwencji zmiany stylów. (I8c905)- Zastąpiliśmy
InteractiveWatchFaceWcsClient.setUserStyle
bardziej zaawansowanym poleceniemupdateInstance
, które: zmienia identyfikator instancji, ustawia styl i usuwa komplikacje. (Ife6f6) - Interfejsy API do zrzutów ekranu WatchFaceClient nie kompresują już zrzutów ekranu, ponieważ odbywało się to bardzo wolno. Zamiast tego przetwarzanie posta pozostawiamy elementowi wywołującemu. (Id35af)
- Edytor tarczy zegarka możesz teraz zdalnie zamknąć w aplikacji
EditorService.closeEditor
. (Ic5aa4) - Dodano adnotacje dopuszczalności wartości null (Ic16ed).
Wersja 1.0.0-alfa08
24 lutego 2021 r.
Aplikacja androidx.wear:wear-*:1.0.0-alpha08
została zwolniona. Wersja 1.0.0-alpha08 zawiera te zatwierdzenia.
Nowe funkcje
- Niektóre tarcze zegarka wykorzystują 1 lub więcej konkretnych widżetów, dlatego dodaliśmy w tym celu komponent Complication.Builder#setFixedComplicationProvider, który jeśli zasada ma wartość Prawda, uniemożliwia użytkownikowi zmianę widżetu w tym boksie.
- Biblioteki tarcz zegarka zostały umieszczone na początku w języku Kotlin i używają współprogramów (np. funkcji zawieszania). Użytkownikom Javy udostępniliśmy kody aplikacji ListenableFuture, które pozwalają poprawić interoperacyjność w tych bibliotekach: wear/wear-watchface-guava, wear/wear-watchface-client-guava & wear/wear-watchface-editor-editor-guava.
Zmiany w interfejsie API
- Usunęliśmy obsługę dwukrotnego kliknięcia w widżetach uruchamiających funkcję wyboru dostawcy. Ta funkcja nie była zbyt powszechna w tarczach zegarka i skomplikowana implementacja SysUI. (I3ef24)
- Metody ProviderInfoRetriever mogą zgłosić wyjątek ServiceOdłączedException, jeśli powiązanie zostanie nieoczekiwanie zamknięte. (Ib2cc4)
- Od Androida 11 obowiązują ograniczenia dotyczące uruchamiania narzędzia ProviderChooser. Ponadto chcemy, aby edytory były tworzone przy użyciu nowej wersji
wear-watchface-editor
, aby aplikacja ComplicationHelperActivity została usunięta z publicznego interfejsu API. (Ib19c1) - Usunięcie metod statycznych ComplicationText na rzecz konstruktora. (Ibe399)
- Wprowadziliśmy kody gujawy ListenableFuture do zawieszania w różnych metodach zawieszania biblioteki tarcz zegarka. (I16b2c)
- Aby zwiększyć przejrzystość interfejsu API, dodaliśmy do parametru RenderParameters dodatkowy konstruktor, który nie wymaga odcienia, do użytku z trybami LayerMode innymi niż
LayerMode.DRAW_OUTLINED
. (I497ea) - Wcześniej metoda ListUserStyleSetting różniła się od drugiej, ponieważ miała argument domyślny. Teraz wszystkie konstruktory podklasy StyleSetting przyjmują wartość domyślną na końcu. (I9dbfd)
- Zmieniony element CanvasComplication zawiera teraz ukrytą metodę, która ułatwia wdrożenie podklasy (I5b321).
- Zrefaktoryzowaliśmy EdytorResult na rzecz nowej usługi EditorService i
EditorSession.broadcastState()
do strumieniowego przesyłania aktualizacji do obserwatora (zwykle SysUI). (Ic4370) - Niektóre tarcze są wbudowane w konkretny widżet i stanowią integralną część tarczy zegarka – użytkownika nie można skonfigurować. W ramach tej funkcji dodaliśmy
Complication.Builder#setFixedComplicationProvider
. (I4509e) - EditorRequest określa teraz nazwę pakietu, a nie KomponentName, ponieważ wyszukiwanie nazwy klasy edytora przez system SysUI było niewygodne. Potrzebujemy tylko nazwy pakietu. (Ib6814)
Wersja 1.0.0-alfa07
10 lutego 2021 r.
Aplikacja androidx.wear:wear-*:1.0.0-alpha07
została zwolniona. Wersja 1.0.0-alpha07 zawiera te zatwierdzenia.
Nowe funkcje
- WatchFaceService.createWatchFace jest teraz funkcją zawieszania, co oznacza, że tarcza zegarka nie musi już blokować wątku interfejsu użytkownika podczas oczekiwania na operacje wejścia-wyjścia. W podobny sposób stosuj edytor do noszenia tarczy zegarka oraz dane dotyczące widżetów.
Zmiany w interfejsie API
- Usuń zajęcia PhotoImage i używaj bezpośrednio ikony. (I8a70b)
- Ujawnij atrybut validTimeRange of ComplicationData. (I91366)
- Podkreślaj atrybuty przypominające obrazy. (I81700)
- Dane dotyczące wear-watchface-editor i wear-complications-data zostały zmienione, aby używać funkcji zawieszania zamiast współprogramów. Kody Rx Java i Future Comppat będą wkrótce dostępne. (If3c5f)
- ProviderInfoRetriever teraz zwraca wyjątek 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)
- WatchFaceControlService::createWatchFaceControlClient jest teraz zawieszonym aukcją getOrCreateTapServiceBackedInteractiveWatchFaceWcsClient, nazywaną teraz getOrCreateTapServiceServiceBackedInteractiveWatchFaceWcsClientAsync powracającym
Deferred<InteractiveWatchFaceWcsClient>
. Wkrótce pojawią się kody kompatybilności z komponentami RX Java i Future. (I5d461) - Zmień nazwę społeczności
CATEGORY_PROVIDER_CONFIG_ACTION
naCATEGORY_PROVIDER_CONFIG
. (I7c068) - Uwaga: createOnWatchEditingSession jest teraz funkcją zawieszonym, ponieważ tarcza zegarka jest czasami niedostępna dopiero krótko po rozpoczęciu działania edytora. (Ida9aa)
- WatchFaceService.createWatchFace to teraz funkcja zawieszania, która umożliwia inicjowanie asynchroniczne. Wcześniej trzeba było zablokować wątek główny. (If076a)
- UserStyle ma teraz operator tablicy. Dodaliśmy elementy pomocnicze przesyłania do UserStyle.Option. (I35036)
- Naprawiliśmy błąd konstrukcyjny, który powodował, że wartości przewodów w elemencie UserStyle były zmieniane w niektórych niestabilnym ukrytym interfejsie API. (I8be09)
- Dodaliśmy funkcję CustomValueUserStyleSetting, która umożliwia przechowywanie pojedynczego ciągu specyficznego dla aplikacji w obrębie klasy UserStyle. Domyślne edytory tarcz zegarka zignorują tę wartość. (Ic04d2)
- Identyfikator instancji nie jest przekazywany w dodatkach intencji w wersjach R i starszych wersjach Androida Wear OS, których nie możemy uaktualnić. W związku z tym umożliwiamy teraz ustawienie identyfikatora InstancID na wartość null. (Id8b78).
- EditorRequest zawiera teraz komponent edytora KomponentName, który jest ustawiony jako komponent w WatchFaceEditorContract.createIntent (I3cd06).
- W edytorze tarczy zegarka zawarty jest teraz podgląd ComplicationData, który pozwala rozmówcy na zrobienie zrzutu ekranu po edycji. (I2c561)
Poprawki błędów
- Dodano zastąpienia toString() do UserStyle, UserStyleSetting i UserStyleSchema, które ułatwiają pracę z tymi klasami. (I9f5ec)
Wersja 1.0.0-alfa06
27 stycznia 2021 r.
Aplikacja androidx.wear:wear-*:1.0.0-alpha06
została zwolniona. Wersja 1.0.0-alpha06 zawiera te zatwierdzenia.
Nowe funkcje
- Wprowadziliśmy w bibliotece nowy edytor tarcz zegarka, który umożliwia deweloperom i potencjalnie producentom OEM tworzenie edytora stylów i widżet. SysUI wyśle intencję do tarczy zegarka, która użyje nowej klasy EditorSession, aby uzyskać dostęp do szczegółów WatchFace i zarejestrować wynik za pomocą Activity.setWatchRequestResult. Dodaliśmy w tym celu funkcję ProviderInfoRetriever.requestPreviewComplicationData, która umożliwia edytującym tarczę zegarka żądanie podglądu ComplicationData. Zaletą podglądu ComplicationData jest to, że w przeciwieństwie do aktualnych danych nie trzeba wyświetlać okien z uprawnieniami podczas renderowania edytora (uwaga: jeśli użytkownik wybierze dostawcę z odpowiednim uprawnieniem, i tak zostanie poproszony o przyznanie uprawnień).
Zmiany w interfejsie API
- ComplicationProviderInfo zawiera teraz pole na nazwę komponentu Dostawca. Obsługa tego pola zostanie w późniejszym czasie dodana do WearOS, a tymczasem będzie mieć wartość null. (Id8fc4)
- Dodaliśmy funkcję ProviderInfoRetriever.requestPreviewComplicationData, która umożliwia edytującym tarcze zegarka żądanie podglądu ComplicationData. Jest to przydatne, ponieważ widżety na żywo mogą wymagać uprawnień. Możesz teraz wyświetlać podgląd widżetów, które są nieaktywne. (I2e1df).
- ComplicationManager jest teraz opcjonalnym parametrem konstruktora WatchFace. Kolejność argumentów została odpowiednio zmieniona. (I66c76)
- Do kompilacji dodaliśmy opcjonalny pakiet, który, jeśli jest ustawiony, jest scalony z intencją wysłaną do uruchomienia działania selektora dostawcy. (Ifd4ad)
- Dodaliśmy nową bibliotekę
wear-watchface-editor
, aby obsługiwać tarcze zegarka i edytory hostowane w systemie SysUi. SysUI uruchomi te edytory, wysyłając intencję. Usługa aktywności na tarczy zegarka może korzystać z nowej klasy EditorSession, aby uzyskać dostęp do szczegółowych informacji o zegarku i zapisać wynik za pomocą Activity.setWatchRequestResult. (I2110d) - Komponent LayerMode.DRAW_HIGHlightED nazywa się teraz LayerMode.DRAW_OUTLINED, a RenderParameters.highlightComplicationId to teraz RenderParameters.selectedComplicationId. Ta konsola umożliwia oprócz konturu wyróżnienie określonego widżetu. (I90a40)
- Przyszłość zegarka WatchFaceControlClient.getOrCreateTapServiceBackedInteractiveWatchFaceWcsClient można teraz rozwiązać za pomocą wystąpienia ServiceStartFailureException, jeśli usługa ulegnie awarii podczas oczekiwania na utworzenie tarczy zegarka. (I0f509)
- Edytor Session.complicationPreviewData to teraz ListenableFuture, ponieważ pobieranie tych danych jest procesem asynchronicznym. (Iead9d)
Poprawki błędów
- Usuwamy nieużywane pola z komponentu ComplicationOverlay, pozostawiając włączone obszary i problemy. (I17b71)
Wersja 1.0.0-alfa05
13 stycznia 2021 r.
Aplikacja androidx.wear:wear-*:1.0.0-alpha05
została zwolniona. Wersja 1.0.0-alpha05 zawiera te zatwierdzenia.
Nowe funkcje
Tarcze często obsługują różne konfiguracje widżetów z różną liczbą wyświetlanych widżetów. Aby ułatwić konfigurację, teraz obsługujemy wstępnie wyłączone widżety przez wywołanie setEnabled(false) w konstruktorze. Można je później włączyć za pomocą ComplicationsUserStyleSetting.
Zmiany w interfejsie API
- ComplicationHelperActivity akceptuje teraz
Collection<ComplicationType>
, a nie tablicę int, co ułatwia korzystanie z niej. (I1f13d). ProviderInfoRetriever.retrieveProviderInfo
zwraca teraz poprawnie wartośćListenableFuture<ProviderInfo[]>
. (If2710)- Możesz teraz utworzyć widżet, który początkowo był wyłączony, wywołując w konstruktorze funkcję setEnabled(false). (Idaa53)
- Zegarek WatchFaceState ma teraz właściwość isHeadless, która obowiązuje tylko w przypadku instancji bez interfejsu graficznego. (Ifa900)
- ComplicationDrawable obsługuje teraz synchroniczne ładowanie elementów rysowalnych. Jest on używany przez interfejsy API do zrzutów ekranu. (I34d4a)
Wersja 1.0.0-alfa04
16 grudnia 2020 roku
Aplikacja androidx.wear:wear-*:1.0.0-alpha04
została zwolniona. Wersja 1.0.0-alpha04 zawiera te zatwierdzenia.
Nowe funkcje
- Biblioteka tarczy zegarka z Wear obsługuje teraz granice według typu. Możesz na przykład przełączyć się na szeroką ramkę ograniczającą dla ComplicationType.LONG_TEXT, a mniejszą – mniejszą w przypadku innych typów.
Zmiany w interfejsie API
- Komplikacje korzystają teraz z komponentu ComplicationBounds, który obejmuje obiekt
Map<ComplicationType, RectF>
w celu obsługi poszczególnych rozmiarów widżetów. (I1ebe7). - RenderParameters pozwala teraz określić odcień podświetlenia do użycia na zrzutach ekranu. (Iff42b)
- Poza granicami do modyfikowania widżetów musisz teraz używać ComplicationsUserStyleSetting. Ma to na celu zapewnienie synchronizacji systemu operacyjnego. (I8dc5d)
- Mechanizm renderowania jest teraz zapieczętowaną klasą. Oznacza to, że CanvasRenderer i GlesRenderer są teraz wewnętrznymi klasami mechanizmu renderowania. (Iab5d4, b/173803230)
- Nazwa CanvasComplicationDrawable.draw dobę została zmieniona na DrawOutline. W observableWatchData brakuje kilku adnotacji UiThread. Aplikacja ScreenState została w pełni usunięta z zegarka WatchState. (If1393)
- Minimalny poziom API dla tarczy zegarka to teraz 25. Uwaga: obsługa kanwy sprzętowej wymaga interfejsu API na poziomie 26 lub wyższym. (Ic9bbd)
- InteractiveWatchFaceWcsClient ma teraz pomocniczą getComplicationIdAt. (I05811).
- Poziom API dla aplikacji wear-watchface-client został zmniejszony do 25, ale interfejsy API zrzutów ekranu wymagają interfejsu API na poziomie 27. (Id31c2).
Poprawki błędów
- Teraz ujawniamy obecny typ ComplicationType komponentu ComplicationType w kompleksie ComplicationState. (I9b390)
- InteractiveWatchFaceWcs ma teraz metodę „bringAttentionToComplication”, która krótko wyróżnia określony widżet. (I6d31c)
InteractiveWatchFaceWcsClient#setUserStyle
ma teraz przeciążenie akceptujące atrybut Map<string, string="">, co pozwala uniknąć dodatkowego przesyłania IPC w obie strony niezbędnego do utworzenia klasy UserStyle. (I24eec)</string,>
Wersja 1.0.0-alfa03
Grudzień 2, 2020
Aplikacja androidx.wear:wear-*:1.0.0-alpha03
została zwolniona. Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.
Nowe funkcje
Klasa Complication zawiera teraz właściwość compicationData, która pozwala tarczom zegarka obserwować zmiany w kompleksie ComplicationData. W ten sposób możesz zmienić wymiary widżetu w zależności od jego typu.
Zmienne liczby klatek są teraz obsługiwane przez przypisanie do metody Renderer.interactiveDrawModeUpdateDurationMillis. W przypadku tarcz zegarka, które wyświetlają krótkie animacje co sekundę, może to prowadzić do oszczędności energii, ponieważ przejście w tryb uśpienia bez animacji.
Zmiany w interfejsie API
- Nazwa zajęć
BACKGROUND_IMAGE
została zmieniona naPHOTO_IMAGE
wraz z powiązanymi zajęciami. Ten rodzaj widżetu nie jest używany wyłącznie do tworzenia tła, dlatego zmieniła się jego nazwa. (I995c6) - Domyślna adnotacja wartości DefaultComplicationProviderPolicy w obiekcie IntDefs. (I3b431)
- Ukryta klasa TimeDependentText nie jest już wyświetlana przez ContentDescriptionLabel. Zamiast tego dodajemy akcesor, który pobiera tekst w określonym momencie. (Ica692)
- Konstruktor ObservableWatchData jest teraz wewnętrzny. (I30121, b/173802666)
- Widżet zawiera teraz compicationData, dzięki którym tarcze zegarka mogą obserwować zmiany w ComplicationData. Widżet ma też nowe wywołanie isActiveAt, które pozwala określić, czy coś ma być renderowane w podanej dacie i godzinie. (Ic0e2a)
- Pusta wartość
SharedMemoryImage
nie występuje już w publicznym interfejsie API. (I7ee17) WatchFace.overridePreviewReferenceTimeMillis
ma teraz adnotację IntRange, a metody getter i seter mają spójne nazwy. (Ia5f78)- Aby zwiększyć przejrzystość pliku
Complication.Builder
, tworzony jest teraz za pomocąComplication.createRoundRectComplicationBuilder
lubComplication.createBackgroundComplicationBuilder
(I54063) - Dodano funkcję WatchFace.TapListener, która umożliwia śledzenie przez zegarek kliknięć nieużywanych widżetów przez widżety. (Ic2fe1, b/172721168)
- Zegarek WatchFace obsługuje teraz zmienną liczbę klatek przez przypisanie do kategorii
Renderer.interactiveDrawModeUpdateDelayMillis
. Może to pomóc wydłużyć czas pracy baterii, ponieważ użytkownik jest uśpiony, gdy nie korzysta z animacji. (I707c9) - Obiekt WatchFace.Builder nie jest już potrzebny. Przeniesiono do mechanizmu renderowania unieważnienie() i interaktywną wartośćUpdateRateMillis. (I329ea)
- Aby usprawnić interoperacyjność z Javą, zmień nazwę pobierających na właściwości logiczne w WatchState (I6d2f1)
- W celu zachowania spójności zmieniliśmy nazwę TapListener na TapCallback, a InvalidateCallback na DeleteateListener. (I9414e)
- Opcje stylu tarczy zegarka na Wear 2.0 zostały przeniesione do osobnej klasy, aby zapewnić większą przejrzystość. Zestawy funkcji WatchFace.Builder mają teraz symetryczne metody pobierania klas WatchFace. (Iefdfc)
- Dodano instancję InteractiveWatchFaceWcsClient i
WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient
, która pozyskuje istniejącą instancję lub tworzy ją po połączeniu usługi wallaper i utworzeniu silnika. (Id666e) - WatchFaceControlClient to teraz interfejs umożliwiający testom jego imitację. (I875d9)
- HeadlessWatchFaceClient, InteractiveWatchFaceSysUiClientImpl, InteractiveWatchFaceWcsClient teraz to interfejsy ułatwiające testowanie. (I7cdc3)
- Dodano adnotacje do metod w:
wear-watchface-complications-rendering
(I0d65c)
Poprawki błędów
- Usuń kształt ekranu z konfiguracji urządzenia DeviceConfig, która duplikowała plik
android.content.res.Configuration#isScreenRound()
(Ifadf4) - Zmieniono
WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient
, aby akceptowałMap<String, String>
zamiastUserStyle
, ponieważ trudno jest utworzyćUserStyle
bez znajomości schematu, który można uzyskać dopiero po utworzeniu klienta. (Iea02a) - Popraw
InteractiveWatchFaceWcsClient
, aby zamiast formatu przewodu używaćComplicationState
. (Icb8a4) UserStyleSettings
jest teraz zabezpieczoną klasą, ponieważ edytorzy tarcz zegarka rozumieją tylko wbudowane klasy. (I2d797)
Wersja 1.0.0-alfa02
11 listopada 2020 roku
Aplikacja androidx.wear:wear-*:1.0.0-alpha02
została zwolniona. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Aplikacja
ComplicationDetails
nazywa się terazComplicationState
i jest prawidłowo zapakowana, a sposoby obsługi urządzeń do noszenia@ComplicationData.ComplicationType
zostały przeniesione do systemuComplicationType
androidx. (I4dd36) - Dodaj do RenderParameters opcjonalny parametr
highlightedComplicationId
, który umożliwia żądanie wyróżnienia pojedynczego widżetu na zrzutach ekranu. (I66ce9) ComplicationProviderService
, aby korzystać z nowego interfejsu API widżetów stylu w celu zachowania spójności (Id5aea)getPreviewReferenceTimeMillis
otrzymuje teraz czasy referencyjne z:DeviceConfig
. (I779fe)- Upraszczamy interfejs Renderer API. Do obserwowania zmian można zamiast tego używać interfejsu
SurfaceHolder.Callback
. (I210db) - Nazwa
CanvasComplicationRenderer
nie wykracza poza zakresRenderer
. Aby była bardziej zrozumiała, zmień nazwę. (Ibe880)
Poprawki błędów
- Pierwsza wersja usługi
androidx.wear:wear-watchface-client
(I1e35e) - Zmieniliśmy nazwę strony
GlesTextureComplication#renderer
, aby zwiększyć przejrzystość (Ib78f7) - Aby zwiększyć czytelność obrazu w
StyleCategory
, zmień jego nazwę naStyleSetting
(I488c7) - Dodaję
UserStyleSchema
, aby zwiększyć przejrzystość interfejsu API (If36f8)
Wersja 1.0.0-alfa01
28 października 2020 r.
Opublikowano androidx.wear:wear-complications-*:1.0.0-alpha01
i androidx.wear:wear-watchface-*:1.0.0-alpha01
. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Usunęliśmy elementy, które nie powinny być widoczne w publicznym interfejsie API. (I41669)
- Utwórz bibliotekę
androidx.wear:wear-complications-provider
. (I77f1f) - ComplicationsUserStyleCategory nowa zalecana kategoria do konfigurowania widżetów (I96909)
- Dodaj interfejs wear-complication-data API. (I7c268)
- funkcje z wartościami logicznymi zwracanymi z przedrostkiem „is”, a nie „get” (If36ff)
- Zalecamy, aby nie używać Protected, – klasa została refaktoryzowana, aby przyjmować parametry za pomocą konstruktora. (I61644)
- Aby poprawić ostrość, zmień nazwę ustawienia setBackgroundComplication. (I96fe3)
- Używanie właściwości Kotlin na potrzeby interfejsu ComplicationDrawable is Poznajed i danych (I4dcc8)
- Zamiast ComplicationRenderer.InvalidateCallback dodajemy Complication#invalidate() (I4f4c6)
- Te interfejsy API są wycofywane z WearableSupport i tu są usuwane. (Ib425c)
- Zmieniliśmy nazwy niektórych metod tworzenia aplikacji WatchFace, aby uwydatnić ich starszy charakter Wear 2.0. (Idb775).
- Pierwsza wersja beta interfejsu API kandydująca do użytku na tarczę zegarka (Id3981)
- Pierwsza śledzona wersja interfejsu API. (Ie9fe6)
- Prawidłowo ukrywanie elementu ComplicationDrawable.BorderStyle IntDef i przejście do ComplicationStyle w celu zachowania spójności. (I27f7a)
- Dodawanie brakujących adnotacji do metod ComplicationStyle (I838fd)
- Ta biblioteka nie ma publicznej platformy interfejsu API (I88e2b)
- Wszystkie klasy opcji kategorii stylu są teraz prawidłowo ostateczne. (Ib8323)
- Pierwsza śledzona wersja interfejsu API. (I27c85)
Poprawki błędów
- Zmieniono komponent ComplicationProviderService, aby korzystał z metody getComplicationPreviewData. (I4905F)
- Sprawdzanie lint interfejsu API pod kątem brakującego GetterMatchingBuilder jest włączone w Androidzie (I4bbea, b/138602561)
- Zmień nazwę renderowania widżetów z Wear. (Ifea02)
- Wyświetlane nazwy kategorii stylów to teraz CharSequency (I28990)
- Zastąpienie zastąpienia ustawieniem Nakładka w celu dopasowania do bieżących konwencji nazewnictwa motywów i stylów. (I4fde9)
- Zmieniliśmy nazwę UserStyle#getOptions, aby zwiększyć przejrzystość. (I695b6)
Wersja 1.2.0
Wersja 1.2.0
15 września 2021 r.
Aplikacja androidx.wear:wear:1.2.0
została zwolniona. Wersja 1.2.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.1.0
Dodano komponent CurvedText umożliwiający łatwe pisanie tekstu zakrzywionego wzdłuż największego okręgu, które można wpisać w widoku. 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 rozmieszczania elementów podrzędnych jeden po drugim na łuku w kierunku zgodnym z ruchem wskazówek zegara lub przeciwnie. Elementy podrzędne mogą być zarówno standardowymi widżetami Androida, jak i widżetami „zakrzywionymi”, 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 – ExitibleFrameUkład, który obsługuje otwieranie i/lub zamykanie za pomocą przycisku Wstecz i przesuwanie palcem, aby je zamknąć. Aby wykonać działanie odrzucenia, musisz dodać co najmniej 1 detektor. Detektor zwykle usuwa zawierający widok lub fragment z bieżącej aktywności. Służą do tego opcje setSwipeSlideible(boolean) i setBackButtonDismissible(boolean) na potrzeby bezpośredniej kontroli nad funkcjami. Ten nowy układ ma zastąpić obecny układ przesyłanego przez Ciebie ekranu w przypadku gestów „ScholarZamknijFrameUkład”.
Dodano obsługę wskazywania, że aktywność może zostać „automatycznie wznowiona”, gdy urządzenie opuści tryb nieaktywny w klasie AmbientModeSupport. Ta funkcja była wcześniej dostępna w wycofanej klasie WearableActivity z WearableSupportLibrary. (I336ab)
Przeniesiono klasę WearablecalendarContract z biblioteki pomocy dotyczącej urządzeń do noszenia. Ten interfejs API zapewnia podzbiór danych dostępnych w ramach Kalendarza, ale jest automatycznie synchronizowany z urządzeniami do noszenia. (I6f2d7)
W
androidx.wear.utils
dodano nowy interfejs APIWearTypeHelper
, który określa, czy dane urządzenie do noszenia jest przeznaczone dla Chin. (Ib01a9)W aplikacji
androidx.wear.widget.ConfirmationOverlay
dodano ułatwienia dostępu, które umożliwiają odczytywanie wiadomości (jeśli zostaną ustawione) oraz dodanie opisu animacji. (I524dd)Naprawiono błąd, który powodował awarię elementu ConfirmActivity w przypadku braku komunikatu. (IE6055)
Naprawiliśmy błąd, który powodował, że funkcje RecyclerView, w których przewijanie w poziomie powodowało podgląd wszystkich interakcji, funkcji
WearableDrawerLayout
. (I24c7f)
Wersja 1.2.0-rc01
1 września 2021 roku
Aplikacja androidx.wear:wear:1.2.0-rc01
została opublikowana bez zmian od czasu ostatniej wersji beta. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.
Wersja 1.2.0-beta01
18 sierpnia 2021 r.
Aplikacja androidx.wear:wear:1.2.0-beta01
została zwolniona. Wersja 1.2.0-beta01 zawiera te zatwierdzenia.
Poprawki błędów
- Napraw błąd, który powodował awarię elementu ConfirmActivity, jeśli nie podano żadnego komunikatu. (IE6055)
Wersja 1.2.0-alfa13
4 sierpnia 2021 r.
Aplikacja androidx.wear:wear:1.2.0-alpha13
została zwolniona. Wersja 1.2.0-alpha13 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Zmieniono nazwę
WearTypeHelper.isChinaDevice
naWearTypeHelper.isChinaBuild
. (I47302)
Poprawki błędów
- W aplikacji
androidx.wear.widget.ConfirmationOverlay
dodaliśmy ułatwienia dostępu, które będą odczytywać na głos komunikaty, jeśli zostaną ustawione wraz z opisem animacji. (I524dd)
Wersja 1.2.0-alfa12
21 lipca 2021 r.
Aplikacja androidx.wear:wear:1.2.0-alpha12
została zwolniona. Wersja 1.2.0-alpha12 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodaliśmy nowy interfejs API
WearTypeHelper
wandroidx.wear.utils
, który określa, czy dane urządzenie do noszenia jest przeznaczone dla Chin. (Ib01a9)
Wersja 1.2.0-alfa11
30 czerwca 2021 r.
Aplikacja 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 funkcje RecyclerView, w których przewijanie w poziomie powodowało podgląd wszystkich interakcji, funkcji
WearableDrawerLayout
. (I24c7f)
Wersja 1.2.0-alfa10
2 czerwca 2021 r.
Aplikacja androidx.wear:wear:1.2.0-alpha10
została zwolniona. Wersja 1.2.0-alpha10 zawiera te zatwierdzenia.
Nowe funkcje
- Wersja Alpha10 usprawnia ułatwienia dostępu w przypadku układów tekstu zakrzywionego i układów ArcLayouts. Dodaliśmy też kilka drobnych zmian w nazwie elementu ExitibleFrameUkład, aby ułatwić zrozumienie działania interfejsu API.
Zmiany w interfejsie API
- Zmieniliśmy nazwy następujących metod w dokumencie
DismissibleFrameLayout
(Ib195e):Callback#onDismissed
->Callback#onDismissedFinished
isSwipeDismissible
->isDismissableBySwipe
isBackButtonDismissible
->isDismissableByBackButton
- Następujące metody zostały wprowadzone jako ostateczne (Ib195e):
setBackButtonDismissible
setSwipeDismissible
registerCallback
unregisterCallback
Poprawki błędów
- Używaj zawartości obiektu CurvedTextView w TalkBack. (I05798)
- Lepsze ułatwienia dostępu w przypadku zwykłych widoków w układzie ArcLayout. (I4418d)
Wersja 1.2.0-alfa09
18 maja 2021 r.
Aplikacja androidx.wear:wear:1.2.0-alpha09
została zwolniona. Wersja 1.2.0-alpha09 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodano nową funkcję
CurvedTextView.setTypeface()
(podobną do funkcjiTextView
), aby ustawić krój czcionki i pogrubienie/kursywę. (I4653c) - Zmieniono nazwę
WearArcLayout
naArcLayout
,WearCurvedText
naCurvedText
iWearArcLayout.ArcLayoutWidget
naArcLayout.Widget
. (I6e5ce)- W dniu
ArcLayout.Widget
nazwa została zmieniona zgetThicknessPx
nagetThickness
. - Stałe wyrównania w pionie w elemencie
ArcLayout.LayoutParams
mają teraz nazwęVERTICAL_ALIGN_
(zamiast poprzedniej nazwyVALIGN_
).
- W dniu
CurvedTextView
metodysetMinSweepDegrees
isetMaxSweepDegrees
zostały zastąpione przezsetSweepRangeDegrees
(I7a9d9)
Wersja 1.2.0-alfa08
5 maja 2021 roku
Aplikacja androidx.wear:wear:1.2.0-alpha08
została zwolniona. Wersja 1.2.0-alpha08 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Aby poprawić przejrzystość kodu, dodaliśmy adnotacje
@FloatRange
do niektórych parametrów kąta i typów zwracanych elementów. (I430dd) - W interfejsie
WearArcLayout.ArcLayoutWidget
metodainsideClickArea
nazywa się teraz isPointInsideClickArea. (Ia7307)
Wersja 1.2.0-alfa07
24 marca 2021 r.
Aplikacja androidx.wear:wear:1.2.0-alpha07
została zwolniona. Wersja 1.2.0-alpha07 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawianie błędów dotyczących niezakrzywionych elementów podrzędnych w WearArcLayout spowodowany używaniem rozmiaru ekranu o wysokości większej niż szerokość. Te elementy podrzędne są teraz prawidłowo umieszczane wewnątrz łuku na wszystkich typach ekranów.
Wersja 1.2.0-alfa06
27 stycznia 2021 r.
Aplikacja androidx.wear:wear:1.2.0-alpha06
została zwolniona. Wersja 1.2.0-alpha06 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Przenieś bibliotekę bieżących działań do nowej biblioteki podrzędnej. Zajęcia są teraz dostępne w pakiecie androidx.wear.ongoing (wcześniej androidx.wear.ongoingactivities) (I7c029)
- Przeprowadź migrację klasy WearableKalendarzContract z biblioteki pomocy do urządzeń do noszenia na AndroidaX. Ten interfejs API zapewnia podzbiór danych dostępnych w ramach Kalendarza, ale jest automatycznie synchronizowany z urządzeniami do noszenia. (I6f2d7)
Poprawki błędów
- Domyślnie wyłącz funkcję zamykania przycisku Wstecz w Układie ramki z możliwością zamknięcia, ponieważ głównym sposobem powrotu do pełnego ekranu na urządzeniach do noszenia jest przesunięcie palcem po ekranie (Ic24e3).
- Rozwiązano problemy z obsługą widoczności elementów podrzędnych w układzie WearArc (Icf912)
Wersja 1.2.0-alfa05
13 stycznia 2021 r.
Aplikacja androidx.wear:wear:1.2.0-alpha05
została zwolniona. Wersja 1.2.0-alpha05 zawiera te zatwierdzenia.
Poprawki błędów
- Zaktualizuj plik javadoc klasy AmbientModeSupport, aby udostępnić przykładowe fragmenty kodu umożliwiające lepsze zademonstrowanie ogólnego użycia tej klasy.
Wersja 1.2.0-alfa04
16 grudnia 2020 roku
Aplikacja androidx.wear:wear:1.2.0-alpha04
została zwolniona. Wersja 1.2.0-alpha04 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodano obsługę wskazywania, że aktywność może zostać „automatycznie wznowiona”, gdy urządzenie opuści tryb nieaktywny w klasie AmbientModeSupport. Ta funkcja była wcześniej dostępna w wycofanej klasie WearableActivity z WearableSupportLibrary. (I336ab)
- OngoingActivity
- Kategorię można teraz ustawić podczas tworzenia elementu OngoingActivity, np.
OngoingActivitiy.Builder.getCategory(String)
- OngoingActivityData zawiera teraz sygnaturę czasową wskazującą czas utworzenia elementu OngoingActivity –
OngoingActivityData.getTimestamp()
- (I91cb4)
- Kategorię można teraz ustawić podczas tworzenia elementu OngoingActivity, np.
- Dodaliśmy obsługę ustawienia marginesów w elementach podrzędnych WearArcLayout.Można to zrobić, zmieniając parametry układu w taki sposób, aby rozszerzyć parametry MarginLayoutParams, np. WearArcLayout.LayoutParams zawiera rozszerzenie android.view.ViewGroup.MarginLayoutParams. (I2cd88)
- Zmień domyślny typ kotwicy WearCurvedTextView na
WearArcLayout.ANCHOR_CENTER
(wcześniejWearArcLayout.ANCHOR_START
). Upraszcza to załamanie między układem łukowym a tekstem zakrzywionym, ponieważ zakrzywiony tekst domyślnie rysuje się u góry wyśrodkowany na osi X, a nadrzędny układ łuku może go obracać do odpowiedniego miejsca. (I105ff)
Wersja 1.2.0-alfa03
Grudzień 2, 2020
Aplikacja androidx.wear:wear:1.2.0-alpha03
została zwolniona. Wersja 1.2.0-alpha03 zawiera te zatwierdzenia.
Nowe funkcje
Nowy kontener układu, który obsługuje zamykanie za pomocą przycisku Wstecz i przesuwanie palcem, aby je zamknąć, przeznaczony do użycia w ramach aktywności. Aby wykonać działanie odrzucenia, musisz dodać co najmniej 1 detektor. Detektor zwykle usuwa zawierający widok lub fragment z bieżącej aktywności. Służą do tego opcje setSwipeSlideible(boolean) i setBackButtonDismissible(boolean) na potrzeby bezpośredniej kontroli nad funkcjami. Ten nowy układ ma zastąpić obecny układ przesyłanego przez Ciebie ekranu w przypadku gestów „ScholarZamknijFrameUkład”.
Zakrzywione widżety obsługują teraz zdarzenia dotyku. Normalne widżety wewnątrz układu WearArc będą otrzymywać wszystkie zdarzenia dotknięcia przypisane do ich przestrzeni współrzędnych. WearCurvedTextView (wewnętrznym lub nie) może zawierać moduły obsługi onClick i onLongClick.
Klasy trwających działań są teraz dostępne w wersji VersionedParcelable, a nie korzystania z niestandardowej serializacji/deserializacji. Ikona statyczna i intencja dotykowa są teraz wymagane.
Zmiany w interfejsie API
- Atrybut „sweepDegrads” obiektu WearCurvedTextView jest rozdzielony na minSweepDescripts i maxSweepDescripts, aby zapewnić bardziej elastyczny układ tego widżetu.
Wersja 1.2.0-alfa02
11 listopada 2020 roku
Aplikacja androidx.wear:wear:1.2.0-alpha02
została zwolniona. Wersja 1.2.0-alpha02 zawiera te zatwierdzenia.
W tej wersji po raz pierwszy dodaliśmy nowy interfejs „Ongoing Activities API”. Mogą go używać, aby zasygnalizować, że trwa długotrwała aktywność, na przykład ćwiczenie fitness czy sesja odtwarzania multimediów. Umożliwia deweloperom dostarczanie okresowych informacji o stanie, np. „odległość i bieg czasowy” czy „odtwarzana bieżnia”, na tarczy zegarka lub w Menu z aplikacjami. Ta funkcja jest przeznaczona dla urządzeń przyszłych z włączoną funkcją stałej aktywności.
Zmiany w interfejsie API
- Nowy interfejs API do bieżących działań, który nie jest obsługiwany na „nieobsługiwanych urządzeniach”. (I69a31)
Wersja 1.2.0-alfa01
28 października 2020 r.
Aplikacja androidx.wear:wear:1.2.0-alpha01
została zwolniona. Wersja 1.2.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
- Dodano komponent WearCurvedTextView do łatwego wpisywania tekstu zakrzywionego wzdłuż krzywizny największego okręgu, jaki można wpisać 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 WearArcUkład do rozmieszczania elementów podrzędnych jeden po drugim na łuku w prawo lub w lewo. Elementy podrzędne mogą być zarówno standardowymi widżetami Androida, jak i widżetami „zakrzywionymi”, 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-alfa02
29 września 2021 r.
Opublikowano androidx.wear:wear-input:1.2.0-alpha02
i androidx.wear:wear-input-testing:1.2.0-alpha02
. Wersja 1.2.0-alpha02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- W
WearableRemoteInputExtender
zmieniono nazwędisallowEmoji
nasetEmojisAllowed
, aby określić, czy opcja rysowania emotikonów ma być wyświetlana. (I28393)
Wersja 1.2.0-alfa01
15 września 2021 r.
Opublikowano androidx.wear:wear-input:1.2.0-alpha01
i androidx.wear:wear-input-testing:1.2.0-alpha01
. Wersja 1.2.0-alpha01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Udostępniono wszystkie stałe lokalizacji przycisku z:
WearableButtons
. (Ibb12c) - Dodano klasę
WearableRemoteInputExtender
, która może być używana do dodawania do aplikacji android.app.RemoteInput dodatków specyficznych dla Wear. (I01903)
Wear-Input 1.1.0
Wersja 1.1.0
18 sierpnia 2021 r.
Opublikowano androidx.wear:wear-input:1.1.0
i androidx.wear:wear-input-testing:1.1.0
. Wersja 1.1.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.0.0
- Dodano
RemoteInputIntentHelper
.- Tej klasy można użyć do utworzenia intencji RemoteInput. Możesz ich później użyć do zwrócenia uwagi użytkowników na rodzaj aktywności, którą można dostosować.
Wersja 1.1.0-rc01
4 sierpnia 2021 r.
Opublikowano androidx.wear:wear-input:1.1.0-rc01
i androidx.wear:wear-input-testing:1.1.0-rc01
. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.
Brak zmian w interfejsie API od 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ą dostępne bez zmian od 1.1.0-alpha03
. Wersja 1.1.0-beta01 zawiera te zatwierdzenia.
Wersja 1.1.0-alfa03
30 czerwca 2021 r.
Opublikowano androidx.wear:wear-input:1.1.0-alpha03
i androidx.wear:wear-input-testing:1.1.0-alpha03
. Wersja 1.1.0-alpha03 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiliśmy błąd, który powodował, że intencje RemoteInput, do których dodano komponenty
RemoteInput
przezRemoteInputHelper.putRemoteInputsExtra
, były odrzucane.
Wersja 1.1.0-alfa02
18 maja 2021 r.
Opublikowano androidx.wear:wear-input:1.1.0-alpha02
i androidx.wear:wear-input-testing:1.1.0-alpha02
. Wersja 1.1.0-alpha02 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Metody
RemoteInputIntentHelper
używane do pobierania lub umieszczania dodatkowych elementów reprezentujących etykietę tytułu, anulowania, potwierdzenia i w toku używają teraz w przypadku tych etykiet etykietyCharSequence
zamiastString
. (I0e71f)
Wersja 1.1.0-alfa01
27 stycznia 2021 r.
Opublikowano androidx.wear:wear-input:1.1.0-alpha01
i androidx.wear:wear-input-testing:1.1.0-alpha01
. Wersja 1.1.0-alpha01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Przeprowadź migrację klasy RemoteInputIntent z biblioteki pomocy do noszenia na AndroidaX. Przenoszona klasa zmienia nazwę na RemoteInputIntentHelper, która udostępnia funkcje pomocnicze do obsługi zdalnych danych wejściowych przez uruchomienie intencji. (I47cee)
Wear-Input 1.0.0
Wersja 1.0.0
Grudzień 2, 2020
Opublikowano androidx.wear:wear-input:1.0.0
i androidx.wear:wear-input-testing:1.0.0
. Wersja 1.0.0 zawiera te zatwierdzenia.
Ta wersja jest taka sama jak 1.0.0-rc01
.
Główne funkcje wersji 1.0.0
Migracja funkcji WearableButtons z biblioteki pomocy do urządzeń do noszenia do Jetpack.
Dodano
androidx.wear.input.test.TestWearableButtonsProvider
, który implementujeandroidx.wear.input.WearableButtonsProvider
, aby ułatwić testowanie aplikacji utworzonych przy użyciu bibliotekiandroidx.wear:wear-input
.
Wersja 1.0.0-rc01
11 listopada 2020 roku
Opublikowano androidx.wear:wear-input:1.0.0-rc01
i androidx.wear:wear-input-testing:1.0.0-rc01
. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
Ta wersja jest taka sama jak 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ą dostępne bez zmian od 1.1.0-alpha01
. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.
Wear-Input-Testing Wersja 1.0.0-alfa01
14 października 2020 r.
Aplikacja androidx.wear:wear-input-testing:1.0.0-alpha01
została zwolniona. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodano
androidx.wear.input.test.TestWearableButtonsProvider
, który implementujeandroidx.wear.input.WearableButtonsProvider
, aby ułatwić testowanie aplikacji utworzonych przy użyciu bibliotekiandroidx.wear:wear-input
. (I0ed0c)
Wear-Input w wersji 1.0.0-alfa01
2 września 2020 r.
Aplikacja androidx.wear:wear-input:1.0.0-alpha01
została zwolniona. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
Migracja funkcji WearableButtons z biblioteki pomocy do urządzeń do noszenia do Jetpack. Dodatkowe wsparcie w zakresie testowania zostanie udostępnione w bibliotece androidx.wear:wear-input-testing
w kolejnej wersji Jetpacka.
Wersja 1.1.0
Wersja 1.1.0
14 października 2020 r.
Aplikacja androidx.wear:wear:1.1.0
została zwolniona. Wersja 1.1.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.0.0
- Aby zachować zgodność z konwencją nazewnictwa w Androidzie, dodaliśmy prefiks
layout_
do atrybutu boxedEdges (obecnielayout_BoxedEdges
) dla:BoxInsetLayout
. Usunie to błąd linter dla tych atrybutów w Android Studio. (I4272f) - W polu
ConfirmationActivity
dodano opcjonalną treśćEXTRA_ANIMATION_DURATION_MILLIS
, która umożliwia okres wyświetlania okna potwierdzenia. (adb83ce, b/143356547) - Zaktualizowano
WearableActionDrawView
, aby opóźnić inflowanie szuflady działań do czasu jego pierwszego otwarcia. (I01026, b/163870541)
Wersja 1.1.0-rc03
2 września 2020 r.
Aplikacja androidx.wear:wear:1.1.0-rc03
została zwolniona. Wersja 1.1.0-rc03 zawiera te zatwierdzenia.
Poprawki błędów
- Rozwiązanie problemu polegającego na tym, że panel działań nie wyświetlał treści po otwarciu. (I01026, b/163870541)
Wersja 1.1.0-rc02
24 czerwca 2020 r.
Aplikacja androidx.wear:wear:1.1.0-rc02
została zwolniona. Wersja 1.1.0-rc02 zawiera te zatwierdzenia.
Poprawki błędów
- Aby zachować zgodność z konwencją nazewnictwa w Androidzie, dodaliśmy prefiks
layout_
do atrybutu boxedEdges (obecnielayout_boxedEdges
) dla:BoxInsetLayout
. Usunie to błąd linter dla tych atrybutów w Android Studio.
Wersja 1.1.0-rc01
14 maja 2020 r.
Wersja androidx.wear:wear:1.1.0-rc01
została udostępniona bez zmian od .1.0-beta01
. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.
Wersja 1.1.0-beta01
29 kwietnia 2020 r.
Wersja 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-alfa01
15 kwietnia 2020 roku
Aplikacja androidx.wear:wear:1.1.0-alpha01
została zwolniona. Wersja 1.1.0-alpha01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- W polu
ConfirmationActivity
dodano opcjonalną treśćEXTRA_ANIMATION_DURATION_MILLIS
, która umożliwia okres wyświetlania okna potwierdzenia. (adb83ce, 134523c, b/143356547)
Poprawki błędów
- Zaktualizowano
WearableActionDrawView
, aby opóźnić inflowanie szuflady działań do czasu jego pierwszego otwarcia. (5cd32f7)