Wear

tworzyć aplikacje na zegarki z Wear OS by Google.

Ta tabela zawiera listę wszystkich artefaktów w grupie androidx.wear.

Artefakt Wersja stabilna Wersja kandydująca Wersja Beta Wersja alfa
Wear 1.3.0 - - 1.4.0-alpha01
wear-input 1.1.0 - - 1.2.0-alpha02
wear-input-testing 1.1.0 - - 1.2.0-alpha02
wear-ongoing 1.0.0 - - 1.1.0-alpha01
wear-phone-interactions 1.0.1 - - 1.1.0-alpha05
wear-remote-interactions 1.1.0 - - -
Ta biblioteka została ostatnio zaktualizowana 11 grudnia 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.

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

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. Jeśli zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk z gwiazdką.

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.

androidx.wear:wear-core:1.0.0-alpha01 został zwolniony. Wersja 1.0.0-alpha01 zawiera te komity.

Zmiany w interfejsie API

  • Dodano nową klasę WearApiVersionhelper, która pomaga w sprawdzaniu zgodności interfejsu API w czasie działania na Wear. Klient może użyć tej statycznej klasy pomocniczej i podanej metody (#isApiVersionAtLeast(VERSION)) do sprawdzenia zgodności.

Wersja 1.0 narzędzia do testowania Wear

Wersja 1.0.0

29 listopada 2023 r.

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

Funkcje w wersji 1.0.0

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

Wersja 1.0.0-rc01

15 listopada 2023 r.

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

Wersja 1.0.0-beta01

18 października 2023 r.

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

Wersja 1.0.0-alpha01

23 sierpnia 2023 r.

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

Zmiany w interfejsie API

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

Wersja Wear 1.4

Wersja 1.4.0-alpha01

15 listopada 2023 r.

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

Poprawki błędów

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

Wear 1.3

Wersja 1.3.0

9 sierpnia 2023 r.

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

Ważne zmiany od wersji 1.2.0

  • Przeprowadź migrację AmbientModeSupport, aby używać LifecycleObserver. Wycofaj klasę AmbientModeSupport i zastąp ją nową klasą uwzględniającą cykl życia.
  • Zaktualizuj ConfirmationOverlay, dodając nowe ikony lub układ, czcionki i dane czcionek
  • Aktualizacja SwipeDismissTransitionHelper w celu użycia tła drawable zamiast 2 elementu View w celu poprawienia błędów podczas używania FragmentContainerView
  • SwipeDismissFrameLayout animacja została zaktualizowana, aby była zgodna z implementacją platformy Wear i Wear Compose.
  • SwipeDismissFrameLayout poprawka błędu, która zapobiega przypadkowemu zamykaniu fragmentów przez przesunięcie w dół
  • ArcLayout obsługuje teraz wagi rozszerzenia, które działają podobnie jak zwykłe wagi układu.
  • Pomoc dotycząca layoutDirection 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 commity.

Wersja 1.3.0-beta01

7 czerwca 2023 r.

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

Zmiany w interfejsie API

  • Zaktualizowano AmbientLifecycleObserver zgodnie z opinią. 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.

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

Zmiany w interfejsie API

  • Przeprowadź migrację AmbientModeSupport, aby używać LifecycleObserver. Wycofaj AmbientModeSupport na rzecz nowych klas z uwzględnieniem cyklu życia. (I1593b)

Poprawki błędów

  • Zaktualizuj podejście do korzystania z tła scrim w komponencie SwipeDismissTransitionHelper, aby używać obiektów drawable zamiast dodawać widok. Pozwoli to naprawić błędy występujące podczas korzystania z komponentu 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, aby była zgodna z implementacją platformy Wear i Wear Compose. (I7261b)

Wersja 1.3.0-alpha03

24 sierpnia 2022 r.

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

Nowe funkcje

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

Zmiany w interfejsie API

  • Dodaliśmy wagę do ArcLayout.LayoutParams, co pozwala widżetom rozszerzać się do wypełniania dostępnej przestrzeni. Jeśli jest więcej niż 1 widżet, ich udział w dostępnej przestrzeni jest proporcjonalny do ich wagi. Dodatkowo dodaliśmy ArcLayout.setMaxAngleDegrees, dzięki czemu możesz na przykład ograniczyć rozszerzanie do 90 stopni (uwaga: nie ma to wpływu na układ widżetów podrzędnych o stałym rozmiarze). 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 zatwierdzenia.

Nowe funkcje

  • Obsługa layoutDirection na stronie ArcLayout (I14d49)
  • Ulepszone informacje o opisie treści w przypadku ConfirmationOverlay (I0fdf8)
  • Zaktualizuj ConfirmationOverlay, dodając nowe ikony lub układ. (If5b54)

Poprawki błędów

  • Dodaliśmy reguły ProGuard, aby zapewnić, że kod związany z danemi z otoczenia nie zostanie usunięty (Idaa10).
  • Unikanie przypadkowego zamykania fragmentów w SwipeDismissFrameLayout za pomocą pionowego przesunięcia (Idb6d8)
  • Poprawka ConfirmationOverlay, gdy nie ma wiadomości (I63e6f)

Darowizna zewnętrzna

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

Wersja 1.3.0-alpha01

29 września 2021 r.

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

Poprawki błędów

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

Wear Ongoing & Interactions w wersji 1.1.0

Wersja 1.1.0-alpha05

11 grudnia 2024 r.

androidx.wear:wear-phone-interactions:1.1.0-alpha05 został zwolniony. Wersja 1.1.0-alpha05 zawiera te komity.

Poprawki błędów

  • Naprawiono błąd awarii podczas uruchamiania na Wear OS 5.1 (wersja interfejsu API 34) i kierowanie na nowsze wersje pakietu SDK. Aplikacje powinny zostać zaktualizowane do tej wersji biblioteki przed zaktualizowaniem targetSdkVersion do wersji 35 lub nowszej.

Wersja 1.1.0

11 grudnia 2024 r.

androidx.wear:wear-remote-interactions:1.1.0 został zwolniony. Wersja 1.1.0 zawiera te komisy.

Ważne zmiany od wersji 1.0.0

  • Dodaliśmy RemoteActivityHelper.isRemoteActivityHelperAvailable, który pomaga sprawdzić, czy funkcja uruchamiania aktywności zdalnej jest dostępna. (I107a9)

Wersja 1.1.0-rc01

16 października 2024 r.

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

Wersja 1.1.0-beta01

24 lipca 2024 r.

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

Wersja 1.1.0-alpha04

10 stycznia 2024 r.

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

Zmiany w interfejsie API

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

Wersja 1.1.0-alpha02

10 stycznia 2024 r.

androidx.wear:wear-remote-interactions:1.1.0-alpha02 został zwolniony. Wersja 1.1.0-alpha02 zawiera te commity.

Zmiany w interfejsie API

  • Dodaliśmy RemoteActivityHelper.isRemoteActivityHelperAvailable, który pomaga sprawdzić, czy funkcja uruchamiania aktywności zdalnej jest dostępna. (I107a9)
  • Zaktualizowaliśmy konstruktor RemoteActivityHelper, aby zawierał opcjonalny parametr zgodny z językiem Java. (I75554)

Wersja 1.1.0-alpha01

21 czerwca 2023 r.

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

Poprawki błędów

  • Poprawiliśmy sposób, w jaki RemoteActivityHelper obsługuje dopełnianie i obsługę błędów. (I60d60)

Darowizna zewnętrzna

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

Wear-Phone-Interactions w wersji 1.1.0-alpha03

9 marca 2022 r.

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

Poprawki błędów

  • Funkcja redirectUrl z 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-alpha02

15 grudnia 2021 roku

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

Poprawki błędów

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

Wear-Phone-Interactions w wersji 1.1.0-alpha01

15 września 2021 r.

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

Zmiany w interfejsie API

  • 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.

Najważniejsze funkcje wersji 1.0.0

Biblioteka interakcji z telefonem zawiera interfejsy API do interakcji z urządzeniami Wearables i telefonami. Zawiera on te informacje:

  • PhoneDeviceType, który udostępnia metody pomocnicze do określania typu telefonu sparowanego z aktualnym zegarkiem (tylko na urządzeniach noszonych).
  • interfejsy API BridgingManager, 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ę uwierzytelniania zdalnego na urządzeniach noszonych oraz obsługę rozszerzenia OAuth PKCE. Dostępne są dodatkowe moduły obsługi i klasy pomocnicze do komunikacji.

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

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

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

1 września 2021 roku

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

Poprawki błędów

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

Wear – wersja 1.1 w wersji na bieżąco

Wersja 1.1.0-alpha01

23 sierpnia 2023 r.

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

Zmiany w interfejsie API

  • Dodaj pole opisu treści do bieżącej aktywności. Usługi ułatwień dostępu będą używać tego atrybutu do opisywania bieżącej aktywności. (I79fc6)

Poprawki błędów

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

Wear-Ongoing Wersja 1.0.0

1 września 2021 roku

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

Najważniejsze funkcje wersji 1.0.0

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

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

18 sierpnia 2021 r.

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

Zmiany w interfejsie API

  • Zmieniono nazwę zajęć RemoteIntentHelper 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 – wersja w trakcie 1.0.0-beta01

4 sierpnia 2021 r.

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

Zmiany w interfejsie API

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

Wear-Phone-Interactions w wersji 1.0.0-alpha07

4 sierpnia 2021 r.

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

Zmiany w interfejsie API

  • Nazwa WearTypeHelper.isChinaDevice została zmieniona 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 dla klasy BridgingManagerService. (I68ecb)

Wear-Remote-Interactions w wersji 1.0.0-alpha06

4 sierpnia 2021 r.

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

Wear-Phone-Interactions w wersji 1.0.0-alpha06

21 lipca 2021 r.

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

Zmiany w interfejsie API

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

Poprawki błędów

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

Wear-Phone-Interactions w wersji 1.0.0-alpha05

30 czerwca 2021 r.

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

Poprawki błędów

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

Wear – wersja w trakcie 1.0.0-alpha06

2 czerwca 2021 r.

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

Zmiany w interfejsie API

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

Poprawki błędów

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

Wear – wersja w trakcie 1.0.0-alpha05

18 maja 2021 r.

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

Zmiany w interfejsie API

  • OngoingActivity ma teraz metody dostępu do wszystkich wartości ustawionych bezpośrednio w Kreatorze (lub domyślnych wartości pobieranych z powiązanego powiadomienia). (Id8ac8)

    • Nowa klasa Status jest teraz używana do tworzenia stanu 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 w trakcie 1.0.0-alpha04

5 maja 2021 roku

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

Zmiany w interfejsie API

  • W klasie OngoingActivity metody z klasy fromExistingOngoingActivity są teraz wywoływane jako recoverOngoingActivity.
  • Aktualna aktywność ma teraz pełny zestaw metod getter, które wcześniej były dostępne tylko w ramach OngoingActivityData. (I0ee4d)

Wear-Remote-Interactions w wersji 1.0.0-alpha05

21 lipca 2021 r.

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

Zmiany w interfejsie API

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

  • Klasa PlayStoreAvailability została usunięta z biblioteki AndroidX. Aby wykryć, czy Sklep Play jest dostępny na połączonym telefonie, użyj metody androidx.phone.interactions.PhoneTypeHelper.getPhoneDeviceType, aby określić, czy połączony telefon to telefon z Androidem. Następnie za pomocą 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-alpha04

7 kwietnia 2021 r.

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

Zmiany w interfejsie API

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

Poprawki błędów

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

Wear-Remote-Interactions w wersji 1.0.0-alpha03

7 kwietnia 2021 r.

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

Zmiany w interfejsie API

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

Poprawki błędów

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

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

10 marca 2021 r.

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

Nowe funkcje

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

Zmiany w interfejsie API

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

Wear-Remote-Interactions w wersji 1.0.0-alpha02

10 marca 2021 r.

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

Nowe funkcje

  • Migracja klasy PlayStoreAvailability z biblioteki Wearable Support Library do AndroidX, która udostępnia interfejs API do sprawdzania, czy Sklep Play jest dostępny na telefonie.

Poprawki błędów

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

Wersja 1.0.0-alpha02

10 lutego 2021 r.

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

Zmiany w interfejsie API

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

Wersja 1.0.0-alpha01

27 stycznia 2021 r.

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

Zmiany w interfejsie API

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

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

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

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

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

Wear Complications and Watchface 1.0.0

Wersja 1.0.0-alpha22

15 września 2021 r.

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

Nowe funkcje

  • Sesja edytora jest teraz subskrybowana przez obserwatorów cyklu życia, więc nie musisz jej już zamykać, gdy Twoja aktywność się zakończy.

Zmiany w interfejsie API

  • Komponenty EditorSession i ListenableEditorSession teraz używają kotlin StateFlows w przypadku complicationSlotsState, ComplicationsPreviewData i ComplicationsDataSourceInfo. (I761d9)
  • EditorSession#userStyle jest teraz MutableStateFlow<UserStyle> (I32ca9)
  • Metoda EditorSession.createOnWatchEditorSession korzysta teraz z obserwatora cyklu życia i zamyka się automatycznie, gdy zaobserwuje zdarzenie onDestroy. Dodatkowo funkcja createOnWatchEditorSession wymaga teraz tylko przekazania aktywności. Analogiczne zmiany zostały też zastosowane do ListenableEditorSession. (Ic6b7f)
  • Konstruktor CustomValueUserStyleSetting został przywrócony jako część publicznego interfejsu API. (I2e69a)
  • UserStyle dziedziczy teraz 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

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

Zmiany w interfejsie API

  • Wszystkie publiczne interfejsy API tarczy zegarka, klienta, edytora i komplikacji używają teraz klasy java.time.Instant do określania czasu zamiast typu Long. W konsekwencji minimalny poziom interfejsu API wzrósł do 26. (I3cd48)
  • Interfejsy API tarczy zegarka i komplikacji używają teraz niezmiennego typu ZonedDateTime zamiast typu Calendar. (I25cf8)
  • ComplicationSlots są teraz inicjowane za pomocą NoDataComplicationData, ComplicationSlot.complicationData ma teraz zawsze wartość, a CanvasComplicationDrawable.complicationData nie może już być pusty. (I4dfd6) Zmniejsza (ale nie eliminuje) migotanie widżetów podczas przełączania się między tarczami zegarka.

Wersja 1.0.0-alpha20

18 sierpnia 2021 r.

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

Zmiany w interfejsie API

  • Dodaliśmy do klasy ComplicationDataSourceInfo metodę createFallbackPreviewData, która może być używana, gdy metoda ComplicationDataSourceInfoRetriever.retrievePreviewComplicationData zwraca wartość null. (I38c4d)
  • Interfejs ComplicationDataSourceUpdateRequester został przekształcony, aby umożliwić jego mockowanie w testach jednostkowych. Za pomocą metody ComplicationDataSourceUpdateRequester.create() możesz utworzyć konkretny obiekt ComplicationDataSourceUpdateRequester. (I7da22)
  • Parametr RenderParameters.pressedComplicationSlotIds został zastąpiony parametrem RenderParameters.lastComplicationTapDownEvents, który udostępnia nową klasę TapEvent zawierającą potrój współrzędnych x, y dotknięcia w pikselach oraz sygnaturę czasową. Wartość WatchFace.TapListener.onTap została zastąpiona wartością onTapEvent(@TapType tapType: Int, tapEvent: TapEvent). Ponadto usunięto zasób InteractiveWatchFaceClient.displayPressedAnimation. (Id87d2)
  • Dodano adnotację dotyczącą wątku dla funkcji setImportantForAccessibility (I990fa).
  • Typ ComplicationSlotBoundsType został przeniesiony do pakietu androidx-wear-watchface.ComplicationSlotBoundsType w pakiecie wear/wear-watchface. (I09420)
  • Dodaliśmy obsługę przekazywania identyfikatorów zasobów ciągu tekstowego do UserStyleSetting i Options. Jest to obecnie zalecany sposób tworzenia tych obiektów. (I03d5f)
  • Zostały nałożone limity maksymalnego rozmiaru danych w schemacie UserStyle. Ikony w schemacie nie mogą mieć wymiarów większych niż 400 x 400 pikseli. (I3b65b)
  • Dodaliśmy klasę MutableUserStyle, aby umożliwić wprowadzanie zmian w instancjach UserStyle (I95a40).
  • Zmieniliśmy nazwę ListenableWatchFaceMetadataClient.Companion#listenableCreateWatchFaceMetadataClient 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)
  • Z publicznego interfejsu API usunęliśmy konstruktory UserStyleSetting, które przyjmują CharSequence. Zalecamy użycie konstruktorów, które wymagają identyfikatorów StringResource. (I8537b)
  • CurrentUserStyleRepository.UserStyleChangeListener obsługuje teraz konwersje SAM. (I85989)

Wersja 1.0.0-alpha19

4 sierpnia 2021 r.

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

Zmiany w interfejsie API

  • Dodaliśmy ListenableWatchFaceMetadataClient.listenableCreateWatchFaceMetadataClient, który zapewnia otulający 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)
  • Ze względu na spójność i jasność nazwa ComplicationProvider została zmieniona na ComplicationDataSource, a wszystkie zajęcia z nazwą „Provider” zostały podobnie 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 ComplicationSlot przekazuje teraz funkcję GlesTextureComplication. (I50e6e)
  • Dodaliśmy parametr headlessDeviceConfig do EditorRequest. Jeśli nie jest równy 0, jest używany do tworzenia instancji bez interfejsu, która obsługuje sesję edytowania, a nie działa na instancji interaktywnej. Pozwala to wywołać edytor dla tarczy zegarka, która nie jest bieżącą. (I0a820)
  • Dodaliśmy eksperymentalny format WatchFaceMetadataClient, który umożliwia wydajne pobieranie metadanych statycznych tarcz zegarka, takich jak UserStyleSchema, oraz stałych szczegółów dotyczących ComplicationSlots. (I6bfdf)
  • Zmieniliśmy nazwę funkcji CanvasRenderer.uiThreadInit na init. (I6fff9)
  • Dodaliśmy nowy opcjonalny parametr EditorRequest o nazwie PreviewScreenshotParams, który instruuje sesję edytora, aby wykonała podglądowy zrzut ekranu podczas zatwierdzania. Obraz podglądu jest widoczny na stronie EditorState.previewImage. (Ic2c16)

Poprawki błędów

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

Wersja 1.0.0-alpha17

30 czerwca 2021 r.

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

Nowe funkcje

  • W funkcji GlesRenderer argumenty makeUiThreadContextCurrentmakeBackgroundThreadContextCurrent zostały zastąpione przez runUiThreadGlCommandsrunBackgroundThreadGlCommands, które obie przyjmują argument Runnable. Biblioteka zapewnia, że w danym momencie wykonywana jest tylko 1 kompilowana komenda GL.

  • Aby ułatwić inicjowanie wątku UiThread, dodaliśmy metodę CanvasRenderer.uiThreadInit, która jest wywoływana raz w wątku UiThread przed każdym wywołaniem renderowania. Dodaliśmy też onRendererCreated 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 renderem, runBackgroundThreadGlCommandsonUiThreadGlSurfaceCreated. Jest to konieczne, ponieważ w ramach tego samego procesu może być wiele obiektów GlesRenderer z własnymi kontekstami, np. z różnych tarcz zegarka. Dodatkowo dostęp do współdzielonego bieżącego kontekstu GL jest teraz zsynchronizowany. (I04d59)
  • Dodaliśmy funkcję CanvasRenderer.uiThreadInit, która jest wywoływana raz w wątku interfejsu użytkownika przed każdym wywołaniem renderowania. Aby zapewnić przejrzystość w GlesRenderer, zmieniliśmy nazwę funkcji onGlContextCreated na onBackgroundThreadGlContextCreated, a funkcję onGlSurfaceCreated na onUiThreadGlSurfaceCreated. (If86d0)
  • Nazwa HeadlessWatchFaceClient & 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.

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

Nowe funkcje

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

Poprawki błędów

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

Wersja 1.0.0-alpha15

2 czerwca 2021 r.

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

Nowe funkcje

Większość inicjalizacji tarczy zegarka jest teraz wykonywana na wątku w tle, ale po załadowaniu tarczy wszystkie renderowanie itp. jest wykonywane na wątku UiThread. Pomiędzy wczytywaniem a renderowaniem występuje bariera pamięci, więc większość tarcz zegarka nie musi nic specjalnego robić. Wyjątkiem mogą być twarze w GLES, ponieważ kontekst jest specyficzny dla wątku, a my tworzymy 2 połączone konteksty, aby umożliwić przesyłanie zasobów GL (np. tekstur i shaderów) na wątku w tle i używanie ich na wątku interfejsu użytkownika.

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

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

Zmiany w interfejsie API

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

Wersja 1.0.0-alpha14

18 maja 2021 r.

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

Nowe funkcje

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

Zmiany w interfejsie API

  • Właściwości GlesRenderer 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

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

Nowe funkcje

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

  • Aby zachęcić deweloperów do uwzględnienia czytników ekranu, uczyniliśmy pola ShortTextComplicationData.Builder, LongTextComplicationData.BuilderRangedValueComplicationData.Builder w klasach contentDescription obowiązkowymi. Jeśli ComplicationText.EMPTY zostanie przekazane jako contentDescription, contentDescription zostanie wygenerowane automatycznie na podstawie tekstu i tytułu.

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

Zmiany w interfejsie API

  • Dodaliśmy obsługę nazwy komponentu null w ComplicationProviderInfo, która jest potrzebna do obsługi starszych wersji Wear OS. (I744d2)
  • Przeprowadziliśmy migrację androidx.wear.complications.SystemProviders z języka Java na Kotlin. (Ia1f8b)
  • Ukryliśmy wszystkie klasy z publicznego interfejsu API, które znajdują się w pakiecie android.support.wearable.complications, i w razie potrzeby utworzyliśmy odpowiednie opakowania w AndroidX. (I7bd50)
  • Zmieniliśmy nazwę metody w TimeDifferenceComplicationText.BuildersetMinimumUnit na setMinimalTimeUnit. (I20c64)
  • Wprowadziliśmy wymóg przekazywania pól ShortTextComplicationData.Builder, LongTextComplicationData.BuilderRangedValueComplicationData.Builder w konstruktorze.contentDescription (I8cb69)
  • Zmieniliśmy nazwę metody ComplicationProviderService.onComplicationUpdate na onComplicationRequest i zakapsułowaliśmy parametry id i type tej metody w danych ComplicationRequest. Odpowiadający mu odbiorca został przemianowany na ComplicationRequestListener, a jego metoda na ComplicationRequestListener.onComplicationData. (Iaf146)
  • Usunęliśmy metodę isActiveAt z funkcji ComplicationData i zamiast niej dodaliśmy pole validTimeRange. Ten wywołanie metody można zastąpić wywołaniem validTimeRange.contains. (I65936)
  • Zmieniliśmy opis metody ComplicationProviderService.onComplicationActivated, aby zamiast typu int zwracała typ ComplicationType (Idb5ff).
  • Przeniesiono klasę ProviderUpdateRequester z języka Java do Koltin. (Ibce13)
  • Metoda GlesRender.makeContextCurrent jest teraz publiczna. Kod tarczy zegarka może wymagać wywołań gl poza renderowaniem i onGlContextCreated. Ponieważ może występować zarówno kontekst interaktywny, jak i bez głowy, konieczne jest wywołanie tego. (I8a43c)
  • Metoda WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient powoduje teraz wyjątek ServiceStartFailureException, jeśli podczas inicjalizacji zegarka wystąpi wyjątek. Dodatkowo WatchFaceService wyrzuca teraz wyjątek, jeśli tworzenie tarczy zegarka trwa dłużej niż 6 sekund. (I59b2f)
  • Usunęliśmy nieużywaną właściwość identyfikatora GlesTextureComplication. (I28958)
  • Tarcza zegarka może teraz określać etykiety ContentDescriptionLabels na potrzeby ułatwień dostępu za pomocą właściwości additionalContentDescriptionLabels obiektu Renderer. Oprócz możliwości kontrolowania kolejności etykiet ContentDescriptionLabels dodano do komplikacji funkcję accessibilityTraversalIndex. Można go zmienić za pomocą ustawienia użytkownika dotyczącego stylu komplikacji. (Ib7362)
  • Rozwiń dokumentację dotyczącą obsługi zdarzeń dotyku na tarczy zegarka. (Iaf31e)

Poprawki błędów

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

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

21 kwietnia 2021 r.

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

Nowe funkcje

Edytory tarczy zegarka muszą wyróżniać części tarczy, aby ułatwić użytkownikom zrozumienie, który element zegarka jest konfigurowany. Rozszerzyliśmy parametry renderowania, aby umożliwić wyróżnianie stylów i widżetów. Jest to nowa opcjonalna warstwa HighlightLayer, która ma być nałożona na tarczę zegarka z przezroczystością alfa (interfejsy API do tworzenia zrzutów ekranu mogą wykonać to za Ciebie lub udostępnić warstwę HighlightLayer samodzielnie, aby zapewnić maksymalną elastyczność). Załóżmy na przykład, że masz styl, który pozwala skonfigurować wygląd wskazówek zegarka. Twój renderer może narysować wokół nich kontur w renderHighlightLayer.

Aby zachęcić dostawców widżetów do uwzględnienia dostępności, utworzyliśmy pole contentDescription w klasach PhotoImageComplicationData.Builder, MonochromaticImageComplicationData.Builder i SmallImageComplicationData.Builder, które jest obowiązkowym argumentem konstruktora. Dodano ComplicationTapFilter i Complication.createEdgeComplicationBuilder, aby obsługiwać widżety krawędziowe (rysowane wzdłuż krawędzi ekranu). Testowanie renderowania i dostępności widżetów na krawędziach należy do tarczy zegarka. Testowanie trafień na krawędzi nie jest obsługiwane w edytorze towarzyszącym.

Zmiany w interfejsie API

  • Dodano prefiks PROVIDER_ do stałych w SystemProviders. (I1e773)
  • Pole contentDescription w klasach PhotoImageComplicationData.Builder, MonochromaticImageComplicationData.BuilderSmallImageComplicationData.Builder jest teraz obowiązkowe w konstruktorze. (I9643a)
  • Nazwa ProviderInfoRetriever.requestPreviewComplicationData została zmieniona na retrievePreviewComplicationData. (I911ee)
  • Klasa ComplicationProviderService została przeniesiona z języka Java do Koltin. (I849f2)
  • Metoda ComplicationProviderService.onBind jest teraz ostateczna (I39af5)
  • Przywróciliśmy interfejs CanvasComplication i przenieśliśmy sekcje CanvasComplicaitonDrawable, GlesTextureComplicationComplicationHighlightRenderer do sekcji wear-watchface-complications-rendering. (I84670)
  • Komponent RenderParameters został przebudowany, aby obsługiwał rozszerzone renderowanie wyróżnień. Teraz możesz poprosić o wyrenderowanie wyróżnień dla stylów, wszystkich komplikacji lub pojedynczej komplikacji. Dodatkowo klasy CanvasRenderer i GlesRenderer mają nową abstrakcyjną metodę renderHighlightLayer do renderowania podświetlenia żądanego przez edytor. Warstwa została przemianowana na WatchFaceLayer. (Ic2444)
  • Aby obsługiwać widżety krawędziowe, dodaliśmy aplikacje ComplicationTapFilterComplication.createEdgeComplicationBuilder. Renderowanie i testowanie kolizji widżetów na krawędziach zależy od tarczy zegarka. Testowanie docelowych interakcji nie jest obsługiwane w edytorach. (Ia6604)
  • W przypadku 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.

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

Nowe funkcje

  • Interfejsy API tarcz zegarka zostały ulepszone. Większość zmian to proste zmiany nazw, ale 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. Dodatkowo wartość CustomValueUserStyleSetting.CustomValueOption.value to teraz byte[] zamiast 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 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 UserStyleListener została zmieniona na UserStyleChangeListener (I18524)
  • Nazwa 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)
  • takeWatchfaceScreenshot zostało przemianowane na renderWatchFaceToBitmap, a takeComplicationScreenshot – na renderComplicationToBitmap (Ie0697).
  • Interfejs CanvasComplication został usunięty na rzecz otwartej klasy CanvasComplicationDrawable. (I1f81f)
  • WatcfaceControlServiceFactory został usunięty z publicznego interfejsu API. (I1f8d3)
  • Zmieniliśmy nazwę CanvasComplication.setData na CanvasComplication.loadData. (If1239)
  • Nazwa 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)
  • Dodaliśmy HeadlessWatchFaceClient.toBundle()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). (Ie446d)
  • Funkcja WatchFaceControlClient#getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync jest teraz funkcją zawieszania i nosi nazwę getOrCreateInteractiveWatchFaceClient. (Ib745d)
  • EditorState.commitChangeshasCommitChanges() mają teraz nazwę shouldCommitChanges(). (I06e04)
  • Nazwa previewComplicationData została zmieniona na previewComplicationsData, aby wskazać, że na mapie jest (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 Bindera dla zegarka Wear OS i klienta. (Icc4c0)
  • Aby zachować spójność, w funkcji EditorServiceClient zastosowaliśmy odświeżoną wersję, która używa słuchaczy zamiast obserwatorów. (Iec3a4)
  • Dodaliśmy kilka brakujących adnotacji @Px 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 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 w miejscu 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-alpha10 zawiera te zatwierdzenia.

Nowe funkcje

  • Teraz można tworzyć obiekty open gl (np. tekstury) podczas wywołania metody WatchFaceService.createWatchFace, ponieważ teraz metoda GlesRenderer wymaga jawnego wywołania initOpenGLContext, co można zrobić w ramach metody createWatchFace.

Zmiany w interfejsie API

  • Interfejs IdAndComplicationData był nieco niewygodny, dlatego został usunięty z publicznego interfejsu API. Klasy i interfejsy, które go używały, zostały przekształcone. (I4c928)
  • Zastąpiliśmy ReferenceTime wartościami CountUpTimeReferenceCountDownTimeReference, które są bardziej zrozumiałe. (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ć pozycję widżetu, możesz to zrobić za pomocą ComplicationsUserStyleSetting. (Ibd9e5)
  • Nazwa ComplicationsManager.TapCallback.onComplicationSingleTapped została zmieniona na onComplicationTapped. (I3a55c)
  • Nazwa 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-alpha09 zawiera te commity.

Nowe funkcje

  • Interfejs między hostem WCS/SysUI a tarczą na zegarku ewoluował. Edytor może teraz określić, czy zmiana stylu spowoduje włączenie lub wyłączenie powiadomienia (włączone = initiallyEnabled plus dowolne zastąpienie z ComplicationsUserStyleSetting). Ponadto EditorService.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 czyszczy komplikacje – wszystko w jednym kroku.

Zmiany w interfejsie API

  • Do bibliotek tarcz zegarka dodano zdarzenia śledzone. (I1a141)
  • W usługach ComplicationState jest teraz dostępna nowa właściwość initiallyEnabled, która ułatwia przewidywanie konsekwencji zmiany stylu. (I8c905)
  • Zastąpiliśmy operatora InteractiveWatchFaceWcsClient.setUserStyle bardziej zaawansowanym operatorem updateInstance, który zmienia identyfikator instancji, ustawia styl i czyszczy komplikacje. (Ife6f6)
  • Interfejsy API zrzutów ekranu WatchFaceClient nie kompresują już zrzutów ekranu, ponieważ było to powolne. Zamiast tego pozostawiamy przetwarzanie pobierania do wykonania przez wywołującego. (Id35af)
  • Teraz możesz zdalnie zamykać edytor tarczy zegarka za pomocą przycisku EditorService.closeEditor. (Ic5aa4)
  • Dodano adnotacje dotyczące możliwości wystąpienia wartości null (Ic16ed)

Wersja 1.0.0-alpha08

24 lutego 2021 r.

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

Nowe funkcje

  • Niektóre tarcze zegarka są zaprojektowane z uwzględnieniem jednego lub większej liczby konkretnych widżetów. Aby umożliwić to, dodaliśmy funkcję Complication.Builder#setFixedComplicationProvider, która po ustawieniu na wartość Prawda uniemożliwia użytkownikowi zmianę widżetu w danym miejscu.
  • Biblioteki tarcz zegarka są w pierwszej kolejności w Kotlinie i korzystają z korobonów (np. zawieszanie funkcji). Dla użytkowników Javy udostępniliśmy pakiety ListenableFuture, aby poprawić współdziałanie w tych bibliotekach: wear/wear-watchface-guava, wear/wear-watchface-client-guava i wear/wear-watchface-editor-guava.

Zmiany w interfejsie API

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

Wersja 1.0.0-alpha07

10 lutego 2021 r.

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

Nowe funkcje

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

Zmiany w interfejsie API

  • Usuń klasę PhotoImage i użyj bezpośrednio klasy Icon. (I8a70b)
  • Wyświetl prawidłowy zakres czasu ComplicationData. (I91366)
  • Uczynić atrybuty podobne do obrazu bardziej jednoznacznymi. (I81700)
  • Pakiety wear-watchface-editor i wear-complications-data zostały przebudowane, aby używały funkcji zawieszania zamiast coroutine. Rx java i Future kompatybilne obudowy do dalszego stosowania. (If3c5f)
  • ProviderInfoRetriever zgłasza teraz PreviewNotAvailableException, jeśli requestPreviewComplicationData nie może zwrócić danych podglądu z powodu problemów z połączeniem lub braku obsługi interfejsu API. (I4964d)
  • Funkcja WatchFaceControlService::createWatchFaceControlClient jest teraz zawieszona, a getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient jest teraz wywoływana jako getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync z argumentem zwracającym Deferred<InteractiveWatchFaceWcsClient>. RX java i Future kompatybilnościowe wrappery wkrótce. (I5d461)
  • Zmień nazwę CATEGORY_PROVIDER_CONFIG_ACTION 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 tablic, a do funkcji UserStyle.Option dodaliśmy pomocnicze metody konwersji. (I35036)
  • Usunęliśmy błąd dotyczący serializacji w ramach formatów danych UserStyle, który powodował zmianę niektórych niestabilnych ukrytych interfejsów API. (I8be09)
  • Dodaliśmy ustawienie CustomValueUserStyleSetting, które umożliwia przechowywanie ciągu znaków dla pojedynczej aplikacji w ramach UserStyle. Domyślne edytory tarczy zegarka zignorują tę wartość. (Ic04d2)
  • Identyfikator InstanceID nie jest przekazywany w ekstrach intencji w przypadku wersji R i starszych wersji Androida WearOS, których nie możemy uaktualnić. Aby to umożliwić, zezwalamy teraz na wartość null dla InstancID. (Id8b78)
  • EditorRequest zawiera teraz nazwę komponentu edytora, który jest ustawiony jako komponent w WatchFaceEditorContract.createIntent (I3cd06).
  • Zmiana: obiekt EditorResult zawiera teraz dane ComplicationData, aby umożliwić wywołującemu zrobienie zrzutu ekranu tarczy zegarka po jej zmodyfikowaniu. (I2c561)

Poprawki błędów

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

Wersja 1.0.0-alpha06

27 stycznia 2021 r.

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

Nowe funkcje

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

Zmiany w interfejsie API

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

Poprawki błędów

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

Wersja 1.0.0-alpha05

13 stycznia 2021 r.

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

Nowe funkcje

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

Zmiany w interfejsie API

  • ComplicationHelperActivity przyjmuje teraz Collection<ComplicationType> zamiast tablicy int, co ułatwia korzystanie z tej funkcji. (I1f13d)
  • Funkcja ProviderInfoRetriever.retrieveProviderInfo zwraca teraz poprawnie wartość ListenableFuture<ProviderInfo[]>. (JEŻELI2710)
  • Teraz możesz utworzyć początkowo wyłączoną komplikację, wywołując metodę setEnabled(false) w budującym. (Idaa53)
  • W stanie WatchFaceState jest teraz dostępna właściwość isHeadless, która ma wartość true tylko w przypadku instancji bez interfejsu. (Ifa900)
  • ComplicationDrawable opcjonalnie obsługuje teraz synchroniczne wczytywanie obiektów drawable. Jest on używany przez interfejsy API zrzutu ekranu. (I34d4a)

Wersja 1.0.0-alpha04

16 grudnia 2020 roku

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

Nowe funkcje

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

Zmiany w interfejsie API

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

Poprawki błędów

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

Wersja 1.0.0-alpha03

2 grudnia 2020 r.

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

Nowe funkcje

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

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

Zmiany w interfejsie API

  • Nazwa BACKGROUND_IMAGE została zmieniona na PHOTO_IMAGE, a powiązane z nią zajęcia zostały przemianowane. Ten typ widżetu nie jest używany wyłącznie do tła, dlatego zmieniliśmy jego nazwę. (I995c6)
  • Zasada DefaultComplicationProviderPolicy jest odpowiednio opatrzona adnotacjami za pomocą IntDefs. (I3b431)
  • Ukryta klasa TimeDependentText nie jest już dostępna za pomocą ContentDescriptionLabel. Zamiast tego dodaliśmy metodę dostępu, która umożliwia pobieranie tekstu w określonym czasie. (Ica692)
  • Konstruktor ObservableWatchData jest teraz wewnętrzny. (I30121, b/173802666)
  • Widżet ma teraz dane, które umożliwiają tarczom zegarka obserwowanie zmian w danych widżetu. Widżet ma też nowe wywołanie isActiveAt, które można wykorzystać do określenia, czy w podanym czasie i dacie coś ma zostać wyrenderowane. (Ic0e2a)
  • Pusty parametr SharedMemoryImage nie jest już dostępny w interfejsie API. (I7ee17)
  • Argument WatchFace.overridePreviewReferenceTimeMillis ma teraz adnotację IntRange, a metody getter i setter mają spójne nazwy. (Ia5f78)
  • Aby zwiększyć przejrzystość, Complication.Builder jest teraz tworzony za pomocą aplikacji Complication.createRoundRectComplicationBuilder lub Complication.createBackgroundComplicationBuilder (I54063)
  • Dodano WatchFace.TapListener, który umożliwia tarczy zegarka obserwowanie kliknięć niewykorzystywanych przez widżety. (Ic2fe1, b/172721168)
  • WatchFace obsługuje teraz zmienną liczbę klatek na sekundę dzięki przypisaniu do Renderer.interactiveDrawModeUpdateDelayMillis. Pomaga to oszczędzać baterię, ponieważ animacja jest wyłączana, gdy nie jest wyświetlana. (I707c9)
  • Klasa WatchFace.Builder nie jest już potrzebna, a funkcje invalidate() i interactiveUpdateRateMillis zostały przeniesione do klasy Renderer. (I329ea)
  • W celu poprawy interoperacyjności w Javie zmieniono nazwy metod pobierania właściwości logicznych w WatchState (I6d2f1).
  • Z powodu spójności zmieniono nazwę interfejsu TapListener na TapCallback, a interfejsu InvalidateCallback – na InvalidateListener. (I9414e)
  • Aby zachować przejrzystość, opcje stylu tarczy zegarka Wear 2.0 zostały przeniesione do osobnej klasy. Metody settera WatchFace.Builder mają teraz symetryczne metody gettera klasy WatchFace. (Iefdfc)
  • Dodano InteractiveWatchFaceWcsClient i WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient, które albo pobiera istniejący egzemplarz, albo tworzy go po połączeniu usługi tła i utworzenia silnika. (Id666e)
  • WatchFaceControlClient jest teraz interfejsem, który umożliwia testom jego emulację. (I875d9)
  • Interfejsy HeadlessWatchFaceClient, InteractiveWatchFaceSysUiClientImpl i InteractiveWatchFaceWcsClient ułatwiają testowanie. (I7cdc3)
  • Dodano adnotacje do metod w wear-watchface-complications-rendering (I0d65c)

Poprawki błędów

  • Usuń z DeviceConfig kształt ekranu, który powielał się w pliku android.content.res.Configuration#isScreenRound() (Ifadf4).
  • Zmieniliśmy WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient, aby przyjmował Map<String, String> 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 zamkniętą klasą, ponieważ edytory tarcz zegarka rozumieją tylko wbudowane klasy. (I2d797)

Wersja 1.0.0-alpha02

11 listopada 2020 roku

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

Zmiany w interfejsie API

  • ComplicationDetails ma teraz nazwę ComplicationState, jest prawidłowo zapakowana, a użytki z obsługi urządzeń noszonych @ComplicationData.ComplicationType zostały przeniesione do androidx ComplicationType. (I4dd36)
  • Dodaj opcjonalny parametr highlightedComplicationId do RenderParameters, aby żądać podświetlenia pojedynczej komplikacji na zrzutach ekranu. (I66ce9)
  • ComplicationProviderService, aby zachować spójność, używać interfejsu API nowych widżetów (Id5aea);
  • Usługa getPreviewReferenceTimeMillis pobiera teraz czasy odniesienia z usługi DeviceConfig. (I779fe)
  • Aby uprościć interfejs API dla renderowania, 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)
  • Dodanie parametru UserStyleSchema w celu uporządkowania interfejsu API (If36f8)

Wersja 1.0.0-alpha01

28 października 2020 r.

androidx.wear:wear-complications-*:1.0.0-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)
  • Dodaj interfejs Wear skompilowanych danych. (I7c268)
  • Funkcje zwracające wartości logiczne powinny mieć przedrostek „is”, a nie „get” (If36ff).
  • Zalecamy unikanie korzystania z interfejsu API w trybie chronionym, więc ta klasa została przebudowana, aby przyjmowała parametry przez konstruktor. (I61644)
  • Zmień nazwę setBackgroundComplication, aby była bardziej przejrzysta. (I96fe3)
  • Używanie właściwości Kotlina w przypadku obiektu ComplicationDrawable isHighlighted & data (I4dcc8)
  • Zamiast ComplicationRenderer.InvalidateCallback dodajemy Complication#invalidate() (I4f4c6)
  • Te interfejsy API są wycofywane w WearableSupport i są tutaj usunięte. (Ib425c)
  • Zmieniono nazwy niektórych metod kreatora tarczy zegarka, aby podkreślić ich starszy charakter (dla Wear OS 2.0). (Idb775)
  • Pierwszy kandydat do wersji beta interfejsu API dla Wear/Wear-watchface (Id3981)
  • Pierwsza śledzona wersja interfejsu API. (Ie9fe6)
  • Prawidłowe ukrywanie ComplicationDrawable.BorderStyle IntDef i przenoszenie do ComplicationStyle w celu zapewnienia spójności. (I27f7a)
  • Dodawanie brakujących adnotacji do metod ComplicationStyle (I838fd)
  • Ta biblioteka nie ma publicznego interfejsu API (I88e2b)
  • Wszystkie klasy opcji kategorii stylów są teraz poprawnie ostatecznie. (Ib8323)
  • Pierwsza śledzona wersja interfejsu API. (I27c85)

Poprawki błędów

  • Zmieniono ComplicationProviderService, aby zawierał on jawną metodę getComplicationPreviewData. (I4905f)
  • Sprawdzanie lint interfejsu API pod kątem braku metody gettera pasującego do Buildera jest włączone w androidx (I4bbea, b/138602561).
  • Zmień nazwę wear-complications-rendering. (Ifea02)
  • Wyświetlane nazwy kategorii stylów są teraz ciągami znaków (I28990)
  • Zastępowanie funkcji Zastąp za pomocą funkcji Nakładka, aby dopasować ją do konwencji nazewnictwa bieżących motywów i stylów. (I4fde9)
  • Zmieniono nazwę UserStyle#getOptions w celu zwiększenia przejrzystości. (I695b6)

Wersja 1.2.0

Wersja 1.2.0

15 września 2021 r.

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

Ważne zmiany od wersji 1.1.0

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

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

    Przykład wygiętego tekstu w Androidzie Wear

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

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

    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.

  • Dodano obsługę wskazującą, że aktywność może być „automatycznie wznawiana”, gdy urządzenie opuszcza tryb oświetlenia kinowego w klasie AmbientModeSupport. Ta funkcja była wcześniej dostępna w nieużywanej klasie WearableActivity z WearableSupportLibrary. (I336ab)

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

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

  • Dodano funkcje ułatwień dostępu do androidx.wear.widget.ConfirmationOverlay, które będą odczytywać wiadomości, jeśli zostaną ustawione, a następnie opis animacji. (I524dd)

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

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

Wersja 1.2.0-rc01

1 września 2021 roku

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

Wersja 1.2.0-beta01

18 sierpnia 2021 r.

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

Poprawki błędów

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

Wersja 1.2.0-alpha13

4 sierpnia 2021 r.

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

Zmiany w interfejsie API

  • Nazwa WearTypeHelper.isChinaDevice została zmieniona 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 w interfejsie 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.

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

Poprawki błędów

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

Wersja 1.2.0-alpha10

2 czerwca 2021 r.

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

Nowe funkcje

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

Zmiany w interfejsie API

  • Zmieniliśmy nazwy tych metod w wersji DismissibleFrameLayout (Ib195e):
    • Callback#onDismissed -> Callback#onDismissedFinished
    • isSwipeDismissible -> isDismissableBySwipe
    • isBackButtonDismissible -> isDismissableByBackButton
  • Zatwierdziliśmy te metody (Ib195e):
    • setBackButtonDismissible
    • setSwipeDismissible
    • registerCallback
    • unregisterCallback

Poprawki błędów

  • Użyj treści CurvedTextView w TalkBack. (I05798)
  • Ulepszona dostępność w przypadku zwykłych widoków w ArcLayout. (I4418d)

Wersja 1.2.0-alpha09

18 maja 2021 r.

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

Zmiany w interfejsie API

  • Dodano nową funkcję CurvedTextView.setTypeface() (podobną do funkcji TextView), która służy do ustawiania kroju pisma i stylu pogrubienia/kursywy. (I4653c)
  • Zmieniono nazwę WearArcLayout na ArcLayout, WearCurvedText na CurvedTextWearArcLayout.ArcLayoutWidget na ArcLayout.Widget. (I6e5ce)
    • W dniu ArcLayout.Widget nazwa getThicknessPx została zmieniona 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-alpha07 zawiera te commity.

Poprawki błędów

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

Wersja 1.2.0-alpha06

27 stycznia 2021 r.

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

Zmiany w interfejsie API

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

Poprawki błędów

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

Wersja 1.2.0-alpha05

13 stycznia 2021 r.

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

Poprawki błędów

  • Zaktualizuj javadoc klasy AmbientModeSupport, aby zawierał przykładowe fragmenty kodu, które lepiej pokazują ogólne zastosowanie tej klasy.

Wersja 1.2.0-alpha04

16 grudnia 2020 roku

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

Zmiany w interfejsie API

  • Dodano obsługę wskazującą, że aktywność może być „automatycznie wznawiana”, gdy urządzenie opuszcza tryb oświetlenia kinowego w klasie AmbientModeSupport. Ta funkcja była wcześniej dostępna w nieużywanej klasie WearableActivity z WearableSupportLibrary. (I336ab)
  • Trwająca aktywność
    • Kategorię można teraz ustawić podczas tworzenia trwającej aktywności, np. OngoingActivitiy.Builder.getCategory(String)
    • Dane OngoingActivityData zawierają teraz sygnaturę czasową z chwili utworzenia OngoingActivity – OngoingActivityData.getTimestamp()
    • (I91cb4)
  • 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 relację między układem łuku a zakrzywionym tekstem, ponieważ zakrzywiony tekst domyślnie jest rysowany z wyśrodkowaniem w górnej części, a układ łuku nadrzędnego może go obrócić w wyznaczone miejsce. (I105ff)

Wersja 1.2.0-alpha03

2 grudnia 2020 r.

androidx.wear:wear:1.2.0-alpha03 został zwolniony. Wersja 1.2.0-alpha03 zawiera te komisy.

Nowe funkcje

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

Widgety wygięte teraz obsługują zdarzenia dotyku. Zwykłe widżety w układzie WearArcLayout będą otrzymywać wszystkie zdarzenia dotykowe, mapowane na ich przestrzeń współrzędnych. Element WearCurvedTextView (w elementach WearArcLayout lub bez nich) może ustawiać metody obsługi onClick i onLongClick.

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

Zmiany w interfejsie API

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

Wersja 1.2.0-alpha02

11 listopada 2020 roku

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

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

Zmiany w interfejsie API

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

Wersja 1.2.0-alpha01

28 października 2020 r.

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

Nowe funkcje

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

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-alpha01 zawiera te commity.

Zmiany w interfejsie API

  • Wyświetla wszystkie stałe lokalizacje przycisku z WearableButtons. (Ibb12c)
  • Dodano klasę WearableRemoteInputExtender, która może służyć do dodawania funkcji specyficznych dla Wear do klasy android.app.RemoteInput. (I01903)

Wear-Input 1.1.0

Wersja 1.1.0

18 sierpnia 2021 r.

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

Ważne zmiany od wersji 1.0.0

  • Dodano RemoteInputIntentHelper.
    • Tej klasy można używać do tworzenia intencji RemoteInput. Możesz go użyć, aby poprosić użytkowników o dane w ramach dostosowywanej aktywności.

Wersja 1.1.0-rc01

4 sierpnia 2021 r.

androidx.wear:wear-input:1.1.0-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-alpha03androidx.wear:wear-input-testing:1.1.0-alpha03 są dostępne. Wersja 1.1.0-alpha03 zawiera te commity.

Poprawki błędów

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

Wersja 1.1.0-alpha02

18 maja 2021 r.

androidx.wear:wear-input:1.1.0-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 RemoteInputIntentHelper, które służą do pobierania lub umieszczania dodatkowych elementów reprezentujących etykiety tytułu, anulowania, potwierdzenia i trwającego, używają teraz etykiety CharSequence zamiast String. (I0e71f)

Wersja 1.1.0-alpha01

27 stycznia 2021 r.

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

Zmiany w interfejsie API

  • Przeniesienie klasy RemoteInputIntent z biblioteki pomocy Wearable do AndroidX. Przeniesiona klasa została przemianowana na RemoteInputIntentHelper i zawiera funkcje pomocnicze do obsługi zdalnych danych wejściowych przez uruchamianie intencji. (I47cee)

Wear-Input 1.0.0

Wersja 1.0.0

2 grudnia 2020 r.

androidx.wear:wear-input:1.0.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

  • Przeniesienie 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 commity.

Wear-Input-Testing w wersji 1.0.0-alpha01

14 października 2020 r.

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

Zmiany w interfejsie API

  • Dodano androidx.wear.input.test.TestWearableButtonsProvider, który 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-alpha01 zawiera te commity.

Nowe funkcje

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

Wersja 1.1.0

Wersja 1.1.0

14 października 2020 r.

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

Najważniejsze zmiany od wersji 1.0.0

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

Wersja 1.1.0-rc03

2 września 2020 r.

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

Poprawki błędów

  • Rozwiązanie problemu polegającego na tym, że po otwarciu panelu czynności nie wyświetlał treści. (I01026, b/163870541)

Wersja 1.1.0-rc02

24 czerwca 2020 r.

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

Poprawki błędów

  • Aby zachować zgodność z konwencją nazewnictwa Androida, dodaliśmy prefiks layout_ do atrybutu boxedEdges (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.

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

Wersja 1.1.0-alpha01

15 kwietnia 2020 roku

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

Zmiany w interfejsie API

  • Dodano opcjonalne EXTRA_ANIMATION_DURATION_MILLIS 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)