Wear

Membuat aplikasi untuk smartwatch Wear OS by Google.

Tabel ini mencantumkan semua artefak dalam grup androidx.wear.

Artefak Rilis Stabil Saat Ini Kandidat Rilis Berikutnya Rilis Beta Rilis Alfa
wear 1.1.0 1.2.0-rc01 - -
wear-input 1.1.0 - - -
wear-input-testing 1.1.0 - - -
wear-complications-data* - - - 1.0.0-alpha21
wear-watchface - - - 1.0.0-alpha21
wear-watchface-client - - - 1.0.0-alpha21
wear-watchface-complications-rendering - - - 1.0.0-alpha21
wear-watchface-data - - - 1.0.0-alpha21
wear-watchface-editor - - - 1.0.0-alpha21
wear-watchface-style - - - 1.0.0-alpha21
wear-ongoing 1.0.0 - - -
wear-phone-interactions - 1.0.0-rc01 - -
wear-remote-interactions - 1.0.0-rc01 - -
Library ini terakhir diperbarui pada: 1 September 2021

Mendeklarasikan dependensi

Untuk menambahkan dependensi pada Wear, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk mengetahui informasi selengkapnya.

Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle bagi aplikasi atau modul Anda:

Groovy

dependencies {
    implementation "androidx.wear:wear:1.1.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 watchface complications (Java
    implementation "androidx.wear:wear-complications-data-source:1.0.0-alpha21"
    // Kotlin
    implementation "androidx.wear:wear-complications-data-source-ktx:1.0.0-alpha21"

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

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

    // 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.0-rc01"
    // Use to implement support for interactions between the Wearables and Phones
    implementation "androidx.wear:wear-remote-interactions:1.0.0-rc01"
}

Kotlin

dependencies {
    implementation("androidx.wear:wear:1.1.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 watchface complications
    implementation("androidx.wear:wear-complications-data-source:1.0.0-alpha21")
    // Kotlin
    implementation("androidx.wear:wear-complications-data-source-ktx:1.0.0-alpha21")

    // Use to implement wear watchfaces
    implementation("androidx.wear:wear-watchface:1.0.0-alpha21")

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

    // 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.0-rc01")
    // Use to implement support for interactions between the Wearables and Phones
    implementation("androidx.wear:wear-remote-interactions:1.0.0-rc01")
}

Untuk informasi dependensi selengkapnya, lihat Menambahkan dependensi build.

Masukan

Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau mempunyai masukan untuk meningkatkan kualitas library ini. Harap periksa masalah yang sudah diketahui dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara untuk masalah yang sudah diketahui dengan mengklik tombol bintang.

Laporkan masalah baru

Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.

Wear Ongoing & Interactions Versi 1.0.0

Wear-Phone-Interactions Wear-Remote-Interactions Versi 1.0.0-rc01

1 September 2021

androidx.wear:wear-phone-interactions:1.0.0-rc01 dan androidx.wear:wear-remote-interactions:1.0.0-rc01 dirilis. Versi 1.0.0-rc01 berisi commit berikut.

Perbaikan Bug

  • Memperbaiki bug yang mencegah error yang muncul dalam Layanan Google Play agar tidak disebarkan ke pemanggil saat menggunakan RemoteActivityHelper (I60d60)
  • Memperbaiki bug yang menyebabkan RemoteActivityHelper tidak akan memenuhi Future-nya jika tidak ada node yang terhubung, atau jika nodeId yang diminta tidak ditemukan (I60d60)

Wear-Ongoing Versi 1.0.0

1 September 2021

androidx.wear:wear-ongoing:1.0.0 dirilis. Versi 1.0.0 berisi commit berikut ini.

Fitur utama 1.0.0

  • Wear Ongoing Activities API adalah API untuk developer, termasuk developer pihak ketiga, yang digunakan untuk menandai aktivitas mereka sebagai “Aktivitas yang Sedang Berlangsung”, dan memberikan informasi yang diperlukan.
  • Aktivitas yang Sedang Berlangsung merujuk pada aktivitas yang dapat berjalan di latar belakang smartwatch (misalnya, olahraga, panggilan telepon, dan media). Di Wear 3, aktivitas yang dideklarasikan sebagai sedang berlangsung akan dibuat lebih jelas melalui ikon overlay khusus pada tampilan jam dan rendering yang berbeda di peluncur aplikasi.
  • Untuk informasi selengkapnya, lihat Panduan Aktivitas yang Sedang Berlangsung di Wear

Wear-Phone-Interactions Wear-Remote-Interactions Versi 1.0.0-beta01

18 Agustus 2021

androidx.wear:wear-phone-interactions:1.0.0-beta01 dan androidx.wear:wear-remote-interactions:1.0.0-beta01 dirilis. Versi 1.0.0-beta01 berisi commit berikut ini.

Perubahan API

  • Mengganti nama class RemoteIntentHelper menjadi RemoteActivityHelper. Mengganti nama fungsi RemoteIntentHelper#getRemoteIntentExtraIntent dan RemoteIntentHelper#getRemoteIntentNodeId menjadi RemoteActivityHelper#getTargetIntent dan RemoteActivityHelper#getTargetNodeId. (Id2042)

Wear-Ongoing Versi 1.0.0-rc01

18 Agustus 2021

androidx.wear:wear-ongoing:1.0.0-rc01 dirilis tanpa perubahan sejak 1.0.0-beta01. Versi 1.0.0-rc01 berisi commit berikut ini.

Wear-Ongoing Versi 1.0.0-beta01

4 Agustus 2021

androidx.wear:wear-ongoing:1.0.0-beta01 dirilis. Versi 1.0.0-beta01 berisi commit berikut ini.

Perubahan API

  • Beberapa penyetel di OngoingActivity.Builder sekarang menerima argumen null agar penyetel dan pengambil bisa simetris dan konsisten (I17ee5)

Wear-Phone-Interactions Versi 1.0.0-alpha07

4 Agustus 2021

androidx.wear:wear-phone-interactions:1.0.0-alpha07 dirilis. Versi 1.0.0-alpha07 berisi commit berikut.

Perubahan API

  • Mengganti nama WearTypeHelper.isChinaDevice menjadi WearTypeHelper.isChinaBuild. (I47302)
  • Kami telah mengupdate library RemoteAuthClient agar otomatis memilih redirect_uri berdasarkan jenis perangkat (RoW/Cina). (I38866)
  • Memperbaiki bug yang menyebabkan konversi BridgingConfig ke/dari Bundle gagal dengan ClassCastException. Menambahkan pengujian unit untuk class BridgingManagerService. (I68ecb)

Wear-Remote-Interactions Versi 1.0.0-alpha06

4 Agustus 2021

androidx.wear:wear-remote-interactions:1.0.0-alpha06 dirilis. Versi 1.0.0-alpha06 berisi commit berikut.

Wear-Phone-Interactions Versi 1.0.0-alpha06

21 Juli 2021

androidx.wear:wear-phone-interactions:1.0.0-alpha06 dirilis. Versi 1.0.0-alpha06 berisi commit berikut.

Perubahan API

  • Class BridgingManagerSeviceBinder sekarang menjadi subclass Service dan diganti namanya menjadi BridgingManagerSevice. (I9fca2)
  • Metode RemoteAuthClient.Callback.onAuthorizationError diubah untuk menyertakan parameter OAuthRequest. Metode yang memerlukan callback sekarang juga memerlukan eksekutor untuk menjalankan callback. (I35e11)

Perbaikan Bug

  • Kami telah membuat API autentikasi lebih jelas dengan parameter yang lebih terdokumentasi dan dengan menggunakan properti jika memungkinkan. (I12287)

Wear-Phone-Interactions Versi 1.0.0-alpha05

30 Juni 2021

androidx.wear:wear-phone-interactions:1.0.0-alpha05 dirilis. Versi 1.0.0-alpha05 berisi commit berikut ini.

Perbaikan Bug

  • Mendokumentasikan parameter yang harus diteruskan dalam konstruktor untuk BridgingConfig.Builder.

Wear-Ongoing Versi 1.0.0-alpha06

2 Juni 2021

androidx.wear:wear-ongoing:1.0.0-alpha06 dirilis. Versi 1.0.0-alpha06 berisi commit berikut.

Perubahan API

  • Menambahkan kolom Judul ke Ongoing Activity. (I7a405)

Perbaikan Bug

  • SerializationHelper.copy() sekarang membuat salinan informasi defensif (I8b276)
  • Memperbaiki dokumentasi setCategory (Iff01f)

Wear-Ongoing Versi 1.0.0-alpha05

18 Mei 2021

androidx.wear:wear-ongoing:1.0.0-alpha05 dirilis. Versi 1.0.0-alpha05 berisi commit berikut.

Perubahan API

  • OngoingActivity kini memiliki pengambil untuk mengambil semua nilai yang ditetapkan langsung melalui Builder (atau default yang diambil dari Notifikasi terkait). (Id8ac8)

    • Class baru Status kini digunakan untuk membuat status OngoingActivity
    • OngoingActivityData dan OngoingActivityStatus tidak lagi menjadi bagian dari API publik.
  • Class TextStatusPart dan TimerStatusPart tidak lagi menjadi bagian dari API publik. (I57fb6)

    • Untuk membuat Part dengan teks statis, gunakan Status.TextPart.
    • Untuk membuat Part dengan stopwatch (hitungan maju), gunakan Status.Stopwatch
    • Untuk membuat Part dengan timer (hitungan mundur), gunakan Status.Timer

Wear-Ongoing Versi 1.0.0-alpha04

5 Mei 2021

androidx.wear:wear-ongoing:1.0.0-alpha04 dirilis. Versi 1.0.0-alpha04 berisi commit berikut ini.

Perubahan API

  • Di OngoingActivity, metode fromExistingOngoingActivity sekarang disebut recoverOngoingActivity.
  • OngoingActivity kini memiliki rangkaian lengkap pengambil, yang sebelumnya hanya tersedia di OngoingActivityData. (I0ee4d)

Wear-Remote-Interactions Versi 1.0.0-alpha05

21 Juli 2021

androidx.wear:wear-remote-interactions:1.0.0-alpha05 dirilis. Versi 1.0.0-alpha05 berisi commit berikut.

Perubahan API

  • Kami telah menambahkan class RemoteIntentHelper (sebelumnya RemoteIntent dalam Wearable Support Library) yang dapat digunakan untuk membuka intent di perangkat lain (yaitu dari jam tangan ke ponsel). (I1d7e0)

  • Class PlayStoreAvailability telah dihapus dari library AndroidX. Untuk mendeteksi apakah Play Store tersedia di ponsel yang terhubung, gunakan metode androidx.phone.interactions.PhoneTypeHelper.getPhoneDeviceType untuk menentukan apakah ponsel yang terhubung adalah ponsel Android. Kemudian, gunakan metode androidx.wear.utils.WearTypeHelper.isChinaDevice untuk menentukan apakah ponsel yang terhubung adalah perangkat China. Jika ponsel adalah ponsel Android dan jika bukan perangkat China, Play Store akan tersedia. (Ie7dec)

Wear-Phone-Interactions Versi 1.0.0-alpha04

7 April 2021

androidx.wear:wear-phone-interactions:1.0.0-alpha04 dirilis. Versi 1.0.0-alpha04 berisi commit berikut ini.

Perubahan API

  • Mengupdate konstanta ErrorCode untuk membuat library baru kompatibel dengan versi lama menggunakan implementasi di Wearable Support Library.

Perbaikan Bug

  • Memperbaiki pengecualian yang disebabkan oleh OAuth API baru saat memulai sesi OAuth.

Wear-Remote-Interactions Versi 1.0.0-alpha03

7 April 2021

androidx.wear:wear-remote-interactions:1.0.0-alpha03 dirilis. Versi 1.0.0-alpha03 berisi commit berikut ini.

Perubahan API

  • Mengubah PlayStoreAvailability menjadi class yang berisi objek pendamping dengan metode statis. Penggunaannya tetap sama.

Perbaikan Bug

  • Memperbaiki dokumen ringkasan untuk WatchFaceConfigIntentHelper agar menampilkan kode contoh dengan benar menggunakan karakter HTML yang sebenarnya.

Wear-Ongoing Wear-Phone-Interactions Versi 1.0.0-alpha03

10 Maret 2021

androidx.wear:wear-ongoing:1.0.0-alpha03 dan androidx.wear:wear-phone-interactions:1.0.0-alpha03 dirilis. Versi 1.0.0-alpha03 berisi commit berikut ini.

Fitur Baru

  • Memigrasikan OAuthClient dari Wearable Support Library ke AndroidX. Class yang dimigrasikan ini berganti nama menjadi RemoteAuthClient dan memberikan dukungan untuk autentikasi jarak jauh pada perangkat Wearable bersama dengan dukungan untuk menambahkan ekstensi OAuth PKCE. Menyediakan class pengendali dan helper tambahan untuk komunikasi.
  • Aktivitas yang sedang berjalan sekarang dapat dikaitkan dengan Notification yang memiliki tag, menggunakan konstruktor OngoingActivity.Builder baru.

Perubahan API

  • Menambahkan dukungan untuk tag notifikasi pada Library Ongoing Activities (I653b4)
  • Memigrasikan OAuthClient dari Wear Support Library ke AndroidX, dan menambahkan dukungan untuk ekstensi OAuth PKCE (I3eaaa)

Wear-Remote-Interactions Versi 1.0.0-alpha02

10 Maret 2021

androidx.wear:wear-remote-interactions:1.0.0-alpha02 dirilis. Versi 1.0.0-alpha02 berisi commit berikut ini.

Fitur Baru

  • Memigrasikan class PlayStoreAvailability dari Wearable Support Library ke AndroidX yang menyediakan API untuk memeriksa apakah Play Store tersedia di Ponsel.

Perbaikan Bug

  • Memigrasikan class PlayStoreAvailability dari Wearable Support Library ke AndroidX. (I69bfe)

Versi 1.0.0-alpha02

10 Februari 2021

androidx.wear:wear-ongoing:1.0.0-alpha02 dan androidx.wear:wear-phone-interactions:1.0.0-alpha02 dirilis. Versi 1.0.0-alpha02 berisi commit berikut ini.

Perubahan API

  • Menambahkan dukungan untuk status yang lebih kompleks. Dukungan tersebut terdiri dari sebuah template (atau beberapa) dan serangkaian Bagian yang akan digunakan untuk mengisi placeholder template. OngoingActivityStatus sekarang memiliki metode statis untuk membuat status sederhana hanya dengan satu bagian (Teks atau Timer), dan Builder untuk membuat status yang lebih kompleks. (I1fe81)
  • Memindahkan class BridgingManager dan BridgingConfig dari Support Library Wear ke AndroidX yang menyediakan API untuk mengaktifkan/menonaktifkan notifikasi saat runtime dan menetapkan tag secara opsional untuk notifikasi yang dikecualikan dari mode bridge. (I3a17e)

Versi 1.0.0-alpha01

27 Januari 2021

androidx.wear:wear-ongoing:1.0.0-alpha01, androidx.wear:wear-phone-interactions:1.0.0-alpha01, dan androidx.wear:wear-remote-interactions:1.0.0-alpha01 dirilis. Versi 1.0.0-alpha01 berisi commit berikut ini.

Perubahan API

  • Memigrasikan library Ongoing Activities ke sub-library baru: wear-ongoing. Class sekarang berada di paket androidx.wear.ongoing (sebelumnya androidx.wear.ongoingactivities) (I7c029)

  • Membuat library dukungan baru untuk menampung class yang mendukung interaksi dari Wearable ke Ponsel. Ini awalnya diisi dengan class yang dimigrasikan dari Wearable Support Library. (Id5180)

  • Memigrasikan class PhoneDeviceType dari Wearable Support Library ke AndroidX. Class yang dimigrasikan berganti nama menjadi PhoneTypeHelper yang menyediakan metode bantuan untuk menentukan jenis ponsel yang akan disambungkan dengan smartwatch saat ini, untuk hanya digunakan di perangkat Wearable. (Ibd947)

  • Membuat library dukungan baru untuk menampung class yang mendukung interaksi antara Wearable dan Ponsel. Ini awalnya diisi dengan class yang dimigrasikan dari Wearable Support Library. (I9deb4)

  • Memigrasikan class WatchFaceCompanion dari Wearable Support Library ke AndroidX. Class yang dimigrasikan berganti nama menjadi WatchFaceConfigIntentHelper yang menyediakan fungsi bantuan untuk menentukan ID dan nama komponen dalam aktivitas konfigurasi tampilan jam di ponsel pendamping, serta dapat digunakan secara lokal untuk mengonfigurasi tampilan jam pada perangkat wearable. (Ia455f)

Wear Complications dan Watchface 1.0.0

Versi 1.0.0-alpha21

1 September 2021

androidx.wear:wear-*:1.0.0-alpha21 dirilis. Versi 1.0.0-alpha21 berisi commit berikut ini.

Perubahan API

  • Semua API publik untuk tampilan jam, klien, editor, dan detail kini menggunakan java.time.Instant untuk waktu, bukan Long, karena API level minimum meningkat menjadi 26. (I3cd48)
  • API tampilan jam dan detail kini menggunakan ZonedDateTime yang tidak dapat diubah, bukan Kalender. (I25cf8)
  • ComplicationSlots sekarang diinisialisasi dengan NoDataComplicationData, ComplicationSlot.complicationData sekarang selalu memiliki nilai, dan CanvasComplicationDrawable.complicationData bukan lagi nullable. (I4dfd6) Hal ini akan mengurangi (tetapi tidak menghilangkan) kedipan detail saat beralih antar-tampilan jam.

Versi 1.0.0-alpha20

18 Agustus 2021

androidx.wear:wear-*:1.0.0-alpha20 dirilis. Versi 1.0.0-alpha20 berisi commit berikut ini.

Perubahan API

  • Kami telah menambahkan createFallbackPreviewData ke ComplicationDataSourceInfo yang dapat digunakan saat ComplicationDataSourceInfoRetriever.retrievePreviewComplicationData menampilkan null. (I38c4d)
  • ComplicationDataSourceUpdateRequester telah diubah menjadi antarmuka untuk memungkinkan tiruan dalam pengujian unit. Anda dapat membuat ComplicationDataSourceUpdateRequester konkret dengan ComplicationDataSourceUpdateRequester.create(). (I7da22)
  • RenderParameters.pressedComplicationSlotIds telah diganti dengan RenderParameters.lastComplicationTapDownEvents yang menampilkan class TapEvent baru yang berisi tiga koordinat x, y dari ketukan dalam piksel dan stempel waktu. WatchFace.TapListener.onTap telah diganti dengan onTapEvent(@TapType tapType: Int, tapEvent: TapEvent). Selain itu, InteractiveWatchFaceClient.displayPressedAnimation telah dihapus. (Id87d2)
  • Menambahkan anotasi threading eksplisit untuk setImportantForAccessibility (I990fa)
  • ComplicationSlotBoundsType telah dipindahkan ke androidx-wear-watchface.ComplicationSlotBoundsType di wear/wear-watchface. (I09420)
  • Kami telah menambahkan dukungan untuk meneruskan ID resource string ke UserStyleSetting dan Options. Sekarang, ini adalah cara yang direkomendasikan untuk membuat objek-objek tersebut. (I03d5f)
  • Batas telah diberlakukan pada ukuran kabel maksimum Skema UserStyle. Selain itu, Ikon dalam skema tidak boleh lebih besar dari 400x400 piksel. (I3b65b)
  • Kami menambahkan class MutableUserStyle untuk mendukung perubahan pada instance UserStyle (I95a40)
  • Kami telah mengganti nama ListenableWatchFaceMetadataClient.Companion#listenableCreateWatchFaceMetadataClient menjadi ListenableWatchFaceMetadataClient.Companion#createListenableWatchFaceMetadataClient. (I64ce2)
  • Kami telah memodifikasi EditorState.previewComplicationsData agar hanya berisi data untuk detail yang diaktifkan, dan kami telah menambahkan EditorSession.DEFAULT_PREVIEW_TIME_MILLIS yang jika diteruskan ke renderWatchFaceToBitmap atau PreviewScreenshotParams akan meminta rendering dengan waktu pratinjau default tampilan jam. (If7b3c)
  • Kami telah menghapus konstruktor UserStyleSetting yang mengambil CharSequence dari API publik. Sebaiknya gunakan konstruktor yang memerlukan ID StringResource. (I8537b)
  • CurrentUserStyleRepository.UserStyleChangeListener sekarang mendukung konversi SAM. (I85989)

Versi 1.0.0-alpha19

4 Agustus 2021

androidx.wear:wear-*:1.0.0-alpha19 dirilis. Versi 1.0.0-alpha19 berisi commit berikut ini.

Perubahan API

  • Kami telah menambahkan ListenableWatchFaceMetadataClient.listenableCreateWatchFaceMetadataClient yang memberikan wrapper ListenableFuture untuk WatchFaceMetadataClient.createWatchFaceMetadataClient. (I5fa37)
  • UserStyleOption.getOptionForId kini menerima UserStyleOption.Id, bukan array byte. (I469be)
  • Menyediakan konstanta BooleanOption.TRUE dan BooleanOption.FALSE serta melarang pembuatan instance (I46e09)
  • Metode dalam wear-watchface-client yang dapat melemparkan RemoteException sekarang telah dianotasi sebagaimana mestinya. (Ib8438)
  • Agar konsisten, kami telah mengganti nama EditorSession.createOnWatchEditingSession menjadi createOnWatchEditorSession, sama halnya dengan createHeadlessEditingSession sekarang menjadi createHeadlessEditorSession. Nama wrapper guava-nya juga telah diganti. (I1526b)
  • EditorSession sekarang menjadi antarmuka dan ListenableEditorSession.commitChangesOnClose sekarang didelegasikan dengan benar. (I7dc3e)
  • Kini kami menolak skema gaya pengguna apa pun yang memiliki setelan atau opsi dengan ID yang bertentangan (Ic2715)
  • Kami telah menambahkan UserStyle.get yang berlebihan yang menerima UserStyleSetting.Id. (I2aa0f)

Versi 1.0.0-alpha18

21 Juli 2021

androidx.wear:wear-*:1.0.0-alpha18 dirilis. Versi 1.0.0-alpha18 berisi commit berikut ini.

Perubahan API

  • Kami memindahkan ComplicationHelperActivity ke library androidx.wear:wear-watchface. (I39e76)
  • Agar konsisten dan jelas, ComplicationProvider telah diganti namanya menjadi ComplicationDataSource dan nama semua class dengan Penyedia di namanya juga telah diganti. (Iaef0b)
  • CanvasComplication.isHighlighted telah dipindahkan ke RenderParameters.pressedComplicationSlotIds. Ini adalah langkah untuk menjadikan CanvasComplication stateless. Untuk mendukung perubahan ini, CanvasComplication.render kini juga menggunakan slotId sebagai parameter. Sekarang, kita meneruskan ComplicationSlot ke GlesTextureComplication. (I50e6e)
  • Kami telah menambahkan headlessDeviceConfig ke EditorRequest. Jika bukan null, parameter ini digunakan untuk membuat instance headless guna mendukung EditorSession dan bukan bertindak pada instance interaktif. Hal ini memungkinkan editor dipanggil untuk tampilan jam yang bukan tampilan saat ini. (I0a820)
  • Kami telah menambahkan WatchFaceMetadataClient eksperimental yang memungkinkan pengambilan metadata tampilan jam statis secara efisien seperti UserStyleSchema dan detail tetap tentang ComplicationSlots. (I6bfdf)
  • Kami telah mengganti nama CanvasRenderer.uiThreadInit menjadi init. (I6fff9)
  • Kami telah menambahkan PreviewScreenshotParams sebagai parameter baru opsional untuk EditorRequest yang menginstruksikan EditorSession untuk mengambil screenshot pratinjau pada commit dengan parameter ini. Gambar pratinjau ditampilkan pada EditorState.previewImage. (Ic2c16)

Perbaikan Bug

  • Developer tidak perlu lagi menambahkan ComplicationHelperActivity ke manifesnya. (I6f0c2)

Versi 1.0.0-alpha17

30 Juni 2021

androidx.wear:wear-*:1.0.0-alpha17 dirilis. Versi 1.0.0-alpha17 berisi commit berikut ini.

Fitur Baru

  • Dalam GlesRenderer, makeUiThreadContextCurrent dan makeBackgroundThreadContextCurrent telah diganti dengan runUiThreadGlCommands dan runBackgroundThreadGlCommands yang menerima Runnable. Library tersebut memastikan hanya ada satu perintah GL yang dapat dijalankan pada waktu tertentu.

  • Untuk mempermudah inisialisasi UiThread, kami telah menambahkan CanvasRenderer.uiThreadInit yang dipanggil satu kali di UiThread sebelum panggilan apa pun yang akan dirender. Kami juga telah menambahkan onRendererCreated ke CanvasComplication yang memudahkan Renderer dan CanvasComplication berbagi status.

  • Agar lebih jelas, kami telah mengganti nama Complication menjadi ComplicationSlot dan complicationId menjadi complicationSlotId atau complicationInstanceId, bergantung pada penggunaan

Perubahan API

  • Agar lebih jelas, kami telah mengganti nama Complication menjadi ComplicationSlot dan complicationId menjadi complicationSlotId atau complicationInstanceId, bergantung pada penggunaan. Class yang menggunakan Complication juga telah diganti namanya, misalnya ComplicationsManager sekarang disebut ComplicationSlotsManager. (I4da44)
  • Di GlesRenderer, makeUiThreadContextCurrent dan makeBackgroundThreadContextCurrent telah diganti dengan runUiThreadGlCommands dan runBackgroundThreadGlCommands yang menerima Runnable. Fungsi ini hanya diperlukan jika Anda perlu melakukan panggilan GL di luar render, runBackgroundThreadGlCommands dan onUiThreadGlSurfaceCreated. Hal ini diperlukan karena bisa jadi ada beberapa GlesRenderer dengan konteksnya masing-masing dalam proses yang sama, kemungkinan dari tampilan jam yang berbeda. Selain itu, akses ke konteks GL yang saat ini dibagikan sekarang disinkronkan. (I04d59)
  • Kami telah menambahkan CanvasRenderer.uiThreadInit yang dipanggil satu kali di UiThread sebelum panggilan apa pun yang akan dirender. Selain itu, agar lebih jelas di GlesRenderer, kami mengganti nama onGlContextCreated menjadi onBackgroundThreadGlContextCreated, dan onGlSurfaceCreated menjadi onUiThreadGlSurfaceCreated. (If86d0)
  • HeadlessWatchFaceClient & InteractiveWatchFaceClient getComplicationsSlotState telah diganti namanya menjadi getComplicationSlotsState. Di ComplicationSlot: createRoundRectComplicationBuilder, createBackgroundComplicationBuilder, dan createEdgeComplicationBuilder secara berurutan telah diganti namanya menjadi createRoundRectComplicationSlotBuilder, createBackgroundComplicationSlotBuilder, dan createEdgeComplicationSlotBuilder. (Ib9adc)
  • Kami telah menambahkan onRendererCreated ke CanvasComplication yang mempermudah Perender dan CanvasComplication berbagi status. (I5e1ac)

Version 1.0.0-alpha16

16 Juni 2021

androidx.wear:wear-*:1.0.0-alpha16 dirilis. Versi 1.0.0-alpha16 berisi commit berikut ini.

Fitur Baru

  • Kami telah memperbaiki sejumlah bug yang terkait dengan perubahan model threading terbaru serta mengatasi masalah lain terkait editor tampilan jam.

Perbaikan Bug

  • Mencegah NPE di onComplicationProviderChooserResult (b/189594557)
  • Memperbaiki masalah pada surface yang sudah tidak berlaku dan drawBlack (/189452267)
  • Memperbaiki race dalam mengakses complicationsManager.watchState (b/189457893)
  • Memperbaiki bug sepanjang waktu thread latar belakang (b/189445428)
  • Memperbaiki masalah Pre-R Tampilan jam Editor (b/189126313)
  • Jangan perbarui parameter booting langsung untuk perubahan gaya editor (b/187177307)

Versi 1.0.0-alpha15

2 Juni 2021

androidx.wear:wear-*:1.0.0-alpha15 dirilis. Versi 1.0.0-alpha15 berisi commit berikut ini.

Fitur Baru

Sebagian besar inisialisasi tampilan jam sekarang dilakukan di thread latar belakang, tetapi setelah pemuatan, semua rendering tampilan jam dsb. dilakukan pada UiThread. Terdapat penghalang memori antara pemuatan dan rendering sehingga sebagian besar tampilan jam pengguna tidak perlu melakukan tindakan khusus. Tampilan jam yang menggunakan GLES dapat menjadi pengecualian karena konteksnya spesifik untuk thread dan kita membuat dua konteks tertaut sehingga dapat mengupload resource GL (misalnya tekstur dan shader) di thread latar belakang dan menggunakannya di UiThread.

Kami telah memisahkan pembuatan tampilan jam menjadi tiga fungsi: createUserStyleSchema, createComplicationsManager, dan createWatchFace. Kami berasumsi bahwa createUserStyleSchema dan createComplicationsManager cepat dan createWatchFace mungkin memerlukan waktu untuk memuat aset. Dengan memanfaatkan hal ini, kami telah memperkenalkan WatchFaceControlClient.getDefaultProviderPoliciesAndType yang menampilkan peta ID Detail ke DefaultComplicationProviderPolicies dan ComplicationType default. Proses ini lebih cepat daripada membuat instance headless karena tidak perlu menginisialisasi tampilan jam sepenuhnya untuk melakukan kueri.

Terakhir, detail kini dibuat dengan CanvasComplicationFactory yang memungkinkan pembuatan lambat perender CanvasComplication.

Perubahan API

  • @TargetApi diganti dengan @RequiresApi. (I0184a, b/187447093, b/187447094)
  • Kami telah memperkenalkan WatchFaceControlClient.getDefaultProviderPoliciesAndType yang menampilkan peta ID Detail ke DefaultComplicationProviderPolicies dan ComplicationType default. Jika memungkinkan, jalur cepat yang menghindari pembuatan tampilan jam sepenuhnya digunakan. Untuk memfasilitasi hal ini, WatchFaceService API harus berubah dengan dua metode baru: createUserStyleSchema dan createComplicationsManager yang hasilnya diteruskan ke createWatchFace. Selain itu, Detail sekarang dibuat dengan CanvasComplicationFactory yang memungkinkan pembuatan lambat perender CanvasComplication. (Iad6c1)
  • Kami telah menghapus MOST_RECENT_APP dari SystemProviders. (I3df00)
  • ObservableWatchData kini menjadi class terbatas. (Ic940d)
  • CanvasComplicationFactory.create (yang biasanya terikat io) sekarang dipanggil di thread latar belakang untuk setiap detail sebelum rendering thread UI dimulai. Ada penghalang memori antara pembuatan dan rendering, sehingga tidak diperlukan proses threading khusus. (Ia18f2)
  • Pembuatan tampilan jam sekarang dilakukan di thread latar belakang meskipun semua rendering dilakukan pada UI thread, GlesRenderer mendukung dua konteks tertaut untuk mendukung hal ini. WatchFaceControlClient.createHeadlessWatchFaceClient dan WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient dapat di-resolve sebelum WatchFaceService.createWatchFace selesai. Panggilan API berikutnya akan diblokir hingga inisialisasi watchFace selesai. (Id9f41)
  • EXPANSION_DP dan STROKE_WIDTH_DP tidak lagi terlihat di api.txt. (I54801)
  • Kami telah membuat EditorSession.createOnWatchEditingSession memunculkan TimeoutCancellationException jika ada error, bukan mengirim sesi null. Selain itu, nilai return EditorRequest.createFromIntent dan EditorSession.createOnWatchEditingSession kini menjadi NonNull. (I41eb4)

Versi 1.0.0-alpha14

18 Mei 2021

androidx.wear:wear-*:1.0.0-alpha14 dirilis. Versi 1.0.0-alpha14 berisi commit berikut ini.

Fitur Baru

  • EditorSession.openComplicationProviderChooser kini menampilkan ChosenComplicationProvider yang berisi ID detail, ComplicationProviderInfo, dan Paket yang berisi tambahan lainnya yang ditampilkan oleh pemilih penyedia.
  • Selain itu, kami terus memigrasikan kode ke Kotlin dan sebagian besar API tampilan jam kini ditetapkan di Kotlin.

Perubahan API

  • Properti GlesRenderer eglContext dan eglDisplay kini tidak dapat bernilai null. Setiap error GL kini dilaporkan melalui GlesRenderer.GlesException, bukan melalui RuntimeExceptions. (Ib1005)
  • Kami telah memigrasikan androidx.wear.watchface.complications.rendering.ComplicationDrawable dari Java ke Kotlin (Ibc3eb)
  • Kami telah memigrasikan androidx.wear.watchface.complications.rendering.ComplicationStyle dari Java ke Kotlin (I3375e)
  • Kami menambahkan informasi tentang penyedia detail untuk setiap detail dalam EditorSession. (I37f14)
  • Kami memperluas hasil EditorSession.openComplicationProviderChooser untuk menyertakan informasi yang ditampilkan oleh yang dipilih. (Iead6d)

Wear Complications & Watchface Versi 1.0.0-alpha13

5 Mei 2021

androidx.wear:wear-*:1.0.0-alpha13 dirilis. Versi 1.0.0-alpha013 berisi commit berikut ini.

Fitur Baru

  • Tampilan jam dapat memiliki elemen visual yang penting selain menampilkan waktu dan detail. Untuk memberikan dukungan bagi pembaca layar dalam hal ini, tampilan jam kini dapat menentukan aksesibilitas ContentDescriptionLabels melalui properti additionalContentDescriptionLabels Renderer. Selain itu, untuk mengontrol pengurutan ContentDescriptionLabels, accessibilityTraversalIndex telah ditambahkan ke detail. Ini dapat dimodifikasi oleh ComplicationsUserStyleSetting.

  • Untuk mendorong developer agar mempertimbangkan pembaca layar dengan cermat, kami telah membuat kolom contentDescription ShortTextComplicationData.Builder, LongTextComplicationData.Builder, dan RangedValueComplicationData.Builder yang wajib untuk diteruskan ke konstruktor mereka. Jika ComplicationText.EMPTY diteruskan untuk contentDescription, contentDescription akan otomatis dibuat dari teks dan judul.

  • WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient sekarang melemparkan ServiceStartFailureException jika tampilan jam melemparkan pengecualian selama init. Hal ini akan sangat mempermudah untuk mendiagnosis masalah saat memulai tampilan jam.

Perubahan API

  • Kami menambahkan dukungan untuk memiliki nama komponen null di ComplicationProviderInfo, yang diperlukan untuk mendukung Wear OS versi lama. (I744d2)
  • Kami telah memigrasikan androidx.wear.complications.SystemProviders dari Java ke Kotlin. (Ia1f8b)
  • Kami telah menyembunyikan semua class dari API publik yang ada di android.support.wearable.complications dan membuat wrapper yang sesuai di AndroidX jika diperlukan. (I7bd50)
  • Kami telah mengganti nama metode di TimeDifferenceComplicationText.Builder dari setMinimumUnit menjadi setMinimalTimeUnit. (I20c64)
  • Kami telah membuat kolom contentDescription ShortTextComplicationData.Builder, LongTextComplicationData.Builder, dan RangedValueComplicationData.Builder yang wajib untuk diteruskan di konstruktor. (I8cb69)
  • Kami telah mengganti nama ComplicationProviderService.onComplicationUpdate menjadi onComplicationRequest, serta mengenkapsulasi id dan parameter jenis metode ini menjadi data ComplicationRequest. Pemroses yang sesuai telah diganti namanya menjadi ComplicationRequestListener dan metodenya ComplicationRequestListener.onComplicationData. (Iaf146)
  • Kami telah menghapus metode isActiveAt dari ComplicationData dan mengekspos kolom validTimeRange, bukan metode tersebut. Panggilan metode ini dapat diganti dengan validTimeRange.contains. (I65936)
  • Kami telah mengubah deskripsi metode ComplicationProviderService.onComplicationActivated untuk menerima ComplicationType, bukan int. (Idb5ff)
  • Memigrasi ProviderUpdateRequester dari Java ke Kotlin. (Ibce13)
  • GlesRender.makeContextCurrent kini bersifat publik. Kode tampilan jam mungkin perlu melakukan panggilan gl di luar render dan onGlContextCreated, dan mungkin karena konteks interaktif dan headless, panggilan ini diperlukan. (I8a43c)
  • WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient sekarang melemparkan ServiceStartFailureException jika tampilan jam dilemparkan selama init. Selain itu, WatchFaceService sekarang melemparkan pengecualian jika createWatchFace memerlukan waktu lebih dari 6 detik. (I59b2f)
  • Kami telah menghapus properti id GlesTextureComplication yang tidak digunakan. (I28958)
  • Tampilan jam sekarang dapat menentukan aksesibilitas ContentDescriptionLabels melalui properti additionalContentDescriptionLabels Renderer. Selain mengontrol pengurutan ContentDescriptionLabels, accessibilityTraversalIndex telah ditambahkan ke detail. Ini dapat dimodifikasi oleh ComplicationsUserStyleSetting. (Ib7362)
  • Perluas dokumentasi tentang penanganan peristiwa sentuh di tampilan jam. (Iaf31e)

Perbaikan Bug

  • EditorSession.getComplicationsPreviewData() sekarang menampilkan peta untuk setiap detail yang tidak kosong. Instance EmptyComplicationData digunakan untuk detail kosong. (I1ef7e)

Wear Complications & Watchface Versi 1.0.0-alpha12

21 April 2021

androidx.wear:wear-*:1.0.0-alpha12 dirilis. Versi 1.0.0-alpha12 berisi commit berikut ini.

Fitur Baru

Editor tampilan jam harus menandai bagian tampilan jam yang akan membantu menunjukkan aspek smartwatch yang sedang dikonfigurasi. Kami telah memperluas RenderParameters untuk mengizinkan gaya serta detail untuk ditandai. Ada HighlightLayer opsional baru yang dimaksudkan untuk diredupkan di bagian atas tampilan jam dengan transparansi alfa (API screenshot dapat melakukan peredupan ini untuk Anda, atau menyediakan HighlightLayer sendiri untuk fleksibilitas maksimum). Misalkan Anda memiliki gaya yang memungkinkan Anda mengonfigurasi tampilan smartwatch, perender di renderHighlightLayer bisa menggambar garis di sekitarnya.

Guna mendorong dukungan Penyedia Detail untuk aksesibilitas, kami telah membuat kolom contentDescription PhotoImageComplicationData.Builder, MonochromaticImageComplicationData.Builder, dan SmallImageComplicationData.Builder menjadi argumen konstruktor wajib. ComplicationTapFilter dan Complication.createEdgeComplicationBuilder telah ditambahkan untuk mendukung detail tepi (digambar di sekitar tepi layar). Rendering dan hit test detail tepi diserahkan ke tampilan jam. Hit test tepi tidak didukung dari editor pendamping.

Perubahan API

  • Menambahkan awalan PROVIDER_ ke konstanta di SystemProviders. (I1e773)
  • Kami telah membuat kolom wajib contentDescription PhotoImageComplicationData.Builder, MonochromaticImageComplicationData.Builder, dan SmallImageComplicationData.Builder agar diteruskan di konstruktor. (I9643a)
  • ProviderInfoRetriever.requestPreviewComplicationData diganti namanya menjadi retrievePreviewComplicationData. (I911ee)
  • Memigrasikan ComplicationProviderService dari Java ke Koltin. (I849f2)
  • Metode ComplicationProviderService.onBind sekarang sudah final (I39af5)
  • Kami telah mengaktifkan kembali antarmuka CanvasComplication dan memindahkan CanvasComplicaitonDrawable, GlesTextureComplication, dan ComplicationHighlightRenderer ke wear-watchface-complications-rendering. (I84670)
  • RenderParameters telah difaktorkan ulang untuk mendukung rendering sorotan yang diperluas. Sekarang Anda dapat meminta rendering sorotan untuk gaya serta semua atau satu detail. Selain itu, CanvasRenderer dan GlesRenderer sekarang memiliki metode renderHighlightLayer abstrak baru untuk merender sorotan apa pun yang diminta oleh editor. Lapisan telah diganti namanya menjadi WatchFaceLayer. (Ic2444)
  • ComplicationTapFilter dan Complication.createEdgeComplicationBuilder telah ditambahkan untuk mendukung detail tepi. Rendering dan hit test detail tepi diserahkan ke tampilan jam. Hit test tidak didukung dari dalam editor. (Ia6604)
  • Untuk DoubleRangeUserStyleSetting & LongRangeUserStyleSetting: defaultValue, maximumValue, dan minimumValue sekarang menjadi properti kotlin. Selain itu, fungsi UserStyleSetting.Option seperti toBooleanOption, toCoplicationOptions, toListOption, dan sejenisnya telah dihapus. (I52899)
  • Menambahkan ukuran chin ke properti perangkat yang tersedia untuk tampilan jam. (I76e1e)
  • Konstruktor ComplicationHighlightRenderer sekarang menerima parameter outlineExpansion dan outlineStrokeWidth. (I87009)
  • ComplicationDrawable.getNoDataText sekarang menjadi bagian dari API publik. (I00598)

Versi 1.0.0-alpha11

7 April 2021

androidx.wear:wear-*:1.0.0-alpha11 dirilis. Versi 1.0.0-alpha11 berisi commit berikut ini.

Fitur Baru

  • Menerapkan lebih banyak penyempurnaan pada API tampilan jam. Sebagian besar perubahan adalah penggantian nama sederhana, tetapi InteractiveWatchFaceWcsClient dan InteractiveWatchFaceSysUiClient digabungkan menjadi InteractiveWatchFaceClient.

Perubahan API

  • ContentDescriptionLabel.text kini menjadi ComplicationText, bukan Wearable Support Library lama, TimeDependentText. (I80c03)
  • SystemProviders.GOOGLE_PAY tidak dijamin akan ada di semua perangkat Android R, sehingga telah dihapus dari daftar. Penyedia ini masih mungkin digunakan melalui DefaultComplicationProviderPolicy (If01b5)
  • Kami mengganti nama ComplicationUpdateCallback menjadi ComplicationUpdateListener agar konsisten. (I61ec7)
  • Peta format kawat UserStyle telah diubah menjadi Map<String, byte[]> dan untuk memudahkan, class UserStyleData telah ditambahkan ke API publik dan kini digunakan oleh wear-watchface-client dan wear-watchface-editor. Selain itu, CustomValueUserStyleSetting.CustomValueOption.value kini menjadi byte[], bukan String. (Iaa103)
  • UserStyleSetting dan UserStyleSetting.Option kini masing-masing menggunakan UserStyleSetting.Id dan UserStyleSetting.Option.Id untuk menyimpan ID, bukan String. (I63f72)
  • InteractiveWatchFaceClient.SystemState diganti namanya menjadi WatchUiState. (I6a4e0)
  • InteractiveWatchFaceWcsClient dan InteractiveWatchFaceSysUiClient digabungkan karena sulit menjelaskan pembagian tanggung jawab (Iff3fa)
  • Nilai enum lapisan diganti namanya agar jelas. Layer#TOP_LAYER kini menjadi Layer#COMPLICATIONS_OVERLAY dan Layer#BASE_LAYER kini menjadi Layer#BASE (Ia144e)
  • UserStyleListener diganti namanya menjadi UserStyleChangeListener (I18524)
  • UserStyleRepository diganti namanya menjadi CurrentUserStyleRepository (I6ea53)
  • InteractiveWatchFaceWcsClient.updateInstance diganti namanya menjadi updateWatchfaceInstance. (I321dc)
  • Peristiwa WatchFace TapType diganti namanya agar selaras dengan MotionEvents/Compose. (I0dfd0)
  • takeWatchfaceScreenshot diganti namanya menjadi renderWatchFaceToBitmap, takeComplicationScreenshot diganti namanya menjadi renderComplicationToBitmap (Ie0697)
  • Antarmuka CanvasComplication dihapus dan digantikan oleh class CanvasComplicationDrawable terbuka. (I1f81f)
  • WatcfaceControlServiceFactory telah dihapus dari API publik. (I1f8d3)
  • Kami telah mengganti nama CanvasComplication.setData menjadi CanvasComplication.loadData. (If1239)
  • ComplicationsManager.bringAttentionToComplication diganti namanya menjadi displayPressedAnimation. (Ic4297)
  • WatchFaceService.createWatchFace kini memiliki anotasi @UiThread. (Ib54c2)
  • Mengubah nama parameter CanvasComplicationDrawable untuk memperbaiki bug. (I50dac)
  • Kami telah menambahkan HeadlessWatchFaceClient.toBundle() dan HeadlessWatchFaceClient.createFromBundle untuk mendukung pengiriman HeadlessWatchFaceClient melalui AIDL. (I07c35)
  • HeadlessWatchFaceClient dan InteractiveWatchFaceClient kini memiliki ClientDisconnectListener dan isConnectionAlive() untuk memungkinkan Anda mengamati apakah koneksi terputus karena alasan tertentu (misalnya, tampilan jam dinonaktifkan). (Ie446d)
  • WatchFaceControlClient#getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync kini menjadi fungsi penangguhan dan diganti namanya menjadi getOrCreateInteractiveWatchFaceClient. (Ib745d)
  • EditorState.commitChanges dan hasCommitChanges() diganti namanya menjadi shouldCommitChanges(). (I06e04)
  • previewComplicationData diganti namanya menjadi previewComplicationsData untuk menunjukkan (biasanya) ada lebih dari satu detail di peta. (I56c06)
  • InteractiveWatchFaceWcsClient.bringAttentionToComplication diganti namanya menjadi displayPressedAnimation agar konsisten dengan ComplicationsManager.displayPressedAnimation. (Ic9999)
  • Semua instance ID instance tampilan jam telah dienkapsulasi dalam class WatchFaceId baru (I45fdf)
  • Properti complicationState diganti namanya menjadi complicationsState untuk menunjukkan bentuk jamak. (Ided07)
  • Kami telah menghapus berbagai konversi Binder wear-watchface-client, yang tidak akan dibutuhkan. (Icc4c0)
  • Agar konsisten, EditorServiceClient telah difaktorkan ulang untuk menggunakan pemroses, bukan pengamat. (Iec3a4)
  • Kami telah menambahkan beberapa anotasi @Px yang tidak ada ke InteractiveWatchFaceSysUiClient dan WatchFaceControlClient. (I3277a)
  • Mengganti nama EditorObserverCallback menjadi EditorObserverListener agar konsisten. (Ie572d)
  • EditorState.watchFaceInstanceId dibatasi untuk API level Android R dan yang lebih baru dan tidak lagi nullable. (Id52bb)
  • EditorSession.launchComplicationProviderChooser diganti namanya menjadi openComplicationProviderChooser. (I9d441)
  • EditorSession.createOnWatchEditingSessionAsync diganti namanya menjadi createOnWatchEditingSession dan kini menjadi fungsi penangguhan. (Id257b)
  • Menambahkan beberapa anotasi @UiThread yang tidak ada pada EditorSession. (I6935c)
  • UserStyleSetting.affectsLayers diganti namanya menjadi affectedLayers. (I6e22b)

Versi 1.0.0-alpha10

24 Maret 2021

androidx.wear:wear-*:1.0.0-alpha10 dirilis. Versi 1.0.0-alpha10 berisi commit berikut.

Fitur Baru

  • Sekarang Anda dapat membuat objek gl terbuka (mis. tekstur) selama WatchFaceService.createWatchFace karena GlesRenderer sekarang memerlukan panggilan eksplisit ke iniOpenGLContext yang dapat dilakukan di dalam createWatchFace.

Perubahan API

  • IdAndComplicationData agak janggal dan telah dihapus dari API publik. Class & antarmuka yang menggunakannya telah difaktorkan ulang. (I4c928)
  • Kami telah mengganti ReferenceTime dengan CountUpTimeReference dan CountDownTimeReference yang lebih jelas. (Ib66c6)
  • Menambahkan beberapa anotasi @Px dan @ColorInt yang hilang. (I9bbc3)
  • Complication.complicationConfigExtras kini tidak dapat non-nullable dan default menjadi Bundle.EMPTY. (Iad04f)
  • GlesRenderer kini mengharuskan Anda memanggil initOpenGLContext setelah selesai dibuat. Fungsi ini merupakan detail internal, tetapi sekarang berada di API publik untuk mengizinkan panggilan GL sebelumnya di dalam createWatchFace. (I726c2)
  • Kami telah menghapus Complication.setRenderer karena seharusnya tidak diperlukan. (Ie992f)
  • Complicaiton.setComplicationBounds tidak lagi menjadi bagian dari API publik. Jika Anda perlu menyesuaikan posisi detail, hal ini dapat dilakukan melalui ComplicationsUserStyleSetting. (Ibd9e5)
  • ComplicationsManager.TapCallback.onComplicationSingleTapped diganti namanya menjadi onComplicationTapped. (I3a55c)
  • ComplicationOutlineRenderer.drawComplicationSelectOutline diganti namanya menjadi drawComplicationOutline. (I14b88)

Versi 1.0.0-alpha09

10 Maret 2021

androidx.wear:wear-complications-*:1.0.0-alpha09 dan androidx.wear:wear-watchface-*:1.0.0-alpha09 dirilis. Versi 1.0.0-alpha09 berisi commit berikut ini.

Fitur Baru

  • Antarmuka antara host WCS/SysUI dan di WCS/SysUI telah berkembang. Sekarang editor dapat menentukan apakah perubahan gaya akan mengaktifkan atau menonaktifkan detail (aktif = initiallyEnabled ditambah penggantian apa pun dari ComplicationsUserStyleSetting). Selain itu, EditorService.closeEditor memungkinkan SysUI menutup editor tampilan jam dari jarak jauh jika perlu.
  • Selain itu, InteractiveWatchFaceWcsClient.setUserStyle dengan perintah yang lebih canggih updateInstance yang: mengubah ID instance, menyetel gaya, dan menghapus semua detail sekaligus.

Perubahan API

  • TraceEvents telah ditambahkan ke library tampilan jam. (I1a141)
  • ComplicationState sekarang memiliki properti baru initiallyEnabled yang berguna untuk memprediksi konsekuensi penggantian gaya. (I8c905)
  • Kami telah mengganti InteractiveWatchFaceWcsClient.setUserStyle dengan perintah yang lebih canggih updateInstance yang: mengubah ID instance, menyetel gaya, dan menghapus detail. (Ife6f6)
  • API screenshot WatchFaceClient tidak lagi mengompresi screenshot karena proses tersebut berjalan lambat, kami menyerahkan pascapemrosesan ke pemanggil. (Id35af)
  • Anda dapat menutup editor tampilan jam melalui EditorService.closeEditor dari jarak jauh. (Ic5aa4)
  • Menambahkan anotasi nullability (Ic16ed)

Versi 1.0.0-alpha08

24 Februari 2021

androidx.wear:wear-*:1.0.0-alpha08 dirilis. Versi 1.0.0-alpha08 berisi commit berikut ini.

Fitur Baru

  • Beberapa tampilan jam didesain dengan sekitar satu atau beberapa detail tertentu. Untuk mendukung hal ini, kami telah menambahkan Complication.Builder#setFixedComplicationProvider yang jika disetel ke benar (true) akan mencegah pengguna mengubah detail dalam slot tersebut.
  • Library tampilan jam mengutamakan Kotlin dan menggunakan coroutine (mis. fungsi penangguhan). Untuk pengguna Java, kami telah menyediakan wrapper ListenableFuture untuk meningkatkan interoperabilitas di library berikut: wear/wear-watchface-guava, wear/wear-watchface-client-guava & wear/wear-watchface-editor-guava.

Perubahan API

  • Kami telah menghapus dukungan untuk ketuk dua kali pada detail yang meluncurkan pemilih penyedia. Fitur ini tidak umum dalam tampilan jam dan mempersulit implementasi SysUI. (I3ef24)
  • Metode ProviderInfoRetriame dapat melempar ServiceDisconnectedException jika binder tiba-tiba tertutup. (Ib2cc4)
  • Dari Android 11 dan seterusnya, ada batasan kapan ProviderChooser dapat dijalankan. Selain itu, kami berharap editor dibuat dengan wear-watchface-editor baru sehingga ComplicationHelperActivity dihapus dari API publik. (Ib19c1)
  • Menghapus metode statis ComplicationText yang mendukung builder. (Ibe399)
  • Kami telah memperkenalkan wrapper ListenableFuture guava untuk berbagai metode penangguhan library tampilan jam. (I16b2c)
  • Untuk kejelasan API, kami telah menambahkan konstruktor sekunder ke RenderParameters yang tidak memerlukan tint, untuk digunakan dengan LayerModes selain LayerMode.DRAW_OUTLINED. (I497ea)
  • ListUserStyleSetting sebelumnya berbeda dari yang lain karena memiliki argumen default. Semua konstruktor subclass StyleSetting sekarang mengambil nilai default di akhir. (I9dbfd)
  • CanvasComplication telah difaktorkan ulang untuk menggunakan metode tersembunyi, yang mempermudah implementasi subclass (I5b321)
  • Kami telah memfaktorkan ulang EditorResult yang diganti dengan EditorService baru dan EditorSession.broadcastState() untuk melakukan streaming pembaruan pada pengamat (biasanya SysUI). (Ic4370)
  • Beberapa tampilan jam dibuat dengan detail tertentu sebagai bagian tak terpisahkan dari tampilan jam ketika penyedia tidak dapat dikonfigurasi pengguna. Untuk mendukung hal ini, kami telah menambahkan Complication.Builder#setFixedComplicationProvider. (I4509e)
  • EditorRequest kini menentukan nama paket, bukan ComponentName, karena SysUI kesulitan mencari nama class editor, dan kami hanya memerlukan nama paket. (Ib6814)

Versi 1.0.0-alpha07

10 Februari 2021

androidx.wear:wear-*:1.0.0-alpha07 dirilis. Versi 1.0.0-alpha07 berisi commit berikut.

Fitur Baru

  • WatchFaceService.createWatchFace sekarang menjadi fungsi penangguhan, yang berarti tampilan jam tidak lagi harus memblokir UI thread selagi menunggu IO. Demikian pula dengan wear-watchface-editor dan wear-complications-data

Perubahan API

  • Menghapus class PhotoImage dan menggunakan Ikon secara langsung. (I8a70b)
  • Mengekspos validTimeRange dari ComplicationData. (I91366)
  • Membuat atribut seperti gambar menjadi lebih eksplisit. (I81700)
  • wear-watchface-editor dan wear-complications-data telah difaktorkan ulang untuk menggunakan fungsi penangguhan, bukan coroutine. Rx Java & Wrapper kompatibilitas di masa mendatang yang akan diikuti. (If3c5f)
  • ProviderInfoRetriever sekarang menampilkan PreviewNotAvailableException jika requestPreviewComplicationData tidak dapat menampilkan data pratinjau karena masalah koneksi atau kurangnya dukungan API. (I4964d)
  • WatchFaceControlService::createWatchFaceControlClient sekarang menjadi fungsi yang ditangguhkan dan getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient sekarang disebut getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync yang menampilkan Deferred<InteractiveWatchFaceWcsClient>. RX Java dan Wrapper kompatibilitas di masa mendatang yang akan diikuti. (I5d461)
  • Mengganti nama CATEGORY_PROVIDER_CONFIG_ACTION menjadi CATEGORY_PROVIDER_CONFIG. (I7c068)
  • Perhatikan bahwa createOnWatchEditingSession sekarang menjadi fungsi yang ditangguhkan karena tampilan jam terkadang tidak tersedia hingga beberapa saat setelah aktivitas editor dimulai. (Ida9aa)
  • WatchFaceService.createWatchFace sekarang menjadi fungsi penangguhan yang memungkinkan inisialisasi asinkron, sebelumnya Anda harus memblokir thread utama. (If076a)
  • UserStyle sekarang memiliki operator array dan kami telah menambahkan helper transmisi untuk UserStyle.Option. (I35036)
  • Kami telah memperbaiki bug marshaling dengan wireformat UserStyle yang mengubah beberapa API tersembunyi yang tidak stabil. (I8be09)
  • Kami telah menambahkan CustomValueUserStyleSetting yang memungkinkan Anda menyimpan string khusus aplikasi tunggal dalam UserStyle. Editor tampilan jam default akan mengabaikan nilai ini. (Ic04d2)
  • InstanceID tidak diteruskan dalam intent tambahan untuk Android WearOS versi R dan versi lama yang tidak dapat diupgrade. Untuk mendukung hal ini, sekarang kami mengizinkan InstanceID menjadi null. (Id8b78)
  • EditorRequest sekarang menyertakan editor ComponentName yang ditetapkan sebagai komponen di WatchFaceEditorContract.createIntent (I3cd06)
  • Tampilan jam EditorResult sekarang menyertakan pratinjau ComplicationData untuk memungkinkan pemanggil mengambil screenshot tampilan jam setelah diedit. (I2c561)

Perbaikan Bug

  • Menambahkan penggantian toString() ke UserStyle, UserStyleSetting, dan UserStyleSchema yang membuat penggunaan class ini menjadi sedikit lebih baik. (I9f5ec)

Versi 1.0.0-alpha06

27 Januari 2021

androidx.wear:wear-*:1.0.0-alpha06 dirilis. Versi 1.0.0-alpha06 berisi commit berikut.

Fitur Baru

  • Kami telah memperkenalkan library wear/wear-watchface-editor baru yang memungkinkan developer tampilan jam dan calon OEM membuat editor gaya dan detail. SysUI akan mengirimkan Intent ke tampilan jam yang akan menggunakan class EditorSession yang baru untuk mengakses detail WatchFace dan mencatat hasilnya melalui Activity.setWatchRequestResult. Untuk mendukung ini, kami telah menambahkan ProviderInfoRetriever.requestPreviewComplicationData yang memungkinkan editor tampilan jam meminta pratinjau ComplicationData. Manfaat pratinjau ComplicationData tidak seperti data live, Anda tidak perlu khawatir untuk menunjukkan dialog izin saat melakukan rendering editor (catatan: jika pengguna memilih penyedia dengan izin, mereka akan tetap diminta untuk memberikan izin tersebut).

Perubahan API

  • ComplicationProviderInfo sekarang memiliki kolom untuk ComponentName penyedia, dukungan untuk kolom ini akan ditambahkan ke WearOS di masa mendatang dan untuk sementara waktu akan berupa null. (Id8fc4)
  • Kami telah menambahkan ProviderInfoRetriever.requestPreviewComplicationData yang memungkinkan editor tampilan jam meminta pratinjau ComplicationData. Hal ini berguna karena detail live mungkin memerlukan izin dan Anda sekarang dapat menampilkan data pratinjau untuk detail yang tidak aktif. (I2e1df)
  • ComplicationManager sekarang menjadi parameter opsional konstruktor WatchFace dan argumennya telah diurutkan ulang untuk memungkinkan hal ini. (I66c76)
  • Kami telah menambahkan Paket opsional ke Complications yang jika disetel akan bergabung dengan intent yang dikirimkan untuk meluncurkan aktivitas pemilih penyedia. (Ifd4ad)
  • Kami telah menambahkan library wear-watchface-editor baru untuk didukung pada editor yang dihosting oleh SysUI atau tampilan jam. SysUI akan meluncurkan editor ini dengan mengirimkan intent. Layanan aktivitas tampilan jam dapat menggunakan class EditorSession baru untuk mengakses detail WatchFace dan mencatat hasilnya melalui Activity.setWatchRequestResult. (I2110d)
  • LayerMode.DRAW_HIGHLIGHTED sekarang disebut LayerMode.DRAW_OUTLINED dan RenderParameters.highlightComplicationId sekarang disebut RenderParameters.selectedComplicationId yang memperjelas detail tertentu selain garis besar. (I90a40)
  • WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient di masa mendatang kini dapat di-resolve dengan ServiceStartFailureException jika layanan mati saat menunggu tampilan jam dibuat. (I0f509)
  • EditorSession.complicationPreviewData sekarang menjadi ListenableFuture karena pengambilan data ini adalah proses yang asinkron. (Iead9d)

Perbaikan Bug

  • Kami menghapus kolom yang tidak digunakan dari ComplicationOverlay yang dibiarkan aktif dan complicationBounds. (I17b71)

Versi 1.0.0-alpha05

13 Januari 2021

androidx.wear:wear-*:1.0.0-alpha05 dirilis. Versi 1.0.0-alpha05 berisi commit berikut.

Fitur Baru

Tampilan jam sering kali mendukung sejumlah konfigurasi detail dengan berbagai detail yang ditampilkan. Untuk memudahkan penyiapan ini, kini kami mendukung detail yang awalnya dinonaktifkan dengan memanggil setEnabled(false) pada builder. Detail dapat diaktifkan nanti melalui ComplicationsUserStyleSetting.

Perubahan API

  • ComplicationHelperActivity kini menerima Collection<ComplicationType> daripada array int sehingga lebih mudah digunakan. (I1f13d)
  • ProviderInfoRetriever.retrieveProviderInfo sekarang menampilkan ListenableFuture<ProviderInfo[]> dengan benar. (If2710)
  • Anda kini dapat membuat detail yang awalnya dinonaktifkan dengan memanggil setEnabled(false) pada builder. (Idaa53)
  • WatchFaceState sekarang memiliki properti isHeadless yang hanya berlaku untuk instance headless. (Ifa900)
  • ComplicationDrawable sekarang mendukung pemuatan sinkron drawable secara opsional. Ini digunakan oleh API screenshot. (I34d4a)

Versi 1.0.0-alpha04

16 Desember 2020

androidx.wear:wear-*:1.0.0-alpha04 dirilis. Versi 1.0.0-alpha04 berisi commit berikut ini.

Fitur Baru

  • Library tampilan jam wer sekarang mendukung setelan batas per jenis. Misalnya, Anda dapat beralih ke kotak pembatas lebar untuk ComplicationType.LONG_TEXT, sedangkan kotak pembatas yang lebih kecil digunakan untuk jenis lain.

Perubahan API

  • Detail sekarang menggunakan ComplicationBounds yang menggabungkan Map<ComplicationType, RectF> untuk mendukung per ukuran jenis detail. (I1ebe7)
  • RenderParameter kini memungkinkan Anda menentukan tint sorotan untuk digunakan dalam screenshot. (Iff42b)
  • Dengan pengecualian batas, kini Anda harus menggunakan ComplicationsUserStyleSetting untuk memodifikasi detail, hal ini untuk memastikan OS tetap sinkron. (I8dc5d)
  • Renderer sekarang menjadi class tertutup. Ini berarti CanvasRenderer dan GlesRenderer sekarang menjadi class dalam Renderer. (Iab5d4, b/173803230)
  • CanvasComplicationDrawable.drawHighlight diganti namanya menjadi drawOutline. ObserverWatchData kini memiliki beberapa anotasi UiThread yang hilang. ScreenState sekarang dihapus sepenuhnya dari WatchState. (If1393)
  • API level minimum untuk wear-watchface sekarang adalah 25. Perhatikan bahwa dukungan kanvas hardware memerlukan API level 26 atau yang lebih tinggi. (Ic9bbd)
  • InteractiveWatchFaceWcsClient kini memiliki helper getComplicationIdAt. (I05811)
  • API level untuk wear-watchface-client telah dikurangi menjadi 25, namun API screenshot memerlukan API level 27. (Id31c2)

Perbaikan Bug

  • Kita sekarang mengekspos ComplicationType dari ComplicationData detail saat ini di ComplicationState. (I9b390)
  • InteractiveWatchFaceWcs kini memiliki metode `bringAttentionToComplication untuk menandai secara singkat detail yang ditentukan. (I6d31c)
  • InteractiveWatchFaceWcsClient#setUserStyle sekarang memiliki kelebihan beban dalam menerima Map <string, string=""> yang berpotensi dapat menghindari perjalanan pulang pergi IPC tambahan yang diperlukan untuk membuat UserStyle. (I24eec)</string,>

Versi 1.0.0-alpha03

2 Desember 2020

androidx.wear:wear-*:1.0.0-alpha03 dirilis. Versi 1.0.0-alpha03 berisi commit berikut ini.

Fitur Baru

Class Complication sekarang memiliki properti complicationData yang memungkinkan tampilan jam mengamati perubahan ComplicationData. Hal ini memungkinkan untuk mengubah dimensi detail berdasarkan jenis detail.

Kecepatan frame variabel sekarang didukung dengan menetapkan ke Renderer.interactiveDrawModeUpdateDelayMillis. Untuk tampilan jam yang menjalankan animasi pendek setiap detik, hal ini bisa menyebabkan penghematan daya yang baik dengan beralih ke mode tidur ketika tidak menganimasikan.

Perubahan API

  • BACKGROUND_IMAGE telah diganti namanya menjadi PHOTO_IMAGE bersama dengan class terkait. Tipe detail ini tidak digunakan secara eksklusif untuk latar belakang, karena itu namanya diganti. (I995c6)
  • DefaultComplicationProviderPolicy dianotasi dengan benar menggunakan IntDefs. (I3b431)
  • Class TimeDependentText tersembunyi tidak lagi ditampilkan melalui ContentDescriptionLabel, sebagai gantinya kami menambahkan pengakses untuk mendapatkan teks pada waktu yang ditentukan. (Ica692)
  • Konstruktor ObservableWatchData sekarang menjadi internal. (I30121, b/173802666)
  • Complication sekarang memiliki complicationData yang memungkinkan tampilan jam mengamati perubahan ComplicationData. Complication juga memiliki panggilan isActiveAt baru yang dapat digunakan untuk mengetahui apakah ada yang harus dirender pada tanggal waktu yang disediakan. (Ic0e2a)
  • SharedMemoryImage yang kosong sudah tidak ada lagi di API publik. (I7ee17)
  • WatchFace.overridePreviewReferenceTimeMillis kini memiliki anotasi IntRange dan pengambil dan penyetel memiliki nama yang konsisten. (Ia5f78)
  • Complication.Builder sekarang dibuat melalui Complication.createRoundRectComplicationBuilder atau Complication.createBackgroundComplicationBuilder agar lebih jelas (I54063)
  • Menambahkan WatchFace.TapListener yang memungkinkan ketuk yang tidak digunakan oleh detail dapat dilihat oleh WatchFace. (Ic2fe1, b/172721168)
  • WatchFace sekarang mendukung kecepatan frame variabel dengan menetapkan ke Renderer.interactiveDrawModeUpdateDelayMillis. Hal ini dapat membantu menghemat masa pakai baterai dengan tidur saat tidak menganimasi. (I707c9)
  • WatchFace.Builder tidak lagi diperlukan dan invalidate() dan interactiveUpdateRateMillis telah dipindahkan ke Renderer. (I329ea)
  • Untuk interoperabilitas Java yang lebih baik, pengambil diganti namanya untuk properti boolean di WatchState (I6d2f1)
  • Mengganti nama TapListener menjadi TapCallback dan InvalidateCallback menjadi InvalidateListener untuk konsistensi. (I9414e)
  • Opsi gaya tampilan jam Wear 2.0 telah dipindahkan ke class-nya sendiri untuk kejelasan. Penyetel WatchFace.Builder sekarang memiliki pengambil class WatchFace simetris. (Iefdfc)
  • Menambahkan InteractiveWatchFaceWcsClient dan WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient yang mendapatkan instance yang ada atau membuatnya setelah layanan wallpaper tersambung dan membuat mesin. (Id666e)
  • WatchFaceControlClient sekarang menjadi antarmuka untuk memungkinkan pengujian memalsukannya. (I875d9)
  • HeadlessWatchFaceClient, InteractiveWatchFaceSysUiClientImpl, InteractiveWatchFaceWcsClient sekarang menjadi antarmuka untuk memudahkan pengujian. (I7cdc3)
  • Menambahkan anotasi ke metode di wear-watchface-complications-rendering (I0d65c)

Perbaikan Bug

  • Menghapus bentuk layar dari DeviceConfig, yang menduplikasi android.content.res.Configuration#isScreenRound() (Ifadf4)
  • Mengubah WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient untuk menerima Map<String, String>, bukan UserStyle, karena sulit membuat UserStyle tanpa mengetahui skema yang hanya bisa Anda dapatkan setelah klien dibuat. (Iea02a)
  • Memperbaiki InteractiveWatchFaceWcsClient untuk menggunakan ComplicationState, bukan format berkabel. (Icb8a4)
  • UserStyleSettings kini menjadi class tertutup karena editor tampilan jam hanya memahami class bawaan. (I2d797)

Versi 1.0.0-alpha02

11 November 2020

androidx.wear:wear-*:1.0.0-alpha02 dirilis. Versi 1.0.0-alpha02 berisi commit berikut ini.

Perubahan API

  • ComplicationDetails kini disebut ComplicationState dan digabungkan dengan benar serta penggunaan dukungan wearable @ComplicationData.ComplicationType telah dimigrasikan ke ComplicationType androidx. (I4dd36)
  • Menambahkan parameter highlightedComplicationId opsional ke RenderParameters yang memungkinkan Anda meminta penyorotan satu detail dalam screenshot. (I66ce9)
  • ComplicationProviderService untuk menggunakan API detail gaya baru agar konsisten (Id5aea)
  • getPreviewReferenceTimeMillis kini mendapatkan waktu referensi dari DeviceConfig. (I779fe)
  • Menyederhanakan platform Renderer API, dapat menggunakan SurfaceHolder.Callback untuk mengamati perubahan sebagai gantinya. (I210db)
  • CanvasComplicationRenderer tidak diperpanjang dari Renderer, dan namanya diganti agar lebih jelas. (Ibe880)

Perbaikan Bug

  • Versi pertama androidx.wear:wear-watchface-client (I1e35e)
  • Mengubah nama GlesTextureComplication#renderer agar lebih jelas (Ib78f7)
  • Mengganti nama StyleCategory menjadi StyleSetting agar lebih jelas (I488c7)
  • Menambahkan UserStyleSchema agar API lebih rapi (If36f8)

Versi 1.0.0-alpha01

28 Oktober 2020

androidx.wear:wear-complications-*:1.0.0-alpha01 dan androidx.wear:wear-watchface-*:1.0.0-alpha01 dirilis. Versi 1.0.0-alpha01 berisi commit berikut ini.

Perubahan API

  • Menghapus beberapa hal yang tidak ingin kami tampilkan di API publik. (I41669)
  • Membuat library androidx.wear:wear-complications-provider. (I77f1f)
  • ComplicationsUserStyleCategory adalah kategori baru yang direkomendasikan untuk mengonfigurasi detail (I96909)
  • Menambahkan wear-complication-data API. (I7c268)
  • Fungsi dengan nilai pengembalian boolean akan diawali dengan "is", bukan "get" (If36ff)
  • Saran API adalah untuk menghindari penggunaan dilindungi sehingga class ini telah difaktorkan ulang untuk mengambil parameter melalui konstruktor. (I61644)
  • Mengganti nama setBackgroundComplication agar jelas. (I96fe3)
  • Menggunakan properti Kotlin untuk ComplicationDrawable isHighlighted & data (I4dcc8)
  • Sebagai ganti ComplicationRenderer.InvalidateCallback, kami menambahkan Complication#invalidate() (I4f4c6)
  • API ini tidak digunakan lagi di WearableSupport dan dihapus di sini. (Ib425c)
  • Mengganti nama beberapa metode builder WatchFace untuk menekankan sifat lama Wear 2.0. (Idb775)
  • Kandidat API beta pertama untuk wear/wear-watchface (Id3981)
  • Versi API pertama yang dipantau. (Ie9fe6)
  • Menyembunyikan ComplicationDrawable.BorderStyle IntDef dengan benar dan memindahkan ke ComplicationStyle agar konsisten. (I27f7a)
  • Menambahkan anotasi yang tidak ada untuk metode ComplicationStyle (I838fd)
  • Library ini tidak memiliki platform API publik (I88e2b)
  • Semua class Opsi kategori gaya kini sudah final dengan benar. (Ib8323)
  • Versi API pertama yang dipantau. (I27c85)

Perbaikan Bug

  • Mengubah ComplicationProviderService agar memiliki metode getComplicationPreviewData eksplisit. (I4905f)
  • Pemeriksaan lint API untuk MissingGetterMatchingBuilder diaktifkan untuk androidx (I4bbea, b/138602561)
  • Mengganti nama wear-complications-rendering. (Ifea02)
  • Nama tampilan kategori gaya kini adalah CharSequences (I28990)
  • Mengganti Override dengan Overlay untuk mencocokkan konvensi penamaan tema & gaya saat ini. (I4fde9)
  • Mengganti nama UserStyle#getOptions agar jelas. (I695b6)

Versi 1.2.0

Versi 1.2.0-rc01

1 September 2021

androidx.wear:wear:1.2.0-rc01 dirilis tanpa perubahan sejak versi beta terakhir. Versi 1.2.0-rc01 berisi commit berikut ini.

Versi 1.2.0-beta01

18 Agustus 2021

androidx.wear:wear:1.2.0-beta01 dirilis. Versi 1.2.0-beta01 berisi commit berikut ini.

Perbaikan Bug

  • Memperbaiki bug yang menyebabkan ConfirmationActivity menjadi error jika tidak ada pesan yang diberikan. (Ie6055)

Versi 1.2.0-alpha13

4 Agustus 2021

androidx.wear:wear:1.2.0-alpha13 dirilis. Versi 1.2.0-alpha13 berisi commit berikut ini.

Perubahan API

  • Mengganti nama WearTypeHelper.isChinaDevice menjadi WearTypeHelper.isChinaBuild. (I47302)

Perbaikan Bug

  • Kami telah menambahkan fitur aksesibilitas ke androidx.wear.widget.ConfirmationOverlay yang akan membacakan pesan jika disetel dan diikuti dengan deskripsi animasi. (I524dd)

Versi 1.2.0-alpha12

21 Juli 2021

androidx.wear:wear:1.2.0-alpha12 dirilis. Versi 1.2.0-alpha12 berisi commit berikut ini.

Perubahan API

  • Kami telah menambahkan API WearTypeHelper baru di androidx.wear.utils untuk menentukan apakah perangkat Wear yang diberikan adalah untuk China. (Ib01a9)

Versi 1.2.0-alpha11

30 Juni 2021

androidx.wear:wear:1.2.0-alpha11 dirilis. Versi 1.2.0-alpha11 berisi commit berikut ini.

Perbaikan Bug

  • Memperbaiki bug saat men-scroll RecyclerView secara horizontal menyebabkan WearableDrawerLayout melihat sekilas semua interaksi. (I24c7f)

Versi 1.2.0-alpha10

2 Juni 2021

androidx.wear:wear:1.2.0-alpha10 dirilis. Versi 1.2.0-alpha10 berisi commit berikut.

Fitur Baru

  • Alpha10 meningkatkan dukungan aksesibilitas di Curved Text dan ArcLayout. Hal ini juga menambahkan beberapa penggantian nama kecil di DismissibleFrameLayout untuk membantu memperjelas API.

Perubahan API

  • Kami telah mengganti nama metode berikut di DismissibleFrameLayout (Ib195e):
    • Callback#onDismissed -> Callback#onDismissedFinished
    • isSwipeDismissible -> isDismissableBySwipe
    • isBackButtonDismissible -> isDismissableByBackButton
  • Kami telah membuat metode berikut sebagai versi final (Ib195e):
    • setBackButtonDismissible
    • setSwipeDismissible
    • registerCallback
    • unregisterCallback

Perbaikan Bug

  • Menggunakan konten CurvedTextView pada Talkback. (I05798)
  • Aksesibilitas yang lebih baik untuk tampilan normal di ArcLayout. (I4418d)

Versi 1.2.0-alpha09

18 Mei 2021

androidx.wear:wear:1.2.0-alpha09 dirilis. Versi 1.2.0-alpha09 berisi commit berikut ini.

Perubahan API

  • Menambahkan fungsi baru CurvedTextView.setTypeface() (mirip dengan TextView), untuk menetapkan jenis font teks dan gaya tebal/miring. (I4653c)
  • Mengganti nama WearArcLayout menjadi ArcLayout, WearCurvedText menjadi CurvedText, dan WearArcLayout.ArcLayoutWidget menjadi ArcLayout.Widget. (I6e5ce)
    • Pada ArcLayout.Widget, mengganti nama getThicknessPx menjadi getThickness.
    • Konstanta perataan vertikal di ArcLayout.LayoutParams sekarang diberi nama yang dimulai dengan VERTICAL_ALIGN_ (sebelumnya VALIGN_)
  • Pada CurvedTextView, metode setMinSweepDegrees dan setMaxSweepDegrees diganti dengan setSweepRangeDegrees (I7a9d9)

Versi 1.2.0-alpha08

5 Mei 2021

androidx.wear:wear:1.2.0-alpha08 dirilis. Versi 1.2.0-alpha08 berisi commit berikut ini.

Perubahan API

  • Untuk meningkatkan kejelasan kode, kami menambahkan anotasi @FloatRange ke beberapa parameter sudut dan jenis nilai yang ditampilkan. (I430dd)
  • Pada antarmuka WearArcLayout.ArcLayoutWidget, metode insideClickArea sekarang disebut isPointInsideClickArea. (Ia7307)

Versi 1.2.0-alpha07

24 Maret 2021

androidx.wear:wear:1.2.0-alpha07 dirilis. Versi 1.2.0-alpha07 berisi commit berikut ini.

Perbaikan Bug

  • Memperbaiki error pada turunan non-curved di dalam WearArcLayout yang disebabkan oleh penggunaan ukuran layar dengan tinggi lebih besar dari lebar. Turunan non-curved ini sekarang ditempatkan dengan benar di dalam lengkungan di semua jenis layar.

Versi 1.2.0-alpha06

27 Januari 2021

androidx.wear:wear:1.2.0-alpha06 dirilis. Versi 1.2.0-alpha06 berisi commit berikut ini.

Perubahan API

  • Memigrasikan library Ongoing Activities ke sub-library baru: wear-ongoing. Class sekarang berada di paket androidx.wear.ongoing (sebelumnya androidx.wear.ongoingactivities) (I7c029)
  • Memigrasikan class WearableCalendarContract dari Wearable Support Library ke AndroidX. API ini memberikan sebuah subset data yang tersedia melalui CalendarContract, tetapi disinkronkan otomatis ke perangkat wearable. (I6f2d7)

Perbaikan Bug

  • Menonaktifkan fitur tutup tombol kembali secara default di FrameLayout yang Dapat Ditutup karena geser-untuk-tutup tetap menjadi cara utama untuk membuka kembali layar penuh pada perangkat Wearable (Ic24e3)
  • Memperbaiki beberapa masalah dalam menangani visibilitas anak pada WearArcLayout (Icf912)

Versi 1.2.0-alpha05

13 Januari 2021

androidx.wear:wear:1.2.0-alpha05 dirilis. Versi 1.2.0-alpha05 berisi commit berikut ini.

Perbaikan Bug

  • Mengupdate javadoc class AmbientModeSupport untuk menyediakan cuplikan contoh guna menunjukkan penggunaan umum class ini dengan lebih baik.

Versi 1.2.0-alpha04

16 Desember 2020

androidx.wear:wear:1.2.0-alpha04 dirilis. Versi 1.2.0-alpha04 berisi commit berikut ini.

Perubahan API

  • Penambahan dukungan untuk menunjukkan bahwa Aktivitas dapat "dilanjutkan otomatis" saat perangkat keluar dari mode standby di class AmbientModeSupport. Fungsionalitas ini sebelumnya tersedia di class WearableActivity dari WearableSupportLibrary yang tidak digunakan lagi. (I336ab)
  • OngoingActivity
    • Kategori sekarang dapat disetel saat membuat OngoingActivity, misalnya OngoingActivitiy.Builder.getCategory(String)
    • OngoingActivityData kini memiliki stempel waktu saat OngoingActivity dibuat - OngoingActivityData.getTimestamp()
    • (I91cb4)
  • Penambahan dukungan untuk menetapkan margin pada turunan WearArcLayout dengan mengubah parameter tata letak untuk memperluas MarginLayoutParams, yaitu WearArcLayout.LayoutParams memperluas android.view.ViewGroup.MarginLayoutParams. (I2cd88)
  • Mengubah jenis default anchor WearCurvedTextView menjadi WearArcLayout.ANCHOR_CENTER (sebelumnya WearArcLayout.ANCHOR_START). Ini akan menyederhanakan kontrak antara tata letak lengkung dan teks melengkung karena teks melengkung secara default akan menggambar dirinya sendiri berpusat x di bagian atas, dan tata letak lengkung induk dapat memutarnya ke tempat yang seharusnya. (I105ff)

Versi 1.2.0-alpha03

2 Desember 2020

androidx.wear:wear:1.2.0-alpha03 dirilis. Versi 1.2.0-alpha03 berisi commit berikut ini.

Fitur Baru

Penampung tata letak baru DismissableFrameLayout, yang menangani tombol kembali untuk menutup dan/atau geser untuk menutup, yang ditujukan untuk digunakan dalam aktivitas. Setidaknya satu pemroses harus ditambahkan untuk menindak tindakan penutupan. Pemroses biasanya akan menghapus tampilan yang memuat atau fragmen dari aktivitas saat ini. setSwipeDismissable(boolean) & setBackButtonDismissable(boolean) disediakan untuk kontrol langsung pada fitur. Tata letak baru ini dimaksudkan untuk menggantikan SwipeDismissFrameLayout yang ada.

Widget melengkung sekarang menangani peristiwa sentuh. Widget normal di dalam WearArcLayout akan menerima semua peristiwa sentuh, dipetakan ke ruang koordinatnya. WearCurvedTextView (di dalam WearArcLayout atau tidak) dapat menetapkan pengendali onClick dan onLongClick.

Class aktivitas yang sedang berlangsung sekarang menjadi VersionedParcelables, bukan menggunakan serialisasi/deserialisasi kustom. Ikon statis dan intent sentuh kini diperlukan.

Perubahan API

  • Atribut "sweepDegrees" untuk WearCurvedTextView dipisahkan menjadi minSweepDegrees dan maxSweepDegrees untuk memberikan tata letak widget yang lebih fleksibel.

Versi 1.2.0-alpha02

11 November 2020

androidx.wear:wear:1.2.0-alpha02 dirilis. Versi 1.2.0-alpha02 berisi commit berikut.

Rilis ini menambahkan "Ongoing Activities API" baru untuk pertama kalinya. API ini dapat digunakan oleh developer untuk menandakan bahwa aktivitas yang berjalan lama, seperti olahraga kebugaran atau sesi pemutaran media sedang berlangsung. API ini memungkinkan developer memberikan pembaruan status berkala seperti “jarak dan waktu berlari” atau “lagu yang diputar saat ini” untuk ditampilkan di tampilan jam atau di peluncur aplikasi. Fungsi ini ditargetkan pada perangkat mendatang yang mengaktifkan fungsi aktivitas yang sedang berlangsung.

Perubahan API

  • API baru untuk Aktivitas yang Sedang Berjalan, ini adalah lingkungan tanpa pengoperasian pada "perangkat yang tidak didukung". (I69a31)

Versi 1.2.0-alpha01

28 Oktober 2020

androidx.wear:wear:1.2.0-alpha01 dirilis. Versi 1.2.0-alpha01 berisi commit berikut.

Fitur Baru

  • Menambahkan komponen WearCurvedTextView untuk memudahkan penulisan teks melengkung mengikuti kelengkungan lingkaran terbesar yang dapat dicetak dalam tampilan. Contoh penggunaan:
<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"
/>

Contoh teks melengkung di Android Wear

  • Menambahkan container WearArcLayout untuk menata letak elemen turunannya satu per satu pada lengkungan baik searah maupun berlawanan arah jarum jam. Turunannya dapat berupa widget android standar atau widget "melengkung" yang mengimplementasikan antarmuka ArcLayoutWidget. Contoh penggunaan:
<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>

Contoh teks lengkung di Android Wear

(I536da)

Wear-Input 1.1.0

Versi 1.1.0

18 Agustus 2021

androidx.wear:wear-input:1.1.0 dan androidx.wear:wear-input-testing:1.1.0 dirilis. Versi 1.1.0 berisi commit berikut ini.

Perubahan penting sejak versi 1.0.0

  • Menambahkan RemoteInputIntentHelper.
    • Class ini dapat digunakan untuk membuat Intent RemoteInput. Intent ini kemudian dapat digunakan untuk meminta input dari pengguna dalam aktivitas yang dapat disesuaikan.

Versi 1.1.0-rc01

4 Agustus 2021

androidx.wear:wear-input:1.1.0-rc01 dan androidx.wear:wear-input-testing:1.1.0-rc01 dirilis. Versi 1.1.0-rc01 berisi commit berikut ini.

Tidak ada Perubahan API sejak androidx.wear:wear-input:1.1.0-beta01 dan androidx.wear:wear-input-testing:1.1.0-beta01

Versi 1.1.0-beta01

21 Juli 2021

androidx.wear:wear-input:1.1.0-beta01 dan androidx.wear:wear-input-testing:1.1.0-beta01 dirilis tanpa perubahan sejak 1.1.0-alpha03. Versi 1.1.0-beta01 berisi commit berikut ini.

Versi 1.1.0-alpha03

30 Juni 2021

androidx.wear:wear-input:1.1.0-alpha03 dan androidx.wear:wear-input-testing:1.1.0-alpha03 dirilis. Versi 1.1.0-alpha03 berisi commit berikut ini.

Perbaikan Bug

  • Memperbaiki bug yang menyebabkan intent RemoteInput, yang telah ditambahkan RemoteInput ke dalamnya melalui RemoteInputHelper.putRemoteInputsExtra, ditolak.

Versi 1.1.0-alpha02

18 Mei 2021

androidx.wear:wear-input:1.1.0-alpha02 dan androidx.wear:wear-input-testing:1.1.0-alpha02 dirilis. Versi 1.1.0-alpha02 berisi commit berikut ini.

Perubahan API

  • Metode RemoteInputIntentHelper yang digunakan untuk mendapatkan atau menempatkan tambahan yang mewakili label judul, batal, konfirmasikan, dan sedang diproses kini menggunakan CharSequence, bukan String untuk label ini. (I0e71f)

Versi 1.1.0-alpha01

27 Januari 2021

androidx.wear:wear-input:1.1.0-alpha01 dan androidx.wear:wear-input-testing:1.1.0-alpha01 dirilis. Versi 1.1.0-alpha01 berisi commit berikut ini.

Perubahan API

  • Memigrasikan class RemoteInputIntent dari Wearable Support Library ke AndroidX. Class yang dimigrasikan berganti nama menjadi RemoteInputIntentHelper yang menyediakan fungsi bantuan untuk input remote pendukung melalui memulai intent. (I47cee)

Wear-Input 1.0.0

Versi 1.0.0

2 Desember 2020

androidx.wear:wear-input:1.0.0 dan androidx.wear:wear-input-testing:1.0.0 dirilis. Versi 1.0.0 berisi commit berikut.

Rilis ini sama persis dengan 1.0.0-rc01.

Fitur utama 1.0.0

  • Migrasi fungsi WearableButtons dari Wearable Support Library ke Jetpack.

  • Menambahkan androidx.wear.input.test.TestWearableButtonsProvider yang mengimplementasikan androidx.wear.input.WearableButtonsProvider untuk membantu menguji aplikasi yang dikembangkan dengan library androidx.wear:wear-input.

Versi 1.0.0-rc01

11 November 2020

androidx.wear:wear-input:1.0.0-rc01 dan androidx.wear:wear-input-testing:1.0.0-rc01 dirilis. Versi 1.0.0-rc01 berisi commit berikut.

Rilis ini sama persis dengan 1.0.0-beta01.

Versi 1.0.0-beta01

28 Oktober 2020

androidx.wear:wear-input:1.0.0-beta01 dan androidx.wear:wear-input-testing:1.0.0-beta01 dirilis tanpa perubahan sejak 1.1.0-alpha01. Versi 1.0.0-beta01 berisi commit berikut.

Wear-Input-Testing Versi 1.0.0-alpha01

14 Oktober 2020

androidx.wear:wear-input-testing:1.0.0-alpha01 dirilis. Versi 1.0.0-alpha01 berisi commit berikut ini.

Perubahan API

  • Menambahkan androidx.wear.input.test.TestWearableButtonsProvider yang mengimplementasikan androidx.wear.input.WearableButtonsProvider untuk membantu menguji aplikasi yang dikembangkan dengan library androidx.wear:wear-input. (I0ed0c)

Wear-Input Versi 1.0.0-alpha01

2 September 2020

androidx.wear:wear-input:1.0.0-alpha01 dirilis. Versi 1.0.0-alpha01 berisi commit berikut ini.

Fitur Baru

Migrasi fungsi WearableButtons dari Wearable Support Library ke Jetpack. Dukungan pengujian tambahan akan disediakan dalam library androidx.wear:wear-input-testing pada rilis Jetpack berikutnya.

Versi 1.1.0

Versi 1.1.0

14 Oktober 2020

androidx.wear:wear:1.1.0 dirilis. Versi 1.1.0 berisi commit berikut ini.

Perubahan utama sejak versi 1.0.0

  • Menambahkan awalan layout_ ke atribut boxedEdges (kini layout_BoxedEdges) untuk BoxInsetLayout guna mematuhi konvensi penamaan Android. Ini akan menghapus error linter di Android Studio untuk atribut ini. (I4272f)
  • Menambahkan EXTRA_ANIMATION_DURATION_MILLIS opsional ke ConfirmationActivity untuk mengizinkan durasi yang ditampilkan dialog konfirmasi. (adb83ce, b/143356547)
  • Memperbarui WearableActionDrawView untuk menunda kemunculan panel tindakan sampai panel terbuka untuk kali pertama. (I01026, b/163870541)

Versi 1.1.0-rc03

2 September 2020

androidx.wear:wear:1.1.0-rc03 dirilis. Versi 1.1.0-rc03 berisi commit berikut ini.

Perbaikan Bug

  • Memperbaiki masalah Panel Tindakan yang tidak menampilkan konten saat dibuka. (I01026, b/163870541)

Versi 1.1.0-rc02

24 Juni 2020

androidx.wear:wear:1.1.0-rc02 dirilis. Versi 1.1.0-rc02 berisi commit berikut ini.

Perbaikan Bug

  • Menambahkan awalan layout_ ke atribut boxedEdges (kini layout_boxedEdges) untuk BoxInsetLayout guna mematuhi konvensi penamaan Android. Ini akan menghapus error linter di Android Studio untuk atribut ini.

Versi 1.1.0-rc01

14 Mei 2020

androidx.wear:wear:1.1.0-rc01 dirilis tanpa perubahan sejak .1.0-beta01. Versi 1.1.0-rc01 berisi commit berikut ini.

Versi 1.1.0-beta01

29 April 2020

androidx.wear:wear:1.1.0-beta01 dirilis tanpa perubahan sejak androidx.wear:wear:1.1.0-alpha01. Versi 1.3.0-beta01 berisi commit berikut ini.

Versi 1.1.0-alpha01

15 April 2020

androidx.wear:wear:1.1.0-alpha01 dirilis. Versi 1.1.0-alpha01 berisi commit berikut ini.

Perubahan API

  • Menambahkan EXTRA_ANIMATION_DURATION_MILLIS opsional ke ConfirmationActivity untuk mengizinkan durasi yang ditampilkan dialog konfirmasi. (adb83ce, 134523c, b/143356547)

Perbaikan Bug

  • Memperbarui WearableActionDrawView untuk menunda kemunculan panel tindakan sampai panel terbuka untuk kali pertama. (5cd32f7)