Wear

Twórz aplikacje na zegarki z Wear OS by Google.

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

Artefakt Wersja stabilna Kandydat do publikacji Wersja Beta Wersja alfa
Wear 1.3.0 - - 1.4.0-alfa01
Wear-input 1.1.0 - - 1.2.0-alfa02
testy Wear-input 1.1.0 - - 1.2.0-alfa02
ciągłe zużywanie 1.0.0 - - 1.1.0-alfa01
interakcje z Wear-phone 1,0.1 - - 1.1.0-alfa04
Interakcje z Wear i pilotem 1.0.0 - - 1.1.0-alfa02
Ostatnia aktualizacja tej biblioteki: 10 stycznia 2024 r.

Deklarowanie zależności

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

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

Odlotowy

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

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

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

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

Kotlin

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

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

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

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

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

Opinia

Twoja opinia pomoże nam ulepszyć Jetpack. Daj nam znać, jeśli znajdziesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową bibliotekę, przejrzyj problemy z tą biblioteką. Możesz oddać głos w ramach istniejącego problemu, klikając przycisk gwiazdki.

Utwórz nowy numer

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

Podgląd narzędzi Wear w wersji 1.0

Wersja 1.0.0

29 listopada 2023 r.

Aplikacja androidx.wear:wear-tooling-preview:1.0.0 została zwolniona. Wersja 1.0.0 zawiera te zatwierdzenia.

Funkcje 1.0.0

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

Wersja 1.0.0-rc01

15 listopada 2023 r.

Aplikacja androidx.wear:wear-tooling-preview:1.0.0-rc01 została wydana bez zmian. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.

Wersja 1.0.0-beta01

18 października 2023 r.

Aplikacja androidx.wear:wear-tooling-preview:1.0.0-beta01 została wydana bez zmian. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.

Wersja 1.0.0-alfa01

23 sierpnia 2023 r.

Aplikacja androidx.wear:wear-tooling-preview:1.0.0-alpha01 została zwolniona. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodaj WearDevices, aby wyświetlić listę prawidłowych urządzeń do noszenia, których można używać do wyświetlania podglądu interfejsu (Ib036e)

Wear w wersji 1.4

Wersja 1.4.0-alfa01

15 listopada 2023 r.

Aplikacja androidx.wear:wear:1.4.0-alpha01 została zwolniona. Wersja 1.4.0-alpha01 zawiera te zatwierdzenia.

Poprawki błędów

  • Jeśli nie ma wiadomości, wyśrodkuj ikonę ConfirmationOverlay w pionie. (I496d8)

Wear w wersji 1.3

Wersja 1.3.0

9 sierpnia 2023 r.

Wersja androidx.wear:wear:1.3.0 została udostępniona bez zmian od 1.3.0-rc01. Wersja 1.3.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.2.0

  • Aby korzystać z usługi LifecycleObserver, przenieś: AmbientModeSupport. Zrezygnuj z umowy AmbientModeSupport na rzecz nowych klas uwzględniających cykl życia.
  • Zaktualizuj aplikację ConfirmationOverlay o nowe ikony i układ oraz czcionki i dane dotyczące czcionek
  • SwipeDismissTransitionHelper Zaktualizowano, aby używać rysowalnego tła zamiast drugiego View w celu poprawienia błędów podczas korzystania z funkcji FragmentContainerView
  • Animacja SwipeDismissFrameLayout została zaktualizowana, aby była spójna z implementacjami na platformie Wear i na Wear Compose.
  • Naprawiono błąd SwipeDismissFrameLayout zapobiegający przypadkowemu zamknięciu fragmentów z przechyleniem w pionie
  • ArcLayout obsługuje teraz wagi rozwinięcia, które działają podobnie do zwykłych wag układu.
  • Wesprzyj kanał layoutDirection na platformie ArcLayout

Wersja 1.3.0-rc01

21 czerwca 2023 r.

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

Wersja 1.3.0-beta01

7 czerwca 2023 r.

Aplikacja androidx.wear:wear:1.3.0-beta01 została zwolniona. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Zaktualizowano AmbientLifecycleObserver po otrzymaniu opinii. Nazwa instancji AmbientLifecycleObserverInterface została zmieniona na AmbientLifecycleObserver. Instancja można uzyskać, wywołując metodę AmbientLifecycleObserver(...). Funkcja isAmbient została przeniesiona do pola, a nie metody. (I84b4f)

Poprawki błędów

  • Dodanie testów null w celu obsługi zgłoszeń, gdy widok nadrzędny ma wartość null, podczas resetowania wersji alfa i tłumaczenia w SwipeToDismiss. (Ib0ec7)

Wersja 1.3.0-alfa05

19 kwietnia 2023 r.

Aplikacja androidx.wear:wear:1.3.0-alpha05 została zwolniona. Wersja 1.3.0-alpha05 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Aby korzystać z usługi LifecycleObserver, przenieś: AmbientModeSupport. Zastąp AmbientModeSupport jako nowe klasy uwzględniające cykl życia. (I1593b)

Poprawki błędów

  • W celu naprawienia błędów podczas korzystania z elementu FragmentContainerView zaktualizuj metodę siatki w tle SwipeDismissTransitionHelper, aby używać elementów rysowalnych zamiast dodawać widok. (I851cd)

Wersja 1.3.0-alfa04

25 stycznia 2023 r.

Aplikacja androidx.wear:wear:1.3.0-alpha04 została zwolniona. Wersja 1.3.0-alpha04 zawiera te zatwierdzenia.

Poprawki błędów

  • Zaktualizowaliśmy animację w usłudze SwipeDismissFrameLayout, by była spójna z implementacjami na platformie Wear i na Wear Compose. (I7261b)

Wersja 1.3.0-alfa03

24 sierpnia 2022 r.

Aplikacja androidx.wear:wear:1.3.0-alpha03 została zwolniona. Wersja 1.3.0-alpha03 zawiera te zatwierdzenia.

Nowe funkcje

  • ArcLayout obsługuje teraz wagi rozwinięcia, które działają podobnie do zwykłych wag układu. Oznacza to, że możesz określić względny rozmiar elementów podrzędnych bez konieczności bezpośredniego obliczania ich kątów. Uwzględniliśmy także funkcję MaxAngleDegrees, która jest uwzględniana przy rozwijaniu elementów podrzędnych z wagami. Możesz na przykład zacisnąć łuk z kilkoma elementami podrzędnymi o wagach do 90 stopni, pamiętając przy tym o odstępach zajętych przez elementy nierozwinięte.

Zmiany w interfejsie API

  • Zwiększyliśmy wagę elementu ArcLayout.LayoutParams, który umożliwia rozwinięcie widżetu, aby wypełnił dostępną przestrzeń. Jeśli dostępnych jest więcej widżetów, to ilość dostępnego miejsca jest proporcjonalna do ich wagi. Oprócz tego dodaliśmy funkcję ArcLayout.setMaxAngleDegrees, która pozwala na przykład ograniczać rozwinięcie do 90 stopni (nie ma to jednak wpływu na układ żadnych widżetów podrzędnych o stałych rozmiarach). Na koniec ArcLayout.Widget ma teraz funkcję setSweepAngleDegrees, która pozwala ArcLayout na informowanie widżetu o wielkości innej niż zero. (I75f24)
  • Zaktualizowano wartość null atrybutu setColorFilter(I99ddf, b/236498063)

Wersja 1.3.0-alfa02

23 lutego 2022 r.

Aplikacja androidx.wear:wear:1.3.0-alpha02 została zwolniona. Wersja 1.3.0-alpha02 zawiera te zatwierdzenia.

Nowe funkcje

  • Wesprzyj kanał layoutDirection na platformie ArcLayout (I14d49)
  • Ulepszony komunikat z opisem treści dla interfejsu ConfirmOverlay (I0fdf8).
  • Zaktualizuj aplikację ConfirmationOverlay o nowe ikony lub układ. (If5b54)

Poprawki błędów

  • Dodano reguły ProGuard, aby zapewnić zachowanie kodu związanego z nastrojami (Idaa10).
  • Unikanie przypadkowego zamykania fragmentów w SushSlideFrameUkład za pomocą przechylenia w pionie (Idb6d8)
  • Naprawianie nakładki potwierdzenia, gdy nie ma komunikatu (I63e6f)

Wkład z zewnątrz

  • Dae Gyu LEE (Samsung) – unikaj przypadkowego zamykania fragmentów w sylwestrowym wyciszeniu drgań w pionie za pomocą przechylenia pionowego (Idb6d8)

Wersja 1.3.0-alfa01

29 września 2021 r.

Aplikacja androidx.wear:wear:1.3.0-alpha01 została zwolniona. Wersja 1.3.0-alpha01 zawiera te zatwierdzenia.

Poprawki błędów

  • ConfirmationOverlay przesuwa ikonę w górę, aby zmieścić się w dłuższych komunikatach bez wchodzenia w obszar ramy urządzenia (lub poza ekran). (I54bff)

Bieżące i interakcje z Wear – wersja 1.1.0

VerWear i telefony w wersji 1.1.0-alfa04

10 stycznia 2024 r.

Aplikacja androidx.wear:wear-phone-interactions:1.1.0-alpha04 została zwolniona. Wersja 1.1.0-alpha04 zawiera te zatwierdzenia.

Zmiany w interfejsie API

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

Wersja 1.1.0-alfa02

10 stycznia 2024 r.

Aplikacja androidx.wear:wear-remote-interactions:1.1.0-alpha02 została zwolniona. Wersja 1.1.0-alpha02 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodaliśmy usługę RemoteActivityHelper.isRemoteActivityHelperAvailable, która pomaga sprawdzać, czy dostępna jest funkcja uruchamiania aktywności zdalnej. (I107a9)
  • Zaktualizowaliśmy konstruktor RemoteActivityHelper, aby miał opcjonalny parametr zgodny z Javą. (I75554)

Wersja 1.1.0-alfa01

21 czerwca 2023 r.

Aplikacja androidx.wear:wear-remote-interactions:1.1.0-alpha01 została zwolniona. Wersja 1.1.0-alpha01 zawiera te zatwierdzenia.

Poprawki błędów

  • Ulepszyliśmy obsługę uzupełniania i błędów w usłudze RemoteActivityHelper. (I60d60)

Wkład z zewnątrz

  • Usuń zależność z Gujawy z wear-remote-interactions i użyj mniejszych zamienników.

Wear-Phone-Interactions (Interakcje z telefonem) w wersji 1.1.0-alfa03

9 marca 2022 r.

Aplikacja androidx.wear:wear-phone-interactions:1.1.0-alpha03 została zwolniona. Wersja 1.1.0-alpha03 zawiera te zatwierdzenia.

Poprawki błędów

  • Funkcja redirectUrl z tabeli OAuthRequest zwraca teraz pusty ciąg znaków, jeśli adres URL przekierowania nie jest ustawiony w danym żądaniu. (I44242)

Wear-Phone-Interactions (Interakcje z telefonem) w wersji 1.1.0-alfa02

15 grudnia 2021 roku

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

Poprawki błędów

  • Popraw błędy w dokumentacji usługi RemoteAuthClient, w tym błąd w przykładowym fragmencie kodu i niedziałający link do witryny ErrorCode (I260e8).

Wear-Phone-Interactions (Interakcje z telefonem) w wersji 1.1.0-alfa01

15 września 2021 r.

Aplikacja androidx.wear:wear-phone-interactions:1.1.0-alpha01 została zwolniona. Wersja 1.1.0-alpha01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

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

Interakcje z Wear – trwające i interakcje z Wear – wersja 1.0.0

Wear-Phone-Interactions (Interakcje z telefonem w wersji 1.0.1)

15 grudnia 2021 roku

Aplikacja androidx.wear:wear-phone-interactions:1.0.1 została zwolniona. Wersja 1.0.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Podczas próby wyłączenia powiadomień połączonych bez excludedTags z BridgingManager został zgłoszony poprawiony wyjątek.

Wear-telefon – interakcje z Wear – zdalne interakcje w wersji 1.0.0

15 września 2021 r.

Opublikowano androidx.wear:wear-phone-interactions:1.0.0 i androidx.wear:wear-remote-interactions:1.0.0. Wersja 1.0.0 zawiera te zatwierdzenia.

Główne funkcje wersji 1.0.0

Biblioteka interakcji telefonicznych zawiera interfejsy API do interakcji, od urządzeń do noszenia po telefony. Zawiera ona te elementy:

  • PhoneDeviceType, zapewniając metody pomocnicze do określania typu telefonu, z którym jest sparowany bieżący zegarek, do użytku tylko na urządzeniach do noszenia.
  • Interfejsy API BridgingManager, BridgingManagerService i BridgingConfig do włączania i wyłączania powiadomień w czasie działania oraz opcjonalnie ustawiania tagów dla powiadomień wykluczonych z trybu łączenia.
  • RemoteAuthClient – obsługę zdalnego uwierzytelniania na urządzeniach do noszenia oraz dodanie rozszerzenia OAuth PKCE. Dostępne są dodatkowe moduły obsługi i klasy pomocnicze do komunikacji.

Biblioteka interakcji zdalnej zawiera interfejsy API do interakcji między urządzeniami do noszenia i telefonami. Zawiera ona te elementy:

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

Wear-telefon: interakcje z Wear – zdalne interakcje w wersji 1.0.0-rc01

1 września 2021 roku

Opublikowano androidx.wear:wear-phone-interactions:1.0.0-rc01 i androidx.wear:wear-remote-interactions:1.0.0-rc01. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów

  • Popraw błąd uniemożliwiający rozpowszechnianie błędów zgłaszanych w Usługach Google Play do elementu wywołującego podczas korzystania z funkcji RemoteActivityHelper (I60d60)
  • Naprawiono błąd, który powodował, że funkcja RemoteActivityHelper nigdy nie realizowałaby swojej przyszłości, jeśli nie było połączonych węzłów lub nie znaleziono żądanego identyfikatora nodeId (I60d60)

Wear-Ongoing w wersji 1.1

Wersja 1.1.0-alfa01

23 sierpnia 2023 r.

Aplikacja androidx.wear:wear-ongoing:1.1.0-alpha01 została zwolniona. Wersja 1.1.0-alpha01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

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

Poprawki błędów

  • Dodano @RequiresPermission do interfejsów API, które wymagają przyznania uprawnienia POST_NOTIFICATIONS w pakiecie SDK 33 i nowszych wersjach. (Ie542e, b/238790278)

Wear-Ongoing w wersji 1.0.0

1 września 2021 roku

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

Główne funkcje wersji 1.0.0

  • Wear Ongoing Activities API to interfejs API dla deweloperów, w tym deweloperów zewnętrznych, służący do oznaczania aktywności jako „trwającej” i dostarczania potrzebnych informacji.
  • Aktywne aktywności to czynności, które mogą być wykonywane w tle (np. treningi, połączenia i multimedia). Na Wear 3 aktywność zadeklarowana jako trwająca będzie bardziej widoczna dzięki specjalnej ikonie nakładki na tarczy zegarka oraz innym renderowaniu w Menu z aplikacjami.
  • Więcej informacji znajdziesz w przewodniku po aktywności związanej z Wear.

Wear-telefon: interakcje z Wear-zdalne interakcje w wersji 1.0.0-beta01

18 sierpnia 2021 r.

Opublikowano androidx.wear:wear-phone-interactions:1.0.0-beta01 i androidx.wear:wear-remote-interactions:1.0.0-beta01. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Zmieniono nazwę klasy RemoteIntentHelper na RemoteActivityHelper. Zmieniliśmy nazwy funkcji RemoteIntentHelper#getRemoteIntentExtraIntent i RemoteIntentHelper#getRemoteIntentNodeId na odpowiednio RemoteActivityHelper#getTargetIntent i RemoteActivityHelper#getTargetNodeId. (Id2042).

Wear-Ongoing w wersji 1.0.0-rc01

18 sierpnia 2021 r.

Wersja androidx.wear:wear-ongoing:1.0.0-rc01 została udostępniona bez zmian od 1.0.0-beta01. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.

Wear-Ongoing w wersji 1.0.0-beta01

4 sierpnia 2021 r.

Aplikacja androidx.wear:wear-ongoing:1.0.0-beta01 została zwolniona. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Niektóre metody ustawiające w OngoingActivity.Builder akceptują teraz argument null, aby zapewnić symetrię i spójność metody ustawiającego i pobierającego (I17ee5)

Wear-Phone-Interactions (Interakcje z telefonem) w wersji 1.0.0-alfa07

4 sierpnia 2021 r.

Aplikacja androidx.wear:wear-phone-interactions:1.0.0-alpha07 została zwolniona. Wersja 1.0.0-alpha07 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Zmieniono nazwę WearTypeHelper.isChinaDevice na WearTypeHelper.isChinaBuild. (I47302)
  • Zaktualizowaliśmy bibliotekę RemoteAuthClient, tak aby automatycznie wybierała wartość redirect_uri na podstawie typu urządzenia (RoW/Chiny). (I38866)
  • Naprawiliśmy błąd, który powodował, że konwersja BridgingConfig na pakiet lub z niego nie powiodła się z wyjątkiem ClassCastException. Dodano testy jednostkowe dla klasy BridgingManagerService. (I68ecb)

Wear-Remote-Interactions (Interakcje zdalne) w wersji 1.0.0-alfa06

4 sierpnia 2021 r.

Aplikacja androidx.wear:wear-remote-interactions:1.0.0-alpha06 została zwolniona. Wersja 1.0.0-alpha06 zawiera te zatwierdzenia.

Wear-Phone-Interactions (Interakcje z telefonem) w wersji 1.0.0-alfa06

21 lipca 2021 r.

Aplikacja androidx.wear:wear-phone-interactions:1.0.0-alpha06 została zwolniona. Wersja 1.0.0-alpha06 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Klasa BridgingManagerSeviceBinder jest teraz podklasą usługi i została zmieniona na BridgingManagerSevice. (I9fca2)
  • Metoda RemoteAuthClient.Callback.onAuthorizationError została zmieniona, by uwzględnić parametr OAuthRequest. Metody wymagające wywołania zwrotnego wymagają teraz również wykonawcy, aby zostało wykonane wywołanie zwrotne. (I35e11)

Poprawki błędów

  • Ułatwiliśmy korzystanie z interfejsu API uwierzytelniania dzięki bardziej udokumentowanym parametrom i używamy właściwości tam, gdzie jest to możliwe. (I12287)

Wear-Phone-Interactions (Interakcje z telefonem) w wersji 1.0.0-alfa05

30 czerwca 2021 r.

Aplikacja androidx.wear:wear-phone-interactions:1.0.0-alpha05 została zwolniona. Wersja 1.0.0-alpha05 zawiera te zatwierdzenia.

Poprawki błędów

  • Udokumentowane parametry, które należy przekazać w konstruktorze dla funkcji BridgingConfig.Builder.

Wear-Ongoing w wersji 1.0.0-alfa06

2 czerwca 2021 r.

Aplikacja androidx.wear:wear-ongoing:1.0.0-alpha06 została zwolniona. Wersja 1.0.0-alpha06 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodaj pole tytułu do trwającej aktywności. (I7a405)

Poprawki błędów

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

Wear-Ongoing w wersji 1.0.0-alfa05

18 maja 2021 r.

Aplikacja androidx.wear:wear-ongoing:1.0.0-alpha05 została zwolniona. Wersja 1.0.0-alpha05 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • OngoingActivity ma teraz narzędzia pobierające, które pozwalają pobierać wszystkie wartości ustawione bezpośrednio za pomocą konstruktora (lub wartości domyślne pobrane z powiązanego powiadomienia). (Id8ac8)

    • Nowa klasa Status jest teraz używana do tworzenia stanu klasy OngoingActivity
    • OngoingActivityData i OngoingActivityStatus nie są już częścią publicznego interfejsu API.
  • Klasy TextStatusPart i TimerStatusPart nie są już częścią publicznego interfejsu API. (I57fb6)

    • Aby utworzyć Part z tekstem statycznym, użyj elementu Status.TextPart.
    • Aby utworzyć Part ze stoperem (odliczającym), użyj Status.Stopwatch
    • Aby utworzyć Part z licznikiem czasu (odliczaniem), użyj funkcji Status.Timer

Wear-Ongoing w wersji 1.0.0-alfa04

5 maja 2021 roku

Aplikacja androidx.wear:wear-ongoing:1.0.0-alpha04 została zwolniona. Wersja 1.0.0-alpha04 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Metody OngoingActivity zostały utworzone w OngoingActivity jako „recoveryOngoingActivity”.
  • OngoingActivity ma teraz pełny zestaw metod pobierania, ten sam, który wcześniej był dostępny tylko w OngoingActivityData. (I0ee4d)

Wear-Remote-Interactions (Interakcje zdalne) w wersji 1.0.0-alfa05

21 lipca 2021 r.

Aplikacja androidx.wear:wear-remote-interactions:1.0.0-alpha05 została zwolniona. Wersja 1.0.0-alpha05 zawiera te zatwierdzenia.

Zmiany w interfejsie API

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

  • Klasa PlayStoreAvailability została usunięta z biblioteki AndroidX. Aby sprawdzić, czy Sklep Play jest dostępny na połączonym telefonie, użyj metody androidx.phone.interactions.PhoneTypeHelper.getPhoneDeviceType w celu określenia, czy połączony telefon to telefon z Androidem. Następnie użyj metody androidx.wear.utils.WearTypeHelper.isChinaDevice, aby określić, czy połączony telefon to urządzenie chińskie. Sklep Play jest dostępny, jeśli telefon jest z Androidem i nie jest urządzeniem chińskim. (Ie7dec)

Wear-Phone-Interactions (Interakcje z telefonem) w wersji 1.0.0-alfa04

7 kwietnia 2021 r.

Aplikacja androidx.wear:wear-phone-interactions:1.0.0-alpha04 została zwolniona. Wersja 1.0.0-alpha04 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Zaktualizowano stałe ErrorCode, aby zapewnić zgodność nowej biblioteki wstecz z implementacją w bibliotece pomocy dotyczącej urządzeń do noszenia.

Poprawki błędów

  • Naprawiono wyjątek, który był powodowany przez nowy interfejs OAuth API podczas uruchamiania sesji OAuth.

Wear-Remote-Interactions (Interakcje zdalne) w wersji 1.0.0-alfa03

7 kwietnia 2021 r.

Aplikacja androidx.wear:wear-remote-interactions:1.0.0-alpha03 została zwolniona. Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Zmieniono PlayStoreAvailability na klasę, która zawiera obiekt towarzyszący z metodami statycznymi. Użycie pozostaje bez zmian.

Poprawki błędów

  • Poprawiono dokument z podsumowaniem dla funkcji WatchFaceConfigIntentHelper, który prawidłowo wyświetla przykładowy kod z rzeczywistymi znakami HTML.

Aktywne interakcje z Wear z telefonem w wersji 1.0.0-alfa03

10 marca 2021 r.

Opublikowano androidx.wear:wear-ongoing:1.0.0-alpha03 i androidx.wear:wear-phone-interactions:1.0.0-alpha03. Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.

Nowe funkcje

  • Przeprowadź migrację OAuthClient z biblioteki pomocy do noszenia na AndroidaX. Ta przeniesiona klasa została zmieniona na RemoteAuthClient i umożliwia zdalne uwierzytelnianie w urządzeniach do noszenia oraz obsługę dodawania rozszerzenia OAuth PKCE. Dostępne są dodatkowe moduły obsługi i klasy pomocnicze do komunikacji.
  • Aktywne działania można teraz powiązać z powiadomieniem zawierającym tag przy użyciu nowego konstruktora OngoingActivity.Builder.

Zmiany w interfejsie API

  • Dodano obsługę tagów powiadomień w bibliotece bieżących działań (I653b4).
  • Przenieś OAuthClient z biblioteki pomocy Wear do AndroidaX i dodaj obsługę rozszerzenia OAuth PKCE (I3eaaa)

Wear-Remote-Interactions (Interakcje zdalne) w wersji 1.0.0-alfa02

10 marca 2021 r.

Aplikacja androidx.wear:wear-remote-interactions:1.0.0-alpha02 została zwolniona. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.

Nowe funkcje

  • Przeniesienie klasy PlayStoreAvailability z biblioteki pomocy do urządzeń do noszenia do AndroidaX, która udostępnia interfejs API do sprawdzania, czy Sklep Play jest dostępny na telefonie.

Poprawki błędów

  • Przenoszę klasę PlayStoreAvailability z biblioteki pomocy do noszenia na AndroidaX. (I69bfe)

Wersja 1.0.0-alfa02

10 lutego 2021 r.

Opublikowano androidx.wear:wear-ongoing:1.0.0-alpha02 i androidx.wear:wear-phone-interactions:1.0.0-alpha02. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodano obsługę bardziej złożonego stanu. Składają się z szablonu (lub kilku) i serii części, które będą używane do wypełnienia obiektów zastępczych szablonu. OngoingActivityStatus ma teraz statyczną metodę tworzenia prostych stanów za pomocą tylko jednej części (tekst lub licznik czasu) oraz narzędzie do tworzenia bardziej złożonych stanów. (I1fe81)
  • Przenieś klasy BridgingManager i BrisgingConfig z Biblioteki pomocy Wear na platformę AndroidX, która udostępnia interfejsy API do włączania i wyłączania powiadomień w czasie działania oraz opcjonalnie ustawiać tagi dla powiadomień wykluczonych z trybu łączenia. (I3a17e)

Wersja 1.0.0-alfa01

27 stycznia 2021 r.

Opublikowano androidx.wear:wear-ongoing:1.0.0-alpha01, androidx.wear:wear-phone-interactions:1.0.0-alpha01 i androidx.wear:wear-remote-interactions:1.0.0-alpha01. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Przenieś bibliotekę bieżących działań do nowej biblioteki podrzędnej. Zajęcia są teraz dostępne w pakiecie androidx.wear.ongoing (wcześniej androidx.wear.ongoingactivities) (I7c029)

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

  • Przeprowadź migrację klasy PhoneDeviceType z biblioteki pomocy do urządzeń do noszenia na AndroidaX. Przeniesiona klasa została zmieniona na PhoneTypeHelper, co zapewnia pomocnicze metody określania typu telefonu, z którym jest sparowany bieżący zegarek. Te funkcje są używane tylko na urządzeniach do noszenia. (Ibd947)

  • Utwórz nową bibliotekę pomocy zawierającą zajęcia, które obsługują interakcje między urządzeniami do noszenia i telefonami. Początkowo zawiera on zajęcia przeniesione z biblioteki pomocy do noszenia. (I9deb4)

  • Przeprowadź migrację klasy WatchFaceCompanion z biblioteki pomocy do noszenia na AndroidaX. Przenoszona klasa zmienia nazwę na WatchFaceConfigIntentHelper, która udostępnia funkcje pomocnicze do określania identyfikatora i nazwy komponentu w aktywnościach konfiguracji tarczy zegarka w aplikacji towarzyszącej na telefonie. Można jej też używać lokalnie do konfigurowania tarczy zegarka na urządzeniu do noszenia. (Ia455f)

Widżety i tarcza zegarka 1.0.0

Wersja 1.0.0-alfa22

15 września 2021 r.

Aplikacja androidx.wear:wear-*:1.0.0-alpha22 została zwolniona. Wersja 1.0.0-alpha22 zawiera te zatwierdzenia.

Nowe funkcje

  • Edytujący sesję subskrybuje teraz obserwatorów cyklu życia, więc nie musisz już go zamykać, gdy Twoja aktywność przestanie działać.

Zmiany w interfejsie API

  • Edytor SessionSession i ListenableEditorSession używają teraz metody kotlin StateFlows na potrzeby complicationSlotsState, ComplicationsPreviewData i ComplicationsDataSourceInfo. (I761d9)
  • EditorSession#userStyle to teraz MutableStateFlow<UserStyle> (I32ca9)
  • Edytor EditorSession.createOnWatchEditorSession korzysta teraz z obserwatora cyklu życia i zamyka się automatycznie, gdy zaobserwuje onDestroy. Dodatkowo createOnWatchEditorSession wymaga teraz tylko przekazania działania. Identyczne zmiany zostały też zastosowane do elementu ListenableEditorSession. (Ic6b7f)
  • Konstruktor CustomValueUserStyleSetting został przywrócony jako część publicznego interfejsu API. (I2e69a)
  • UserStyle dziedziczy teraz dziedziczenie zasad z Map<UserStyleSetting, UserStyleSetting.Option>, a MutableUserStyleSetting#put zgłasza IllegalArgumentException, jeśli ustawienie nie znajduje się w schemacie lub jeśli opcja nie jest z nim zgodna. (Iba40f)

Wersja 1.0.0-alfa21

1 września 2021 roku

Aplikacja androidx.wear:wear-*:1.0.0-alpha21 została zwolniona. Wersja 1.0.0-alpha21 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Wszystkie publiczne interfejsy API tarczy zegarka, klienta, edytora i widżety używają teraz java.time.Błyskawiczne do czasu, a nie z długiego okresu, w związku z czym minimalny poziom interfejsu API wzrósł do 26. (I3cd48)
  • Interfejsy API tarczy zegarka i widżety używają teraz stałej strefy ZonedDateTime, a nie Kalendarza. (I25cf8)
  • ComplicationSlots jest teraz inicjowany z użyciem NoDataComplicationData, ComplicationSlot.complicationData zawsze ma wartość. CanvasComplicationDrawable.complicationData nie będzie już mieć wartości null. (I4dfd6). Eliminuje to (ale nie eliminuje) widżetów migotania podczas przełączania się między tarczami zegarka.

Wersja 1.0.0-alfa20

18 sierpnia 2021 r.

Aplikacja androidx.wear:wear-*:1.0.0-alpha20 została zwolniona. Wersja 1.0.0-alpha20 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Do obiektu ComplicationDataSourceInfo dodaliśmy funkcję createFallbackPreviewData, której można używać, gdy ComplicationDataSourceInfoRetriever.retrievePreviewComplicationData zwraca wartość null. (I38c4d)
  • Interfejs ComplicationDataSourceUpdateRequester został przekształcony w interfejs umożliwiający kpinowanie w testach jednostkowych. Można utworzyć konkretny obiekt ComplicationDataSourceUpdateRequester za pomocą funkcji ComplicationDataSourceUpdateRequester.create(). (I7da22)
  • Metoda RenderParameters.ratedComplicationSlotIds została zastąpiona przez parametr RenderParameters.lastComplicationTapDownEvents, który udostępnia nową klasę TapEvent zawierającą potrójną klasę x, Y kliknięcia w pikselach oraz sygnaturę czasową. Pole WatchFace.TapListener.onTap zostało zastąpione przez onTapEvent(@TapType tapType: Int, tapEvent: TapEvent). Poza tym InteractiveWatchFaceClient.displayPressedAnimation została usunięta. (Id87d2)
  • Dodano adnotację dotyczącą podziału na wątki dla funkcji setimportantForAccessibility (I990fa).
  • Wartość ComplicationSlotBoundsType została przeniesiona do androidx-wear-watchface.ComplicationSlotBoundsType w komponencie wear/wear-watchface. (I09420)
  • Dodaliśmy obsługę przekazywania identyfikatorów zasobów w formie ciągów znaków do parametrów UserStyleSetting i Opcje. Jest to obecnie zalecany sposób tworzenia tych obiektów. (I03d5f)
  • Maksymalny rozmiar przewodu w schemacie UserStyle jest objęty ograniczeniami. Ikony w schemacie nie mogą być większe niż 400 x 400 pikseli. (I3b65b)
  • Dodaliśmy klasę MutableUserStyle, aby obsługiwać zmiany w instancjach UserStyle (I95a40).
  • Zmieniliśmy nazwę grupy ListenableWatchFaceMetadataClient.Companion#listenableCreateWatchFaceMetadataClient na ListenableWatchFaceMetadataClient.Companion#createListenableWatchFaceMetadataClient. (I64ce2)
  • Zmodyfikowaliśmy EdytorState.previewComplicationsData, aby zawierał tylko dane dotyczące włączonych widżetów. Dodaliśmy też EditorSession.DEFAULT_PREVIEW_TIME_MILLIS, który, jeśli zostanie przekazany do metody renderWatchFaceToBitmap, lub PreviewScreenshotParams żąda renderowania z domyślnym czasem podglądu tarczy zegarka. (If7b3c)
  • Usunęliśmy konstruktory UserStyleSetting odbierające CharSequence z publicznego interfejsu API. Zalecamy używanie konstruktorów, które wymagają identyfikatorów StringResource. (I8537b)
  • CurrentUserStyleRepository.UserStyleChangeListener obsługuje teraz konwersję SAM. (I85989)

Wersja 1.0.0-alfa19

4 sierpnia 2021 r.

Aplikacja androidx.wear:wear-*:1.0.0-alpha19 została zwolniona. Wersja 1.0.0-alfa19 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodaliśmy kod ListenableWatchFaceMetadataClient.listenableCreateWatchFaceMetadataClient, który zapewnia koder ListenableFuture dla komponentu WatchFaceMetadataClient.createWatchFaceMetadataClient. (I5fa37)
  • UserStyleOption.getOptionForId akceptuje teraz UserStyleOption.Id zamiast tablicy bajtów. (I469be)
  • Podaj stałe BooleanOption.TRUE i BooleanOption.FALSE i nie zezwalaj na tworzenie instancji (I46e09)
  • Metody w wear-watchface-client, które mogą zgłaszać zdalny wyjątek, mają teraz odpowiednie adnotacje. (Ib8438)
  • Aby zachować spójność, zmieniliśmy nazwę społeczności EditorSession.createOnWatchEditingSession na createOnWatchEditorSession. Podobnie createHeadlessEditingSession to teraz createHeadlessEditorSession. Zmieniły się również nazwy opakowań z gujawy. (I1526b)
  • EditorSession jest teraz interfejsem, a ListenableEditorSession.commitChangesOnClose jest teraz prawidłowo delegowany. (I7dc3e)
  • Odrzucamy teraz wszystkie schematy stylów użytkownika, które zawierają ustawienia lub opcje o sprzecznych identyfikatorach (Ic2715)
  • Dodaliśmy przeciążenie UserStyle.get, które akceptuje UserStyleSetting.Id. (I2aa0f).

Wersja 1.0.0-alfa18

21 lipca 2021 r.

Aplikacja androidx.wear:wear-*:1.0.0-alpha18 została zwolniona. Wersja 1.0.0-alfa18 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Przenieśliśmy ComplicationHelperActivity do biblioteki androidx.wear:wear-watchface. (I39e76)
  • Aby zachować spójność i przejrzystość, nazwa ComplicationProvider została zmieniona na ComplicationDataSource, a wszystkie zajęcia, które mają w nazwie Dostawcy, też mają taką samą nazwę. (Iaef0b)
  • Domena CanvasComplication.isHighlighted została przeniesiona do: RenderParameters.pressedComplicationSlotIds. To krok w stronę bezstanowego: CanvasComplication. Aby umożliwić obsługę tej zmiany, CanvasComplication.render przyjmuje teraz także parametr slotId jako parametr, a ComplicationSlot przekazujemy do GlesTextureComplication. (I50e6e)
  • Do interfejsu EditorRequest dodaliśmy parametr headlessDeviceConfig. Jeśli nie ma on wartości null, ten parametr jest używany do tworzenia instancji bez interfejsu graficznego w celu udzielenia zgody na działanie edytora EditorSession zamiast działania na instancji interaktywnej. Dzięki temu można wywołać edytor dla innej tarczy zegarka. (I0a820)
  • Dodaliśmy eksperymentalną funkcję WatchFaceMetadataClient, która umożliwia sprawne pobieranie statycznych metadanych tarczy zegarka, takich jak UserStyleSchema i poprawione szczegóły na temat: ComplicationSlots. (I6bfdf)
  • Zmieniliśmy nazwę grupy CanvasRenderer.uiThreadInit na init. (I6fff9)
  • Dodaliśmy parametr PreviewScreenshotParams – opcjonalny nowy parametr obiektu EditorRequest, który nakazuje wykonanie zrzutu ekranu podglądu po zatwierdzeniu z tym parametrem. Obraz podglądu jest widoczny EditorState.previewImage. (Ic2c16)

Poprawki błędów

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

Wersja 1.0.0-alfa17

30 czerwca 2021 r.

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

Nowe funkcje

  • W GlesRenderer zasady makeUiThreadContextCurrent i makeBackgroundThreadContextCurrent zostały zastąpione przez runUiThreadGlCommands i runBackgroundThreadGlCommands, które akceptują dokument Runnable. Biblioteka zapewnia, że w danym momencie może być wykonywane tylko jedno polecenie GL.

  • Aby ułatwić inicjowanie interfejsu UiThread, dodaliśmy element CanvasRenderer.uiThreadInit, który jest wywoływany w UiThread raz przed każdym wywołaniem renderowania. Dodaliśmy też onRendererCreated do CanvasComplication, aby ułatwić użytkownikom Renderer i CanvasComplication udostępnianie ich stanu.

  • Aby uniknąć wątpliwości: nazwa Complication została zmieniona na ComplicationSlot, a complicationId na complicationSlotId lub complicationInstanceId w zależności od sposobu korzystania.

Zmiany w interfejsie API

  • Aby rozwiać wszelkie wątpliwości, zmieniliśmy nazwę Complication na ComplicationSlot, a complicationId na complicationSlotId lub complicationInstanceId w zależności od sposobu użytkowania. Klasy korzystające z komplikacji zmieniły nazwę w podobny sposób, np. ComplicationsManager nosi teraz nazwę ComplicationSlotsManager. (I4da44)
  • W narzędziu GlesRenderer funkcje makeUiThreadContextCurrent i makeBackgroundThreadContextCurrent zostały zastąpione przez runUiThreadGlCommands i runBackgroundThreadGlCommands, które akceptują Runnable. Te funkcje są potrzebne tylko wtedy, gdy musisz wykonywać wywołania GL poza renderowaniem, runBackgroundThreadGlCommands i onUiThreadGlSurfaceCreated. Jest to wymagane, ponieważ w tym samym procesie może istnieć wiele mechanizmów GlesRenderer, z których każdy może mieć własny kontekst, potencjalnie pochodzący z różnych tarcz zegarka. Oprócz tego zsynchronizowany jest także dostęp do bieżącego udostępnionego kontekstu globalnego. (I04d59)
  • Dodaliśmy tag CanvasRenderer.uiThreadInit, który jest wywoływany w UiThread jeden raz przed każdym wywołaniem renderowania. Aby uniknąć wątpliwości w GlesRenderer, zmieniliśmy nazwę języka onGlContextCreated na onBackgroundThreadGlContextCreated i onGlSurfaceCreated na onUiThreadGlSurfaceCreated. (If86d0)
  • Nazwa aplikacji HeadlessWatchFaceClient i InteractiveWatchFaceClient getComplicationsSlotState została zmieniona na getComplicationSlotsState. W ComplicationSlot: nazwy createRoundRectComplicationBuilder, createBackgroundComplicationBuilder i createEdgeComplicationBuilder zostały zmienione odpowiednio na createRoundRectComplicationSlotBuilder, createBackgroundComplicationSlotBuilder i createEdgeComplicationSlotBuilder. (Ib9adc)
  • Do aplikacji CanvasComplication dodaliśmy funkcję onRendererCreated, która ułatwia udostępnianie stanu przez mechanizmy renderowania i Cancomplication. (I5e1ac)

Wersja 1.0.0-alfa16

16 czerwca 2021 r.

Aplikacja androidx.wear:wear-*:1.0.0-alpha16 została zwolniona. Wersja 1.0.0-alfa16 zawiera te zatwierdzenia.

Nowe funkcje

  • Naprawiliśmy wiele błędów związanych z ostatnimi zmianami w modelu wątków oraz naprawiliśmy inne problemy związane z edytorem tarczy zegarka.

Poprawki błędów

  • Zapobiegaj NPE w onComplicationProviderChooserResult (b/189594557)
  • Rozwiązywanie problemów z nieaktualnymi powierzchniami i drewnianymi plusami (b/189452267)
  • Rozwiąż problem z dostępem do domeny complicationsManager.watchState (b/189457893)
  • Naprawianie błędu dotyczącego czasu trwania wątku w tle (b/189445428)
  • Rozwiązywanie problemów z edytorem tarczy zegarka Pre-R (b/189126313)
  • Nie aktualizuj parametrów rozruchu bezpośredniego w przypadku zmiany stylu edytora (b/187177307)

Wersja 1.0.0-alfa15

2 czerwca 2021 r.

Aplikacja androidx.wear:wear-*:1.0.0-alpha15 została zwolniona. Wersja 1.0.0-alpha15 zawiera te zatwierdzenia.

Nowe funkcje

Większość inicjowania tarcz zegarka odbywa się teraz w wątku w tle, ale po wczytaniu całego mechanizmu renderowania tarcz zegarka itp. odbywa się to w interfejsie UiThread. Między wczytywaniem a renderowaniem istnieje bariera pamięci, dzięki której większość użytkowników nie musi robić niczego specjalnego. Tarcze zegarka korzystające z GLES mogą stanowić wyjątek, ponieważ kontekst jest związany z wątkami, a my tworzymy 2 powiązane konteksty, dzięki czemu można przesyłać zasoby GL (np. tekstury i shaki) w wątku w tle i używać ich w interfejsie UiThread.

Konstrukcję tarcz zegarka podzieliliśmy na 3 funkcje: createUserStyleSchema, createComplicationsManager i createWatchFace. Zakładamy, że elementy createUserStyleSchema i createComplicationsManager są szybkie, a załadowanie zasobów createWatchFace może zająć trochę czasu. Dlatego wprowadziliśmy funkcję WatchFaceControlClient.getDefaultProviderPoliciesAndType, która zwraca mapę identyfikatorów widżetów do domyślnego atrybutu ComplicationType. To szybsze niż utworzenie instancji bez interfejsu graficznego, ponieważ nie wymaga ona pełnego inicjowania tarczy zegarka do wykonania zapytania.

Na koniec widżety są teraz tworzone w narzędziu CanvasComplicationFactory, które umożliwia leniwe tworzenie mechanizmów renderowania CanvasComplication.

Zmiany w interfejsie API

  • Tekst @TargetApi został zamieniony na @RequiresApi. (I0184a, b/187447093, b/187447094)
  • Wprowadziliśmy WatchFaceControlClient.getDefaultProviderPoliciesAndType, który zwraca mapę identyfikatorów komplikacji do DefaultComplicationProviderPolicies i domyślną wartość ComplicationType. Tam, gdzie to możliwe, używana jest szybka ścieżka, która pozwala uniknąć pełnego utworzenia tarczy zegarka. Aby to ułatwić, interfejs API WatchFaceService musiał się zmienić. Wprowadziliśmy 2 nowe metody: createUserStyleSchema i createComplicationsManager, których wyniki są przekazywane do createWatchFace. Dodatkowo komplikacje są teraz tworzone w narzędziu CanvasComplicationFactory, które umożliwia leniwe tworzenie mechanizmów renderowania CanvasComplication. (Iad6c1)
  • Usunęliśmy MOST_TIMEZONE_APP z SystemProviders. (I3df00).
  • ObservableWatchData jest teraz zapieczętowaną klasą. (IC940d)
  • Element CanvasComplicationFactory.create (zwykle powiązany z io) jest teraz wywoływany w wątku w tle dla każdego widżetu przed rozpoczęciem renderowania wątku interfejsu użytkownika. Między konstrukcją a renderowaniem istnieje bariera pamięci, dzięki czemu nie trzeba używać specjalnych podstawowych elementów podstawowych z wątkami. (Ia18f2).
  • Konstrukcja tarczy zegarka jest teraz wykonywana w wątku w tle, chociaż całe renderowanie odbywa się w wątku interfejsu użytkownika. GlesRenderer obsługuje 2 połączone konteksty. Rozwiązanie WatchFaceControlClient.createHeadlessWatchFaceClient i WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient może zostać rozwiązanych przed zakończeniem działania aplikacji WatchFaceService.createWatchFace. Kolejne wywołania interfejsu API będą blokowane do momentu zakończenia inicjowania watchFace. (Id9f41).
  • EXPANSION_DP i STROKE_WIDTH_DP nie są już widoczne w api.txt. (I54801)
  • W przypadku wystąpienia błędu zamiast wysłania pustej sesji zastosowaliśmy funkcję EditorSession.createOnWatchEditingSession do zgłaszania wyjątku TimeoutcancelException. Dodatkowo wartość zwracana przez interfejsy EditorRequest.createFromIntent i EditorSession.createOnWatchEditingSession to teraz NonNull. (I41eb4)

Wersja 1.0.0-alfa14

18 maja 2021 r.

Aplikacja androidx.wear:wear-*:1.0.0-alpha14 została zwolniona. Wersja 1.0.0-alfa14 zawiera te zatwierdzenia.

Nowe funkcje

  • Funkcja EditorSession.openComplicationProviderChooser zwraca teraz wartość ChosenComplicationProvider, która zawiera identyfikator widżetu (ComplicationProviderInfo) oraz pakiet zawierający wszelkie dodatkowe dodatki zwrócone przez funkcję wyboru dostawcy.
  • Stopniowo przenosimy kod do Kotlin i większość interfejsu API tarcz zegarka jest teraz zdefiniowana w Kotlin.

Zmiany w interfejsie API

  • Właściwości GlesRenderer eglContext i eglDisplay nie mogą teraz zawierać wartości null. Błędy GL są teraz zgłaszane przez GlesRenderer.GlesException, a nie przez klasyfikacje RuntimeException. (IB1005)
  • Przenieśliśmy usługę androidx.wear.watchface.complications.rendering.ComplicationDrawable z języka Javy do Kotlin (Ibc3eb)
  • Przenieśliśmy usługę androidx.wear.watchface.complications.rendering.ComplicationStyle z języka Javy do Kotlin (I3375e)
  • Dodaliśmy informacje o dostawcy poszczególnych widżetów w Edytorze. (I37f14)
  • Rozszerzyliśmy zakres wyniku EditorSession.openComplicationProviderChooser o informacje zwrócone przez wybrane osoby. (Iead6d)

Widżety na Wear i tarcza zegarka w wersji 1.0.0-alfa13

5 maja 2021 roku

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

Nowe funkcje

  • Tarcze zegarka nie tylko wyświetlają czas i widżety, ale też mogą zawierać ważne elementy wizualne. Aby umożliwić korzystanie z tej funkcji przez czytnik ekranu, tarcza zegarka może teraz określać ułatwienia dostępu ContentDescriptionDescription w ramach dodatkowej właściwości mechanizmu renderowania. Oprócz tego do widżetów dodano funkcję AccessibilityTraversalIndex w celu kontrolowania kolejności obiektów ContentDescriptionLabels. To ustawienie można zmienić przez ComplicationsUserStyleSetting.

  • Aby zachęcić programistów do starannego rozważenia zakupu czytników ekranu, dodaliśmy do konstruktorów obowiązkowe pola ShortTextComplicationData.Builder, LongTextComplicationData.Builder i RangedValueComplicationData.Builder contentDescription. Jeśli przekażesz atrybut ComplicationText.EMPTY w przypadku elementu contentDescription, na podstawie tekstu i tytułu zostanie automatycznie wygenerowany contentDescription.

  • WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient teraz zwraca ServiceStartFailureException, jeśli tarcza zegarka zgłasza wyjątek podczas inicjowania, co znacznie ułatwia diagnozowanie problemów podczas uruchamiania tarczy.

Zmiany w interfejsie API

  • W komponencie ComplicationProviderInfo dodaliśmy obsługę o wartości null nazwy komponentu, która jest niezbędna na potrzeby obsługi starszych wersji Wear OS. (I744d2)
  • Przenieśliśmy androidx.wear.complications.SystemProviders z języka Java do Kotlin. (Ia1f8b)
  • Ukryliśmy wszystkie klasy w publicznym interfejsie API, które znajdują się w android.support.wearable.complications, i w razie potrzeby utworzyliśmy odpowiednie otoki w AndroidzieX. (I7bd50)
  • Zmieniliśmy nazwę metody w TimeDifferenceComplicationText.Builder z setMinimumUnit na setMinimalTimeUnit. (I20c64)
  • Pole ShortTextComplicationData.Builder, LongTextComplicationData.Builder i RangedValueComplicationData.Builder contentDescription musi być przekazywane w konstruktorze. (I8cb69)
  • Zmieniliśmy nazwę ComplicationProviderService.onComplicationUpdate na onComplicationRequest i uwzględniliśmy parametr id i typu tej metody w data ComplicationRequest. Nazwa powiązanego detektora została zmieniona na ComplicationRequestListener i jej metodę ComplicationRequestListener.onComplicationData. (Iaf146)
  • Usunęliśmy metodę isActiveAt z tabeli ComplicationData i zamiast niej ujawniliśmy pole validTimeRange. To wywołanie metody można zastąpić funkcją validTimeRange.contains. (I65936)
  • Zmieniliśmy opis metody ComplicationProviderService.onComplicationActivated, aby możliwe było otrzymywanie obiektu ComplicationType zamiast typu int. (Idb5ff)
  • Przeniesiono ProviderUpdateRequester z Javy do Koltin. (Ibce13).
  • Komponent GlesRender.makeContextCurrent jest teraz publiczny. Kod tarczy zegarka może wymagać wykonania połączeń w GL poza renderowaniem i funkcją onGlContextCreated. Wywołanie tego zdarzenia może wymagać kontekstu zarówno interaktywnego, jak i bez interfejsu graficznego. (I8a43c)
  • WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient zgłasza teraz wyjątek ServiceStartFailureException, jeśli tarcza zegarka zgłasza podczas inicjowania. Dodatkowo WatchFaceService zgłasza wyjątek, jeśli funkcja createWatchFace trwa dłużej niż 6 sekund. (I59b2f)
  • Usunęliśmy nieużywaną właściwość id elementu GlesTextureComplication. (I28958)
  • Tarcza zegarka może teraz określać etykiety ContentDescriptionDescription o ułatwieniach dostępu za pomocą właściwości dodatkowej Renderer. Widżety umożliwiają nie tylko kontrolowanie kolejności elementów ContentDescriptionDescription, których etykieta została dodana do widżetów. To ustawienie można zmienić przez ComplicationsUserStyleSetting. (Ib7362)
  • Rozwiń dokumentację obsługi zdarzeń dotknięcia na tarczy zegarka. (Iaf31e)

Poprawki błędów

  • Funkcja EditorSession.getComplicationsPreviewData() zwraca teraz mapę w przypadku wszystkich widżetów, które nie są puste. Instancja EmptyComplicationData jest używana na potrzeby pustych widżetów. (I1ef7e)

Widżety na Wear i tarcza zegarka w wersji 1.0.0-alfa12

21 kwietnia 2021 r.

Aplikacja androidx.wear:wear-*:1.0.0-alpha12 została zwolniona. Wersja 1.0.0-alpha12 zawiera te zatwierdzenia.

Nowe funkcje

Edytory tarcz zegarka muszą zaznaczyć fragmenty, by dowiedzieć się, który aspekt zegarka jest konfigurowany. Poszerzyliśmy funkcję RenderParameters, aby umożliwić wyróżnianie stylów i widżetów. Dostępna jest nowa, opcjonalna warstwa podświetleń, którą można zamazać na tarczy zegarka z przezroczystością alfa (interfejsy API zrzutów ekranu mogą to zrobić za Ciebie, ale możesz też stworzyć warstwę wyróżnienia osobno, aby zapewnić jak największą elastyczność). Załóżmy, że korzystasz ze stylu, który pozwala skonfigurować wygląd wskazówek zegarka, a mechanizm renderowania w interfejsie renderowania w warstwie wyróżnienia może narysować wokół nich kontur.

Aby ułatwić korzystanie z komplikacji dostawców ułatwień dostępu, utworzyliśmy pola PhotoImageComplicationData.Builder, MonochromaticImageComplicationData.Builder i SmallImageComplicationData.Builder jako wymagany argument konstruktora. Dodaliśmy ComplicationTapFilter i Complication.createEdgeComplicationBuilder do obsługi widżetów na krawędziach ekranu (rysowanych wokół krawędzi ekranu). Renderowanie i testowanie widżetów znajdziesz tylko na tarczy zegarka. Edytor towarzyszący nie obsługuje testowania trafień brzegowych.

Zmiany w interfejsie API

  • Do stałych w SystemProvider dodano prefiks PROVIDER_. (I1e773)
  • Pole PhotoImageComplicationData.Builder, MonochromaticImageComplicationData.Builder i SmallImageComplicationData.Builder jest obowiązkowe. Należy je przekazywać w konstruktorze.contentDescription (I9643a)
  • Nazwa konta ProviderInfoRetriever.requestPreviewComplicationData została zmieniona na retrievePreviewComplicationData. (I911ee).
  • Przeniesiono ComplicationProviderService z języka Java do Koltin. (I849f2)
  • Metoda ComplicationProviderService.onBind jest teraz ostateczna (I39af5)
  • Przywróciliśmy interfejs CanvasComplication i przenieśliśmy CanvasComplicaitonDrawable, GlesTextureComplication oraz ComplicationHighlightRenderer do wear-watchface-complications-rendering. (I84670)
  • Aplikacja RenderParameters została zmodyfikowana, by umożliwić obsługę rozszerzonego renderowania najciekawszych momentów. Możesz teraz poprosić o wyrenderowanie podświetlenia stylów, a także wszystkich widżetów lub pojedynczych widżetów. Dodatkowo wprowadziliśmy CanvasRenderer i GlesRenderer w celu wprowadzenia nowej, abstrakcyjnej metody render SpotlightLayer, umożliwiającej renderowanie wszelkich podświetleń żądanych przez edytor. Nazwa warstwy została zmieniona na WatchFaceLayer. (Ic2444)
  • Aplikacje ComplicationTapFilter i Complication.createEdgeComplicationBuilder zostały dodane do obsługi widżetów brzegowych. Renderowanie i testowanie widżetów znajdziesz tylko na tarczy zegarka. Testy działań nie są obsługiwane w edytorach. (Ia6604)
  • W przypadku aplikacji DoubleRangeUserStyleSetting i LongRangeUserStyleSetting: defaultValue, maximumValue i minimumValue to teraz usługi kotlin. Oprócz tego zostały usunięte funkcje UserStyleSetting.Option, takie jak toBooleanOption, toCoplicationOptions, toListOption i podobne. (I52899)
  • Dodaj rozmiar podbródka do właściwości urządzenia dostępnego dla tarczy zegarka. (I76e1e)
  • Konstruktor ComplicationHighlightRenderer akceptuje teraz parametry outlineExpansion i outlineStrokeWidth. (I87009)
  • ComplicationDrawable.getNoDataText jest teraz częścią publicznego interfejsu API. (I00598)

Wersja 1.0.0-alfa11

7 kwietnia 2021 r.

Aplikacja androidx.wear:wear-*:1.0.0-alpha11 została zwolniona. Wersja 1.0.0-alpha11 zawiera te zatwierdzenia.

Nowe funkcje

  • Dopracowaliśmy interfejsy API tarczy zegarka. Większość zmian to proste zmiany nazw, ale InteractiveWatchFaceWcsClient i InteractiveWatchFaceSysUiClient zostały scalone w InteractiveWatchFaceClient.

Zmiany w interfejsie API

  • ContentDescriptionLabel.text to teraz ComplicationText, a nie starą bibliotekę pomocy do urządzeń do noszenia TimeDependentText. (I80c03)
  • Nie możemy zagwarantować, że aplikacja SystemProviders.GOOGLE_PAY będzie dostępna na wszystkich urządzeniach z Androidem R, dlatego została usunięta z listy. Nadal można korzystać z usług tego dostawcy w usłudze DefaultComplicationProviderPolicy (If01b5)
  • Aby zachować spójność, zmieniliśmy nazwę ComplicationUpdateCallback na ComplicationUpdateListener. (I61ec7)
  • Mapa formatu przewodu UserStyle została zmieniona na Map<String, byte[]>. Dla ułatwienia do publicznego interfejsu API została dodana klasa UserStyleData, która jest teraz używana przez wear-watchface-client i wear-watchface-editor. Dodatkowo parametr CustomValueUserStyleSetting.CustomValueOption.value ma teraz wartość byte[] zamiast String. (Iaa103)
  • Do przechowywania identyfikatorów funkcji UserStyleSetting i UserStyleSetting.Option stosowane są teraz odpowiednio UserStyleSetting.Id i UserStyleSetting.Option.Id, a nie ciąg znaków. (I63f72)
  • Nazwa konta InteractiveWatchFaceClient.SystemState została zmieniona na WatchUiState. (I6a4e0)
  • Kolumny InteractiveWatchFaceWcsClient i InteractiveWatchFaceSysUiClient zostały scalone, ponieważ trudno było wyjaśnić sposób podziału odpowiedzialności (Iff3fa)
  • Zmieniliśmy nazwy wartości warstw z wynikami, aby zwiększyć ich przejrzystość. Layer#TOP_LAYER to teraz Layer#COMPLICATIONS_OVERLAY, a Layer#BASE_LAYER to teraz Layer#BASE (Ia144e)
  • Nazwa usługi UserStyleListener została zmieniona na UserStyleChangeListener (I18524)
  • Nazwa usługi UserStyleRepository została zmieniona na CurrentUserStyleRepository (I6ea53)
  • Nazwa konta InteractiveWatchFaceWcsClient.updateInstance została zmieniona na updateWatchfaceInstance. (I321dc)
  • Zmieniliśmy nazwy zdarzeń WatchFace TapType, aby dopasować je do MotionEvents / Compose. (I0dfd0).
  • Nazwa TakeWatchfaceScreen została zmieniona na renderWatchFaceToBitmap, a TakeComplicationSCREEN na renderComplicationToBitmap (Ie0697).
  • Interfejs CanvasComplication został usunięty i zastąpiony otwartym klasą CanvasComplicationDrawable. (I1f81f)
  • Interfejs WatcfaceControlServiceFactory został usunięty z publicznego interfejsu API. (I1f8d3)
  • Zmieniliśmy nazwę grupy CanvasComplication.setData na CanvasComplication.loadData. (If1239)
  • Nazwa konta ComplicationsManager.bringAttentionToComplication została zmieniona na displayPressedAnimation. (Ic4297)
  • WatchFaceService.createWatchFace ma teraz adnotację @UiThread. (Ib54c2)
  • Aby naprawić błąd, zmieniliśmy nazwę parametru CanvasComplicationDrawable. (I50dac)
  • Dodaliśmy HeadlessWatchFaceClient.toBundle() i HeadlessWatchFaceClient.createFromBundle, aby umożliwić wysyłanie HeadlessWatchFaceClient przez AIDL. (I07c35)
  • Rozwiązania HeadlessWatchFaceClient i InteractiveWatchFaceClient teraz zawierają funkcje ClientDisableListener i isConnectionAlive(), które umożliwiają sprawdzanie, czy połączenie nie zostało przerwane z jakiegoś powodu (np. z powodu przerwania tarczy zegarka). (IE446d)
  • WatchFaceControlClient#getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync to teraz funkcja zawieszania, a jej nazwa to getOrCreateInteractiveWatchFaceClient. (Ib745d)
  • Nazwa aplikacji EditorState.commitChanges i hasCommitChanges() została zmieniona na shouldCommitChanges(). (I06e04).
  • Nazwa aplikacji previewComplicationData została zmieniona na previewComplicationsData, aby wskazać, że na mapie znajduje się (zwykle) więcej niż 1 widżet. (I56c06)
  • Nazwa usługi InteractiveWatchFaceWcsClient.bringAttentionToComplication została zmieniona na displayPressedAnimation, aby zapewnić spójność z ComplicationsManager.displayPressedAnimation. (Ic9999)
  • Wszystkie wystąpienia identyfikatora instancji tarczy zegarka są zawarte w nowej klasie WatchFaceId (I45fdf).
  • Nazwa właściwości complicationState została zmieniona na complicationsState, aby wskazać liczbę mnogą. (Ided07)
  • Usunęliśmy różne konwersje Binder wear-watchface-client. (Icc4c0)
  • Aby zachować spójność, zmodernizowaliśmy funkcję EditorServiceClient, aby używać w niej detektorów, a nie obserwatorów. (Iec3a4)
  • Dodaliśmy kilka brakujących adnotacji (@Px) do stron InteractiveWatchFaceSysUiClient i WatchFaceControlClient. (I3277a)
  • W celu zachowania spójności została zmieniona nazwa interfejsu EditorObserverCallback na EditorObserverListener. (Ie572d)
  • Element EditorState.watchFaceInstanceId jest ograniczony do poziomu interfejsu API Androida R lub nowszego i nie może już mieć wartości null. (Id52bb).
  • Nazwa konta EditorSession.launchComplicationProviderChooser została zmieniona na openComplicationProviderChooser. (I9d441).
  • Nazwa EditorSession.createOnWatchEditingSessionAsync została zmieniona na createOnWatchEditingSession i jest teraz funkcją zawieszania. (Id257b)
  • Dodano kilka brakujących adnotacji @UiThread w EditorSession. (I6935c)
  • Nazwa konta UserStyleSetting.affectsLayers została zmieniona na affectedLayers. (I6e22b)

Wersja 1.0.0-alfa10

24 marca 2021 r.

Aplikacja androidx.wear:wear-*:1.0.0-alpha10 została zwolniona. Wersja 1.0.0-alpha10 zawiera te zatwierdzenia.

Nowe funkcje

  • Można teraz tworzyć otwarte obiekty gl (np. tekstury) podczas korzystania z WatchFaceService.createWatchFace, ponieważ GlesRenderer wymaga teraz jawnego wywołania initOpenGLContext, które można wykonać w ramach metody createWatchFace.

Zmiany w interfejsie API

  • Działanie IdAndComplicationData było nieco niezręczne i zostało usunięte z publicznego interfejsu API. Klasy i interfejsy, które z nich korzystały, zostały refaktoryzowane. (I4c928)
  • Zastąpiliśmy ReferenceTime elementami CountUpTimeReference i CountDownTimeReference, więc nie o to oczywiste. (Ib66c6)
  • Dodano brakujące adnotacje @Px i @ColorInt. (I9bbc3)
  • Complication.complicationConfigExtras nie może teraz zawierać wartości null i ma wartość domyślną Bundle.EMPTY. (Iad04f)
  • GlesRenderer wymaga teraz zadzwonienia pod numer initOpenGLContext po zakończeniu budowy. Ta funkcja była szczegółową funkcją wewnętrzną, ale teraz jest dostępna w publicznym interfejsie API, aby umożliwić wcześniejsze wywołania GL w metodzie createWatchFace. (I726c2)
  • Usunęliśmy rozszerzenie Complication.setRenderer, ponieważ nie powinno być potrzebne. (Ie992f)
  • Complicaiton.setComplicationBounds nie jest już częścią publicznego interfejsu API. Jeśli chcesz dostosować pozycję widżetu, możesz to zrobić w aplikacji ComplicationsUserStyleSetting. (Ibd9e5)
  • Nazwa konta ComplicationsManager.TapCallback.onComplicationSingleTapped została zmieniona na onComplicationTapped. (I3a55c)
  • Nazwa konta ComplicationOutlineRenderer.drawComplicationSelectOutline została zmieniona na drawComplicationOutline. (I14b88)

Wersja 1.0.0-alfa09

10 marca 2021 r.

Opublikowano androidx.wear:wear-complications-*:1.0.0-alpha09 i androidx.wear:wear-watchface-*:1.0.0-alpha09. Wersja 1.0.0-alpha09 zawiera te zatwierdzenia.

Nowe funkcje

  • Zmienił się interfejs między hostem WCS/SysUI a tarczą zegarka. Edytujący może teraz określić, czy zmiana stylu spowoduje włączenie, czy wyłączenie widżetu (włączone = początkowo włączone i dowolne zastąpienie z ComplicationsUserStyleSetting). W razie potrzeby EditorService.closeEditorumożliwia firmie SysUI zdalne zamknięcie edytora tarcz zegarka.
  • Oprócz tego InteractiveWatchFaceWcsClient.setUserStyle zawiera bardziej zaawansowane polecenie updateInstance, które za jednym razem zmienia identyfikator instancji, ustawia styl i usuwa komplikacje.

Zmiany w interfejsie API

  • Do bibliotek tarczy zegarka dodano element TraceEvents. (I1a141).
  • ComplicationState ma teraz nową właściwość initiallyEnabled, która przydaje się do przewidywania konsekwencji zmiany stylów. (I8c905)
  • Zastąpiliśmy InteractiveWatchFaceWcsClient.setUserStyle bardziej zaawansowanym poleceniem updateInstance, które: zmienia identyfikator instancji, ustawia styl i usuwa komplikacje. (Ife6f6)
  • Interfejsy API do zrzutów ekranu WatchFaceClient nie kompresują już zrzutów ekranu, ponieważ odbywało się to bardzo wolno. Zamiast tego przetwarzanie posta pozostawiamy elementowi wywołującemu. (Id35af)
  • Edytor tarczy zegarka możesz teraz zdalnie zamknąć w aplikacji EditorService.closeEditor. (Ic5aa4)
  • Dodano adnotacje dopuszczalności wartości null (Ic16ed).

Wersja 1.0.0-alfa08

24 lutego 2021 r.

Aplikacja androidx.wear:wear-*:1.0.0-alpha08 została zwolniona. Wersja 1.0.0-alpha08 zawiera te zatwierdzenia.

Nowe funkcje

  • Niektóre tarcze zegarka wykorzystują 1 lub więcej konkretnych widżetów, dlatego dodaliśmy w tym celu komponent Complication.Builder#setFixedComplicationProvider, który jeśli zasada ma wartość Prawda, uniemożliwia użytkownikowi zmianę widżetu w tym boksie.
  • Biblioteki tarcz zegarka zostały umieszczone na początku w języku Kotlin i używają współprogramów (np. funkcji zawieszania). Użytkownikom Javy udostępniliśmy kody aplikacji ListenableFuture, które pozwalają poprawić interoperacyjność w tych bibliotekach: wear/wear-watchface-guava, wear/wear-watchface-client-guava & wear/wear-watchface-editor-editor-guava.

Zmiany w interfejsie API

  • Usunęliśmy obsługę dwukrotnego kliknięcia w widżetach uruchamiających funkcję wyboru dostawcy. Ta funkcja nie była zbyt powszechna w tarczach zegarka i skomplikowana implementacja SysUI. (I3ef24)
  • Metody ProviderInfoRetriever mogą zgłosić wyjątek ServiceOdłączedException, jeśli powiązanie zostanie nieoczekiwanie zamknięte. (Ib2cc4)
  • Od Androida 11 obowiązują ograniczenia dotyczące uruchamiania narzędzia ProviderChooser. Ponadto chcemy, aby edytory były tworzone przy użyciu nowej wersji wear-watchface-editor, aby aplikacja ComplicationHelperActivity została usunięta z publicznego interfejsu API. (Ib19c1)
  • Usunięcie metod statycznych ComplicationText na rzecz konstruktora. (Ibe399)
  • Wprowadziliśmy kody gujawy ListenableFuture do zawieszania w różnych metodach zawieszania biblioteki tarcz zegarka. (I16b2c)
  • Aby zwiększyć przejrzystość interfejsu API, dodaliśmy do parametru RenderParameters dodatkowy konstruktor, który nie wymaga odcienia, do użytku z trybami LayerMode innymi niż LayerMode.DRAW_OUTLINED. (I497ea)
  • Wcześniej metoda ListUserStyleSetting różniła się od drugiej, ponieważ miała argument domyślny. Teraz wszystkie konstruktory podklasy StyleSetting przyjmują wartość domyślną na końcu. (I9dbfd)
  • Zmieniony element CanvasComplication zawiera teraz ukrytą metodę, która ułatwia wdrożenie podklasy (I5b321).
  • Zrefaktoryzowaliśmy EdytorResult na rzecz nowej usługi EditorService i EditorSession.broadcastState() do strumieniowego przesyłania aktualizacji do obserwatora (zwykle SysUI). (Ic4370)
  • Niektóre tarcze są wbudowane w konkretny widżet i stanowią integralną część tarczy zegarka – użytkownika nie można skonfigurować. W ramach tej funkcji dodaliśmy Complication.Builder#setFixedComplicationProvider. (I4509e)
  • EditorRequest określa teraz nazwę pakietu, a nie KomponentName, ponieważ wyszukiwanie nazwy klasy edytora przez system SysUI było niewygodne. Potrzebujemy tylko nazwy pakietu. (Ib6814)

Wersja 1.0.0-alfa07

10 lutego 2021 r.

Aplikacja androidx.wear:wear-*:1.0.0-alpha07 została zwolniona. Wersja 1.0.0-alpha07 zawiera te zatwierdzenia.

Nowe funkcje

  • WatchFaceService.createWatchFace jest teraz funkcją zawieszania, co oznacza, że tarcza zegarka nie musi już blokować wątku interfejsu użytkownika podczas oczekiwania na operacje wejścia-wyjścia. W podobny sposób stosuj edytor do noszenia tarczy zegarka oraz dane dotyczące widżetów.

Zmiany w interfejsie API

  • Usuń zajęcia PhotoImage i używaj bezpośrednio ikony. (I8a70b)
  • Ujawnij atrybut validTimeRange of ComplicationData. (I91366)
  • Podkreślaj atrybuty przypominające obrazy. (I81700)
  • Dane dotyczące wear-watchface-editor i wear-complications-data zostały zmienione, aby używać funkcji zawieszania zamiast współprogramów. Kody Rx Java i Future Comppat będą wkrótce dostępne. (If3c5f)
  • ProviderInfoRetriever teraz zwraca wyjątek PreviewNotAvailableException, jeśli requestPreviewComplicationData nie może zwrócić danych podglądu z powodu problemów z połączeniem lub braku obsługi interfejsu API. (I4964d)
  • WatchFaceControlService::createWatchFaceControlClient jest teraz zawieszonym aukcją getOrCreateTapServiceBackedInteractiveWatchFaceWcsClient, nazywaną teraz getOrCreateTapServiceServiceBackedInteractiveWatchFaceWcsClientAsync powracającym Deferred<InteractiveWatchFaceWcsClient>. Wkrótce pojawią się kody kompatybilności z komponentami RX Java i Future. (I5d461)
  • Zmień nazwę społeczności CATEGORY_PROVIDER_CONFIG_ACTION na CATEGORY_PROVIDER_CONFIG. (I7c068)
  • Uwaga: createOnWatchEditingSession jest teraz funkcją zawieszonym, ponieważ tarcza zegarka jest czasami niedostępna dopiero krótko po rozpoczęciu działania edytora. (Ida9aa)
  • WatchFaceService.createWatchFace to teraz funkcja zawieszania, która umożliwia inicjowanie asynchroniczne. Wcześniej trzeba było zablokować wątek główny. (If076a)
  • UserStyle ma teraz operator tablicy. Dodaliśmy elementy pomocnicze przesyłania do UserStyle.Option. (I35036)
  • Naprawiliśmy błąd konstrukcyjny, który powodował, że wartości przewodów w elemencie UserStyle były zmieniane w niektórych niestabilnym ukrytym interfejsie API. (I8be09)
  • Dodaliśmy funkcję CustomValueUserStyleSetting, która umożliwia przechowywanie pojedynczego ciągu specyficznego dla aplikacji w obrębie klasy UserStyle. Domyślne edytory tarcz zegarka zignorują tę wartość. (Ic04d2)
  • Identyfikator instancji nie jest przekazywany w dodatkach intencji w wersjach R i starszych wersjach Androida Wear OS, których nie możemy uaktualnić. W związku z tym umożliwiamy teraz ustawienie identyfikatora InstancID na wartość null. (Id8b78).
  • EditorRequest zawiera teraz komponent edytora KomponentName, który jest ustawiony jako komponent w WatchFaceEditorContract.createIntent (I3cd06).
  • W edytorze tarczy zegarka zawarty jest teraz podgląd ComplicationData, który pozwala rozmówcy na zrobienie zrzutu ekranu po edycji. (I2c561)

Poprawki błędów

  • Dodano zastąpienia toString() do UserStyle, UserStyleSetting i UserStyleSchema, które ułatwiają pracę z tymi klasami. (I9f5ec)

Wersja 1.0.0-alfa06

27 stycznia 2021 r.

Aplikacja androidx.wear:wear-*:1.0.0-alpha06 została zwolniona. Wersja 1.0.0-alpha06 zawiera te zatwierdzenia.

Nowe funkcje

  • Wprowadziliśmy w bibliotece nowy edytor tarcz zegarka, który umożliwia deweloperom i potencjalnie producentom OEM tworzenie edytora stylów i widżet. SysUI wyśle intencję do tarczy zegarka, która użyje nowej klasy EditorSession, aby uzyskać dostęp do szczegółów WatchFace i zarejestrować wynik za pomocą Activity.setWatchRequestResult. Dodaliśmy w tym celu funkcję ProviderInfoRetriever.requestPreviewComplicationData, która umożliwia edytującym tarczę zegarka żądanie podglądu ComplicationData. Zaletą podglądu ComplicationData jest to, że w przeciwieństwie do aktualnych danych nie trzeba wyświetlać okien z uprawnieniami podczas renderowania edytora (uwaga: jeśli użytkownik wybierze dostawcę z odpowiednim uprawnieniem, i tak zostanie poproszony o przyznanie uprawnień).

Zmiany w interfejsie API

  • ComplicationProviderInfo zawiera teraz pole na nazwę komponentu Dostawca. Obsługa tego pola zostanie w późniejszym czasie dodana do WearOS, a tymczasem będzie mieć wartość null. (Id8fc4)
  • Dodaliśmy funkcję ProviderInfoRetriever.requestPreviewComplicationData, która umożliwia edytującym tarcze zegarka żądanie podglądu ComplicationData. Jest to przydatne, ponieważ widżety na żywo mogą wymagać uprawnień. Możesz teraz wyświetlać podgląd widżetów, które są nieaktywne. (I2e1df).
  • ComplicationManager jest teraz opcjonalnym parametrem konstruktora WatchFace. Kolejność argumentów została odpowiednio zmieniona. (I66c76)
  • Do kompilacji dodaliśmy opcjonalny pakiet, który, jeśli jest ustawiony, jest scalony z intencją wysłaną do uruchomienia działania selektora dostawcy. (Ifd4ad)
  • Dodaliśmy nową bibliotekę wear-watchface-editor, aby obsługiwać tarcze zegarka i edytory hostowane w systemie SysUi. SysUI uruchomi te edytory, wysyłając intencję. Usługa aktywności na tarczy zegarka może korzystać z nowej klasy EditorSession, aby uzyskać dostęp do szczegółowych informacji o zegarku i zapisać wynik za pomocą Activity.setWatchRequestResult. (I2110d)
  • Komponent LayerMode.DRAW_HIGHlightED nazywa się teraz LayerMode.DRAW_OUTLINED, a RenderParameters.highlightComplicationId to teraz RenderParameters.selectedComplicationId. Ta konsola umożliwia oprócz konturu wyróżnienie określonego widżetu. (I90a40)
  • Przyszłość zegarka WatchFaceControlClient.getOrCreateTapServiceBackedInteractiveWatchFaceWcsClient można teraz rozwiązać za pomocą wystąpienia ServiceStartFailureException, jeśli usługa ulegnie awarii podczas oczekiwania na utworzenie tarczy zegarka. (I0f509)
  • Edytor Session.complicationPreviewData to teraz ListenableFuture, ponieważ pobieranie tych danych jest procesem asynchronicznym. (Iead9d)

Poprawki błędów

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

Wersja 1.0.0-alfa05

13 stycznia 2021 r.

Aplikacja androidx.wear:wear-*:1.0.0-alpha05 została zwolniona. Wersja 1.0.0-alpha05 zawiera te zatwierdzenia.

Nowe funkcje

Tarcze często obsługują różne konfiguracje widżetów z różną liczbą wyświetlanych widżetów. Aby ułatwić konfigurację, teraz obsługujemy wstępnie wyłączone widżety przez wywołanie setEnabled(false) w konstruktorze. Można je później włączyć za pomocą ComplicationsUserStyleSetting.

Zmiany w interfejsie API

  • ComplicationHelperActivity akceptuje teraz Collection<ComplicationType>, a nie tablicę int, co ułatwia korzystanie z niej. (I1f13d).
  • ProviderInfoRetriever.retrieveProviderInfo zwraca teraz poprawnie wartość ListenableFuture<ProviderInfo[]>. (If2710)
  • Możesz teraz utworzyć widżet, który początkowo był wyłączony, wywołując w konstruktorze funkcję setEnabled(false). (Idaa53)
  • Zegarek WatchFaceState ma teraz właściwość isHeadless, która obowiązuje tylko w przypadku instancji bez interfejsu graficznego. (Ifa900)
  • ComplicationDrawable obsługuje teraz synchroniczne ładowanie elementów rysowalnych. Jest on używany przez interfejsy API do zrzutów ekranu. (I34d4a)

Wersja 1.0.0-alfa04

16 grudnia 2020 roku

Aplikacja androidx.wear:wear-*:1.0.0-alpha04 została zwolniona. Wersja 1.0.0-alpha04 zawiera te zatwierdzenia.

Nowe funkcje

  • Biblioteka tarczy zegarka z Wear obsługuje teraz granice według typu. Możesz na przykład przełączyć się na szeroką ramkę ograniczającą dla ComplicationType.LONG_TEXT, a mniejszą – mniejszą w przypadku innych typów.

Zmiany w interfejsie API

  • Komplikacje korzystają teraz z komponentu ComplicationBounds, który obejmuje obiekt Map<ComplicationType, RectF> w celu obsługi poszczególnych rozmiarów widżetów. (I1ebe7).
  • RenderParameters pozwala teraz określić odcień podświetlenia do użycia na zrzutach ekranu. (Iff42b)
  • Poza granicami do modyfikowania widżetów musisz teraz używać ComplicationsUserStyleSetting. Ma to na celu zapewnienie synchronizacji systemu operacyjnego. (I8dc5d)
  • Mechanizm renderowania jest teraz zapieczętowaną klasą. Oznacza to, że CanvasRenderer i GlesRenderer są teraz wewnętrznymi klasami mechanizmu renderowania. (Iab5d4, b/173803230)
  • Nazwa CanvasComplicationDrawable.draw dobę została zmieniona na DrawOutline. W observableWatchData brakuje kilku adnotacji UiThread. Aplikacja ScreenState została w pełni usunięta z zegarka WatchState. (If1393)
  • Minimalny poziom API dla tarczy zegarka to teraz 25. Uwaga: obsługa kanwy sprzętowej wymaga interfejsu API na poziomie 26 lub wyższym. (Ic9bbd)
  • InteractiveWatchFaceWcsClient ma teraz pomocniczą getComplicationIdAt. (I05811).
  • Poziom API dla aplikacji wear-watchface-client został zmniejszony do 25, ale interfejsy API zrzutów ekranu wymagają interfejsu API na poziomie 27. (Id31c2).

Poprawki błędów

  • Teraz ujawniamy obecny typ ComplicationType komponentu ComplicationType w kompleksie ComplicationState. (I9b390)
  • InteractiveWatchFaceWcs ma teraz metodę „bringAttentionToComplication”, która krótko wyróżnia określony widżet. (I6d31c)
  • InteractiveWatchFaceWcsClient#setUserStyle ma teraz przeciążenie akceptujące atrybut Map<string, string="">, co pozwala uniknąć dodatkowego przesyłania IPC w obie strony niezbędnego do utworzenia klasy UserStyle. (I24eec)</string,>

Wersja 1.0.0-alfa03

Grudzień 2, 2020

Aplikacja androidx.wear:wear-*:1.0.0-alpha03 została zwolniona. Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.

Nowe funkcje

Klasa Complication zawiera teraz właściwość compicationData, która pozwala tarczom zegarka obserwować zmiany w kompleksie ComplicationData. W ten sposób możesz zmienić wymiary widżetu w zależności od jego typu.

Zmienne liczby klatek są teraz obsługiwane przez przypisanie do metody Renderer.interactiveDrawModeUpdateDurationMillis. W przypadku tarcz zegarka, które wyświetlają krótkie animacje co sekundę, może to prowadzić do oszczędności energii, ponieważ przejście w tryb uśpienia bez animacji.

Zmiany w interfejsie API

  • Nazwa zajęć BACKGROUND_IMAGE została zmieniona na PHOTO_IMAGE wraz z powiązanymi zajęciami. Ten rodzaj widżetu nie jest używany wyłącznie do tworzenia tła, dlatego zmieniła się jego nazwa. (I995c6)
  • Domyślna adnotacja wartości DefaultComplicationProviderPolicy w obiekcie IntDefs. (I3b431)
  • Ukryta klasa TimeDependentText nie jest już wyświetlana przez ContentDescriptionLabel. Zamiast tego dodajemy akcesor, który pobiera tekst w określonym momencie. (Ica692)
  • Konstruktor ObservableWatchData jest teraz wewnętrzny. (I30121, b/173802666)
  • Widżet zawiera teraz compicationData, dzięki którym tarcze zegarka mogą obserwować zmiany w ComplicationData. Widżet ma też nowe wywołanie isActiveAt, które pozwala określić, czy coś ma być renderowane w podanej dacie i godzinie. (Ic0e2a)
  • Pusta wartość SharedMemoryImage nie występuje już w publicznym interfejsie API. (I7ee17)
  • WatchFace.overridePreviewReferenceTimeMillis ma teraz adnotację IntRange, a metody getter i seter mają spójne nazwy. (Ia5f78)
  • Aby zwiększyć przejrzystość pliku Complication.Builder, tworzony jest teraz za pomocą Complication.createRoundRectComplicationBuilder lub Complication.createBackgroundComplicationBuilder (I54063)
  • Dodano funkcję WatchFace.TapListener, która umożliwia śledzenie przez zegarek kliknięć nieużywanych widżetów przez widżety. (Ic2fe1, b/172721168)
  • Zegarek WatchFace obsługuje teraz zmienną liczbę klatek przez przypisanie do kategorii Renderer.interactiveDrawModeUpdateDelayMillis. Może to pomóc wydłużyć czas pracy baterii, ponieważ użytkownik jest uśpiony, gdy nie korzysta z animacji. (I707c9)
  • Obiekt WatchFace.Builder nie jest już potrzebny. Przeniesiono do mechanizmu renderowania unieważnienie() i interaktywną wartośćUpdateRateMillis. (I329ea)
  • Aby usprawnić interoperacyjność z Javą, zmień nazwę pobierających na właściwości logiczne w WatchState (I6d2f1)
  • W celu zachowania spójności zmieniliśmy nazwę TapListener na TapCallback, a InvalidateCallback na DeleteateListener. (I9414e)
  • Opcje stylu tarczy zegarka na Wear 2.0 zostały przeniesione do osobnej klasy, aby zapewnić większą przejrzystość. Zestawy funkcji WatchFace.Builder mają teraz symetryczne metody pobierania klas WatchFace. (Iefdfc)
  • Dodano instancję InteractiveWatchFaceWcsClient i WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient, która pozyskuje istniejącą instancję lub tworzy ją po połączeniu usługi wallaper i utworzeniu silnika. (Id666e)
  • WatchFaceControlClient to teraz interfejs umożliwiający testom jego imitację. (I875d9)
  • HeadlessWatchFaceClient, InteractiveWatchFaceSysUiClientImpl, InteractiveWatchFaceWcsClient teraz to interfejsy ułatwiające testowanie. (I7cdc3)
  • Dodano adnotacje do metod w: wear-watchface-complications-rendering (I0d65c)

Poprawki błędów

  • Usuń kształt ekranu z konfiguracji urządzenia DeviceConfig, która duplikowała plik android.content.res.Configuration#isScreenRound() (Ifadf4)
  • Zmieniono WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient, aby akceptował Map<String, String> zamiast UserStyle, ponieważ trudno jest utworzyć UserStyle bez znajomości schematu, który można uzyskać dopiero po utworzeniu klienta. (Iea02a)
  • Popraw InteractiveWatchFaceWcsClient, aby zamiast formatu przewodu używać ComplicationState. (Icb8a4)
  • UserStyleSettings jest teraz zabezpieczoną klasą, ponieważ edytorzy tarcz zegarka rozumieją tylko wbudowane klasy. (I2d797)

Wersja 1.0.0-alfa02

11 listopada 2020 roku

Aplikacja androidx.wear:wear-*:1.0.0-alpha02 została zwolniona. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Aplikacja ComplicationDetails nazywa się teraz ComplicationState i jest prawidłowo zapakowana, a sposoby obsługi urządzeń do noszenia @ComplicationData.ComplicationType zostały przeniesione do systemu ComplicationType androidx. (I4dd36)
  • Dodaj do RenderParameters opcjonalny parametr highlightedComplicationId, który umożliwia żądanie wyróżnienia pojedynczego widżetu na zrzutach ekranu. (I66ce9)
  • ComplicationProviderService, aby korzystać z nowego interfejsu API widżetów stylu w celu zachowania spójności (Id5aea)
  • getPreviewReferenceTimeMillis otrzymuje teraz czasy referencyjne z: DeviceConfig. (I779fe)
  • Upraszczamy interfejs Renderer API. Do obserwowania zmian można zamiast tego używać interfejsu SurfaceHolder.Callback. (I210db)
  • Nazwa CanvasComplicationRenderer nie wykracza poza zakres Renderer. Aby była bardziej zrozumiała, zmień nazwę. (Ibe880)

Poprawki błędów

  • Pierwsza wersja usługi androidx.wear:wear-watchface-client (I1e35e)
  • Zmieniliśmy nazwę strony GlesTextureComplication#renderer, aby zwiększyć przejrzystość (Ib78f7)
  • Aby zwiększyć czytelność obrazu w StyleCategory, zmień jego nazwę na StyleSetting (I488c7)
  • Dodaję UserStyleSchema, aby zwiększyć przejrzystość interfejsu API (If36f8)

Wersja 1.0.0-alfa01

28 października 2020 r.

Opublikowano androidx.wear:wear-complications-*:1.0.0-alpha01 i androidx.wear:wear-watchface-*:1.0.0-alpha01. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Usunęliśmy elementy, które nie powinny być widoczne w publicznym interfejsie API. (I41669)
  • Utwórz bibliotekę androidx.wear:wear-complications-provider. (I77f1f)
  • ComplicationsUserStyleCategory nowa zalecana kategoria do konfigurowania widżetów (I96909)
  • Dodaj interfejs wear-complication-data API. (I7c268)
  • funkcje z wartościami logicznymi zwracanymi z przedrostkiem „is”, a nie „get” (If36ff)
  • Zalecamy, aby nie używać Protected, – klasa została refaktoryzowana, aby przyjmować parametry za pomocą konstruktora. (I61644)
  • Aby poprawić ostrość, zmień nazwę ustawienia setBackgroundComplication. (I96fe3)
  • Używanie właściwości Kotlin na potrzeby interfejsu ComplicationDrawable is Poznajed i danych (I4dcc8)
  • Zamiast ComplicationRenderer.InvalidateCallback dodajemy Complication#invalidate() (I4f4c6)
  • Te interfejsy API są wycofywane z WearableSupport i tu są usuwane. (Ib425c)
  • Zmieniliśmy nazwy niektórych metod tworzenia aplikacji WatchFace, aby uwydatnić ich starszy charakter Wear 2.0. (Idb775).
  • Pierwsza wersja beta interfejsu API kandydująca do użytku na tarczę zegarka (Id3981)
  • Pierwsza śledzona wersja interfejsu API. (Ie9fe6)
  • Prawidłowo ukrywanie elementu ComplicationDrawable.BorderStyle IntDef i przejście do ComplicationStyle w celu zachowania spójności. (I27f7a)
  • Dodawanie brakujących adnotacji do metod ComplicationStyle (I838fd)
  • Ta biblioteka nie ma publicznej platformy interfejsu API (I88e2b)
  • Wszystkie klasy opcji kategorii stylu są teraz prawidłowo ostateczne. (Ib8323)
  • Pierwsza śledzona wersja interfejsu API. (I27c85)

Poprawki błędów

  • Zmieniono komponent ComplicationProviderService, aby korzystał z metody getComplicationPreviewData. (I4905F)
  • Sprawdzanie lint interfejsu API pod kątem brakującego GetterMatchingBuilder jest włączone w Androidzie (I4bbea, b/138602561)
  • Zmień nazwę renderowania widżetów z Wear. (Ifea02)
  • Wyświetlane nazwy kategorii stylów to teraz CharSequency (I28990)
  • Zastąpienie zastąpienia ustawieniem Nakładka w celu dopasowania do bieżących konwencji nazewnictwa motywów i stylów. (I4fde9)
  • Zmieniliśmy nazwę UserStyle#getOptions, aby zwiększyć przejrzystość. (I695b6)

Wersja 1.2.0

Wersja 1.2.0

15 września 2021 r.

Aplikacja androidx.wear:wear:1.2.0 została zwolniona. Wersja 1.2.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.1.0

  • Dodano komponent CurvedText umożliwiający łatwe pisanie tekstu zakrzywionego wzdłuż największego okręgu, które można wpisać w widoku. Przykład użycia:

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

    Przykład zakrzywionego tekstu na Androidzie Wear

  • Dodano kontener ArcLayout do rozmieszczania elementów podrzędnych jeden po drugim na łuku w kierunku zgodnym z ruchem wskazówek zegara lub przeciwnie. Elementy podrzędne mogą być zarówno standardowymi widżetami Androida, jak i widżetami „zakrzywionymi”, które implementują interfejs ArcLayout.Widget. (I536da): przykład użycia:

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

    Przykład tekstu łukowego na Androidzie Wear

  • Dodaliśmy nowy kontener układu – ExitibleFrameUkład, który obsługuje otwieranie i/lub zamykanie za pomocą przycisku Wstecz i przesuwanie palcem, aby je zamknąć. Aby wykonać działanie odrzucenia, musisz dodać co najmniej 1 detektor. Detektor zwykle usuwa zawierający widok lub fragment z bieżącej aktywności. Służą do tego opcje setSwipeSlideible(boolean) i setBackButtonDismissible(boolean) na potrzeby bezpośredniej kontroli nad funkcjami. Ten nowy układ ma zastąpić obecny układ przesyłanego przez Ciebie ekranu w przypadku gestów „ScholarZamknijFrameUkład”.

  • Dodano obsługę wskazywania, że aktywność może zostać „automatycznie wznowiona”, gdy urządzenie opuści tryb nieaktywny w klasie AmbientModeSupport. Ta funkcja była wcześniej dostępna w wycofanej klasie WearableActivity z WearableSupportLibrary. (I336ab)

  • Przeniesiono klasę WearablecalendarContract z biblioteki pomocy dotyczącej urządzeń do noszenia. Ten interfejs API zapewnia podzbiór danych dostępnych w ramach Kalendarza, ale jest automatycznie synchronizowany z urządzeniami do noszenia. (I6f2d7)

  • W androidx.wear.utils dodano nowy interfejs API WearTypeHelper, który określa, czy dane urządzenie do noszenia jest przeznaczone dla Chin. (Ib01a9)

  • W aplikacji androidx.wear.widget.ConfirmationOverlay dodano ułatwienia dostępu, które umożliwiają odczytywanie wiadomości (jeśli zostaną ustawione) oraz dodanie opisu animacji. (I524dd)

  • Naprawiono błąd, który powodował awarię elementu ConfirmActivity w przypadku braku komunikatu. (IE6055)

  • Naprawiliśmy błąd, który powodował, że funkcje RecyclerView, w których przewijanie w poziomie powodowało podgląd wszystkich interakcji, funkcji WearableDrawerLayout. (I24c7f)

Wersja 1.2.0-rc01

1 września 2021 roku

Aplikacja androidx.wear:wear:1.2.0-rc01 została opublikowana bez zmian od czasu ostatniej wersji beta. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.

Wersja 1.2.0-beta01

18 sierpnia 2021 r.

Aplikacja androidx.wear:wear:1.2.0-beta01 została zwolniona. Wersja 1.2.0-beta01 zawiera te zatwierdzenia.

Poprawki błędów

  • Napraw błąd, który powodował awarię elementu ConfirmActivity, jeśli nie podano żadnego komunikatu. (IE6055)

Wersja 1.2.0-alfa13

4 sierpnia 2021 r.

Aplikacja androidx.wear:wear:1.2.0-alpha13 została zwolniona. Wersja 1.2.0-alpha13 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Zmieniono nazwę WearTypeHelper.isChinaDevice na WearTypeHelper.isChinaBuild. (I47302)

Poprawki błędów

  • W aplikacji androidx.wear.widget.ConfirmationOverlay dodaliśmy ułatwienia dostępu, które będą odczytywać na głos komunikaty, jeśli zostaną ustawione wraz z opisem animacji. (I524dd)

Wersja 1.2.0-alfa12

21 lipca 2021 r.

Aplikacja androidx.wear:wear:1.2.0-alpha12 została zwolniona. Wersja 1.2.0-alpha12 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodaliśmy nowy interfejs API WearTypeHelper w androidx.wear.utils, który określa, czy dane urządzenie do noszenia jest przeznaczone dla Chin. (Ib01a9)

Wersja 1.2.0-alfa11

30 czerwca 2021 r.

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

Poprawki błędów

  • Naprawiliśmy błąd, który powodował, że funkcje RecyclerView, w których przewijanie w poziomie powodowało podgląd wszystkich interakcji, funkcji WearableDrawerLayout. (I24c7f)

Wersja 1.2.0-alfa10

2 czerwca 2021 r.

Aplikacja androidx.wear:wear:1.2.0-alpha10 została zwolniona. Wersja 1.2.0-alpha10 zawiera te zatwierdzenia.

Nowe funkcje

  • Wersja Alpha10 usprawnia ułatwienia dostępu w przypadku układów tekstu zakrzywionego i układów ArcLayouts. Dodaliśmy też kilka drobnych zmian w nazwie elementu ExitibleFrameUkład, aby ułatwić zrozumienie działania interfejsu API.

Zmiany w interfejsie API

  • Zmieniliśmy nazwy następujących metod w dokumencie DismissibleFrameLayout (Ib195e):
    • Callback#onDismissed -> Callback#onDismissedFinished
    • isSwipeDismissible -> isDismissableBySwipe
    • isBackButtonDismissible -> isDismissableByBackButton
  • Następujące metody zostały wprowadzone jako ostateczne (Ib195e):
    • setBackButtonDismissible
    • setSwipeDismissible
    • registerCallback
    • unregisterCallback

Poprawki błędów

  • Używaj zawartości obiektu CurvedTextView w TalkBack. (I05798)
  • Lepsze ułatwienia dostępu w przypadku zwykłych widoków w układzie ArcLayout. (I4418d)

Wersja 1.2.0-alfa09

18 maja 2021 r.

Aplikacja androidx.wear:wear:1.2.0-alpha09 została zwolniona. Wersja 1.2.0-alpha09 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodano nową funkcję CurvedTextView.setTypeface() (podobną do funkcji TextView), aby ustawić krój czcionki i pogrubienie/kursywę. (I4653c)
  • Zmieniono nazwę WearArcLayout na ArcLayout, WearCurvedText na CurvedText i WearArcLayout.ArcLayoutWidget na ArcLayout.Widget. (I6e5ce)
    • W dniu ArcLayout.Widget nazwa została zmieniona z getThicknessPx na getThickness.
    • Stałe wyrównania w pionie w elemencie ArcLayout.LayoutParams mają teraz nazwę VERTICAL_ALIGN_ (zamiast poprzedniej nazwy VALIGN_).
  • CurvedTextView metody setMinSweepDegrees i setMaxSweepDegrees zostały zastąpione przez setSweepRangeDegrees (I7a9d9)

Wersja 1.2.0-alfa08

5 maja 2021 roku

Aplikacja androidx.wear:wear:1.2.0-alpha08 została zwolniona. Wersja 1.2.0-alpha08 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Aby poprawić przejrzystość kodu, dodaliśmy adnotacje @FloatRange do niektórych parametrów kąta i typów zwracanych elementów. (I430dd)
  • W interfejsie WearArcLayout.ArcLayoutWidget metoda insideClickArea nazywa się teraz isPointInsideClickArea. (Ia7307)

Wersja 1.2.0-alfa07

24 marca 2021 r.

Aplikacja androidx.wear:wear:1.2.0-alpha07 została zwolniona. Wersja 1.2.0-alpha07 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawianie błędów dotyczących niezakrzywionych elementów podrzędnych w WearArcLayout spowodowany używaniem rozmiaru ekranu o wysokości większej niż szerokość. Te elementy podrzędne są teraz prawidłowo umieszczane wewnątrz łuku na wszystkich typach ekranów.

Wersja 1.2.0-alfa06

27 stycznia 2021 r.

Aplikacja androidx.wear:wear:1.2.0-alpha06 została zwolniona. Wersja 1.2.0-alpha06 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Przenieś bibliotekę bieżących działań do nowej biblioteki podrzędnej. Zajęcia są teraz dostępne w pakiecie androidx.wear.ongoing (wcześniej androidx.wear.ongoingactivities) (I7c029)
  • Przeprowadź migrację klasy WearableKalendarzContract z biblioteki pomocy do urządzeń do noszenia na AndroidaX. Ten interfejs API zapewnia podzbiór danych dostępnych w ramach Kalendarza, ale jest automatycznie synchronizowany z urządzeniami do noszenia. (I6f2d7)

Poprawki błędów

  • Domyślnie wyłącz funkcję zamykania przycisku Wstecz w Układie ramki z możliwością zamknięcia, ponieważ głównym sposobem powrotu do pełnego ekranu na urządzeniach do noszenia jest przesunięcie palcem po ekranie (Ic24e3).
  • Rozwiązano problemy z obsługą widoczności elementów podrzędnych w układzie WearArc (Icf912)

Wersja 1.2.0-alfa05

13 stycznia 2021 r.

Aplikacja androidx.wear:wear:1.2.0-alpha05 została zwolniona. Wersja 1.2.0-alpha05 zawiera te zatwierdzenia.

Poprawki błędów

  • Zaktualizuj plik javadoc klasy AmbientModeSupport, aby udostępnić przykładowe fragmenty kodu umożliwiające lepsze zademonstrowanie ogólnego użycia tej klasy.

Wersja 1.2.0-alfa04

16 grudnia 2020 roku

Aplikacja androidx.wear:wear:1.2.0-alpha04 została zwolniona. Wersja 1.2.0-alpha04 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodano obsługę wskazywania, że aktywność może zostać „automatycznie wznowiona”, gdy urządzenie opuści tryb nieaktywny w klasie AmbientModeSupport. Ta funkcja była wcześniej dostępna w wycofanej klasie WearableActivity z WearableSupportLibrary. (I336ab)
  • OngoingActivity
    • Kategorię można teraz ustawić podczas tworzenia elementu OngoingActivity, np. OngoingActivitiy.Builder.getCategory(String)
    • OngoingActivityData zawiera teraz sygnaturę czasową wskazującą czas utworzenia elementu OngoingActivity – OngoingActivityData.getTimestamp()
    • (I91cb4)
  • Dodaliśmy obsługę ustawienia marginesów w elementach podrzędnych WearArcLayout.Można to zrobić, zmieniając parametry układu w taki sposób, aby rozszerzyć parametry MarginLayoutParams, np. WearArcLayout.LayoutParams zawiera rozszerzenie android.view.ViewGroup.MarginLayoutParams. (I2cd88)
  • Zmień domyślny typ kotwicy WearCurvedTextView na WearArcLayout.ANCHOR_CENTER (wcześniej WearArcLayout.ANCHOR_START). Upraszcza to załamanie między układem łukowym a tekstem zakrzywionym, ponieważ zakrzywiony tekst domyślnie rysuje się u góry wyśrodkowany na osi X, a nadrzędny układ łuku może go obracać do odpowiedniego miejsca. (I105ff)

Wersja 1.2.0-alfa03

Grudzień 2, 2020

Aplikacja androidx.wear:wear:1.2.0-alpha03 została zwolniona. Wersja 1.2.0-alpha03 zawiera te zatwierdzenia.

Nowe funkcje

Nowy kontener układu, który obsługuje zamykanie za pomocą przycisku Wstecz i przesuwanie palcem, aby je zamknąć, przeznaczony do użycia w ramach aktywności. Aby wykonać działanie odrzucenia, musisz dodać co najmniej 1 detektor. Detektor zwykle usuwa zawierający widok lub fragment z bieżącej aktywności. Służą do tego opcje setSwipeSlideible(boolean) i setBackButtonDismissible(boolean) na potrzeby bezpośredniej kontroli nad funkcjami. Ten nowy układ ma zastąpić obecny układ przesyłanego przez Ciebie ekranu w przypadku gestów „ScholarZamknijFrameUkład”.

Zakrzywione widżety obsługują teraz zdarzenia dotyku. Normalne widżety wewnątrz układu WearArc będą otrzymywać wszystkie zdarzenia dotknięcia przypisane do ich przestrzeni współrzędnych. WearCurvedTextView (wewnętrznym lub nie) może zawierać moduły obsługi onClick i onLongClick.

Klasy trwających działań są teraz dostępne w wersji VersionedParcelable, a nie korzystania z niestandardowej serializacji/deserializacji. Ikona statyczna i intencja dotykowa są teraz wymagane.

Zmiany w interfejsie API

  • Atrybut „sweepDegrads” obiektu WearCurvedTextView jest rozdzielony na minSweepDescripts i maxSweepDescripts, aby zapewnić bardziej elastyczny układ tego widżetu.

Wersja 1.2.0-alfa02

11 listopada 2020 roku

Aplikacja androidx.wear:wear:1.2.0-alpha02 została zwolniona. Wersja 1.2.0-alpha02 zawiera te zatwierdzenia.

W tej wersji po raz pierwszy dodaliśmy nowy interfejs „Ongoing Activities API”. Mogą go używać, aby zasygnalizować, że trwa długotrwała aktywność, na przykład ćwiczenie fitness czy sesja odtwarzania multimediów. Umożliwia deweloperom dostarczanie okresowych informacji o stanie, np. „odległość i bieg czasowy” czy „odtwarzana bieżnia”, na tarczy zegarka lub w Menu z aplikacjami. Ta funkcja jest przeznaczona dla urządzeń przyszłych z włączoną funkcją stałej aktywności.

Zmiany w interfejsie API

  • Nowy interfejs API do bieżących działań, który nie jest obsługiwany na „nieobsługiwanych urządzeniach”. (I69a31)

Wersja 1.2.0-alfa01

28 października 2020 r.

Aplikacja androidx.wear:wear:1.2.0-alpha01 została zwolniona. Wersja 1.2.0-alpha01 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano komponent WearCurvedTextView do łatwego wpisywania tekstu zakrzywionego wzdłuż krzywizny największego okręgu, jaki można wpisać w widoku. Przykład użycia:
<androidx.wear.widget.WearCurvedTextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="example curved text"
        app:anchorAngleDegrees="180"
        app:anchorPosition="center"
        app:clockwise="false"
        style="@android:style/TextAppearance.Large"
/>

Przykład zakrzywionego tekstu na Androidzie Wear

  • Dodano kontener WearArcUkład do rozmieszczania elementów podrzędnych jeden po drugim na łuku w prawo lub w lewo. Elementy podrzędne mogą być zarówno standardowymi widżetami Androida, jak i widżetami „zakrzywionymi”, które implementują interfejs ArcLayoutWidget. Przykład użycia:
<androidx.wear.widget.WearArcLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:anchorPosition="center">
      <ImageView
              android:layout_width="20dp"
              android:layout_height="20dp"
              android:src="@drawable/ic_launcher"
      />
      <androidx.wear.widget.WearCurvedTextView
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:text="Curved Text"
              style="@android:style/TextAppearance.Small"
              android:padding="2dp"
       />
  </androidx.wear.widget.WearArcLayout>

Przykład tekstu łukowego na Androidzie Wear

(I536da)

Wear-Input 1.2

Wersja 1.2.0-alfa02

29 września 2021 r.

Opublikowano androidx.wear:wear-input:1.2.0-alpha02 i androidx.wear:wear-input-testing:1.2.0-alpha02. Wersja 1.2.0-alpha02 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • W WearableRemoteInputExtender zmieniono nazwę disallowEmoji na setEmojisAllowed, aby określić, czy opcja rysowania emotikonów ma być wyświetlana. (I28393)

Wersja 1.2.0-alfa01

15 września 2021 r.

Opublikowano androidx.wear:wear-input:1.2.0-alpha01 i androidx.wear:wear-input-testing:1.2.0-alpha01. Wersja 1.2.0-alpha01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Udostępniono wszystkie stałe lokalizacji przycisku z: WearableButtons. (Ibb12c)
  • Dodano klasę WearableRemoteInputExtender, która może być używana do dodawania do aplikacji android.app.RemoteInput dodatków specyficznych dla Wear. (I01903)

Wear-Input 1.1.0

Wersja 1.1.0

18 sierpnia 2021 r.

Opublikowano androidx.wear:wear-input:1.1.0 i androidx.wear:wear-input-testing:1.1.0. Wersja 1.1.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.0.0

  • Dodano RemoteInputIntentHelper.
    • Tej klasy można użyć do utworzenia intencji RemoteInput. Możesz ich później użyć do zwrócenia uwagi użytkowników na rodzaj aktywności, którą można dostosować.

Wersja 1.1.0-rc01

4 sierpnia 2021 r.

Opublikowano androidx.wear:wear-input:1.1.0-rc01 i androidx.wear:wear-input-testing:1.1.0-rc01. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.

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

Wersja 1.1.0-beta01

21 lipca 2021 r.

androidx.wear:wear-input:1.1.0-beta01 i androidx.wear:wear-input-testing:1.1.0-beta01 są dostępne bez zmian od 1.1.0-alpha03. Wersja 1.1.0-beta01 zawiera te zatwierdzenia.

Wersja 1.1.0-alfa03

30 czerwca 2021 r.

Opublikowano androidx.wear:wear-input:1.1.0-alpha03 i androidx.wear:wear-input-testing:1.1.0-alpha03. Wersja 1.1.0-alpha03 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiliśmy błąd, który powodował, że intencje RemoteInput, do których dodano komponenty RemoteInput przez RemoteInputHelper.putRemoteInputsExtra, były odrzucane.

Wersja 1.1.0-alfa02

18 maja 2021 r.

Opublikowano androidx.wear:wear-input:1.1.0-alpha02 i androidx.wear:wear-input-testing:1.1.0-alpha02. Wersja 1.1.0-alpha02 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Metody RemoteInputIntentHelper używane do pobierania lub umieszczania dodatkowych elementów reprezentujących etykietę tytułu, anulowania, potwierdzenia i w toku używają teraz w przypadku tych etykiet etykiety CharSequence zamiast String. (I0e71f)

Wersja 1.1.0-alfa01

27 stycznia 2021 r.

Opublikowano androidx.wear:wear-input:1.1.0-alpha01 i androidx.wear:wear-input-testing:1.1.0-alpha01. Wersja 1.1.0-alpha01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Przeprowadź migrację klasy RemoteInputIntent z biblioteki pomocy do noszenia na AndroidaX. Przenoszona klasa zmienia nazwę na RemoteInputIntentHelper, która udostępnia funkcje pomocnicze do obsługi zdalnych danych wejściowych przez uruchomienie intencji. (I47cee)

Wear-Input 1.0.0

Wersja 1.0.0

Grudzień 2, 2020

Opublikowano androidx.wear:wear-input:1.0.0 i androidx.wear:wear-input-testing:1.0.0. Wersja 1.0.0 zawiera te zatwierdzenia.

Ta wersja jest taka sama jak 1.0.0-rc01.

Główne funkcje wersji 1.0.0

  • Migracja funkcji WearableButtons z biblioteki pomocy do urządzeń do noszenia do Jetpack.

  • Dodano androidx.wear.input.test.TestWearableButtonsProvider, który implementuje androidx.wear.input.WearableButtonsProvider, aby ułatwić testowanie aplikacji utworzonych przy użyciu biblioteki androidx.wear:wear-input.

Wersja 1.0.0-rc01

11 listopada 2020 roku

Opublikowano androidx.wear:wear-input:1.0.0-rc01 i androidx.wear:wear-input-testing:1.0.0-rc01. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.

Ta wersja jest taka sama jak 1.0.0-beta01.

Wersja 1.0.0-beta01

28 października 2020 r.

androidx.wear:wear-input:1.0.0-beta01 i androidx.wear:wear-input-testing:1.0.0-beta01 są dostępne bez zmian od 1.1.0-alpha01. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.

Wear-Input-Testing Wersja 1.0.0-alfa01

14 października 2020 r.

Aplikacja androidx.wear:wear-input-testing:1.0.0-alpha01 została zwolniona. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodano androidx.wear.input.test.TestWearableButtonsProvider, który implementuje androidx.wear.input.WearableButtonsProvider, aby ułatwić testowanie aplikacji utworzonych przy użyciu biblioteki androidx.wear:wear-input. (I0ed0c)

Wear-Input w wersji 1.0.0-alfa01

2 września 2020 r.

Aplikacja androidx.wear:wear-input:1.0.0-alpha01 została zwolniona. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.

Nowe funkcje

Migracja funkcji WearableButtons z biblioteki pomocy do urządzeń do noszenia do Jetpack. Dodatkowe wsparcie w zakresie testowania zostanie udostępnione w bibliotece androidx.wear:wear-input-testing w kolejnej wersji Jetpacka.

Wersja 1.1.0

Wersja 1.1.0

14 października 2020 r.

Aplikacja androidx.wear:wear:1.1.0 została zwolniona. Wersja 1.1.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.0.0

  • Aby zachować zgodność z konwencją nazewnictwa w Androidzie, dodaliśmy prefiks layout_ do atrybutu boxedEdges (obecnie layout_BoxedEdges) dla: BoxInsetLayout. Usunie to błąd linter dla tych atrybutów w Android Studio. (I4272f)
  • W polu ConfirmationActivity dodano opcjonalną treść EXTRA_ANIMATION_DURATION_MILLIS, która umożliwia okres wyświetlania okna potwierdzenia. (adb83ce, b/143356547)
  • Zaktualizowano WearableActionDrawView, aby opóźnić inflowanie szuflady działań do czasu jego pierwszego otwarcia. (I01026, b/163870541)

Wersja 1.1.0-rc03

2 września 2020 r.

Aplikacja androidx.wear:wear:1.1.0-rc03 została zwolniona. Wersja 1.1.0-rc03 zawiera te zatwierdzenia.

Poprawki błędów

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

Wersja 1.1.0-rc02

24 czerwca 2020 r.

Aplikacja androidx.wear:wear:1.1.0-rc02 została zwolniona. Wersja 1.1.0-rc02 zawiera te zatwierdzenia.

Poprawki błędów

  • Aby zachować zgodność z konwencją nazewnictwa w Androidzie, dodaliśmy prefiks layout_ do atrybutu boxedEdges (obecnie layout_boxedEdges) dla: BoxInsetLayout. Usunie to błąd linter dla tych atrybutów w Android Studio.

Wersja 1.1.0-rc01

14 maja 2020 r.

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

Wersja 1.1.0-beta01

29 kwietnia 2020 r.

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

Wersja 1.1.0-alfa01

15 kwietnia 2020 roku

Aplikacja androidx.wear:wear:1.1.0-alpha01 została zwolniona. Wersja 1.1.0-alpha01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • W polu ConfirmationActivity dodano opcjonalną treść EXTRA_ANIMATION_DURATION_MILLIS, która umożliwia okres wyświetlania okna potwierdzenia. (adb83ce, 134523c, b/143356547)

Poprawki błędów

  • Zaktualizowano WearableActionDrawView, aby opóźnić inflowanie szuflady działań do czasu jego pierwszego otwarcia. (5cd32f7)