Car App

Membuat aplikasi navigasi, parkir, dan pengisian daya untuk Android Auto.
Update Terbaru Rilis Stabil Saat Ini Kandidat Rilis Berikutnya Rilis Beta Rilis Alfa
3 November 2021 1.0.0 1.1.0-rc01 - 1.2.0-alpha01

Mendeklarasikan dependensi

Untuk menambahkan dependensi pada Library Car App, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk informasi selengkapnya.

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

Groovy

dependencies {
    implementation "androidx.car.app:app:1.0.0"

    // For testing
    implementation "androidx.car.app:app-testing:1.2.0-alpha01"
}

Kotlin

dependencies {
    implementation("androidx.car.app:app:1.0.0")

    // For testing
    implementation("androidx.car.app:app-testing:1.2.0-alpha01")
}

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.

Versi 1.2

Versi 1.2.0-alpha01

3 November 2021

androidx.car.app:app-*:1.2.0-alpha01 dirilis. Versi 1.2.0-alpha01 berisi commit berikut ini.

Semua fitur v1.2.0 baru (API 4+) saat ini masih bersifat eksperimental yang menargetkan rilis Android Auto dan Android Automotive OS di masa mendatang. Lihat panduan pengembangan untuk detail selengkapnya.

Perubahan API

  • Membuat AutomotiveCarInfo API menjadi eksperimental. (Ia13e5)
  • Menambahkan Library Car App API level 4 (I2a2e7)
  • API Level 4: Menambahkan dukungan untuk menyetel CarIcon di Pane (Ifcc12)
  • API Level 4: Menambahkan metode login kode QR (Ib623e)
  • API Level 4: Menambahkan set/getFlags ke Action (Ic03ab)
  • API Level 4: Menambahkan dukungan untuk menggeser dan memperbesar/memperkecil dalam PlaceListNavigationTemplate dan RoutePreviewNavigationTemplate (I9d8a3)

Perbaikan Bug

  • API Level 4: Menambahkan mekanisme untuk mengizinkan aplikasi mengirim pembaruan lokasi ke host mobil (I3bad3)
  • Memperbaiki masalah saat logika validasi host tidak menemukan izin TEMPLATE_RENDERER dengan benar (I62618)

Versi 1.1.0

Versi 1.1.0-rc01

3 November 2021

androidx.car.app:app-*:1.1.0-rc01 dirilis. Versi 1.1.0-rc01 berisi commit berikut ini.

Ini adalah rilis stabilisasi, dan tidak ada perubahan API jika dibandingkan dengan v1.1.0-beta01. Fitur eksperimental baru (API level 4) telah ditambahkan dan ditujukan untuk rilis Android Auto mendatang. Lihat catatan rilis v1.2.0-alpha01 untuk mendapatkan detail selengkapnya tentang API eksperimental.

Versi 1.1.0-beta01

1 September 2021

androidx.car.app:app-*:1.1.0-beta01 dirilis. Versi 1.1.0-beta01 berisi commit berikut ini.

Semua fitur v1.1.0 (API 2+) sepenuhnya kompatibel dengan Android Auto 6.7 dan yang lebih baru. Lihat panduan pengembangan untuk detail selengkapnya.

Perubahan API

  • Menghapus Manager sebagai antarmuka publik (Ie381b)
  • Menambahkan kemampuan untuk menyetel latar belakang bermerek kustom untuk permintaan izin (I74b76)
  • Menambahkan ScreenManager.getStackSize (I0b16a)
  • Menghapus konstruktor ScreenController yang secara eksplisit mengambil TestCarContext (Iefebc)

Perbaikan Bug

  • Menambahkan pemeriksaan API level saat membuat CarHardwareManager (I48f9b)
  • Menambahkan pemeriksaan untuk penggunaan CarSpan yang tidak valid di seluruh API (I65ae6)
  • Memperbaiki masalah yang menyebabkan stack akan mengalami status rusak jika Screen ditandai sebagai selesai selama pembuatannya (I81b13)
  • Memperbaiki masalah yang menyebabkan CarNotificationManager.notify mencatat error untuk AutomotiveOS jika ada tindakan dengan ikon di CarAppExtender (I3633d)
  • Menambahkan metode handshake untuk aplikasi dan host guna menetapkan versi API (I7d6f8)

Versi 1.1.0-alpha02

21 Juli 2021

androidx.car.app:app-*:1.1.0-alpha02 dirilis. Versi 1.1.0-alpha02 berisi commit berikut.

Fitur Baru

  • API Level 3: Menambahkan CarHardwareManager yang dapat digunakan untuk mengkueri data hardware kendaraan, seperti model dan produsen, tingkat bahan bakar, dan sensor lainnya. Saat ini, fitur ini hanya tersedia untuk Android Auto 6.7+ di saluran pengujian terbuka. Pengujian ini di lingkungan desktop memerlukan versi baru Desktop Head Unit yang akan dirilis secara terpisah. Nantikan halaman Menguji aplikasi Android untuk mobil untuk mendapatkan detail tentang kapan versi baru tersedia.
  • Ikuti panduan pengembangan dan referensi library untuk detail tambahan dan panduan desain tentang cara menggunakan fitur tersebut di host mobil yang kompatibel dengan API level 3.

Perubahan API

  • Menggabungkan metode siklus proses SessionController dan ScreenController menjadi satu metode moveToState (I1ed00)
  • CarContext#getHostInfo() telah ditambahkan (I8977e)
  • Menghapus kolom yang tidak digunakan lagi. (I67168)
  • Memperbarui SessionController dan ScreenController untuk menampilkan konstruktor secara langsungIabf22 )
  • Menghapus PinSignInMethod.Builder dan ProviderSignInMethod.Builder (I9f0cb)
  • Menambahkan 'setCarAppResult()' untuk memungkinkan penggunaan aplikasi dengan template 'for result' di AAOS (I37741)
  • Anotasi antarmuka CarHardware dengan @MainThread. (Ib2f85)
  • Mengganti nama OnCarDataListener menjadi OnCarDataAvailableListener (I518ca)
  • Memperbarui nama metode CarInfo, Speed, Mileage dan javadoc. (I86672)
  • Mengganti nama Toll menjadi TollCard. (I3e7c8)
  • Menghapus PinSignInMethod.getPin yang tidak digunakan lagi, yang diganti dengan PinSignInMethod.getPinCode (I996ce)
  • Menghapus OnInputCompletedListener (diganti dengan InputCallback). (Ib5be1)
  • Mengubah PinSignInMethod menjadi CharSequence, bukan String (I275d5)

Perbaikan Bug

  • Perbaikan Javadoc untuk hardware mobil. (I2abbc)

Kontribusi Eksternal

Masalah Umum

  • Dalam SignInTemplate, menggunakan InputSignInMethod dapat menyebabkan NullPointerException di host mobil. Hal ini akan diatasi dalam rilis library berikutnya. Untuk mengatasi masalah ini, sertakan baris ini dalam konfigurasi Proguard aplikasi Anda: -keep class androidx.car.app.model.signin.InputSignInMethod { *; }

Versi 1.1.0-alpha01

16 Juni 2021

androidx.car.app:app:1.1.0-alpha01, androidx.car.app:app-automotive:1.1.0-alpha01, dan androidx.car.app:app-testing:1.1.0-alpha01 dirilis. Versi 1.1.0-alpha01 berisi commit berikut.

Fitur Baru

  • API Level 2: SignInTemplate dan LongMessageTemplate baru yang dapat digunakan untuk alur masuk saat kendaraan diparkir.
  • API Level 2: dukungan interaktivitas peta baru dalam NavigationTemplate
  • API Level 2: dukungan beberapa teks panjang yang baru untuk memungkinkan aplikasi memberikan beberapa versi string untuk ditampilkan, bergantung pada ukuran layar mobil.
  • Ikuti panduan pengembangan dan Javadoc library untuk detail tambahan dan panduan desain tentang cara menggunakan fitur tersebut di host mobil yang kompatibel dengan API level 2.

Perubahan API

  • Membuat semua metode antarmuka *Callback default dan mengganti nama OnRequestPermissionsCallback -> OnRequestPermissionsListener (Ib3ec9)
  • Memperbarui class androidx.car.app.hardware untuk menghapus builder dan class parameter yang tidak perlu. (I67beb)
  • Menambahkan class androidx.car.app.hardware untuk akses ke data khusus mobil seperti bahan bakar, baterai, dan kecepatan. (Iff3c9)
  • Menambahkan dukungan ActionStrip di MessageTemplate (Ida657)
  • Menambahkan setLoading ke MessageTemplate. (I2a4b5)
  • Mengganti nama ConnectionToCar menjadi CarConnection (Ife9bd)
  • Mengubah NavigationTemplate untuk menampilkan PanModeDelegate eksplisit (I13877)
  • Urutan parameter telah diperbarui untuk CarContext.requestPermissions (Ib890a)
  • Mengupdate kunci metadata untuk menentukan level API mobil minimal menjadi androidx.car.api.minCarApiLevel (Ib0d41)
  • Membuat API yang memungkinkan pengamatan status koneksi mobil (Ifc935)
  • Menambahkan dukungan untuk penyetelan pengalih untuk Action, dan menambahkan jenis mode pan Action (Ica6af)
  • Membuat CarNotificationManager untuk mendukung pengiriman notifikasi di mobil (I10d7a)
  • Menambahkan ConstraintManager untuk memberikan batas daftar dari host (I8690e)
  • Menambahkan mode geser dan API strip tindakan peta di NavigationTemplate (I77aa6)
  • Menambahkan API geser dan zoom di SurfaceCallback untuk aplikasi navigasi (Id5e9d)
  • Memperbarui CarAppApiLevel menjadi 2 (Ic1540)
  • Menambahkan kemampuan untuk meminta izin dari CarAppService (I5421e)
  • Menambahkan anotasi RequiresCarApi(2) ke API multi-teks (Iacb62)
  • Mengizinkan beberapa variasi teks dalam judul template setengah daftar (Ib8df7)
  • Menambahkan LongMessageTemplate baru (memerlukan Car API level 2) (Ic5cee )

Perbaikan Bug

  • Mengupdate persyaratan ukuran gambar untuk memperhitungkan layar mobil yang lebih besar (I116dc)
  • Melarang penambahan lebih dari 2 tindakan dalam isi template (I32157)
  • Memastikan semua pembuatan PendingIntent dalam flag set library aplikasi mobil. (If84fe, b/186394900)
  • Mengupdate Javadoc untuk memungkinkan adanya perubahan teks Row sebagai pembaruan (If3f9c)
  • androidx.activity:activity:1.2.0 sekarang menjadi dependensi API (Id1cb9)
  • Membuat SignInTemplate dan LongMessageTemplate agar memerlukan tindakan khusus parkir di isinya dan memperbarui dokumentasi untuk menunjukkan bahwa tindakan tersebut hanya akan ditampilkan saat mobil diparkir (Iddaa9)
  • Memperbaiki pengecualian yang terjadi saat memunculkan Screen ketika dimulai (Ifcf40, b/184664896)
  • Mengizinkan warna teks kustom di ForegroundCarColorSpan (I69e59)
  • Memperbaiki masalah saat ON_DESTROY pada Session diamati setelah ON_DESTROY Screen (I52e01, b/183696617)
  • Mengupdate javadoc saat menyetel waktu tersisa TravelEstimate ke waktu yang tidak diketahui telah diizinkan. (I99610, b/183632456)
  • Memperbarui Action untuk mendukung ForegroundColorSpan pada judul dan warna latar belakang kustom apa pun (I578e4)
  • Jangan jalankan NavigationManagerCallback#onStopNavigation jika callback dihapus sebelum eksekutor dieksekusi (I7fc5e, b/181143772)
  • Memperbaiki masalah yang mengharuskan aplikasi untuk secara eksplisit mengambil dependensi pada lifecycle-common-java8 (I8b8c8)

Masalah Umum

  • Di SignInTemplate, keyboard virtual menampilkan ikon "telusuri", bukan ikon "enter" saat pengguna ingin mengonfirmasi input. Sebagai solusinya, pengguna dapat mengakses keyboard ponsel yang aktif saat kolom input berada di dalam fokus.
  • Di Android Auto versi 6.5, callback geser dan zoom dalam SurfaceCallback mungkin salah dipanggil untuk beberapa gestur sentuhan.

Car App Testing Versi 1.0.0

Versi 1.0.0-alpha01

24 Maret 2021

androidx.car.app:app-testing:1.0.0-alpha01 dirilis. Versi 1.0.0-alpha01 berisi commit berikut ini.

Ini adalah rilis Jetpack pertama dari library pengujian sumber tertutup sebelumnya. Lihat contoh dari kami tentang cara menggunakan library ini dalam pengujian Anda.

Fitur Baru

  • Pengontrol untuk class model telah dihapus. Pengambil model sekarang merupakan bagian dari paltform API publik yang memungkinkan validasi nilai yang disetel di builder.
  • CarAppServiceController yang sebelumnya telah diganti dengan SessionController baru untuk menguji logika yang berkaitan dengan metrik sepanjang waktu koneksi ke host.

Versi 1.0.0

Versi 1.0.0

21 April 2021

androidx.car.app:app:1.0.0 dirilis. Versi 1.0.0 berisi commit berikut ini.

Fitur utama 1.0.0

  • Pada awal April, kami mengumumkan bahwa aplikasi dapat mulai memublikasikan ke saluran produksi menggunakan androidx.car.app:app:1.0.0-rc01. Library Car App v1.0.0 kini stabil dan sepenuhnya kompatibel dengan Android Auto 6.1 dan yang lebih tinggi.
  • Ikuti panduan developer untuk detail tentang cara membuat aplikasi navigasi, parkir, dan pengisian daya untuk Android Auto menggunakan library ini.

Perbaikan Bug

  • Memperbaiki pengecualian yang terjadi saat memunculkan Screen ketika dimulai (70aae1, b/184664896)
  • Memperbaiki masalah saat ON_DESTROY pada Session diamati setelah ON_DESTROY Screen (0ceecb, b/183696617)

Versi 1.0.0-rc01

24 Maret 2021

androidx.car.app:app:1.0.0-rc01 dirilis. Versi 1.0.0-rc01 berisi commit berikut ini.

Perbaikan Bug

  • Memperbaiki bug kondisi race saat NavigationManagerCallback#onStopNavigation dipanggil setelah callback dihapus. Ini terjadi jika callback dihapus sebelum eksekutor callback benar-benar berjalan (I7fc5e, b/181143772)
  • Memperbaiki masalah yang mengharuskan aplikasi secara eksplisit mengambil dependensi pada lifecycle-common-java8 (I8b8c8)
  • Memperbaiki NullPointerException yang ditampilkan saat aplikasi menerima panggilan stopNavigation ketika sudah menghapus callback (Ib8b89, b/181143772)
  • Peningkatan untuk tidak mengirim panggilan ke aplikasi jika siklus prosesnya setidaknya tidak dalam status CREATED (I86965, b/179800224, b/177921120)
  • Memperbaiki masalah saat API min yang tidak valid yang ditentukan dalam manifes aplikasi akan ditampilkan, menyebabkan ANR pada host. (Iffedd, b/174231592)

Versi 1.0.0-beta01

24 Februari 2021

androidx.car.app:app:1.0.0-beta01 dirilis. Versi 1.0.0-beta01 berisi commit berikut ini.

Ini adalah rilis Jetpack pertama dari library sumber tertutup sebelumnya, dan kompatibel dengan Android Auto 6.1 atau yang lebih baru. Ikuti panduan pengembangan untuk detail cara membuat aplikasi mobil menggunakan library ini.

Fitur Baru

Perbaikan Bug

  • Memperbaiki masalah ketika Screen yang salah dilanjutkan saat menampilkan layar secara berurutan. (b/177590791)