Wear

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

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

アーティファクト 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース
wear 1.3.0 - - 1.4.0-alpha01
wear-input 1.1.0 - - 1.2.0-alpha02
wear-input-testing 1.1.0 - - 1.2.0-alpha02
wear-ongoing 1.0.0 - - 1.1.0-alpha01
wear-phone-interactions 1.0.1 - - 1.1.0-alpha04
wear-remote-interactions 1.0.0 - - 1.1.0-alpha02
このライブラリの最終更新日: 2024 年 1 月 10 日

依存関係の宣言

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

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

Groovy

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

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

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

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

Kotlin

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

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

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

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

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

フィードバック

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

新しい問題を報告する

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

Wear ツール プレビュー バージョン 1.0

バージョン 1.0.0

2023 年 11 月 29 日

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

1.0.0 の機能

  • UI プレビューに使用できる有効な Wear デバイスをリストするために、WearDevices を追加しました。

バージョン 1.0.0-rc01

2023 年 11 月 15 日

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

バージョン 1.0.0-beta01

2023 年 10 月 18 日

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

バージョン 1.0.0-alpha01

2023 年 8 月 23 日

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

API の変更

  • UI プレビューに使用できる有効な Wear デバイスをリストするために WearDevices を追加しました。(Ib036e

Wear バージョン 1.4

バージョン 1.4.0-alpha01

2023 年 11 月 15 日

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

バグの修正

  • メッセージがない場合は、縦方向の中央の ConfirmationOverlay アイコン。(I496d8

Wear バージョン 1.3

バージョン 1.3.0

2023 年 8 月 9 日

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

1.2.0 以降の重要な変更

  • LifecycleObserver を使用するように AmbientModeSupport を移行します。AmbientModeSupport のサポートが終了し、新しいライフサイクル対応クラスに置き換えられました。
  • 新しいアイコン、レイアウト、フォント、フォント指標で ConfirmationOverlay を更新
  • FragmentContainerView 使用時のエラーを修正するために、2 つ目の View ではなく背景ドローアブルを使用するように SwipeDismissTransitionHelper を更新しました。
  • Wear プラットフォームと Wear Compose の実装に合わせて SwipeDismissFrameLayout アニメーションを更新しました。
  • SwipeDismissFrameLayout のバグを修正し、垂直フリングでフラグメントが誤って閉じられないようにしました。
  • ArcLayout で、通常のレイアウトの重みと同様に動作する拡張の重みがサポートされるようになりました。
  • ArcLayoutlayoutDirection をサポートする

バージョン 1.3.0-rc01

2023 年 6 月 21 日

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

バージョン 1.3.0-beta01

2023 年 6 月 7 日

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

API の変更

  • フィードバックに基づき AmbientLifecycleObserver を更新しました。AmbientLifecycleObserverInterface の名前が AmbientLifecycleObserver に変更され、AmbientLifecycleObserver(...) を呼び出してインスタンスを取得できます。isAmbient がメソッドではなくフィールドに移動しました。(I84b4f

バグの修正

  • SwipeToDismiss でアルファと変換をリセットする際に親ビューが null の場合に処理する null チェックを追加しました。(Ib0ec7

バージョン 1.3.0-alpha05

2023 年 4 月 19 日

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

API の変更

  • LifecycleObserver を使用するように AmbientModeSupport を移行します。AmbientModeSupport のサポートが終了し、新しいライフサイクル対応クラスが導入されました。(I1593b

バグの修正

  • SwipeDismissTransitionHelper 背景スクリム アプローチを更新して、FragmentContainerView 使用時のエラーを修正するためにビューを追加する代わりに、ドローアブルを使用するようにしました。(I851cd

バージョン 1.3.0-alpha04

2023 年 1 月 25 日

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

バグの修正

  • Wear プラットフォームと Wear Compose の実装に合わせて、SwipeDismissFrameLayout のアニメーションを更新しました。(I7261b

バージョン 1.3.0-alpha03

2022 年 8 月 24 日

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

新機能

  • ArcLayout が、通常のレイアウト ウェイトと同じように機能する拡大ウェイトをサポートするようになりました。つまり、角度を直接計算せずに、子要素の相対サイズを指定できます。また、ウェイトを指定した子要素を拡大する際に考慮されるベスト エフォートの MaxAngleDegrees も追加しました。たとえば、ウェイトを指定した複数の子を持つ円弧を 90 度にクランプすることができます。この場合、拡大されない要素が占めるスペースも考慮されます。

API の変更

  • ウィジェットが利用可能なスペースを埋めて拡大できるように、ArcLayout.LayoutParams にウェイトを追加しました。複数のウィジェットがある場合、利用可能なスペースの配分はそのウェイトに比例します。それに加えて、ArcLayout.setMaxAngleDegrees を追加して、たとえば拡大を 90 度に制限できるようにしました(注意: 固定サイズの子ウィジェットのレイアウトには影響しません)。さらに、ArcLayout.WidgetsetSweepAngleDegrees を追加しました。これにより、ArcLayout は 0 以外のウェイトを持つウィジェットにサイズを通知できます。(I75f24
  • setColorFilter の null 可能性を更新しました。(I99ddfb/236498063

バージョン 1.3.0-alpha02

2022 年 2 月 23 日

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

新機能

  • ArcLayoutlayoutDirection をサポートしました(I14d49
  • ConfirmationOverlay のコンテンツの説明メッセージを改善しました(I0fdf8
  • ConfirmationOverlay のアイコンやレイアウトを新しくしました(If5b54

バグの修正

  • アンビエント関連のコードが保持されるように、ProGuard ルールを追加しました(Idaa10
  • SwipeDismissFrameLayout のフラグメントを上下のフリングで誤って閉じないようにしました(Idb6d8
  • メッセージがない場合の ConfirmationOverlay を修正しました(I63e6f

外部からの協力

  • Dae Gyu LEE(Samsung) - SwipeDismissFrameLayout のフラグメントを上下のフリングで誤って閉じないようにしました(Idb6d8

バージョン 1.3.0-alpha01

2021 年 9 月 29 日

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

バグの修正

  • ConfirmationOverlay がアイコンを押し上げ、長いメッセージに対応するようになり、メッセージがデバイスのベゼル(または画面外)に出ることはなくなりました。(I54bff

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

VerWear-Phone-Interactions バージョン 1.1.0-alpha04

2024 年 1 月 10 日

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

API の変更

  • リモート認証が使用可能かどうかを確認する RemoteAuthClient.isRemoteAuthAvailable を追加しました。(Ibc10c

バージョン 1.1.0-alpha02

2024 年 1 月 10 日

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

API の変更

  • リモート アクティビティを開始する機能が利用できるかどうかを確認するのに便利な RemoteActivityHelper.isRemoteActivityHelperAvailable を追加しました。(I107a9
  • Java と互換性のあるオプションのパラメータを含むように RemoteActivityHelper のコンストラクタを更新しました。(I75554

バージョン 1.1.0-alpha01

2023 年 6 月 21 日

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

バグの修正

  • RemoteActivityHelper での完了とエラーの処理方法を改善しました。(I60d60

外部からの協力

  • wear-remote-interactions から Guava の依存関係を削除し、より小さな代替方法を使用します。

Wear-Phone-Interactions バージョン 1.1.0-alpha03

2022 年 3 月 9 日

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

バグの修正

  • 指定されたリクエスト URL にリダイレクト URL が設定されていない場合、OAuthRequestredirectUrl が空の文字列を返すようになりました。(I44242

Wear-Phone-Interactions バージョン 1.1.0-alpha02

2021 年 12 月 15 日

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

バグの修正

  • RemoteAuthClient ドキュメントのエラー(コードサンプルのスニペットのエラーと ErrorCode への無効なリンクを含む)を修正しました。(I260e8

Wear-Phone-Interactions バージョン 1.1.0-alpha01

2021 年 9 月 15 日

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

API の変更

  • プロパティ redirectUrl を OAuthRequest に追加しました。(I98840Ie684d

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

Wear-Phone-Interactions バージョン 1.0.1

2021 年 12 月 15 日

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

バグの修正

  • excludedTags のないブリッジ通知を無効にしようとすると BridgingManager から例外がスローされる問題を修正しました。

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

2021 年 9 月 15 日

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

1.0.0 の主な機能

Phone Interaction Library には、ウェアラブルからスマートフォンへのインタラクションのための API が含まれています。以下の内容が含まれます。

  • PhoneDeviceType: 現在のスマートウォッチがペア設定されているスマートフォンのタイプを判別するためのヘルパー メソッドを提供します(このクラスは、ウェアラブル デバイスのみで利用できます)。
  • BridgingManagerBridgingManagerServiceBridgingConfig API: 実行時に通知を有効または無効にし、ブリッジモードの対象外の通知に対して必要に応じてタグを設定します。
  • RemoteAuthClient: ウェアラブルでのリモート認証のサポートと OAuth PKCE 拡張機能のサポートを提供します。通信用の追加のハンドラとヘルパークラスを用意しました。

Remote Interaction Library には、ウェアラブルとスマートフォン間のインタラクションのための API が含まれています。以下の内容が含まれます。

  • WatchFaceConfigIntentHelper: スマートフォン上のコンパニオンのウォッチフェイス構成アクティビティで ID とコンポーネント名を指定するためのヘルパー関数を提供します。
  • RemoteActivityHelper クラス: スマートウォッチからスマートフォンまで、他のデバイスでインテントを開くことができます。

Wear-Phone-Interactions Wear-Remote-Interactions バージョン 1.0.0-rc01

2021 年 9 月 1 日

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

バグの修正

  • RemoteActivityHelper の使用時に Google Play 開発者サービス内で発生したエラーが呼び出し元に伝達されないバグを修正しました(I60d60
  • 接続されているノードがない場合や、リクエストされた nodeId が見つからない場合、RemoteActivityHelper が Future を処理できないバグを修正しました(I60d60

Wear-Ongoing バージョン 1.1

バージョン 1.1.0-alpha01

2023 年 8 月 23 日

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

API の変更

  • 進行中のアクティビティにコンテンツの説明フィールドを追加する。進行中のアクティビティを説明するために、ユーザー補助サービスで使用されます。(I79fc6

バグの修正

  • SDK 33 以降で POST_NOTIFICATIONS 権限を付与する必要がある API に @RequiresPermission を追加しました。(Ie542eb/238790278

Wear-Ongoing バージョン 1.0.0

2021 年 9 月 1 日

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

1.0.0 の主な機能

  • Wear Ongoing Activities API は、サードパーティ デベロッパーを含むデベロッパー向けの API であり、自身のアクティビティを「進行中のアクティビティ」としてマークし、必要な情報を提供するために使用することができます。
  • 進行中のアクティビティとは、スマートウォッチのバックグラウンドで実行されているアクティビティ(ワークアウト、通話、メディアなど)を指します。Wear 3 では、進行中と宣言されたアクティビティは、ウォッチフェイスの専用オーバーレイ アイコンと、アプリ ランチャーの別のレンダリングによって、目立つように表示されます。
  • 詳しくは、Wear の進行中のアクティビティに関するガイドをご覧ください。

Wear-Phone-Interactions Wear-Remote-Interactions バージョン 1.0.0-beta01

2021 年 8 月 18 日

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

API の変更

  • クラス RemoteIntentHelper の名前を RemoteActivityHelper に変更しました。関数 RemoteIntentHelper#getRemoteIntentExtraIntentRemoteIntentHelper#getRemoteIntentNodeId の名前を、それぞれ RemoteActivityHelper#getTargetIntentRemoteActivityHelper#getTargetNodeId に変更しました。(Id2042

Wear-Ongoing バージョン 1.0.0-rc01

2021 年 8 月 18 日

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

Wear-Ongoing バージョン 1.0.0-beta01

2021 年 8 月 4 日

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

API の変更

  • OngoingActivity.Builder の一部のセッターが、セッターとゲッターの対称性と整合性を確保するために null 引数を受け入れるようになりました(I17ee5

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

2021 年 8 月 4 日

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

API の変更

  • WearTypeHelper.isChinaDevice の名前を WearTypeHelper.isChinaBuild に変更しました。(I47302
  • RemoteAuthClient ライブラリを更新し、デバイスの種類(RoW / China)に基づいて redirect_uri が自動的に選択されるようにしました。(I38866
  • BridgingConfig と Bundle との変換が ClassCastException が原因で失敗するバグを修正しました。BridgingManagerService クラスの単体テストを追加しました。(I68ecb

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

2021 年 8 月 4 日

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

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

2021 年 7 月 21 日

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

API の変更

  • BridgingManagerSeviceBinder クラスが Service のサブクラスになり、BridgingManagerSevice に名前が変更されました。(I9fca2
  • OAuthRequest パラメータを含めるように RemoteAuthClient.Callback.onAuthorizationError メソッドが変更されました。コールバックを必要とするメソッドでは、コールバックを実行するエグゼキュータも必要になりました。(I35e11

バグの修正

  • 認証 API をわかりやすくするために、より多くのパラメータを記録し、可能な限りプロパティを使用するようにしました。(I12287

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

2021 年 6 月 30 日

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

バグの修正

  • BridgingConfig.Builder のコンストラクタで渡す必要があるパラメータを文書化しました。

Wear-Ongoing バージョン 1.0.0-alpha06

2021 年 6 月 2 日

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

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 に含まれる commit については、こちらをご覧ください

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-Remote-Interactions バージョン 1.0.0-alpha05

2021 年 7 月 21 日

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

API の変更

  • RemoteIntentHelper クラス(以前のウェアラブル サポート ライブラリの RemoteIntent)を追加しました。これを使用すると、スマートウォッチからスマートフォンまで、他のデバイスでインテントを開くことができます。(I1d7e0

  • AndroidX ライブラリから PlayStoreAvailability クラスを削除しました。接続したスマートフォンで Play ストアを利用できるかどうかを検出するには、androidx.phone.interactions.PhoneTypeHelper.getPhoneDeviceType メソッドを使用して、接続したスマートフォンが Android スマートフォンかどうかを確認します。次に、androidx.wear.utils.WearTypeHelper.isChinaDevice メソッドを使用して、接続したスマートフォンが中国製デバイスかどうかを確認します。Android スマートフォンであり、中国製デバイスでない場合は、Play ストアをご利用いただけます。(Ie7dec

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 に含まれる commit については、こちらをご覧ください

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

2021 年 9 月 15 日

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

新機能

  • EditorSession がライフサイクル オブザーバーに登録するようになりました。これにより、アクティビティの終了時に明示的に EditorSession を閉じる必要がなくなりました。

API の変更

  • EditorSession と ListenableEditorSession は、complicationSlotsState、ComplicationsPreviewData、ComplicationsDataSourceInfo に Kotlin StateFlow を使用するようになりました。(I761d9
  • EditorSession#userStyle が MutableStateFlow<UserStyle> になりました。(I32ca9
  • EditorSession.createOnWatchEditorSession はライフサイクル オブザーバーを使用し、onDestroy を観測すると自動的に閉じるようになりました。また、createOnWatchEditorSession にはアクティビティを渡すだけで済みます。同じ変更が ListenableEditorSession にも適用されました。(Ic6b7f
  • CustomValueUserStyleSetting のコンストラクタが、公開 API の一部として復元されました。(I2e69a
  • UserStyleMap<UserStyleSetting, UserStyleSetting.Option> を継承するようになりました。MutableUserStyleSetting#put は、設定がスキーマに存在しない場合やオプションが設定と一致しない場合、IllegalArgumentException をスローします。(Iba40f

バージョン 1.0.0-alpha21

2021 年 9 月 1 日

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

API の変更

  • すべての公開ウォッチフェイス、クライアント、エディタ、ウォッチフェイスの追加機能の API が、Long ではなく java.time.Instant を使用するようになりました。その結果、最小 API レベルが 26 に引き上げられました。(I3cd48
  • ウォッチフェイス API と追加機能の API は、Calendar ではなく変更不可能な ZonedDateTime を使用するようになりました。(I25cf8
  • ComplicationSlot を NoDataComplicationData で初期化するようにしました。ComplicationSlot.complicationData は常に値を持つようになり、CanvasComplicationDrawable.complicationData は null 許容ではなくなりました。(I4dfd6)これにより、ウォッチフェイスを切り替える際の追加機能のちらつきが軽減されます(完全にはなくなりません)。

バージョン 1.0.0-alpha20

2021 年 8 月 18 日

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

API の変更

  • ComplicationDataSourceInfoRetriever.RetrievePreviewComplicationData が null を返すときに使用できる createFallbackPreviewData を ComplicationDataSourceInfo に追加しました。(I38c4d
  • ComplicationDataSourceUpdateRequester をインターフェースに変換し、単体テストでモックできるようにしました。ComplicationDataSourceUpdateRequester.create() を使用して具体的な ComplicationDataSourceUpdateRequester を作成できます。(I7da22
  • RenderParameters.pressComplicationSlotIds を、RenderParameters.lastComplicationTapDownEvents に置き換えました。このクラスは、タップの x、y 座標(ピクセル単位)と 1 つのタイムスタンプからなる 3 つの組み合わせを含む新しい TapEvent クラスを公開します。WatchFace.TapListener.onTaponTapEvent(@TapType tapType: Int, tapEvent: TapEvent) に置き換えました。さらに、InteractiveWatchFaceClient.displayPressedAnimation を削除しました。(Id87d2
  • setPriorityForAccessibility 用に明示的なスレッド アノテーションを追加しました(I990fa
  • ComplicationSlotBoundsType を wear/wear-watchface の androidx-wear-watchface.ComplicationSlotBoundsType に移動しました。(I09420
  • 文字列リソース ID を UserStyleSetting と Options に渡すためのサポートを追加しました。今後のオブジェクトの作成には、この方法をおすすめします。(I03d5f
  • UserStyle スキーマのワイヤサイズに上限を設定しました。また、スキーマ内のアイコンは 400 x 400 ピクセル以下にする必要が生じます。(I3b65b
  • UserStyle インスタンスの変更をサポートするために MutableUserStyle クラスを追加しました(I95a40
  • ListenableWatchFaceMetadataClient.Companion#listenableCreateWatchFaceMetadataClient の名前を ListenableWatchFaceMetadataClient.Companion#createListenableWatchFaceMetadataClient に変更しました。(I64ce2
  • 有効なウォッチフェイスの追加機能のデータのみを含むよう EditorState.previewComplicationsData を変更しました。また、EditorSession.DEFAULT_PREVIEW_TIME_MILLIS を追加しました。このクラスは、renderWatchFaceToBitmap または PreviewScreenshotParams に渡されると、ウォッチフェイスのデフォルトのプレビュー時間でのレンダリングが必要となります。(If7b3c
  • CharSequence を取る UserStyleSetting コンストラクタを公開 API から削除しました。代わりに StringResource ID を必要とするコンストラクタの使用をおすすめします。(I8537b
  • CurrentUserStyleRepository.UserStyleChangeListener が SAM 変換をサポートするようになりました。(I85989

バージョン 1.0.0-alpha19

2021 年 8 月 4 日

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

API の変更

  • WatchFaceMetadataClient.createWatchFaceMetadataClientListenableFuture ラッパーを提供する ListenableWatchFaceMetadataClient.listenableCreateWatchFaceMetadataClient を追加しました。(I5fa37
  • UserStyleOption.getOptionForId が、バイト配列の代わりに UserStyleOption.Id を受け取るようになりました。(I469be
  • 定数の BooleanOption.TRUEBooleanOption.FALSE を指定し、インスタンスの作成を許可しません。(I46e09
  • RemoteException をスローできる wear-watchface-client のメソッドに、対応するアノテーションが付けられるようになりました。(Ib8438
  • 一貫性を保つため、EditorSession.createOnWatchEditingSession の名前を createOnWatchEditorSession に変更しました。同様に、createHeadlessEditingSessioncreateHeadlessEditorSession に変更しました。その guava ラッパーの名前も変更しました。(I1526b
  • EditorSession がインターフェースになり、ListenableEditorSession.commitChangesOnClose が適切に委任されるようになりました。(I7dc3e
  • ID が競合する設定またはオプションを含むユーザー スタイル スキーマを拒否するようにしました(Ic2715
  • UserStyleSetting.Id を受け入れるオーバーロード UserStyle.get を追加しました。(I2aa0f

バージョン 1.0.0-alpha18

2021 年 7 月 21 日

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

API の変更

  • ComplicationHelperActivityandroidx.wear:wear-watchface ライブラリに移動しました。(I39e76
  • わかりやすくするため、ComplicationProvider の名前を ComplicationDataSource に変更し、名前に Provider を含むすべてのクラスも同様に名前を変更しました。(Iaef0b
  • CanvasComplication.isHighlightedRenderParameters.pressedComplicationSlotIds に移動しました。これは CanvasComplication をステートレスにするための対策です。この変更をサポートするために、CanvasComplication.renderslotId もパラメータとして受け取るようになり、ComplicationSlotGlesTextureComplication に渡されるようになりました。(I50e6e
  • EditorRequestheadlessDeviceConfig を追加しました。null ではない場合、このパラメータを使用することで、インタラクティブ インスタンスを操作するのではなく、EditorSession をサポートするヘッドレス インスタンスを作成できます。これによって、現在のウォッチフェイス以外のウォッチフェイスに対してエディタを呼び出せるようになります。(I0a820
  • 試験運用版の WatchFaceMetadataClient を追加しました。これにより、UserStyleSchema などの静的なウォッチフェイスのメタデータと、ComplicationSlots に関する修正された詳細情報を効率的に取得できます。(I6bfdf
  • CanvasRenderer.uiThreadInit の名前を init に変更しました。(I6fff9
  • PreviewScreenshotParams を追加しました。これは EditorRequest のオプションの新しいパラメータで、これらのパラメータを使用して commit 時にプレビューのスクリーンショットを撮影するよう EditorSession に指示します。プレビュー画像は EditorState.previewImage で公開されます。(Ic2c16

バグの修正

  • デベロッパーは、ComplicationHelperActivity を独自のマニフェストに追加する必要がなくなりました。(I6f0c2

バージョン 1.0.0-alpha17

2021 年 6 月 30 日

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

新機能

  • GlesRenderermakeUiThreadContextCurrentmakeBackgroundThreadContextCurrent が、Runnable を受け入れる runUiThreadGlCommandsrunBackgroundThreadGlCommands にそれぞれ置き換えられました。ライブラリでは実行可能な GL コマンドを常に 1 つのみ実行できます。

  • UiThread の初期化を簡単に行えるようにするために、レンダリングの呼び出しの前に UiThread で 1 回呼び出される CanvasRenderer.uiThreadInit を追加しました。また、onRendererCreatedCanvasComplication に追加し、RendererCanvasComplication で状態を簡単に共有できるようにしました。

  • わかりやすくするために、Complication の名前を ComplicationSlot に、complicationId の名前を用途に応じて complicationSlotId または complicationInstanceId に変更しました

API の変更

  • わかりやすくするために、Complication の名前を ComplicationSlot に、complicationId の名前を用途に応じて complicationSlotId または complicationInstanceId に変更しました。同様に、Complication を使用するクラスの名前も変更されました。たとえば、ComplicationsManager は ComplicationSlotsManager と呼ばれるようになりました。(I4da44
  • GlesRenderer の makeUiThreadContextCurrentmakeBackgroundThreadContextCurrent が、Runnable を受け入れる runUiThreadGlCommandsrunBackgroundThreadGlCommands にそれぞれ置き換えられました。これらの関数は、レンダリング、runBackgroundThreadGlCommandsonUiThreadGlSurfaceCreated の外部で GL 呼び出しを行う場合にのみ必要です。これは、複数の GlesRenderers がそれぞれ同じプロセスで独自のコンテキストを持つ場合があるためです(さまざまなウォッチフェイスのものである可能性があります)。また、現在の共有 GL コンテキストへのアクセスが同期されるようになりました。(I04d59
  • レンダリングの呼び出しの前に UiThread で 1 回呼び出される CanvasRenderer.uiThreadInit を追加しました。また、GlesRenderer を明確化するために、onGlContextCreated の名前を onBackgroundThreadGlContextCreated に、onGlSurfaceCreated の名前を onUiThreadGlSurfaceCreated に変更しました。(If86d0
  • HeadlessWatchFaceClientInteractiveWatchFaceClient getComplicationsSlotState の名前を getComplicationSlotsState に変更しました。ComplicationSlotcreateRoundRectComplicationBuildercreateBackgroundComplicationBuildercreateEdgeComplicationBuilder の名前が、それぞれ createRoundRectComplicationSlotBuildercreateBackgroundComplicationSlotBuildercreateEdgeComplicationSlotBuilder に変更されました。(Ib9adc
  • onRendererCreated を CanvasComplication に追加して、Renderer と CanvasComplication が状態を簡単に共有できるようにしました。(I5e1ac

バージョン 1.0.0-alpha16

2021 年 6 月 16 日

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

新機能

  • スレッドモデルの最近の変更に関連する多くのバグを修正し、ウォッチフェイス エディタでの他の問題も解決しました。

バグの修正

  • onComplicationProviderChooserResult での NPE を防止しました(b/189594557
  • 古いサーフェスや drawBlack の問題を修正しました(b/189452267
  • complicationsManager.watchState へのアクセスに関する競合を修正しました。(b/189457893
  • バックグラウンド スレッドの全期間のバグを修正しました(b/189445428
  • R 以前のウォッチフェイス エディタの問題を修正しました(b/189126313
  • エディタ スタイルの変更でダイレクト ブート パラメータを更新しませんでした(b/187177307

バージョン 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 に含まれる commit については、こちらをご覧ください。

新機能

  • 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 に含まれる commit については、こちらをご覧ください。

新機能

  • 新しいライブラリ 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 に含まれる commit については、こちらをご覧ください

新機能

多くの場合、ウォッチフェイスは、不定個数の追加機能を表示する追加機能設定をサポートします。この設定を簡単に行えるように、ビルダーで 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 に含まれる commit については、こちらをご覧ください

新機能

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

2021 年 9 月 15 日

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

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 の曲線テキストの例

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

  • デバイスが AmbientModeSupport クラスの「常に画面表示モード」を終了したときに、Activity を「自動的に再開」することができることを通知できるようになりました。この機能は以前、サポートが終了している、WearableSupportLibrary の WearableActivity クラスで使用できました。(I336ab

  • ウェアラブル サポート ライブラリから ApparelCalendarContract クラスを移行しました。この API は CalendarContract で取得できるデータのサブセットを提供しますが、ウェアラブル デバイスと自動的に同期されます。(I6f2d7

  • 指定された Wear デバイスが中国向けかどうかを判断するための新しい API WearTypeHelperandroidx.wear.utils に追加しました。(Ib01a9

  • ユーザー補助機能を androidx.wear.widget.ConfirmationOverlay に追加し、設定されていればメッセージを読み上げ、その後にアニメーションの説明を表示するようにしました。(I524dd

  • メッセージが提供されない場合に ConfirmationActivity がクラッシュするバグを修正しました。(Ie6055

  • RecyclerView を水平方向にスクロールすると、WearableDrawerLayout ですべてのインタラクションが参照されるバグを修正しました。(I24c7f

バージョン 1.2.0-rc01

2021 年 9 月 1 日

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

バージョン 1.2.0-beta01

2021 年 8 月 18 日

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

バグの修正

  • メッセージが提供されない場合に ConfirmationActivity がクラッシュするバグを修正しました。(Ie6055

バージョン 1.2.0-alpha13

2021 年 8 月 4 日

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

API の変更

  • WearTypeHelper.isChinaDevice の名前を WearTypeHelper.isChinaBuild に変更しました。(I47302

バグの修正

  • ユーザー補助機能を androidx.wear.widget.ConfirmationOverlay に追加し、設定されていればメッセージを読み上げ、その後にアニメーションの説明を表示するようにしました。(I524dd

バージョン 1.2.0-alpha12

2021 年 7 月 21 日

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

API の変更

  • 指定された Wear デバイスが中国向けかどうかを判断するための新しい API WearTypeHelperandroidx.wear.utils に追加しました。(Ib01a9

バージョン 1.2.0-alpha11

2021 年 6 月 30 日

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

バグの修正

  • RecyclerView を水平方向にスクロールすると、WearableDrawerLayout ですべてのインタラクションが参照されるバグを修正しました。(I24c7f

バージョン 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 に含まれる commit については、こちらをご覧ください

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 に含まれる commit については、こちらをご覧ください

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

バージョン 1.2.0-alpha02

2021 年 9 月 29 日

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

API の変更

  • WearableRemoteInputExtender で、絵文字の描画オプションを表示するかどうかを設定するのに使用する disallowEmoji の名前を setEmojisAllowed に変更しました。(I28393

バージョン 1.2.0-alpha01

2021 年 9 月 15 日

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

API の変更

  • WearableButtons からすべてのボタン位置の定数を公開しました。(Ibb12c
  • WearableRemoteInputExtender クラスを追加して、Wear 固有のエクストラを android.app.RemoteInput に追加できるようにしました。(I01903

Wear-Input 1.1.0

バージョン 1.1.0

2021 年 8 月 18 日

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

1.0.0 以降の重要な変更

  • RemoteInputIntentHelper を追加しました。
    • このクラスを使用して RemoteInput Intent を作成できます。カスタマイズ可能なアクティビティでは、こうしたインテントを使用して、ユーザーに入力を求めることができます。

バージョン 1.1.0-rc01

2021 年 8 月 4 日

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

androidx.wear:wear-input:1.1.0-beta01 および androidx.wear:wear-input-testing:1.1.0-beta01 以降で API の変更はありません。

バージョン 1.1.0-beta01

2021 年 7 月 21 日

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

バージョン 1.1.0-alpha03

2021 年 6 月 30 日

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

バグの修正

  • RemoteInputHelper.putRemoteInputsExtra を介して RemoteInput が追加された RemoteInput インテントが拒否されるバグを修正しました。

バージョン 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 に含まれる commit については、こちらをご覧ください

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 に含まれる commit については、こちらをご覧ください

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 に含まれる commit については、こちらをご覧ください

新機能

ウェアラブル サポート ライブラリから 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 に含まれる commit については、こちらをご覧ください

API の変更

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

バグの修正

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