Wear
androidx.wear.activity
androidx.wear.ambient
androidx.wear.input
androidx.wear.utils
androidx.wear.widget
androidx.wear.widget.drawer
(すべての Wear パッケージのリファレンス ドキュメントをご覧ください)
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-alpha05 |
wear-remote-interactions | 1.1.0 | - | - | - |
依存関係の宣言
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 Core バージョン 1.0
バージョン 1.0.0-alpha01
2024 年 5 月 29 日
androidx.wear:wear-core:1.0.0-alpha01
がリリースされました。バージョン 1.0.0-alpha01 には、これらの commit が含まれています。
API の変更
- Wear でのランタイム API 互換性チェックを支援する新しいクラス
WearApiVersionhelper
を追加しました。クライアントは、この静的ヘルパー クラスと提供されたメソッド(#isApiVersionAtLeast(VERSION)
)を使用して互換性を確認できます。
Wear ツール プレビュー バージョン 1.0
バージョン 1.0.0
2023 年 11 月 29 日
androidx.wear:wear-tooling-preview:1.0.0
がリリースされました。バージョン 1.0.0 に含まれる commit については、こちらをご覧ください。
1.0.0 の機能
WearDevices
を追加して、UI プレビューに使用できる有効な Wear デバイスを一覧表示します。
バージョン 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 の変更
WearDevices
を追加して、UI プレビューに使用できる有効な Wear デバイスを一覧表示(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 以降の重要な変更
AmbientModeSupport
を移行してLifecycleObserver
を使用します。AmbientModeSupport
を非推奨とし、新しいライフサイクル対応クラスに置き換えました。ConfirmationOverlay
のアイコンやレイアウト、フォント、フォント メトリックを新しくしましたSwipeDismissTransitionHelper
を更新し、FragmentContainerView
の使用時にエラーを修正するために、2 番目のView
ではなく背景のドローアブルを使用するようにしました。- Wear プラットフォームと Wear Compose の実装に合わせて、
SwipeDismissFrameLayout
アニメーションを更新しました。 SwipeDismissFrameLayout
バグを修正し、上下のフリングでフラグメントが誤って閉じないようにしましたArcLayout
が、通常のレイアウト ウェイトと同じように機能する拡大ウェイトをサポートするようになりました。ArcLayout
でlayoutDirection
をサポート
バージョン 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 の変更
AmbientModeSupport
を移行してLifecycleObserver
を使用します。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.Widget
にsetSweepAngleDegrees
を追加しました。これにより、ArcLayout
は 0 以外のウェイトを持つウィジェットにサイズを通知できます。(I75f24) setColorFilter
の null 可能性を更新しました。(I99ddf、b/236498063)
バージョン 1.3.0-alpha02
2022 年 2 月 23 日
androidx.wear:wear:1.3.0-alpha02
がリリースされました。バージョン 1.3.0-alpha02 に含まれる commit については、こちらをご覧ください。
新機能
ArcLayout
でlayoutDirection
をサポートしました(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
バージョン 1.1.0-alpha05
2024 年 12 月 11 日
androidx.wear:wear-phone-interactions:1.1.0-alpha05
がリリースされました。バージョン 1.1.0-alpha05 には、これらの commit が含まれています。
バグの修正
- Wear OS 5.1(API バージョン 34)で実行し、それ以降のバージョンの SDK をターゲットとする場合に発生するクラッシュ バグを修正。アプリは、
targetSdkVersion
を 35 以上に更新する前に、このバージョンのライブラリに更新する必要があります。
バージョン 1.1.0
2024 年 12 月 11 日
androidx.wear:wear-remote-interactions:1.1.0
がリリースされました。バージョン 1.1.0 には、これらの commit が含まれています。
1.0.0 以降の重要な変更
- リモート アクティビティを起動する機能が利用可能かどうかを確認できる
RemoteActivityHelper.isRemoteActivityHelperAvailable
を追加しました。(I107a9)
バージョン 1.1.0-rc01
2024 年 10 月 16 日
androidx.wear:wear-remote-interactions:1.1.0-rc01
がリリースされました。1.1.0-beta01
からの変更はありません。バージョン 1.1.0-rc01 に含まれる commit については、こちらをご覧ください。
バージョン 1.1.0-beta01
2024 年 7 月 24 日
androidx.wear:wear-remote-interactions:1.1.0-beta01
がリリースされました。バージョン 1.1.0-beta01 には、これらの commit が含まれています。Wear Remote Interactions の 1.3.0-beta01 リリースでは、ライブラリのこのリリースは機能が完成し、API がロックされていることが表明されました(試験運用版としてマークされている場合を除く)。
バージョン 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) RemoteActivityHelper
のコンストラクタを更新し、Java でオプション パラメータと互換性を持たせました。(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 が設定されていない場合、
OAuthRequest
のredirectUrl
が空の文字列を返すようになりました。(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 の変更
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.0
と androidx.wear:wear-remote-interactions:1.0.0
がリリースされました。バージョン 1.0.0 に含まれる commit については、こちらをご覧ください。
1.0.0 の主な機能
Phone Interaction Library には、ウェアラブルからスマートフォンへのインタラクションのための API が含まれています。以下の内容が含まれます。
PhoneDeviceType
: 現在のスマートウォッチがペア設定されているスマートフォンのタイプを判別するためのヘルパー メソッドを提供します(このクラスは、ウェアラブル デバイスのみで利用できます)。BridgingManager
、BridgingManagerService
、BridgingConfig
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-rc01
と androidx.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 の変更
- Ongoing Activity に content description フィールドを追加しました。これは、ユーザー補助サービスが進行中のアクティビティを説明するために使用されます。(I79fc6)
バグの修正
- SDK 33 以降で
POST_NOTIFICATIONS
権限を付与する必要がある API に@RequiresPermission
を追加しました。(Ie542e、b/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-beta01
と androidx.wear:wear-remote-interactions:1.0.0-beta01
がリリースされました。バージョン 1.0.0-beta01 に含まれる commit については、こちらをご覧ください。
API の変更
- クラス
RemoteIntentHelper
の名前をRemoteActivityHelper
に変更しました。関数RemoteIntentHelper#getRemoteIntentExtraIntent
とRemoteIntentHelper#getRemoteIntentNodeId
の名前を、それぞれRemoteActivityHelper#getTargetIntent
とRemoteActivityHelper#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)
バグの修正
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
のステータスを作成できるようになりました。 OngoingActivityData
とOngoingActivityStatus
が公開 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-alpha03
と androidx.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-alpha02
と androidx.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-alpha01
、androidx.wear:wear-phone-interactions:1.0.0-alpha01
、androidx.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)
UserStyle
はMap<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.onTap
をonTapEvent(@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.createWatchFaceMetadataClient
のListenableFuture
ラッパーを提供するListenableWatchFaceMetadataClient.listenableCreateWatchFaceMetadataClient
を追加しました。(I5fa37)UserStyleOption.getOptionForId
が、バイト配列の代わりにUserStyleOption.Id
を受け取るようになりました。(I469be)- 定数の
BooleanOption.TRUE
とBooleanOption.FALSE
を指定し、インスタンスの作成を許可しません。(I46e09) - RemoteException をスローできる wear-watchface-client のメソッドに、対応するアノテーションが付けられるようになりました。(Ib8438)
- 一貫性を保つため、
EditorSession.createOnWatchEditingSession
の名前をcreateOnWatchEditorSession
に変更しました。同様に、createHeadlessEditingSession
をcreateHeadlessEditorSession
に変更しました。その 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 の変更
ComplicationHelperActivity
をandroidx.wear:wear-watchface
ライブラリに移動しました。(I39e76)- わかりやすくするため、
ComplicationProvider
の名前をComplicationDataSource
に変更し、名前に Provider を含むすべてのクラスも同様に名前を変更しました。(Iaef0b) CanvasComplication.isHighlighted
をRenderParameters.pressedComplicationSlotIds
に移動しました。これはCanvasComplication
をステートレスにするための対策です。この変更をサポートするために、CanvasComplication.render
はslotId
もパラメータとして受け取るようになり、ComplicationSlot
がGlesTextureComplication
に渡されるようになりました。(I50e6e)EditorRequest
にheadlessDeviceConfig
を追加しました。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 については、こちらをご覧ください。
新機能
GlesRenderer
のmakeUiThreadContextCurrent
とmakeBackgroundThreadContextCurrent
が、Runnable
を受け入れるrunUiThreadGlCommands
とrunBackgroundThreadGlCommands
にそれぞれ置き換えられました。ライブラリでは実行可能な GL コマンドを常に 1 つのみ実行できます。UiThread の初期化を簡単に行えるようにするために、レンダリングの呼び出しの前に UiThread で 1 回呼び出される
CanvasRenderer.uiThreadInit
を追加しました。また、onRendererCreated
をCanvasComplication
に追加し、Renderer
とCanvasComplication
で状態を簡単に共有できるようにしました。わかりやすくするために、
Complication
の名前をComplicationSlot
に、complicationId
の名前を用途に応じてcomplicationSlotId
またはcomplicationInstanceId
に変更しました
API の変更
- わかりやすくするために、
Complication
の名前をComplicationSlot
に、complicationId
の名前を用途に応じてcomplicationSlotId
またはcomplicationInstanceId
に変更しました。同様に、Complication を使用するクラスの名前も変更されました。たとえば、ComplicationsManager は ComplicationSlotsManager と呼ばれるようになりました。(I4da44) - GlesRenderer の
makeUiThreadContextCurrent
とmakeBackgroundThreadContextCurrent
が、Runnable
を受け入れるrunUiThreadGlCommands
とrunBackgroundThreadGlCommands
にそれぞれ置き換えられました。これらの関数は、レンダリング、runBackgroundThreadGlCommands
、onUiThreadGlSurfaceCreated
の外部で GL 呼び出しを行う場合にのみ必要です。これは、複数の GlesRenderers がそれぞれ同じプロセスで独自のコンテキストを持つ場合があるためです(さまざまなウォッチフェイスのものである可能性があります)。また、現在の共有 GL コンテキストへのアクセスが同期されるようになりました。(I04d59) - レンダリングの呼び出しの前に UiThread で 1 回呼び出される
CanvasRenderer.uiThreadInit
を追加しました。また、GlesRenderer を明確化するために、onGlContextCreated
の名前をonBackgroundThreadGlContextCreated
に、onGlSurfaceCreated
の名前をonUiThreadGlSurfaceCreated
に変更しました。(If86d0) HeadlessWatchFaceClient
とInteractiveWatchFaceClient
getComplicationsSlotState
の名前をgetComplicationSlotsState
に変更しました。ComplicationSlot
のcreateRoundRectComplicationBuilder
、createBackgroundComplicationBuilder
、createEdgeComplicationBuilder
の名前が、それぞれcreateRoundRectComplicationSlotBuilder
、createBackgroundComplicationSlotBuilder
、createEdgeComplicationSlotBuilder
に変更されました。(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
に変更されました。(I0184a、b/187447093、b/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.Builder
、LongTextComplicationData.Builder
、RangedValueComplicationData.Builder
のcontentDescription
フィールドをそれらのコンストラクタに渡すことを必須にしました。ComplicationText.EMPTY
がcontentDescription
に渡された場合、contentDescription
はテキストとタイトルから自動的に生成されます。ウォッチフェイスが init の実行中に例外をスローした場合、
WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient
はServiceStartFailureException
をスローするようになりました。これにより、ウォッチフェイスの起動時の問題の診断がかなり容易になります。
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.Builder
、LongTextComplicationData.Builder
、RangedValueComplicationData.Builder
のcontentDescription
フィールドをコンストラクタに渡すことを必須にしました。(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.Builder
、MonochromaticImageComplicationData.Builder
、SmallImageComplicationData.Builder
のcontentDescription
フィールドをコンストラクタに渡すことが必須になりました。(I9643a)ProviderInfoRetriever.requestPreviewComplicationData
の名前をretrievePreviewComplicationData
に変更しました。(I911ee)ComplicationProviderService
を Java から Koltin に移行しました。(I849f2)- メソッド
ComplicationProviderService.onBind
は今回が最終版です(I39af5) - インターフェース
CanvasComplication
を復元し、CanvasComplicaitonDrawable
、GlesTextureComplication
、ComplicationHighlightRenderer
をwear-watchface-complications-rendering
に移動しました。(I84670) - 拡張されたハイライト レンダリングをサポートできるように
RenderParameters
がリファクタリングされました。スタイルだけでなく、すべてまたは個々のウォッチフェイスの追加機能をレンダリングするよう、リクエストできるようになりました。さらに、CanvasRenderer と GlesRenderer には、エディタでリクエストされたハイライト表示をレンダリングするための新しい renderHighlightLayer 抽象メソッドが追加されました。レイヤの名前を WatchFaceLayer に変更しました。(Ic2444) - 画面端の追加機能をサポートするために
ComplicationTapFilter
とComplication.createEdgeComplicationBuilder
を追加しました。画面端の追加機能のレンダリングとヒットテストはウォッチフェイスが行います。エディタ内でのヒットテストには対応していません。(Ia6604) DoubleRangeUserStyleSetting
とLongRangeUserStyleSetting
の場合、defaultValue
、maximumValue
、minimumValue
が 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 に改良が加えられました。ほとんどの変更は簡単な名前の変更ですが、
InteractiveWatchFaceWcsClient
とInteractiveWatchFaceSysUiClient
はInteractiveWatchFaceClient
に統合されました。
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) UserStyleSetting
とUserStyleSetting.Option
は、それぞれUserStyleSetting.Id
とUserStyleSetting.Option.Id
を使用して、文字列ではなく ID を保存するようになりました。(I63f72)InteractiveWatchFaceClient.SystemState
の名前をWatchUiState
に変更しました。(I6a4e0)- 対象範囲の区分を説明するのが難しかったため、
InteractiveWatchFaceWcsClient
とInteractiveWatchFaceSysUiClient
を統合しました。(Iff3fa) - わかりやすくするために、レイヤの列挙値の名前を変更しました。
Layer#TOP_LAYER
はLayer#COMPLICATIONS_OVERLAY
に、Layer#BASE_LAYER
はLayer#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.commitChanges
とhasCommitChanges()
の名前を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
アノテーションをInteractiveWatchFaceSysUiClient
とWatchFaceControlClient
に追加しました。(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)- わかりやすくするため、
ReferenceTime
をCountUpTimeReference
とCountDownTimeReference
に置き換えました。(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-alpha09
と androidx.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_ACTION
をCATEGORY_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 の内部クラスになりました。(Iab5d4、b/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 になりました。(I30121、b/173802666)
- Complication に compicationData が追加され、ウォッチフェイスから ComplicationData の変更を監視できるようになりました。また、Complication に、指定された日時でレンダリングすべきものがあるかどうかを判断するために使用できる isActiveAt 呼び出しを追加しました。(Ic0e2a)
- 空の
SharedMemoryImage
が公開 API からなくなりました。(I7ee17) WatchFace.overridePreviewReferenceTimeMillis
に IntRange アノテーションを付け、ゲッターとセッターの名前が一貫したものになりました。(Ia5f78)- わかりやすくするために、
Complication.Builder
をComplication.createRoundRectComplicationBuilder
またはComplication.createBackgroundComplicationBuilder
で作成するようになりました(I54063) - 追加機能によって消費されないタップを WatchFace で監視できるようにする WatchFace.TapListener を追加しました。(Ic2fe1、b/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 の変更
ComplicationDetails
がComplicationState
と呼ばれるようになり、適切にラップされ、ウェアラブル サポート@ComplicationData.ComplicationType
の使用は androidxComplicationType
に移行されました。(I4dd36)- オプションの
highlightedComplicationId
パラメータを RenderParameters に追加しました。これにより、スクリーンショットで 1 つの追加機能のハイライト表示をリクエストできます。(I66ce9) ComplicationProviderService
。整合性を保つために新しいスタイル追加機能 API を使用します(Id5aea)getPreviewReferenceTimeMillis
がDeviceConfig
から基準時間を取得するようになりました。(I779fe)- Renderer API サーフェスを簡略化しました。代わりに
SurfaceHolder.Callback
を使用して変更を監視できます。(I210db) CanvasComplicationRenderer
はRenderer
から拡張されていません。わかりやすくするために名前を変更しました。(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-alpha01
と androidx.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 で有効になりました(I4bbea、b/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" />
時計回りまたは反時計回りに子要素を 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>
新しいレイアウト コンテナ DismissibleFrameLayout を追加しました。これは、[戻る] ボタンで閉じる操作やスワイプで閉じる操作を処理するもので、アクティビティ内での使用を意図しています。閉じる操作を行うには、リスナーを少なくとも 1 つ追加する必要があります。リスナーは通常、包含するビューまたはフラグメントを現在のアクティビティから削除します。setSwipeDismissible(boolean) と setBackButtonDismissible(boolean) を使用すると、この機能を直接制御できます。この新しいレイアウトは既存の SwipeDismissFrameLayout を置き換えるものです。
デバイスが AmbientModeSupport クラスの「常に画面表示モード」を終了したときに、Activity を「自動的に再開」することができることを通知できるようになりました。この機能は以前、サポートが終了している、WearableSupportLibrary の WearableActivity クラスで使用できました。(I336ab)
ウェアラブル サポート ライブラリから ApparelCalendarContract クラスを移行しました。この API は CalendarContract で取得できるデータのサブセットを提供しますが、ウェアラブル デバイスと自動的に同期されます。(I6f2d7)
指定された Wear デバイスが中国向けかどうかを判断するための新しい API
WearTypeHelper
をandroidx.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
WearTypeHelper
をandroidx.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
バグの修正
バージョン 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
およびsetMaxSweepDegrees
がsetSweepRangeDegrees
に置き換えられました。(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)
- OngoingActivity の作成時にカテゴリを設定できるようになりました(例:
- レイアウト パラメータを変更して 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"
/>
- 時計回りまたは反時計回りに子要素を 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>
(I536da)
Wear-Input 1.2
バージョン 1.2.0-alpha02
2021 年 9 月 29 日
androidx.wear:wear-input:1.2.0-alpha02
と androidx.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-alpha01
と androidx.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.0
と androidx.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-rc01
と androidx.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-beta01
と androidx.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-alpha03
と androidx.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-alpha02
と androidx.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-alpha01
と androidx.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.0
と androidx.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-rc01
と androidx.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-beta01
と androidx.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_MILLIS
をConfirmationActivity
に追加しました。(adb83ce、b/143356547) - アクション ドロワーが初めて開くまでアクション ドロワーのインフレーションを遅らせるように、
WearableActionDrawView
を更新しました。(I01026、b/163870541)
バージョン 1.1.0-rc03
2020 年 9 月 2 日
androidx.wear:wear:1.1.0-rc03
がリリースされました。バージョン 1.1.0-rc03 に含まれる commit については、こちらをご覧ください。
バグの修正
- アクション ドロワーが開いたときにコンテンツが表示されない問題を修正しました。(I01026、b/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_MILLIS
をConfirmationActivity
に追加しました。(adb83ce、134523c、b/143356547)
バグの修正
- アクション ドロワーが初めて開くまでアクション ドロワーのインフレーションを遅らせるように、
WearableActionDrawView
を更新しました。(5cd32f7)