Wear

Wear OS by Google スマートウォッチ向けのアプリを作成します。

androidx.wear グループ内のすべてのアーティファクトのリストを以下に示します。

アーティファクト 現在の安定版リリース 次のリリース候補 ベータ版リリース アルファ版リリース
wear 1.1.0 - - 1.2.0-alpha10
wear-input 1.0.0 - - 1.1.0-alpha02
wear-complications-data - - - 1.0.0-alpha15
wear-complications-provider - - - 1.0.0-alpha15
wear-watchface - - - 1.0.0-alpha15
wear-watchface-client - - - 1.0.0-alpha15
wear-watchface-complications-rendering - - - 1.0.0-alpha15
wear-watchface-data - - - 1.0.0-alpha15
wear-watchface-editor - - - 1.0.0-alpha15
wear-watchface-style - - - 1.0.0-alpha15
wear-ongoing - - - 1.0.0-alpha06
wear-phone-interactions - - - 1.0.0-alpha04
wear-remote-interactions - - - 1.0.0-alpha03
このライブラリの最終更新日: 2021 年 6 月 2 日

依存関係の宣言

Wear への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。

アプリまたはモジュールの build.gradle ファイルに、必要なアーティファクトの依存関係を追加します。

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

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

    // Use to implement wear watchface complications
    implementation "androidx.wear:wear-complications-provider:1.0.0-alpha13"

    // Use to implement wear watchfaces
    implementation "androidx.wear:wear-watchface:1.0.0-alpha13"

    // Use to implement a watchface style and complication editor
    implementation "androidx.wear:wear-watchface-editor:1.0.0-alpha13"

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

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

依存関係について詳しくは、ビルド依存関係の追加をご覧ください。

フィードバック

お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。

新しい問題を報告する

詳細については、Issue Tracker のドキュメントをご覧ください。

Wear Ongoing および Interactions バージョン 1.0.0

Wear-Ongoing バージョン 1.0.0-alpha06

2021 年 6 月 2 日

androidx.wear:wear-ongoing:1.0.0-alpha06 がリリースされました。バージョン 1.0.0-alpha06 に含まれるコミットについては、こちらをご覧ください。

API の変更

  • Ongoing Activity に Title フィールドを追加しました。(I7a405

バグの修正

  • SerializationHelper.copy() が情報の防衛的コピーを行うようになりました(I8b276
  • setCategory のドキュメントを改善しました(Iff01f

Wear-Ongoing バージョン 1.0.0-alpha05

2021 年 5 月 18 日

androidx.wear:wear-ongoing:1.0.0-alpha05 がリリースされました。バージョン 1.0.0-alpha05 に含まれるコミットについては、こちらをご覧ください

API の変更

  • OngoingActivity に、ビルダーを介して直接設定されたすべての値(または関連する通知から取得されたデフォルト値)を取得するゲッターが追加されました。(Id8ac8

    • 新しいクラス Status を使用して、OngoingActivity のステータスを作成できるようになりました。
    • OngoingActivityDataOngoingActivityStatus が公開 API から除外されました。
  • クラス TextStatusPart および TimerStatusPart が公開 API から除外されました。(I57fb6

    • 静的テキストを含む Part を作成するには、Status.TextPart を使用します。
    • ストップウォッチ(カウントアップ)を含む Part を作成するには、Status.Stopwatch を使用します。
    • タイマー(カウントダウン)を含む Part を作成するには、Status.Timer を使用します。

Wear-Ongoing バージョン 1.0.0-alpha04

2021 年 5 月 5 日

androidx.wear:wear-ongoing:1.0.0-alpha04 がリリースされました。バージョン 1.0.0-alpha04 に含まれる commit については、こちらをご覧ください

API の変更

  • OngoingActivity で、メソッド fromExistingOngoingActivity の名前が recoverOngoingActivity に変更されました。
  • OngoingActivity に、以前は OngoingActivityData でのみ使用可能だったゲッターの完全なセットが装備されました。(I0ee4d

Wear-Phone-Interactions バージョン 1.0.0-alpha04

2021 年 4 月 7 日

androidx.wear:wear-phone-interactions:1.0.0-alpha04 がリリースされました。バージョン 1.0.0-alpha04 に含まれる commit については、こちらをご覧ください

API の変更

  • 新しいライブラリがウェアラブル サポート ライブラリの実装と下位互換性を持てるように、ErrorCode 定数を更新しました。

バグの修正

  • OAuth セッションを開始する際に新しい OAuth API によって発生する例外を修正しました。

Wear-Remote-Interactions バージョン 1.0.0-alpha03

2021 年 4 月 7 日

androidx.wear:wear-remote-interactions:1.0.0-alpha03 がリリースされました。バージョン 1.0.0-alpha03 に含まれるコミットについては、こちらをご覧ください

API の変更

  • PlayStoreAvailability を、静的メソッドを使用したコンパニオン オブジェクトを含むクラスに変更しました。使用方法は変わりません。

バグの修正

  • 実際の HTML 文字を使用したサンプルコードを正しく表示できるように、WatchFaceConfigIntentHelper の概要ドキュメントを修正しました。

Wear-Ongoing Wear-Phone-Interactions バージョン 1.0.0-alpha03

2021 年 3 月 10 日

androidx.wear:wear-ongoing:1.0.0-alpha03androidx.wear:wear-phone-interactions:1.0.0-alpha03 がリリースされました。バージョン 1.0.0-alpha03 に含まれるコミットについては、こちらをご覧ください。

新機能

  • Wearable サポート ライブラリから AndroidX に OAuthClient を移行しました。この移行されたクラスの名前を RemoteAuthClient に変更し、Wearable でのリモート認証のサポートと OAuth PKCE 拡張機能のサポートを追加しました。通信用の追加のハンドラとヘルパークラスを用意しました。
  • 進行中のアクティビティは、新しい OngoingActivity.Builder コンストラクタを使用して、タグを持つ通知に関連付けることができます。

API の変更

  • Ongoing Activities ライブラリ(I653b4)の通知タグのサポートを追加しました。
  • Wear サポート ライブラリから AndroidX に OAuthClient を移行し、OAuth PKCE 拡張機能のサポートを追加しました(I3eaaa

Wear-Remote-Interactions バージョン 1.0.0-alpha02

2021 年 3 月 10 日

androidx.wear:wear-remote-interactions:1.0.0-alpha02 がリリースされました。バージョン 1.0.0-alpha02 に含まれる commit については、こちらをご覧ください。

新機能

  • ウェアラブル サポート ライブラリから AndroidX に PlayStoreAvailability クラスを移行しました。AndroidX は、スマートフォンで Play ストアが利用できるかどうかを確認する API を提供します。

バグの修正

  • ウェアラブル サポート ライブラリから AndroidX に PlayStoreAvailability クラスを移行しました。(I69bfe

バージョン 1.0.0-alpha02

2021 年 2 月 10 日

androidx.wear:wear-ongoing:1.0.0-alpha02androidx.wear:wear-phone-interactions:1.0.0-alpha02 がリリースされました。バージョン 1.0.0-alpha02 に含まれる commit については、こちらをご覧ください

API の変更

  • より複雑なステータスのサポートを追加しました。これは、1 つまたは複数のテンプレートと、テンプレートのプレースホルダを埋める一連のパーツで構成されます。OngoingActivityStatus に、1 つのパーツだけ(テキストまたはタイマー)のシンプルなステータスを作成するための静的メソッドと、より複雑なステータスを作成するためのビルダーが追加されました。(I1fe81
  • BridgingManager クラスと BridgingConfig クラスを、Wear サポート ライブラリから AndroidX に移動します。これにより、実行時に通知を有効または無効にする API、およびブリッジモードの対象外の通知に対して必要に応じてタグを設定する API が提供されます。(I3a17e

バージョン 1.0.0-alpha01

2021 年 1 月 27 日

androidx.wear:wear-ongoing:1.0.0-alpha01androidx.wear:wear-phone-interactions:1.0.0-alpha01androidx.wear:wear-remote-interactions:1.0.0-alpha01 がリリースされました。バージョン 1.0.0-alpha01 に含まれるコミットについては、こちらをご覧ください

API の変更

  • Ongoing Activities ライブラリを新しいサブライブラリ wear-ongoing に移行しました。現在、クラスは androidx.wear.ongoing パッケージ(以前は androidx.wear.ongoingactivities)に存在します。(I7c029

  • ウェアラブルからスマートフォンへのインタラクションをサポートするクラスを含む新しいサポート ライブラリが作成されました。初期段階では、ウェアラブル サポート ライブラリから移行されたクラスが含まれます。(Id5180

  • PhoneDeviceType クラスをウェアラブル サポート ライブラリから AndroidX に移行しました。移行されたクラスの名前は PhoneTypeHelper に変更されました。このクラスは、現在のスマートウォッチがペア設定されているスマートフォンのタイプを判別するためのヘルパー メソッドを提供します(このクラスは、ウェアラブル デバイスのみで利用できます)。(Ibd947

  • ウェアラブルとスマートフォン間のインタラクションをサポートするクラスを含む新しいサポート ライブラリを作成しました。初期段階では、ウェアラブル サポート ライブラリから移行されたクラスが含まれます。(I9deb4

  • WatchFaceCompanion クラスをウェアラブル サポート ライブラリから AndroidX に移行しました。移行されたクラスの名前は WatchFaceConfigIntentHelper に変更されました。このクラスは、スマートフォン上のコンパニオンのウォッチフェイス構成アクティビティで ID とコンポーネント名を指定するためのヘルパー関数を提供します。ウェアラブル デバイス上でウォッチフェイスを構成するためにローカルで使用することもできます。(Ia455f

Wear Complications と Watchface 1.0.0

バージョン 1.0.0-alpha15

2021 年 6 月 2 日

androidx.wear:wear-*:1.0.0-alpha15 がリリースされました。バージョン 1.0.0-alpha15 に含まれる commit については、こちらをご覧ください

新機能

ウォッチフェイスの初期化の大部分はバックグラウンド スレッドで行われるようになりましたが、すべてのウォッチフェイスの読み込みが終わった後のレンダリングなどは UiThread で行われます。読み込みとレンダリングの間にはメモリバリアがあるため、ほとんどのユーザー ウォッチフェイスでは特別なことをする必要はありません。GLES を使用するウォッチフェイスは、コンテキストがスレッド固有であるため例外です。GL リソース(テクスチャやシェーダーなど)をバックグラウンド スレッドにアップロードして UiThread で使用できるように、2 つのリンクされたコンテキストを作成しています。

ウォッチフェイスの構築を、createUserStyleSchema、createComplicationsManager、createWatchFace の 3 つの関数に分割しました。createUserStyleSchema と createComplicationsManager は高速ですが、createWatchFace はアセットの読み込みに時間がかかる場合があります。これを活用して、Complication ID から DefaultComplicationProviderPolicies とデフォルトの ComplicationType へのマップを返す、WatchFaceControlClient.getDefaultProviderPoliciesAndType が導入されました。このクエリは、ウォッチフェイスの完全な初期化を必要としないため、ヘッドレス インスタンスの作成よりも高速です。

最後に、ウォッチフェイスの追加機能は、CanvasComplication レンダラの遅延構築を可能にする CanvasComplicationFactory を使用して構築されるようになりました。

API の変更

  • @TargetApi@RequiresApi に変更されました。(I0184ab/187447093b/187447094
  • Complication ID から DefaultComplicationProviderPolicies とデフォルトの ComplicationType へのマップを返す、WatchFaceControlClient.getDefaultProviderPoliciesAndType が導入されました。可能であれば、ウォッチフェイスの完全な構築を避ける高速パスを使用します。これを助けるため、WatchFaceService API を、createUserStyleSchema と createComplicationsManager という新しいメソッドを使って変更する必要がありました。これらの結果は createWatchFace に渡されます。さらに、ウォッチフェイスの追加機能は、CanvasComplication レンダラの遅延構築を可能にする CanvasComplicationFactory を使用して構築されるようになりました。(Iad6c1
  • SystemProviders から MOST_RECENT_APP を削除しました。(I3df00
  • ObservableWatchData は、シールクラスになりました。(Ic940d
  • CanvasComplicationFactory.create(通常は IO 律速)は、UI スレッドでのレンダリング開始前、追加機能ごとにバックグラウンド スレッドが呼び出されるようになりました。構築とレンダリングの間にメモリバリアがあるため、特別なスレッド プリミティブは必要ありません。(Ia18f2
  • ウォッチフェイスの構築はバックグラウンド スレッドで行われ、レンダリングはすべて UI スレッドで行われますが、これに対応するために、GlesRenderer では 2 つのリンクされたコンテキストをサポートしています。WatchFaceControlClient.createHeadlessWatchFaceClient と WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient は WatchFaceService.createWatchFace が完了する前に解決できる場合があります。それに続く API 呼び出しは、watchFace の初期化が完了するまでブロックされます。(Id9f41
  • EXPANSION_DP と STROKE_WIDTH_DP は、api.txt で不可視となりました。(I54801
  • EditorSession.createOnWatchEditingSession を、エラーが発生した場合に null セッションを送信するのではなく、TimeoutCancellationException をスローするようにしました。さらに、EditorRequest.createFromIntent と EditorSession.createOnWatchEditingSession の戻り値を NonNull にしました。(I41eb4

バージョン 1.0.0-alpha14

2021 年 5 月 18 日

androidx.wear:wear-*:1.0.0-alpha14 がリリースされました。バージョン 1.0.0-alpha14 に含まれるコミットについては、こちらをご覧ください

新機能

  • EditorSession.openComplicationProviderChooser は、ウォッチフェイスの追加機能の ID(ComplicationProviderInfo)を含む ChosenComplicationProvider と、プロバイダ選択アクティビティによって返される追加のエクストラを含む Bundle を返すようになりました。
  • さらに、コードの Kotlin への移行が着実に進んでおり、現在はほとんどのウォッチフェイス API が Kotlin で定義されています。

API の変更

  • GlesRenderer プロパティ eglContext および eglDisplay が null 値非許容型になりました。GL エラーは、RuntimeExceptions ではなく GlesRenderer.GlesException で報告されるようになりました。(Ib1005
  • androidx.wear.watchface.complications.rendering.ComplicationDrawable を Java から Kotlin に移行しました。(Ibc3eb
  • androidx.wear.watchface.complications.rendering.ComplicationStyle を Java から Kotlin に移行しました。(I3375e
  • EditorSession 内のウォッチフェイスの追加機能ごとに、ウォッチフェイスの追加機能プロバイダに関する情報を追加しました。(I37f14
  • EditorSession.openComplicationProviderChooser の結果を拡張して、選択されたプロバイダから返される情報が含まれるようにしました。(Iead6d

Wear Complications および Watchface バージョン 1.0.0-alpha13

2021 年 5 月 5 日

androidx.wear:wear-*:1.0.0-alpha13 がリリースされました。バージョン 1.0.0-alpha13 に含まれるコミットについては、こちらをご覧ください。

新機能

  • ウォッチフェイスは、時間とウォッチフェイスの追加機能だけでなく、重要な視覚要素も持つことができるようになりました。そのためのスクリーン リーダーをサポートできるように、ウォッチフェイスは、Renderer の additionalContentDescriptionLabels プロパティを介してユーザー補助用の ContentDescriptionLabels を指定できるようになりました。さらに、ContentDescriptionLabels の順序付けを制御するために、accessibilityTraversalIndex がウォッチフェイスの追加機能に追加されました。これは、ComplicationsUserStyleSetting によって変更できます。

  • デベロッパーがスクリーン リーダーについて慎重に検討することを奨励するため、ShortTextComplicationData.BuilderLongTextComplicationData.BuilderRangedValueComplicationData.BuildercontentDescription フィールドをそれらのコンストラクタに渡すことを必須にしました。ComplicationText.EMPTYcontentDescription に渡された場合、contentDescription はテキストとタイトルから自動的に生成されます。

  • ウォッチフェイスが init の実行中に例外をスローした場合、WatchFaceControlClient.getOrCreateInteractiveWatchFaceClientServiceStartFailureException をスローするようになりました。これにより、ウォッチフェイスの起動時の問題の診断がかなり容易になります。

API の変更

  • ComplicationProviderInfo で、以前のバージョンの Wear OS をサポートするために必要な null のコンポーネント名を持つことができるようにしました。(I744d2
  • androidx.wear.complications.SystemProviders を Java から Kotlin に移行しました。(Ia1f8b
  • android.support.wearable.complications 内にある公開 API のすべてのクラスを隠蔽し、必要に応じて、対応するラッパーを AndroidX に作成しました。(I7bd50
  • TimeDifferenceComplicationText.Builder のメソッドの名前を setMinimumUnit から setMinimalTimeUnit に変更しました。(I20c64
  • ShortTextComplicationData.BuilderLongTextComplicationData.BuilderRangedValueComplicationData.BuildercontentDescription フィールドをコンストラクタに渡すことを必須にしました。(I8cb69
  • ComplicationProviderService.onComplicationUpdate の名前を onComplicationRequest に変更し、このメソッドの ID と型パラメータをデータの ComplicationRequest にカプセル化しました。対応するリスナーの名前を、ComplicationRequestListener およびそのメソッド ComplicationRequestListener.onComplicationData に変更しました。(Iaf146
  • ComplicationData からメソッド isActiveAt を削除し、代わりに validTimeRange フィールドを公開しました。このメソッド呼び出しは、validTimeRange.contains に置き換えることができます。(I65936
  • int ではなく ComplicationType を受け取るように、メソッド ComplicationProviderService.onComplicationActivated の説明を変更しました。(Idb5ff
  • ProviderUpdateRequester を Java から Koltin に移行しました。(Ibce13
  • GlesRender.makeContextCurrent が公開されました。ウォッチフェイスのコードでは、render と onGlContextCreated の外部で gl 呼び出しを行う必要が生じることがあります。また、インタラクティブとヘッドレスの両方のコンテキストが存在する可能性があるため、この呼び出しが必要になります。(I8a43c
  • WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient は、init の実行中にウォッチフェイスが例外をスローする場合、ServiceStartFailureException をスローするようになりました。さらに、createWatchFace にかかる時間が 6 秒を超えると、WatchFaceService が例外をスローするようになりました。(I59b2f
  • GlesTextureComplication の未使用の id プロパティを削除しました。(I28958
  • ウォッチフェイスは、Renderer の additionalContentDescriptionLabels プロパティからユーザー補助用の ContentDescriptionLabels を指定できるようになりました。さらに、ContentDescriptionLabels の順序付けを制御するために、accessibilityTraversalIndex がウォッチフェイスの追加機能に追加されました。これは、ComplicationsUserStyleSetting によって変更できます。(Ib7362
  • ウォッチフェイスにおけるタッチイベント処理に関するドキュメントを拡張しました。(Iaf31e

バグの修正

  • EditorSession.getComplicationsPreviewData() は、空でないウォッチフェイスの追加機能についてのみマップを返すようになりました。空のウォッチフェイスの追加機能については、EmptyComplicationData のインスタンスが使用されます。(I1ef7e

Wear Complications および Watchface バージョン 1.0.0-alpha12

2021 年 4 月 21 日

androidx.wear:wear-*:1.0.0-alpha12 がリリースされました。バージョン 1.0.0-alpha12 に含まれる commit については、こちらをご覧ください

新機能

ウォッチフェイス エディタでは、ウォッチフェイスの一部をハイライト表示し、時計のどの部分が設定されているのかを示す必要があります。スタイルとウォッチフェイスの追加機能をハイライト表示できるように、RenderParameters を拡張しました。新しいオプションとして HighlightLayer を追加しました。これは、アルファ透過を使用してウォッチフェイスの表面を不透明にします(この実装にはスクリーンショット API を使用します。柔軟性を高めるために独自の HighlightLayer も使用できます)。たとえば、スタイルを使用してウォッチハンドの外観を設定する場合、renderHighlightLayer のレンダラーは、ウォッチハンドの周りにアウトラインを描画できます。

ウォッチフェイスの追加機能プロバイダによるユーザー補助のサポートの一環として、PhotoImageComplicationData.Builder、MonochromaticImageComplicationData.Builder、SmallImageComplicationData.Builder の contentDescription フィールドを、必須のコンストラクタ引数に設定しました。ウォッチフェイスの追加機能(画面の端付近に描画されています)をサポートするために、ComplicationTapFilter と Complication.createEdgeComplicationBuilder を追加しました。画面端の追加機能のレンダリングとヒットテストはウォッチフェイスが行います。画面端のヒットテストは、コンパニオン エディタでは対応していません。

API の変更

  • SystemProvider の定数に PROVIDER_ プレフィックスを追加しました。(I1e773
  • PhotoImageComplicationData.BuilderMonochromaticImageComplicationData.BuilderSmallImageComplicationData.BuildercontentDescription フィールドをコンストラクタに渡すことが必須になりました。(I9643a
  • ProviderInfoRetriever.requestPreviewComplicationData の名前を retrievePreviewComplicationData に変更しました。(I911ee
  • ComplicationProviderService を Java から Koltin に移行しました。(I849f2
  • メソッド ComplicationProviderService.onBind は今回が最終版です(I39af5
  • インターフェース CanvasComplication を復元し、CanvasComplicaitonDrawableGlesTextureComplicationComplicationHighlightRendererwear-watchface-complications-rendering に移動しました。(I84670
  • 拡張されたハイライト レンダリングをサポートできるように RenderParameters がリファクタリングされました。スタイルだけでなく、すべてまたは個々のウォッチフェイスの追加機能をレンダリングするよう、リクエストできるようになりました。さらに、CanvasRenderer と GlesRenderer には、エディタでリクエストされたハイライト表示をレンダリングするための新しい renderHighlightLayer 抽象メソッドが追加されました。レイヤの名前を WatchFaceLayer に変更しました。(Ic2444
  • 画面端の追加機能をサポートするために ComplicationTapFilterComplication.createEdgeComplicationBuilder を追加しました。画面端の追加機能のレンダリングとヒットテストはウォッチフェイスが行います。エディタ内でのヒットテストには対応していません。(Ia6604
  • DoubleRangeUserStyleSettingLongRangeUserStyleSetting の場合、defaultValuemaximumValueminimumValue が kotlin プロパティになりました。さらに、toBooleanOption、toCoplicationOptions、toListOption など、UserStyleSetting.Option 関数を削除しました。(I52899
  • ウォッチフェイスが使用できるデバイスのプロパティに、あごのサイズを追加しました。(I76e1e
  • ComplicationHighlightRenderer のコンストラクタが outlineExpansion パラメータと outlineStrokeWidth パラメータを受け入れるようになりました。(I87009
  • ComplicationDrawable.getNoDataText が公開 API の一部になりました。(I00598

バージョン 1.0.0-alpha11

2021 年 4 月 7 日

androidx.wear:wear-*:1.0.0-alpha11 がリリースされました。バージョン 1.0.0-alpha11 に含まれる commit については、こちらをご覧ください

新機能

  • ウォッチフェイス API に改良が加えられました。ほとんどの変更は簡単な名前の変更ですが、InteractiveWatchFaceWcsClientInteractiveWatchFaceSysUiClientInteractiveWatchFaceClient に統合されました。

API の変更

  • ContentDescriptionLabel.text が、古いウェアラブル サポート ライブラリの TimeDependentText ではなく、ComplicationText になりました。(I80c03
  • SystemProviders.GOOGLE_PAY は、すべての Android R デバイスに存在することが保証されていないため、リストから削除されました。このプロバイダは、引き続き DefaultComplicationProviderPolicy から使用できます(If01b5
  • 整合性を保つため、ComplicationUpdateCallback の名前を ComplicationUpdateListener に変更しました。(I61ec7
  • UserStyle ワイヤ形式マップを Map<String, byte[]> に変更し、利便性を高めるために UserStyleData クラスを公開 API に追加して、wear-watchface-client と wear-watchface-editor で使用されるようになりました。また、CustomValueUserStyleSetting.CustomValueOption.value が String ではなく byte[] になりました。(Iaa103
  • UserStyleSettingUserStyleSetting.Option は、それぞれ UserStyleSetting.IdUserStyleSetting.Option.Id を使用して、文字列ではなく ID を保存するようになりました。(I63f72
  • InteractiveWatchFaceClient.SystemState の名前を WatchUiState に変更しました。(I6a4e0
  • 対象範囲の区分を説明するのが難しかったため、InteractiveWatchFaceWcsClientInteractiveWatchFaceSysUiClient を統合しました。(Iff3fa
  • わかりやすくするために、レイヤの列挙値の名前を変更しました。Layer#TOP_LAYERLayer#COMPLICATIONS_OVERLAY に、Layer#BASE_LAYERLayer#BASE になりました(Ia144e
  • UserStyleListener の名前を UserStyleChangeListener に変更しました(I18524
  • UserStyleRepository の名前を CurrentUserStyleRepository に変更しました(I6ea53
  • InteractiveWatchFaceWcsClient.updateInstance の名前を updateWatchfaceInstance に変更しました。(I321dc
  • WatchFace TapType イベントの名前を、MotionEvent / Compose にあわせて変更しました。(I0dfd0
  • takeWatchfaceScreenshot の名前を renderWatchFaceToBitmap に変更し、takeComplicationScreenshot の名前を renderComplicationToBitmap に変更しました(Ie0697)。
  • オープンクラス CanvasComplicationDrawable を優先して、CanvasComplication インターフェースを削除しました。(I1f81f
  • WatcfaceControlServiceFactory を公開 API から削除しました。(I1f8d3
  • CanvasComplication.setData の名前を CanvasComplication.loadData に変更しました。(If1239
  • ComplicationsManager.bringAttentionToComplication の名前を displayPressedAnimation に変更しました。(Ic4297
  • WatchFaceService.createWatchFace@UiThread アノテーションを追加しました。(Ib54c2
  • バグを修正するために、CanvasComplicationDrawable パラメータの名前を変更しました。(I50dac
  • AIDL での HeadlessWatchFaceClient の送信をサポートするために、HeadlessWatchFaceClient.toBundle()HeadlessWatchFaceClient.createFromBundle を追加しました。(I07c35
  • HeadlessWatchFaceClient と InteractiveWatchFaceClient に ClientDisconnectListener と isConnectionAlive() を追加しました。これにより、なんらかの理由で接続が損なわれているかどうかを確認できます(ウォッチフェイスが強制終了されているなど)。(Ie446d
  • WatchFaceControlClient#getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync が suspend 関数になり、名前を getOrCreateInteractiveWatchFaceClient に変更しました。(Ib745d
  • EditorState.commitChangeshasCommitChanges() の名前を shouldCommitChanges() に変更しました。(I06e04
  • マップに(通常)1 つ以上の追加機能があることを示すために、previewComplicationData の名前を previewComplicationsData に変更しました。(I56c06
  • ComplicationsManager.displayPressedAnimation との一貫性を保つために、InteractiveWatchFaceWcsClient.bringAttentionToComplication の名前を displayPressedAnimation に変更しました。(Ic9999
  • ウォッチフェイス インスタンス ID のすべてのインスタンスを、新しい WatchFaceId クラス(I45fdf)にカプセル化しました。
  • 複数形を示すため、complicationState プロパティの名前を complicationsState に変更しました。(Ided07
  • wear-watchface-client Binder のさまざまな変換を削除しました。この削除は必要です。(Icc4c0
  • 整合性を保つために、EditorServiceClient はオブザーバーではなくリスナーを使用するようにリファクタリングされました。(Iec3a4
  • 欠落していた @Px アノテーションを InteractiveWatchFaceSysUiClientWatchFaceControlClient に追加しました。(I3277a
  • 整合性を保つために、EditorObserverCallback の名前を EditorObserverListener に変更しました。(Ie572d
  • EditorState.watchFaceInstanceId は Android R API レベル以上に制限され、null 許容ではなくなりました。(Id52bb
  • EditorSession.launchComplicationProviderChooser の名前を openComplicationProviderChooser に変更しました。(I9d441
  • EditorSession.createOnWatchEditingSessionAsync の名前が createOnWatchEditingSession に変更され、suspend 関数になりました。(Id257b
  • 欠落している複数の @UiThread アノテーションを EditorSession に追加しました。(I6935c
  • UserStyleSetting.affectsLayers の名前を affectedLayers に変更しました。(I6e22b

バージョン 1.0.0-alpha10

2021 年 3 月 24 日

androidx.wear:wear-*:1.0.0-alpha10 がリリースされました。バージョン 1.0.0-alpha10 に含まれる commit については、こちらをご覧ください。

新機能

  • WatchFaceService.createWatchFace の実行中に Open GL オブジェクト(テクスチャなど)を作成できるようになりました。GlesRenderer で、createWatchFace 内で実行できる initOpenGLContext への明示的な呼び出しが必要になったためです。

API の変更

  • IdAndComplicationData はわかりづらかったため、公開 API から削除されました。これを使用していたクラスとインターフェースはリファクタリングされました。(I4c928
  • わかりやすくするため、ReferenceTimeCountUpTimeReferenceCountDownTimeReference に置き換えました。(Ib66c6
  • 欠落していた @Px アノテーションと @ColorInt アノテーションを追加しました。(I9bbc3
  • Complication.complicationConfigExtras が null 値非許容型になり、デフォルトで Bundle.EMPTY になりました。(Iad04f
  • GlesRenderer では、作成後に initOpenGLContext の呼び出しが必要になりました。この関数は内部的な詳細でしたが、現在は公開 API で利用でき、createWatchFace 内で GL 呼び出しを早く行えるようにします。(I726c2
  • 不要であったため Complication.setRenderer を削除しました。(Ie992f
  • Complicaiton.setComplicationBounds が公開 API から除外されました。ウォッチフェイスの追加機能の位置を調整する必要がある場合は、ComplicationsUserStyleSetting を使用します。(Ibd9e5
  • ComplicationsManager.TapCallback.onComplicationSingleTapped の名前を onComplicationTapped に変更しました。(I3a55c
  • ComplicationOutlineRenderer.drawComplicationSelectOutline の名前を drawComplicationOutline に変更しました。(I14b88

バージョン 1.0.0-alpha09

2021 年 3 月 10 日

androidx.wear:wear-complications-*:1.0.0-alpha09androidx.wear:wear-watchface-*:1.0.0-alpha09 がリリースされました。バージョン 1.0.0-alpha09 に含まれるコミットについては、こちらをご覧ください。

新機能

  • WCS/SysUI ホストとウォッチフェイスとのインターフェースを改良しました。エディタで、スタイルの変更を通じてウォッチフェイスの追加機能を有効にするか無効にするかを決定できるようになりました(enabled = initiallyEnabled と ComplicationsUserStyleSetting からのすべてのオーバーライド)。また、EditorService.closeEditor を使用すると、SysUI は、必要に応じてウォッチフェイス エディタをリモートで終了できます。
  • さらに、強力なコマンド updateInstance を備えた InteractiveWatchFaceWcsClient.setUserStyle を使用して、インスタンス ID の変更、スタイルの設定、ウォッチフェイスの追加機能のクリアをすべて一度に行うことができます。

API の変更

  • TraceEvents をウォッチフェイス ライブラリに追加しました。(I1a141
  • ComplicationState に新しいプロパティ initiallyEnabled を追加しました。このプロパティで、スタイルの切り替えによる影響を予測できます。(I8c905
  • InteractiveWatchFaceWcsClient.setUserStyle を、より強力なコマンド updateInstance に置き換えました。これにより、インスタンス ID の変更、スタイル設定、ウォッチフェイスの追加機能のクリアを行います。(Ife6f6
  • WatchFaceClient のスクリーンショット API では、スクリーンショットの圧縮に時間がかかるため、圧縮を行わなくなりました。代わりに、後処理は呼び出し側に任せるようにします。(Id35af
  • EditorService.closeEditor を介してウォッチフェイス エディタをリモートで終了できます。(Ic5aa4
  • null 値許容型アノテーションを追加しました(Ic16ed

バージョン 1.0.0-alpha08

2021 年 2 月 24 日

androidx.wear:wear-*:1.0.0-alpha08 がリリースされました。バージョン 1.0.0-alpha08 に含まれる commit については、こちらをご覧ください。

新機能

  • 一部のウォッチフェイスは、1 つ以上の特定のウォッチフェイスの追加機能を中心に設計されています。これをサポートするために Complication.Builder#setFixedComplicationProvider を追加しました。true に設定されている場合、ユーザーはそのスロットのウォッチフェイスの追加機能を変更できません。
  • ウォッチフェイス ライブラリは Kotlin ファーストであり、コルーチン(suspend 関数など)を使用します。Java ユーザー向けに、wear/wear-watchface-guava、wear/wear-watchface-client-guava、wear/wear-watchface-editor-guava のライブラリの相互運用性を改善するため、ListenableFuture ラッパーを追加しました。

API の変更

  • プロバイダ選択アクティビティを起動するウォッチフェイスの追加機能へのダブルタップのサポートを削除しました。この機能はウォッチフェイスでは一般的ではなく、SysUI の実装が複雑にしていたためです。(I3ef24
  • バインダーが予期せず終了した場合は、ProviderInfoRetriever メソッドが ServiceDisconnectedException をスローすることがあります。(Ib2cc4
  • Android 11 以降では、ProviderChooser を実行できるタイミングに制限があります。また、新しい wear-watchface-editor を使用してエディタがビルドされるよう、ComplicationHelperActivity を公開 API から削除しています。(Ib19c1
  • ComplicationText 静的メソッドを削除し、ビルダーに置き換えました。(Ibe399
  • 各種のウォッチフェイス ライブラリの停止中のメソッドに guava ListenableFuture ラッパーを導入しました。(I16b2c
  • API を明確にするために、色合いを必要としない RenderParameters にセカンダリ コンストラクタを追加しました。LayerMode.DRAW_OUTLINED 以外の LayerModes で使用できます。(I497ea
  • 以前は、ListUserStyleSetting にデフォルトの引数が含まれていたため、他とは異なっていました。今後は、StyleSetting サブクラス コンストラクタはすべてデフォルト値を最後に取得するようになります。(I9dbfd
  • CanvasComplication がリファクタリングされ、非表示メソッドを使用するようになったため、サブクラスの実装が簡単になりました(I5b321
  • EditorResult をリファクタリングして削除し、新しい EditorService と EditorSession.broadcastState() に置き換えて、オブザーバー(通常は SysUI)に更新をストリーミングするようになりました。(Ic4370
  • 一部のウォッチフェイスは、ユーザーがプロバイダを構成できないウォッチフェイスの不可欠な部分として、特定のウォッチフェイスの追加機能を中心にビルドされています。これをサポートするために、Complication.Builder#setFixedComplicationProvider を追加しました。(I4509e
  • EditorRequest が ComponentName ではなくパッケージ名を指定するようになりました。これは、SysUI でエディタのクラス名をルックアップしづらく、パッケージ名のみが必要であるためです。(Ib6814

バージョン 1.0.0-alpha07

2021 年 2 月 10 日

androidx.wear:wear-*:1.0.0-alpha07 がリリースされました。バージョン 1.0.0-alpha07 に含まれるコミットについては、こちらをご覧ください。

新機能

  • WatchFaceService.createWatchFace が suspend 関数になりました。IO を待機している間、ウォッチフェイスが UI スレッドをブロックする必要がなくなります。wear-watchface-editor と wear-complications-data も同様です。

API の変更

  • PhotoImage クラスを削除してアイコンを直接使用します。(I8a70b
  • ComplicationData の validTimeRange を公開します。(I91366
  • 画像に似た属性をより明示的なものにします。(I81700
  • wear-watchface-editor と wear-complications-data が、コルーチンではなく suspend 関数を使用するようにリファクタリングされました。Rx java と Future の互換ラッパーをフォローする必要があります。(If3c5f
  • 接続の問題や API サポートの欠落が原因で requestPreviewComplicationData がプレビュー データを返せない場合に、ProviderInfoRetriever が PreviewNotAvailableException をスローするようになりました。(I4964d
  • WatchFaceControlService::createWatchFaceControlClient が suspended 関数になりました。また、getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient が getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync と呼ばれるようになり、Deferred<InteractiveWatchFaceWcsClient> を返すようになりました。RX java と Future の互換ラッパーをフォローする必要があります。(I5d461
  • CATEGORY_PROVIDER_CONFIG_ACTIONCATEGORY_PROVIDER_CONFIG に名前変更します。(I7c068
  • createOnWatchEditingSession が suspended 関数になりました。エディタのアクティビティが開始されるまでウォッチフェイスを使用できない場合があるためです。(Ida9aa
  • WatchFaceService.createWatchFace が suspend 関数になりました。以前はメインスレッドをブロックする必要がありましたが、これからは非同期初期化が可能になります。(If076a
  • UserStyle に配列演算子が追加され、UserStyle.Option にキャスト ヘルパーが追加されました。(I35036
  • UserStyle ワイヤ形式によって、マーシャリングのバグを修正し、不安定な非表示 API の一部を変更しました。(I8be09
  • UserStyle 内に単一のアプリケーション固有の文字列を格納できるように、CustomValueUserStyleSetting を追加しました。デフォルトのウォッチフェイス エディタは、この値を無視します。(Ic04d2
  • アップグレードできない R および古いバージョンの Android Wear OS のインテント エクストラには InstanceID が渡されません。これをサポートするために、InstancID を null にできるようになりました。(Id8b78
  • EditorRequest に、WatchFaceEditorContract.createIntent でコンポーネントとして設定されているエディタ ComponentName が追加されました。(I3cd06
  • ウォッチフェイスの EditorResult に、プレビュー ComplicationData が追加されました。呼び出し元は編集後にウォッチフェイスのスクリーンショットを撮ることができるようになります。(I2c561

バグの修正

  • toString() オーバーライドが UserStyle、UserStyleSetting、UserStyleSchema に追加されました。これらのクラスの操作が比較的スムーズになります。(I9f5ec

バージョン 1.0.0-alpha06

2021 年 1 月 27 日

androidx.wear:wear-*:1.0.0-alpha06 がリリースされました。バージョン 1.0.0-alpha06 に含まれるコミットについては、こちらをご覧ください。

新機能

  • 新しいライブラリ wear/wear-watchface-editor を導入しました。これにより、ウォッチフェイスのデベロッパーは(場合によっては OEM も)、スタイルおよびウォッチフェイスの追加機能のエディタを構築できます。SysUI は、新しい EditorSession クラスを使用して WatchFace の詳細にアクセスし、Activity.setWatchRequestResult で結果を記録するウォッチフェイスにインテントを送信します。これをサポートするため、ウォッチフェイス エディタがプレビュー ComplicationData をリクエストできるようにする ProviderInfoRetriever.requestPreviewComplicationData を追加しました。プレビュー ComplicationData の利点は、ライブデータと異なり、エディタをレンダリングする際の権限ダイアログの表示を考慮する必要がないことです(ただし、権限を有するプロバイダをユーザーが選択した場合も、権限の付与を求めるメッセージが表示されます)。

API の変更

  • ComplicationProviderInfo に、プロバイダの ComponentName を示すフィールドが追加されました。このフィールドのサポートは後日 Wear OS に追加されますが、それまでは null になります。(Id8fc4
  • ProviderInfoRetriever.requestPreviewComplicationData を追加しました。これにより、ウォッチフェイス エディタでプレビュー ComplicationData をリクエストできます。これは、ライブのウォッチフェイスの追加機能が権限を必要とする場合にアクティブでない追加機能のプレビュー データを表示できるため、便利です。(I2e1df
  • ComplicationManager が WatchFace コンストラクタのオプションのパラメータになり、これを使用できるように引数の順序が変更されました。(I66c76
  • ウォッチフェイスの追加機能にオプションのバンドルを追加しました。これは、プロバイダ選択アクティビティを起動するために送信されるインテントにセットが結合される場合に使用します。(Ifd4ad
  • ウォッチフェイスと SysUi でホストされるエディタをサポートする新しい wear-watchface-editor ライブラリを追加しました。SysUI は、インテントの送信によりこれらのエディタを起動します。ウォッチフェイス アクティビティ サービスは、新しい EditorSession クラスを使用して WatchFace の詳細にアクセスし、Activity.setWatchRequestResul で結果を記録できます。(I2110d
  • LayerMode.DRAW_HIGHLIGHTED の名前が LayerMode.DRAW_OUTLINED に変更され、RenderParameters.highlightComplicationId の名前が RenderParameters.selectedComplicationId に変更されました。これは、アウトラインに加えて、指定されたウォッチフェイスの追加機能にハイライトを描画します。(I90a40
  • ウォッチフェイスの作成の待機中にサービスが異常終了した場合に、WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient の 's future が ServiceStartFailureException で解決されるようになりました。(I0f509
  • EditorSession.complicationPreviewData は ListenableFuture になりました。このデータの取得は非同期プロセスであるためです。(Iead9d

バグの修正

  • 有効なままになっている ComplicationOverlay と complicationBounds から使用されていないフィールドを削除しました。(I17b71

バージョン 1.0.0-alpha05

2021 年 1 月 13 日

androidx.wear:wear-*:1.0.0-alpha05 がリリースされました。バージョン 1.0.0-alpha05 に含まれるコミットについては、こちらをご覧ください

新機能

多くの場合、ウォッチフェイスは、不定個数の追加機能を表示する追加機能設定をサポートします。この設定を簡単に行えるように、ビルダーで setEnabled(false) を呼び出すことで、最初にウォッチフェイスの追加機能を無効にする機能をサポートするようになりました。ComplicationsUserStyleSetting を使用して、後で有効にできます。

API の変更

  • ComplicationHelperActivity が int 配列ではなく Collection<ComplicationType> を受け取るようになり、使いやすくなりました。(I1f13d
  • ProviderInfoRetriever.retrieveProviderInfo が正しく ListenableFuture<ProviderInfo[]> を返すようになりました。(If2710
  • ビルダーで setEnabled(false) を呼び出すことで、最初から無効にされた追加機能を作成できるようになりました。(Idaa53
  • WatchFaceState に、ヘッドレス インスタンスの場合にのみ true になる isHeadless プロパティが追加されました。(Ifa900
  • ComplicationDrawable で、ドローアブルの同期読み込みがオプションでサポートされるようになりました。スクリーンショットの API で使用されます。(I34d4a

バージョン 1.0.0-alpha04

2020 年 12 月 16 日

androidx.wear:wear-*:1.0.0-alpha04 がリリースされました。バージョン 1.0.0-alpha04 に含まれる commit については、こちらをご覧ください

新機能

  • wear ウォッチフェイス ライブラリで、タイプごとに境界を設定できるようになりました。たとえば、ComplicationType.LONG_TEXT の場合には幅広い境界ボックスに切り替え、他のタイプの場合には小さな境界ボックスを使用できます。

API の変更

  • Complication で、Map<ComplicationType, RectF> をラップする ComplicationBounds を使用して、追加機能タイプごとのサイズをサポートするようになりました。(I1ebe7
  • RenderParameters で、スクリーンショットで使用するハイライトの色合いを指定できるようになりました。(Iff42b
  • 境界の変更を除いて、追加機能に変更を加えるには、OS と同期させるため、ComplicationsUserStyleSetting の使用が必須になりました。(I8dc5d
  • Renderer はシールクラスになりました。これにより、CanvasRenderer と GlesRenderer が Renderer の内部クラスになりました。(Iab5d4b/173803230
  • CanvasComplicationDrawable.drawHighlight の名前が drawOutline に変更されました。ObservableWatchData にいくつかの不足していた UiThread アノテーションが追加されました。ScreenState が WatchState から完全に削除されました。(If1393
  • wear-watchface の最小 API レベルが 25 になりました。なお、ハードウェア キャンバスのサポートには API レベル 26 以上が必要です。(Ic9bbd
  • InteractiveWatchFaceWcsClient に getComplicationIdAt ヘルパーが追加されました。(I05811
  • wear-watchface-client の API レベルが 25 に下げられましたが、スクリーン ショット API には API レベル 27 が必要です。(Id31c2

バグの修正

  • ComplicationState で、追加機能の現在の ComplicationData の ComplicationType を公開するようになりました。(I9b390
  • InteractiveWatchFaceWcs に、指定された追加機能を一時的にハイライト表示する bringAttentionToComplication メソッドが追加されました。(I6d31c
  • InteractiveWatchFaceWcsClient#setUserStyle に Map<string, string=""> を受け取るオーバーロードを追加しました。これにより、UserStyle の構築に必要な追加の IPC のラウンドトリップを回避できる可能性があります。(I24eec

バージョン 1.0.0-alpha03

2020 年 12 月 2 日

androidx.wear:wear-*:1.0.0-alpha03 がリリースされました。バージョン 1.0.0-alpha03 に含まれるコミットについては、こちらをご覧ください

新機能

Complication クラスに compicationData プロパティが追加され、ウォッチフェイスが ComplicationData の変更を監視できるようになりました。これにより、追加機能のタイプに応じて追加機能のサイズを変更できるようになります。

Renderer.interactiveDrawModeUpdateDelayMillis に代入することで、可変フレームレートがサポートされるようになりました。これにより、1 秒ごとに短いアニメーションを表示するウォッチフェイスでは、アニメーションを表示していないときにスリープ状態に移行することで電力を節約できる可能性があります。

API の変更

  • BACKGROUND_IMAGE の名前が、関連するクラスとともに PHOTO_IMAGE に変更されました。このタイプの追加機能は、背景だけに使用されるわけではないためです。(I995c6
  • DefaultComplicationProviderPolicy に適切なアノテーションである IntDefs を付けました。(I3b431
  • 隠蔽されていた TimeDependentText クラスは、ContentDescriptionLabel から公開されなくなりました。代わりに、指定した時間にテキストを取得するためのアクセサーを追加します。(Ica692
  • ObservableWatchData のコンストラクタが internal になりました。(I30121b/173802666
  • Complication に compicationData が追加され、ウォッチフェイスから ComplicationData の変更を監視できるようになりました。また、Complication に、指定された日時でレンダリングすべきものがあるかどうかを判断するために使用できる isActiveAt 呼び出しを追加しました。(Ic0e2a
  • 空の SharedMemoryImage が公開 API からなくなりました。(I7ee17
  • WatchFace.overridePreviewReferenceTimeMillis に IntRange アノテーションを付け、ゲッターとセッターの名前が一貫したものになりました。(Ia5f78
  • わかりやすくするために、Complication.BuilderComplication.createRoundRectComplicationBuilder または Complication.createBackgroundComplicationBuilder で作成するようになりました(I54063
  • 追加機能によって消費されないタップを WatchFace で監視できるようにする WatchFace.TapListener を追加しました。(Ic2fe1b/172721168
  • WatchFace が、Renderer.interactiveDrawModeUpdateDelayMillis への代入により可変フレームレートに対応しました。これにより、アニメーションを行っていないときにスリープ状態になり、電池を節約できます。(I707c9
  • WatchFace.Builder は不要になり、invalidate() と interactiveUpdateRateMillis が Renderer に移動されました。(I329ea
  • Java との相互運用性のために、WatchState にあるブール値のプロパティのゲッターの名前を変更しました(I6d2f1
  • 整合性を保つために、TapListener の名前を TapCallback に、InvalidateCallback の名前を InvalidateListener に変更しました。(I9414e
  • わかりやすくするために、Wear 2.0 のウォッチフェイス スタイル オプションを自身のクラスに移動しました。WatchFace.Builder のセッターに、対称性のある WatchFace クラスのゲッターが追加されました。(Iefdfc
  • InteractiveWatchFaceWcsClient と、壁紙サービスが接続してエンジンを作成した後で既存のインスタンスを取得するかインスタンスを作成する WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient を追加しました。(Id666e
  • WatchFaceControlClient は、テストでモック化できるインターフェースになりました。(I875d9
  • HeadlessWatchFaceClient、InteractiveWatchFaceSysUiClientImpl、InteractiveWatchFaceWcsClient は、テストしやすいインターフェースとなりました。(I7cdc3
  • wear-watchface-complications-rendering のメソッドにアノテーションを追加しました。(I0d65c

バグの修正

  • DeviceConfig から、android.content.res.Configuration#isScreenRound() を複製していた画面形状を削除しました。(Ifadf4
  • UserStyle ではなく Map<String, String> を受け取るように、WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient を変更しました。これは、UserStyle はスキーマを知らずに作成することが困難で、スキーマはクライアントが作成した後でのみ取得できるためです。(Iea02a
  • InteractiveWatchFaceWcsClient を修正して、ワイヤ形式ではなく ComplicationState を使用するようにしました。(Icb8a4
  • ウォッチフェイス エディタは組み込みクラスしか認識しないため、UserStyleSettings はシールクラスになりました。(I2d797

バージョン 1.0.0-alpha02

2020 年 11 月 11 日

androidx.wear:wear-*:1.0.0-alpha02 がリリースされました。バージョン 1.0.0-alpha02 に含まれる commit については、こちらをご覧ください

API の変更

  • ComplicationDetailsComplicationState と呼ばれるようになり、適切にラップされ、ウェアラブル サポート @ComplicationData.ComplicationType の使用は androidx ComplicationType に移行されました。(I4dd36
  • オプションの highlightedComplicationId パラメータを RenderParameters に追加しました。これにより、スクリーンショットで 1 つの追加機能のハイライト表示をリクエストできます。(I66ce9
  • ComplicationProviderService。整合性を保つために新しいスタイル追加機能 API を使用します(Id5aea
  • getPreviewReferenceTimeMillisDeviceConfig から基準時間を取得するようになりました。(I779fe
  • Renderer API サーフェスを簡略化しました。代わりに SurfaceHolder.Callback を使用して変更を監視できます。(I210db
  • CanvasComplicationRendererRenderer から拡張されていません。わかりやすくするために名前を変更しました。(Ibe880

バグの修正

  • androidx.wear:wear-watchface-client の最初のバージョン(I1e35e
  • わかりやすくするために GlesTextureComplication#renderer の名前を変更しました(Ib78f7
  • わかりやすくするために StyleCategory の名前を StyleSetting に変更しました(I488c7)。
  • API を簡潔にするために UserStyleSchema を追加しました(If36f8

バージョン 1.0.0-alpha01

2020 年 10 月 28 日

androidx.wear:wear-complications-*:1.0.0-alpha01androidx.wear:wear-watchface-*:1.0.0-alpha01 がリリースされました。バージョン 1.0.0-alpha01 に含まれるコミットについては、こちらをご覧ください。

API の変更

  • 公開 API で公開することを意図していなかったものを削除しました。(I41669
  • androidx.wear:wear-complications-provider ライブラリを作成しました。(I77f1f
  • ComplicationsUserStyleCategory。追加機能を構成するための新しい推奨カテゴリ(I96909
  • wear-complication-data API を追加しました。(I7c268
  • 戻り値がブール値である関数に付く接頭辞が「get」ではなく「is」になりました(If36ff
  • API のアドバイスは、protected の使用を避けることです。そのため、このクラスはコンストラクタを介してパラメータを取り込むようにリファクタリングされました。(I61644
  • わかりやすくするために setBackgroundComplication の名前を変更しました。(I96fe3
  • ComplicationDrawable の isHighlighted とデータに Kotlin プロパティを使用します(I4dcc8
  • ComplicationRenderer.InvalidateCallback の代わりに Complication#invalidate() を追加しました(I4f4c6
  • これらの API は WearableSupport でサポートが終了し、今回削除されました。(Ib425c
  • Wear 2.0 のレガシー性を強調するように、一部の WatchFace ビルダー メソッドの名前を変更しました。(Idb775
  • wear / wear-watchface の最初のベータ版 API 候補(Id3981
  • API の最初のトラック バージョン。(Ie9fe6
  • ComplicationDrawable.BorderStyle IntDef を適切に非表示にし、整合性を保つために ComplicationStyle に移動しました。(I27f7a
  • 欠落していた ComplicationStyle メソッドのアノテーションを追加しました(I838fd
  • このライブラリには公開 API サーフェスがありません(I88e2b
  • すべてのスタイル カテゴリ オプション クラスが適切に最終版になりました。(Ib8323
  • API の最初のトラック バージョン。(I27c85

バグの修正

  • 明示的な getComplicationPreviewData メソッドを持つように ComplicationProviderService を変更しました。(I4905f
  • MissingGetterMatchingBuilder の API lint チェックが androidx で有効になりました(I4bbeab/138602561
  • wear-complications-rendering の名前を変更しました。(Ifea02
  • スタイル カテゴリの表示名が CharSequences になりました(I28990
  • 現在のテーマとスタイルの命名規則に合わせて、「Override」を「Overlay」に置き換えました。(I4fde9
  • わかりやすくするために、UserStyle#getOptions の名前を変更しました。(I695b6

バージョン 1.2.0

バージョン 1.2.0-alpha10

2021 年 6 月 2 日

androidx.wear:wear:1.2.0-alpha10 がリリースされました。バージョン 1.2.0-alpha10 に含まれる commit については、こちらをご覧ください。

新機能

  • alpha10 では、Curved Text と ArcLayouts でユーザー補助機能のサポートが向上しています。また、API を明確にするために、DismissibleFrameLayout に軽微な名前変更を加えました。

API の変更

  • DismissibleFrameLayout の以下のメソッドの名前を変更しました。(Ib195e
    • Callback#onDismissed -> Callback#onDismissedFinished
    • isSwipeDismissible -> isDismissableBySwipe
    • isBackButtonDismissible -> isDismissableByBackButton
  • 以下のメソッドは final になりました(Ib195e)。
    • setBackButtonDismissible
    • setSwipeDismissible
    • registerCallback
    • unregisterCallback

バグの修正

  • Talkback で CurvedTextView のコンテンツを使用するようにしました。(I05798
  • ArcLayout 内の通常のビューのユーザー補助機能を改善しました。(I4418d

バージョン 1.2.0-alpha09

2021 年 5 月 18 日

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 の縦方向配置の定数の名前が、以前の VALIGN_ ではなく VERTICAL_ALIGN_ で始まるようになりました。
  • CurvedTextView で、メソッド setMinSweepDegrees および setMaxSweepDegreessetSweepRangeDegrees に置き換えられました。(I7a9d9

バージョン 1.2.0-alpha08

2021 年 5 月 5 日

androidx.wear:wear:1.2.0-alpha08 がリリースされました。バージョン 1.2.0-alpha08 に含まれるコミットについては、こちらをご覧ください

API の変更

  • コードの明瞭性を高めるために、いくつかの angle パラメータと戻り値の型に @FloatRange アノテーションを追加しました。(I430dd
  • インターフェース WearArcLayout.ArcLayoutWidget で、メソッド insideClickArea の名前が isPointInsideClickArea に変更されました。(Ia7307

バージョン 1.2.0-alpha07

2021 年 3 月 24 日

androidx.wear:wear:1.2.0-alpha07 がリリースされました。バージョン 1.2.0-alpha07 に含まれる commit については、こちらをご覧ください

バグの修正

  • 高さが幅よりも大きい画面サイズの使用が原因で発生する、WearArcLayout 内部の曲線でない子に関するエラーを修正しました。このような曲線でない子が、すべての画面タイプで弧の中に正しく配置されるようになりました。

バージョン 1.2.0-alpha06

2021 年 1 月 27 日

androidx.wear:wear:1.2.0-alpha06 がリリースされました。バージョン 1.2.0-alpha06 に含まれるコミットについては、こちらをご覧ください

API の変更

  • Ongoing Activities ライブラリを新しいサブライブラリ wear-ongoing に移行しました。現在、クラスは androidx.wear.ongoing パッケージ(以前は androidx.wear.ongoingactivities)に存在します。(I7c029
  • WearableCalendarContract クラスをウェアラブル サポート ライブラリから AndroidX に移行しました。この API は CalendarContract で取得できるデータのサブセットを提供しますが、ウェアラブル デバイスと自動的に同期されます。(I6f2d7

バグの修正

  • DismissableFrameLayout で、戻るボタンを閉じる機能をデフォルトで無効にしました。これは、ウェアラブル デバイスで全画面表示を元に戻す主な方法として、スワイプで閉じる操作が保持されるためです。(Ic24e3
  • WearArcLayout で子の表示を処理する際のいくつかの問題を修正しました(Icf912

バージョン 1.2.0-alpha05

2021 年 1 月 13 日

androidx.wear:wear:1.2.0-alpha05 がリリースされました。バージョン 1.2.0-alpha05 に含まれる commit については、こちらをご覧ください。

バグの修正

  • AmbientModeSupport クラスの javadoc を更新し、このクラスの一般的な使用例を良く表すサンプル スニペットを追加しました。

バージョン 1.2.0-alpha04

2020 年 12 月 16 日

androidx.wear:wear:1.2.0-alpha04 がリリースされました。バージョン 1.2.0-alpha04 に含まれる commit については、こちらをご覧ください

API の変更

  • デバイスが AmbientModeSupport クラスの「常に画面表示モード」を終了したときに、Activity を「自動的に再開」することができることを通知できるようになりました。この機能は以前、サポートが終了している、WearableSupportLibrary の WearableActivity クラスで使用できました。(I336ab
  • OngoingActivity
    • OngoingActivity の作成時にカテゴリを設定できるようになりました(例: OngoingActivitiy.Builder.getCategory(String))。
    • OngoingActivityData に、OngoingActivity 作成時刻のタイムスタンプ(OngoingActivityData.getTimestamp())が含まれるようになりました
    • I91cb4
  • レイアウト パラメータを変更して MarginLayoutParams を拡張することにより、WearArcLayout の子にマージンを設定することができるようになりました(つまり、WearArcLayout.LayoutParams が android.view.ViewGroup.MarginLayoutParams を拡張)。(I2cd88
  • WearCurvedTextView のアンカータイプのデフォルトを WearArcLayout.ANCHOR_CENTER に変更しました(以前は WearArcLayout.ANCHOR_START)。これにより、弧レイアウトと曲線テキストのコントラクトが単純化されます。曲線テキストはデフォルトで上部に X 軸方向で中央揃えされて描画され、親の弧レイアウトは必要に応じて回転できるためです。(I105ff

バージョン 1.2.0-alpha03

2020 年 12 月 2 日

androidx.wear:wear:1.2.0-alpha03 がリリースされました。バージョン 1.2.0-alpha03 に含まれる commit については、こちらをご覧ください

新機能

新しいレイアウト コンテナ DismissibleFrameLayout は、[戻る] ボタンで閉じる操作やスワイプで閉じる操作を処理するもので、アクティビティ内での使用を意図したものです。閉じる操作を行うには、リスナーを少なくとも 1 つ追加する必要があります。リスナーは通常、包含するビューまたはフラグメントを現在のアクティビティから削除します。setSwipeDismissible(boolean) と setBackButtonDismissible(boolean) を使用すると、この機能を直接制御できます。この新しいレイアウトは既存の SwipeDismissFrameLayout を置き換えるものです。

曲線ウィジェットがタッチイベントを処理するようになりました。WearArcLayout 内の通常のウィジェットは、すべてのタッチイベントをウィジェットの座標空間に変換された状態で受け取ります。WearCurvedTextView は、WearArcLayout 内にあるかどうかにかかわらず、onClick ハンドラと onLongClick ハンドラを設定できます。

進行中アクティビティのクラスは、カスタムのシリアル化 / シリアル化解除を使用するのではなく VersionedParcelables になりました。静的なアイコンとタッチ インテントが必須になりました。

API の変更

  • WearCurvedTextView の属性「sweepDegrees」は、このウィジェットを柔軟にレイアウトできるように、minSweepDegrees と maxSweepDegrees に分割されています。

バージョン 1.2.0-alpha02

2020 年 11 月 11 日

androidx.wear:wear:1.2.0-alpha02 がリリースされました。バージョン 1.2.0-alpha02 に含まれるコミットについては、こちらをご覧ください。

今回のリリースで、新しい「Ongoing Activities API」が初めて追加されます。デベロッパーはこの API を使用して、フィットネス エクササイズやメディア再生セッションなど、長時間実行されるアクティビティが進行中であることをユーザーに通知できます。これにより、ウォッチフェイスまたはアプリ ランチャーに表示する「走った距離と時間」や「現在再生中のトラック」などのステータスを定期的に更新できます。この機能は、進行中のアクティビティ機能が有効にした今後のデバイスをターゲットとしています。

API の変更

  • 進行中のアクティビティ用の新しい API。「サポートされていないデバイス」では no-op です。(I69a31

バージョン 1.2.0-alpha01

2020 年 10 月 28 日

androidx.wear:wear:1.2.0-alpha01 がリリースされました。バージョン 1.2.0-alpha01 に含まれる commit については、こちらをご覧ください

新機能

  • ビューに内接できる最大の円の曲率に沿って曲線テキストを簡単に記述するために、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 の曲線テキストの例

  • 時計回りまたは反時計回りに子要素を 1 つずつ弧状に配置するために、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

Wear-Input 1.1.0

バージョン 1.1.0-alpha02

2021 年 5 月 18 日

androidx.wear:wear-input:1.1.0-alpha02androidx.wear:wear-input-testing:1.1.0-alpha02 がリリースされました。バージョン 1.1.0-alpha02 に含まれるコミットについては、こちらをご覧ください

API の変更

  • タイトル、キャンセル、確認、処理中のラベルを表すエクストラの get または put に使用される RemoteInputIntentHelper のメソッドは、これらのラベルについて String ではなく CharSequence を使用するようになりました。(I0e71f

バージョン 1.1.0-alpha01

2021 年 1 月 27 日

androidx.wear:wear-input:1.1.0-alpha01androidx.wear:wear-input-testing:1.1.0-alpha01 がリリースされました。バージョン 1.1.0-alpha01 に含まれるコミットについては、こちらをご覧ください

API の変更

  • RemoteInputIntent クラスをウェアラブル サポート ライブラリから AndroidX に移行しました。移行されたクラスの名前は RemoteInputIntentHelper に変更されました。このクラスは、インテントの開始によるリモート入力をサポートするヘルパー関数を提供します。(I47cee

Wear-Input 1.0.0

バージョン 1.0.0

2020 年 12 月 2 日

androidx.wear:wear-input:1.0.0androidx.wear:wear-input-testing:1.0.0 がリリースされました。バージョン 1.0.0 に含まれるコミットについては、こちらをご覧ください

このリリースは 1.0.0-rc01 と同一です。

1.0.0 の主な機能

  • ウェアラブル サポート ライブラリから Jetpack に WearableButtons の機能を移行しました。

  • androidx.wear:wear-input ライブラリを使用して開発したアプリのテストをサポートするために androidx.wear.input.WearableButtonsProvider を実装する androidx.wear.input.test.TestWearableButtonsProvider を追加しました。

バージョン 1.0.0-rc01

2020 年 11 月 11 日

androidx.wear:wear-input:1.0.0-rc01androidx.wear:wear-input-testing:1.0.0-rc01 がリリースされました。バージョン 1.0.0-rc01 に含まれる commit については、こちらをご覧ください

このリリースは 1.0.0-beta01 と同一です。

バージョン 1.0.0-beta01

2020 年 10 月 28 日

androidx.wear:wear-input:1.0.0-beta01androidx.wear:wear-input-testing:1.0.0-beta01 がリリースされました。1.1.0-alpha01 からの変更はありません。バージョン 1.0.0-beta01 に含まれるコミットについては、こちらをご覧ください。

Wear-Input-Testing バージョン 1.0.0-alpha01

2020 年 10 月 14 日

androidx.wear:wear-input-testing:1.0.0-alpha01 がリリースされました。バージョン 1.0.0-alpha01 に含まれるコミットについては、こちらをご覧ください

API の変更

  • androidx.wear:wear-input ライブラリを使用して開発したアプリのテストをサポートするために androidx.wear.input.WearableButtonsProvider を実装する androidx.wear.input.test.TestWearableButtonsProvider を追加しました。(I0ed0c

Wear-Input バージョン 1.0.0-alpha01

2020 年 9 月 2 日

androidx.wear:wear-input:1.0.0-alpha01 がリリースされました。バージョン 1.0.0-alpha01 に含まれるコミットについては、こちらをご覧ください

新機能

ウェアラブル サポート ライブラリから Jetpack に WearableButtons の機能を移行しました。次回の Jetpack リリースの androidx.wear:wear-input-testing ライブラリに、追加のテストのサポートが提供されます。

バージョン 1.1.0

バージョン 1.1.0

2020 年 10 月 14 日

androidx.wear:wear:1.1.0 がリリースされました。バージョン 1.1.0 に含まれる commit については、こちらをご覧ください

1.0.0 以降の主な変更

  • Android の命名規則を遵守するため、BoxInsetLayout の boxedEdges 属性(現在は layout_BoxedEdges)に layout_ 接頭辞を追加しました。これにより、Android Studio でこの属性に関するリンターエラーが解消されます。(I4272f
  • 確認ダイアログが表示される持続時間を設定できるように、オプションの EXTRA_ANIMATION_DURATION_MILLISConfirmationActivity に追加しました。(adb83ceb/143356547
  • アクション ドロワーが初めて開くまでアクション ドロワーのインフレーションを遅らせるように、WearableActionDrawView を更新しました。(I01026b/163870541

バージョン 1.1.0-rc03

2020 年 9 月 2 日

androidx.wear:wear:1.1.0-rc03 がリリースされました。バージョン 1.1.0-rc03 に含まれる commit については、こちらをご覧ください

バグの修正

  • アクション ドロワーが開いたときにコンテンツが表示されない問題を修正しました。(I01026b/163870541

バージョン 1.1.0-rc02

2020 年 6 月 24 日

androidx.wear:wear:1.1.0-rc02 がリリースされました。バージョン 1.1.0-rc02 に含まれる commit については、こちらをご覧ください

バグの修正

  • Android の命名規則を遵守するため、BoxInsetLayout の boxedEdges 属性(現在は layout_boxedEdges)に layout_ 接頭辞を追加しました。これにより、Android Studio でこの属性に関するリンターエラーが解消されます。

バージョン 1.1.0-rc01

2020 年 5 月 14 日

androidx.wear:wear:1.1.0-rc01 がリリースされました。.1.0-beta01 からの変更はありません。バージョン 1.1.0-rc01 に含まれる commit については、こちらをご覧ください

バージョン 1.1.0-beta01

2020 年 4 月 29 日

androidx.wear:wear:1.1.0-beta01 がリリースされました。androidx.wear:wear:1.1.0-alpha01 からの変更はありません。バージョン 1.3.0-beta01 に含まれるコミットについては、こちらをご覧ください

バージョン 1.1.0-alpha01

2020 年 4 月 15 日

androidx.wear:wear:1.1.0-alpha01 がリリースされました。バージョン 1.1.0-alpha01 に含まれるコミットについては、こちらをご覧ください

API の変更

  • 確認ダイアログが表示される持続時間を設定できるように、オプションの EXTRA_ANIMATION_DURATION_MILLISConfirmationActivity に追加しました。(adb83ce134523cb/143356547

バグの修正

  • アクション ドロワーが初めて開くまでアクション ドロワーのインフレーションを遅らせるように、WearableActionDrawView を更新しました。(5cd32f7