Wear

tworzyć aplikacje na zegarki z Wear OS by Google.

Ta tabela zawiera wszystkie artefakty w grupie androidx.wear.

Artefakt Wersja stabilna Wersja kandydująca Wersja Beta Wersja alfa
Wear 1.3.0 - - 1.4.0-alpha01
wear-input 1.1.0 - - 1.2.0-alpha02
wear-input-testing 1.1.0 - - 1.2.0-alpha02
zużywana 1.0.0 - - 1.1.0-alpha01
interakcje na Wear telefon 1.0.1 - - 1.1.0-alpha04
wear-remote-interactions 1.0.0 1.1.0-rc01 - -
Ostatnia aktualizacja tej biblioteki: 16 października 2024 r.

Deklarowanie zależności

Aby dodać zależność od Wear, musisz dodać repozytorium Google Maven do projektu. Więcej informacji znajdziesz w repozytorium Maven firmy Google.

W pliku build.gradle aplikacji lub modułu dodaj zależności artefaktów, których potrzebujesz:

Odlotowe

dependencies {
    implementation "androidx.wear:wear:1.3.0"

    // Add support for wearable specific inputs
    implementation "androidx.wear:wear-input:1.1.0"
    implementation "androidx.wear:wear-input-testing:1.1.0"

    // Use to implement wear ongoing activities
    implementation "androidx.wear:wear-ongoing:1.0.0"

    // Use to implement support for interactions from the Wearables to Phones
    implementation "androidx.wear:wear-phone-interactions:1.0.1"
    // Use to implement support for interactions between the Wearables and Phones
    implementation "androidx.wear:wear-remote-interactions:1.0.0"
}

Kotlin

dependencies {
    implementation("androidx.wear:wear:1.3.0")

    // Add support for wearable specific inputs
    implementation("androidx.wear:wear-input:1.1.0")
    implementation("androidx.wear:wear-input-testing:1.1.0")

    // Use to implement wear ongoing activities
    implementation("androidx.wear:wear-ongoing:1.0.0")

    // Use to implement support for interactions from the Wearables to Phones
    implementation("androidx.wear:wear-phone-interactions:1.0.1")
    // Use to implement support for interactions between the Wearables and Phones
    implementation("androidx.wear:wear-remote-interactions:1.0.0")
}

Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.

Opinia

Twoja opinia pomoże nam ulepszyć Jetpacka. Daj nam znać, jeśli odkryjesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk z gwiazdką.

Tworzenie nowego zgłoszenia

Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.

Wear Core w wersji 1.0

Wersja 1.0.0-alpha01

29 maja 2024 r.

Usługa androidx.wear:wear-core:1.0.0-alpha01 została zwolniona. Wersja 1.0.0-alpha01 zawiera te komity.

Zmiany w interfejsie API

  • Dodano nową klasę WearApiVersionhelper, która ułatwia sprawdzanie zgodności interfejsu API w czasie działania na Wear. Klienty mogą używać tej statycznej klasy pomocniczej i dostępnej metody (#isApiVersionAtLeast(VERSION)) do sprawdzania zgodności.

Wersja 1.0 narzędzia do testowania Wear

Wersja 1.0.0

29 listopada 2023 r.

androidx.wear:wear-tooling-preview:1.0.0 został zwolniony. Wersja 1.0.0 zawiera te zatwierdzenia.

Funkcje w wersji 1.0.0

  • Dodaj WearDevices do listy prawidłowych urządzeń Wear, które można używać do wyświetlania podglądów interfejsu.

Wersja 1.0.0-rc01

15 listopada 2023 r.

androidx.wear:wear-tooling-preview:1.0.0-rc01 jest opublikowany bez wprowadzenia zmian. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.

Wersja 1.0.0-beta01

18 października 2023 r.

androidx.wear:wear-tooling-preview:1.0.0-beta01 jest opublikowany bez wprowadzenia zmian. Wersja 1.0.0-beta01 zawiera te commity.

Wersja 1.0.0-alpha01

23 sierpnia 2023 r.

Usługa androidx.wear:wear-tooling-preview:1.0.0-alpha01 została zwolniona. Wersja 1.0.0-alpha01 zawiera te commity.

Zmiany w interfejsie API

  • Dodaj WearDevices do listy prawidłowych urządzeń Wear, które można używać do podglądów interfejsu (Ib036e)

Wear w wersji 1.4

Wersja 1.4.0-alpha01

15 listopada 2023 r.

androidx.wear:wear:1.4.0-alpha01 został zwolniony. Wersja 1.4.0-alfa01 zawiera te zatwierdzenia.

Poprawki błędów

  • pionowo wyśrodkować ikonę ConfirmationOverlay, gdy nie ma wiadomości; (I496d8)

Wear 1.3

Wersja 1.3.0

9 sierpnia 2023 r.

androidx.wear:wear:1.3.0 jest publikowany bez zmian od 1.3.0-rc01. Wersja 1.3.0 zawiera te commity.

Ważne zmiany od wersji 1.2.0

  • Przeprowadź migrację AmbientModeSupport, aby używać LifecycleObserver. Wycofaj klasę AmbientModeSupport i zastąp ją nową klasą uwzględniającą cykl życia.
  • Zaktualizuj ConfirmationOverlay, dodając nowe ikony lub układ, czcionki i dane czcionek
  • W celu poprawienia błędów podczas korzystania z interfejsu FragmentContainerView obiekt SwipeDismissTransitionHelper został zaktualizowany do używania elementu rysowanego w tle zamiast drugiego elementu View
  • Animacja SwipeDismissFrameLayout została zaktualizowana, by była zgodna z implementacjami na platformie Wear i w Wear Compose.
  • SwipeDismissFrameLayout poprawka błędu, która zapobiega przypadkowemu zamykaniu fragmentów przez przesunięcie w dół
  • ArcLayout obsługuje teraz wagi rozwinięcia, które działają podobnie jak zwykłe wagi układu.
  • Pomoc dotycząca layoutDirection w ArcLayout

Wersja 1.3.0-rc01

21 czerwca 2023 r.

androidx.wear:wear:1.3.0-rc01 jest publikowany bez zmian od 1.3.0-beta01. Wersja 1.3.0-rc01 zawiera te zatwierdzenia.

Wersja 1.3.0-beta01

7 czerwca 2023 r.

androidx.wear:wear:1.3.0-beta01 został zwolniony. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Zaktualizowano AmbientLifecycleObserver zgodnie z opinią. Nazwa AmbientLifecycleObserverInterface została zmieniona na AmbientLifecycleObserver, a jej instancję można uzyskać, wywołując AmbientLifecycleObserver(...). isAmbient zostało przeniesione do pola zamiast metody. (I84b4f)

Poprawki błędów

  • Dodanie kontroli null, aby obsługiwać przypadki, gdy widok nadrzędny jest null podczas resetowania alfa i tłumaczenia w SwipeToDismiss. (Ib0ec7).

Wersja 1.3.0-alpha05

19 kwietnia 2023 r.

Usługa androidx.wear:wear:1.3.0-alpha05 została zwolniona. Wersja 1.3.0-alpha05 zawiera te commity.

Zmiany interfejsu API

  • Przeprowadź migrację AmbientModeSupport, aby używać LifecycleObserver. Wycofaj AmbientModeSupport na rzecz nowych klas uwzględniających cykl życia. (I1593b)

Poprawki błędów

  • Zaktualizuj podejście do korzystania z tła SwipeDismissTransitionHelper, aby używać obiektów rysowanych zamiast dodawać widok. Pozwoli to naprawić błędy występujące podczas korzystania z FragmentContainerView. (I851cd)

Wersja 1.3.0-alpha04

25 stycznia 2023 r.

androidx.wear:wear:1.3.0-alpha04 został zwolniony. Wersja 1.3.0-alpha04 zawiera te commity.

Poprawki błędów

  • Zaktualizowaliśmy animację w SwipeDismissFrameLayout, by była zgodna z implementacją na platformie Wear i w Wear Compose. (I7261b)

Wersja 1.3.0-alfa03

24 sierpnia 2022 r.

Usługa androidx.wear:wear:1.3.0-alpha03 została zwolniona. Wersja 1.3.0-alpha03 zawiera te commity.

Nowe funkcje

  • ArcLayout obsługuje teraz wagi rozszerzenia, które działają podobnie jak zwykłe wagi układu. Oznacza to, że możesz określić względną wielkość elementów podrzędnych bez konieczności bezpośredniego obliczania ich kątów. Dodaliśmy też funkcję best effort MaxAngleDegrees, która jest stosowana podczas rozwijania elementów podrzędnych z wagami. Możesz na przykład ustawić łuk z kilkoma elementami podrzędnymi o różnej wadze na 90 stopni, co pozwoli zachować przestrzeń zajętą przez nierozwinięte elementy.

Zmiany interfejsu API

  • Dodaliśmy wagę do ArcLayout.LayoutParams, co pozwala widżetom rozszerzać się do wypełniania dostępnej przestrzeni. Jeśli jest więcej niż 1 widżet, ich udział w dostępnej przestrzeni jest proporcjonalny do ich wagi. Dodaliśmy też ArcLayout.setMaxAngleDegrees, dzięki czemu możesz na przykład ograniczyć rozwinięcie do 90 stopni (nie ma to wpływu na układ żadnych widżetów podrzędnych o stałym rozmiarze). Wreszcie ArcLayout.Widget ma teraz setSweepAngleDegrees, co pozwala ArcLayout przekazywać widżetowi niezerową wagę rozmiaru. (I75f24)
  • Zaktualizowano możliwość wartości pustej dla setColorFilter(I99ddf, b/236498063).

Wersja 1.3.0-alpha02

23 lutego 2022 r.

androidx.wear:wear:1.3.0-alpha02 został zwolniony. Wersja 1.3.0-alpha02 zawiera te commity.

Nowe funkcje

  • Obsługa layoutDirection na stronie ArcLayout (I14d49)
  • Ulepszona wiadomość z opisem treści dla ConfirmOverlay (I0fdf8)
  • Zaktualizuj ConfirmationOverlay, dodając nowe ikony lub układ. (If5b54)

Poprawki błędów

  • Dodano reguły ProGuard, które gwarantują zachowanie kodu związanego z dźwiękiem (Idaa10)
  • Unikanie przypadkowego zamykania fragmentów w SwipeDismissFrameLayout za pomocą pionowego przesunięcia (Idb6d8)
  • Naprawianie nakładki restartu, gdy nie ma komunikatu (I63e6f)

Darowizna zewnętrzna

  • Dae Gyu LEE (Samsung) – unikanie przypadkowego zamykania fragmentów w ramce SwipeDismissFrameLayout za pomocą gestu przesunięcia w dół (Idb6d8)

Wersja 1.3.0-alpha01

29 września 2021 r.

androidx.wear:wear:1.3.0-alpha01 został zwolniony. Wersja 1.3.0-alpha01 zawiera te zatwierdzenia.

Poprawki błędów

  • ConfirmationOverlay przesuwa teraz ikonę w górę, aby pomieścić dłuższe wiadomości, bez konieczności umieszczania ich na krawędzi urządzenia (lub poza ekranem). (I54bff)

Wear Ongoing & Interactions w wersji 1.1.0

Wersja 1.1.0-rc01

16 października 2024 r.

Usługa androidx.wear:wear-remote-interactions:1.1.0-rc01 została udostępniona bez zmian od 1.1.0-beta01. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.

Wersja 1.1.0-beta01

24 lipca 2024 r.

androidx.wear:wear-remote-interactions:1.1.0-beta01 został zwolniony. Wersja 1.1.0-beta01 zawiera te komity. Wersja 1.3.0-beta01 Wear Remote Interactions oznacza, że ta wersja biblioteki jest kompletna pod względem funkcji, a interfejs API jest zablokowany (z wyjątkiem wersji oznaczonych jako eksperymentalne).

Wersja 1.1.0-alpha04

10 stycznia 2024 r.

androidx.wear:wear-phone-interactions:1.1.0-alpha04 został zwolniony. Wersja 1.1.0-alpha04 zawiera te commity.

Zmiany w interfejsie API

  • Dodaliśmy RemoteAuthClient.isRemoteAuthAvailable, który sprawdza, czy uwierzytelnianie zdalne jest dostępne. (IBc10c)

Wersja 1.1.0-alfa02

10 stycznia 2024 r.

Usługa androidx.wear:wear-remote-interactions:1.1.0-alpha02 została zwolniona. Wersja 1.1.0-alpha02 zawiera te commity.

Zmiany interfejsu API

  • Dodaliśmy RemoteActivityHelper.isRemoteActivityHelperAvailable, który pomaga sprawdzić, czy funkcja uruchamiania aktywności zdalnej jest dostępna. (I107a9)
  • Zaktualizowaliśmy konstruktor RemoteActivityHelper, aby był zgodny z opcjonalnym parametrem w Javie. (I75554)

Wersja 1.1.0-alpha01

21 czerwca 2023 r.

Usługa androidx.wear:wear-remote-interactions:1.1.0-alpha01 została zwolniona. Wersja 1.1.0-alpha01 zawiera te commity.

Poprawki błędów

  • Ulepszono procedurę uzupełniania i obsługi błędów w RemoteActivityHelper. (I60d60)

Darowizna zewnętrzna

  • Usuń zależność Guava z wear-remote-interactions i użyj mniejszych alternatyw.

Wear-Phone-Interactions w wersji 1.1.0-alfa03

9 marca 2022 r.

Usługa androidx.wear:wear-phone-interactions:1.1.0-alpha03 została zwolniona. Wersja 1.1.0-alpha03 zawiera te commity.

Poprawki błędów

  • Funkcja redirectUrl z poziomu OAuthRequest zwraca teraz pusty ciąg znaków, jeśli w danym adresie URL żądania nie ma ustawionego adresu URL przekierowania. (I44242)

Wear-Phone-Interactions w wersji 1.1.0-alfa02

15 grudnia 2021 roku

Usługa androidx.wear:wear-phone-interactions:1.1.0-alpha02 została zwolniona. Wersja 1.1.0-alfa02 zawiera te zatwierdzenia.

Poprawki błędów

  • Napraw błędy w dokumentacji RemoteAuthClient, w tym błąd w przykładowym fragmencie kodu i nieaktywny link do ErrorCode (I260e8)

Wear-Phone-Interactions w wersji 1.1.0-alpha01

15 września 2021 r.

Usługa androidx.wear:wear-phone-interactions:1.1.0-alpha01 została zwolniona. Wersja 1.1.0-alpha01 zawiera te commity.

Zmiany interfejsu API

  • Dodano właściwość redirectUrl do obiektu OAuthRequest. (I98840, Ie684d)

Wear Ongoing & Interactions Version 1.0.0

Wear-Phone-Interactions wersja 1.0.1

15 grudnia 2021 roku

androidx.wear:wear-phone-interactions:1.0.1 został zwolniony. Wersja 1.0.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Wyjątek został wygenerowany przez BridgingManager, gdy podczas próby wyłączenia powiadomień o połączeniu nie było dostępne excludedTags.

Wear-Phone-Interactions Wear-Remote-Interactions, wersja 1.0.0

15 września 2021 r.

androidx.wear:wear-phone-interactions:1.0.0androidx.wear:wear-remote-interactions:1.0.0 są dostępne. Wersja 1.0.0 zawiera te zatwierdzenia.

Główne funkcje 1.0.0

Biblioteka interakcji telefonicznych zawiera interfejsy API do interakcji z urządzeń do noszenia na telefony. Zawiera ona:

  • PhoneDeviceType udostępniający metody pomocnicze służące do określania typu telefonu, z którym jest sparowany zegarek. Można go używać tylko na urządzeniach do noszenia.
  • interfejsy API BridgingManager, BridgingManagerServiceBridgingConfig, aby włączać i wyłączać powiadomienia w czasie działania oraz opcjonalnie ustawiać tagi dla powiadomień, które są wyłączone z trybu mostkowania;
  • RemoteAuthClient, zapewniając obsługę zdalnego uwierzytelniania na urządzeniach do noszenia oraz obsługę rozszerzenia PKCE OAuth. Dostępne są dodatkowe moduły obsługi i klasy pomocnicze do komunikacji.

Biblioteka interakcji zdalnych zawiera interfejsy API do interakcji między urządzeniami Wearables i telefonami. Zawiera ona:

  • WatchFaceConfigIntentHelper, udostępniając funkcje pomocnicze do określania identyfikatora i nazwy komponentu w działaniach konfiguracji tarczy zegarka dla aplikacji towarzyszącej na telefonie.
  • RemoteActivityHelper, która może służyć do otwierania intencji na innych urządzeniach (np. z zegara na telefon).

Wear-Phone-Interactions Wear-Remote-Interactions Wersja 1.0.0-rc01

1 września 2021 roku

androidx.wear:wear-phone-interactions:1.0.0-rc01 i androidx.wear:wear-remote-interactions:1.0.0-rc01 zostały udostępnione. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiono błąd, który uniemożliwiał propagowanie błędów zgłoszonych w usługach Google Play do wywołującego podczas korzystania z RemoteActivityHelper (I60d60).
  • Usunięto błąd, który powodował, że RemoteActivityHelper nigdy nie wypełnia swojej funkcji Future, jeśli nie ma połączonych węzłów lub jeśli nie znaleziono żądanego identyfikatora węzła (I60d60).

Wear – wersja 1.1 w drodze

Wersja 1.1.0-alpha01

23 sierpnia 2023 r.

androidx.wear:wear-ongoing:1.1.0-alpha01 został zwolniony. Wersja 1.1.0-alpha01 zawiera te commity.

Zmiany interfejsu API

  • Dodaj pole opisu treści do bieżącej aktywności. Będzie ona używana przez usługi ułatwień dostępu do opisania trwającej aktywności. (I79fc6)

Poprawki błędów

  • Dodaliśmy uprawnienie @RequiresPermission do interfejsów API, które wymagają przyznania uprawnienia POST_NOTIFICATIONS w pakiecie SDK 33 lub nowszym. (IE542e, b/238790278)

Wear-Ongoing Wersja 1.0.0

1 września 2021 roku

Usługa androidx.wear:wear-ongoing:1.0.0 została zwolniona. Wersja 1.0.0 zawiera te zatwierdzenia.

Najważniejsze funkcje wersji 1.0.0

  • Interfejs Wear Ongoing Activities API jest interfejsem API dla deweloperów, w tym deweloperów zewnętrznych, który służy do oznaczania aktywności jako „Aktywności w toku” i dostarczania potrzebnych informacji.
  • Trwające aktywności to aktywności, które mogą być wykonywane w tle na zegarku (np. treningi, połączenia i multimedia). Na Wear 3 aktywność zadeklarowana jako trwająca będzie lepiej widoczna dzięki specjalnej ikonie nakładki na tarczy zegarka oraz innemu renderowaniu w menu aplikacji.
  • Więcej informacji znajdziesz w przewodniku po trwającej aktywności w Wear (w języku angielskim).

Wear-Phone-Interactions Wear-Remote-Interactions Wersja 1.0.0-beta01

18 sierpnia 2021 r.

androidx.wear:wear-phone-interactions:1.0.0-beta01androidx.wear:wear-remote-interactions:1.0.0-beta01 są dostępne. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Zmieniono nazwę zajęć RemoteIntentHelper na RemoteActivityHelper. Zmieniono nazwy funkcji RemoteIntentHelper#getRemoteIntentExtraIntentRemoteIntentHelper#getRemoteIntentNodeId odpowiednio na RemoteActivityHelper#getTargetIntentRemoteActivityHelper#getTargetNodeId. (Id2042)

Wear – wersja w trakcie 1.0.0-rc01

18 sierpnia 2021 r.

androidx.wear:wear-ongoing:1.0.0-rc01 jest publikowany bez zmian od 1.0.0-beta01. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.

Wear-ontualna wersja 1.0.0-beta01

4 sierpnia 2021 r.

androidx.wear:wear-ongoing:1.0.0-beta01 został zwolniony. Wersja 1.0.0-beta01 zawiera te commity.

Zmiany w interfejsie API

  • Niektóre metody settera w klasie OngoingActivity.Builder obsługują teraz argument null, aby zapewnić symetryczność i spójność metod settera i gettera (I17ee5).

Wear-Phone-Interactions w wersji 1.0.0-alpha07

4 sierpnia 2021 r.

androidx.wear:wear-phone-interactions:1.0.0-alpha07 został zwolniony. Wersja 1.0.0-alfa07 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Nazwa WearTypeHelper.isChinaDevice została zmieniona na WearTypeHelper.isChinaBuild. (I47302)
  • Zaktualizowaliśmy bibliotekę RemoteAuthClient, aby automatycznie wybierać parametr redirect_uri na podstawie typu urządzenia (poza Chinami lub Chiny). (I38866)
  • Naprawiono błąd, który powodował niepowodzenie konwersji z BridgingConfig do Bundle lub z Bundle do BridgingConfig z wyjątkiem ClassCastException. Dodano testy jednostkowe klasy BridgingManagerService. (I68ecb)

Wear-Remote-Interactions w wersji 1.0.0-alfa06

4 sierpnia 2021 r.

androidx.wear:wear-remote-interactions:1.0.0-alpha06 został zwolniony. Wersja 1.0.0-alpha06 zawiera te commity.

Wear-Phone-Interactions w wersji 1.0.0-alpha06

21 lipca 2021 r.

androidx.wear:wear-phone-interactions:1.0.0-alpha06 został zwolniony. Wersja 1.0.0-alpha06 zawiera te commity.

Zmiany w interfejsie API

  • Klasa BridgingManagerSeviceBinder jest teraz podklasą usługi i nosi nazwę BridgingManagerSevice. (I9fca2)
  • Metoda RemoteAuthClient.Callback.onAuthorizationError została zmieniona, aby zawierała parametr OAuthRequest. Metody wymagające wywołania zwrotnego wymagają teraz również wykonawcy, który ma je wykonać. (I35e11)

Poprawki błędów

  • Ulepszyliśmy interfejs API uwierzytelniania, dodając więcej udokumentowanych parametrów i używając właściwości tam, gdzie to możliwe. (I12287)

Wear-Phone-Interactions w wersji 1.0.0-alpha05

30 czerwca 2021 r.

androidx.wear:wear-phone-interactions:1.0.0-alpha05 został zwolniony. Wersja 1.0.0-alpha05 zawiera te commity.

Poprawki błędów

  • udokumentowane parametry, które należy przekazać w konstruktorze w przypadku metody BridgingConfig.Builder;

Wear – wersja w trakcie 1.0.0-alpha06

2 czerwca 2021 r.

androidx.wear:wear-ongoing:1.0.0-alpha06 został zwolniony. Wersja 1.0.0-alpha06 zawiera te commity.

Zmiany interfejsu API

  • Dodaj pole Tytuł do bieżącej aktywności. (I7a405)

Poprawki błędów

  • SerializationHelper.copy() teraz tworzy kopię zapasową informacji (I8b276)
  • Ulepszona dokumentacja setCategory (Iff01f)

Wear – wersja w trakcie 1.0.0-alpha05

18 maja 2021 r.

androidx.wear:wear-ongoing:1.0.0-alpha05 został zwolniony. Wersja 1.0.0-alpha05 zawiera te commity.

Zmiany w interfejsie API

  • OngoingActivity ma teraz moduły pobierania wszystkich wartości ustawionych bezpośrednio w kreatorze (lub wartości domyślne pobrane z powiązanego powiadomienia). (Id8ac8)

    • Nowa klasa Status jest teraz używana do utworzenia stanu elementu OngoingActivity
    • Usługi OngoingActivityDataOngoingActivityStatus nie są już częścią publicznego interfejsu API.
  • Klasy TextStatusPartTimerStatusPart nie są już częścią publicznego interfejsu API. (I57fb6)

    • Aby utworzyć Part z tekstem statycznym, użyj instrukcji Status.TextPart.
    • Aby utworzyć Part ze stoperem (liczenie w górę), użyj Status.Stopwatch.
    • Aby utworzyć Part z minutnikiem (odliczanie), użyj Status.Timer

Wear – wersja 1.0.0-alfa04

5 maja 2021 roku

Usługa androidx.wear:wear-ongoing:1.0.0-alpha04 została zwolniona. Wersja 1.0.0-alpha04 zawiera te commity.

Zmiany w interfejsie API

  • W klasie OngoingActivity metody z klasy fromExistingOngoingActivity są teraz wywoływane jako recoverOngoingActivity.
  • W obecności trwającej aktywności jest teraz dostępny pełny zestaw metod getter, które wcześniej były dostępne tylko w ramach danych o trwającej aktywności. (I0ee4d)

Wear-Remote-Interactions w wersji 1.0.0-alpha05

21 lipca 2021 r.

Usługa androidx.wear:wear-remote-interactions:1.0.0-alpha05 została zwolniona. Wersja 1.0.0-alpha05 zawiera te commity.

Zmiany w interfejsie API

  • Dodaliśmy klasę RemoteIntentHelper (wcześniej RemoteIntent w bibliotece obsługującej urządzenia do noszenia), która może służyć do otwierania intencji na innych urządzeniach (np. z zegarka na telefon). (I1d7e0)

  • Klasa PlayStoreAvailability została usunięta z biblioteki AndroidX. Aby sprawdzić, czy Sklep Play jest dostępny na połączonym telefonie, użyj metody androidx.phone.interactions.PhoneTypeHelper.getPhoneDeviceType do określenia, czy połączony telefon to telefon z Androidem. Następnie za pomocą metody androidx.wear.utils.WearTypeHelper.isChinaDevice sprawdź, czy podłączony telefon jest urządzeniem chińskim. Jeśli telefon z Androidem nie jest chińskim urządzeniem, Sklep Play będzie dostępny. (Ie7dec)

Wear-Phone-Interactions w wersji 1.0.0-alfa04

7 kwietnia 2021 r.

androidx.wear:wear-phone-interactions:1.0.0-alpha04 został zwolniony. Wersja 1.0.0-alpha04 zawiera te commity.

Zmiany w interfejsie API

  • Zaktualizowano stałe ErrorCode, aby nowa biblioteka była zgodna z implementacją w bibliotece Wearable Support Library.

Poprawki błędów

  • Usunięto wyjątek powodowany przez nowy interfejs OAuth API podczas uruchamiania sesji OAuth.

Wear-Remote-Interactions w wersji 1.0.0-alpha03

7 kwietnia 2021 r.

androidx.wear:wear-remote-interactions:1.0.0-alpha03 został zwolniony. Wersja 1.0.0-alpha03 zawiera te commity.

Zmiany w interfejsie API

  • Zmieniono klasę PlayStoreAvailability na klasę zawierającą obiekt towarzyszący z metodami statycznymi. Sposób korzystania z usługi pozostaje bez zmian.

Poprawki błędów

  • Poprawiono dokument z podsumowaniem dla WatchFaceConfigIntentHelper, aby poprawnie wyświetlał przykładowy kod z rzeczywistymi znakami HTML.

Wear-Ongoing Wear-Phone-Interactions Version 1.0.0-alpha03

10 marca 2021 r.

androidx.wear:wear-ongoing:1.0.0-alpha03androidx.wear:wear-phone-interactions:1.0.0-alpha03 są dostępne. Wersja 1.0.0-alfa03 zawiera te zatwierdzenia.

Nowe funkcje

  • Przeniesienie klasy OAuthClient z biblioteki Wearable Support Library do AndroidX. Ta przeniesiona klasa została przemianowana na RemoteAuthClient i obsługuje uwierzytelnianie zdalne na urządzeniach noszonych oraz umożliwia dodawanie rozszerzenia PKCE OAuth. Dostępne są dodatkowe moduły obsługi i klasy pomocnicze do komunikacji.
  • Bieżące działania można teraz powiązać z powiadomieniem zawierającym tag za pomocą nowego konstruktora OngoingActivity.Builder.

Zmiany w interfejsie API

  • Dodano obsługę tagów powiadomień w bibliotece w sekcji Trwające aktywności (I653b4).
  • Przeniesienie klasy OAuthClient z biblioteki obsługującej Wear do AndroidX oraz dodanie obsługi rozszerzenia PKCE OAuth (I3eaaa)

Wear-Remote-Interactions w wersji 1.0.0-alpha02

10 marca 2021 r.

androidx.wear:wear-remote-interactions:1.0.0-alpha02 został zwolniony. Wersja 1.0.0-alfa02 zawiera te zatwierdzenia.

Nowe funkcje

  • Migracja klasy PlayStoreAvailability z biblioteki pomocy Wearable do AndroidaX, który udostępnia interfejs API do sprawdzania, czy Sklep Play jest dostępny na telefonie.

Poprawki błędów

  • Migracja klasy PlayStoreAvailability z biblioteki Wearable Support Library do AndroidX. (I69bfe)

Wersja 1.0.0-alpha02

10 lutego 2021 r.

androidx.wear:wear-ongoing:1.0.0-alpha02 i androidx.wear:wear-phone-interactions:1.0.0-alpha02 zostały udostępnione. Wersja 1.0.0-alpha02 zawiera te commity.

Zmiany interfejsu API

  • Dodano obsługę bardziej złożonego stanu. Składają się z jednego lub kilku szablonów oraz serii części, które zostaną użyte do wypełnienia placeholderów w szablonie. Klasa OngoingActivityStatus ma teraz metodę statyczną do tworzenia prostych stanów z jedną częścią (tekstem lub zegarkiem) oraz konstruktor do tworzenia bardziej złożonych stanów. (I1fe81)
  • Przeniesienie klas BridgingManager i BridgingConfig z biblioteki Wear Support Library do AndroidX, która udostępnia interfejsy API do włączania i wyłączania powiadomień w czasie działania oraz opcjonalnie ustawiania tagów dla powiadomień, które są wyłączone z trybułu pośredniczącego. (I3a17e)

Wersja 1.0.0-alpha01

27 stycznia 2021 r.

Funkcje androidx.wear:wear-ongoing:1.0.0-alpha01, androidx.wear:wear-phone-interactions:1.0.0-alpha01androidx.wear:wear-remote-interactions:1.0.0-alpha01 są dostępne. Wersja 1.0.0-alpha01 zawiera te commity.

Zmiany interfejsu API

  • Bibliotekę bieżących aktywności przenieś do nowej podbiblioteki: wear-ongoing. Klasy są teraz dostępne w pakiecie androidx.wear.ongoing (wcześniej androidx.wear.ongoingactivities) (I7c029)

  • Utwórz nową bibliotekę pomocy zawierającą zajęcia, które obsługują interakcje z urządzeń do noszenia na telefony. Początkowo zawierają one klasy przeniesione z biblioteki pomocy do noszenia. (Id5180).

  • Przejdź z klasy PhoneDeviceType z biblioteki Wearable Support Library do AndroidX. Przeniesiona klasa została przemianowana na PhoneTypeHelper i zawiera metody pomocnicze do określania typu telefonu, z którym jest sparowany bieżący zegarek, przeznaczone tylko do użytku na urządzeniach do noszenia. (Ibd947)

  • Utwórz nową bibliotekę obsługi, która będzie zawierać klasy obsługujące interakcje między urządzeniami do noszenia a telefonami. Początkowo jest ona wypełniona klasami przeniesionymi z biblioteki obsługi urządzeń noszonych. (DEb4)

  • Przenieś klasę WatchFaceCompanion z biblioteki pomocy na urządzeniach do noszenia na AndroidaX. Przeniesiona klasa została przemianowana na WatchFaceConfigIntentHelper i zawiera funkcje pomocnicze, które umożliwiają określenie identyfikatora i nazwy komponentu w aktywnościach konfiguracji tarczy zegarka w aplikacji towarzyszącej na telefonie. Można jej też używać lokalnie do konfigurowania tarczy zegarka na urządzeniu do noszenia. (Ia455f)

Widżety i tarcza zegarka 1.0.0 na Wear

Wersja 1.0.0-alpha22

15 września 2021 r.

androidx.wear:wear-*:1.0.0-alpha22 został zwolniony. Wersja 1.0.0-alfa22 zawiera te zatwierdzenia.

Nowe funkcje

  • Edytujący sesję subskrybuje teraz obserwatorów cyklu życia, więc nie musisz już jej zamykać, gdy przestaniesz być aktywny.

Zmiany w interfejsie API

  • EditorSession i ListenableEditorSession używają teraz biblioteki kotlin StateFlows do parametrów complicationSlotsState, ComplicationsPreviewData i ComplicationsDataSourceInfo. (I761d9)
  • EditorSession#userStyle jest teraz MutableStateFlow<UserStyle> (I32ca9)
  • Metoda EditorSession.createOnWatchEditorSession korzysta teraz z obserwatora cyklu życia i zamyka się automatycznie, gdy zaobserwuje zdarzenie onDestroy. Dodatkowo funkcja createOnWatchEditorSession wymaga teraz tylko przekazania aktywności. Identyczne zmiany zostały też zastosowane w funkcji ListenableEditorSession. (IC6b7f)
  • Konstruktor CustomValueUserStyleSetting został przywrócony jako część publicznego interfejsu API. (I2e69a)
  • UserStyle dziedziczy teraz z Map<UserStyleSetting, UserStyleSetting.Option>, a MutableUserStyleSetting#put rzuca IllegalArgumentException, jeśli ustawienie nie znajduje się w schemacie lub opcja nie pasuje do ustawienia. (IBa40f)

Wersja 1.0.0-alpha21

1 września 2021 roku

Usługa androidx.wear:wear-*:1.0.0-alpha21 została zwolniona. Wersja 1.0.0-alpha21 zawiera te commity.

Zmiany w interfejsie API

  • Wszystkie publiczne interfejsy API tarczy zegarka, klienta, edytora i komplikacji używają teraz klasy java.time.Instant do określania czasu zamiast typu Long. W konsekwencji minimalny poziom interfejsu API wzrósł do 26. (I3cd48)
  • Interfejsy API tarczy zegarka i komplikacji używają teraz niezmiennego typu ZonedDateTime zamiast typu Calendar. (I25cf8).
  • Obiekt ComplicationSlots jest teraz inicjowany przy użyciu parametru NoDataComplicationData, komplikacja ComplicationSlot.complicationData zawsze ma wartość, a obiekt CanvasComplicationDrawable.complicationData nie może już przyjmować wartości null. (I4dfd6) Zmniejsza to (ale nie eliminuje) migotania podczas przełączania się między tarczami zegarka.

Wersja 1.0.0-alpha20

18 sierpnia 2021 r.

androidx.wear:wear-*:1.0.0-alpha20 został zwolniony. Wersja 1.0.0-alpha20 zawiera te commity.

Zmiany interfejsu API

  • Do obiektu ComplicationDataSourceInfo dodaliśmy funkcję createFallbackPreviewData, której można używać, gdy ComplicationDataSourceInfoSource. (I38c4D).
  • Interfejs ComplicationDataSourceUpdateRequester został przekształcony, aby umożliwić jego mockowanie w testach jednostkowych. Za pomocą metody ComplicationDataSourceUpdateRequester.create() możesz utworzyć konkretny obiekt ComplicationDataSourceUpdateRequester. (I7da22)
  • Metoda RenderParameters.pressComplicationSlotIds została zastąpiona przez funkcję RenderParameters.lastComplicationTapDownEvents, która wyświetla nową klasę TapEvent zawierającą potrójne współrzędne x i y kliknięcia w pikselach oraz sygnaturę czasową. Wartość WatchFace.TapListener.onTap została zastąpiona wartością onTapEvent(@TapType tapType: Int, tapEvent: TapEvent). Ponadto usunięto zasób InteractiveWatchFaceClient.displayPressedAnimation. (Id87d2)
  • Dodano adnotację o wątkach w przypadku parametru setWażneForAccessibility (I990fa).
  • Typ ComplicationSlotBoundsType został przeniesiony do pakietu androidx-wear-watchface.ComplicationSlotBoundsType w pakiecie wear/wear-watchface. (I09420)
  • Dodaliśmy obsługę przekazywania identyfikatorów zasobów ciągu tekstowego do UserStyleSetting i Options. Jest to obecnie zalecany sposób tworzenia tych obiektów. (I03d5f)
  • Zostały nałożone limity maksymalnego rozmiaru danych w schemacie UserStyle. Ikony w schemacie nie mogą mieć wymiarów większych niż 400 x 400 pikseli. (I3B65b)
  • Dodaliśmy klasę MutableUserStyle, aby umożliwić wprowadzanie zmian w instancjach UserStyle (I95a40).
  • Zmieniliśmy nazwę ListenableWatchFaceMetadataClient.Companion#listenableCreateWatchFaceMetadataClient na ListenableWatchFaceMetadataClient.Companion#createListenableWatchFaceMetadataClient. (I64ce2)
  • Zmieniliśmy EditorState.previewComplicationsData, aby zawierał tylko dane dotyczące włączonych widżetów. Dodaliśmy też EditorSession.DEFAULT_PREVIEW_TIME_MILLIS, który w przypadku przekazania do funkcji renderWatchFaceToBitmap lub PreviewScreenshotParams powoduje renderowanie z domyślnym czasem podglądu tarczy zegarka. (If7b3c)
  • Usunęliśmy konstruktory UserStyleSettings przyjmujące cechy CharSequence z publicznego interfejsu API. Zalecamy użycie konstruktorów, które wymagają identyfikatorów StringResource. (I8537b)
  • CurrentUserStyleRepository.UserStyleChangeListener obsługuje teraz konwersje SAM. (I85989)

Wersja 1.0.0-alpha19

4 sierpnia 2021 r.

androidx.wear:wear-*:1.0.0-alpha19 został zwolniony. Wersja 1.0.0-alpha19 zawiera te commity.

Zmiany w interfejsie API

  • Dodaliśmy ListenableWatchFaceMetadataClient.listenableCreateWatchFaceMetadataClient, który zapewnia otulający element ListenableFuture dla WatchFaceMetadataClient.createWatchFaceMetadataClient. (I5fa37)
  • Argument UserStyleOption.getOptionForId akceptuje teraz tablicę UserStyleOption.Id zamiast tablicy bajtów. (I469be)
  • Dodaj stałe BooleanOption.TRUEBooleanOption.FALSE oraz zablokuj tworzenie instancji (I46e09).
  • Metody w pakiecie wear-watchface-client, które mogą wywołać błąd RemoteException, zostały odpowiednio oznaczone. (Ib8438)
  • Aby zachować spójność, zmieniliśmy nazwę z EditorSession.createOnWatchEditingSession na createOnWatchEditorSession, a z createHeadlessEditingSession na createHeadlessEditorSession. Zmieniliśmy też nazwę ich opakowań na guawę. (I1526b)
  • Funkcja EditorSession jest teraz interfejsem, a funkcja ListenableEditorSession.commitChangesOnClose jest prawidłowo delegowana. (I7dc3e)
  • Odrzucamy teraz każdy schemat stylu użytkownika, który zawiera ustawienia lub opcje z konfliktującymi się identyfikatorami (Ic2715).
  • Dodaliśmy przeciążoną metodę UserStyle.get, która akceptuje UserStyleSetting.Id. (I2aa0f)

Wersja 1.0.0-alpha18

21 lipca 2021 r.

androidx.wear:wear-*:1.0.0-alpha18 został zwolniony. Wersja 1.0.0-alpha18 zawiera te commity.

Zmiany w interfejsie API

  • Przenieśliśmy ComplicationHelperActivity do biblioteki androidx.wear:wear-watchface. (I39e76)
  • Aby zachować spójność i przejrzystość, nazwa ComplicationProvider została zmieniona na ComplicationDataSource, a nazwy wszystkich klas z nazwą dostawcy zostały w podobny sposób zmienione. (Iaef0b)
  • CanvasComplication.isHighlighted zostało przeniesione do RenderParameters.pressedComplicationSlotIds. Jest to krok w kierunku stworzenia CanvasComplication bez stanu. Aby umożliwić tę zmianę, funkcja CanvasComplication.render przyjmuje teraz jako parametr także funkcję slotId, a funkcja GlesTextureComplication otrzymuje teraz funkcję ComplicationSlot. (I50e6e)
  • Dodaliśmy parametr headlessDeviceConfig do EditorRequest. Jeśli nie jest równy 0, służy do tworzenia instancji bez interfejsu, która będzie obsługiwać sesję edytora, a nie instancję interaktywną. Dzięki temu edytor może być wywoływany w przypadku tarczy zegarka, która nie jest bieżącą. (I0a820)
  • Dodaliśmy eksperymentalną WatchFaceMetadataClient, która umożliwia sprawne pobieranie statycznych metadanych tarczy zegarka, takich jak UserStyleSchema, oraz poprawionych szczegółów dotyczących tarczy ComplicationSlots. (I6bfdf)
  • Zmieniliśmy nazwę funkcji CanvasRenderer.uiThreadInit na init. (I6fff9)
  • Dodaliśmy parametr PreviewScreenshotParams, który jest opcjonalnym nowym parametrem EditorRequest. Instruuje on sesję edytora, aby wykonał podglądowy zrzut ekranu podczas zatwierdzania. Obraz podglądu jest widoczny na stronie EditorState.previewImage. (IC2c16).

Poprawki błędów

  • Deweloperzy nie muszą już dodawać do swojego pliku manifestu klasy ComplicationHelperActivity. (I6f0c2)

Wersja 1.0.0-alfa17

30 czerwca 2021 r.

Usługa androidx.wear:wear-*:1.0.0-alpha17 została zwolniona. Wersja 1.0.0-alfa17 zawiera te zatwierdzenia.

Nowe funkcje

  • W GlesRenderer reguły makeUiThreadContextCurrent i makeBackgroundThreadContextCurrent zostały zastąpione przez runUiThreadGlCommands i runBackgroundThreadGlCommands, które akceptują Runnable. Biblioteka zapewnia, że w danym momencie wykonywana jest tylko 1 kompilowana komenda GL.

  • Aby ułatwić inicjowanie w usłudze UiThread, dodaliśmy pole CanvasRenderer.uiThreadInit, które jest wywoływane raz w elemencie UiThread przed wywołaniami renderowania. Dodaliśmy też onRendererCreated do CanvasComplication, co ułatwia RendererCanvasComplication udostępnianie stanu.

  • Aby zwiększyć przejrzystość, zmieniliśmy nazwę Complication na ComplicationSlot, a complicationId na complicationSlotId lub complicationInstanceId w zależności od kontekstu.

Zmiany w interfejsie API

  • Dla ułatwienia zmieniliśmy nazwę Complication na ComplicationSlot, a complicationId na complicationSlotId lub complicationInstanceId w zależności od kontekstu. Klasy korzystające z widżetu zostały podobnie przemianowane, np. ComplicationsManager jest teraz nazywany ComplicationSlotsManager. (I4da44)
  • W GlesRenderer funkcje makeUiThreadContextCurrentmakeBackgroundThreadContextCurrent zostały zastąpione przez funkcje runUiThreadGlCommandsrunBackgroundThreadGlCommands, które obie akceptują parametr Runnable. Te funkcje są potrzebne tylko wtedy, gdy musisz wywoływać GL poza renderowaniem, runBackgroundThreadGlCommandsonUiThreadGlSurfaceCreated. Jest to konieczne, ponieważ w ramach tego samego procesu może być wiele obiektów GlesRenderer, z których każdy może mieć własny kontekst, prawdopodobnie z różnych tarcz zegarka. Dodatkowo dostęp do współdzielonego bieżącego kontekstu GL jest teraz zsynchronizowany. (I04d59)
  • Dodaliśmy obiekt CanvasRenderer.uiThreadInit, który jest wywoływany raz w elemencie UiThread przed wszelkimi wywołaniami do renderowania. Aby zapewnić większą przejrzystość, w GlesRenderer zmieniliśmy nazwę onGlContextCreated na onBackgroundThreadGlContextCreated, a onGlSurfaceCreated na onUiThreadGlSurfaceCreated. (If86d0).
  • Nazwa HeadlessWatchFaceClient i InteractiveWatchFaceClient getComplicationsSlotState została zmieniona na getComplicationSlotsState. W układzie ComplicationSlot: kolumny createRoundRectComplicationBuilder, createBackgroundComplicationBuildercreateEdgeComplicationBuilder zostały odpowiednio przemianowane na createRoundRectComplicationSlotBuilder, createBackgroundComplicationSlotBuildercreateEdgeComplicationSlotBuilder. (Ib9adc)
  • Dodaliśmy do CanvasComplication metodę onRendererCreated, która ułatwia udostępnianie stanu przez Renderer i CanvasComplication. (I5e1ac).

Wersja 1.0.0-alpha16

16 czerwca 2021 r.

Usługa androidx.wear:wear-*:1.0.0-alpha16 została zwolniona. Wersja 1.0.0-alpha16 zawiera te commity.

Nowe funkcje

  • Naprawiliśmy kilka błędów związanych z niedawnymi zmianami modelu wątki, a także rozwiązaliśmy inne problemy z edytorem tarczy zegarka.

Poprawki błędów

  • Zapobieganie NPE w onComplicationProviderChooserResult (b/189594557)
  • Rozwiązanie problemów z nieaktualnymi powierzchniami i metodą drawBlack (b/189452267)
  • Naprawić wyścig w dostępie do complicationsManager.watchState (b/189457893)
  • Naprawić błąd dotyczący czasu trwania wątku w tle (b/189445428).
  • Naprawiono problemy z edytorem tarczy zegarka w wersji Pre-R (b/189126313)
  • Nie aktualizuj parametrów bezpośredniego uruchamiania w przypadku zmian stylu edytora (b/187177307)

Wersja 1.0.0-alpha15

2 czerwca 2021 r.

androidx.wear:wear-*:1.0.0-alpha15 został zwolniony. Wersja 1.0.0-alpha15 zawiera te commity.

Nowe funkcje

Większość inicjowania tarczy zegarka jest teraz przeprowadzana w wątku w tle, jednak po wczytaniu wszystkich elementów renderowania tarczy zegarka w interfejsie UiThread. Pomiędzy wczytaniem a renderowaniem występuje bariera pamięci, więc większość tarcz zegarka nie musi robić nic specjalnego. Wyjątkiem mogą być twarze w GLES, ponieważ kontekst jest specyficzny dla wątku, a my tworzymy 2 połączone konteksty, aby umożliwić przesyłanie zasobów GL (np. tekstur i shaderów) na wątku w tle i używanie ich na wątku interfejsu użytkownika.

Tworzenie tarcz zegarka zostało podzielone na 3 funkcje: createUserStyleSchema, createComplicationsManager i createWatchFace. Zakładamy, że wywołania createUserStyleSchema i createComplicationsManager są szybkie, a createWatchFace może potrzebować trochę czasu na załadowanie zasobów. Aby to zrobić, wprowadziliśmy funkcję WatchFaceControlClient.getDefaultProviderPoliciesAndType, która zwraca mapę identyfikatorów złożonych na wartość DefaultComplicationProviderPolicies i domyślnie ComplicationType. Jest to szybsze niż tworzenie instancji bez interfejsu, ponieważ nie trzeba w pełni inicjować tarczy zegarka, aby wykonać zapytanie.

Wreszcie widżety są tworzone za pomocą klasy CanvasComplicationFactory, która umożliwia leniwy sposób tworzenia modułów renderujących CanvasComplication.

Zmiany w interfejsie API

  • Zawartość komórki @TargetApi została zastąpiona tekstem @RequiresApi. (I0184a, b/187447093, b/187447094)
  • Wprowadziliśmy funkcję WatchFaceControlClient.getDefaultProviderPoliciesAndType, która zwraca mapę identyfikatorów widżetów na zasadę DefaultComplicationProviderPolicies i domyślny obiekt ComplicationType. W miarę możliwości używana jest szybka ścieżka, która pozwala uniknąć pełnego tworzenia tarczy zegarka. Aby to umożliwić, interfejs API WatchFaceService musiał zostać zmieniony. Dodano 2 nowe metody: createUserStyleSchema i createComplicationsManager, których wyniki są przekazywane do createWatchFace. Ponadto widżety są teraz tworzone za pomocą klasy CanvasComplicationFactory, która umożliwia leniwy sposób tworzenia modułów renderujących CanvasComplication. (Iad6c1)
  • Usunęliśmy aplikację Most_latest_APP z elementów SystemProvider. (I3df00)
  • Klasa ObservableWatchData jest teraz zamknięta. (Ic940d)
  • Metoda CanvasComplicationFactory.create (która zwykle jest związana z we/wy) jest teraz wywoływana na wątku w tle dla każdej komplikacji przed rozpoczęciem renderowania wątku interfejsu użytkownika. Pomiędzy budowaniem a renderowaniem występuje bariera pamięci, więc nie są wymagane żadne specjalne prymitywy wątku. (Ia18f2)
  • Tworzenie tarczy zegarka jest teraz wykonywane na wątku w tle, ale wszystkie operacje renderowania są wykonywane na wątku interfejsu użytkownika. Aby to umożliwić, GlesRenderer obsługuje 2 połączone konteksty. Zapytania WatchFaceControlClient.createHeadlessWatchFaceClient i WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient mogą zostać rozwiązane przed zakończeniem działania zapytania WatchFaceService.createWatchFace. Kolejne wywołania interfejsu API będą blokowane do czasu zakończenia inicjowania watchFace. (Id9f41)
  • Parametry EXPANSION_DP i STROKE_WIDTH_DP nie są już widoczne w pliku api.txt. (I54801)
  • Zmieniliśmy metodę EditorSession.createOnWatchEditingSession tak, aby w przypadku błędu zamiast wysyłać nullową sesję wywoływała ona wyjątek TimeoutCancellationException. Dodatkowo wartość zwracana przez metody EditorRequest.createFromIntent i EditorSession.createOnWatchEditingSession ma teraz wartość NonNull. (I41eb4)

Wersja 1.0.0-alfa14

18 maja 2021 r.

androidx.wear:wear-*:1.0.0-alpha14 został zwolniony. Wersja 1.0.0-alpha14 zawiera te zatwierdzenia.

Nowe funkcje

  • EditorSession.openComplicationProviderChooser zwraca teraz element ChosenComplicationProvider, który zawiera identyfikator widżetu, ComplicationProviderInfo oraz pakiet zawierający dodatkowe dodatki zwrócone przez wybór dostawcy.
  • Ponadto stopniowo migrujemy kod na Kotlin, a większość interfejsu API tarczy zegarka jest teraz definiowana w tym języku.

Zmiany interfejsu API

  • Właściwości GlesRenderer eglContexteglDisplay nie mogą teraz przyjmować wartości null. Wszystkie błędy GL są teraz zgłaszane za pomocą GlesRenderer.GlesException, a nie RuntimeExceptions. (Ib1005)
  • Przenieśliśmy androidx.wear.watchface.complications.rendering.ComplicationDrawable z języka Java na Kotlin (Ibc3eb).
  • Przenieśliśmy androidx.wear.watchface.complications.rendering.ComplicationStyle z języka Java do Kotlina (I3375e).
  • Dodaliśmy informacje o dostawcy widżetu dla każdego widżetu w ramach EditorSession. (I37f14)
  • Rozszerzyliśmy wynik funkcji EditorSession.openComplicationProviderChooser, aby uwzględnić informacje zwracane przez funkcję chosen. (Iead6d)

Widżety na tarczę zegarka i tarcze zegarka w wersji 1.0.0-alpha13

5 maja 2021 roku

Usługa androidx.wear:wear-*:1.0.0-alpha13 została zwolniona. Wersja 1.0.0-alfa13 zawiera te zatwierdzenia.

Nowe funkcje

  • Tarcze zegarka mogą zawierać ważne elementy wizualne inne niż godzina i widżety. Aby zapewnić obsługę czytników ekranu, tarcza zegarka może teraz określać etykiety ułatwień dostępu ContentDescriptionLabels za pomocą właściwości Renderer.additionalContentDescriptionLabels. Aby kontrolować kolejność ContentDescriptionLabels, do komplikacji dodano atrybuty accessibilityTraversalIndex. Można go zmienić za pomocą ustawienia użytkownika dotyczącego stylu komplikacji.

  • Aby zachęcić deweloperów do uważnego rozważenia możliwości korzystania z czytników ekranu, uczyniliśmy pola ShortTextComplicationData.Builder, LongTextComplicationData.BuilderRangedValueComplicationData.Builder obowiązkowymi w konstruktorach.contentDescription Jeśli parametr ComplicationText.EMPTY zostanie przekazany do parametru contentDescription, parametr contentDescription zostanie automatycznie wygenerowany na podstawie tekstu i tytułu.

  • WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient teraz powoduje ServiceStartFailureException, jeśli tarcza zegarka wyrzuca wyjątek podczas inicjalizacji. Ułatwia to diagnozowanie problemów podczas uruchamiania tarczy zegarka.

Zmiany interfejsu API

  • Dodaliśmy obsługę braku nazwy komponentu w kompilacji ComplicationProviderInfo, która jest niezbędna do obsługi starszych wersji Wear OS. (I744d2)
  • Przeprowadziliśmy migrację androidx.wear.complications.SystemProviders z języka Java na Kotlin. (Ia1f8b)
  • Ukryliśmy wszystkie klasy przed publicznym interfejsem API, które znajdują się w android.support.wearable.complications, i w razie potrzeby utworzyliśmy odpowiadające im elementy otaczające AndroidaX. (I7bd50)
  • Zmieniliśmy nazwę metody w TimeDifferenceComplicationText.BuildersetMinimumUnit na setMinimalTimeUnit. (I20c64)
  • W konstruktorze musisz obowiązkowo przekazywać pola ShortTextComplicationData.Builder, LongTextComplicationData.BuilderRangedValueComplicationData.Builder.contentDescription (I8cb69)
  • Zmieniliśmy nazwę metody ComplicationProviderService.onComplicationUpdate na onComplicationRequest i zakapsułowaliśmy parametry id i type tej metody w danych ComplicationRequest. Odpowiadający mu odbiorca został przemianowany na ComplicationRequestListener, a jego metoda na ComplicationRequestListener.onComplicationData. (Iaf146)
  • Usunęliśmy metodę isActiveAt z tabeli ComplicationData i zamiast niej ujawniliśmy pole validTimeRange. To wywołanie metody można zastąpić kodem validTimeRange.contains. (I65936)
  • Zmieniliśmy opis metody ComplicationProviderService.onComplicationActivated, aby zamiast typu int przyjmowała typ ComplicationType (Idb5ff).
  • Przeniesiono pole ProviderUpdateRequester z Javy do Koltin. (Ibce13)
  • Metoda GlesRender.makeContextCurrent jest teraz publiczna. Kod tarczy zegarka może wymagać wykonywania wywołań gcloud poza renderowaniem i użyciem funkcji onGlContextCreated, a wywołanie tej funkcji może wymagać kontekstu zarówno interaktywnego, jak i bez interfejsu graficznego. (I8a43c)
  • WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient zgłasza teraz wyjątek ServiceStartFailureException, jeśli tarcza zegarka zgłasza żądanie podczas inicjowania. Oprócz tego WatchFaceService zgłasza teraz wyjątek, jeśli createWatchFace trwa dłużej niż 6 sekund. (I59b2f)
  • Usunęliśmy nieużywaną właściwość identyfikatora GlesTextureComplication. (I28958)
  • Tarcza zegarka może teraz określać ułatwienia dostępu ContentDescriptionLabel za pomocą właściwości dodatkowej Renderer. Oprócz możliwości kontrolowania kolejności etykiet ContentDescriptionLabels dodano funkcję accessibilityTraversalIndex do komplikacji. Można go zmienić za pomocą ustawienia użytkownika dotyczącego stylu komplikacji. (Ib7362)
  • Rozwiń dokumentację dotyczącą obsługi zdarzeń dotyku na tarczy zegarka. (Iaf31e)

Poprawki błędów

  • Funkcja EditorSession.getComplicationsPreviewData() zwraca teraz mapę dla każdego, a nie tylko niepustych elementów. W przypadku pustych widżetów używana jest instancja EmptyComplicationData. (I1ef7e).

Widżety na tarczę zegarka i tarcze zegarka w wersji 1.0.0-alpha12

21 kwietnia 2021 r.

androidx.wear:wear-*:1.0.0-alpha12 został zwolniony. Wersja 1.0.0-alfa12 zawiera te zatwierdzenia.

Nowe funkcje

Edytory tarczy zegarka muszą wyróżniać części tarczy, aby ułatwić użytkownikom zrozumienie, który element zegarka jest konfigurowany. Rozszerzyliśmy parametry renderowania, aby umożliwić wyróżnianie stylów i komplikacji. Dostępna jest nowa, opcjonalna warstwa zakreślacza, która jest matowana na tarczy zegarka i przezroczystością w formacie alfa. Załóżmy na przykład, że masz styl, który pozwala skonfigurować wygląd wskazówek zegarka. Twój renderer może narysować wokół nich kontur w renderHighlightLayer.

Aby zachęcić dostawców komplikacji do obsługi ułatwień dostępu, pole PhotoImageComplicationData.Builder's, MonochromaticImageComplicationData.Builder's i SmallImageComplicationData.Builder's contentDescription jest obowiązkowym argumentem konstruktora. Dodano ComplicationTapFilter i Complication.createEdgeComplicationBuilder, aby obsługiwać widżety krawędziowe (rysowane wzdłuż krawędzi ekranu). Renderowanie i testowanie kolizji widżetów na krawędziach zależy od tarczy zegarka. Testowanie trafień na krawędzi nie jest obsługiwane w edytorze towarzyszącym.

Zmiany interfejsu API

  • Dodano prefiks PROVIDER_ do stałych w SystemProviders. (I1e773)
  • Pole contentDescription w klasach PhotoImageComplicationData.Builder, MonochromaticImageComplicationData.BuilderSmallImageComplicationData.Builder jest teraz obowiązkowe w konstruktorze. (I9643a)
  • Nazwa ProviderInfoRetriever.requestPreviewComplicationData została zmieniona na retrievePreviewComplicationData. (I911ee)
  • ComplicationProviderService zostało przeniesione z języka Java do Koltin. (I849f2)
  • Metoda ComplicationProviderService.onBind jest teraz ostateczna (I39af5)
  • Przywróciliśmy interfejs CanvasComplication i przenieśliśmy sekcje CanvasComplicaitonDrawable, GlesTextureComplicationComplicationHighlightRenderer do sekcji wear-watchface-complications-rendering. (I84670)
  • Komponent RenderParameters został przebudowany, aby obsługiwał rozszerzone renderowanie wyróżnień. Teraz można poprosić o renderowanie podświetleń stylów, a także wszystkie lub tylko pojedyncze widżety. Dodatkowo klasy CanvasRenderer i GlesRenderer mają nową abstrakcyjną metodę renderHighlightLayer do renderowania podświetlenia żądanego przez edytor. Warstwa została przemianowana na WatchFaceLayer. (Ic2444)
  • Aby obsługiwać widżety krawędziowe, dodaliśmy ComplicationTapFilterComplication.createEdgeComplicationBuilder. Renderowanie i testowanie kolizji widżetów krawędzi należy do tarczy zegarka. Testowanie docelowych wejść nie jest obsługiwane w edytorach. (Ia6604)
  • W przypadku DoubleRangeUserStyleSettingLongRangeUserStyleSetting: właściwości defaultValue, maximumValueminimumValue są teraz właściwościami Kotlin. Dodatkowo funkcje UserStyleSetting.Option, takie jak toBooleanOption, toCoplicationOptions, toListOption i inne, zostały usunięte. (I52899)
  • Dodaj rozmiar czapki do właściwości urządzenia dostępnych dla tarczy zegarka. (I76e1e)
  • Konstruktor ComplicationHighlightRenderer obsługuje teraz parametry outlineExpansionoutlineStrokeWidth. (I87009)
  • Interfejs ComplicationDrawable.getNoDataText jest teraz częścią publicznego interfejsu API. (I00598)

Wersja 1.0.0-alpha11

7 kwietnia 2021 r.

Usługa androidx.wear:wear-*:1.0.0-alpha11 została zwolniona. Wersja 1.0.0-alpha11 zawiera te commity.

Nowe funkcje

  • Interfejsy API tarcz zegarka zostały dopracowane. Większość zmian to proste zmiany nazw, ale InteractiveWatchFaceWcsClientInteractiveWatchFaceSysUiClient zostały połączone w jedną funkcję InteractiveWatchFaceClient.

Zmiany w interfejsie API

  • ContentDescriptionLabel.text jest teraz elementem ComplicationText, a nie elementem TimeDependentText ze starej biblioteki pomocy dla urządzeń noszonych. (I80c03)
  • Aplikacja SystemProviders.GOOGLE_PAY nie jest dostępna na wszystkich urządzeniach z Androidem R, dlatego została usunięta z listy. Nadal można korzystać z tego dostawcy za pomocą aplikacji DefaultComplicationProviderPolicy (If01b5)
  • Zmieniliśmy nazwę ComplicationUpdateCallback na ComplicationUpdateListener, aby zachować spójność. (I61ec7)
  • Mapa formatu UserStyle w formacie wire została zmieniona na Map<String, byte[]>. Dla wygody do publicznego interfejsu API dodano klasę UserStyleData, która jest teraz używana przez wear-watchface-client i wear-watchface-editor. Oprócz tego ustawienia CustomValueUserStyleSettings.CustomValueOption.value to teraz byte[], a nie String. (Iaa103)
  • Właściwości UserStyleSettingUserStyleSetting.Option używają teraz odpowiednio typów UserStyleSetting.IdUserStyleSetting.Option.Id do przechowywania identyfikatorów zamiast typu String. (I63f72)
  • Nazwa konta InteractiveWatchFaceClient.SystemState została zmieniona na WatchUiState. (I6a4e0).
  • InteractiveWatchFaceWcsClientInteractiveWatchFaceSysUiClient zostały połączone, ponieważ trudno było wyjaśnić podział odpowiedzialności (Iff3fa)
  • Zmieniliśmy nazwy wartości enumeracji warstwy, aby były bardziej przejrzyste. Layer#TOP_LAYER to teraz Layer#COMPLICATIONS_OVERLAY, a Layer#BASE_LAYER to teraz Layer#BASE (Ia144e)
  • Nazwa usługi UserStyleListener została zmieniona na UserStyleChangeListener (I18524)
  • Nazwa usługi UserStyleRepository została zmieniona na CurrentUserStyleRepository (I6ea53)
  • Nazwa InteractiveWatchFaceWcsClient.updateInstance została zmieniona na updateWatchfaceInstance. (I321dc)
  • Zdarzenia WatchFace.TapType zostały przemianowane, aby były zgodne z zdarzeniami MotionEvents / Compose. (I0dfd0)
  • Wykonanie zrzutu ekranu TakeWatchface na żądanie zostało zmienione na renderWatchFaceToBitmap, a nazwa polecenia TakeComplication snapshot została zmieniona na „renderComplicationToBitmap” (Ie0697)
  • Interfejs CanvasComplication został usunięty na rzecz otwartej klasy CanvasComplicationDrawable. (I1f81f)
  • Interfejs WatcfaceControlServiceFactory został usunięty z publicznego interfejsu API. (I1f8d3)
  • Zmieniliśmy nazwę CanvasComplication.setData na CanvasComplication.loadData. (If1239)
  • Nazwa konta ComplicationsManager.bringAttentionToComplication została zmieniona na displayPressedAnimation. (Ic4297)
  • Subkonto WatchFaceService.createWatchFace ma teraz adnotację @UiThread. (Ib54c2)
  • Zmieniono nazwę parametru CanvasComplicationDrawable, aby naprawić błąd. (I50dac).
  • Dodano HeadlessWatchFaceClient.toBundle() i HeadlessWatchFaceClient.createFromBundle, aby umożliwić wysyłanie HeadlessWatchFaceClient przez AIDL. (I07c35)
  • W klasach HeadlessWatchFaceClient i InteractiveWatchFaceClient dostępne są teraz metody ClientDisconnectListener i isConnectionAlive(), które umożliwiają sprawdzenie, czy połączenie zostało przerwane z jakiegoś powodu (np. ze względu na zakończenie działania tarczy zegarka). (Ie446d)
  • Funkcja WatchFaceControlClient#getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync jest teraz funkcją zawieszania i nosi nazwę getOrCreateInteractiveWatchFaceClient. (Ib745d)
  • Nazwa usługi EditorState.commitChanges i hasCommitChanges() została zmieniona na shouldCommitChanges(). (I06e04)
  • Nazwa previewComplicationData została zmieniona na previewComplicationsData, aby wskazać, że na mapie występuje (zwykle) więcej niż 1 komplikacja. (I56c06)
  • Aby zachować spójność z poziomami ComplicationsManager.displayPressedAnimation, zmieniliśmy nazwę poziomu InteractiveWatchFaceWcsClient.bringAttentionToComplication na displayPressedAnimation. (Ic9999)
  • Wszystkie instancje identyfikatora instancji tarczy zegarka zostały zakapsułkowane w nowej klasie WatchFaceId (I45fdf).
  • Nazwa właściwości complicationState została zmieniona na complicationsState, aby wskazać liczbę mnogą. (Ided07)
  • Usunęliśmy różne konwersje Binder na Wear-watchface-klienta – powinny być konieczne. (Icc4c0)
  • Aby zachować spójność, w bibliotece EditorServiceClient zamiast obserwatorów zaczęliśmy używać odsłuchiwania. (Iec3a4).
  • Dodaliśmy kilka brakujących adnotacji @Px do InteractiveWatchFaceSysUiClient i WatchFaceControlClient. (I3277a)
  • Zmieniono nazwę interfejsu EditorObserverCallback na EditorObserverListener, aby zachować spójność. (Ie572d)
  • Właściwość EditorState.watchFaceInstanceId jest ograniczona do poziomu interfejsu API Androida R lub nowszego i nie może już przyjmować wartości null. (Id52bb)
  • Nazwa konta EditorSession.launchComplicationProviderChooser została zmieniona na openComplicationProviderChooser. (I9d441)
  • Funkcja EditorSession.createOnWatchEditingSessionAsync została przemianowana na createOnWatchEditingSession i jest teraz funkcją zawieszania. (Id257b)
  • Dodano kilka brakujących adnotacji @UiThread do pliku EditorSession. (I6935C)
  • Nazwa UserStyleSetting.affectsLayers została zmieniona na affectedLayers. (I6e22b)

Wersja 1.0.0-alpha10

24 marca 2021 r.

androidx.wear:wear-*:1.0.0-alpha10 został zwolniony. Wersja 1.0.0-alfa10 zawiera te zatwierdzenia.

Nowe funkcje

  • Można teraz tworzyć otwarte obiekty gl (np. tekstury) podczas WatchFaceService.createWatchFace, ponieważ GlesRenderer wymaga teraz jednoznacznego wywołania initOpenGLContext, co można zrobić wewnątrz createWatchFace.

Zmiany w interfejsie API

  • Interfejs IdAndComplicationData prezentował się nieco niezręcznie i został usunięty z publicznego interfejsu API. Klasy i interfejsy, które go używały, zostały przekształcone. (I4c928)
  • Zastąpiliśmy ReferenceTime elementami CountUpTimeReference i CountDownTimeReference, które są bardziej przejrzyste. (Ib66c6)
  • Dodano brakujące adnotacje @Px@ColorInt. (I9bbc3).
  • Właściwość Complication.complicationConfigExtras nie może teraz przyjmować wartości NULL i ma domyślnie wartość Bundle.EMPTY. (Iad04f).
  • GlesRenderer wymaga teraz wywołania initOpenGLContext po zakończeniu tworzenia. Ta funkcja była szczegółem wewnętrznym, ale teraz jest dostępna w publicznym interfejsie API, aby umożliwić wcześniejsze wywoływanie GL w ramach funkcji createWatchFace. (I726c2)
  • Usunęliśmy Complication.setRenderer, ponieważ nie powinno być potrzebne. (Ie992f)
  • Interfejs Complicaiton.setComplicationBounds nie jest już częścią publicznego interfejsu API. Jeśli chcesz zmienić położenie widżetu, możesz to zrobić za pomocą ComplicationsUserStyleSetting. (IBD9e5)
  • Nazwa ComplicationsManager.TapCallback.onComplicationSingleTapped została zmieniona na onComplicationTapped. (I3a55c)
  • Nazwa konta ComplicationOutlineRenderer.drawComplicationSelectOutline została zmieniona na drawComplicationOutline. (I14b88)

Wersja 1.0.0-alpha09

10 marca 2021 r.

androidx.wear:wear-complications-*:1.0.0-alpha09androidx.wear:wear-watchface-*:1.0.0-alpha09 są dostępne. Wersja 1.0.0-alfa09 zawiera te zatwierdzenia.

Nowe funkcje

  • Interfejs między hostem WCS/SysUI a tarczą na zegarku ewoluował. Edytor może teraz określić, czy zmiana stylu spowoduje włączenie lub wyłączenie widżetu (enabled = initiallyEnabled plus any override from ComplicationsUserStyleSetting). Ponadto EditorService.closeEditorumożliwia SysUI zdalnie zamykanie edytora tarczy zegarka w razie potrzeby.
  • Dodatkowo InteractiveWatchFaceWcsClient.setUserStyle z bardziej zaawansowanym poleceniem updateInstance, które: zmienia identyfikator instancji, ustawia styl i wyczyścia komplikacje – wszystko to w jednym kroku.

Zmiany w interfejsie API

  • Do bibliotek tarcz zegarka dodano zdarzenia śledzone. (I1a141)
  • W modelu ComplicationState jest teraz dostępna nowa właściwość initiallyEnabled, która ułatwia przewidywanie konsekwencji zmiany stylu. (I8c905)
  • Zastąpiliśmy InteractiveWatchFaceWcsClient.setUserStyle bardziej zaawansowanym poleceniem updateInstance, które: zmienia identyfikator instancji, ustawia styl i usuwa widżety. (Ife6f6).
  • Interfejsy API zrzutów ekranu WatchFaceClient nie kompresują już zrzutów ekranu, ponieważ było to powolne. Zamiast tego pozostawiamy przetwarzanie po wywołaniu do wywołującego. (Id35af)
  • Można teraz zdalnie zamknąć edytor na tarczy zegarka za pomocą EditorService.closeEditor. (Ic5aa4)
  • Dodano adnotacje o dopuszczaniu wartości null (Ic16ed)

Wersja 1.0.0-alpha08

24 lutego 2021 r.

androidx.wear:wear-*:1.0.0-alpha08 został zwolniony. Wersja 1.0.0-alfa08 zawiera te zatwierdzenia.

Nowe funkcje

  • Niektóre tarcze zegarka bazują na jednym lub kilku konkretnych widżetach. W związku z tym dodaliśmy widżet Complication.Builder#setFixedComplicationProvider, który, jeśli ma wartość Prawda, uniemożliwia użytkownikowi zmianę widżetu w danym boksie.
  • Biblioteki tarcz zegarka są w pierwszej kolejności w Kotlinie i korzystają z korobonów (np. zawieszanie funkcji). Dla użytkowników Javy udostępniliśmy pakiety ListenableFuture, aby poprawić współdziałanie w tych bibliotekach: wear/wear-watchface-guava, wear/wear-watchface-client-guava i wear/wear-watchface-editor-guava.

Zmiany w interfejsie API

  • Wycofaliśmy obsługę dwukrotnego dotknięcia widżetów podczas uruchamiania wyboru dostawcy. Ta funkcja nie była typowa na tarczach zegarka i skomplikowała implementację SysUI. (I3ef24)
  • Metody klasy ProviderInfoRetriever mogą wywołać wyjątek ServiceDisconnectedException, jeśli binder zostanie zamknięty nieoczekiwanie. (Ib2cc4)
  • Począwszy od Androida 11, istnieją ograniczenia dotyczące tego, kiedy można uruchomić ProviderChooser. Chcemy też, aby edytory były tworzone przy użyciu nowego interfejsu wear-watchface-editor, dlatego usuwamy ComplicationHelperActivity z publicznego interfejsu API. (Ib19c1)
  • Usuń statyczne metody ComplicationText na rzecz metod budujących. (Ibe399)
  • Wprowadziliśmy kody guawy ListenableFuture dla różnych zawieszonych metod biblioteki tarcz zegarka. (I16b2c)
  • Aby ułatwić korzystanie z interfejsu API, dodaliśmy do RenderParameters dodatkowy konstruktor, który nie wymaga odcienia i może być używany z wartością LayerModes inną niż LayerMode.DRAW_OUTLINED. (I497ea)
  • Wcześniej funkcja ListUserStyleSetting różniła się od pozostałych, ponieważ miała argument domyślny. Teraz wszystkie konstruktory podklasy StyleSetting przyjmują wartość domyślną jako ostatnią. (I9dbfd)
  • Klasa CanvasComplication została przebudowana, aby używać ukrytej metody, która ułatwia implementację podklasy (I5b321).
  • Zrefaktoryzowaliśmy interfejs EditorResult na rzecz nowego interfejsu EditorService i interfejsu EditorSession.broadcastState(), aby przesyłać aktualizacje do obserwatora (zwykle SysUI). (Ic4370)
  • Niektóre tarcze zegarka są tworzone wokół konkretnego widżetu jako integralnej części tarczy, której dostawca nie udostępnia użytkownikowi możliwości konfiguracji. W tym celu dodaliśmy Complication.Builder#setFixedComplicationProvider. (I4509e)
  • Edytor EditorRequest określa teraz nazwę pakietu zamiast nazwy KomponentName, ponieważ wyszukiwanie nazwy klasy w edytorze przez SysUI było niewygodne. Potrzebujemy jedynie nazwy pakietu. (Ib6814)

Wersja 1.0.0-alpha07

10 lutego 2021 r.

androidx.wear:wear-*:1.0.0-alpha07 został zwolniony. Wersja 1.0.0-alfa07 zawiera te zatwierdzenia.

Nowe funkcje

  • Funkcja WatchFaceService.createWatchFace jest teraz funkcją zawieszania, co oznacza, że tarcza zegarka nie musi już blokować wątku interfejsu podczas oczekiwania na operacje wejścia/wyjścia. Podobnie w przypadku wear-watchface-editor i wear-complications-data.

Zmiany w interfejsie API

  • Usuń klasę PhotoImage i użyj bezpośrednio klasy Icon. (I8a70b)
  • Wyświetl prawidłowy zakres czasu ComplicationData. (I91366)
  • Uczynić atrybuty podobne do obrazu bardziej jednoznacznymi. (I81700)
  • Pakiety wear-watchface-editor i wear-complications-data zostały przebudowane, aby używały funkcji zawieszania zamiast coroutine. Środowisko Java RX i kody kompatybilne w przyszłości. (If3c5f)
  • ProviderInfoRetriever zgłasza teraz PreviewNotAvailableException, jeśli requestPreviewComplicationData nie może zwrócić danych podglądu z powodu problemów z połączeniem lub braku obsługi interfejsu API. (I4964d)
  • Funkcja WatchFaceControlService::createWatchFaceControlClient jest teraz zawieszona, a getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient jest teraz wywoływana jako getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync z wartością zwracaną Deferred<InteractiveWatchFaceWcsClient>. RX java i Future kompatybilnościowe wrappery wkrótce. (I5d461)
  • Zmień nazwę CATEGORY_PROVIDER_CONFIG_ACTION na CATEGORY_PROVIDER_CONFIG. (I7c068)
  • Funkcja createOnWatchEditingSession jest teraz zawieszona, ponieważ tarcza zegarka jest czasami niedostępna, dopóki nie rozpocznie się aktywność edytora. (Ida9aa)
  • WatchFaceService.createWatchFace to teraz funkcja zawieszania, która umożliwia asynchroniczne inicjowanie. Wcześniej trzeba było zablokować wątek główny. (If076a).
  • Funkcja UserStyle ma teraz operator tablicy, a do funkcji UserStyle.Option dodaliśmy pomocnicze metody konwersji. (I35036)
  • Naprawiliśmy poważny błąd polegający na tym, że formaty przewodów UserStyle zmieniały niektóre niestabilne ukryte interfejsy API. (I8be09)
  • Dodaliśmy funkcję CustomValueUserStyleSettings, która pozwala na przechowywanie pojedynczych ciągów znaków specyficznych dla aplikacji w obrębie klasy UserStyle. Domyślne edytory tarczy zegarka zignorują tę wartość. (Ic04d2)
  • Identyfikator InstanceID nie jest przekazywany w ekstrach intencji w przypadku wersji R i starszych wersji Androida WearOS, których nie możemy uaktualnić. Aby to umożliwić, zezwalamy teraz na wartość null dla InstancID. (Id8b78)
  • Edytor EditorRequest zawiera teraz parametr KomponentName ustawiony jako komponent w WatchFaceEditorContract.createIntent (I3cd06)
  • W Edytorze na tarczy zegarka dostępne są teraz podglądy ComplicationData, aby użytkownik mógł zrobić zrzut ekranu tarczy zegarka po wprowadzeniu zmian. (I2c561)

Poprawki błędów

  • Dodano zastąpienia toString() do UserStyle, UserStyleSetting i UserStyleSchema, co ułatwia pracę z tymi klasami. (I9f5ec).

Wersja 1.0.0-alpha06

27 stycznia 2021 r.

androidx.wear:wear-*:1.0.0-alpha06 został zwolniony. Wersja 1.0.0-alfa06 zawiera te zatwierdzenia.

Nowe funkcje

  • Wprowadziliśmy nową bibliotekę wear/wear-watchface-editor, która umożliwia twórcom tarcz i OEM-om tworzenie edytora stylów i komplikacji. SysUI wyśle intencję do tarczy zegarka, która użyje nowej klasy EditorSession, aby uzyskać dostęp do szczegółów tarczy zegarka i zarejestrować wynik za pomocą Activity.setWatchRequestResult. Aby to umożliwić, dodaliśmy metodę ProviderInfoRetriever.requestPreviewComplicationData, która umożliwia edytorom tarczy zegarka żądanie danych ComplicationData w wersji podglądowej. Zaletą danych ComplicationData w podglądzie jest to, że w odróżnieniu od danych na żywo nie musisz się martwić o wyświetlanie okienek z prośbą o uprawnienia podczas renderowania edytora (uwaga: jeśli użytkownik wybierze dostawcę z uprawnieniami, nadal będzie proszony o ich przyznanie).

Zmiany w interfejsie API

  • W polu ComplicationProviderInfo jest teraz pole dla nazwy komponentu dostawcy. Obsługa tego pola zostanie dodana do Wear OS w przyszłości. W międzyczasie będzie ono puste. (Id8fc4)
  • Dodaliśmy metodę ProviderInfoRetriever.requestPreviewComplicationData, która umożliwia edytorom tarczy zegarka żądanie danych ComplicationData w wersji podglądowej. Jest to przydatne, ponieważ widżety na żywo mogą wymagać uprawnień i możesz teraz wyświetlać dane podglądu nieaktywnych widżetów. (I2e1df)
  • Klasa ComplicationManager jest teraz opcjonalnym parametrem konstruktora WatchFace, a aby to umożliwić, argumenty zostały zmienione. (I66c76)
  • Do widżetów dodaliśmy opcjonalny pakiet. Jeśli zostanie on scalony z intencją wysłaną w celu uruchomienia działania wyboru dostawcy, (Ifd4ad)
  • Dodaliśmy nową bibliotekę wear-watchface-editor, aby umożliwić korzystanie z edytorów hostowanych w tarczy zegarka i w SysUI. SysUI uruchamia te edytory, wysyłając odpowiednią intencję. Usługa aktywności tarczy zegarka może używać nowej klasy EditorSession, aby uzyskać dostęp do szczegółów tarczy zegarka i zanotować wynik za pomocą Activity.setWatchRequestResult. (I2110d)
  • Parametr LayerMode.DRAW_HIGHLIGHTED ma teraz nazwę LayerMode.DRAW_OUTLINED, a RenderParameters.highlightComplicationId – RenderParameters.selectedComplicationId. Ten ostatni rysuje oprócz obrysu również podświetlenie na wskazanej komplikacji. (I90a40)
  • W przyszłości metoda WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient może zwracać wyjątek ServiceStartFailureException, jeśli usługa przestanie działać podczas oczekiwania na utworzenie tarczy zegarka. (I0f509)
  • EditorSession.complicationPreviewData to teraz ListenableFuture, ponieważ pobieranie tych danych jest procesem asynchronicznym. (Iead9d).

Poprawki błędów

  • Usuwamy nieużywane pola z ComplicationOverlay, pozostawiając włączone i complicationBounds. (I17b71)

Wersja 1.0.0-alpha05

13 stycznia 2021 r.

Usługa androidx.wear:wear-*:1.0.0-alpha05 została zwolniona. Wersja 1.0.0-alpha05 zawiera te commity.

Nowe funkcje

Tarcze zegarka często obsługują wiele konfiguracji widżetów z różną liczbą wyświetlanych widżetów. Aby ułatwić konfigurację, obsługujemy teraz początkowo wyłączone komplikacje, wywołując setEnabled(false) w budującym. Można je włączyć później za pomocą ComplicationsUserStyleSetting.

Zmiany w interfejsie API

  • ComplicationHelperActivity przyjmuje teraz Collection<ComplicationType> zamiast tablicy int, co ułatwia korzystanie z tej funkcji. (I1f13d)
  • Funkcja ProviderInfoRetriever.retrieveProviderInfo prawidłowo zwraca teraz ListenableFuture<ProviderInfo[]>. (JEŻELI2710)
  • Możesz teraz utworzyć widżet, który został początkowo wyłączony, wywołując w konstruktorze funkcję setEnabled(false). (Idaa53)
  • WatchFaceState ma teraz właściwość isHeadless, która obowiązuje tylko w przypadku instancji bez interfejsu graficznego. (Ifa900)
  • Obiekt ComplicationDrawable obsługuje teraz synchroniczne ładowanie elementów obiektów rysowalnych. Jest on używany przez interfejsy API zrzutu ekranu. (I34d4a)

Wersja 1.0.0-alpha04

16 grudnia 2020 roku

androidx.wear:wear-*:1.0.0-alpha04 został zwolniony. Wersja 1.0.0-alpha04 zawiera te commity.

Nowe funkcje

  • Biblioteka tarcz zegarka Wear obsługuje teraz ustawianie ograniczeń według typu. Możesz na przykład użyć szerokiego ogranicznika dla typu ComplicationType.LONG_TEXT, a dla innych typów – mniejszego ogranicznika.

Zmiany w interfejsie API

  • Widżety korzystają teraz z elementu ComplicationBounds, który zawiera element Map<ComplicationType, RectF>, aby obsługiwać różne rozmiary widżetów. (I1ebe7)
  • RenderParameters pozwala teraz określić odcień wyróżnienia, który będzie używany na zrzutach ekranu. (Iff42b)
  • Z wyjątkiem ograniczeń musisz teraz używać funkcji ComplicationsUserStyleSetting do modyfikowania widżetów. Ma to na celu zapewnienie synchronizacji z systemem operacyjnym. (I8dc5d)
  • Renderer jest teraz zamkniętą klasą. Oznacza to, że CanvasRenderer i GlesRenderer są teraz wewnętrznymi klasami Renderer. (Iab5d4, b/173803230)
  • Zmiana nazwy CanvasComplicationDrawable.drawHighlight na drawOutline. W ObservableWatchData brakuje kilku adnotacji UiThread. ScreenState został całkowicie usunięty z WatchState. (If1393).
  • Minimalny poziom interfejsu API dla tarcz do noszenia to teraz 25. Pamiętaj, że obsługa interfejsu Canvas na sprzęcie wymaga interfejsu API na poziomie 26 lub wyższym. (Ic9bbd)
  • Interaktywna funkcja WatchFaceWcsClient ma teraz pomocniczą funkcję getComplicationIdAt. (I05811)
  • Poziom interfejsu API dla wear-watchface-client został obniżony do 25, ale interfejsy API do robienia zrzutów ekranu wymagają poziomu 27. (Id31c2)

Poprawki błędów

  • W stanie ComplicationState udostępniamy teraz typ ComplicationType bieżących danych ComplicationData. (I9b390)
  • InteraktywnaWatchFaceWcs ma teraz metodę `bringAttentionToComplication, która krótko wyróżnia określoną komplikację. (I6d31c)
  • InteractiveWatchFaceWcsClient#setUserStyle ma teraz przeciążenie przyjmujące Map<string, string="">, które może potencjalnie uniknąć dodatkowej komunikacji IPC niezbędnej do tworzenia UserStyle. (I24eec)</string,>

Wersja 1.0.0-alpha03

2 grudnia 2020 r.

Usługa androidx.wear:wear-*:1.0.0-alpha03 została zwolniona. Wersja 1.0.0-alpha03 zawiera te commity.

Nowe funkcje

Klasa Complication ma teraz właściwość compicationData, która umożliwia tarczom zegarka obserwowanie zmian w danych widżetu. Dzięki temu możesz zmieniać wymiary widżetu w zależności od jego typu.

Zmienne liczby klatek są teraz obsługiwane przez przypisywanie do Renderer.interactiveDrawModeUpdateDelayMillis. W przypadku tarcz zegarka, które odtwarzają krótkie animacje co sekundę, może to prowadzić do znacznego oszczędzania energii, ponieważ tarcza przechodzi w stan uśpienia, gdy nie odtwarza animacji.

Zmiany interfejsu API

  • Nazwa BACKGROUND_IMAGE została zmieniona na PHOTO_IMAGE wraz z powiązanymi zajęciami. Ten rodzaj widżetu jest używany nie tylko w przypadku tła, dlatego nazwa została zmieniona. (I995c6)
  • Zasada DefaultComplicationProviderPolicy jest odpowiednio opatrzona adnotacjami za pomocą IntDefs. (I3b431)
  • Ukryta klasa TimeDependentText nie jest już widoczna przez ContentDescriptionLabel. Zamiast tego dodajemy metodę dostępu, która pobiera tekst w określonym momencie. (Ica692).
  • Konstruktor ObservableWatchData jest teraz wewnętrzny. (I30121, b/173802666)
  • Widżet ma teraz obiekt compicationData, który umożliwia tarczom zegarka obserwowanie zmian w danych widżetu. Widżet ma też nowe wywołanie isActiveAt, które można wykorzystać do określenia, czy w podanym czasie i dacie coś ma zostać wyrenderowane. (Ic0e2a)
  • Pusty parametr SharedMemoryImage nie jest już dostępny w interfejsie API. (I7ee17).
  • WatchFace.overridePreviewReferenceTimeMillis ma teraz adnotację IntRange, a metody pobierania i metody ustawiającej mają teraz spójne nazwy. (Ia5f78)
  • Aby zwiększyć przejrzystość, Complication.Builder jest teraz tworzony za pomocą aplikacji Complication.createRoundRectComplicationBuilder lub Complication.createBackgroundComplicationBuilder (I54063)
  • Dodano element WatchFace.TapListener, który umożliwia obserwowanie kliknięć niezwiązanych z widżetami. (Ic2fe1, b/172721168)
  • WatchFace obsługuje teraz zmienną liczbę klatek na sekundę dzięki przypisaniu do Renderer.interactiveDrawModeUpdateDelayMillis. Pomoże to wydłużyć czas pracy na baterii dzięki uśpieniu, gdy nie używasz animacji. (I707c9)
  • Klasa WatchFace.Builder nie jest już potrzebna, a funkcje invalidate() i interactiveUpdateRateMillis zostały przeniesione do klasy Renderer. (I329ea)
  • Aby zapewnić lepszą interoperacyjność w Javie, zmieniono nazwy metod pobierania właściwości logicznych w WatchState (I6d2f1).
  • Z powodu spójności zmieniono nazwę interfejsu TapListener na TapCallback, a interfejsu InvalidateCallback – na InvalidateListener. (I9414e)
  • Aby zachować przejrzystość, opcje stylu tarczy zegarka Wear 2.0 zostały przeniesione do osobnej klasy. Setery WatchFace.Builder mają teraz symetryczne metody pobierania klasy WatchFace. (Iefdfc)
  • Dodano InteractiveWatchFaceWcsClient i WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient, które albo pobiera istniejący egzemplarz, albo tworzy go po połączeniu usługi tła i utworzenia silnika. (Id666e)
  • WatchFaceControlClient jest teraz interfejsem, który umożliwia testom jego emulację. (I875d9)
  • HeadlessWatchFaceClient, InteractiveWatchFaceSysUiClientImpl i InteractiveWatchFaceWcsClient to teraz interfejsy ułatwiające testowanie. (I7cdc3)
  • Dodano adnotacje do metod w wear-watchface-complications-rendering (I0d65c)

Poprawki błędów

  • Usuń z DeviceConfig kształt ekranu, który powielał się w pliku android.content.res.Configuration#isScreenRound() (Ifadf4).
  • Zmieniliśmy WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient, aby przyjmował Map<String, String> zamiast UserStyle, ponieważ trudno jest utworzyć UserStyle bez znajomości schematu, który można uzyskać dopiero po utworzeniu klienta. (Iea02a)
  • Zmień InteractiveWatchFaceWcsClient, aby używać formatu ComplicationState zamiast formatu specyfikacji. (Icb8a4)
  • UserStyleSettings jest teraz klasą zapleczoną, ponieważ edytorzy tarczy zegarka rozumieją tylko klasy wbudowane. (I2d797)

Wersja 1.0.0-alpha02

11 listopada 2020 roku

androidx.wear:wear-*:1.0.0-alpha02 został zwolniony. Wersja 1.0.0-alpha02 zawiera te commity.

Zmiany interfejsu API

  • ComplicationDetails ma teraz nazwę ComplicationState, jest prawidłowo zapakowana, a użytki z obsługi urządzeń noszonych @ComplicationData.ComplicationType zostały przeniesione do androidx ComplicationType. (I4DD36)
  • Dodaj do RenderParameters opcjonalny parametr highlightedComplicationId, który umożliwia żądanie podświetlenia pojedynczej komplikacji na zrzutach ekranu. (I66ce9)
  • ComplicationProviderService do korzystania z interfejsu API nowych widżetów komplikacji w celu zapewnienia spójności (Id5aea).
  • Usługa getPreviewReferenceTimeMillis pobiera teraz czasy odniesienia z usługi DeviceConfig. (I779fe)
  • Aby uprościć interfejs Renderer API, możesz zamiast tego użyć interfejsu SurfaceHolder.Callback do obserwowania zmian. (I210db)
  • CanvasComplicationRenderer nie rozszerza Renderer, dlatego zmieniliśmy jego nazwę. (Ibe880)

Poprawki błędów

  • Pierwsza wersja androidx.wear:wear-watchface-client (I1e35e)
  • Zmieniono nazwę GlesTextureComplication#renderer w celu zwiększenia przejrzystości (Ib78f7).
  • Zmień nazwę StyleCategory na StyleSetting ze względu na przejrzystość (I488c7)
  • Dodaję UserStyleSchema w celu bardziej przejrzystego interfejsu API (If36f8)

Wersja 1.0.0-alpha01

28 października 2020 r.

androidx.wear:wear-complications-*:1.0.0-alpha01androidx.wear:wear-watchface-*:1.0.0-alpha01 są dostępne. Wersja 1.0.0-alpha01 zawiera te commity.

Zmiany w interfejsie API

  • Usunęliśmy niektóre elementy, których nie zamierzaliśmy udostępniać w publicznym interfejsie API. (I41669)
  • Utwórz bibliotekę androidx.wear:wear-complications-provider. (I77f1f)
  • ComplicationsUserStyleCategory – nowa zalecana kategoria do konfigurowania widżetów (I96909)
  • Dodano interfejs Wear-complication-data API. (I7c268)
  • w przypadku funkcji z wartościami zwracanymi w wartości logicznej, które mają być poprzedzone ciągiem „is”, a nie „get” (If36ff);
  • Zalecamy unikanie korzystania z interfejsu API w trybie chronionym, więc ta klasa została przebudowana, aby przyjmowała parametry przez konstruktor. (I61644)
  • Zmień nazwę setBackgroundComplication, aby była bardziej przejrzysta. (I96fe3)
  • Używanie właściwości Kotlina w przypadku ComplicationDrawable isHighlighted & data (I4dcc8)
  • Zamiast ComplicationRenderer.InvalidateCallback dodajemy Complication#invalidate() (I4f4c6)
  • Te interfejsy API są wycofywane z WearableSupport i usunięte tutaj. (Ib425c)
  • Zmieniono nazwy niektórych metod kreatora tarczy zegarka, aby podkreślić ich starszy charakter (dla Wear OS 2.0). (IdB775).
  • Pierwszy kandydat do wersji beta interfejsu API do noszenia lub tarczy zegarka (Id3981)
  • Pierwsza śledzona wersja interfejsu API. (IE9fe6)
  • Prawidłowe ukrywanie ComplicationDrawable.BorderStyle IntDef i przenoszenie do ComplicationStyle w celu zachowania spójności. (I27f7a)
  • Dodawanie brakujących adnotacji do metod ComplicationStyle (I838fd)
  • Ta biblioteka nie ma publicznego interfejsu API (I88e2b)
  • Wszystkie klasy opcji kategorii stylów są teraz poprawnie ostatecznie. (Ib8323)
  • Pierwsza śledzona wersja interfejsu API. (I27c85)

Poprawki błędów

  • Zmieniliśmy usługę ComplicationProviderService, aby mieć jawną metodę getComplicationPreviewData. (I4905f)
  • Sprawdzanie lint interfejsu API pod kątem braku metody gettera pasującego do Buildera jest włączone w androidx (I4bbea, b/138602561).
  • Zmień nazwę wear-complications-rendering. (Ifea02)
  • Wyświetlane nazwy kategorii stylów są teraz ciągami znaków (I28990)
  • Zastępowanie funkcji Zastąpienie przez funkcję Nakładka, aby dopasować ją do konwencji nazewnictwa bieżących motywów i stylów. (I4fde9).
  • Zmieniliśmy nazwę UserStyle#getOptions w celu uniknięcia wątpliwości. (I695b6)

Wersja 1.2.0

Wersja 1.2.0

15 września 2021 r.

androidx.wear:wear:1.2.0 został zwolniony. Wersja 1.2.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.1.0

  • Dodano komponent CurvedText, który umożliwia łatwe tworzenie wygiętego tekstu zgodnie z krzywizną największego okręgu, który można wpisać w widok. Przykład użycia:

    <androidx.wear.widget.CurvedText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="example curved text"
            app:anchorAngleDegrees="180"
            app:anchorPosition="center"
            app:clockwise="false"
            style="@android:style/TextAppearance.Large"
    />
    

    Przykład wygiętego tekstu w Androidzie Wear

  • Dodano kontener ArcLayout do układania elementów podrzędnych pojedynczo na łuku w kierunku zgodnym z ruchem wskazówek zegara lub przeciwnie do ruchu wskazówek zegara. Jego elementami mogą być standardowe widżety Androida lub „zaokrąglone” widżety, które implementują interfejs ArcLayout.Widget. (I536da) Przykład użycia:

    <androidx.wear.widget.ArcLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:anchorPosition="center">
          <ImageView
                  android:layout_width="20dp"
                  android:layout_height="20dp"
                  android:src="@drawable/ic_launcher"
          />
          <androidx.wear.widget.CurvedText
                  android:layout_width="match_parent"
                  android:layout_height="match_parent"
                  android:text="Curved Text"
                  style="@android:style/TextAppearance.Small"
                  android:padding="2dp"
           />
      </androidx.wear.widget.WearArcLayout>
    

    Przykład tekstu w ramce na Androida Wear

  • Dodaliśmy nowy kontener układu, DismissibleFrameLayout, który obsługuje zamykanie za pomocą przycisku Wstecz lub przesunięcia w stronę, przeznaczony do użytku w ramach aktywności. Aby obsłużyć działanie odrzucenia, musisz dodać co najmniej 1 słuchacza. Listener zazwyczaj usuwa widok zawierający lub fragment z bieżącej aktywności. Funkcje setSwipeDismissible(boolean) i setBackButtonDismissible(boolean) umożliwiają bezpośrednie sterowanie funkcjami. Ten nowy układ ma zastąpić istniejący układ SwipeDismissFrameLayout.

  • Dodaliśmy obsługę wskazywania, że działanie może być „automatycznie wznawiane”, gdy urządzenie opuści tryb nieaktywny w klasie AmbientModeSupport. Ta funkcja była wcześniej dostępna w nieużywanej klasie WearableActivity z WearableSupportLibrary. (I336ab)

  • Przeniesiona klasa WearableCalendarContract z biblioteki obsługi urządzeń noszonych. Ten interfejs API udostępnia podzbiór danych dostępnych za pomocą CalendarContract, ale jest automatycznie synchronizowany z urządzeniami do noszenia. (I6f2d7)

  • Dodano nowy interfejs API WearTypeHelperandroidx.wear.utils, który umożliwia określenie, czy dane urządzenie do noszenia jest przeznaczone na rynek chiński. (IB01a9).

  • Do aplikacji androidx.wear.widget.ConfirmationOverlay dodano funkcje ułatwień dostępu, które po ustawieniu umożliwiają odczytywanie na głos wiadomości (jeśli są włączone), a po nich opis animacji. (I524dd)

  • Naprawiliśmy błąd, który powodował awarię ConfirmationActivity, jeśli nie podano wiadomości. (IE6055)

  • Naprawiono błąd, który powodował, że przewijanie RecyclerView w poziomie powodowało wyświetlanie wszystkich interakcji przez WearableDrawerLayout. (I24c7f)

Wersja 1.2.0-rc01

1 września 2021 roku

androidx.wear:wear:1.2.0-rc01 jest wersją bez zmian od ostatniej wersji beta. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.

Wersja 1.2.0-beta01

18 sierpnia 2021 r.

androidx.wear:wear:1.2.0-beta01 został zwolniony. Wersja 1.2.0-beta01 zawiera te commity.

Poprawki błędów

  • Naprawiliśmy błąd, który powodował awarię ConfirmationActivity, jeśli nie podano wiadomości. (Ie6055)

Wersja 1.2.0-alpha13

4 sierpnia 2021 r.

androidx.wear:wear:1.2.0-alpha13 został zwolniony. Wersja 1.2.0-alpha13 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Nazwa WearTypeHelper.isChinaDevice została zmieniona na WearTypeHelper.isChinaBuild. (I47302)

Poprawki błędów

  • Dodaliśmy do androidx.wear.widget.ConfirmationOverlay funkcje ułatwień dostępu, które odczytują wiadomości, jeśli są ustawione, a następnie opis animacji. (I524dd)

Wersja 1.2.0-alpha12

21 lipca 2021 r.

androidx.wear:wear:1.2.0-alpha12 został zwolniony. Wersja 1.2.0-alpha12 zawiera te commity.

Zmiany interfejsu API

  • Dodaliśmy nowy interfejs API WearTypeHelperandroidx.wear.utils, który pozwala określić, czy dane urządzenie do noszenia jest przeznaczone na rynek chiński. (IB01a9).

Wersja 1.2.0-alpha11

30 czerwca 2021 r.

Usługa androidx.wear:wear:1.2.0-alpha11 została zwolniona. Wersja 1.2.0-alpha11 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiliśmy błąd, który powodował, że przewijanie RecyclerView w poziomie powodowało wyświetlanie wszystkich interakcji przez WearableDrawerLayout. (I24c7f)

Wersja 1.2.0-alpha10

2 czerwca 2021 r.

androidx.wear:wear:1.2.0-alpha10 został zwolniony. Wersja 1.2.0-alpha10 zawiera te zatwierdzenia.

Nowe funkcje

  • Alpha10 ulepsza obsługę ułatwień dostępu w Tekście zakrzywionym i ArcLayout. Wprowadziliśmy też drobne zmiany nazw w klasie DismissibleFrameLayout, aby ułatwić korzystanie z interfejsu API.

Zmiany w interfejsie API

  • Zmieniliśmy nazwy następujących metod w pliku DismissibleFrameLayout (Ib195e):
    • Callback#onDismissed -> Callback#onDismissedFinished
    • isSwipeDismissible -> isDismissableBySwipe
    • isBackButtonDismissible -> isDismissableByBackButton
  • Zakończyliśmy wdrażanie tych metod (Ib195e):
    • setBackButtonDismissible
    • setSwipeDismissible
    • registerCallback
    • unregisterCallback

Poprawki błędów

  • Użyj zawartości obiektu CurvedTextView w TalkBack. (I05798)
  • Większa dostępność zwykłych widoków w ArcLayout. (I4418d)

Wersja 1.2.0-alpha09

18 maja 2021 r.

androidx.wear:wear:1.2.0-alpha09 został zwolniony. Wersja 1.2.0-alpha09 zawiera te commity.

Zmiany w interfejsie API

  • Dodano nową funkcję CurvedTextView.setTypeface() (podobną do funkcji TextView), która ustawia krój tekstu oraz styl pogrubienia i kursywy. (I4653C)
  • Zmieniono nazwę WearArcLayout na ArcLayout, WearCurvedText na CurvedTextWearArcLayout.ArcLayoutWidget na ArcLayout.Widget. (I6e5ce)
    • W dniu ArcLayout.Widget zmieniono nazwę getThicknessPx na getThickness.
    • Stała wyrównania w pionie w elementach ArcLayout.LayoutParams ma teraz nazwę zaczynającą się od VERTICAL_ALIGN_ (zamiast poprzedniej VALIGN_).
  • W systemie CurvedTextView metody setMinSweepDegreessetMaxSweepDegrees zostały zastąpione przez setSweepRangeDegrees (I7a9d9)

Wersja 1.2.0-alpha08

5 maja 2021 roku

androidx.wear:wear:1.2.0-alpha08 został zwolniony. Wersja 1.2.0-alpha08 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Aby zwiększyć przejrzystość kodu, dodaliśmy adnotacje @FloatRange do niektórych parametrów kąta i typów zwracanych wartości. (I430dd)
  • W interfejsie WearArcLayout.ArcLayoutWidget metoda insideClickArea ma teraz nazwę isPointInsideClickArea. (Ia7307)

Wersja 1.2.0-alpha07

24 marca 2021 r.

androidx.wear:wear:1.2.0-alpha07 został zwolniony. Wersja 1.2.0-alfa07 zawiera te zatwierdzenia.

Poprawki błędów

  • Poprawiono błędy dotyczące elementów niekrzywych wewnątrz WearArcLayout spowodowane użyciem rozmiaru ekranu o większej wysokości niż szerokości. Te niezakrzywione elementy są teraz prawidłowo umieszczone wewnątrz łuku na wszystkich typach ekranów.

Wersja 1.2.0-alpha06

27 stycznia 2021 r.

androidx.wear:wear:1.2.0-alpha06 został zwolniony. Wersja 1.2.0-alfa06 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Bibliotekę bieżących aktywności przeniesiono do nowej podbiblioteki: „Aktywności na bieżąco”. Zajęcia są teraz dostępne w pakiecie androidx.wear.ongoing (wcześniej androidx.wear.ongoingactivities) (I7c029)
  • Przeniesienie klasy WearableCalendarContract z biblioteki pomocy dotyczącej urządzeń do noszenia do AndroidX. Ten interfejs API udostępnia podzbiór danych dostępnych za pomocą CalendarContract, ale jest automatycznie synchronizowany z urządzeniami do noszenia. (I6f2d7)

Poprawki błędów

  • Domyślnie wyłącz funkcję anulowania za pomocą przycisku W przypadku ramki Dismissable FrameLayout, ponieważ przesuwanie palcem w górę i w dół jest nadal głównym sposobem na cofnięcie na pełnym ekranie na urządzeniach do noszenia (Ic24e3)
  • Rozwiązano kilka problemów z obsługą widoczności elementów podrzędnych w komponencie WearArcLayout (Icf912).

Wersja 1.2.0-alpha05

13 stycznia 2021 r.

Usługa androidx.wear:wear:1.2.0-alpha05 została zwolniona. Wersja 1.2.0-alpha05 zawiera te commity.

Poprawki błędów

  • Zaktualizuj plik javadoc klasy AmbientModeSupport, aby udostępnić przykładowe fragmenty kodu, które lepiej pokazują ogólne zastosowanie tej klasy.

Wersja 1.2.0-alfa04

16 grudnia 2020 roku

androidx.wear:wear:1.2.0-alpha04 został zwolniony. Wersja 1.2.0-alpha04 zawiera te commity.

Zmiany interfejsu API

  • Dodano obsługę wskazującą, że aktywność może być „automatycznie wznawiana”, gdy urządzenie opuszcza tryb oświetlenia kinowego w klasie AmbientModeSupport. Ta funkcja była wcześniej dostępna w nieużywanej klasie WearableActivity z WearableSupportLibrary. (I336ab)
  • Trwająca aktywność
    • Kategorię można teraz ustawić podczas tworzenia aktywności OngoingActivity, np. OngoingActivitiy.Builder.getCategory(String)
    • Dane OngoingActivityData zawierają teraz sygnaturę czasową z chwili utworzenia OngoingActivity – OngoingActivityData.getTimestamp()
    • (I91cb4)
  • Dodano obsługę ustawiania marginesów elementów podrzędnych WearArcLayout przez zmianę parametrów układu na rozszerzenie MarginLayoutParams, czyli WearArcLayout.LayoutParams rozszerza android.view.ViewGroup.MarginLayoutParams. (I2cd88)
  • Zmień domyślny typ kotwicy obiektu WearCurvedTextView na WearArcLayout.ANCHOR_CENTER (wcześniej WearArcLayout.ANCHOR_START). Upraszcza to powiązanie między układem łuku a zakrzywionym tekstem, ponieważ zakrzywiony tekst domyślnie jest rysowany z wyśrodkowaniem w górnej części, a układ łuku nadrzędnego może go obrócić w wyznaczone miejsce. (I105ff)

Wersja 1.2.0-alpha03

Grudzień 2, 2020

Usługa androidx.wear:wear:1.2.0-alpha03 została zwolniona. Wersja 1.2.0-alpha03 zawiera te komisy.

Nowe funkcje

Nowy kontener układu DismissibleFrameLayout, który obsługuje usuwanie za pomocą przycisku Wstecz lub przesunięcia, przeznaczony do użytku w ramach aktywności. Aby obsłużyć działanie odrzucenia, musisz dodać co najmniej 1 słuchacza. Listener zazwyczaj usuwa widok zawierający lub fragment z bieżącej aktywności. Funkcje setSwipeDismissible(boolean) i setBackButtonDismissible(boolean) umożliwiają bezpośrednie sterowanie funkcjami. Ten nowy układ ma zastąpić istniejący układ SwipeDismissFrameLayout.

Widgety wygięte teraz obsługują zdarzenia dotyku. Zwykłe widżety w układzie WearArc będą otrzymywać wszystkie zdarzenia dotyku zmapowane na ich przestrzeń współrzędnych. WearCurvedTextView (w obrębie obiektu WearArcLayout lub nie) może ustawiać moduły obsługi onClick i onLongClick.

Klasy trwających aktywności są teraz obiektami VersionedParcelables zamiast używać niestandardowej serializacji i deserializacji. Statyczna ikona i intencja dotknięcia są teraz wymagane.

Zmiany w interfejsie API

  • Atrybut „sweepDegrees” dla komponentu WearCurvedTextView jest podzielony na minSweepDegrees i maxSweepDegrees, aby umożliwić bardziej elastyczny układ tego widżetu.

Wersja 1.2.0-alpha02

11 listopada 2020 roku

androidx.wear:wear:1.2.0-alpha02 został zwolniony. Wersja 1.2.0-alfa02 zawiera te zatwierdzenia.

W tej wersji po raz pierwszy dodaliśmy nowy interfejs „Ongoing Activities API”. Deweloperzy mogą używać tego interfejsu API, aby sygnalizować, że trwa długotrwała aktywność, np. ćwiczenia fitness lub odtwarzanie multimediów. Umożliwia deweloperom wyświetlanie okresowych aktualizacji stanu, takich jak „dystans i czas biegu” czy „obecnie odtwarzany utwór”, na tarczy zegarka lub w aplikacji. Ta funkcja jest przeznaczona do przyszłych urządzeń z włączoną funkcją ciągłej aktywności.

Zmiany interfejsu API

  • Nowy interfejs API dla trwających aktywności, który nie działa na „nieobsługiwanych urządzeniach”. (I69a31)

Wersja 1.2.0-alpha01

28 października 2020 r.

androidx.wear:wear:1.2.0-alpha01 został zwolniony. Wersja 1.2.0-alpha01 zawiera te commity.

Nowe funkcje

  • Dodano element WearCurvedTextView, który umożliwia łatwe pisanie wygiętego tekstu zgodnie z krzywizną największego okręgu, który mieści się w widoku. Przykład użycia:
<androidx.wear.widget.WearCurvedTextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="example curved text"
        app:anchorAngleDegrees="180"
        app:anchorPosition="center"
        app:clockwise="false"
        style="@android:style/TextAppearance.Large"
/>

Przykład wygiętego tekstu w Androidzie Wear

  • Dodano kontener WearArcLayout do układania elementów podrzędnych jeden po drugim na łuku w kierunku zgodnym lub przeciwnym do ruchu wskazówek zegara. Jego elementami mogą być standardowe widżety Androida lub „zakrzywione” widżety, które implementują interfejs ArcLayoutWidget. Przykład użycia:
<androidx.wear.widget.WearArcLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:anchorPosition="center">
      <ImageView
              android:layout_width="20dp"
              android:layout_height="20dp"
              android:src="@drawable/ic_launcher"
      />
      <androidx.wear.widget.WearCurvedTextView
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:text="Curved Text"
              style="@android:style/TextAppearance.Small"
              android:padding="2dp"
       />
  </androidx.wear.widget.WearArcLayout>

Przykład tekstu w ramce na Androida Wear

(I536da)

Wear-Input 1.2

Wersja 1.2.0-alpha02

29 września 2021 r.

androidx.wear:wear-input:1.2.0-alpha02androidx.wear:wear-input-testing:1.2.0-alpha02 są dostępne. Wersja 1.2.0-alpha02 zawiera te commity.

Zmiany w interfejsie API

  • Zmieniliśmy nazwę parametru disallowEmoji na setEmojisAllowed w sekcji WearableRemoteInputExtender, aby umożliwić określenie, czy ma być wyświetlana opcja rysowania emotikonów. (I28393)

Wersja 1.2.0-alpha01

15 września 2021 r.

androidx.wear:wear-input:1.2.0-alpha01androidx.wear:wear-input-testing:1.2.0-alpha01 są dostępne. Wersja 1.2.0-alfa01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Udostępniono wszystkie stałe lokalizacji przycisku z okresu WearableButtons. (Ibb12c).
  • Dodano klasę WearableRemoteInputExtender, której można użyć do dodawania do android.app.RemoteInput dodatków związanych z Wear. (I01903).

Wear-Input 1.1.0

Wersja 1.1.0

18 sierpnia 2021 r.

androidx.wear:wear-input:1.1.0androidx.wear:wear-input-testing:1.1.0 są dostępne. Wersja 1.1.0 zawiera te zatwierdzenia.

Ważne zmiany wprowadzone od wersji 1.0.0

  • Dodano RemoteInputIntentHelper.
    • Tej klasy można używać do tworzenia intencji RemoteInput. Następnie można ich użyć, aby poprosić użytkowników o podanie informacji w aktywności z możliwością dostosowania.

Wersja 1.1.0-rc01

4 sierpnia 2021 r.

androidx.wear:wear-input:1.1.0-rc01androidx.wear:wear-input-testing:1.1.0-rc01 są dostępne. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.

Brak zmian w interfejsie API od wersji androidx.wear:wear-input:1.1.0-beta01androidx.wear:wear-input-testing:1.1.0-beta01

Wersja 1.1.0-beta01

21 lipca 2021 r.

androidx.wear:wear-input:1.1.0-beta01androidx.wear:wear-input-testing:1.1.0-beta01 są publikowane bez zmian od 1.1.0-alpha03. Wersja 1.1.0-beta01 zawiera te commity.

Wersja 1.1.0-alpha03

30 czerwca 2021 r.

androidx.wear:wear-input:1.1.0-alpha03 i androidx.wear:wear-input-testing:1.1.0-alpha03 zostały udostępnione. Wersja 1.1.0-alpha03 zawiera te commity.

Poprawki błędów

  • Naprawiono błąd, który powodował odrzucenie intencji RemoteInput, do których dodano RemoteInput za pomocą RemoteInputHelper.putRemoteInputsExtra.

Wersja 1.1.0-alfa02

18 maja 2021 r.

androidx.wear:wear-input:1.1.0-alpha02androidx.wear:wear-input-testing:1.1.0-alpha02 są dostępne. Wersja 1.1.0-alpha02 zawiera te commity.

Zmiany w interfejsie API

  • Metody usługi RemoteInputIntentHelper używane do pobierania lub umieszczania dodatków reprezentujących tytuł, anulowanie, potwierdzenie i etykiety w toku, używają teraz w przypadku tych etykiet etykiety CharSequence zamiast String. (I0e71f)

Wersja 1.1.0-alpha01

27 stycznia 2021 r.

androidx.wear:wear-input:1.1.0-alpha01 i androidx.wear:wear-input-testing:1.1.0-alpha01 zostały udostępnione. Wersja 1.1.0-alpha01 zawiera te commity.

Zmiany interfejsu API

  • Przenieś klasę RemoteInputIntent z biblioteki pomocy urządzenia do noszenia do AndroidaX. Przeniesiona klasa została przemianowana na RemoteInputIntentHelper i zawiera funkcje pomocnicze do obsługi zdalnych danych wejściowych przez uruchamianie intencji. (I47cee)

Wear-Input 1.0.0

Wersja 1.0.0

2 grudnia 2020 r.

androidx.wear:wear-input:1.0.0androidx.wear:wear-input-testing:1.0.0 są dostępne. Wersja 1.0.0 zawiera te zatwierdzenia.

Ta wersja jest identyczna z 1.0.0-rc01.

Najważniejsze funkcje wersji 1.0.0

  • Migracja funkcji WearableButtons z biblioteki Wearable Support Library do Jetpacka.

  • Dodano androidx.wear.input.test.TestWearableButtonsProvider, który implementuje androidx.wear.input.WearableButtonsProvider, aby ułatwić testowanie aplikacji opracowanych za pomocą biblioteki androidx.wear:wear-input.

Wersja 1.0.0-rc01

11 listopada 2020 roku

androidx.wear:wear-input:1.0.0-rc01androidx.wear:wear-input-testing:1.0.0-rc01 są dostępne. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.

Ta wersja jest identyczna z 1.0.0-beta01.

Wersja 1.0.0-beta01

28 października 2020 r.

androidx.wear:wear-input:1.0.0-beta01androidx.wear:wear-input-testing:1.0.0-beta01 są publikowane bez zmian od 1.1.0-alpha01. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.

Wear-Input-Testing w wersji 1.0.0-alpha01

14 października 2020 r.

androidx.wear:wear-input-testing:1.0.0-alpha01 został zwolniony. Wersja 1.0.0-alfa01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodano androidx.wear.input.test.TestWearableButtonsProvider, który implementuje androidx.wear.input.WearableButtonsProvider, aby ułatwić testowanie aplikacji opracowanych za pomocą biblioteki androidx.wear:wear-input. (I0ed0c)

Wear-Input w wersji 1.0.0-alpha01

2 września 2020 r.

androidx.wear:wear-input:1.0.0-alpha01 został zwolniony. Wersja 1.0.0-alfa01 zawiera te zatwierdzenia.

Nowe funkcje

Przeniesienie funkcji WearableButtons z biblioteki Wearable Support Library do Jetpacka. W kolejnych wersjach Jetpacka udostępnimy dodatkową obsługę testów w bibliotece androidx.wear:wear-input-testing.

Wersja 1.1.0

Wersja 1.1.0

14 października 2020 r.

androidx.wear:wear:1.1.0 został zwolniony. Wersja 1.1.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.0.0

  • Aby zachować zgodność z konwencją nazewnictwa Androida, dodaliśmy prefiks layout_ do atrybutu boxedEdges (teraz layout_BoxedEdges) w przypadku atrybutu BoxInsetLayout. Spowoduje to usunięcie błędu linter w Android Studio w przypadku tych atrybutów. (I4272f)
  • Do elementu ConfirmationActivity dodaliśmy opcjonalny parametr EXTRA_ANIMATION_DURATION_MILLIS, aby uwzględnić czas wyświetlania okna potwierdzenia. (adb83ce, b/143356547)
  • Zaktualizowano WearableActionDrawView, aby opóźnić wyświetlanie panelu działań do momentu jego pierwszego otwarcia. (I01026, b/163870541)

Wersja 1.1.0-rc03

2 września 2020 r.

androidx.wear:wear:1.1.0-rc03 został zwolniony. Wersja 1.1.0-rc03 zawiera te commity.

Poprawki błędów

  • Rozwiązanie problemu polegającego na tym, że po otwarciu panelu działań nie wyświetlał się żaden element. (I01026, b/163870541)

Wersja 1.1.0-rc02

24 czerwca 2020 r.

androidx.wear:wear:1.1.0-rc02 został zwolniony. Wersja 1.1.0-rc02 zawiera te zatwierdzenia.

Poprawki błędów

  • Aby zachować zgodność z konwencją nazewnictwa Androida, dodaliśmy prefiks layout_ do atrybutu boxedEdges (teraz layout_boxedEdges) w przypadku atrybutu BoxInsetLayout. Spowoduje to usunięcie błędu lintera w Android Studio w przypadku tych atrybutów.

Wersja 1.1.0-rc01

14 maja 2020 r.

androidx.wear:wear:1.1.0-rc01 jest publikowany bez zmian od .1.0-beta01. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.

Wersja 1.1.0-beta01

29 kwietnia 2020 r.

Usługa androidx.wear:wear:1.1.0-beta01 została udostępniona bez zmian od androidx.wear:wear:1.1.0-alpha01. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.

Wersja 1.1.0-alpha01

15 kwietnia 2020 roku

androidx.wear:wear:1.1.0-alpha01 został zwolniony. Wersja 1.1.0-alpha01 zawiera te commity.

Zmiany w interfejsie API

  • Dodano opcjonalne EXTRA_ANIMATION_DURATION_MILLIS do ConfirmationActivity, aby umożliwić wyświetlanie okna potwierdzenia przez określony czas. (adb83ce, 134523c, b/143356547)

Poprawki błędów

  • Zaktualizowano WearableActionDrawView, aby opóźnić wyświetlanie panelu działań do momentu jego pierwszego otwarcia. (5cd32f7)