Menambahkan detail ke tampilan jam

Detail tampilan jam menampilkan data dari penyedia data. Dengan Complications API, tampilan jam bisa memilih penyedia data yang ingin mereka gunakan untuk mendapatkan data yang mendasarinya. Ini memungkinkan tampilan jam menampilkan informasi selain waktu tanpa memerlukan kode untuk mendapatkan data.

Complications API juga memungkinkan pengguna untuk memilih penyedia data pilihan mereka. Selain itu, Wear OS by Google menyediakan antarmuka pengguna untuk seleksi sumber data.

Detail

Untuk menambahkan detail ke tampilan jam, lakukan hal berikut:

Menyetel penyedia default untuk tampilan jam

Tampilan jam bisa menetapkan penyedia default yang digunakan sampai pengguna memilih sebuah penyedia. Setel penyedia default menggunakan metode setDefaultComplicationProvider() dalam WatchFaceService.Engine. Metode ini bisa dipanggil kapan saja, tetapi ia tidak berpengaruh apa pun jika pengguna sudah memilih penyedia untuk detail yang diberikan.

Untuk sebagian besar penyedia, izin RECEIVE_COMPLICATION_DATA harus diberikan ke tampilan jam sebelum data bisa mengalir ke sana. Namun, beberapa penyedia sistem dianggap aman karena mereka hanya menyediakan informasi yang sudah bisa didapatkan oleh tampilan jam itu sendiri. Penyedia aman tidak mengharuskan tampilan jam memiliki izin untuk data yang akan dikirim (lihat Penyedia sistem). Penyedia ini mungkin lebih baik digunakan sebagai default, karena mereka bisa menyediakan data secara langsung.

Atau, jika tampilan jam memiliki kemitraan dengan penyedia tertentu dan ingin menggunakannya sebagai default, ia bisa meminta agar penyedia mencantumkannya sebagai tampilan jam aman.

Penyedia sistem

Sistem ini mencakup penyedia yang bisa digunakan sebagai default. Metode setDefaultSystemComplicationProvider(), di class WatchFaceService.Engine, menetapkan penyedia sistem default untuk sebuah detail. Metode ini memerlukan ID (sebagai integer) yang mewakili penyedia sistem. ID yang tersedia terdaftar di class SystemProviders.

Tabel berikut menyajikan detail tentang beberapa penyedia sistem yang didukung:

Nama metode dalam class SystemProviders Keamanan Bisa sebagai default Catatan
dateProvider() Ya Ya Penyedia tanggal sistem standar. Menge-tap akan membuka aplikasi Agenda standar.
currentTimeProvider() Ya Ya Penyedia "waktu dan tanggal" sistem standar. Tanpa aksi tap.
batteryProvider() Ya Ya Penyedia baterai sistem standar. Tanpa aksi tap.
stepCountProvider() Ya Ya Menunjukkan jumlah langkah harian, seperti yang dilaporkan oleh readDailyTotal.
unreadCountProvider() Ya Ya Menunjukkan jumlah deretan notifikasi yang belum dibaca.
worldClockProvider() Ya Ya Akan disetel default ke London atau New York. Bisa di-tap untuk mengubah zona waktu.
appsProvider() Ya Ya Akan menampilkan ikon "aplikasi" pada awalnya, yang bisa di-tap untuk memilih aplikasi.
nextEventProvider() Tidak Ya (tetapi bukan penyedia yang aman) Penyedia "event berikutnya" sistem standar. Menge-tap akan membuka aplikasi Agenda standar.

Mengizinkan pengguna memilih penyedia data

Wear OS menyediakan antarmuka pengguna (melalui Activity) yang memungkinkan pengguna memilih penyedia untuk detail tertentu. Tampilan jam bisa memanggil metode createProviderChooserHelperIntent untuk mendapatkan intent yang dapat digunakan untuk menunjukkan antarmuka pemilih.

Saat tampilan jam memanggil createProviderChooserHelperIntent, tampilan jam menyediakan ID detail tampilan jam dan daftar tipe yang didukung. Tipe tersebut harus tercantum dalam urutan preferensi, biasanya dengan tipe yang menawarkan lebih banyak informasi, seperti nilai kisaran, dengan pertimbangan preferensi yang lebih tinggi.

Ketika pengguna memilih penyedia data, konfigurasi disimpan secara otomatis; tidak ada lagi yang diperlukan dari tampilan jam.

Lihat aplikasi contoh Watch Face untuk kode berfitur lengkap yang disarankan bagi antarmuka pengguna setelan.

Kode tersebut meliputi:

  • Antarmuka standar untuk setelan detail.
  • Akses mudah ke setelan lain.

Titik mulai untuk meninjau kode tersebut adalah class AnalogComplicationConfigActivity, yang memiliki metode getDataToPopulateAdapter() yang menunjukkan daftar entri setelan yang tersedia di UI.

Membuka pemilih penyedia

Tampilan jam harus memiliki izin berikut untuk menerima data detail dan membuka pemilih penyedia:

com.google.android.wearable.permission.RECEIVE_COMPLICATION_DATA

Tampilan jam yang tidak diberikan izin di atas tidak akan bisa memulai pemilih penyedia.

Untuk mempermudah permintaan izin dan memulai pemilih, class ComplicationHelperActivity tersedia di library dukungan perangkat wearable. Class ini harus digunakan sebagai pengganti class ProviderChooserIntent untuk memulai pemilih dalam hampir semua kasus.

Meminta izin yang diperlukan

Untuk menggunakan ComplicationHelperActivity, tambahkan itu ke tampilan jam dalam file manifes:

<activity android:name="android.support.wearable.complications.ComplicationHelperActivity"/>

Untuk memulai pemilih penyedia, panggil metode ComplicationHelperActivity.createProviderChooserHelperIntent, untuk mendapatkan intent.

Intent baru bisa digunakan dengan startActivity atau startActivityForResult untuk meluncurkan pemilih.

Berikut adalah contoh penggunaan intent baru dengan startActivityForResult:

Kotlin

startActivityForResult(
        ComplicationHelperActivity.createProviderChooserHelperIntent(
                activity,
                watchFace,
                complicationId,
                ComplicationData.TYPE_LARGE_IMAGE
        ),
        PROVIDER_CHOOSER_REQUEST_CODE
)

Java

startActivityForResult(
  ComplicationHelperActivity.createProviderChooserHelperIntent(
     getActivity(),
     watchFace,
     complicationId,
     ComplicationData.TYPE_LARGE_IMAGE),
  PROVIDER_CHOOSER_REQUEST_CODE);

Ketika aktivitas helper dimulai, aktivitas helper memeriksa apakah izin sudah diberikan. Bila izin tidak diberikan, aktivitas helper membuat permintaan izin waktu proses. Bila permintaan izin diterima (atau tidak diperlukan), pemilih penyedia akan ditampilkan.

Bila startActivityForResult digunakan dengan intent, hasilnya yang dikirim kembali ke Activity pemanggil akan memiliki kode hasil RESULT_OK jika penyedia berhasil ditetapkan, atau kode hasil RESULT_CANCELLED jika tidak ada penyedia yang ditetapkan.

Dalam kasus ketika penyedia sudah ditetapkan, class ComplicationProviderInfo untuk penyedia yang dipilih akan dimasukkan dalam intent data dari hasil, sebagai tambahan terhadap kunci ProviderChooserIntent#EXTRA_PROVIDER_INFO.

Menerima data detail

Untuk mulai menerima data detail, tampilan jam memanggil setActiveComplications(), dalam class WatchFaceService.Engine, dengan daftar ID detail tampilan jam. Tampilan jam membuat ID ini untuk secara unik mengidentifikasi slot pada tampilan jam di mana detail bisa muncul, dan meneruskannya ke metode createProviderChooserIntent() sehingga pengguna bisa memutuskan detail mana yang harus masuk dan di slot mana. Data detail dikirim melalui callback onComplicationDataUpdate().

Secara umum, tampilan jam membutuhkan izin di atas untuk menerima data detail, tetapi terdapat beberapa pengecualian. Secara khusus, tampilan jam hanya bisa menerima data dari penyedia jika salah satu pernyataan berikut ini benar:

  • Penyedia adalah penyedia sistem yang "aman",
  • Penyedia dan tampilan jam berasal dari aplikasi yang sama,
  • Penyedia mengizinkan tampilan jam sebagai tampilan jam yang "aman", atau
  • Tampilan jam memiliki izin

Jika tidak ada pernyataan di atas yang benar, maka bila ComplicationData biasanya dikirim oleh penyedia ke tampilan jam, sebagai gantinya sistem akan mengirimkan data bertipe TYPE_NO_PERMISSION. Tipe ini berisi ikon (tanda seru) dan teks pendek ("--") untuk mengizinkannya dirender seolah-olah sebagai tipe teks pendek atau tipe ikon, untuk mudahnya.

Ketika tampilan jam menerima data TYPE_NO_PERMISSION, tampilan jam harus merendernya dengan tepat, sehingga pengguna bisa melihat bahwa diperlukan aksi agar detail dapat berfungsi. Jika memungkinkan, sebuah tap pada detail dalam keadaan ini sebaiknya meluncurkan permintaan izin. Ini bisa dilakukan menggunakan ComplicationHelperActivity.createPermissionRequestHelperIntent(), jika aktivitas helper ditambahkan ke aplikasi tampilan jam.

Jika pengguna menerima permintaan izin yang dibuat oleh aktivitas helper, update akan diminta untuk semua detail aktif pada tampilan jam secara otomatis, sehingga memungkinkan data TYPE_NO_PERMISSION digantikan oleh data nyata.

Merender detail

Tampilan jam bisa merender data sesuai keinginan selama kolom yang diharapkan ditunjukkan; kolom wajib diisi harus selalu disertakan. Bergantung pada jenisnya, beberapa kolom opsional juga harus disertakan (lihat kolom Catatan pada tabel di bawah).

Kami memberikan panduan desain untuk gaya kami, sebagai petunjuk untuk detail standar, tetapi developer bisa menggunakan gaya mereka sendiri atau menggabungkan data ke dalam tampilan jam dengan berbagai cara.

Menggambar detail

Class ComplicationDrawable memungkinkan Anda merender seluruh detail pada kanvas

Class mendukung keenam tipe detail utama, dan melakukan hal berikut untuk Anda:

  • Menangani semua aspek layout dan penataan gaya untuk detail.
  • Menggambar latar belakang, ikon, teks, dll., dalam garis batas.
  • Memungkinkan Anda menyetel banyak opsi. Ini meliputi, tetapi tidak terbatas pada, opsi untuk hal berikut: warna latar belakang, bentuk dan radius sudut, tepian (atau tanpa tepian), warna teks, dan jenis huruf.
  • Dekode dan cache gambar.

Bila Anda menargetkan API level 24, objek ComplicationDrawable bisa ditetapkan dalam XML sebagai sumber daya. Atau, Anda bisa membuat objek ComplicationDrawable lewat program. Anda menggunakan metode draw() untuk menggambar detail dan menyetel opsi gaya bagi mode standby dan interaktif.

ComplicationDrawable akan menggunakan gambar dan ikon bebas burn-in bila mereka sudah disediakan dan perangkat memerlukannya. Untuk mengaktifkan ini, panggil metode ComplicationDrawable.setBurnInProtection() ketika properti perangkat diterima.

Untuk petunjuk terperinci dan contoh guna menggambar detail, lihat ComplicationDrawable, yang menyertakan contoh XML. Untuk contoh tampilan jam yang menggunakan class ini dan menyertakan contoh XML, lihat contoh AnalogComplicationWatchFaceService dalam aplikasi contoh Watch Face.

Bila Anda tidak menggunakan objek ComplicationDrawable, gunakan TextRenderer untuk teks detail.

Merender teks

Class TextRenderer dimaksudkan untuk digunakan dalam detail, dan mempermudah menggambar teks pada kanvas. Class ini mencakup fitur-fitur berikut:

  • Bila tujuh karakter (jumlah maksimum dalam kolom teks pendek) tidak bisa muat dengan batas-batas ukuran teks yang diminta, class memperkecil teks sampai muat.
  • Teks bisa dialirkan melalui sejumlah garis yang sudah ditetapkan.
  • Teks bisa dibuat elips jika tidak muat.
  • Rendering disesuaikan untuk layar selalu ditampilkan (mode standby).

Saat Anda melakukan inisialiasi mesin tampilan jam, Anda bisa membuat objek TextRenderer dan memberikan objek TextPaint yang Anda inginkan untuk digunakan objek TextRenderer. Objek TextPaint menentukan font, ukuran teks, warna, dan banyak lagi. Anda harus membuat objek TextRenderer untuk setiap kolom, mis. satu untuk kolom teks dan satu lagi untuk kolom judul.

Untuk kode contoh, termasuk menetapkan batas pada teks yang ingin Anda render, lihat TextRenderer.

Tap pada detail

Gunakan metode ComplicationDrawable.onTap() sehingga tampilan jam Anda bisa memberikan event tap ke detail. Metode ini mem-build di atas fungsionalitas di mana tap pada tampilan jam akan memicu metode WatchFaceService.Engine.onTapCommand().

Anda bisa memberikan koordinat ke ComplicationDrawable dengan panggilan onTap. Ini akan meluncurkan aksi yang berhubungan dengan ComplicationDrawable yang berisi koordinat tap. Ketika metode tersebut dipanggil, Anda akan menerima nilai kembalian true bila ComplicationDrawable meluncurkan aksi yang berhubungan.

Gunakan metode setHighlightDuration() untuk menyetel durasi agar suatu detail tetap ditandai setelah metode onTap dipanggil.

Bila Anda tidak menggunakan ComplicationDrawable untuk suatu detail, Anda harus mendeteksi tap dan memicu aksi tap PendingIntent sendiri. Lihat Membuat Tampilan Jam Interaktif untuk mempelajari cara membuat tampilan jam yang merespons tap pengguna.

Tipe detail

Tipe detail menentukan jenis data yang ditampilkan dalam detail. Misalnya, tipe SHORT_TEXT tersedia saat data kunci adalah string pendek. Dalam contoh tipe SHORT_TEXT, data opsional adalah ikon dan judul pendek.

Penyedia data menggunakan tipe detail ini secara berbeda dari cara penyedia tampilan jam menggunakan tipe ini:

  • Penyedia data memilih tipe data detail yang akan diberikan. Misalnya, penyedia penghitung langkah mungkin mendukung tipe RANGED_VALUE dan SHORT_TEXT, sedangkan penyedia "pertemuan berikutnya" mungkin mendukung tipe SHORT_TEXT dan LONG_TEXT. Penyedia data juga memilih kolom opsional apa saja yang harus disertakan.
  • Penyedia tampilan jam memilih berapa banyak tipe detail yang akan didukung. Misalnya, detail lingkaran di tampilan jam mungkin mendukung tipe SHORT_TEXT, ICON dan RANGED_VALUE, sedangkan pengukur di tampilan jam mungkin hanya mendukung tipe RANGED_VALUE.

Objek ComplicationData akan selalu memiliki tipe detail tunggal. Setiap tipe detail memiliki kolom wajib diisi dan opsional. Biasanya, kolom wajib diisi merepresentasikan bagian utama data; sebagian besar tipe mengambil namanya dari kolom wajib diisi.

Tipe yang diberikan mungkin mencakup kumpulan kolom yang berbeda. Misalnya, SHORT_TEXT mungkin hanya satu bagian teks, atau judul dan teks, atau ikon dan teks. Detail yang mendukung tipe yang diberikan harus dapat menampilkan semua varian yang diharapkan. Namun, beberapa kolom opsional tidak perlu ditampilkan (lihat kolom Catatan pada tabel di bawah). Misalnya, kolom Judul pendek dari tipe RANGED_VALUE tidak diperlukan sehingga, misalnya, pengukur bisa ditampilkan tanpa menyertakan teks.

Contoh Tipe Detail

Gambar berikut menunjukkan contoh-contoh tipe detail:

Tipe detail

Tipe dan kolom

Tabel berikut menjelaskan tipe dan kolom objek ComplicationData. Bila tampilan jam meminta kolom yang tidak valid untuk tipe detail, nilai default untuk kolom tersebut akan ditampilkan. Misalnya, bila tampilan jam mencoba mengakses kolom Long text dalam tipe SHORT_TEXT, nilai default untuk kolom Long text (null) akan ditampilkan.

Tipe Kolom wajib diisi Kolom opsional Catatan
SHORT_TEXT Short text Icon
Burn-in protection icon
Short title
Salah satu dari Ikon/Judul pendek diharapkan akan ditampilkan bila salah satu atau keduanya disediakan
ICON Icon Burn-in protection icon Digunakan saat teks tidak diperlukan. Ikon diharapkan berwarna tunggal, dan mungkin diberi warna oleh tampilan jam.
RANGED_VALUE Value
Min value
Max value
Icon
Burn-in protection icon
Short text
Short title
Kolom opsional tidak dijamin akan ditampilkan. Bila Anda ingin menggambar status progres Anda sendiri, Anda bisa menggunakan metode setRangedValueProgressHidden() untuk menyembunyikan status progres yang disediakan oleh class ComplicationDrawable.
LONG_TEXT Long text Long title
Icon
Burn-in protection icon
Small image
Judul diharapkan akan ditampilkan jika disediakan.
SMALL_IMAGE Small image Gambar kecil memiliki satu dari dua gaya: gaya foto atau gaya ikon. Gaya foto berarti ia harus mengisi ruang UI dan bisa dipangkas; gaya ikon berarti ia tidak boleh dipangkas dan mungkin ada lapisan isian. Variabilitas gambar bisa menghasilkan gambar yang tidak cocok untuk ditampilkan dalam mode standby pada perangkat dengan anti burn-in atau dengan mode standby bit rendah. Ketika anti burn-in atau mode standby bit rendah diaktifkan, tampilan jam bisa menggunakan Burn-in protection small image karena aman. Jika tidak, karena sulit bagi tampilan jam untuk menentukan kecocokan, gambar tidak boleh ditampilkan.
LARGE_IMAGE Large image Gambar ini diharapkan cukup besar untuk mengisi tampilan jam. Variabilitas gambar bisa menghasilkan gambar yang tidak cocok untuk ditampilkan dalam mode standby pada perangkat dengan anti burn-in atau dengan mode standby bit rendah. Karena sulit bagi tampilan jam untuk menentukan kesesuaian tampilan, tampilan jam tidak boleh menampilkan gambar dalam mode standby jika anti burn-in atau standby bit rendah diaktifkan.

Tipe dalam tabel di bawah ini adalah untuk data kosong dan mungkin dikirim untuk setiap slot detail. Tipe ini tidak memiliki kolom dan tidak perlu dimasukkan dalam daftar tipe yang didukung. Tipe ini memungkinkan tampilan jam membedakan di antara tiga kasus penggunaan berikut:

  • Tidak ada penyedia yang dipilih
  • Pengguna telah memilih "kosong" untuk slot
  • Penyedia tidak memiliki data yang akan dikirim

Penyedia tidak boleh mengirim TYPE_EMPTY sebagai respons permintaan update. Sebagai gantinya, penyedia harus mengirim TYPE_NO_DATA.

Perincian tentang tipe detail untuk data "kosong" ada dalam tabel berikut ini:

Tipe detail Keterangan
TYPE_NOT_CONFIGURED Dikirim oleh sistem ketika sebuah detail diaktifkan tetapi pengguna belum memilih penyedia, dan tidak ada penyedia default yang disetel.

Tidak bisa dikirim oleh penyedia.

TYPE_EMPTY Dikirim oleh sistem ketika sebuah detail diaktifkan dan pengguna memilih "kosong" sebagai ganti penyedia, atau ketika tampilan jam tidak memilih penyedia, dan tipe ini, disetel sebagai default-nya.

Tidak bisa dikirim oleh penyedia.

TYPE_NO_DATA Dikirim oleh sistem ketika sebuah detail (yang memiliki penyedia) diaktifkan, untuk mengosongkan detail sebelum data aktual diterima dari penyedia.

Harus dikirim oleh penyedia bila mereka tidak memiliki data aktual untuk dikirim.

Menggunakan kolom untuk data detail

Kolom objek ComplicationData memiliki fungsi yang berbeda. Misalnya, kolom teks berisi data primer sementara kolom judul bersifat deskriptif; detail penghitung langkah mungkin memiliki nilai kolom teks "2.543" dengan nilai kolom judul "langkah."

Tabel berikut berisi deskripsi kolom dalam objek ComplicationData. Kolom mungkin diisi atau mungkin tidak, bergantung pada tipe detail.

Kolom Keterangan
Short text Kolom teks utama untuk detail kecil. Panjang maksimum kolom ini tidak boleh melebihi tujuh karakter (termasuk setiap teks yang bergantung pada waktu). Tampilan jam diharapkan memiliki kemampuan untuk merender setiap string tujuh karakter. Lebar string bervariasi, bergantung pada karakter yang digunakan. Tampilan jam harus menyesuaikan ukuran teks sehingga bisa pas masuk dalam detail. Bila teks melebihi tujuh karakter, teks mungkin terpotong.
Icon Gambar satu warna yang merepresentasikan data atau sumber data. Harus bisa diberi warna. Vektor dapat digambar disarankan untuk kolom ini.
Burn-in protection icon Kolom untuk mengaktifkan ikon agar ditampilkan dalam mode standby pada perangkat yang menggunakan anti burn-in. Dalam mode standby, tampilan jam pada perangkat yang menggunakan anti burn-in tidak boleh menampilkan blok piksel solid. Kolom Burn-in protection icon bersifat opsional untuk tipe detail apa pun yang berisi kolom icon. Kolom Burn-in protection icon tidak boleh berisi blok piksel solid apa pun. Kolom Burn-in protection icon harus disediakan oleh penyedia bila ikon standarnya tidak cocok untuk anti burn-in. Tampilan jam yang merender dalam mode standby pada perangkat dengan anti burn-in aktif harus menggunakan kolom Burn-in protection icon, bila tersedia, sebagai ganti kolom icon.
Burn-in protection small image Kolom yang memungkinkan gambar ditampilkan dalam mode standby pada perangkat yang menggunakan anti burn-in. Dalam mode standby, tampilan jam pada perangkat yang menggunakan anti burn-in tidak boleh menampilkan blok piksel solid. Kolom Burn-in protection small image bersifat opsional untuk tipe detail apa pun yang berisi kolom small image. Kolom Burn-in protection small image tidak boleh berisi blok piksel solid apa pun. Kolom Burn-in protection small image harus disediakan oleh penyedia bila gambar kecil standarnya tidak cocok untuk anti burn-in. Tampilan jam yang merender dalam mode standby pada perangkat dengan anti burn-in aktif harus menggunakan kolom Burn-in protection small image, bila tersedia, sebagai ganti kolom small image.
Short title Kolom deskriptif untuk detail kecil. Hanya relevan dalam kombinasi dengan kolom Short text. Panjang maksimum kolom ini tidak boleh melebihi tujuh karakter (termasuk setiap teks yang bergantung pada waktu). Tampilan jam diharapkan memiliki kemampuan untuk merender setiap string tujuh karakter. Lebar string bervariasi, bergantung pada karakter yang digunakan. Tampilan jam harus menyesuaikan ukuran teks sehingga bisa pas masuk dalam detail. Bila teks melebihi tujuh karakter, teks mungkin terpotong.
Long text Kolom data utama untuk detail berbasis teks yang besar.
Long title Kolom deskriptif untuk detail berbasis teks yang besar. Hanya relevan dalam kombinasi dengan Teks panjang.
Value Representasi numerik (float) dari data. Diharapkan untuk ditunjukkan secara relatif terhadap batas kolom Nilai minimum dan Nilai maksimum (tetapi tidak diharuskan berada dalam batas-batas tersebut).
Min value Batas bawah untuk rentang dalam Nilai yang harus ditunjukkan. Hanya relevan dalam kombinasi dengan Nilai dan Nilai maksimum.
Max value Batas atas untuk rentang dalam Nilai yang harus ditunjukkan. Hanya relevan dalam kombinasi dengan Nilai dan Nilai minimum.
Small image Gambar kecil menggambarkan data atau sumber data. Bisa penuh warna. Tidak diharapkan untuk mengisi seluruh tampilan jam.
Large image Gambar dengan resolusi yang cukup untuk mengisi tampilan jam. Bisa penuh warna.

Menguji tipe detail

Setiap tipe detail memiliki kolom, seperti teks dan ikon. Bila tampilan jam Anda mendukung tipe detail, Anda harus mendukung semua kombinasi kolom yang valid.

Anda bisa menguji cara data detail ditampilkan pada tampilan jam. Secara khusus, paket pengujian memungkinkan Anda menguji tampilan tipe-tipe detail. Jadi, Anda tidak perlu menulis kode untuk menguji kombinasi kolom yang valid bagi objek ComplicationData.

Paket pengujian adalah penyedia data, tersedia sebagai contoh, yang beredar di seluruh kombinasi kolom yang valid untuk tipe detail yang diberikan.

Untuk menggunakan paket pengujian:

  1. Instal APK paket pengujian pada perangkat atau emulator.
  2. Akses tampilan jam Anda dan tap ikon setelan utamanya.
  3. Gunakan UI setelan untuk memilih paket pengujian: WearComplication-ProviderTestSuite
  4. Pilih tipe data detail yang akan diuji.
  5. Tap detail Anda untuk melihat variasi tipe data.
  6. Tap berulang kali detail Anda untuk memverifikasi bahwa semua kombinasi kolom yang relevan ditampilkan dengan benar.

Misalnya, bila detail mendukung teks pendek, tap detail Anda untuk melihat semua kombinasi kolom utama bagi teks pendek.