Носить

Создавайте приложения для умных часов Wear OS от Google.

В этой таблице перечислены все артефакты, входящие в группу androidx.wear .

Артефакт Стабильный релиз Предварительная версия для выпуска Бета-версия Альфа-версия
носить 1.4.0 - - -
износ входного сигнала 1.2.0 - - -
тестирование на износ 1.2.0 - - -
постоянный износ 1.1.0 - - -
взаимодействие носимых телефонов 1.1.0 - - -
носите удаленные взаимодействия 1.2.0 - - 1.3.0-alpha01
Последнее обновление этой библиотеки: 3 июня 2026 г.

Объявление зависимостей

Чтобы добавить зависимость от Wear, необходимо добавить репозиторий Google Maven в ваш проект. Для получения дополнительной информации ознакомьтесь с информацией в репозитории Google Maven .

Добавьте зависимости для необходимых артефактов в файл build.gradle вашего приложения или модуля:

классный

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

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

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

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

Котлин

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

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

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

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

Для получения дополнительной информации о зависимостях см. раздел «Добавление зависимостей сборки» .

Обратная связь

Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав кнопку со звездочкой.

Создать новую задачу

Для получения более подробной информации см. документацию по системе отслеживания ошибок .

Износостойкий слой

Версия 1.1

Версия 1.1.0

3 июня 2026 г.

Выпущена версия androidx.wear:wear-core:1.1.0 . Версия 1.1.0 содержит следующие изменения .

Основные нововведения версии 1.1.0: * Добавлена CINNAMON_BUN в WearApiVersionHelper для проверки совместимости API с SDK 37.

Версия 1.1.0-rc01

19 мая 2026 г.

Выпущена версия androidx.wear:wear-core:1.1.0-rc01 без изменений по сравнению с предыдущим релизом. Версия 1.1.0-rc01 содержит следующие коммиты .

Версия 1.1.0-beta01

6 мая 2026 г.

Выпущена версия androidx.wear:wear-core:1.1.0-beta01 . Версия 1.1.0-beta01 содержит следующие коммиты .

Изменения в API

  • Добавлена CINNAMON_BUN в WearApiVersionHelper для проверки совместимости API с SDK 37.

Версия 1.1.0-alpha02

8 апреля 2026 г.

Выпущена версия androidx.wear:wear-core:1.1.0-alpha02 . Версия 1.1.0-alpha02 содержит следующие коммиты .

Новые функции

  • Добавить новые VersionCodes для WearApiVersionHelper ( I86bc1 , b/487264133 )

Версия 1.1.0-alpha-01

25 марта 2026 г.

Выпущена версия androidx.wear:wear-core:1.1.0-alpha-01 . Версия 1.1.0-alpha-01 содержит следующие коммиты .

Изменения в API

  • Добавлен CINNAMON_BUN (SDK 37) в WearApiVersionHelper . ( Id1ee0 , b/487264133 )

Версия 1.0

Версия 1.0.0

17 декабря 2025 г.

Выпущена версия androidx.wear:wear-core:1.0.0 . Версия 1.0.0 содержит следующие изменения .

Основные особенности версии 1.0.0:

  • Добавлен WearApiVersionHelper для упрощения проверки совместимости API во время выполнения на устройстве Wear. Клиенты могут использовать этот статический вспомогательный класс и предоставленный метод (#isApiVersionAtLeast(VERSION)) для проверки совместимости.

Версия 1.0.0-rc01

8 октября 2025 г.

Выпущена androidx.wear:wear-core:1.0.0-rc01 без изменений. Версия 1.0.0-rc01 содержит следующие коммиты .

Версия 1.0.0-beta02

10 сентября 2025 г.

Выпущена версия androidx.wear:wear-core:1.0.0-beta02 . Версия 1.0.0-beta02 содержит следующие коммиты .

Исправлены ошибки

  • Предотвратите возникновение ошибки WearApiVersionHelper на старых устройствах при проверке новых API.

Версия 1.0.0-beta01

30 июля 2025 г.

Выпущена версия androidx.wear:wear-core:1.0.0-beta01 без существенных изменений по сравнению с последней альфа-версией. Версия 1.0.0-beta01 содержит следующие коммиты .

Версия 1.0.0-alpha02

16 июля 2025 г.

Выпущена версия androidx.wear:wear-core:1.0.0-alpha02 . Версия 1.0.0-alpha02 содержит следующие коммиты .

Изменения в API

  • Обновлен WearApiVersionHelper для включения VIC/Baklava ( I4676d )

Исправлены ошибки

Версия 1.0.0-alpha01

29 мая 2024 г.

Выпущена версия androidx.wear:wear-core:1.0.0-alpha01 . Версия 1.0.0-alpha01 содержит следующие коммиты .

Изменения в API

  • Добавлен новый класс WearApiVersionhelper для проверки совместимости API во время выполнения на Wear. Клиенты могут использовать этот статический вспомогательный класс и предоставленный метод ( #isApiVersionAtLeast(VERSION) ) для проверки совместимости.

Носить

Версия 1.4

Версия 1.4.0

25 февраля 2026 г.

Выпущена версия androidx.wear:wear:1.4.0 . Версия 1.4.0 содержит следующие изменения .

Важные изменения по сравнению с версией 1.3.0:

  • Исправлена ​​ошибка, из-за которой значок ConfirmationOverlay центрировался по вертикали, когда сообщение отсутствовало. I496d8

Версия 1.4.0-rc01

28 января 2026 г.

Выпущена версия androidx.wear:wear:1.4.0-rc01 . Версия 1.4.0-rc01 содержит следующие коммиты .

  • Между бета-версиями beta01 и rc01 никаких новых изменений нет.

Версия 1.4.0-beta01

17 декабря 2025 г.

Выпущена версия androidx.wear:wear:1.4.0-beta01 . Версия 1.4.0-beta01 содержит следующие коммиты .

  • По сравнению с предыдущим альфа-релизом существенных изменений не наблюдается.

Версия 1.4.0-alpha02

16 июля 2025 г.

Выпущена версия androidx.wear:wear:1.4.0-alpha02 . Версия 1.4.0-alpha02 содержит следующие коммиты .

Исправлены ошибки

Версия 1.4.0-alpha01

15 ноября 2023 г.

Выпущена версия androidx.wear:wear:1.4.0-alpha01 . Версия 1.4.0-alpha01 содержит следующие коммиты.

Исправлены ошибки

  • Выравнивание значка ConfirmationOverlay по центру по вертикали, если сообщение отсутствует. ( I496d8 )

Версия 1.3

Версия 1.3.0

9 августа 2023 г.

Выпущена androidx.wear:wear:1.3.0 без изменений по сравнению с 1.3.0-rc01 . Версия 1.3.0 содержит следующие коммиты.

Важные изменения по сравнению с версией 1.2.0

  • Перевести AmbientModeSupport на использование LifecycleObserver . Объявить AmbientModeSupport устаревшим в пользу новых классов, учитывающих жизненный цикл.
  • Обновите ConfirmationOverlay , добавив новые значки/макет, шрифты и параметры шрифтов.
  • В SwipeDismissTransitionHelper теперь используется фоновый ресурс вместо второго View для исправления ошибок, возникающих при использовании FragmentContainerView
  • Анимация SwipeDismissFrameLayout обновлена ​​для обеспечения согласованности с реализацией на платформе Wear и в Wear Compose.
  • Исправлена ​​ошибка SwipeDismissFrameLayout , предотвращающая случайное закрытие фрагментов при вертикальном перемещении.
  • Теперь ArcLayout поддерживает расширяемые веса, которые работают аналогично обычным весам Layout.
  • Поддержка layoutDirection в ArcLayout

Версия 1.3.0-rc01

21 июня 2023 г.

Выпущена версия androidx.wear:wear:1.3.0-rc01 без изменений по сравнению с 1.3.0-beta01 . Версия 1.3.0-rc01 содержит следующие коммиты.

Версия 1.3.0-beta01

7 июня 2023 г.

Выпущена версия androidx.wear:wear:1.3.0-beta01 . Версия 1.3.0-beta01 содержит следующие коммиты.

Изменения в API

  • Обновлен AmbientLifecycleObserver после получения отзывов. AmbientLifecycleObserverInterface переименован в AmbientLifecycleObserver , и экземпляр можно получить, вызвав AmbientLifecycleObserver(...) . isAmbient перемещен в поле вместо метода. ( I84b4f )

Исправлены ошибки

  • Добавление проверок на null для обработки случаев, когда родительское представление имеет значение null при сбросе альфа-канала и смещения в SwipeToDismiss . ( Ib0ec7 )

Версия 1.3.0-alpha05

19 апреля 2023 г.

Выпущена версия androidx.wear:wear:1.3.0-alpha05 . Версия 1.3.0-alpha05 содержит следующие коммиты.

Изменения в API

  • Перевести AmbientModeSupport на использование LifecycleObserver . Объявить AmbientModeSupport устаревшим в пользу новых классов, учитывающих жизненный цикл. ( I1593b )

Исправлены ошибки

  • Обновите подход к фоновой сетке SwipeDismissTransitionHelper , чтобы использовать drawable-объекты вместо добавления представления для исправления ошибок при использовании FragmentContainerView . ( I851cd )

Версия 1.3.0-alpha04

25 января 2023 г.

Выпущена версия androidx.wear:wear:1.3.0-alpha04 . Версия 1.3.0-alpha04 содержит следующие коммиты.

Исправлены ошибки

  • Мы обновили анимацию в SwipeDismissFrameLayout , чтобы она соответствовала реализации на платформе Wear и Wear Compose. ( I7261b )

Версия 1.3.0-alpha03

24 августа 2022 г.

Выпущена версия androidx.wear:wear:1.3.0-alpha03 . Версия 1.3.0-alpha03 содержит следующие коммиты.

Новые функции

  • Теперь ArcLayout поддерживает расширяющие веса, которые работают аналогично обычным весам Layout. Это означает, что вы можете задавать относительный размер дочерних элементов, не вычисляя их углы напрямую. Мы также добавили параметр MaxAngleDegrees , который учитывается при расширении дочерних элементов с весами. Например, вы можете ограничить дугу с несколькими дочерними элементами с весами до 90 градусов, при этом также будет учитываться пространство, занимаемое любыми нерасширенными элементами.

Изменения в API

  • Мы добавили параметр `weight` в ArcLayout.LayoutParams , который позволяет виджету расширяться, чтобы заполнить доступное пространство. Если виджетов несколько, то их доля доступного пространства пропорциональна их весу. Кроме того, мы добавили ArcLayout.setMaxAngleDegrees , так что вы можете, например, ограничить расширение 90 градусами (обратите внимание, это не влияет на компоновку дочерних виджетов фиксированного размера). Наконец, ArcLayout.Widget теперь имеет setSweepAngleDegrees , который позволяет ArcLayout сообщать виджету с ненулевым весом о его размере. ( I75f24 )
  • Обновлена ​​возможность использования значения null для setColorFilter ( I99ddf , b/236498063 )

Версия 1.3.0-alpha02

23 февраля 2022 г.

Выпущена версия androidx.wear:wear:1.3.0-alpha02 . Версия 1.3.0-alpha02 содержит следующие коммиты.

Новые функции

  • Поддержка layoutDirection в ArcLayout ( I14d49 )
  • Улучшено описание содержимого для ConfirmationOverlay ( I0fdf8 )
  • Обновите ConfirmationOverlay , добавив новые значки/макет. ( If5b54 )

Исправлены ошибки

  • Добавлены правила ProGuard для обеспечения сохранения кода, связанного с фоновыми процессами ( Idaa10 ).
  • Избегайте случайного закрытия фрагментов в SwipeDismissFrameLayout с помощью вертикального движения ( Idb6d8 ).
  • Исправлена ​​ошибка в ConfirmationOverlay, когда в нем отсутствует сообщение ( I63e6f )

Внешний вклад

  • Dae Gyu LEE (Samsung) - Предотвращение случайного закрытия фрагментов в SwipeDismissFrameLayout с помощью вертикального броска ( Idb6d8 )

Версия 1.3.0-alpha01

29 сентября 2021 г.

Выпущена версия androidx.wear:wear:1.3.0-alpha01 . Версия 1.3.0-alpha01 содержит следующие коммиты.

Исправлены ошибки

  • ConfirmationOverlay теперь сдвигает значок вверх, чтобы вместить более длинные сообщения, не допуская их попадания на рамку устройства (или за пределы экрана). ( I54bff )

Версия 1.2

Версия 1.2.0

15 сентября 2021 г.

Выпущена версия androidx.wear:wear:1.2.0 . Версия 1.2.0 содержит следующие коммиты.

Важные изменения по сравнению с версией 1.1.0

  • Добавлен компонент CurvedText для удобного написания изогнутого текста, следующего кривизне наибольшей окружности, вписанной в представление. Пример использования:

    <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"
    />
    

    Пример изогнутого текста в Android Wear

  • Добавлен контейнер ArcLayout для размещения дочерних элементов по одному на дуге по часовой или против часовой стрелки. Его дочерними элементами могут быть как стандартные виджеты Android, так и «изогнутые» виджеты, реализующие интерфейс ArcLayout.Widget . ( I536da ) Пример использования:

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

    Пример архитектурного текста в Android Wear

  • Добавлен новый контейнер макета, DismissibleFrameLayout, который обрабатывает закрытие с помощью кнопки «Назад» и/или свайпа, предназначенный для использования внутри активности. Для обработки действия закрытия необходимо добавить как минимум один слушатель. Слушатель обычно удаляет содержащий его элемент или фрагмент из текущей активности. Для прямого управления функциями предусмотрены методы setSwipeDismissible(boolean) и setBackButtonDismissible(boolean). Этот новый макет призван заменить существующий SwipeDismissFrameLayout.

  • Добавлена ​​поддержка указания на возможность «автоматического возобновления» активности при выходе устройства из фонового режима в классе AmbientModeSupport. Эта функциональность ранее была доступна в устаревшем классе WearableActivity из библиотеки WearableSupportLibrary. ( I336ab )

  • Перенесен класс WearableCalendarContract из библиотеки Wearable Support Library. Этот API предоставляет подмножество данных, доступных через CalendarContract , но автоматически синхронизируется с носимыми устройствами. ( I6f2d7 )

  • В файл androidx.wear.utils добавлен новый API WearTypeHelper для определения, предназначено ли данное носимое устройство для Китая. ( Ib01a9 )

  • Добавлены функции специальных возможностей в androidx.wear.widget.ConfirmationOverlay , которые будут зачитывать сообщения, если они заданы, а затем описание анимации. ( I524dd )

  • Исправлена ​​ошибка, из-за которой ConfirmationActivity завершала работу с ошибкой, если сообщение не было предоставлено. ( IE6055 )

  • Исправлена ​​ошибка, из-за которой горизонтальная прокрутка RecyclerView приводила к тому, что WearableDrawerLayout появлялся при всех взаимодействиях. ( I24c7f )

Версия 1.2.0-rc01

1 сентября 2021 г.

Выпущена androidx.wear:wear:1.2.0-rc01 без изменений по сравнению с последней бета-версией. Версия 1.2.0-rc01 содержит следующие коммиты.

Версия 1.2.0-beta01

18 августа 2021 г.

Выпущена версия androidx.wear:wear:1.2.0-beta01 . Версия 1.2.0-beta01 содержит следующие коммиты.

Исправлены ошибки

  • Исправлена ​​ошибка, из-за которой ConfirmationActivity завершала работу с ошибкой, если сообщение не было предоставлено. ( IE6055 )

Версия 1.2.0-alpha13

4 августа 2021 г.

Выпущена версия androidx.wear:wear:1.2.0-alpha13 . Версия 1.2.0-alpha13 содержит следующие коммиты.

Изменения в API

  • Переименована функция WearTypeHelper.isChinaDevice в WearTypeHelper.isChinaBuild . ( I47302 )

Исправлены ошибки

  • Мы добавили функции специальных возможностей в androidx.wear.widget.ConfirmationOverlay , которые, если заданы, будут зачитывать сообщения, а затем описание анимации. ( I524dd )

Версия 1.2.0-alpha12

21 июля 2021 г.

Выпущена версия androidx.wear:wear:1.2.0-alpha12 . Версия 1.2.0-alpha12 содержит следующие коммиты.

Изменения в API

  • В файл androidx.wear.utils добавлен новый API WearTypeHelper , позволяющий определить, предназначено ли данное носимое устройство для Китая. ( Ib01a9 )

Версия 1.2.0-alpha11

30 июня 2021 г.

Выпущена версия androidx.wear:wear:1.2.0-alpha11 . Версия 1.2.0-alpha11 содержит следующие коммиты.

Исправлены ошибки

  • Исправлена ​​ошибка, из-за которой горизонтальная прокрутка RecyclerView приводила к тому, что WearableDrawerLayout появлялся при всех взаимодействиях. ( I24c7f )

Версия 1.2.0-alpha10

2 июня 2021 г.

Выпущена версия androidx.wear:wear:1.2.0-alpha10 . Версия 1.2.0-alpha10 содержит следующие коммиты.

Новые функции

  • В Alpha10 улучшена поддержка доступности в Curved Text и ArcLayouts. Также внесены незначительные изменения в переименование элементов в DismissibleFrameLayout для большей ясности API.

Изменения в API

  • Мы переименовали следующие методы в DismissibleFrameLayout ( Ib195e ):
    • Callback#onDismissed -> Callback#onDismissedFinished
    • isSwipeDismissible -> isDismissableBySwipe
    • isBackButtonDismissible -> isDismissableByBackButton
  • Мы утвердили следующие методы ( Ib195e ):
    • setBackButtonDismissible
    • setSwipeDismissible
    • registerCallback
    • unregisterCallback

Исправлены ошибки

  • Используйте содержимое CurvedTextView в Talkback. ( I05798 )
  • Улучшена доступность обычных представлений в ArcLayout. ( I4418d )

Версия 1.2.0-alpha09

18 мая 2021 г.

Выпущена версия androidx.wear:wear:1.2.0-alpha09 . Версия 1.2.0-alpha09 содержит следующие коммиты.

Изменения в API

  • Добавлена ​​новая функция CurvedTextView.setTypeface() (аналогичная функции TextView ) для установки шрифта текста и стиля выделения жирным/курсивом. ( I4653c )
  • Переименованы WearArcLayout в ArcLayout , WearCurvedText в CurvedText и WearArcLayout.ArcLayoutWidget в ArcLayout.Widget . ( I6e5ce )
    • В ArcLayout.Widget переименовали getThicknessPx в getThickness .
    • Константы вертикального выравнивания в ArcLayout.LayoutParams теперь именуются, начиная с VERTICAL_ALIGN_ (вместо прежнего VALIGN_ ).
  • В CurvedTextView методы setMinSweepDegrees и setMaxSweepDegrees были заменены на setSweepRangeDegrees ( I7a9d9 ).

Версия 1.2.0-alpha08

5 мая 2021 г.

Выпущена версия androidx.wear:wear:1.2.0-alpha08 . Версия 1.2.0-alpha08 содержит следующие коммиты.

Изменения в API

  • Для повышения ясности кода мы добавили аннотации @FloatRange к некоторым параметрам угла и возвращаемым типам. ( I430dd )
  • В интерфейсе WearArcLayout.ArcLayoutWidget метод insideClickArea теперь называется isPointInsideClickArea. ( Ia7307 )

Версия 1.2.0-alpha07

24 марта 2021 г.

Выпущена версия androidx.wear:wear:1.2.0-alpha07 . Версия 1.2.0-alpha07 содержит следующие коммиты.

Исправлены ошибки

  • Исправлены ошибки, связанные с неизогнутыми дочерними элементами внутри WearArcLayout, возникающие при использовании размера экрана с высотой, превышающей ширину. Теперь эти неизогнутые дочерние элементы корректно размещаются внутри дуги на всех типах экранов.

Версия 1.2.0-alpha06

27 января 2021 г.

Выпущена версия androidx.wear:wear:1.2.0-alpha06 . Версия 1.2.0-alpha06 содержит следующие коммиты.

Изменения в API

  • Перенесите библиотеку «Текущие действия» в новую подбиблиотеку: wear-ongoing. Теперь занятия находятся в пакете androidx.wear.ongoing (ранее он назывался androidx.wear.ongoingactivities) ( I7c029 ).
  • Перенесите класс WearableCalendarContract из библиотеки Wearable Support Library в AndroidX. Этот API предоставляет подмножество данных, доступных через CalendarContract , но автоматически синхронизируется с носимыми устройствами. ( I6f2d7 )

Исправлены ошибки

  • Отключите функцию закрытия окна с помощью кнопки «Назад» по умолчанию в Dismissible FrameLayout, поскольку закрытие окна с помощью свайпа остается основным способом возврата на весь экран на носимых устройствах ( Ic24e3 ).
  • Исправлены некоторые проблемы с обработкой видимости дочерних элементов в WearArcLayout ( Icf912 ).

Версия 1.2.0-alpha05

13 января 2021 г.

Выпущена версия androidx.wear:wear:1.2.0-alpha05 . Версия 1.2.0-alpha05 содержит следующие коммиты.

Исправлены ошибки

  • Обновите документацию класса AmbientModeSupport, добавив примеры кода, которые лучше продемонстрируют общее использование этого класса.

Версия 1.2.0-alpha04

16 декабря 2020 г.

Выпущена версия androidx.wear:wear:1.2.0-alpha04 . Версия 1.2.0-alpha04 содержит следующие коммиты.

Изменения в API

  • Добавлена ​​поддержка указания на возможность «автоматического возобновления» активности при выходе устройства из фонового режима в классе AmbientModeSupport. Эта функциональность ранее была доступна в устаревшем классе WearableActivity из библиотеки WearableSupportLibrary. ( I336ab )
  • Текущая деятельность
    • Теперь категорию можно задать при создании объекта OngoingActivity, например, с помощью OngoingActivitiy.Builder.getCategory(String)
    • Теперь объект OngoingActivityData содержит метку времени создания объекта OngoingActivity — OngoingActivityData.getTimestamp()
    • ( I91cb4 )
  • Добавлена ​​поддержка установки отступов для дочерних элементов WearArcLayout путем изменения параметров компоновки таким образом, чтобы они наследовали MarginLayoutParams, то есть WearArcLayout.LayoutParams наследует android.view.ViewGroup.MarginLayoutParams. ( I2cd88 )
  • Измените тип привязки по умолчанию для WearCurvedTextView на WearArcLayout.ANCHOR_CENTER (ранее WearArcLayout.ANCHOR_START ). Это упростит взаимодействие между макетом дуги и изогнутым текстом, поскольку изогнутый текст по умолчанию центрируется по оси X вверху, а родительский макет дуги может повернуть его туда, куда нужно. ( I105ff )

Версия 1.2.0-alpha03

2 декабря 2020 г.

Выпущена версия androidx.wear:wear:1.2.0-alpha03 . Версия 1.2.0-alpha03 содержит следующие коммиты.

Новые функции

Новый контейнер макета DismissibleFrameLayout, обрабатывающий закрытие с помощью кнопки «Назад» и/или свайпа, предназначен для использования внутри активности. Для обработки действия закрытия необходимо добавить как минимум один слушатель. Слушатель обычно удаляет содержащий его элемент или фрагмент из текущей активности. Для прямого управления функциями предусмотрены методы setSwipeDismissible(boolean) и setBackButtonDismissible(boolean). Этот новый макет призван заменить существующий SwipeDismissFrameLayout.

Теперь изогнутые виджеты обрабатывают события касания. Обычные виджеты внутри WearArcLayout будут получать все события касания, отображаемые в их координатном пространстве. WearCurvedTextView (внутри WearArcLayout или вне его) может устанавливать обработчики событий onClick и onLongClick.

Теперь для классов текущих действий используются классы VersionedParcelables вместо пользовательской сериализации/десериализации. Статическая иконка и сенсорный интенты теперь обязательны.

Изменения в API

  • Атрибут "sweepDegrees" для WearCurvedTextView разделен на minSweepDegrees и maxSweepDegrees, что обеспечивает более гибкую компоновку этого виджета.

Версия 1.2.0-alpha02

11 ноября 2020 г.

Выпущена версия androidx.wear:wear:1.2.0-alpha02 . Версия 1.2.0-alpha02 содержит следующие коммиты.

В этом релизе впервые добавлен новый API для отслеживания текущих действий. Этот API может использоваться разработчиками для оповещения о том, что выполняется длительная активность, например, фитнес-тренировка или воспроизведение медиафайлов. Он позволяет разработчикам периодически обновлять статус, например, отображать «пройденное расстояние и время» или «воспроизводится текущий трек», на циферблате часов или в панели запуска приложений. Эта функциональность предназначена для будущих устройств с включенной функцией отслеживания текущих действий.

Изменения в API

  • Новый API для текущих действий, на "неподдерживаемых устройствах" он не работает. ( I69a31 )

Версия 1.2.0-alpha01

28 октября 2020 г.

Выпущена версия androidx.wear:wear:1.2.0-alpha01 . Версия 1.2.0-alpha01 содержит следующие коммиты.

Новые функции

  • Добавлен компонент WearCurvedTextView для удобного написания изогнутого текста, следующего кривизне наибольшей окружности, которую можно вписать в представление. Пример использования:
<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"
/>

Пример изогнутого текста в Android Wear

  • Добавлен контейнер WearArcLayout для размещения дочерних элементов по одному на дуге как по часовой, так и против часовой стрелки. Его дочерними элементами могут быть как стандартные виджеты Android, так и «изогнутые» виджеты, реализующие интерфейс ArcLayoutWidget. Пример использования:
<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>

Пример архитектурного текста в Android Wear

( I536da )

Версия 1.1

Версия 1.1.0

14 октября 2020 г.

Выпущена версия androidx.wear:wear:1.1.0 . Версия 1.1.0 содержит следующие коммиты.

Значительные изменения с версии 1.0.0

  • Добавлен префикс layout_ к атрибуту boxedEdges (теперь layout_BoxedEdges ) для BoxInsetLayout , чтобы соответствовать соглашениям об именовании Android. Это устранит ошибку линтера в Android Studio для этих атрибутов. ( I4272f )
  • Добавлен необязательный параметр EXTRA_ANIMATION_DURATION_MILLIS в ConfirmationActivity , позволяющий задать продолжительность отображения диалогового окна подтверждения. ( adb83ce , b/143356547 )
  • Внесены изменения WearableActionDrawView , чтобы задержка наполнения выдвижного ящика действием происходила до первого открытия ящика. ( I01026 , b/163870541 )

Версия 1.1.0-rc03

2 сентября 2020 г.

Выпущена версия androidx.wear:wear:1.1.0-rc03 . Версия 1.1.0-rc03 содержит следующие коммиты.

Исправлены ошибки

  • Исправлена ​​ошибка, из-за которой содержимое панели действий не отображалось при её открытии. ( I01026 , b/163870541 )

Версия 1.1.0-rc02

24 июня 2020 г.

Выпущена версия androidx.wear:wear:1.1.0-rc02 . Версия 1.1.0-rc02 содержит следующие коммиты.

Исправлены ошибки

  • Добавлен префикс layout_ к атрибуту boxedEdges (теперь layout_boxedEdges ) для BoxInsetLayout , чтобы соответствовать соглашениям об именовании Android. Это устранит ошибку линтера в Android Studio для этих атрибутов.

Версия 1.1.0-rc01

14 мая 2020 г.

Выпущена версия androidx.wear:wear:1.1.0-rc01 без изменений по сравнению с .1.0-beta01 . Версия 1.1.0-rc01 содержит следующие коммиты.

Версия 1.1.0-beta01

29 апреля 2020 г.

Выпущена версия androidx.wear:wear:1.1.0-beta01 без изменений по сравнению с androidx.wear:wear:1.1.0-alpha01 . Версия 1.3.0-beta01 содержит следующие коммиты.

Версия 1.1.0-alpha01

15 апреля 2020 г.

Выпущена версия androidx.wear:wear:1.1.0-alpha01 . Версия 1.1.0-alpha01 содержит следующие коммиты.

Изменения в API

  • Добавлен необязательный параметр EXTRA_ANIMATION_DURATION_MILLIS в ConfirmationActivity , позволяющий задать продолжительность отображения диалогового окна подтверждения. ( adb83ce , 134523c , b/143356547 )

Исправлены ошибки

  • Обновлена WearableActionDrawView , теперь надувание выдвижного ящика происходит с задержкой до первого открытия ящика. ( 5cd32f7 )

Взаимодействие с удаленным устройством

Версия 1.3.0

Версия 1.3.0-alpha01

19 мая 2026 г.

Выпущена версия androidx.wear:wear-remote-interactions:1.3.0-alpha01 . Версия 1.3.0-alpha01 содержит следующие коммиты .

Изменения в API

  • Добавлены startRemoteActivityAttemptUnlock и startPhoneActivityWithUnlock в RemoteActivityHelper , позволяющие приложениям Wear OS запускать активность на подключенном телефоне после разблокировки телефона при условии регистрации пользователем этой функции и наличия необходимых возможностей платформы. startRemoteActivityAttemptUnlock может вернуться к существующей startRemoteActivity , если она недоступна. ( Ic23ae , b/468374830 )

Версия 1.2

Версия 1.2.0

25 февраля 2026 г.

Выпущена версия androidx.wear:wear-remote-interactions:1.2.0 . Версия 1.2.0 содержит следующие изменения .

Важные изменения по сравнению с версией 1.1.0:

  • Обновлена RemoteActivityHelper.startRemoteActivity для использования нового общедоступного API Wear SDK ( startRemoteActivity ), если он доступен (начиная с Wear 6). Id1e77
  • Обновлена ​​зависимость от версии Play Basement, которая содержала уязвимость CVE-2022-2390.

Версия 1.2.0-rc01

28 января 2026 г.

Выпущена версия androidx.wear:wear-remote-interactions:1.2.0-rc01 . Версия 1.2.0-rc01 содержит следующие коммиты .

Исправлены ошибки

  • Обновлена ​​зависимость от версии Play Basement, которая содержала уязвимость CVE-2022-2390.

Версия 1.2.0-beta01

17 декабря 2025 г.

Выпущена версия androidx.wear:wear-remote-interactions:1.2.0-beta01 . Версия 1.2.0-beta01 содержит следующие изменения .

  • По сравнению с предыдущим альфа-релизом существенных изменений не наблюдается.

Версия 1.2.0-alpha01

2 июля 2025 г.

Выпущена версия androidx.wear:wear-remote-interactions:1.2.0-alpha01 . Версия 1.2.0-alpha01 содержит следующие коммиты .

Новые функции

  • Обновлена RemoteActivityHelper.startRemoteActivity для использования нового общедоступного API Wear SDK ( startRemoteActivity ), если он доступен (начиная с Wear 6). ( Id1e77 )

Версия 1.1

Версия 1.1.0

11 декабря 2024 г.

Выпущена версия androidx.wear:wear-remote-interactions:1.1.0 . Версия 1.1.0 содержит следующие изменения .

Важные изменения с версии 1.0.0

  • Мы добавили RemoteActivityHelper.isRemoteActivityHelperAvailable , который помогает проверить, доступна ли функция запуска удаленного действия. ( I107a9 )

Версия 1.1.0-rc01

16 октября 2024 г.

Выпущена androidx.wear:wear-remote-interactions:1.1.0-rc01 без изменений по сравнению с 1.1.0-beta01 . Версия 1.1.0-rc01 содержит следующие коммиты .

Версия 1.1.0-beta01

24 июля 2024 г.

Выпущена androidx.wear:wear-remote-interactions:1.1.0-beta01 . Версия 1.1.0-beta01 содержит следующие изменения . Выпуск 1.3.0-beta01 библиотеки Wear Remote Interactions указывает на то, что данный релиз является полностью функциональным, а API заблокирован (за исключением случаев, когда он помечен как экспериментальный).

Версия 1.1.0-alpha02

10 января 2024 г.

Выпущена версия androidx.wear:wear-remote-interactions:1.1.0-alpha02 . Версия 1.1.0-alpha02 содержит следующие коммиты.

Изменения в API

  • Мы добавили RemoteActivityHelper.isRemoteActivityHelperAvailable , который помогает проверить, доступна ли функция запуска удаленного действия. ( I107a9 )
  • Мы обновили конструктор RemoteActivityHelper , добавив необязательный параметр, совместимый с Java. ( I75554 )

Версия 1.1.0-alpha01

21 июня 2023 г.

Выпущена версия androidx.wear:wear-remote-interactions:1.1.0-alpha01 . Версия 1.1.0-alpha01 содержит следующие коммиты.

Исправлены ошибки

  • Улучшена обработка автодополнения и ошибок в RemoteActivityHelper . ( I60d60 )

Внешний вклад

  • Удалите зависимость от Guava из wear-remote-interactions и используйте более компактные альтернативы.

Износостойкость

Версия 1.2

Версия 1.2.0

10 сентября 2025 г.

Выпущены версии androidx.wear:wear-input:1.2.0 и androidx.wear:wear-input-testing:1.2.0 . Версия 1.2.0 содержит следующие коммиты .

Важные изменения по сравнению с версией 1.1.0:

  • Константы расположения физических кнопок, доступных для просмотра.
  • Добавлен WearableRemoteInputExtender для настройки дополнительных параметров, специфичных для Wear, в android.app.RemoteInput (например, включение ввода эмодзи).

Версия 1.2.0-rc01

27 августа 2025 г.

androidx.wear:wear-input:1.2.0-rc01 и androidx.wear:wear-input-testing:1.2.0-rc01 выпущены без изменений по сравнению с последней бета-версией. Версия 1.2.0-rc01 содержит следующие коммиты .

Версия 1.2.0-beta01

30 июля 2025 г.

Выпущены androidx.wear:wear-input:1.2.0-beta01 и androidx.wear:wear-input-testing:1.2.0-beta01 без существенных изменений по сравнению с предыдущими альфа-версиями. Версия 1.2.0-beta01 содержит следующие коммиты .

Версия 1.2.0-alpha04

16 июля 2025 г.

Выпущены androidx.wear:wear-input:1.2.0-alpha04 и androidx.wear:wear-input-testing:1.2.0-alpha04 . Версия 1.2.0-alpha04 содержит следующие коммиты .

Новые функции

  • При расчете расположения физических кнопок относительно экрана учитывайте поворот экрана. ( 87a57e )

Изменения в API

  • Переименуйте LOC * в LOCATION * в wear-input. ( I5e879 )

Исправлены ошибки

Версия 1.2.0-alpha02

29 сентября 2021 г.

Выпущены androidx.wear:wear-input:1.2.0-alpha02 и androidx.wear:wear-input-testing:1.2.0-alpha02 . Версия 1.2.0-alpha02 содержит следующие коммиты.

Изменения в API

  • Переименована disallowEmoji в setEmojisAllowed в WearableRemoteInputExtender для установки того, будет ли отображаться опция рисования эмодзи. ( I28393 )

Версия 1.2.0-alpha01

15 сентября 2021 г.

Выпущены androidx.wear:wear-input:1.2.0-alpha01 и androidx.wear:wear-input-testing:1.2.0-alpha01 . Версия 1.2.0-alpha01 содержит следующие коммиты.

Изменения в API

  • Отображаются все константы расположения кнопок из WearableButtons . ( Ibb12c )
  • Добавлен класс WearableRemoteInputExtender , который можно использовать для добавления дополнительных функций, специфичных для Wear, в android.app.RemoteInput. ( I01903 )

Версия 1.1

Версия 1.1.0

18 августа 2021 г.

Выпущены androidx.wear:wear-input:1.1.0 и androidx.wear:wear-input-testing:1.1.0 . Версия 1.1.0 содержит следующие коммиты.

Важные изменения с версии 1.0.0

  • Добавлен RemoteInputIntentHelper .
    • Этот класс можно использовать для создания объекта RemoteInput Intent. Затем его можно использовать для запроса ввода от пользователей в настраиваемом Activity.

Версия 1.1.0-rc01

4 августа 2021 г.

Выпущены версии androidx.wear:wear-input:1.1.0-rc01 и androidx.wear:wear-input-testing:1.1.0-rc01 . Версия 1.1.0-rc01 содержит следующие коммиты.

С момента выхода androidx.wear:wear-input:1.1.0-beta01 и androidx.wear:wear-input-testing:1.1.0-beta01 никаких изменений в API не наблюдалось.

Версия 1.1.0-beta01

21 июля 2021 г.

androidx.wear:wear-input:1.1.0-beta01 и androidx.wear:wear-input-testing:1.1.0-beta01 выпущены без изменений по сравнению с 1.1.0-alpha03 . Версия 1.1.0-beta01 содержит следующие коммиты.

Версия 1.1.0-alpha03

30 июня 2021 г.

Выпущены androidx.wear:wear-input:1.1.0-alpha03 и androidx.wear:wear-input-testing:1.1.0-alpha03 . Версия 1.1.0-alpha03 содержит следующие коммиты.

Исправлены ошибки

  • Исправлена ​​ошибка, из-за которой интенты RemoteInput, к которым были добавлены свойства RemoteInput через RemoteInputHelper.putRemoteInputsExtra , отклонялись.

Версия 1.1.0-alpha02

18 мая 2021 г.

Выпущены androidx.wear:wear-input:1.1.0-alpha02 и androidx.wear:wear-input-testing:1.1.0-alpha02 . Версия 1.1.0-alpha02 содержит следующие коммиты.

Изменения в API

  • В методах класса RemoteInputIntentHelper , используемых для получения или добавления дополнительных данных, представляющих метки заголовка, отмены, подтверждения и «в процессе», теперь используется CharSequence вместо String для этих меток. ( I0e71f )

Версия 1.1.0-alpha01

27 января 2021 г.

Выпущены androidx.wear:wear-input:1.1.0-alpha01 и androidx.wear:wear-input-testing:1.1.0-alpha01 . Версия 1.1.0-alpha01 содержит следующие коммиты.

Изменения в API

  • Перенесен класс RemoteInputIntent из библиотеки Wearable Support Library в AndroidX. Перенесенный класс переименован в RemoteInputIntentHelper и предоставляет вспомогательные функции для поддержки удаленного ввода путем запуска интента. ( I47cee )

Версия 1.0

Версия 1.0.0

2 декабря 2020 г.

Выпущены версии androidx.wear:wear-input:1.0.0 и androidx.wear:wear-input-testing:1.0.0 . Версия 1.0.0 содержит следующие коммиты.

Данный релиз идентичен версии 1.0.0-rc01 .

Основные особенности версии 1.0.0

  • Перенос функциональности WearableButtons из библиотеки Wearable Support Library в Jetpack.

  • Добавлен класс androidx.wear.input.test.TestWearableButtonsProvider , реализующий интерфейс androidx.wear.input.WearableButtonsProvider , для упрощения тестирования приложений, разработанных с использованием библиотеки androidx.wear:wear-input .

Версия 1.0.0-rc01

11 ноября 2020 г.

Выпущены версии androidx.wear:wear-input:1.0.0-rc01 и androidx.wear:wear-input-testing:1.0.0-rc01 . Версия 1.0.0-rc01 содержит следующие коммиты.

Данный релиз идентичен версии 1.0.0-beta01 .

Версия 1.0.0-beta01

28 октября 2020 г.

androidx.wear:wear-input:1.0.0-beta01 и androidx.wear:wear-input-testing:1.0.0-beta01 выпущены без изменений по сравнению с 1.1.0-alpha01 . Версия 1.0.0-beta01 содержит следующие коммиты.

Wear-Input-Testing Version 1.0.0-alpha01

14 октября 2020 г.

Выпущена версия androidx.wear:wear-input-testing:1.0.0-alpha01 . Версия 1.0.0-alpha01 содержит следующие коммиты.

Изменения в API

  • Добавлен androidx.wear.input.test.TestWearableButtonsProvider , реализующий интерфейс androidx.wear.input.WearableButtonsProvider , для упрощения тестирования приложений, разработанных с использованием библиотеки androidx.wear:wear-input . ( I0ed0c )

Wear-Input Version 1.0.0-alpha01

2 сентября 2020 г.

Выпущена версия androidx.wear:wear-input:1.0.0-alpha01 . Версия 1.0.0-alpha01 содержит следующие коммиты.

Новые функции

Перенос функциональности WearableButtons из библиотеки Wearable Support Library в Jetpack. Дополнительная поддержка тестирования будет добавлена ​​в библиотеку androidx.wear:wear-input-testing в следующем релизе Jetpack.

Постоянный износ

Версия 1.1

Версия 1.1.0

10 сентября 2025 г.

Выпущена версия androidx.wear:wear-ongoing:1.1.0 . Версия 1.1.0 содержит следующие коммиты .

Важные изменения по сравнению с версией 1.0.0:

  • В раздел «Текущие действия» добавлено поле описания контента, используемое службами обеспечения доступности.
  • В SDK 33 и выше добавлены аннотации RequiresPermission к API, требующим разрешения POST_NOTIFICATIONS .

Версия 1.1.0-rc01

27 августа 2025 г.

Выпущена androidx.wear:wear-ongoing:1.1.0-rc01 без изменений по сравнению с последней бета-версией. Версия 1.1.0-rc01 содержит следующие коммиты .

Версия 1.1.0-beta01

30 июля 2025 г.

Выпущена androidx.wear:wear-ongoing:1.1.0-beta01 без существенных изменений по сравнению с последней альфа-версией. Версия 1.1.0-beta01 содержит следующие коммиты .

Версия 1.1.0-alpha01

23 августа 2023 г.

Выпущена версия androidx.wear:wear-ongoing:1.1.0-alpha01 . Версия 1.1.0-alpha01 содержит следующие коммиты.

Изменения в API

  • Добавьте поле описания содержимого к разделу «Текущая активность». Оно будет использоваться службами обеспечения доступности для описания текущей активности. ( I79fc6 )

Исправлены ошибки

  • Добавлена ​​аннотация @RequiresPermission к API, требующим предоставления разрешения POST_NOTIFICATIONS в SDK 33 и выше. ( Ie542e , b/238790278 )

Версия 1.0

Версия 1.0.0

1 сентября 2021 г.

Выпущена версия androidx.wear:wear-ongoing:1.0.0 . Версия 1.0.0 содержит следующие коммиты.

Основные особенности версии 1.0.0

  • API для отслеживания текущей активности пользователей Wear Ongoing Activities — это API для разработчиков, в том числе сторонних разработчиков, используемый для пометки их активности как «текущей активности» и предоставления необходимой информации.
  • Под текущими действиями подразумеваются действия, которые могут выполняться в фоновом режиме на часах (например, тренировки, звонки и воспроизведение медиаконтента). На Wear 3 действие, объявленное как текущее, будет выделено более заметно с помощью специального значка на циферблате и другого отображения в панели запуска приложений.
  • Для получения более подробной информации см. Руководство по ношению одежды во время активной деятельности.

Версия 1.0.0-rc01

18 августа 2021 г.

Выпущена androidx.wear:wear-ongoing:1.0.0-rc01 без изменений по сравнению с 1.0.0-beta01 . Версия 1.0.0-rc01 содержит следующие коммиты.

Версия 1.0.0-beta01

4 августа 2021 г.

Выпущена версия androidx.wear:wear-ongoing:1.0.0-beta01 . Версия 1.0.0-beta01 содержит следующие коммиты.

Изменения в API

  • Некоторые методы-сеттеры в OngoingActivity.Builder теперь принимают аргумент null для обеспечения симметрии и согласованности методов-сеттеров и методов-геттеров ( I17ee5 ).

Версия 1.0.0-alpha06

2 июня 2021 г.

Выпущена версия androidx.wear:wear-ongoing:1.0.0-alpha06 . Версия 1.0.0-alpha06 содержит следующие коммиты.

Изменения в API

  • Добавить поле «Заголовок» в раздел «Текущие действия». ( I7a405 )

Исправлены ошибки

  • SerializationHelper.copy() теперь выполняет защитное копирование информации ( I8b276 ).
  • Улучшена документация по setCategory ( Iff01f )

Версия 1.0.0-alpha05

18 мая 2021 г.

androidx.wear:wear-ongoing:1.0.0-alpha05 is released. Version 1.0.0-alpha05 contains these commits.

Изменения в API

  • OngoingActivity now has getters to retrieve all values directly set via the Builder (or the defaults taken from the associated Notification). ( Id8ac8 )

    • The new class Status is now used to create the status of the the OngoingActivity
    • OngoingActivityData and OngoingActivityStatus are no longer part of the public API.
  • The classes TextStatusPart and TimerStatusPart are no longer part of the public API. ( I57fb6 )

    • To create a Part with a static text, use Status.TextPart .
    • To create a Part with a stopwatch (counting up), use Status.Stopwatch
    • To create a Part with a timer (counting down), use Status.Timer

Version 1.0.0-alpha04

5 мая 2021 г.

androidx.wear:wear-ongoing:1.0.0-alpha04 is released. Version 1.0.0-alpha04 contains these commits.

Изменения в API

  • On OngoingActivity, the methods fromExistingOngoingActivity are now called recoverOngoingActivity.
  • OngoingActivity now has a full set of getters, the same previously only available at OngoingActivityData. ( I0ee4d )

Wear-Phone-Interactions

Версия 1.1

Версия 1.1.0

26 февраля 2025 г.

androidx.wear:wear-phone-interactions:1.1.0 is released. Version 1.1.0 contains these commits .

Important changes since 1.0.0

  • This version contains crucial bug fix for Apps running on Wear OS 5 (API level 34) or higher and targeting API level 35 or higher.
  • Apps should update to this version of the library before updating their targetSdkVersion to 35 or higher.
  • Otherwise, runtime exception will be thrown.
  • A new definition for paired device type - none , when the device is not paired with the phone, has been added.

Версия 1.1.0-rc01

12 февраля 2025 г.

androidx.wear:wear-phone-interactions:1.1.0-rc01 is released with no notable changes since the last beta. Version 1.1.0-rc01 contains these commits .

Версия 1.1.0-beta01

January 29, 2025

androidx.wear:wear-phone-interactions:1.1.0-beta01 is released. Version 1.1.0-beta01 contains these commits .

Новые функции

The 1.1.0-beta01 release of Wear Phone Interactions indicates that this release of the library is feature complete and the API is locked (except where marked as experimental). Wear Phone Interactions 1.1 includes the following new functionalities and APIs:

  • Added property redirectUrl to OAuthRequest .
  • Documentation fixes
  • Additional type in PhoneTypeHelper to specify when device is not paired with phone, instead of using existing unknown type.

Изменения в API

  • Added new definition for paired device type - none, when device is not paired with the phone. ( I06cb8 )

Version 1.1.0-alpha05

December 11, 2024

androidx.wear:wear-phone-interactions:1.1.0-alpha05 is released. Version 1.1.0-alpha05 contains these commits .

Исправлены ошибки

  • Fix a crash bug when running on Wear OS 5 (API level 34) or higher while targeting API level 35 or higher. Apps should update to this version of the library before updating their targetSdkVersion to 35 or higher.

Version 1.1.0-alpha04

10 января 2024 г.

androidx.wear:wear-phone-interactions:1.1.0-alpha04 is released. Version 1.1.0-alpha04 contains these commits.

Изменения в API

  • We have added RemoteAuthClient.isRemoteAuthAvailable which checks whether remote auth is available. ( Ibc10c )

Version 1.1.0-alpha03

March 9, 2022

androidx.wear:wear-phone-interactions:1.1.0-alpha03 is released. Version 1.1.0-alpha03 contains these commits.

Исправлены ошибки

  • redirectUrl from OAuthRequest now returns an empty String if there the redirect URL is not set in the given request URL. ( I44242 )

Версия 1.1.0-alpha02

15 декабря 2021 г.

androidx.wear:wear-phone-interactions:1.1.0-alpha02 is released. Version 1.1.0-alpha02 contains these commits.

Исправлены ошибки

  • Fix the errors in RemoteAuthClient documentation, including error in code sample snippet and the dead link to ErrorCode ( I260e8 )

Версия 1.1.0-alpha01

15 сентября 2021 г.

androidx.wear:wear-phone-interactions:1.1.0-alpha01 is released. Version 1.1.0-alpha01 contains these commits.

Изменения в API

  • Added property redirectUrl to OAuthRequest. ( I98840 , Ie684d )

Версия 1.0

Wear-Phone-Interactions Version 1.0.1

15 декабря 2021 г.

androidx.wear:wear-phone-interactions:1.0.1 is released. Version 1.0.1 contains these commits.

Исправлены ошибки

  • Fixed exception was thrown from the BridgingManager when trying to disable bridging notifications without excludedTags .

Wear-Phone-Interactions Wear-Remote-Interactions

Версия 1.0

Version 1.0.0

15 сентября 2021 г.

androidx.wear:wear-phone-interactions:1.0.0 and androidx.wear:wear-remote-interactions:1.0.0 are released. Version 1.0.0 contains these commits.

Основные особенности версии 1.0.0

The Phone Interaction Library contains APIs for interactions from the Wearables to Phones. It contains the following:

  • PhoneDeviceType , providing helper methods for determining the type of phone the current watch is paired to, for use on Wearable devices only.
  • BridgingManager , BridgingManagerService and BridgingConfig APIs to enable/disable notifications at runtime and optionally set tags for notifications that are exempt from the bridging mode.
  • RemoteAuthClient , providing support for remote authentication on Wearables together with support for adding OAuth PKCE extension. Additional handlers and helper classes for communication are provided.

The Remote Interaction Library contains APIs for interactions between the Wearables and Phones. It contains the following:

  • WatchFaceConfigIntentHelper , providing helper functions to specify the ID and component name in the watch face configuration activities for the companion on the phone.
  • RemoteActivityHelper class which can be used for opening intents on other devices (ie from watch to phone).

Версия 1.0.0-rc01

September 1, 2021

androidx.wear:wear-phone-interactions:1.0.0-rc01 and androidx.wear:wear-remote-interactions:1.0.0-rc01 are released. Version 1.0.0-rc01 contains these commits.

Исправлены ошибки

  • Fix bug preventing errors raised within Google Play Services from being propagated to the caller when using RemoteActivityHelper ( I60d60 )
  • Fix bug where RemoteActivityHelper would never fulfill its Future if there were no connected nodes, or if the requested nodeId was not found ( I60d60 )

Версия 1.0.0-beta01

18 августа 2021 г.

androidx.wear:wear-phone-interactions:1.0.0-beta01 and androidx.wear:wear-remote-interactions:1.0.0-beta01 are released. Version 1.0.0-beta01 contains these commits.

Изменения в API

  • Renamed class RemoteIntentHelper to RemoteActivityHelper . Renamed functions RemoteIntentHelper#getRemoteIntentExtraIntent and RemoteIntentHelper#getRemoteIntentNodeId to RemoteActivityHelper#getTargetIntent and RemoteActivityHelper#getTargetNodeId , respectively. ( Id2042 )

Wear-Phone-Interactions Version 1.0.0-alpha07

August 4, 2021

androidx.wear:wear-phone-interactions:1.0.0-alpha07 is released. Version 1.0.0-alpha07 contains these commits.

Изменения в API

  • Renamed WearTypeHelper.isChinaDevice to WearTypeHelper.isChinaBuild . ( I47302 )
  • We have updated RemoteAuthClient library to automatically pick redirect_uri based on device type (RoW/China). ( I38866 )
  • Fixed bug that caused converting BridgingConfig to/from Bundle to fail with ClassCastException. Added unit tests for BridgingManagerService class. ( I68ecb )

Wear-Remote-Interactions Version 1.0.0-alpha06

August 4, 2021

androidx.wear:wear-remote-interactions:1.0.0-alpha06 is released. Version 1.0.0-alpha06 contains these commits.

Wear-Phone-Interactions Version 1.0.0-alpha06

July 21, 2021

androidx.wear:wear-phone-interactions:1.0.0-alpha06 is released. Version 1.0.0-alpha06 contains these commits.

Изменения в API

  • BridgingManagerSeviceBinder class is now a subclass of Service and is renamed to BridgingManagerSevice. ( I9fca2 )
  • Method RemoteAuthClient.Callback.onAuthorizationError is changed to include OAuthRequest parameter. Methods requiring callback now also require an executor for the callback to be run on. ( I35e11 )

Исправлены ошибки

  • We have made the authentication API clearer with more documented parameters and by using properties where possible. ( I12287 )

Wear-Phone-Interactions Version 1.0.0-alpha05

30 июня 2021 г.

androidx.wear:wear-phone-interactions:1.0.0-alpha05 is released. Version 1.0.0-alpha05 contains these commits.

Исправлены ошибки

  • Documented parameters that should be passed in constructor for BridgingConfig.Builder .

Wear-Remote-Interactions Version 1.0.0-alpha05

July 21, 2021

androidx.wear:wear-remote-interactions:1.0.0-alpha05 is released. Version 1.0.0-alpha05 contains these commits.

Изменения в API

  • We have added the RemoteIntentHelper class (previously RemoteIntent in the Wearable Support Library) which can be used for opening intents on other devices (ie from watch to phone). ( I1d7e0 )

  • The PlayStoreAvailability class has been removed from the AndroidX library. To detect whether the Play Store is available on a connected phone, use the androidx.phone.interactions.PhoneTypeHelper.getPhoneDeviceType method to determine if the connected phone is an Android phone. Then use the androidx.wear.utils.WearTypeHelper.isChinaDevice method to determine if the connected phone is a Chinese device. If the phone is an Android phone and if it is not a Chinese device then the Play Store will be available. ( Ie7dec )

Wear-Phone-Interactions Version 1.0.0-alpha04

7 апреля 2021 г.

androidx.wear:wear-phone-interactions:1.0.0-alpha04 is released. Version 1.0.0-alpha04 contains these commits.

Изменения в API

  • Updated ErrorCode constants to make the new library backwards compatible with the implementation in Wearable Support Library.

Исправлены ошибки

  • Fixed exception caused by new OAuth API when starting an OAuth session.

Wear-Remote-Interactions Version 1.0.0-alpha03

7 апреля 2021 г.

androidx.wear:wear-remote-interactions:1.0.0-alpha03 is released. Version 1.0.0-alpha03 contains these commits.

Изменения в API

  • Changed PlayStoreAvailability to be a class that contains companion object with static methods. Usage stays the same.

Исправлены ошибки

  • Fixed summary doc for WatchFaceConfigIntentHelper to correctly show sample code with actual HTML characters.

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

10 марта 2021 г.

androidx.wear:wear-ongoing:1.0.0-alpha03 and androidx.wear:wear-phone-interactions:1.0.0-alpha03 are released. Version 1.0.0-alpha03 contains these commits.

Новые функции

  • Migrate OAuthClient from Wearable Support Library to AndroidX. This migrated class is renamed to RemoteAuthClient and it gives support for remote authentication on Wearables together with support for adding OAuth PKCE extension. Additional handlers and helper classes for communication are provided.
  • Ongoing activities can now be associated with a Notification that has a tag, using the new OngoingActivity.Builder constructor.

Изменения в API

  • Added support for notification tags on the Ongoing Activities Library ( I653b4 )
  • Migrate OAuthClient from Wear Support Library to AndroidX, and add support for OAuth PKCE extension ( I3eaaa )

Wear-Remote-Interactions Version 1.0.0-alpha02

10 марта 2021 г.

androidx.wear:wear-remote-interactions:1.0.0-alpha02 is released. Version 1.0.0-alpha02 contains these commits.

Новые функции

  • Migrating PlayStoreAvailability class from Wearable Support Library to AndroidX which provides an API for checking whether the Play Store is available on the Phone.

Исправлены ошибки

  • Migrating PlayStoreAvailability class from Wearable Support Library to AndroidX. ( I69bfe )

Version 1.0.0-alpha02

February 10, 2021

androidx.wear:wear-ongoing:1.0.0-alpha02 and androidx.wear:wear-phone-interactions:1.0.0-alpha02 are released. Version 1.0.0-alpha02 contains these commits.

Изменения в API

  • Added support for more complex status. They are composed of a template (or several) and a series of Parts that will be used to fill the template's placeholders. OngoingActivityStatus now has a static method to create simple statuses with only one part (a Text or a Timer), and a Builder to create more complex statuses. ( I1fe81 )
  • Move BridgingManager and BridgingConfig classes from Wear Support Library to AndroidX which provides APIs to enable/disable notifications at runtime and optionally set tags for notifications that are exempt from the bridging mode. ( I3a17e )

Версия 1.0.0-alpha01

27 января 2021 г.

androidx.wear:wear-ongoing:1.0.0-alpha01 , androidx.wear:wear-phone-interactions:1.0.0-alpha01 , and androidx.wear:wear-remote-interactions:1.0.0-alpha01 are released. Version 1.0.0-alpha01 contains these commits.

Изменения в API

  • Migrate the Ongoing Activities library to a new sub-library: wear-ongoing. Classes now live in the androidx.wear.ongoing package (previously was androidx.wear.ongoingactivities) ( I7c029 )

  • Create a new support library to contain classes that support interactions from the Wearables to Phones. It is initially populated with classes migrated from Wearable Support Library. ( Id5180 )

  • Migrate PhoneDeviceType class from Wearable Support Library to AndroidX. The migrated class is renamed as PhoneTypeHelper which provides helper methods for determining the type of phone the current watch is paired to, for use on Wearable devices only. ( Ibd947 )

  • Create a new support library to contain classes that support interactions between the Wearables and Phones. It is initially populated with classes migrated from Wearable Support Library. ( I9deb4 )

  • Migrate WatchFaceCompanion class from Wearable Support Library to AndroidX. The migrated class is renamed as WatchFaceConfigIntentHelper which provides helper functions to specify the ID and component name in the watch face configuration activities in companion on the phone, it can also be used locally to configure the watch face on the wearable device. ( Ia455f )

Wear-Tooling-Preview

Версия 1.0

Version 1.0.0

29 ноября 2023 г.

androidx.wear:wear-tooling-preview:1.0.0 is released. Version 1.0.0 contains these commits.

Features in 1.0.0

  • Add WearDevices to list valid wear devices that can be used for UI previews.

Версия 1.0.0-rc01

15 ноября 2023 г.

androidx.wear:wear-tooling-preview:1.0.0-rc01 is released with no changes. Version 1.0.0-rc01 contains these commits.

Версия 1.0.0-beta01

October 18, 2023

androidx.wear:wear-tooling-preview:1.0.0-beta01 is released with no changes. Version 1.0.0-beta01 contains these commits.

Версия 1.0.0-alpha01

23 августа 2023 г.

androidx.wear:wear-tooling-preview:1.0.0-alpha01 is released. Version 1.0.0-alpha01 contains these commits.

Изменения в API

  • Add WearDevices to list valid wear devices that can be used for UI previews ( Ib036e )

Wear Complications and Watchface

Версия 1.0

Version 1.0.0-alpha22

15 сентября 2021 г.

androidx.wear:wear-*:1.0.0-alpha22 is released. Version 1.0.0-alpha22 contains these commits.

Новые функции

  • The EditorSession now subscribes to lifecycle observers so you no longer have to explicitly close it when your activity goes away.

Изменения в API

  • EditorSession and ListenableEditorSession now use kotlin StateFlows for complicationSlotsState, ComplicationsPreviewData and ComplicationsDataSourceInfo. ( I761d9 )
  • EditorSession#userStyle is now a MutableStateFlow<UserStyle> ( I32ca9 )
  • EditorSession.createOnWatchEditorSession now uses a lifecycle observer and it automatically closes when it observes onDestroy. In addition createOnWatchEditorSession now only requires the activity to be passed in. Identical changes have also been applied to ListenableEditorSession. ( Ic6b7f )
  • CustomValueUserStyleSetting's constructor has been reinstated as part of the public API. ( I2e69a )
  • UserStyle now inherits from Map<UserStyleSetting, UserStyleSetting.Option> and MutableUserStyleSetting#put throws IllegalArgumentException if the setting is not in the schema or if the option doesn't match the setting. ( Iba40f )

Version 1.0.0-alpha21

September 1, 2021

androidx.wear:wear-*:1.0.0-alpha21 is released. Version 1.0.0-alpha21 contains these commits.

Изменения в API

  • All public watch face, client, editor and complication APIs now use java.time.Instant for times rather than a Long, as a consequence the minimum API level has increased to 26. ( I3cd48 )
  • The watchface and complication APIs now use the immutable ZonedDateTime instead of Calendar. ( I25cf8 )
  • ComplicationSlots are now initialized with NoDataComplicationData, ComplicationSlot.complicationData now always has a value and CanvasComplicationDrawable.complicationData is no longer nullable. ( I4dfd6 ) This reduces (but doesn't eliminate) complication flickering when switching between watch faces.

Version 1.0.0-alpha20

18 августа 2021 г.

androidx.wear:wear-*:1.0.0-alpha20 is released. Version 1.0.0-alpha20 contains these commits.

Изменения в API

  • We have added createFallbackPreviewData to ComplicationDataSourceInfo which can be used when ComplicationDataSourceInfoRetriever.retrievePreviewComplicationData returns null. ( I38c4d )
  • ComplicationDataSourceUpdateRequester has been turned into an interface to allow mocking in unit tests. You can construct a concrete ComplicationDataSourceUpdateRequester with ComplicationDataSourceUpdateRequester.create(). ( I7da22 )
  • RenderParameters.pressedComplicationSlotIds has been replaced by RenderParameters.lastComplicationTapDownEvents which exposes the new TapEvent class which contains a triple of x, y coordinates of the tap in pixels and a time stamp. WatchFace.TapListener.onTap has been replaced by onTapEvent(@TapType tapType: Int, tapEvent: TapEvent) . In addition, InteractiveWatchFaceClient.displayPressedAnimation has been removed. ( Id87d2 )
  • Added explicit threading annotation for setImportantForAccessibility ( I990fa )
  • ComplicationSlotBoundsType has been moved to androidx-wear-watchface.ComplicationSlotBoundsType in wear/wear-watchface. ( I09420 )
  • We have added support for passing string resource ids into UserStyleSetting and Options. This is now the recommended way to construct those objects. ( I03d5f )
  • Limits have been imposed upon the maximum wire size of a UserStyle Schema. Also Icons in the schema must not be bigger than 400x400 pixels. ( I3b65b )
  • We added a MutableUserStyle class to support changes to UserStyle instances ( I95a40 )
  • We have renamed ListenableWatchFaceMetadataClient.Companion#listenableCreateWatchFaceMetadataClient to ListenableWatchFaceMetadataClient.Companion#createListenableWatchFaceMetadataClient . ( I64ce2 )
  • We've modified EditorState.previewComplicationsData to only contain data for enabled complications, and we've added EditorSession.DEFAULT_PREVIEW_TIME_MILLIS which if passed to renderWatchFaceToBitmap or PreviewScreenshotParams requests rendering with the watch face's default preview time. ( If7b3c )
  • We have removed UserStyleSetting constructors taking CharSequence from the public API. It's recommended to use the constructors that require StringResource IDs instead. ( I8537b )
  • CurrentUserStyleRepository.UserStyleChangeListener now supports SAM conversion. ( I85989 )

Version 1.0.0-alpha19

August 4, 2021

androidx.wear:wear-*:1.0.0-alpha19 is released. Version 1.0.0-alpha19 contains these commits.

Изменения в API

  • We've added ListenableWatchFaceMetadataClient.listenableCreateWatchFaceMetadataClient which provides a ListenableFuture wrapper for WatchFaceMetadataClient.createWatchFaceMetadataClient . ( I5fa37 )
  • UserStyleOption.getOptionForId now accepts UserStyleOption.Id instead of a byte array. ( I469be )
  • Provide constants BooleanOption.TRUE and BooleanOption.FALSE and disallow instance creation ( I46e09 )
  • Methods in wear-watchface-client that can throw RemoteException have now been annotated accordingly. ( Ib8438 )
  • For consistency we've renamed EditorSession.createOnWatchEditingSession to createOnWatchEditorSession , similarly createHeadlessEditingSession is now createHeadlessEditorSession . Their guava wrappers have also been renamed. ( I1526b )
  • EditorSession is now an interface and ListenableEditorSession.commitChangesOnClose is now properly delegated. ( I7dc3e )
  • We now reject any user style schema that has settings or options with conflicting IDs ( Ic2715 )
  • We have added an overloaded UserStyle.get which accepts UserStyleSetting.Id . ( I2aa0f )

Version 1.0.0-alpha18

July 21, 2021

androidx.wear:wear-*:1.0.0-alpha18 is released. Version 1.0.0-alpha18 contains these commits.

Изменения в API

  • We moved ComplicationHelperActivity to androidx.wear:wear-watchface library. ( I39e76 )
  • For consistency and clarity, ComplicationProvider has been renamed to ComplicationDataSource and all classes with Provider in their name have been similarly renamed. ( Iaef0b )
  • CanvasComplication.isHighlighted has been moved into RenderParameters.pressedComplicationSlotIds this is a step towards making CanvasComplication stateless. To support this change CanvasComplication.render now also takes the slotId as a parameter and we now pass the ComplicationSlot into GlesTextureComplication . ( I50e6e )
  • We have added headlessDeviceConfig to EditorRequest , if non null this parameter is used to construct a headless instance to back the EditorSession rather than acting on the interactive instance. This allows the editor to be invoked for a watch face that isn't the current one. ( I0a820 )
  • We've added an experimental WatchFaceMetadataClient which allows efficient retrieval of static watch face metadata such as the UserStyleSchema and fixed details about ComplicationSlots . ( I6bfdf )
  • We have renamed CanvasRenderer.uiThreadInit to init. ( I6fff9 )
  • We've added PreviewScreenshotParams an optional new parameter for EditorRequest which instructs EditorSession to take a preview screenshot on commit with these parameter. The preview image is exposed on EditorState.previewImage . ( Ic2c16 )

Исправлены ошибки

  • Developers no longer need to add ComplicationHelperActivity to their own manifest. ( I6f0c2 )

Version 1.0.0-alpha17

30 июня 2021 г.

androidx.wear:wear-*:1.0.0-alpha17 is released. Version 1.0.0-alpha17 contains these commits.

Новые функции

  • In GlesRenderer , makeUiThreadContextCurrent and makeBackgroundThreadContextCurrent have been replaced by runUiThreadGlCommands and runBackgroundThreadGlCommands which both accept a Runnable . The library ensures that only one GL command runnable is executing at any given time.

  • To make UiThread initialziaion easier we've added CanvasRenderer.uiThreadInit which is called once on the UiThread before any calls to render. We've also added onRendererCreated to CanvasComplication which makes it easier for Renderer and CanvasComplication to share state.

  • For clarity we have renamed Complication to ComplicationSlot and complicationId to either complicationSlotId or complicationInstanceId depending on usage

Изменения в API

  • For clarity we have renamed Complication to ComplicationSlot and complicationId to either complicationSlotId or complicationInstanceId depending on usage. Classes using Complication have similarly been renamed eg ComplicationsManager is now called ComplicationSlotsManager. ( I4da44 )
  • In GlesRenderer makeUiThreadContextCurrent and makeBackgroundThreadContextCurrent have been replaced by runUiThreadGlCommands and runBackgroundThreadGlCommands which both accept a Runnable . These functions are only needed if you need to make GL calls outside of render, runBackgroundThreadGlCommands and onUiThreadGlSurfaceCreated . This is required because there can be multiple GlesRenderers each with their own contexts in the same process, potentially from different watch faces. In addition access to the shared current GL context is now synchronized. ( I04d59 )
  • We have added CanvasRenderer.uiThreadInit which is called once on the UiThread before any calls to render. Also for clarity in GlesRenderer we have renamed onGlContextCreated to onBackgroundThreadGlContextCreated , and onGlSurfaceCreated to onUiThreadGlSurfaceCreated . ( If86d0 )
  • HeadlessWatchFaceClient & InteractiveWatchFaceClient getComplicationsSlotState has been renamed to getComplicationSlotsState . In ComplicationSlot : createRoundRectComplicationBuilder , createBackgroundComplicationBuilder , and createEdgeComplicationBuilder have been renamed to createRoundRectComplicationSlotBuilder , createBackgroundComplicationSlotBuilder , and createEdgeComplicationSlotBuilder respectively. ( Ib9adc )
  • We have added onRendererCreated to CanvasComplication which makes it easier for Renderer and CanvasComplication to share state. ( I5e1ac )

Version 1.0.0-alpha16

16 июня 2021 г.

androidx.wear:wear-*:1.0.0-alpha16 is released. Version 1.0.0-alpha16 contains these commits.

Новые функции

  • We've fixed a number of bugs related to the recent threading model changes as well as addressing other issues with the on watch face editor.

Исправлены ошибки

  • Prevent NPE in onComplicationProviderChooserResult ( b/189594557 )
  • Fix issues with stale surfaces and drawBlack ( b/189452267 )
  • Fix race in accessing complicationsManager.watchState ( b/189457893 )
  • Fix background thread lifetime bug ( b/189445428 )
  • Fix Pre-R Watch face Editor issues ( b/189126313 )
  • Don't update direct boot params for editor style changes ( b/187177307 )

Version 1.0.0-alpha15

2 июня 2021 г.

androidx.wear:wear-*:1.0.0-alpha15 is released. Version 1.0.0-alpha15 contains these commits.

Новые функции

The majority of watch face initialization is now done on a background thread, however after loading all watch face rendering etc is done on the UiThread. There is a memory barrier between loading and rendering so most user watch faces don't need to do anything special. Watch faces using GLES may be an exception since the context is thread specific and we create two linked contexts so it's possible to upload GL resources (eg textures and shaders) on the background thread and use them on the UiThread.

We have split the construction of watchfaces into three functions: createUserStyleSchema, createComplicationsManager and createWatchFace. We assume that createUserStyleSchema and createComplicationsManager are fast and createWatchFace may take some time to load assets. Taking advantage of this we have introduced WatchFaceControlClient.getDefaultProviderPoliciesAndType which returns a map of Complication Ids to DefaultComplicationProviderPolicies and the default ComplicationType. This is faster than creating a headless instance since it doesn't need to fully initialize the watch face to perform the query.

Finally complications are now constructed with a CanvasComplicationFactory which allows for lazy construction of the CanvasComplication renderers.

Изменения в API

  • Replaced @TargetApi with @RequiresApi . ( I0184a , b/187447093 , b/187447094 )
  • We have introduced WatchFaceControlClient.getDefaultProviderPoliciesAndType which returns a map of Complication Ids to DefaultComplicationProviderPolicies and the default ComplicationType. Where possible a fast path is used that avoids fully constructing a watch face. To facilitate this the WatchFaceService API has had to change with two new methods being: createUserStyleSchema and createComplicationsManager the results of which are passed into createWatchFace. In addition Complications are now constructed with a CanvasComplicationFactory which allows for lazy construction of the CanvasComplication renderers. ( Iad6c1 )
  • We have removed MOST_RECENT_APP from SystemProviders. ( I3df00 )
  • ObservableWatchData is now a sealed class. ( Ic940d )
  • CanvasComplicationFactory.create (which is typically io bound) is now called on a background thread for each complication before ui thread rendering commences. There is a memory barrier between construction and rendering so no special threading primitives are required. ( Ia18f2 )
  • Watchface construction is now done on a background thread although all rendering is done on the ui thread, GlesRenderer supports two linked contexts to support this. WatchFaceControlClient.createHeadlessWatchFaceClient and WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient may resolve before WatchFaceService.createWatchFace has completed. Subsequent API calls will block until watchFace initialization has completed. ( Id9f41 )
  • EXPANSION_DP and STROKE_WIDTH_DP are no longer visible in api.txt. ( I54801 )
  • We have made EditorSession.createOnWatchEditingSession throw TimeoutCancellationException if there's an error instead of sending a null session. Additionally, the return value of EditorRequest.createFromIntent and EditorSession.createOnWatchEditingSession is now NonNull. ( I41eb4 )

Version 1.0.0-alpha14

18 мая 2021 г.

androidx.wear:wear-*:1.0.0-alpha14 is released. Version 1.0.0-alpha14 contains these commits.

Новые функции

  • EditorSession.openComplicationProviderChooser now returns ChosenComplicationProvider which contains the complication id, ComplicationProviderInfo and a Bundle containing any additional extras returned by the provider chooser.
  • In addition we have been steadily migrating code to Kotlin and the majority of the watch face API is now defined in Kotlin.

Изменения в API

  • GlesRenderer properties eglContext and eglDisplay are now non-nullable. Any GL errors are now reported via GlesRenderer.GlesException rather than via RuntimeExceptions. ( Ib1005 )
  • We have migrated androidx.wear.watchface.complications.rendering.ComplicationDrawable from Java to Kotlin ( Ibc3eb )
  • We have migrated androidx.wear.watchface.complications.rendering.ComplicationStyle from Java to Kotlin ( I3375e )
  • We added information about the complication provider for each complication within EditorSession. ( I37f14 )
  • We extended the result of EditorSession.openComplicationProviderChooser to include information returned by the chosen. ( Iead6d )

Wear Complications & Watchface Version 1.0.0-alpha13

5 мая 2021 г.

androidx.wear:wear-*:1.0.0-alpha13 is released. Version 1.0.0-alpha13 contains these commits.

Новые функции

  • Watch faces can have important visual elements beyond showing the time and complications. To provide screen reader support for this, watchface can now specify accessibility ContentDescriptionLabels via the Renderer's additionalContentDescriptionLabels property. In addition, to control the ordering of ContentDescriptionLabels accessibilityTraversalIndex has been added to complications. This can be modified by a ComplicationsUserStyleSetting.

  • To encourage developers to carefully consider screen readers we have made ShortTextComplicationData.Builder 's, LongTextComplicationData.Builder 's and RangedValueComplicationData.Builder 's contentDescription field mandatory to be passed into their constructors. If ComplicationText.EMPTY is passed in for the contentDescription , a contentDescription will be automatically generated from the text and title.

  • WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient now throws ServiceStartFailureException if the watchface throws an exception during init, this makes it much easier to diagnose issues during watch face startup.

Изменения в API

  • We added support for having a null component name in ComplicationProviderInfo, which is needed to support older versions of Wear OS. ( I744d2 )
  • We have migrated androidx.wear.complications.SystemProviders from Java to Kotlin. ( Ia1f8b )
  • We have hidden all classes from public API that are in android.support.wearable.complications and created corresponding wrappers in AndroidX where needed. ( I7bd50 )
  • We have renamed method in TimeDifferenceComplicationText.Builder from setMinimumUnit to setMinimalTimeUnit . ( I20c64 )
  • We have made ShortTextComplicationData.Builder 's, LongTextComplicationData.Builder 's and RangedValueComplicationData.Builder 's contentDescription field mandatory to be passed in constructor. ( I8cb69 )
  • We have renamed ComplicationProviderService.onComplicationUpdate to onComplicationRequest and encapsulated id and type parameter of this method into data ComplicationRequest. Corresponding listener has been renamed to ComplicationRequestListener and its method ComplicationRequestListener.onComplicationData. ( Iaf146 )
  • We have removed method isActiveAt from ComplicationData and exposed field validTimeRange instead of it. This method call can be replaced with validTimeRange.contains . ( I65936 )
  • We have changed description of the method ComplicationProviderService.onComplicationActivated to receive a ComplicationType instead of an int. ( Idb5ff )
  • Migrated ProviderUpdateRequester from Java to Koltin. ( Ibce13 )
  • GlesRender.makeContextCurrent is now public. Watch face code may need to make gl calls outside of render and onGlContextCreated and because there may be both an interactive and a headless context its necessary to call this. ( I8a43c )
  • WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient now throws ServiceStartFailureException if the watchface throws during init. In addition WatchFaceService now throws an exception if createWatchFace takes longer than 6 seconds. ( I59b2f )
  • We have removed the unused id property of GlesTextureComplication . ( I28958 )
  • The watchface can now specify accessibility ContentDescriptionLabels via the Renderer 's additionalContentDescriptionLabels property. In addition to controlling the ordering of ContentDescriptionLabels accessibilityTraversalIndex has been added to complications. This can be modified by a ComplicationsUserStyleSetting. ( Ib7362 )
  • Expand documentation about touch event handling in the watch face. ( Iaf31e )

Исправлены ошибки

  • EditorSession.getComplicationsPreviewData() now returns a map for every rather only non-empty complications. An instance of EmptyComplicationData is used for empty complications. ( I1ef7e )

Wear Complications & Watchface Version 1.0.0-alpha12

21 апреля 2021 г.

androidx.wear:wear-*:1.0.0-alpha12 is released. Version 1.0.0-alpha12 contains these commits.

Новые функции

Watch face editors need to highlight parts of the watch face to help convery which aspect of a watch is being configured. We've extended RenderParameters to allow styles as well as complications to be highlighted. There's a new optional HighlightLayer which is intended to be matted on top of the watch face with alpha transparency (the screenshot apis can do this matting for you, or provide the HighlightLayer on its own for maximum flexibility). Eg suppose you had a style that lets you configure the appearance of the watch hands, your renderer in its renderHighlightLayer can draw an outline around them.

To encourage Complication Provider support for accessibility we have made PhotoImageComplicationData.Builder's, MonochromaticImageComplicationData.Builder's and SmallImageComplicationData.Builder's contentDescription field to be a mandatory constructor argument. ComplicationTapFilter and Complication.createEdgeComplicationBuilder have been added to support edge complications (drawn around the edge of the screen). Rendering and hit testing of edge complications is left up to the watch face. Edge hit testing isn't supported from the companion editor.

Изменения в API

  • Added PROVIDER_ prefix to constants in SystemProviders. ( I1e773 )
  • We have made PhotoImageComplicationData.Builder 's, MonochromaticImageComplicationData.Builder 's and SmallImageComplicationData.Builder 's contentDescription field mandatory to be passed in constructor. ( I9643a )
  • ProviderInfoRetriever.requestPreviewComplicationData has been renamed to retrievePreviewComplicationData . ( I911ee )
  • Migrated ComplicationProviderService from Java to Koltin. ( I849f2 )
  • Method ComplicationProviderService.onBind is now final ( I39af5 )
  • We've reinstated interface CanvasComplication and moved CanvasComplicaitonDrawable , GlesTextureComplication and ComplicationHighlightRenderer to wear-watchface-complications-rendering . ( I84670 )
  • RenderParameters has been refactored to support extended highlight rendering. It's now possible to request rendering of highlights for styles as well as all or a single complication. In addition CanvasRenderer and GlesRenderer how have a new abstract renderHighlightLayer method for rendering any highlighting requested by the editor. Layer has been renamed to WatchFaceLayer. ( Ic2444 )
  • ComplicationTapFilter and Complication.createEdgeComplicationBuilder have been added to support edge complications. Rendering and hit testing of edge complications is left up to the watch face. Hit testing isn't supported from within editors. ( Ia6604 )
  • For DoubleRangeUserStyleSetting & LongRangeUserStyleSetting : defaultValue , maximumValue and minimumValue are now kotlin properties. In addition, UserStyleSetting.Option functions like toBooleanOption, toCoplicationOptions, toListOption and similar have been removed. ( I52899 )
  • Add chin size to the properties of the device available to the watch face. ( I76e1e )
  • ComplicationHighlightRenderer 's constructor now accepts outlineExpansion and outlineStrokeWidth parameters. ( I87009 )
  • ComplicationDrawable.getNoDataText is now part of the public API. ( I00598 )

Version 1.0.0-alpha11

7 апреля 2021 г.

androidx.wear:wear-*:1.0.0-alpha11 is released. Version 1.0.0-alpha11 contains these commits.

Новые функции

  • More polish has been applied to the watch face APIs. Most of the changes are simple renamings but InteractiveWatchFaceWcsClient and InteractiveWatchFaceSysUiClient have been merged into InteractiveWatchFaceClient .

Изменения в API

  • ContentDescriptionLabel.text is now a ComplicationText rather than the old wearable support library TimeDependentText. ( I80c03 )
  • SystemProviders.GOOGLE_PAY is not guaranteed to be present on all Android R devices so it has been removed from the list. It's still possible to use this provider via DefaultComplicationProviderPolicy ( If01b5 )
  • We've renamed ComplicationUpdateCallback to ComplicationUpdateListener for consistency. ( I61ec7 )
  • The UserStyle wire format map has been changed to Map<String, byte[]> and for convenience a UserStyleData class has been added to the public API and is now used by wear-watchface-client and wear-watchface-editor. In addition CustomValueUserStyleSetting.CustomValueOption.value is now byte[] instead of String . ( Iaa103 )
  • UserStyleSetting and UserStyleSetting.Option now use UserStyleSetting.Id and UserStyleSetting.Option.Id respectively to store their ids rather than a String. ( I63f72 )
  • InteractiveWatchFaceClient.SystemState has been renamed to WatchUiState . ( I6a4e0 )
  • InteractiveWatchFaceWcsClient and InteractiveWatchFaceSysUiClient have been merged because it was hard to explain the division of responsibility ( Iff3fa )
  • Layer enum values have been renamed for clarity. Layer#TOP_LAYER is now Layer#COMPLICATIONS_OVERLAY and Layer#BASE_LAYER is now Layer#BASE ( Ia144e )
  • UserStyleListener has been renamed to UserStyleChangeListener ( I18524 )
  • UserStyleRepository has been renamed to CurrentUserStyleRepository ( I6ea53 )
  • InteractiveWatchFaceWcsClient.updateInstance has been renamed to updateWatchfaceInstance . ( I321dc )
  • WatchFace TapType events have been renamed to align with MotionEvents / Compose. ( I0dfd0 )
  • takeWatchfaceScreenshot has been renamed to renderWatchFaceToBitmap, and takeComplicationScreenshot has been renamed to renderComplicationToBitmap ( Ie0697 )
  • The CanvasComplication interface has been removed in favor of the open class CanvasComplicationDrawable. ( I1f81f )
  • WatcfaceControlServiceFactory has been removed from the public api. ( I1f8d3 )
  • We've renamed CanvasComplication.setData to CanvasComplication.loadData . ( If1239 )
  • ComplicationsManager.bringAttentionToComplication has been renamed to displayPressedAnimation . ( Ic4297 )
  • WatchFaceService.createWatchFace now has an @UiThread annotation. ( Ib54c2 )
  • Changed the name of a CanvasComplicationDrawable parameter to fix a bug. ( I50dac )
  • We've added HeadlessWatchFaceClient.toBundle() and HeadlessWatchFaceClient.createFromBundle to support sending HeadlessWatchFaceClient over AIDL. ( I07c35 )
  • HeadlessWatchFaceClient and InteractiveWatchFaceClient now have ClientDisconnectListener and isConnectionAlive() to allow you to observe if the connection is broken for some reason (eg the watchface being killed). ( Ie446d )
  • WatchFaceControlClient#getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync is now a suspend function and has been renamed to getOrCreateInteractiveWatchFaceClient . ( Ib745d )
  • EditorState.commitChanges and hasCommitChanges() has been renamed to shouldCommitChanges() . ( I06e04 )
  • previewComplicationData has been renamed to previewComplicationsData to indicate theres (usually) more than one complication in the map. ( I56c06 )
  • InteractiveWatchFaceWcsClient.bringAttentionToComplication has been renamed to displayPressedAnimation for consistency with ComplicationsManager.displayPressedAnimation . ( Ic9999 )
  • All instances of watchface instance id have been encapsulated in a new WatchFaceId class ( I45fdf )
  • complicationState property has been renamed to complicationsState to indicate plurality. ( Ided07 )
  • We've removed the various wear-watchface-client Binder conversions, they should be necessary. ( Icc4c0 )
  • For consistency EditorServiceClient has been refactored to use listeners instead of observers. ( Iec3a4 )
  • We've added a couple of missing @Px annotations to InteractiveWatchFaceSysUiClient and WatchFaceControlClient . ( I3277a )
  • Renamed EditorObserverCallback to EditorObserverListener for consistency. ( Ie572d )
  • EditorState.watchFaceInstanceId is restricted to Android R API level and above and is no longer nullable. ( Id52bb )
  • EditorSession.launchComplicationProviderChooser has been renamed to openComplicationProviderChooser . ( I9d441 )
  • EditorSession.createOnWatchEditingSessionAsync has been renamed to createOnWatchEditingSession and is now a suspend function. ( Id257b )
  • Added several missing @UiThread annotations on EditorSession . ( I6935c )
  • UserStyleSetting.affectsLayers has been renamed to affectedLayers . ( I6e22b )

Version 1.0.0-alpha10

24 марта 2021 г.

androidx.wear:wear-*:1.0.0-alpha10 is released. Version 1.0.0-alpha10 contains these commits.

Новые функции

  • It's now possible to create open gl objects (eg textures) during WatchFaceService.createWatchFace because GlesRenderer now requires an explicit call to initOpenGLContext which can be done inside createWatchFace.

Изменения в API

  • IdAndComplicationData was a bit awkward and has been removed from the public API. Classes & interfaces that used it have been refactored. ( I4c928 )
  • We've replaced ReferenceTime with CountUpTimeReference and CountDownTimeReference which are more self explanatory. ( Ib66c6 )
  • Added some missing @Px and @ColorInt annotations. ( I9bbc3 )
  • Complication.complicationConfigExtras is now non-nullable and defaults to Bundle.EMPTY . ( Iad04f )
  • GlesRenderer now requires you to call initOpenGLContext after construction. This function was an internal detail but is now on the public API to allow GL calls earlier inside createWatchFace. ( I726c2 )
  • We've removed Complication.setRenderer as it should not be needed. ( Ie992f )
  • Complicaiton.setComplicationBounds is no longer part of the public API. If you need to adjust the position of a complication, this can be done via ComplicationsUserStyleSetting . ( Ibd9e5 )
  • ComplicationsManager.TapCallback.onComplicationSingleTapped has been renamed to onComplicationTapped . ( I3a55c )
  • ComplicationOutlineRenderer.drawComplicationSelectOutline has been renamed to drawComplicationOutline . ( I14b88 )

Version 1.0.0-alpha09

10 марта 2021 г.

androidx.wear:wear-complications-*:1.0.0-alpha09 and androidx.wear:wear-watchface-*:1.0.0-alpha09 are released. Version 1.0.0-alpha09 contains these commits.

Новые функции

  • The interface between WCS/SysUI host and the on watch face has evolved. It's now possible for an editor to determine if a style change will enable or disable a complication (enabled = initiallyEnabled plus any override from ComplicationsUserStyleSetting). Also EditorService.closeEditor allows SysUI to remotely close an on watch face editor if needed.
  • In addition InteractiveWatchFaceWcsClient.setUserStyle with a more powerful command updateInstance which: changes the instance ID, sets the style, and clears complications all in one go.

Изменения в API

  • TraceEvents have been added to the watchface libraries. ( I1a141 )
  • ComplicationState now has a new property initiallyEnabled which is useful for predicting the consequences of switching styles. ( I8c905 )
  • We've replaced InteractiveWatchFaceWcsClient.setUserStyle with a more powerful command updateInstance which: changes the instance ID, sets the style, and clears complications. ( Ife6f6 )
  • WatchFaceClient screenshot APIs no longer compress the screenshots because that was slow, instead we leave any post processing up to the caller. ( Id35af )
  • It's now possible to remotely close an on watchface editor via EditorService.closeEditor . ( Ic5aa4 )
  • Added nullability annotations ( Ic16ed )

Version 1.0.0-alpha08

24 февраля 2021 г.

androidx.wear:wear-*:1.0.0-alpha08 is released. Version 1.0.0-alpha08 contains these commits.

Новые функции

  • Some watch faces are designed around one or more specific complications, to support this we've added Complication.Builder#setFixedComplicationProvider which if set to true prevents the user from changing the complication in that slot.
  • The watchface libraries are Kotlin first and use coroutines (eg suspend functions). For Java users we've provided ListenableFuture wrappers to improve interoperability in the following libraries: wear/wear-watchface-guava, wear/wear-watchface-client-guava & wear/wear-watchface-editor-guava.

Изменения в API

  • We've removed support for double taps on complications launching the provider chooser, this feature wasn't common in watchfaces and complicated the implementation of SysUI. ( I3ef24 )
  • ProviderInfoRetriever methods may throw ServiceDisconnectedException if the binder closes unexpectedly. ( Ib2cc4 )
  • From Android 11 onwards, there are restrictions on when the ProviderChooser can be run, in addition we'd like editors to be built with the new wear-watchface-editor so ComplicationHelperActivity is being removed from the public API. ( Ib19c1 )
  • Remove ComplicationText static methods in favor of builders. ( Ibe399 )
  • We have introduced guava ListenableFuture wrappers for the various watch face library suspended methods. ( I16b2c )
  • For API clarity we've added a secondary constructor to RenderParameters which doesn't require a tint, for use with LayerModes other than LayerMode.DRAW_OUTLINED . ( I497ea )
  • Previously ListUserStyleSetting was different from the other because it had a default argument. Now all the StyleSetting subclass constructors take the default value last. ( I9dbfd )
  • CanvasComplication has been refactored to use have a hidden method, which makes it easier to implement a subclass ( I5b321 )
  • We have refactored away EditorResult in favor of a new EditorService and EditorSession.broadcastState() to stream updates to an observer (typically SysUI). ( Ic4370 )
  • Some watchfaces are built around a particular complication as an integral part of the watch face where the provider is not user configurable. To support this we've added Complication.Builder#setFixedComplicationProvider . ( I4509e )
  • EditorRequest now specifies package name rather than ComponentName because it was inconvenient for SysUI to look up the class name of the editor, and we only really need the package name. ( Ib6814 )

Version 1.0.0-alpha07

February 10, 2021

androidx.wear:wear-*:1.0.0-alpha07 is released. Version 1.0.0-alpha07 contains these commits.

Новые функции

  • WatchFaceService.createWatchFace is now a suspend function which means the watchface no longer has to block the ui thread while waiting for IO. Similarly wear-watchface-editor and wear-complications-data

Изменения в API

  • Remove PhotoImage class and use Icon directly. ( I8a70b )
  • Expose the validTimeRange of ComplicationData. ( I91366 )
  • Make image-like attributes more explicit. ( I81700 )
  • wear-watchface-editor and wear-complications-data have been refactored to use suspend functions instead of coroutines. Rx java & Future compat wrappers to follow. ( If3c5f )
  • ProviderInfoRetriever now now throws PreviewNotAvailableException if requestPreviewComplicationData can't return preview data due to connection issues or lack of API support. ( I4964d )
  • WatchFaceControlService::createWatchFaceControlClient is now a suspended fuction and getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient is now called getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync returning Deferred<InteractiveWatchFaceWcsClient> . RX java and Future compat wrappers to follow. ( I5d461 )
  • Rename CATEGORY_PROVIDER_CONFIG_ACTION to CATEGORY_PROVIDER_CONFIG . ( I7c068 )
  • Please note createOnWatchEditingSession is now a suspended function because the watchface sometimes isn't available until shortly after the editor activity has started. ( Ida9aa )
  • WatchFaceService.createWatchFace is now a suspend function which allows for async initialization, previously you would have had to block the main thread. ( If076a )
  • UserStyle now has an array operator and we've added casting helpers to UserStyle.Option. ( I35036 )
  • We've fixed a marshalling bug with UserStyle wireformats changing some of the unstable hidden API. ( I8be09 )
  • We've added CustomValueUserStyleSetting which lets you store a single application specific string within a UserStyle. The default watch face editors will ignore this value. ( Ic04d2 )
  • InstanceID is not passed in the intent extras for R and older versions of Android WearOS which we can't upgrade. To support this we now allow InstancID to be null. ( Id8b78 )
  • EditorRequest now includes the editor ComponentName which is set as the component in WatchFaceEditorContract.createIntent ( I3cd06 )
  • The watchface EditorResult now includes preview ComplicationData to allow the caller to take a screenshot of the watchface after editing. ( I2c561 )

Исправлены ошибки

  • Added toString() overrides to UserStyle, UserStyleSetting and UserStyleSchema which makes working with these classes a bit nicer. ( I9f5ec )

Version 1.0.0-alpha06

27 января 2021 г.

androidx.wear:wear-*:1.0.0-alpha06 is released. Version 1.0.0-alpha06 contains these commits.

Новые функции

  • We've introduced a new library wear/wear-watchface-editor which allows watch face developers and potentially OEMs to build a style and complication editor. SysUI will send an Intent to the watch face which will use the new EditorSession class to access WatchFace details and record the result via Activity.setWatchRequestResult. To support this we've added ProviderInfoRetriever.requestPreviewComplicationData which allows watch face editors to request preview ComplicationData. The advantage of preview ComplicationData is unlike live data you don't have to worry about showing permission dialogs when rendering your editor (note if a user selects a provider with a permission they will still be prompted to grant the permission).

Изменения в API

  • ComplicationProviderInfo now has a field for the provider's ComponentName, support for this field will be added to WearOS at a later date and in the meantime, it will be null. ( Id8fc4 )
  • We've added ProviderInfoRetriever.requestPreviewComplicationData which allows watch face editors to request preview ComplicationData. This is useful because live complications may require permissions and you can now display preview data for complications that are not active. ( I2e1df )
  • ComplicationManager is now an optional parameter of WatchFace constructor and the arguments have been reordered to allow this. ( I66c76 )
  • We've added an optional Bundle to Complications which if set gets merged in with the intent sent to launch the provider chooser activity. ( Ifd4ad )
  • We've added a new wear-watchface-editor library to support on watch face and SysUi hosted editors. SysUI will launch these editors by sending an intent. The watch face activity service can use the new EditorSession class to access WatchFace details and record the result via Activity.setWatchRequestResult. ( I2110d )
  • LayerMode.DRAW_HIGHLIGHTED is now called LayerMode.DRAW_OUTLINED and RenderParameters.highlightComplicationId is now called RenderParameters.selectedComplicationId which draws a highlight on the specified complication in addition to an outline. ( I90a40 )
  • WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient's future can now resolve with a ServiceStartFailureException if the service dies while waiting for the watchface to be created. ( I0f509 )
  • EditorSession.complicationPreviewData is now a ListenableFuture because fetching this data is an asynchronous process. ( Iead9d )

Исправлены ошибки

  • We're removing unused fields from ComplicationOverlay leaving enabled and complicationBounds. ( I17b71 )

Version 1.0.0-alpha05

13 января 2021 г.

androidx.wear:wear-*:1.0.0-alpha05 is released. Version 1.0.0-alpha05 contains these commits.

Новые функции

Watchfaces often support a number of complication configurations with varying numbers of complications shown. To make this easier to set up we now support initially disabled complications by calling setEnabled(false) on the builder. These can be enabled later via ComplicationsUserStyleSetting.

Изменения в API

  • ComplicationHelperActivity now accepts Collection<ComplicationType> rather than an int array making it easier to use. ( I1f13d )
  • ProviderInfoRetriever.retrieveProviderInfo now correctly returns ListenableFuture<ProviderInfo[]> . ( If2710 )
  • You can now create an initially disabled complication by calling setEnabled(false) on the builder. ( Idaa53 )
  • WatchFaceState now has an isHeadless property which is only true for headless instances. ( Ifa900 )
  • ComplicationDrawable now optionally supports synchronous loading of drawables. This is used by the screenshot APIs. ( I34d4a )

Version 1.0.0-alpha04

December 16, 2020

androidx.wear:wear-*:1.0.0-alpha04 is released. Version 1.0.0-alpha04 contains these commits.

Новые функции

  • The wear watch face library now supports setting bounds per type. Eg you can switch to a wide bounding box for ComplicationType.LONG_TEXT whilst using a smaller bounding box for other types.

Изменения в API

  • Complications now use ComplicationBounds which wraps a Map<ComplicationType, RectF> to support per complication type sizes. ( I1ebe7 )
  • RenderParameters now lets you specify the highlight tint for use in screen shots. ( Iff42b )
  • With the exception of bounds you now have to use ComplicationsUserStyleSetting to modify complications, this is to ensure the OS is kept in sync. ( I8dc5d )
  • Renderer is now a sealed class. This means CanvasRenderer and GlesRenderer are now inner classes of Renderer. ( Iab5d4 , b/173803230 )
  • CanvasComplicationDrawable.drawHighlight renamed to drawOutline. ObservableWatchData now has a few missing UiThread annotations. ScreenState has now been fully removed from WatchState. ( If1393 )
  • The minimum API level for wear-watchface is now 25. Note hardware canvas support requires API level 26 or above. ( Ic9bbd )
  • InteractiveWatchFaceWcsClient now has a getComplicationIdAt helper. ( I05811 )
  • The API level for wear-watchface-client has been reduced to 25, however the screen shot APIs require API level 27. ( Id31c2 )

Исправлены ошибки

  • We now expose the complication's current ComplicationData's ComplicationType in ComplicationState. ( I9b390 )
  • InteractiveWatchFaceWcs now has a method `bringAttentionToComplication to briefly highlight the specified complication. ( I6d31c )
  • InteractiveWatchFaceWcsClient#setUserStyle now has an overload accepting Map which can potentially avoid an extra IPC round trip necessary to construct UserStyle. ( I24eec )

Version 1.0.0-alpha03

2 декабря 2020 г.

androidx.wear:wear-*:1.0.0-alpha03 is released. Version 1.0.0-alpha03 contains these commits.

Новые функции

The Complication class now has a compicationData property letting watch faces observe ComplicationData changes. This makes it possible to change the complication's dimensions based on the type of the complication.

Variable frame rates are now supported by assigning to Renderer.interactiveDrawModeUpdateDelayMillis. For watch faces which run short animations every second this can lead to good power savings by going to sleep when not animating.

Изменения в API

  • BACKGROUND_IMAGE has been renamed to PHOTO_IMAGE along with related classes. This type of complication is not exclusively used for backgrounds hence the name change. ( I995c6 )
  • DefaultComplicationProviderPolicy properly annotated with IntDefs. ( I3b431 )
  • The hidden TimeDependentText class is no longer exposed via ContentDescriptionLabel, instead we add an accessor to get the text at a specified time. ( Ica692 )
  • ObservableWatchData's constructor is now internal. ( I30121 , b/173802666 )
  • Complication now has compicationData letting watch faces observe ComplicationData changes. Complication also has a new isActiveAt call which can be used to tell if anything should be rendered at the provided datetime. ( Ic0e2a )
  • The empty SharedMemoryImage is no longer in the public API. ( I7ee17 )
  • WatchFace.overridePreviewReferenceTimeMillis now has an IntRange annotation and the getter and setter have consistent names. ( Ia5f78 )
  • Complication.Builder is now created via Complication.createRoundRectComplicationBuilder or Complication.createBackgroundComplicationBuilder for clarity ( I54063 )
  • Added WatchFace.TapListener which allows taps not consumed by complications to be observed by the WatchFace. ( Ic2fe1 , b/172721168 )
  • WatchFace now supports variable frame rates by assigning to Renderer.interactiveDrawModeUpdateDelayMillis . This can help preserve battery life by sleeping when not animating. ( I707c9 )
  • WatchFace.Builder is no longer needed and invalidate() and interactiveUpdateRateMillis have been moved to Renderer. ( I329ea )
  • For better java interoperability renamed getters for boolean properties in WatchState ( I6d2f1 )
  • Renamed TapListener to TapCallback and InvalidateCallback to InvalidateListener for consistency. ( I9414e )
  • Wear 2.0 watchface style options have been moved to their own class for clarity. WatchFace.Builder setters now have symmetrical WatchFace class getters. ( Iefdfc )
  • Added InteractiveWatchFaceWcsClient and WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient which either gets an existing instance or creates it once the wallaper service has connected and made the engine. ( Id666e )
  • WatchFaceControlClient is now an interface to allow tests to mock it. ( I875d9 )
  • HeadlessWatchFaceClient, InteractiveWatchFaceSysUiClientImpl, InteractiveWatchFaceWcsClient are now interfaces to better facilitate testing. ( I7cdc3 )
  • Added annotations to methods in wear-watchface-complications-rendering ( I0d65c )

Исправлены ошибки

  • Remove screen shape from DeviceConfig, which was duplicating android.content.res.Configuration#isScreenRound() ( Ifadf4 )
  • Changed WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient to accept a Map<String, String> instead of UserStyle because it's hard to create a UserStyle without knowing the schema which you can only get after the client has been created. ( Iea02a )
  • Fix InteractiveWatchFaceWcsClient to use ComplicationState instead of the wire format. ( Icb8a4 )
  • UserStyleSettings is now a sealed class because the watch face editors only understand the built in classes. ( I2d797 )

Version 1.0.0-alpha02

November 11, 2020

androidx.wear:wear-*:1.0.0-alpha02 is released. Version 1.0.0-alpha02 contains these commits.

Изменения в API

  • ComplicationDetails is now called ComplicationState and is properly wrapped and usages of wearable support @ComplicationData.ComplicationType have been migrated to androidx ComplicationType . ( I4dd36 )
  • Add an optional highlightedComplicationId parameter to RenderParameters which allows you to request highlighting of a single complication in screenshots. ( I66ce9 )
  • ComplicationProviderService to use new style complication api for consistency ( Id5aea )
  • getPreviewReferenceTimeMillis now gets reference times from DeviceConfig . ( I779fe )
  • Simplifying Renderer API surface, can use SurfaceHolder.Callback to observe changes instead. ( I210db )
  • CanvasComplicationRenderer doesn't extend from Renderer , renaming it for clarity. ( Ibe880 )

Исправлены ошибки

  • First version of androidx.wear:wear-watchface-client ( I1e35e )
  • Changed the name of GlesTextureComplication#renderer for clarity ( Ib78f7 )
  • Rename StyleCategory to StyleSetting for clarity ( I488c7 )
  • Adding UserStyleSchema for a cleaner API ( If36f8 )

Версия 1.0.0-alpha01

28 октября 2020 г.

androidx.wear:wear-complications-*:1.0.0-alpha01 and androidx.wear:wear-watchface-*:1.0.0-alpha01 are released. Version 1.0.0-alpha01 contains these commits.

Изменения в API

  • Removed some things we didn't intend to expose in public api. ( I41669 )
  • Create androidx.wear:wear-complications-provider library. ( I77f1f )
  • ComplicationsUserStyleCategory the new recommended category for configuring complications ( I96909 )
  • Add wear-complication-data API. ( I7c268 )
  • Functions with boolean return values to be prefixed with “is” rather than “get” ( If36ff )
  • API advice is to avoid using protected so this class has been refactored to take parameters in via the constructor. ( I61644 )
  • Rename setBackgroundComplication for clarity. ( I96fe3 )
  • Use Kotlin properties for ComplicationDrawable isHighlighted & data ( I4dcc8 )
  • Instead of ComplicationRenderer.InvalidateCallback we add Complication#invalidate() ( I4f4c6 )
  • These APIs are being deprecated in WearableSupport and are removed here. ( Ib425c )
  • Renamed some WatchFace builder methods to emphasize their wear 2.0 legacy nature. ( Idb775 )
  • First beta API candidate for wear/wear-watchface ( Id3981 )
  • First tracked version of the API. ( Ie9fe6 )
  • Properly hiding ComplicationDrawable.BorderStyle IntDef and move to ComplicationStyle for consistency. ( I27f7a )
  • Adding missing annotations for ComplicationStyle methods ( I838fd )
  • This library has no public API surface ( I88e2b )
  • All style category Option classes are now properly final. ( Ib8323 )
  • First tracked version of the API. ( I27c85 )

Исправлены ошибки

  • Changed ComplicationProviderService to have an explicit getComplicationPreviewData method. ( I4905f )
  • API lint check for MissingGetterMatchingBuilder is enabled for androidx ( I4bbea , b/138602561 )
  • Rename wear-complications-rendering. ( Ifea02 )
  • Style category display names are now CharSequences ( I28990 )
  • Replacing Override with Overlay to match current themes & styles naming conventions. ( I4fde9 )
  • Renamed UserStyle#getOptions for clarity. ( I695b6 )