Wear

建立 Wear OS by Google 智慧型手錶的應用程式。

這個資料表會列出 androidx.wear 群組中的所有構件。

構件 穩定版 候選版 Beta 版 Alpha 版
Wear 1.2.0 - - 1.3.0-alpha03
wear-input 1.1.0 - - 1.2.0-alpha02
wear-input-testing 1.1.0 - - 1.2.0-alpha02
wear-ongoing 1.0.0 - - -
wear-phone-interactions 1.0.1 - - 1.1.0-alpha03
wear-remote-interactions 1.0.0 - - -
本程式庫上次更新日期:2022 年 8 月 24 日

宣告依附元件

如要為 Wear 新增依附元件,您必須將 Google Maven 存放區新增至專案。詳情請參閱「Google 的 Maven 存放區」一節。

在應用程式或模組的 build.gradle 檔案中,新增您需要的構件依附元件:

Groovy

dependencies {
    implementation "androidx.wear:wear:1.2.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.1.0-alpha03"
    // 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.2.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.1.0-alpha03")
    // 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.3 版本

1.3.0-alpha03 版本

2022 年 8 月 24 日

發布 androidx.wear:wear:1.3.0-alpha031.3.0-alpha03 版本包含以下修訂項目。

新功能

  • ArcLayout 現在支援展開權重,其運作方式與一般版面配置權重類似。這表示您可以指定子項元素的相對大小,而不必直接計算其角度。我們還新增了 MaxAngleDegrees,在展開具有權重的子項元素時須遵循。例如,您可以將多個權重為 90 度的子項限制弧形取值範圍,這也會遵循任何未展開元素所佔用的空間。

API 異動

  • 我們對 ArcLayout.LayoutParams 新增了權重,如果有多個小工具,這會允許小工具展開以填滿可用空間,其佔有空間比例則會與權重成正比。此外,我們還新增了 ArcLayout.setMaxAngleDegrees,方便您將展開比例限制為 90 度 (NB 不會影響任何固定大小子項小工具的版面配置)。最後,ArcLayout.Widget 現在具有 setSweepAngleDegrees,可讓 ArcLayout 通知具有非零大小權重的小工具。(I75f24)
  • 更新 setColorFilter 的可為空值性 (I99ddfb/236498063)

1.3.0-alpha02 版本

2022 年 2 月 23 日

已釋出 androidx.wear:wear:1.3.0-alpha021.3.0-alpha02 版本包含以下修訂項目。

新功能

  • 支援 ArcLayout 上的 layoutDirection (I14d49)
  • 改善確認疊加層內容的說明訊息 (I0fdf8)
  • 使用新的圖示/版面配置更新 ConfirmationOverlay。(If5b54)

修正錯誤

  • 新增 ProGuard 規則,可確保系統會保留環境相關程式碼 (Idaa10)
  • 避免使用垂直關閉的滑動關閉頁框中的片段 (Idb6d8)
  • 修正在沒有訊息 (I63e6f) 時傳送確認疊加層

外部貢獻

  • Dae Gyu LEE (Samsung) - 避免在 滑動式關閉版面配置時,不小心關閉垂直捲軸的片段 (Idb6d8)

1.3.0-alpha01 版本

2021 年 9 月 29 日

已釋出 androidx.wear:wear:1.3.0-alpha011.3.0-alpha01 版本包含以下修訂項目。

修正錯誤

  • ConfirmationOverlay 現在會將圖示向上推,以容納較長的訊息,而無需輸入裝置的邊框 (或畫面外) 訊息。(I54bff)

Wear Ongoing & Interactions 1.1.0 版本

1.1.0-alpha03 版本

2022 年 3 月 9 日

已釋出 androidx.wear:wear-phone-interactions:1.1.0-alpha031.1.0-alpha03 版本包含以下修訂項目。

修正錯誤

  • 如果指定的要求網址中未設定重新導向網址,OAuthRequestredirectUrl 現在會傳回空的字串。(I44242)

Wear-Phone-Interactions 1.1.0-alpha02 版本

2021 年 12 月 15 日

已釋出 androidx.wear:wear-phone-interactions:1.1.0-alpha021.1.0-alpha02 版本包含以下修訂項目。

修正錯誤

  • 修正 RemoteAuthClient 說明文件的錯誤,包括程式碼片段程式碼片段中的錯誤和 ErrorCode 的無效連結 (I260e8)

Wear-Phone-Interactions 1.1.0-alpha01 版本

2021 年 9 月 15 日

發布 androidx.wear:wear-phone-interactions:1.1.0-alpha011.1.0-alpha01 版本包含以下修訂項目。

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.11.0.1 版本包含以下修訂項目。

修正錯誤

  • 已修正在沒有 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 版本包含以下修訂項目。

1.0.0 的主要功能

「電話互動程式庫」包含各種穿戴式裝置與手機的互動 API。包含下列項目:

  • PhoneDeviceType,可透過輔助方法判斷目前手錶配對的手機類型,僅適用於穿戴式裝置。
  • BridgingManagerBridgingManagerServiceBridgingConfig API:可在執行階段啟用/停用通知,並視需要設定不必與橋接模式傳送通知的通知標記。
  • RemoteAuthClient,支援在穿戴式裝置進行遠端驗證,並支援新增 OAuth PKCE 擴充功能。我們提供其他處理常式和協助類別,方便您進行溝通。

遠端互動程式庫中的 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 版本包含以下修訂項目。

修正錯誤

  • 修正使用 RemoteActivityHelper (I60d60) 時,在 Google Play 服務中引發的錯誤不會反映在呼叫端上
  • 修正在沒有連線節點或找不到要求的 nodeId 的情況下,RemoteActivityHelper 絕對不會完成其 Future (I60d60)

Wear-Ongoing 1.0.0 版本

2021 年 9 月 1 日

已釋出 androidx.wear:wear-ongoing:1.0.01.0.0 版本包含以下修訂項目。

1.0.0 的主要功能

  • Wear On 佳 Activity API 是開發人員 (包括第三方開發人員) 的 API,用於將活動標示為「進行活動」,並提供必要資訊。
  • 「進行中的活動」是指可能在背景執行的活動 (例如健身、來電和媒體)。使用 Wear 3 時,系統會用錶面上的專屬重疊圖示和應用程式啟動器中的其他顯示模式,突顯現存進行的活動。
  • 詳情請參閱 Wear Ongoing Activity 指南

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 版本包含以下修訂項目。

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-rc011.0.0-beta01起沒有變更。1.0.0-rc01 版本包含以下修訂項目。

Wear-Ongoing 1.0.0-beta01 版本

2021 年 8 月 4 日

已釋出 androidx.wear:wear-ongoing:1.0.0-beta011.0.0-beta01 版本包含以下修訂項目。

API 異動

  • OnOnActivity.Builder 上的部分 setter 現已接受空值引數,以提供與 setter 和 getters 的對稱性和一致性 (I17ee5)

Wear-Phone-Interactions 版本 1.0.0-alpha07

2021 年 8 月 4 日

已釋出 androidx.wear:wear-phone-interactions:1.0.0-alpha071.0.0-alpha07 版本包含以下修訂項目。

API 異動

  • WearTypeHelper.isChinaDevice」已重新命名為「WearTypeHelper.isChinaBuild」。(I47302)
  • 我們更新了 RemoteAuthClient 程式庫,以根據裝置類型 (RoW/China) 自動選取 redirect_uri。(I38866)
  • 已修正造成 ClassCastException 無法轉換到 Bundle 和 From Bundle 失敗的錯誤。已新增 BridgingManagerService 類別的單元測試。(I68ecb)

Wear-Remote-Interactions 1.0.0-alpha06 版本

2021 年 8 月 4 日

已釋出 androidx.wear:wear-remote-interactions:1.0.0-alpha061.0.0-alpha06 版本包含以下修訂項目。

Wear-Phone-Interactions 1.0.0-alpha06 版本

2021 年 7 月 21 日

已釋出 androidx.wear:wear-phone-interactions:1.0.0-alpha061.0.0-alpha06 版本包含以下修訂項目。

API 異動

  • BridgingManagerSeviceBinder 類別現已改為 Service 的子類別,並重新命名為 BridgingManagerSevice。(I9fca2)
  • 方法 RemoteAuthClient.Callback.onAuthorizationError 已變更為包含 OAuthRequest 參數。需要回呼的網址現在也需要執行者才能執行回呼。(I35e11)

修正錯誤

  • 我們已提供更多驗證參數以及盡量使用屬性,讓 Authentication API 更加清楚明瞭。(I12287)

Wear-Phone-Interactions 1.0.0-alpha05 版本

2021 年 6 月 30 日

已釋出 androidx.wear:wear-phone-interactions:1.0.0-alpha051.0.0-alpha05 版本包含以下修訂項目。

修正錯誤

  • 應在 BridgingConfig.Builder 的建構函式中傳送已記錄的參數。

Wear-Ongoing 1.0.0-alpha06 版本

2021 年 6 月 2 日

發布 androidx.wear:wear-ongoing:1.0.0-alpha061.0.0-alpha06 版本包含以下修訂項目。

API 異動

  • 將「標題」欄位新增至「進行中的活動」。(I7a405)

修正錯誤

  • SerializationHelper.copy() 現在會執行防禦性資訊副本 (I8b276)
  • 改善 setCategory 說明文件 (Iff01f)

Wear-Ongoing 1.0.0-alpha05 版本

2021 年 5 月 18 日

發布 androidx.wear:wear-ongoing:1.0.0-alpha051.0.0-alpha05 版本包含以下修訂項目。

API 異動

  • OngoingActivity 現已取得 getter 來擷取透過 Builder 直接設定的所有值 (或從相關通知所擷取的預設值)。(Id8ac8)。

    • 新類別 Status 現已用於建立 OngoingActivity 的狀態
    • OngoingActivityDataOngoingActivityStatus 不再屬於公開 API 的一部分,
  • TextStatusPartTimerStatusPart 類別不再為公開 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-alpha041.0.0-alpha04 版本包含以下修訂項目。

API 異動

  • 在 OnOnActivity 中,fromCurrentOncontinueActivity 的方法現已改稱為 cancelOnWithActivity。
  • OngoingActivity 現已有完整的 getter 組合,不再像之前只能透過 OngoingActivityData 存取。(I0ee4d)

Wear-Remote-Interactions 1.0.0-alpha05 版本

2021 年 7 月 21 日

已釋出 androidx.wear:wear-remote-interactions:1.0.0-alpha051.0.0-alpha05 版本包含以下修訂項目。

API 異動

  • 我們新增了 RemoteIntentHelper 類別 (先前在穿戴式裝置支援程式庫中的 RemoteIntent),可用於開啟其他裝置 (例如從手錶到手機) 中的意圖。(I1d7e0)

  • PlayStoreAvailability 類別已從 AndroidX 程式庫中移除。 如要偵測已連結的手機是否支援 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-alpha041.0.0-alpha04 版本包含以下修訂項目。

API 異動

  • 已更新 ErrorCode 常數,讓新程式庫可回溯相容於穿戴式支援資料庫的導入作業。

修正錯誤

  • 修正問題:啟動 OAuth 工作階段時,新的 OAuth API 會引發例外狀況。

Wear-Remote-Interactions 1.0.0-alpha03 版本

2021 年 4 月 7 日

已釋出 androidx.wear:wear-remote-interactions:1.0.0-alpha031.0.0-alpha03 版本包含以下修訂項目。

API 異動

  • PlayStoreAvailability 變更為包含含靜態方法隨播廣告物件的類別。用量維持不變。

修正錯誤

  • 已修正 WatchFaceConfigIntentHelper 的摘要文件,以正確顯示正確的 HTML 字元程式碼範例。

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 版本包含以下修訂項目。

新功能

  • 將 OAuthClient 從 Wearable 支援資料庫遷移至 AndroidX。這個遷移的類別已重新命名為 RemoteAuthClient,並支援在 Wearables 上進行遠端驗證,並支援新增 OAuth PKCE 擴充功能。我們提供其他處理常式和協助類別,方便您進行溝通。
  • 使用中的 On OnActivityActivity.Builder 建構函式可以將進行中的活動與含有標記的通知建立關聯。

API 異動

  • 新增處理中活動程式庫 (I653b4) 通知標記的支援
  • 將 OAuthClient 從 Wear 支援資料庫遷移至 AndroidX,並新增 OAuth PKCE 擴充功能 (I3eaaa)

Wear-Remote-Interactions 1.0.0-alpha02 版本

2021年3月10日

已釋出 androidx.wear:wear-remote-interactions:1.0.0-alpha021.0.0-alpha02 版本包含以下修訂項目。

新功能

  • 將 PlayStoreAvailability 類別從 Wearable 支援資料庫遷移至 AndroidX,這個 API 可用於檢查手機上是否提供 Play 商店。

修正錯誤

  • 將 PlayStoreAvailability 類別從 Wearable 支援資料庫遷移至 AndroidX。(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 版本包含以下修訂項目。

API 異動

  • 支援更複雜的狀態。範本由範本 (或多個) 和一系列零件所組成,這些部分會填入範本的預留位置。「OntainActivityStatus」現在有一個靜態方法,只能建立單一部分 (「文字」或「計時器」) 建立簡易狀態,並使用「建立工具」建立較為複雜的狀態。 (I1fe81)
  • 將 BridgingManager 和 BridgingConfig 類別從穿戴式裝置支援程式庫移至 AndroidX,您可透過 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-alpha011.0.0-alpha01 版本包含以下修訂項目。

API 異動

  • 將進行中的活動資料庫遷移至新的子資料庫:Wear-on。類別現已存放在 androidx.fit.oncontinue 套件 (原為 androidx.fit.oncontinueactivities) (I7c029)

  • 建立新的支援資料庫,以納入支援穿戴式裝置與手機互動的課程。應用程式一開始會填入從穿戴式支援資料庫遷移的課程,(Id5180)

  • 將 PhoneDeviceType 類別從穿戴式支援資料庫遷移至 AndroidX。遷移的類別將重新命名為 PhoneTypeHelper,以協助判斷目前手錶配對的手機類型,僅適用於穿戴式裝置。(Ibd947)

  • 建立新的支援資料庫,以納入支援穿戴式裝置與手機互動的課程。應用程式一開始會填入從穿戴式支援資料庫遷移的課程,(I9deb4)

  • 將 WatchFaceCompanion 類別從穿戴式支援資料庫遷移至 AndroidX。遷移的類別則重新命名為 WatchFaceConfigIntentHelper,可提供輔助功能,在手機上根據錶面設定活動指定 ID 和元件名稱,也可在本機環境中設定穿戴式裝置上的錶面。(Ia455f)

Wear Complications and Watchface 1.0.0 版本

1.0.0-alpha22 版本

2021 年 9 月 15 日

已釋出 androidx.wear:wear-*:1.0.0-alpha221.0.0-alpha22 版本包含以下修訂項目。

新功能

  • EditorSession 現已訂閱生命週期觀察器,因此您不需要在活動結束時明確關閉。

API 異動

  • EditorSession 和 HearableEditorSession 使用 kotlin StateFlows 來處理 complicationSlotsState、ComplicationsPreviewData 和 ComplicationsDataSourceInfo。(I761d9)
  • EditorSession#userStyle 現在是 MutableStateFlow<UserStyle> (I32ca9)
  • EditorSession.createOnWatchEditorSession 現已使用生命週期觀察工具,並在觀察到 Destroy 時自動關閉。此外,createOnWatchEditorSession 現在也只需要接收活動資料。相同的變更也套用於 ReadableEditorSession。(Ic6b7f)
  • 在 Public API 中恢復了 CustomValueUserStyleSetting 的建構函式。(I2e69a)
  • UserStyle 現在可以從 Map<UserStyleSetting, UserStyleSetting.Option> 沿用,且 MutableUserStyleSetting#put 如果不是架構中的設定,或是選項與設定不符,則會擲回 LegalArgumentException。(Iba40f)

1.0.0-alpha21 版本

2021 年 9 月 1 日

已釋出 androidx.wear:wear-*:1.0.0-alpha211.0.0-alpha21 版本包含以下修訂項目。

API 異動

  • 所有公開的錶面、用戶端、編輯器和複雜 API 現已使用 java.time.,而非 API 時間,因此 API 級別已經提高到 26。(I3cd48)
  • 錶面和資料 API 現已使用不可變更的 ZonedDateTime 取代日曆。(I25cf8)
  • ComplicationSlots 現已透過 NoDataComplicationData 進行初始化,ComplicationSlot.complicationData 一律會有值,且 CanvasComplicationDrawable.complicationData 不再為空值。(I4dfd6) 這樣可以減少在觀看錶面時切換資料顯示效果,但不會刪除。

1.0.0-alpha20 版本

2021 年 8 月 18 日

已釋出 androidx.wear:wear-*:1.0.0-alpha201.0.0-alpha20 版本包含以下修訂項目。

API 異動

  • 我們已將 createFallbackPreviewData 新增至 ComplicationDataSourceInfo,當 ComplicationDataSourceInfoRetriever.retrievePreviewComplicationData 傳回空值時可以使用。(I38c4d)
  • ComlicDataSourceUpdateRequester 已轉變成一個介面,允許模擬單元測試。您可以使用 ComplicationDataSourceUpdateRequester.create() 建立具體的 ComplicationDataSourceUpdateRequester。(I7da22)
  • RenderParameters.pressComplicationSlotIds 已由 RenderParameters.lastComplicationTapDOWNEvents 取代,其中會顯示新的 TapEvent 類別,包含三倍的 x、Y 的座標以像素和時間戳記。WatchFace.TapListener.onTap 已由「onTapEvent(@TapType tapType: Int, tapEvent: TapEvent)」取代。此外,系統已移除 InteractiveWatchFaceClient.displayPressedAnimation。(Id87d2)
  • 為 setMajForAccessibility (I990fa) 新增明確的討論串註解
  • ComplicationSlotBoundsType 已移動到 wear/wear-watchface 的 androidx-wear-watchface.ComplicationSlotBoundsType。(I09420)
  • 我們支援將字串資源 ID 傳送至 UserStyleSetting 和 Options。現在,建議您使用這個方法來建構這些物件。(I03d5f)
  • 系統會根據 UserStyle 架構的最大傳輸量設定上限。此外,架構中的圖示不得大於 400x400 像素。(I3b65b)
  • 我們新增了 MutableUserStyle 類別,以支援變更 UserStyle 執行個體 (I95a40)
  • 我們已將「ListenableWatchFaceMetadataClient.Companion#listenableCreateWatchFaceMetadataClient」重新命名為「ListenableWatchFaceMetadataClient.Companion#createListenableWatchFaceMetadataClient」。(I64ce2)
  • 我們修改了 EditorState.previewComplicationsData 的設定,只會納入已啟用小工具的資料,並新增 EditorSession.DEFAULT_PREVIEW_TIME_MILLIS,如果傳遞至 renderWatchFaceToBitmapPreviewScreenshotParams,會要求使用錶面預設的預覽時間轉譯。(If7b3c)
  • 我們從公用 API 擷取 Char 序列 的 UserStyleSetting 建構函式。建議使用需要 StringResource ID 的建構函式。(I8537b)
  • CurrentUserStyleRepository.UserStyleChangeListener 現已支援 SAM 轉換。(I85989)

1.0.0-alpha19 版本

2021 年 8 月 4 日

已釋出 androidx.wear:wear-*:1.0.0-alpha191.0.0-alpha19 版本包含以下修訂項目。

API 異動

  • 我們新增了 ListenableWatchFaceMetadataClient.listenableCreateWatchFaceMetadataClient,用來為 WatchFaceMetadataClient.createWatchFaceMetadataClient 提供 ListenableFuture 包裝函式。(I5fa37)
  • UserStyleOption.getOptionForId 可接受 UserStyleOption.Id 而非位元組陣列。(I469be)
  • 提供常數 BooleanOption.TRUEBooleanOption.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-alpha181.0.0-alpha18 版本包含以下修訂項目。

API 異動

  • 已將 ComplicationHelperActivity 移至 androidx.wear:wear-watchface 的程式庫。(I39e76)
  • 為保持一致性,「ComplicationProvider」已重新命名為「ComplicationDataSource」,且名稱中含有「供應者」的所有課程名稱皆相同。(Iaef0b)
  • CanvasComplication.isHighlighted」已移至「RenderParameters.pressedComplicationSlotIds」,以便讓「CanvasComplication」無狀態。為支援這項變更,CanvasComplication.render 現在也會使用 slotId 做為參數,而會將 ComplicationSlot 傳遞給 GlesTextureComplication。(I50e6e)
  • 我們已將 headlessDeviceConfig 新增至 EditorRequest;如果使用非空值,這個參數就會用於建構無頭執行個體來支援 EditorSession,而不是進行互動。以便針對非目前版本的錶面叫用編輯器。(I0a820)
  • 我們新增了實驗性的 WatchFaceMetadataClient,可讓您有效率地擷取靜態錶面中繼資料 (例如 UserStyleSchemaComplicationSlots 的固定詳細資料)。(I6bfdf)
  • 我們已將 CanvasRenderer.uiThreadInit 重新命名為 init。(I6fff9)
  • 我們已在 PreviewRequest 中加入可選用的音效螢幕截圖參數,讓 EditorSession 使用這些參數擷取修訂版本的預覽畫面。預覽圖片會在 EditorState.previewImage曝光。(Ic2c16)

修正錯誤

  • 開發人員不必再將 ComplicationHelperActivity 新增至他們的資訊清單,(I6f0c2)

1.0.0-alpha17 版本

2021 年 6 月 30 日

已釋出 androidx.wear:wear-*:1.0.0-alpha171.0.0-alpha17 版本包含以下修訂項目。

新功能

  • GlesRenderermakeUiThreadContextCurrentmakeBackgroundThreadContextCurrent已由runUiThreadGlCommandsrunBackgroundThreadGlCommands兩者都接受Runnable的 Google Ads 新帳戶重新申請驗證。程式庫可確保只有單一 GL 指令可執行。

  • 為了簡化 UiThread 的初始設定,我們新增了 UiThread 之前呼叫的 CanvasRenderer.uiThreadInit (在呼叫任何呼叫之前會先呼叫一次)。我們已將 onRendererCreated 新增至 CanvasComplication,方便 RendererCanvasComplication 共用狀態。

  • 為求清楚起見,根據使用情況,我們已將「Complication」重新命名為「ComplicationSlot」,並將「complicationId」重新命名為「complicationSlotId」或「complicationInstanceId

API 異動

  • 為求清楚起見,根據使用情況,我們已將 Complication 重新命名為 ComplicationSlot,並將 complicationId 重新命名為 complicationSlotIdcomplicationInstanceId。使用 Complication 的類別也被重新命名,例如 ComplicationsManager 現已更名為 ComplicationSlotsManager。(I4da44)
  • 在 GlesRenderer 中,makeUiThreadContextCurrentmakeBackgroundThreadContextCurrent 已由 runUiThreadGlCommandsrunBackgroundThreadGlCommands 取代,後兩者均接受 Runnable。只有在需要轉譯 runBackgroundThreadGlCommandsonUiThreadGlSurfaceCreated 以外的 GL 呼叫時,才需要這些函式。這是因為每個 GboardRender 的方法都可能在同一個場景中分別有不同的背景資訊,而且可能都來自不同的錶面。此外,系統現在會同步處理存取目前 GL 內容的存取權限。(I04d59)
  • 我們新增了 CanvasRenderer.uiThreadInit,系統會在您呼叫任何呼叫之前透過 UiThread 呼叫一次。為求明確,在 GlesRenderer 中,我們已將 onGlContextCreated 重新命名為 onBackgroundThreadGlContextCreated,並將 onGlSurfaceCreated 重新命名為 onUiThreadGlSurfaceCreated。(If86d0)
  • HeadlessWatchFaceClientInteractiveWatchFaceClient getComplicationsSlotState已重新命名為「getComplicationSlotsState」。在 ComplicationSlot 中,createRoundRectComplicationBuildercreateBackgroundComplicationBuildercreateEdgeComplicationBuilder 已分別重新命名為 createRoundRectComplicationSlotBuildercreateBackgroundComplicationSlotBuildercreateEdgeComplicationSlotBuilder。(Ib9adc)
  • 我們已將 onRendererCreated 新增至 CanvasComplication,讓 Renderer 和 CanvasComplication 更容易分享狀態。(I5e1ac)

1.0.0-alpha16 版本

2021 年 6 月 16 日

已釋出 androidx.wear:wear-*:1.0.0-alpha161.0.0-alpha16 版本包含以下修訂項目。

新功能

  • 我們修正了幾項近期執行緒模型異動相關錯誤,並協助解決錶面編輯器的其他問題。

修正錯誤

  • 防止 onComplicationProviderChooserResult 中的 NPE (b/189594557)
  • 修正過時事件和 DrawBlack 的問題 (b/189452267)
  • 修正存取 complicationsManager.watchState 時發生的競爭問題 (b/189457893)
  • 修正背景執行緒生命週期錯誤 (b/189445428)
  • 修正 Pre-R 錶面編輯器問題 (b/189126313)
  • 請不要更新編輯器樣式變更的直接啟動參數 (b/187177307)

1.0.0-alpha15 版本

2021 年 6 月 2 日

已釋出 androidx.wear:wear-*:1.0.0-alpha151.0.0-alpha15 版本包含以下修訂項目。

新功能

大部分錶面初始化程序目前都是在背景執行緒上完成,但載入所有錶面臉孔等後,即可透過 UiThread 完成。載入及轉譯之間存在記憶體障礙,因此大部分使用者錶面不需要執行任何特殊動作。使用 GLES 的錶面可能是例外狀況,因為背景是執行緒專屬,而且我們建立了兩個已連結的內容,因此您可在背景執行緒上上傳 GL 資源 (例如紋理和陰影),並在 UiThread 上使用。

我們已將錶面欄位的架構分為三個函式:createUserStyleSchema、createComplicationsManager 和 createWatchFace。我們認定 createUserStyleSchema 和 createComplicationsManager 非常快速,而 CreateWatchFace 可能需要一段時間才能載入素材資源。為了使用這項功能,我們引進了 WatchFaceControlClient.getDefaultProviderPoliciesAndType,這個 API 會將複雜區 ID 對應為 DefaultComplicationProviderPolicies 和預設 ComplicationType。這比建立無頭執行個體來得快速,因為完全不需要初始化錶面才能執行查詢。

最後設計複雜功能是以 CanvasComplicationFactory 進行建構,以允許延遲建構 CanvasComplication 轉譯器。

API 異動

  • @RequiresApi 取代 @TargetApi(I0184ab/187447093b/187447094)。
  • 我們推出了 WatchFaceControlClient.getDefaultProviderPoliciesAndType,可將 Comlic Ids 的對應對應到 DefaultComplicationProviderPolicies 和預設的 ComplicationType。盡可能使用快速路徑來避免建構錶面。為協助看 WatchFaceService API,我們必須透過下列兩個新方法變更:createUserStyleSchema 和 createComplicationsManager 結果,這些結果會傳送至 createWatchFace。此外,目前您必須使用 CanvasComplicationFactory 來建立資料顯示區,讓開發人員能夠快速建構 CanvasComplication 轉譯器。(Iad6c1)
  • 我們已將 Maps_Recent_APP 從 SystemProviders 移除。(I3df00)
  • ObservableWatchData 現已成為密封類別。(Ic940d)
  • CanvasComplicationFactory.create (通常為 io 繫結) 現在會在 ui Thread 轉譯作業開始前,於每個複雜性呼叫的背景執行緒中呼叫。建置與算繪之間存在記憶體障礙,因此不需要特殊的執行緒執行緒。(Ia18f2)
  • 雖然現在在 ui 執行緒中完成所有轉譯,但 GlesRenderer 已經支援兩個連結來支援這個畫面,WatchFaceControlClient.createHeadlessWatchFaceClient 和 WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient 可以在 WatchFaceService.createWatchFace 完成時完成。因此,在 WatchFace 初始化作業完成前,後續的 API 呼叫都會遭到封鎖。(Id9f41)
  • api.txt 中不會再顯示 EXPANSION_DP 和 STROKE_WIDTH_DP。(I54801)
  • 如果發生錯誤,而非傳送空值,則會將 EditorSession.createOnWatchEditingSession Dis TimeoutCancelException。此外,EditorRequest.createFromIntent 和 EditorSession.createOnWatchEditingSession 的傳回值現在是 NonNull。(I41eb4)

1.0.0-alpha14 版本

2021 年 5 月 18 日

已釋出 androidx.wear:wear-*:1.0.0-alpha141.0.0-alpha14 版本包含以下修訂項目。

新功能

  • EditorSession.openComplicationProviderChooser 現在會傳回 ChosenComplicationProvider,其中會含有結構 ID (ComplicationProviderInfo),以及包含供應商選擇工具所傳回額外額外項目的套裝組合。
  • 此外,我們也穩定地將程式碼遷移至 Kotlin 架構,現在大部分的錶面 API 都已在 Kotlin 中定義。

API 異動

  • GlesRenderer 屬性 eglContexteglDisplay 現已成為空值。所有 GL 錯誤現在都會透過 GlesRenderer.GlesException 回報,而非 RuntimeExceptions。(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-alpha131.0.0-alpha13 版本包含以下修訂項目。

新功能

  • 除了顯示時間和資料以外,錶面也具備重要的視覺元素。為了讓螢幕閱讀器支援此功能,錶面現在可以透過 Renderer 的 additionalContentDescriptionLabels 屬性指定無障礙 ContentDescriptionLabels。此外,為了控管 ContentDescriptionLabels 無障礙工具的 TraversalIndex 排序,資料顯示功能已有複雜性。可透過 ComplicationsUserStyleSetting 修改。

  • 為鼓勵開發人員仔細考慮螢幕閱讀器,我們已將 ShortTextComplicationData.BuilderLongTextComplicationData.BuilderRangedValueComplicationData.BuildercontentDescription 欄位傳遞給其建構函式。如果 contentDescription 已傳遞 ComplicationText.EMPTY,則文字和標題就會自動產生 contentDescription

  • WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient 會在初始啟動期間擲回 ServiceStartFailureException,以便在錶面啟動期間,更輕鬆地診斷問題。

API 異動

  • 我們支援在 ComplicationProviderInfo 加入空值元件名稱,如要支援舊版 Wear OS,就必須提供這個屬性。(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)
  • 我們已將 ComlicProviderService.onComplicationUpdate 重新命名為 onComplicationRequest,並將這個方法的 ID 和類型參數重新命名為資料 ComplicationRequest。相應的監聽器已重新命名為 ComplicationRequestListener 及其方法 ComplicationRequestListener.onComplicationData。(Iaf146)
  • 我們從 ComplicationData 移除了方法 isActiveAt,並排除欄位 validTimeRange,這個方法呼叫可以替換為 validTimeRange.contains。(I65936)
  • 我們更新了 ComplicationProviderService.onComplicationActivation 方法的說明,改為接收 ComplicType 而非 int。(Idb5ff)
  • 已將 ProviderUpdateRequester 從 Java 遷移至 Koltin。(Ibce13)
  • GlesRender.makeContextCurrent 現已公開。在轉譯和 onGlContextCreated 之外,您可能需要呼叫錶面程式碼,且需要互動式和無頭內容來呼叫此程式碼。(I8a43c)
  • 如果錶面在初始化期間擲回,WatchWatchControlClient.getOrCreateInteractiveWatchFaceClient 現在會擲回 ServiceStartBound。此外,如果 WatchWatchFace 時間超過 6 秒,WatchFaceService 就會擲回例外狀況。(I59b2f)
  • 我們已將 GlesTextureComplication 的未使用的 ID 屬性移除。(I28958)
  • 錶面現在可以透過 Renderer 的 additionalContentDescriptionLabels 屬性指定無障礙 ContentDescriptionLabels。除了控制 ContentDescriptionLabelsAccessibilityTraversalIndex 的排列方式外,還可以新增資料顯示區。可透過 ComplicationsUserStyleSetting 修改。(Ib7362)
  • 展開錶面適用的觸控事件處理說明文件。(Iaf31e)

修正錯誤

  • EditorSession.getComplicationsPreviewData() 會傳回每一個地圖,而不是每個非空的複雜性。EmptyComplicationData 項目可用於空資料複雜性。(I1ef7e)

Wear Complications & Watchface 1.0.0-alpha12 版本

2021 年 4 月 21 日

已釋出 androidx.wear:wear-*:1.0.0-alpha121.0.0-alpha12 版本包含以下修訂項目。

新功能

錶面編輯器必須標明錶面的部分,以利凸顯手錶的哪些設定。我們擴充了 RenderParameters 的樣式,以強調樣式和資料複雜性。我們提供了一個新的選用的 DesignLayer,旨在在錶面上以 Alpha 透明層覆蓋。這個螢幕截圖 重複的 API 可供您處理,或提供自己的重點圖層,以獲得最高的彈性。舉例來說,假設您設定的樣式可讓您設定手持手勢的外觀,轉譯器的轉譯醒目顯示圖層可以繪製外框

為協助複雜功能供應商支援無障礙功能,我們已將 PhotoImageComplicationData.Builder新增 ComplicationTapFilter 和 Complication.createEdgeComplicationBuilder 對邊緣小工具的支援功能 (在畫面邊緣進行繪製)。邊緣複雜程度的算繪和命中測試,只會出現在錶面上。隨播廣告編輯器不支援邊緣命中測試。

API 異動

  • 已將 PROVIDER_ 前置字串新增至 SystemProviders 中的常數。(I1e773)
  • 我們已將 PhotoImageComplicationData.BuilderMonochromaticImageComplicationData.BuilderSmallImageComplicationData.BuildercontentDescription 欄位設定為在建構函式中傳遞。(I9643a)
  • ProviderInfoRetriever.requestPreviewComplicationData」已重新命名為「retrievePreviewComplicationData」。(I911ee)
  • 已將 ComplicationProviderService 從 Java 遷移至 Koltin。(I849f2)
  • 方法 ComplicationProviderService.onBind 已進入最終階段 (I39af5)
  • 我們恢復了介面 CanvasComplication,並將 CanvasComplicaitonDrawableGlesTextureComplicationComplicationHighlightRenderer 移至 wear-watchface-complications-rendering。(I84670)
  • RenderParameters」經過重構,現支援擴充醒目顯示功能。您現在可以要求顯示樣式醒目顯示結果,以及全部或單一資料顯示區。此外,CanvasRenderer 和 GlesRenderer 還如何透過新的抽象轉譯 ShowLayer 方法,處理編輯者要求的所有醒目顯示功能。圖層已重新命名為 WatchFaceLayer。(Ic2444)
  • 已新增 ComplicationTapFilterComplication.createEdgeComplicationBuilder 以支援邊緣資料複雜性。邊緣複雜程度的算繪和命中測試,只會出現在錶面上。編輯器不支援匹配測試。(Ia6604)
  • DoubleRangeUserStyleSettingLongRangeUserStyleSettingdefaultValuemaximumValueminimumValue 現已成為 Kotlin 屬性。此外,也移除了 totoOptions、toCoplicationOptions、toListOption 和其他類似項目的 UserStyleSetting.Option 函式。(I52899)
  • 新增手錶尺寸的裝置屬性。(I76e1e)
  • ComplicationHighlightRenderer 的建構函式現在接受 outlineExpansionoutlineStrokeWidth 參數。(I87009)
  • ComplicationDrawable.getNoDataText 現已納入公開 API,(I00598)

1.0.0-alpha11 版本

2021 年 4 月 7 日

已釋出 androidx.wear:wear-*:1.0.0-alpha111.0.0-alpha11 版本包含以下修訂項目。

新功能

  • 錶面 API 也套用了更多波紋。大部分變更方式都只是重新命名,但已將 InteractiveWatchFaceWcsClientInteractiveWatchFaceSysUiClient 合併為 InteractiveWatchFaceClient

API 異動

  • ContentDescriptionLabel.text 現在是 ComlicText,而不是舊版穿戴式支援資料庫 TimeDependentText。(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 現已改名為 byte[],而非 String。(Iaa103)
  • UserStyleSettingUserStyleSetting.Option 現在分別使用 UserStyleSetting.IdUserStyleSetting.Option.Id 儲存其 ID,而不是字串。(I63f72)
  • InteractiveWatchFaceClient.SystemState」已重新命名為「WatchUiState」。(I6a4e0)
  • 已合併「InteractiveWatchFaceWcsClient」和「InteractiveWatchFaceSysUiClient」,原因是我們很難解釋責任責任部門 (Iff3fa)
  • 為求清楚起見,我們重新命名了圖層列舉值。Layer#TOP_LAYER 現已改名為 Layer#COMPLICATIONS_OVERLAYLayer#BASE_LAYER 現已改為 Layer#BASE (Ia144e)
  • UserStyleListener 已重新命名為 UserStyleChangeListener (I18524)
  • UserStyleRepository 已重新命名為 CurrentUserStyleRepository (I6ea53)
  • InteractiveWatchFaceWcsClient.updateInstance」已重新命名為「updateWatchfaceInstance」。(I321dc)
  • 為配合 MotionEvents / Write,已重新命名 WatchFace TapType 事件。(I0dfd0)
  • TakeWatch 意見螢幕截圖已重新命名為轉譯 WatchFaceToBitmap,並擷取了 CompComplicationSnapshot 重新命名為轉譯 ComplicationToBitmap (Ie0697)
  • 我們已移除 CanvasComplication 介面,並改用開放式類別 CanvasComplicationDrawable。(I1f81f)
  • WatcfaceControlServiceFactory」已從公用 API 中移除。(I1f8d3)
  • 我們已將「CanvasComplication.setData」重新命名為「CanvasComplication.loadData」。(If1239)
  • ComplicationsManager.bringAttentionToComplication」已重新命名為「displayPressedAnimation」。(Ic4297)
  • WatchFaceService.createWatchFace」現在有 @UiThread 註解。(Ib54c2)
  • 已修正 CanvasComplicationDrawable 參數的名稱,以修正錯誤。(I50dac)
  • 我們新增了 HeadlessWatchFaceClient.toBundle()HeadlessWatchFaceClient.createFromBundle 來支援透過 AIDL 傳送 HeadlessWatchFaceClient。(I07c35)
  • HeadlessWatchFaceClient 和 InteractiveWatchFaceClient 現已啟用 ClientConnectedListener 和 isConnectionAlive(),可讓您觀察連線是否因故中斷 (例如錶面毀損)。(Ie446d)
  • WatchFaceControlClient#getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync 現在是暫停函式,已重新命名為 getOrCreateInteractiveWatchFaceClient。(Ib745d)
  • EditorState.commitChangeshasCommitChanges()已重新命名為shouldCommitChanges()。(I06e04)
  • previewComplicationData 已重新命名為「previewComplicationsData」,以表示地圖中 (通常是) 出現多個資料複雜性。(I56c06)
  • 為了與ComplicationsManager.displayPressedAnimation保持一致,「InteractiveWatchFaceWcsClient.bringAttentionToComplication」已重新命名為「displayPressedAnimation」。(Ic9999)
  • 所有 Watchface 執行個體 ID 的執行個體都已封裝為新的 WatchFaceId 類別 (I45fdf)
  • complicationState 屬性已重新命名為 complicationsState,代表複數。(Ided07)
  • 我們移除了多種穿戴式手錶用戶端的 Binder 轉換,以便將這些轉換移除。(Icc4c0)
  • 為保持一致性,EditorServiceClient 已重構為使用事件監聽器,而非觀察者。(Iec3a4)。
  • 我們在「InteractiveWatchFaceSysUiClient」和「WatchFaceControlClient」中新增了幾個「@Px」註解。(I3277a)
  • 為求一致,請將 EditorObserverCallback 重新命名為 EditorObserverListener。(Ie572d)
  • EditorState.watchFaceInstanceId 僅支援 Android R API 級別,且無法再設為空值。(Id52bb)
  • EditorSession.launchComplicationProviderChooser」已重新命名為「openComplicationProviderChooser」。(I9d441)
  • EditorSession.createOnWatchEditingSessionAsync 已重新命名為「createOnWatchEditingSession」,現已遭到停權。(Id257b)
  • EditorSession 新增了數個缺少 @UiThread 的註解。(I6935c)
  • UserStyleSetting.affectsLayers」已重新命名為「affectedLayers」。(I6e22b)

1.0.0-alpha10 版本

2021 年 3 月 24 日

已釋出 androidx.wear:wear-*:1.0.0-alpha101.0.0-alpha10 版本包含以下修訂項目。

新功能

  • 現在可以在 WatchFaceService.createWatchFace 建立開放式 Gl 物件 (例如材質),因為 GlesRenderer 現在需要明確呼叫 initOpenGLContext,而您可在 CreateWatchFace 中進行。

API 異動

  • IdAndComplicationData」有點問題,並已從公開 API 中移除。重構了類別和介面。(I4c928)
  • 我們已將 ReferenceTime 替換為 CountUpTimeReferenceCountDownTimeReference,您可透過這個說明自行瞭解。(Ib66c6)
  • 已新增部分缺少 @Px@ColorInt 的註解。(I9bbc3)
  • Complication.complicationConfigExtras 目前無法設為空值,且預設為 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 主機和錶面之間的介面已進化。編輯者現在能夠判斷樣式變更是否啟用或停用複雜功能 (已啟用 = initialEnabled 加上 ComplicationsUserStyleSetting 的任何覆寫設定)。如有需要,你也可以EditorService.closeEditor讓 SysUI 從遠端關閉錶面編輯器。
  • 此外,InteractiveWatchFaceWcsClient.setUserStyle 具備更強大的指令 updateInstance,讓您一次變更執行個體 ID、設定樣式及清除資料顯示區。

API 異動

  • TraceEvents 已新增至錶面資料庫。(I1a141)
  • ComplicationState現已提供新的屬性 initiallyEnabled,可用於預測切換樣式的後果。(I8c905)
  • 我們已將 InteractiveWatchFaceWcsClient.setUserStyle 替換為功能更強大的 updateInstance 指令:變更執行個體 ID、設定樣式及清除資料顯示區。(Ife6f6)
  • 由於速度過慢,因此 WatchFaceClient 螢幕截圖 API 不會再壓縮螢幕畫面,而是讓呼叫端對來電者執行任何作業。(Id35af)
  • 你現在可以透過 EditorService.closeEditor 從遠端關閉錶面編輯器。(Ic5aa4)
  • 新增是否可為空值的註解 (Ic16ed)

1.0.0-alpha08 版本

2021 年 2 月 24 日

發布 androidx.wear:wear-*:1.0.0-alpha081.0.0-alpha08 版本包含以下修訂項目。

新功能

  • 部分錶面是專為一或多種特定資料顯示結構所設計,因此我們新增了 Complication.Builder#setFixedComplicationProvider 屬性,如果設定為 True,使用者就無法變更該運算單元的小工具。
  • 錶面資料庫會優先採用 Kotlin,並會使用協同程式 (例如暫停函式)。我們為 Java 使用者提供了 ListenableFuture 包裝函式,改善下列程式庫的互通性:Wear/Wear-watchface-guava、Wear/watch-watchface-client-guava 和 wear/wear-watchface-editor-guava。

API 異動

  • 我們針對支援內容選擇工具的複雜功能移除了雙重支援,但這項功能並不適合在錶面上使用,並且可以支援 SysUI 的導入作業。(I3ef24)
  • 如果 binder 意外關閉,因此 ProviderInfoRetriever 方法可能擲回 ServiceConnectededException。(Ib2cc4)
  • 從 Android 11 以上版本開始,ProviderChooser 的執行時間設有限制。此外,我們也希望使用新版 wear-watchface-editor 建構編輯器,因此會將 ComplicationHelperActivity 從公用 API 中移除。(Ib19c1)
  • 移除 ComplicationText 靜態方法以建構工具移除。(Ibe399)
  • 為各種錶面相關已停權方法,導入 Guava SoundableFuture 包裝函式。(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-alpha071.0.0-alpha07 版本包含以下修訂項目。

新功能

  • WatchFaceService.createWatchFace 現在已是暫停函式。也就是說,現在等待 IO 時,錶面不必再封鎖 ui 執行緒。同樣地,Wear-watchface-editor 和 Wear-complications-data

API 異動

  • 移除 PhotoImage 類別並直接使用圖示。(I8a70b)
  • 顯示 ComplicationData 的 validTimeRange。(I91366)
  • 圖片 在關聯上更顯眼。(I81700)
  • wear-watchface-editor 和 wear-complications-data 經過重構,現已使用暫停函式取代協同程式。使用 Rx Java 和 未來的 compat 包裝函式。(If3c5f)
  • 如果要求預覽功能或缺少 API 支援,然後要求 PreviewPreview 無法傳回預覽資料,因此 ProviderInfoRetriever 現已擲回 PreviewNotAvailableException。(I4964d)
  • WatchFaceControlService::createWatchFaceControlClient 現在遭到停權,而 getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient 現在稱為 getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync 傳回 Deferred<InteractiveWatchFaceWcsClient>。使用 RX Java 和 未來的 compat 包裝函式。(I5d461)
  • CATEGORY_PROVIDER_CONFIG_ACTION 重新命名為 CATEGORY_PROVIDER_CONFIG。(I7c068)
  • 請注意,createOnWatchEditingSession 現已遭到停權,原因是在編輯器活動開始後不久,才能使用錶面。(Ida9aa)
  • WatchFaceService.createWatchFace 屬於暫停函式,可讓您執行非同步初始化 (先前須封鎖主執行緒)。(If076a)
  • UserStyle 現已有陣列運算子,且已在 UserStyle.Option 中加入投放輔助程式。(I35036)
  • 我們修正了 UserStyle 電匯格式正在變更部分不穩定隱藏 API 的沼澤錯誤。(I8be09)
  • 我們新增了 CustomValueUserStyleSetting,可讓您在 UserStyle 中儲存單一應用程式的特定字串。預設的錶面編輯器會忽略這個值。(Ic04d2)
  • 系統無法為 R 和舊版 Android Wear OS 升級的意圖,無法傳送 InstanceID。為了支援這種狀況,我們現在允許 InstancID 為空值。(Id8b78)
  • EditorRequest 現已包含 Editor ComponentName 並設定為 WatchFaceEditorContract.createIntent 中的元件 (I3cd06)
  • 錶面 EditorResult 現已納入預覽 ComplicationData,方便呼叫者在編輯後擷取錶面。(I2c561)

修正錯誤

  • 將 UserString() 覆寫新增至 UserStyle、UserStyleSetting 和 UserStyleSchema,讓這些類別的使用更順暢。(I9f5ec)

1.0.0-alpha06 版本

2021 年 1 月 27 日

已釋出 androidx.wear:wear-*:1.0.0-alpha061.0.0-alpha06 版本包含以下修訂項目。

新功能

  • 我們推出了全新的程式庫 Wear/Wear-watch-editor,這個介面可讓錶面開發人員和原始設備製造商 (OEM) 建立樣式和複雜編輯器。SysUI 會將 Intent 傳送到錶面,並使用新的 EditorSession 類別存取 WatchFace 詳細資料,並透過 Activity.setWatchRequestResult 記錄結果。為了支援這項功能,我們新增了 ProviderInfoRetriever.requestPreviewComplicationData 功能,可讓錶面編輯者申請預覽版 ComplicationData。預覽 ComlicData 與即時資料不同,因此轉譯編輯器時,您不必擔心是否要顯示權限對話方塊 (請注意,如果使用者選取擁有權限的供應商,系統還是會提示您授予權限)。

API 異動

  • ComplicationProviderInfo 現在有提供者 ComponentName 使用的欄位了,日後 WearOS 會支援這個欄位,目前則為空值。(Id8fc4)
  • 我們新增了 ProviderInfoRetriever.requestPreviewComplicationData 功能,可讓錶面編輯者申請預覽 ComplicationData。這項功能相當實用,因為線上資料顯示權限可能會要求相關權限,而且您現在可以針對未啟用的複雜功能顯示預覽資料。(I2e1df)
  • ComplicationManager 現已是 WatchFace 建構函式的選用參數,而且引數已重新排列,以便執行此操作。(I66c76)
  • 我們在小工具中加入了一個選用的套裝組合,設定完畢後,會和傳送至推出提供者選擇器活動的意圖合併。(Ifd4ad)
  • 我們新增了 wear-watchface-editor 程式庫,用來支援錶面和 SysUi 代管的編輯器。SysUI 會透過傳送意圖的方式啟動這些編輯器。錶面活動服務可使用新版 EditorSession 類別存取 WatchFace 詳細資料,並透過 Activity.setWatchRequestResult 記錄結果。(I2110d)
  • LayerMode.DRAW_HIGHLIGHTED 現已改名為 LayerMode.DRAW_OUTLINED,RenderParameters.highlightComplicationId 現已更名為 RenderParameters.selectedComplicationId,除了外框外,還會標示特定資料衝突的焦點。(I90a40)
  • 如果服務在等待建立錶面時,如果服務失敗,ServiceWatchControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient 的未來歷程現在可以透過 ServiceStartGASMO 解決。(I0f509)
  • EditorSession.complicationPreviewData 現已改名為 SoundableFuture,因為擷取這項資料為非同步程序。(Iead9d)

修正錯誤

  • 我們即將移除 ComplicationOverlay 中未使用的欄位,保持啟用狀態和 licplicationBound。(I17b71)

1.0.0-alpha05 版本

2021 年 1 月 13 日

發布 androidx.wear:wear-*:1.0.0-alpha051.0.0-alpha05 版本包含以下修訂項目。

新功能

錶面通常支援多種資料顯示區,有多種不同的複雜功能。為了簡化設定程序,我們現在會在建構工具上呼叫 setEnabled(false),藉此支援初始停用的複雜功能。您稍後可以透過 ComplicationsUserStyleSetting 啟用。

API 異動

  • ComplicationHelperActivity 現在接受 Collection<ComplicationType> (而非 int 陣列),以便使用。(I1f13d)
  • ProviderInfoRetriever.retrieveProviderInfo 現在可正確傳回 ListenableFuture<ProviderInfo[]>。(If2710)
  • 您現在可以在建構工具上呼叫 setEnabled(false),建立初始停用的複雜功能。(Idaa53)
  • WatchFaceState 現在有一個獨立標題屬性,僅適用於無頭執行個體。(Ifa900)
  • ComlicDrawable 現已支援同步載入 繪圖。螢幕截圖 API 會使用這項資訊。(I34d4a)

1.0.0-alpha04 版本

2020 年 12 月 16 日

發布 androidx.wear:wear-*:1.0.0-alpha041.0.0-alpha04 版本包含以下修訂項目。

新功能

  • Wear 錶面資料庫現已支援設定各類型的邊界。例如,您可以切換至 ComplicationType.long_TEXT 的寬界定界框,但如果是其他類型的,則使用較小的定界框。

API 異動

  • 複雜功能現在會使用 ComplicationBounds 來包裝 Map<ComplicationType, RectF>,以支援每個資料複雜類型的大小。(I1ebe7)
  • RenderParameters 可讓你指定在螢幕截圖中使用醒目顯示的色調。(Iff42b)
  • 除了邊界以外,您現在必須使用 ComplicationsUserStyleSettings 修改小工具,這是為了確保 OS 保持同步。(I8dc5d)
  • 轉譯器現在是密封課程。這表示 CanvasRenderer 和 GlesRenderer 現已改名為 Renderer 的內部類別。(Iab5d4b/173803230)
  • CanvasComplicationDrawable.drawhighlight 已重新命名為 DrawOutline。ObservableWatchData 現在有一些缺少的 UiThread 註解。ScreenState 現已從 WatchState 中移除。(If1393)
  • 戴式錶面的最低 API 級別為 25。請注意,硬體畫布支援僅適用於 API 級別 26 以上的版本。(Ic9bbd)
  • InteractiveWatchFaceWcsClient 現在有 getComplicationIdAt 輔助程式。(I05811)
  • Wear-watchface-client 的 API 等級已降低到 25,但螢幕截圖 API 須為 27 的 API 級別。(Id31c2)

修正錯誤

  • 我們現在會在 ComlicState 中顯示資料顯示區目前的 ComplicationData 的 ComplicationType。(I9b390)
  • InteractiveWatchFaceWcs 現在有一種「bringAttentionToComplication」方法,可短暫醒目顯示指定的資料顯示區。(I6d31c)
  • InteractiveWatchFaceWcsClient#setUserStyle現在有超載接受 Map<string, string=""> 的超載,可能有助於避免建立 UserStyle 而需要額外的 IPC 封包往返時間。(I24eec)</string,>

1.0.0-alpha03 版本

2020 年 12 月 2 日

發布 androidx.wear:wear-*:1.0.0-alpha031.0.0-alpha03 版本包含以下修訂項目。

新功能

Comlic 類別現在支援 CompicationData 屬性,可讓錶面觀察 ComplicationData 異動。方便您依據資料顯示類型調整資料遺失區的尺寸。

現已支援 Renderer.InteractDrawModeUpdateMillis 來支援可變影格速率。如果錶面需要每秒執行短暫的動畫,那麼這項功能可以在不播放動畫時進行休眠,對省電有所助益。

API 異動

  • 已將「BACKGROUND_IMAGE」連同相關課程重新命名為「PHOTO_IMAGE」。這種類型的壓縮方式不僅僅用於背景,也會影響名稱異動。(I995c6)
  • DefaultComplicationProviderPolicy 已透過 IntDefs 正確加註。(I3b431)
  • 隱藏的 TimeDependentText 類別不再透過 ContentDescriptionLabel 提供,因此會新增存取子,取得指定時間的文字。(Ica692)
  • ObservableWatchData 的建構函式現在是內部。(I30121b/173802666)。
  • 資料顯示區現在已有 CompicationData,可讓錶面觀察 ComplicationData 異動。資料顯示區也使用新的 isActiveAt 呼叫,用來判斷是否應在指定日期轉譯物件。(Ic0e2a)
  • 空的 SharedMemoryImage 已不在公開 API 中。(I7ee17)
  • WatchFace.overridePreviewReferenceTimeMillis 現在有 IntRange 註解,getter 和 setter 的名稱相同。(Ia5f78)
  • 為求清楚起見,系統目前是透過 Complication.createRoundRectComplicationBuilderComplication.createBackgroundComplicationBuilder 建立 Complication.Builder (I54063)
  • 新增 WatchFace.TapListener,可讓 WatchFace 觀測未被小工具耗用的輕觸事件。(Ic2fe1b/172721168)。
  • WatchFace 現已支援可指派給影格速率的 Renderer.interactiveDrawModeUpdateDelayMillis,這樣做有助於在非動畫時休眠省電。(I707c9)
  • 不再需要 WatchFace.Builder,而且 invalidate() 和 engagementUpdateRateMillis 已移至轉譯器。(I329ea)
  • For 了提高 Java 互通性,在 WatchState 中為布林值屬性重新命名 getget (I6d2f1)
  • 將 TapListener 重新命名為 TapCallback,將 InvalidateCallback 設為 InvalidateListener 以維持一致性。(I9414e)
  • 為求清楚起見,我們將 Wear 2.0 錶面樣式選項移至專屬類別,WatchFace.Builder 設定者俱有對稱的 WatchFace 類別 getter。(Iefdfc)
  • 新增 InteractiveWatchFaceWcsClient 和 WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient,取得現有執行個體,或是在壁掛服務建立連線並產生引擎後,建立這個執行個體。(Id666e)
  • WatchFaceControlClient 現在有一個介面可讓您模擬模擬畫面。(I875d9)
  • HeadlessWatchFaceClient、InteractiveWatchFaceSysUiClientImpl、InteractiveWatchFaceWcsClient 現已成為介面,以協助測試。(I7cdc3)。
  • 已在 wear-watchface-complications-rendering 中的方法新增註解 (I0d65c)

修正錯誤

  • 將複製的裝置從 DeviceConfig 中移除 (複製資料)android.content.res.Configuration#isScreenRound() (Ifadf4 )
  • 已將 WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient 變更為接受 Map<String, String> (而非 UserStyle),因為如果在不知道結構定義的情況下,便無法建立 UserStyle,但是您只能在建立用戶端之後才能取得這項資訊。(Iea02a)
  • 修正 InteractiveWatchFaceWcsClient 使其改用 ComplicationState 而不是傳輸格式。(Icb8a4)
  • UserStyleSettings 現在是封閉課程,因為錶面編輯器只能瞭解內建課程。(I2d797)

1.0.0-alpha02 版本

2020 年 11 月 11 日

發布 androidx.wear:wear-*:1.0.0-alpha021.0.0-alpha02 版本包含以下修訂項目。

API 異動

  • ComplicationDetails 現已改名為 ComplicationState,且適用穿戴式支援 @ComplicationData.ComplicationType 已遷移至 Androidx ComplicationType。(I4dd36)
  • 在 RenderParameters 中新增的 highlightedComplicationId 參數,可讓您要求在螢幕截圖中標明單一複雜性。(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)
  • UserStyleSchema 加入更乾淨的 API 中 (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)
  • ComlicsUserStyleCategory - 用來設定資料複雜性的新建議類別 (I96909)
  • 新增 Wear-complication-data API。(I7c268)
  • 包含布林值值的函式,前面加上「is」而非「get」(If36ff)
  • API 建議避免使用受保護的狀態,因此已重構這個類別,以透過建構函式擷取參數。(I61644)
  • 為求清楚清楚重新命名 setContextComplication。(I96fe3)
  • 使用 Kotlin 屬性進行 ComplicationDrawable 醒目顯示和資料 (I4dcc8)
  • 我們新增了 Complication#invalidate() (I4f4c6) 而不是 ComplicationRenderer.InvalidateCallback
  • 我們已在 WearableSupport 中淘汰這些 API,並在這裡移除。(Ib425c)
  • 重新命名部分 WatchFace Builder 方法,突顯其 2.0 版較舊的相容性。(Idb775)
  • 首次出現穿戴式/穿戴式錶面的 Beta 版 API (Id3981)
  • 第一個追蹤的 API 版本。(Ie9fe6)
  • 正確隱藏 ComplicationDrawable.BorderStyle IntDef 並改用 ComplicationStyle 達成一致性。(I27f7a)
  • 新增缺少 ComplicationStyle 方法的註解 (I838fd)
  • 這個程式庫沒有公開的 API 介面 (I88e2b)
  • 所有樣式類別「選項」類別現在皆已修正完畢。(Ib8323)
  • 第一個追蹤的 API 版本。(I27c85)

修正錯誤

  • 已變更 ComplicationProviderService 以含有明確的 getComplicationPreviewData 方法。(I4905f)
  • 已為 androidx (I4bbeab/138602561) 啟用 API Lint 查找缺少 GetGetterMatchingBuilder
  • 重新命名 Wear-complications-rendering。(Ifea02)
  • 樣式類別顯示名稱現已更名為 Char 序列 (I28990)
  • 根據覆寫目前的主題和樣式命名慣例,將「替換」替換成「覆寫」。(I4fde9)
  • 已重新命名 UserStyle#getOptions。(I695b6)

1.2.0 版本

1.2.0 版本

2021 年 9 月 15 日

發布 androidx.wear:wear:1.2.01.2.0 版本包含以下修訂項目。

自 1.1.0 版之後的重要異動

  • 新增 CurvedText 元件,可依據對檢視畫面上最大的最大圓形曲線產生曲線效果。用法範例:

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

    Android Wear 中的曲線文字範例

  • 新增 ArcLayout 容器,以順時針方向或逆時針方向,逐一鋪設子元素。其兒童可以是標準 Android 小工具,或是實作 ArcLayout.Widget 介面的「曲線」小工具。(I536da) 使用範例:

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

    Android Wear 中的拱形文字範例

  • 已新增版面配置容器 DismissibleFrameLayout 可處理返回按鈕和/或滑動關閉,以便用於活動中。必須新增至少一個監聽器,才能執行關閉動作。事件監聽器通常會從目前的活動中移除包含的檢視畫面或片段。setSWipeCloseible(布林值) 和 setBackButtonCloseible(布林值) 可直接控管功能。這種新的版面配置旨在取代現有的 ScreenCloseFrameLayout。

  • 新增支援功能,當裝置離開 AmbientModeSupport 類別時,活動可設為「自動恢復」。先前在 WearableSupportLibrary 中已淘汰的 WearableActivity 類別才能使用這項功能。(I336ab)

  • 已從 Wearable 支援資料庫遷移 WearableCalendarContract 類別。這個 API 會提供 CalendarContract 的一部分資料,但會自動與穿戴式裝置保持同步。(I6f2d7)

  • androidx.wear.utils 中新增 API WearTypeHelper,藉此判斷特定 Wear 裝置是否適用於中國。(Ib01a9)

  • 已在 androidx.wear.widget.ConfirmationOverlay 中新增無障礙功能,以便之後朗讀動畫說明時讀取訊息。(I524dd)

  • 修正問題:如未提供訊息,會導致確認 Activity 當機。(Ie6055)

  • 已修正水平捲動 RecyclerViews 導致 WearableDrawerLayout 無法查看所有互動的錯誤。(I24c7f)

1.2.0-rc01 版本

2021 年 9 月 1 日

androidx.wear:wear:1.2.0-rc01 自上次推出 Beta 版本後沒有任何變更,1.2.0-rc01 版本包含以下修訂項目。

1.2.0-beta01 版本

2021 年 8 月 18 日

已釋出 androidx.wear:wear:1.2.0-beta011.2.0-beta01 版本包含以下修訂項目。

修正錯誤

  • 修正當沒有訊息時造成確認 ActivityActivity 當機的錯誤。(Ie6055)

1.2.0-alpha13 版本

2021 年 8 月 4 日

已釋出 androidx.wear:wear:1.2.0-alpha131.2.0-alpha13 版本包含以下修訂項目。

API 異動

  • WearTypeHelper.isChinaDevice」已重新命名為「WearTypeHelper.isChinaBuild」。(I47302)

修正錯誤

  • 我們新增了 androidx.wear.widget.ConfirmationOverlay 的無障礙功能,只要先設定動畫說明,就能讀取訊息。(I524dd)

1.2.0-alpha12 版本

2021 年 7 月 21 日

已釋出 androidx.wear:wear:1.2.0-alpha121.2.0-alpha12 版本包含以下修訂項目。

API 異動

  • 我們在 androidx.wear.utils 中新增了 WearTypeHelper API,以判斷特定 Wear 裝置是否適用於中國。(Ib01a9)

1.2.0-alpha11 版本

2021 年 6 月 30 日

已釋出 androidx.wear:wear:1.2.0-alpha111.2.0-alpha11 版本包含以下修訂項目。

修正錯誤

  • 已修正水平捲動 RecyclerViews 導致 WearableDrawerLayout 無法查看所有互動的錯誤。(I24c7f)

1.2.0-alpha10 版本

2021 年 6 月 2 日

已釋出 androidx.wear:wear:1.2.0-alpha101.2.0-alpha10 版本包含以下修訂項目。

新功能

  • Alpha10 減少了弧形文字和 ArcLayouts 中的無障礙支援。另外也在 DismissibleFrameLayout 中稍微改名,是為了清楚說明 API。

API 異動

  • 我們已在 DismissibleFrameLayout 中重新命名下列方法 (Ib195e):
    • Callback#onDismissed -> Callback#onDismissedFinished
    • isSwipeDismissible -> isDismissableBySwipe
    • isBackButtonDismissible -> isDismissableByBackButton
  • 我們已製定下列最終版方法 (Ib195e):
    • setBackButtonDismissible
    • setSwipeDismissible
    • registerCallback
    • unregisterCallback

修正錯誤

  • 使用 TalkBack 上 CurvedTextView 的內容。(I05798)
  • 改善 ArcLayout 中正常檢視畫面的無障礙功能。(I4418d)

1.2.0-alpha09 版本

2021 年 5 月 18 日

已釋出 androidx.wear:wear:1.2.0-alpha091.2.0-alpha09 版本包含以下修訂項目。

API 異動

  • 已新增函式 CurvedTextView.setTypeface() (與 TextView 相似),以設定文字字體和粗體/斜體樣式。(I4653c)
  • 已將「WearArcLayout」重新命名為「ArcLayout」、「WearCurvedText」重新命名為「CurvedText」,並將「WearArcLayout.ArcLayoutWidget」重新命名為「ArcLayout.Widget」。(I6e5ce)
    • ArcLayout.Widget 上,將 getThicknessPx 重新命名為 getThickness
    • ArcLayout.LayoutParams 的垂直對齊常數目前開頭為VERTICAL_ALIGN_ (而非先前的 VALIGN_)
  • CurvedTextView 上的 setMinSweepDegreessetMaxSweepDegrees 方法已由 setSweepRangeDegrees (I7a9d9) 取代

1.2.0-alpha08 版本

2021 年 5 月 5 日

已釋出 androidx.wear:wear:1.2.0-alpha081.2.0-alpha08 版本包含以下修訂項目。

API 異動

  • 為提高程式碼的清晰度,我們針對某些角度參數和傳回類型新增了 @FloatRange 註解。(I430dd)
  • 在介面上WearArcLayout.ArcLayoutWidget,這個方法insideClickArea現已改名為 isPointInsideClickArea。(Ia7307)

1.2.0-alpha07 版本

2021 年 3 月 24 日

已釋出 androidx.wear:wear:1.2.0-alpha071.2.0-alpha07 版本包含以下修訂項目。

修正錯誤

  • 修正在 WearArcLayout 中使用螢幕尺寸大於寬度時,未曲面子項的錯誤。這些非曲線的子項現在會在所有畫面類型的弧形內正確放置。

1.2.0-alpha06 版本

2021 年 1 月 27 日

已釋出 androidx.wear:wear:1.2.0-alpha061.2.0-alpha06 版本包含以下修訂項目。

API 異動

  • 將進行中的活動資料庫遷移至新的子資料庫:Wear-on。類別現已存放在 androidx.fit.oncontinue 套件 (原為 androidx.fit.oncontinueactivities) (I7c029)
  • 將 WearableCalendarContract 類別從 Wearable 支援資料庫遷移至 AndroidX。這個 API 會提供 CalendarContract 的一部分資料,但會自動與穿戴式裝置保持同步。(I6f2d7)

修正錯誤

  • 停用 Dismissible FrameLayout 預設的返回按鈕關閉功能,因為穿戴式裝置主要使用滑動關閉方式退出全螢幕模式 (Ic24e3)
  • 已修正在 WearArcLayout 上處理兒童瀏覽權限的問題 (Icf912)

1.2.0-alpha05 版本

2021 年 1 月 13 日

已釋出 androidx.wear:wear:1.2.0-alpha051.2.0-alpha05 版本包含以下修訂項目。

修正錯誤

  • 更新 AmbientModeSupport 類別的 javadoc 以提供程式碼片段,以更清楚地說明此類別的一般用法。

1.2.0-alpha04 版本

2020 年 12 月 16 日

已釋出 androidx.wear:wear:1.2.0-alpha041.2.0-alpha04 版本包含以下修訂項目。

API 異動

  • 新增支援功能,當裝置離開 AmbientModeSupport 類別時,活動可設為「自動恢復」。先前在 WearableSupportLibrary 中已淘汰的 WearableActivity 類別才能使用這項功能。(I336ab)
  • OnOnActivity
    • 從現在起,建立 OnOnActivity 時可設定類別,例如 OngoingActivitiy.Builder.getCategory(String)
    • OnWithActivityData 的時間戳記現在會顯示 OncontinueActivity 的建立時間 - OngoingActivityData.getTimestamp()
    • (I91cb4)
  • 變更版面配置參數,以便擴充 MarginLayoutParams,藉此支援在 WearArcLayout 上設定 WearginLayout 子項的邊緣,例如 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-alpha031.2.0-alpha03 版本包含以下修訂項目。

新功能

一個新的版面配置容器 DismissibleFrameLayout 可以處理返回按鈕和/或滑動關閉,通常用於活動中。必須新增至少一個監聽器,才能執行關閉動作。事件監聽器通常會從目前的活動中移除包含的檢視畫面或片段。setSWipeCloseible(布林值) 和 setBackButtonCloseible(布林值) 可直接控管功能。這種新的版面配置旨在取代現有的 ScreenCloseFrameLayout。

曲線小工具現在可處理觸控事件。WearArcLayout 的一般小工具會接收所有與其對應座標空間相關的觸控事件。WearCurvedTextView (不論是否位於 WearArcLayout 中) 都可以設定 GQL 和 OnClick 處理常式。

進行中的活動類別現為 VersionedParcelables,而非使用自訂序列化/取消序列化。必須提供靜態圖示和觸控意圖。

API 異動

  • WearCurvedTextView 的「sweepDegrees」屬性會細分為 minSweepDegrees 和 maxSweepDegrees,以進一步自訂這個小工具的版面配置。

1.2.0-alpha02 版本

2020 年 11 月 11 日

已釋出 androidx.wear:wear:1.2.0-alpha021.2.0-alpha02 版本包含以下修訂項目。

本次更新首次採用新的「持續進行活動 API」。開發人員可運用這個 API,用來表明進行中的活動 (例如健身活動或播放媒體的時間)。可讓開發人員定期更新狀態,例如「距離與跑步時間」或「目前播放的曲目」,用來顯示錶面或應用程式啟動器中。這項功能只適用於日後已啟用裝置功能的活動。

API 異動

  • 新的「進行中的活動」API,這是「不支援裝置」的免人工管理的操作。(I69a31)

1.2.0-alpha01 版本

2020 年 10 月 28 日

已釋出 androidx.wear:wear:1.2.0-alpha011.2.0-alpha01 版本包含以下修訂項目。

新功能

  • 新增 WearCurvedTextView 元件,方便您根據視圖中最大的圓形大小建立弧形文字。用法範例:
<androidx.wear.widget.WearCurvedTextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="example curved text"
        app:anchorAngleDegrees="180"
        app:anchorPosition="center"
        app:clockwise="false"
        style="@android:style/TextAppearance.Large"
/>

Android Wear 中的曲線文字範例

  • 新增 WearArcLayout 容器,以順時針方向或逆時針方向,逐一為子元素擺放。其子項可以是標準 Android 小工具,或是實作「ArcLayoutTool」介面的「曲面」小工具。用法範例:
<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-alpha02」和「androidx.wear:wear-input-testing:1.2.0-alpha02」。1.2.0-alpha02 版本包含以下修訂項目。

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 版本包含以下修訂項目。

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 版本包含以下修訂項目。

自 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 版本包含以下修訂項目。

androidx.wear:wear-input:1.1.0-beta01androidx.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-alpha03」和「androidx.wear:wear-input-testing:1.1.0-alpha03」。1.1.0-alpha03 版本包含以下修訂項目。

修正錯誤

  • 已修正造成 RemoteInput 意圖 (透過 RemoteInputHelper.putRemoteInputsExtraRemoteInput 新增至意圖) 遭拒的錯誤。

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 版本包含以下修訂項目。

API 異動

  • 用來取得或放置代表標題、取消、確認和進行中標籤的 RemoteInputIntentHelper 方法,現在全部由 CharSequence 變更為 String,以用於這些標籤。(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 版本包含以下修訂項目。

API 異動

  • 將 RemoteInputIntent 類別從 Wearable 支援資料庫遷移至 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 的主要功能

  • WearableButtons 功能從穿戴式支援資料庫遷移至 Jetpack。

  • 已新增androidx.wear.input.test.TestWearableButtonsProvider來實作 androidx.wear.input.WearableButtonsProvider,以協助使用 androidx.wear:wear-input 程式庫開發的測試應用程式。

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 版本包含以下修訂項目。

這個版本與 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-alpha011.0.0-alpha01 版本包含以下修訂項目。

API 異動

  • 已新增androidx.wear.input.test.TestWearableButtonsProvider來實作 androidx.wear.input.WearableButtonsProvider,以協助使用 androidx.wear:wear-input 程式庫開發的測試應用程式。(I0ed0c)

Wear-Input 版本 1.0.0-alpha01

2020 年 9 月 2 日

已釋出 androidx.wear:wear-input:1.0.0-alpha011.0.0-alpha01 版本包含以下修訂項目。

新功能

WearableButtons 功能從穿戴式支援資料庫遷移至 Jetpack。我們將在其他 Jetpack 版本的 androidx.wear:wear-input-testing 程式庫中提供其他測試支援。

1.1.0 版本

1.1.0 版本

2020 年 10 月 14 日

已釋出 androidx.wear:wear:1.1.01.1.0 版本包含以下修訂項目。

自 1.0.0 版起的重大異動

  • 為遵守 Android 命名規則,在 BoxInsetLayout 的 BoxedEdges 屬性中加入 layout_ 前置字元 (現為 layout_BoxedEdges)。這項操作會移除 Android Studio 中這些屬性的 Linter 錯誤。 (I4272f)
  • ConfirmationActivity 中新增選用的 EXTRA_ANIMATION_DURATION_MILLIS,以便顯示確認對話方塊的顯示時間。(adb83ceb/143356547)
  • 已更新 WearableActionDrawView,以延遲導覽匣的開啟速度,直到導覽匣首次開啟為止。(I01026b/163870541)。

1.1.0-rc03 版本

2020 年 9 月 2 日

已釋出 androidx.wear:wear:1.1.0-rc031.1.0-rc03 版本包含以下修訂項目。

修正錯誤

  • 修正問題:「動作導覽匣」開啟時無法顯示內容。(I01026b/163870541)。

1.1.0-rc02 版本

2020 年 6 月 24 日

已釋出 androidx.wear:wear:1.1.0-rc021.1.0-rc02 版本包含以下修訂項目。

修正錯誤

  • 為遵守 Android 命名規則,在 BoxInsetLayout 的 BoxedEdges 屬性中加入 layout_ 前置字元 (現為 layout_boxedEdges)。這項操作會移除 Android Studio 中這些屬性的 Linter 錯誤。

1.1.0-rc01 版本

2020 年 5 月 14 日

androidx.wear:wear:1.1.0-rc01.1.0-beta01起沒有變更。1.1.0-rc01 版本包含以下修訂項目。

1.1.0-beta01 版本

2020年4月29日

androidx.wear:wear:1.1.0-beta01androidx.wear:wear:1.1.0-alpha01起沒有變更。1.3.0-beta01 版本包含以下修訂項目。

1.1.0-alpha01 版本

2020 年 4 月 15 日

發布 androidx.wear:wear:1.1.0-alpha011.1.0-alpha01 版本包含以下修訂項目。

API 異動

  • ConfirmationActivity 中新增選用的 EXTRA_ANIMATION_DURATION_MILLIS,以便顯示確認對話方塊的顯示時間。(adb83ce134523cb/143356547)

修正錯誤

  • 已更新 WearableActionDrawView,以延遲導覽匣的開啟速度,直到導覽匣首次開啟為止。(5cd32f7)