Car App

Mem-build aplikasi dengan template untuk Android Auto dan Android Automotive OS.
Update Terbaru Rilis Stabil Kandidat Rilis Rilis Beta Rilis Alfa
13 November 2024 1.4.0 - 1.7.0-beta03 -

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.4.0"

    // For Android Auto specific functionality
    implementation "androidx.car.app:app-projected:1.4.0"

    // For Android Automotive specific functionality
    implementation "androidx.car.app:app-automotive:1.4.0"

    // For testing
    testImplementation "androidx.car.app:app-testing:1.4.0"
}

Kotlin

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

    // For Android Auto specific functionality
    implementation("androidx.car.app:app-projected:1.4.0")

    // For Android Automotive specific functionality
    implementation("androidx.car.app:app-automotive:1.4.0")

    // For testing
    testImplementation("androidx.car.app:app-testing:1.4.0")
}

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.7

Versi 1.7.0-beta03

13 November 2024

Memperbaiki kerentanan keamanan dan perbaikan bug umum lainnya. Jika Anda menggunakan versi yang lebih rendah, update untuk menggunakan versi ini.

androidx.car.app:app-*:1.7.0-beta03 dirilis. Versi 1.7.0-beta03 berisi commit ini.

Perubahan API

  • Perbarui kode Serialisasi / Deserialisasi CAL agar hanya menangani objek yang mendeklarasikan anotasi @CarProtocol. (Ic730e)
  • CarAppExtender kini dapat digunakan untuk memperluas framework Notification.Builder, bukan hanya NotificationCompat.Builder. (Id3ad7)
  • Tambahkan KEY_EXCLUDE_MEDIA_ITEM_FROM_MIXED_APP_LIST tambahan. (I201f9)
  • Menghentikan penggunaan konstruktor Builder kosong di ConversationItem dan menggantinya dengan konstruktor yang menggunakan parameter yang diperlukan. Juga menambahkan pemeriksaan untuk mencegah pesan null. (Ic8221)

Perbaikan Bug

  • Pastikan peta PlaceList menggunakan string (Khusus teks) Judul header. (Ic992f)
  • Library ini kini menggunakan anotasi nullness JSpecify, yang merupakan penggunaan jenis. Developer Kotlin harus menggunakan argumen compiler berikut untuk menerapkan penggunaan yang benar: -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode. (Ib5367, b/326456246)

Versi 1.7.0-beta02

18 September 2024

androidx.car.app:app-*:1.7.0-beta02 dirilis. Versi 1.7.0-beta02 berisi commit ini.

Perubahan API

  • Menambahkan KEY_ROOT_HINT_MEDIA_HOST_VERSION tambahan (I8796b)
  • Mengganti class TabContents.Api8Builder dengan konstruktor @ExperimentalCarApi di class TabContents.Builder (I26fbe)
  • Menambahkan tindakan intent dan tambahan untuk CarMediaApp (I50782)
  • Menandai API pesan sebagai non-eksperimental (I0b070)
  • Menambahkan pemuatan item jarak jauh ke SectionedItemTemplate (memungkinkan daftar panjang dimuat tanpa error) (I0d122)
  • Menambahkan SectionedItemTemplate ke daftar template yang didukung di dalam TabTemplate di API 8. (Idc5d6)

Perbaikan Bug

  • Menghapus garis besar manual akses ke API platform baru karena hal ini terjadi secara otomatis melalui pemodelan API saat menggunakan R8 dengan AGP 7.3 atau yang lebih baru (misalnya, R8 versi 3.3) dan untuk semua build saat menggunakan AGP 8.1 atau yang lebih baru (misalnya, D8 versi 8.1). Klien yang tidak menggunakan AGP disarankan untuk mengupdate ke D8 versi 8.1 atau yang lebih baru. Baca artikel ini untuk informasi selengkapnya. (I9496c, b/345472586)

Versi 1.7.0-beta01

26 Juni 2024

androidx.car.app:app-*:1.7.0-beta01 dirilis. Versi 1.7.0-beta01 berisi commit ini. Fitur sama seperti yang dipublikasikan di alpha01, yang diulang di bawah:

Fitur Baru

  • Peta dengan Konten: Template baru Kanvas Peta plus template konten, yang untuk saat ini dapat berupa Daftar / Petak / Panel / Pesan.
    • RoutePreview, PlaceListNavigation, MapTemplate kini tidak digunakan lagi. Template akan terus berfungsi seperti semula.
    • Aplikasi contoh telah diperbarui untuk menampilkan penggunaan MapWithContent, bukan template yang tidak digunakan lagi
  • Item Percakapan: API baru untuk menampilkan percakapan (IM, SMS), dan pembacaan Asisten di mobil.
  • Dimensi Kendaraan: API baru untuk mengambil pengukuran kendaraan (data di AAOS saat ini).

Perubahan API

  • Tambahkan tag @ExperimentalCarApi ke MediaPlaybackTemplate.Builder. (Ic1957)
  • Menambahkan SectionedItemTemplate baru dalam versi eksperimental. (I5958a)
  • Memperkenalkan CarAppApiLevel 8 (I3fa22)
  • Menambahkan MediaPlaybackTemplate untuk menampilkan konten selama pemutaran media di Library Aplikasi Mobil. (I3c10d)
  • Menambahkan API baru untuk aplikasi guna mendeteksi apakah sistem mendukung audio latar belakang saat mengemudi (I0f868)

Perbaikan Bug

  • Memperbaiki instance kebocoran memori dan error tertentu dalam kode klien CAL dan di Aplikasi Contoh Navigasi CAL. (I55e04)
  • Ganti requireNotNull instances dalam metode onDestroy BaseCarAppActivity dengan pemeriksaan if-null untuk menghindari error. (Iec676)

Versi 1.7.0-alpha02

17 April 2024

androidx.car.app:app-*:1.7.0-alpha02 dirilis. Versi 1.7.0-alpha02 berisi commit ini.

Fitur Baru

  • Menambahkan flag yang tidak digunakan lagi untuk template berbasis peta yang akan didukung oleh template MapWithContent ke depannya.

Perubahan API

  • Menghentikan penggunaan MapTemplate, RoutePreviewNavigationTemplate, PlaceListNavigationTemplate lama dan mendorong penggunaan MapWithContentTemplate baru (Ib0a08)

Versi 1.7.0-alpha01

3 April 2024

androidx.car.app:app-*:1.7.0-alpha01 dirilis. Kami telah memindahkan skema pembuatan versi library agar cocok dengan versi CarApi yang aktif. Hal ini untuk mengurangi kebingungan pada skema penamaan berdasarkan masukan developer. Oleh karena itu, kita akan melewati versi 1.5 / 1.6 dan langsung beralih ke versi 1.7. Versi 1.7.0-alpha01 berisi commit ini.

Fitur Baru

  • Peta dengan Konten: Template baru bernama MapWithContent yang mendukung Daftar / Petak / Panel / Pesan sebagai Konten di dalam peta.
    • RoutePreview, PlaceListNavigation, Template peta kini tidak digunakan lagi.
    • Aplikasi contoh telah diperbarui untuk menampilkan fungsi template yang tidak digunakan lagi menggunakan MapWithContent.
  • Item Percakapan: API baru untuk menampilkan percakapan (IM, SMS), dan pembacaan Asisten di mobil.
  • Dimensi Kendaraan: API baru untuk mengambil pengukuran kendaraan (data di AAOS saat ini).

Perubahan API

  • Menandai jenis gambar baris ekstra kecil sebagai eksperimental (I5184b)
  • Menambahkan CarInfo#fetchExteriorDimensions API yang memungkinkan akses ke informasi dimensi eksterior kendaraan seperti tinggi, lebar, dll. (Ia40c5)
  • Menghapus tag ExperimentalAPI dari MapWithContentTemplate (I66db8)
  • Perbarui parameter GridItem#setTitle agar nullable. (I3d610)
  • GetHeader API tidak memerlukan API 7 karena kompatibel dengan versi sebelumnya (I8c812)
  • Menambahkan dukungan untuk Header di ListTemplate, menghentikan penggunaan headerAction, headerTitle, actionStrip (I7ae01)
  • Menghentikan penggunaan title, headerAction, actionStrip di GridTemplate dan menambahkan dukungan untuk Header (I41a9c)
  • Menghapus persyaratan level 7 untuk API eksperimental: Badge, ukuran item GridTemplate, dan pengambil/pengatur bentuk gambar, metode GridItem untuk mendapatkan/menetapkan Badge. (Id71eb)
  • Menghentikan penggunaan title, headerAction, actionStrip di PaneTemplate, menambahkan dukungan Header baru (I23154)
  • Mengubah telemetri Media Center dari BroadcastReceiver menjadi Menjelajahi Tindakan Kustom. (I4185f)
  • Menambahkan dukungan atribut Header di MessageTemplate. Dukungan untuk ActionStrip, headerAction, dan title tidak digunakan lagi. (Ie2de8)
  • Mengubah visibilitas konstanta pemberitahuan (Icf8a8)
  • Menghapus atribut isLoading dari template induk (I651e6)
  • Menambahkan tambahan untuk memberi tahu aplikasi media tentang parameter UI utama (I85ca2)
  • Menambahkan fitur analisis media center ke MediaExtensions (I7ce28)
  • Menambahkan opsi untuk gambar ekstra kecil pada baris. (I72c03)

Perbaikan Bug

  • Memperbarui javadoc di ConversationItem untuk menyatakan bahwa pesan harus diurutkan dalam urutan dari yang terlama ke yang terbaru. (I77a2a)
  • Memperbarui logika pemotongan ListTemplate untuk menghapus pesan terlama dari ConversationItem (Ie0a61)

Versi 1.4

Versi 1.4.0

29 Mei 2024

androidx.car.app:app-*:1.4.0 dirilis. Versi 1.4.0 adalah promosi dari 1.4.0-rc02.

Perubahan penting sejak versi 1.3.0

  • Rendering peta Cluster Instrumen untuk aplikasi Navigasi
  • Template Tab Baru untuk meningkatkan tata letak / kegunaan aplikasi
  • Dukungan untuk Batas tugas adaptif
  • Tindakan sekunder pada elemen daftar

Versi 1.4.0-rc02

13 Desember 2023

androidx.car.app:app-*:1.4.0-rc02 dirilis. Versi 1.4.0-rc02 berisi commit ini. Hanya perbaikan minor

Perbaikan Bug

  • Mengupdate javadoc di ConversationItem untuk menyatakan bahwa pesan harus diurutkan dari yang terlama ke yang terbaru (I77a2a)
  • Memperbarui logika pemotongan ListTemplate untuk menghapus pesan terlama dari ConversationItem (Ie0a61)

Versi 1.4.0-rc01

1 November 2023

androidx.car.app:app-*:1.4.0-rc01 dirilis tanpa perubahan penting. Versi 1.4.0-rc01 berisi commit ini.

Versi 1.4.0-beta02

20 September 2023

androidx.car.app:app-*:1.4.0-beta02 dirilis. Versi 1.4.0-beta02 berisi commit ini. Cara ini hampir sama dengan beta01, tetapi menurunkan persyaratan compileSdk menjadi 33.

Perbaikan Bug

  • Memperbaiki bug saat layar pemuatan di Tab tidak ditampilkan dengan benar. (cae860)

Versi 1.4.0-beta01

9 Agustus 2023

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

Catatan: 1.4-beta01 memerlukan compileSdk34, yang masih dalam status dev. 1.4-beta02 akan memperbaiki masalah ini. Atau, Anda dapat menambahkan android.suppressUnsupportedCompileSdk=34 ke file settings.gradle project untuk menyembunyikan peringatan untuk sementara dengan aman.

Fitur Baru

  • Rendering peta Cluster instrumen untuk aplikasi Navigasi
  • Template Tab baru untuk meningkatkan tata letak / kegunaan aplikasi
  • Dukungan untuk Batas tugas adaptif
  • Tindakan sekunder pada elemen daftar

Perubahan API

  • Lihat alpha02

Versi 1.4.0-alpha02

26 Juli 2023

androidx.car.app:app-*:1.4.0-alpha02 dirilis. Versi 1.4.0-alpha02 berisi commit ini.

  • Rilis Alpha02 dimaksudkan sebagai persiapan untuk rilis beta01 mendatang.

Fitur Baru

  • Dukungan rendering peta di Cluster Instrumen untuk aplikasi navigasi
  • Menambahkan Tab untuk aplikasi guna meningkatkan pengalaman tata letak
  • Menambahkan opsi rendering template Daftar / Petak
  • Menambahkan kategori baru untuk Cuaca dan Komunikasi
  • Memindahkan beberapa API ke rilis CarApi 7 berikutnya

Perubahan API

  • Menambahkan kolom multimedia ke CarMessage (I5aaf6)
  • Menambahkan tindakan kustom ke ConversationItem di Library Aplikasi Mobil (Ie5ed6)
  • Menambahkan tambahan untuk menunjukkan bahwa item media diputar dengan format audio imersif dan menampilkan logo format kontennya (Icb5bb)
  • Menambahkan jenis Action baru, ActionsConstraints API untuk mendukung tombol compose. (I31661)
  • Membuat set/getTemplate sebagai set/get ContentTemplate (Ica036)
  • Parameter template kini menjadi @NonNull. Memperbarui dokumentasi MapWithContentTemplate API (I0f8ed)
  • Menghapus tag @ExperimentalCarApi untuk Action di ListTemplate untuk peluncuran di CAL 1.4 (I2cfcb)
  • Menghapus tag @ExperimentalCarApi untuk TabTemplate (Ifcb82)
  • Menghapus anotasi @ExperimentalCarApi dari tindakan dan dekorasi sekunder Baris (I8487e)
  • Menambahkan ID konten tab aktif ke TabTemplate dan menghentikan penggunaan status aktif di Tab (I96932)
  • Menambahkan properti ItemImageShape ke GridTemplate (Ibf431)
  • Tambahkan properti ItemSize ke GridTemplate, yang mengontrol ukuran item petak sesuai dengan bucket kecil, sedang, dan besar yang relatif. (Icdb3b)
  • Buka akses API bagi developer untuk mendapatkan salinan stack layar saat ini. (I48107)
  • Menambahkan kategori untuk aplikasi cuaca ke Library Aplikasi Mobil (I2be44)
  • Menambahkan kategori untuk aplikasi panggilan ke Library Aplikasi Mobil (Icab33)
  • Mengganti GridItem.Builder#setBadge() dengan metode setImage() yang dioverload (Id2000)
  • Menambahkan properti ikon ke Badge (I629b2)
  • Menambahkan metode untuk menetapkan warna latar belakang badge titik (I6411c)
  • Tambahkan properti Badge ke GridItem, yang memungkinkan badge ditampilkan di atas gambar GridItem. (I95de7)
  • Menambahkan objek Badge eksperimental yang akan mewakili badge yang akan ditampilkan di atas gambar. (I9878d)

Versi 1.4.0-alpha01

22 Februari 2023

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

Perubahan API

  • Menambahkan tindakan tingkat atas ke GridTemplate di Library Aplikasi Mobil (Id0191)
  • Menambahkan tindakan tingkat atas ke ListTemplate di Library Aplikasi Mobil (I9efab)
  • Menambahkan tambahan untuk menautkan subtitel item media atau deskripsinya ke item media lain (Ic84bf)
  • Mengupdate API level untuk tindakan baris menjadi level 6. (Ie0a69)
  • Menambahkan callback fitur pesan ke A4C (Ie3986)

Perbaikan Bug

  • Menambahkan referensi dokumen java yang tidak ada untuk CarMessage. (I5db1c)
  • Mengganti equals() dan hashCode() untuk ConversationItem dan CarMessage (I6fd10)
  • Meningkatkan validasi ConversationItem.mMessages (memerlukan nilai non-null, non-kosong (Iafc51)
  • Menambahkan anotasi @Keep ke kolom ConversationItem (I5d250)
  • Memperbarui dokumen java untuk dekorasi Baris dan tindakan sekunder. (I000b6)

Versi 1.3

Versi 1.3.0-rc01

7 Desember 2022

androidx.car.app:app-*:1.3.0-rc01 dirilis. Version 1.3.0-rc01 berisi commit ini.

  • Perbaikan bug minor dari versi beta01. Tidak Ada Perubahan Besar.

Versi 1.3.0-beta01

7 September 2022

androidx.car.app:app:1.3.0-beta01, androidx.car.app:app-projected:1.3.0-beta01, androidx.car.app:app-automotive:1.3.0-beta01, dan androidx.car.app:app-testing:1.3.0-beta01 dirilis. Versi 1.3.0-beta01 berisi commit ini.

Fitur Baru

Selain kemampuan yang ditambahkan di Library Car App 1.3.0-alpha01, fitur berikut telah ditambahkan sebagai bagian dari beta01 (Semua fitur di sini hanya terlibat dengan perubahan sisi host tanpa perubahan API apa pun):

  • Menu navigasi mengambang akan terus ditampilkan meskipun pengguna berada di layar pilihan berbasis peta di PlaceListNavigationTemplate, RoutePreviewNavigationTemplate, dan MapTemplate. Hal ini dapat dilakukan dengan memperbarui info navigasi melalui NavigationManager.updateTrip().
  • Mengaktifkan tombol tindakan dengan FLAG_DEFAULT agar memiliki animasi waktu tunggu. Tombol ini akan diklik secara default setelah waktu tunggu habis. ([API 5 - All Templates])
  • Subteks Row tidak terpotong saat mobil diparkir, tetapi dipotong menjadi 2 baris saat mengemudi. ([API 5 - All Templates])
  • Mendukung status nonaktif untuk Action, Toggle, Row ([API 5 - All Templates])

Perubahan API

  • Melonggarkan batasan dalam daftar MapTemplate untuk mendukung daftar yang dapat dipilih (I961ed)
  • Menghapus batasan untuk Tindakan Header agar ikon khusus dapat digunakan. (Iad28f)
  • Menambahkan batasan setOnClickListenerAllowed() ke ActionsConstraints. Dengan mengizinkan Action menetapkan OnClickDelegate() ke tindakan kecuali jenis ikon standar. (TYPE_APP_ICON, TYPE_BACK, dan TYPE_PAN) (I3c745)

Perbaikan Bug

Versi 1.3.0-alpha01

27 Juli 2022

androidx.car.app:app:1.3.0-alpha01, androidx.car.app:app-projected:1.3.0-alpha01, androidx.car.app:app-automotive:1.3.0-alpha01, dan androidx.car.app:app-testing:1.3.0-alpha01 dirilis. Versi 1.3.0-alpha01 berisi commit ini.

Fitur yang dianotasi dengan API level 5 kompatibel dengan Android Auto 7.9 dan yang lebih baru.

Fitur Baru

  • API Level 5: MapTemplate baru yang dapat digunakan oleh aplikasi navigasi untuk menampilkan panel atau mencantumkan konten bersama peta (If5826, If44b8)
  • API Level 5: CarAudioRecord API baru untuk memungkinkan perekaman input audio melalui mikrofon kendaraan host (I5e71a)
  • API Level 5: SuggestionManager API baru untuk memungkinkan aplikasi memberikan saran kepada host (I5c103)
  • API Level 5: Alert API baru untuk ditampilkan dalam notifikasi konteks pada NavigationTemplate (I163a7, I5ad70)
  • API Level 5: komponen Header dan MapController baru untuk memfasilitasi penggunaan kembali di seluruh template (If5826)
  • Menambahkan androidx.car.app.category.POI sebagai kategori untuk mengaktifkan aplikasi POI (dan androidx.car.app.category.PARKING serta androidx.car.app.category.CHARGING yang tidak digunakan lagi) (I59da1)

Perubahan API

  • API Level 5: metode onClick baru di antarmuka SurfaceCallback untuk memungkinkan tindakan ketuk pada interaktivitas peta (Ia9777)
  • API Level 5: flag baru Action.FLAG_IS_PERSISTENT dan Action.FLAG_DEFAULT untuk mendeskripsikan Action (I96318, I5ad70)
  • API Level 5: status diaktifkan/dinonaktifkan baru untuk komponen Action, Row, dan Toggle (dukungan host akan hadir sekitar rilis library 1.3.0-beta01) (Id8a09)
  • API Level 5: Mendukung komponen Header baru melalui setHeader pada PlaceListNavigationTemplate.Builder dan RoutePreviewNavigationTemplate.Builder, serta menghentikan penggunaan metode setTitle dan setHeaderAction yang ada (I30e6a)
  • API Level 5: metode setOnContentRefreshListner baru pada PlaceListMapTemplate.Builder dan PlaceListNavigationTemplate.Builder untuk digunakan dengan implementasi antarmuka OnContentRefreshListner yang baru.
  • API Level 5: setTripText dan setTripIcon baru di TravelEstimate.Builder untuk menyesuaikan kartu perkiraan perjalanan (Idcc6d, Ic620d)
  • Menambahkan dukungan untuk CarIconSpan dalam judul PaneTemplate (Ia1ee0)
  • Menambahkan dukungan untuk CarIconSpan dalam judul dan teks Row (Ic1e3c)
  • Kini ActionStrip peta dapat memiliki hingga empat tindakan (If3522)
  • Mengupdate API Level Aplikasi Mobil ke 5 (I26b8e)
  • Header/judul kini bersifat opsional untuk PlaceListMapTemplate, PlaceListNavigationTemplate, RoutePreviewNavigationTemplate, GridTemplate, ListTemplate, LongMessageTemplate, MessageTemplate, PaneTemplate, dan SignInTemplate (I2078d, Icadde)

Perbaikan Bug

  • Mengupdate aturan ukuran gambar PaneTemplate menjadi kotak pembatas persegi (Idd72e)
  • Memperbaiki pengecualian yang terjadi jika stack layar diubah setelah State.DESTROYED. (I3c8eb)
  • Menambahkan pemeriksaan null untuk pengambilan ikon aplikasi (I3f710)
  • Mengupdate Car Hardware API untuk menggunakan STATUS_UNKNOWN, bukan STATUS_UNAVAILABLE secara default (Ic9444)
  • Periksa apakah tampilan ada sebelum membuat platform (Ice027a)
  • Memperbaiki bug CarValue.equals() yang melibatkan STATUS_UNIMPLEMENTED (I24451)

Versi 1.2

Versi 1.2.0

9 November 2022

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

  • Ini adalah rilis stabilisasi, dan tidak ada perubahan jika dibandingkan dengan v1.2.0-rc01.

Versi 1.2.0-rc01

23 Maret 2022

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

  • Ini adalah rilis stabilisasi, dan tidak ada perubahan API jika dibandingkan dengan v1.2.0-beta02. Fitur eksperimental baru (API level 5) telah ditambahkan dan ditujukan untuk rilis Android Auto dan Android Automotive mendatang.

Perbaikan Bug

  • Memperbaiki pengecualian yang terjadi jika stack layar diubah setelah State.DESTROYED. (I3c8eb)
  • Mengupdate CarSensors API guna menunjukkan bahwa implementasinya tidak diterapkan untuk AAOS (Idd57b)
  • Mengupdate PlaceListMapTempalte.Builder#setCurrentLocationEnabled untuk menunjukkan bahwa ACCESS_COARSE_LOCATION akan cukup untuk fitur tersebut (I510c2)
  • Membuat nomor exit menjadi opsional untuk jenis manuver bundaran bersudut (Ife7d1)

Versi 1.2.0-beta02

26 Januari 2022

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

Aplikasi mobil yang dibuat dengan versi library ini dan menargetkan platform Android Automotive OS sekarang dapat dipublikasikan ke saluran pengujian terbuka Play Store. Lihat panduan pengembangan untuk detail selengkapnya.

Fitur yang dianotasi dengan API level 4 dan yang lebih rendah kompatibel dengan Android Auto 7.2 dan yang lebih tinggi serta platform Android Automotive OS baru. Lihat bagian Known Issues di bawah untuk peringatan.

Perubahan API

  • Menambahkan setOnContentRefreshListener API eksperimental ke template POI (I6bf22)

Perbaikan Bug

  • Memperbaiki kebocoran memori dalam CarAppService saat host mobil melepas ikatan. (I5c9ca, b/203594731)
  • Mengupdate javadoc CarAppActivity agar menyertakan persyaratan untuk mode peluncuran singleTask (Id2f95)
  • Mengurangi glitch visual saat melanjutkan. (Iff7e0)

Masalah Umum

  • ActionStrip peta di PlaceListNavigationTemplate dan RoutePreviewNavigateTemplate akan mulai tersedia di rilis Android Auto dan Android Automotive OS berikutnya.

Versi 1.2.0-alpha02

15 Desember 2021

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

Fitur yang dianotasi dengan API level 4 telah diupgrade dari eksperimental ke stabil, termasuk peta ActionStrip di PlaceListNavigationTemplate dan RoutePreviewNavigateTemplate, gambar CarIcon di Pane, QRCodeSignInMethod dan kemampuan untuk menetapkan petunjuk rendering (misalnya flag) dalam Action.

Fitur Baru

  • Di Android Auto 7.1 dan yang lebih baru, batas item untuk Pane telah dinaikkan dari 2 menjadi 4.

Perubahan API

  • Menambahkan metode toString() eksperimental ke CarUnit (I36a3b)

Perbaikan Bug

  • Memperbaiki error yang terjadi di CarAppPermissionActivity jika callback sudah tidak aktif (If9823)
  • Mengubah batas daftar default Pane menjadi 4 (I0068b)

Versi 1.2.0-alpha01

3 November 2021

androidx.car.app:app-*:1.2.0-alpha01 dirilis. Versi 1.2.0-alpha01 berisi commit 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

15 Desember 2021

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

Ini adalah rilis stabilisasi, dan tidak ada perubahan jika dibandingkan dengan v1.1.0-rc01. Lihat juga catatan rilis untuk v1.2.0-alpha02 guna mengetahui detail selengkapnya tentang fitur baru untuk library aplikasi mobil.

Perubahan penting sejak versi 1.0.0

  • API Level 2: SignInTemplate dan LongMessageTemplate yang dapat digunakan untuk alur login saat kendaraan diparkir
  • API Level 2: dukungan interaktivitas peta dalam NavigationTemplate
  • API Level 2: dukungan beberapa teks panjang untuk memungkinkan aplikasi memberikan beberapa versi string untuk ditampilkan, bergantung pada ukuran layar mobil.
  • API Level 3: CarHardwareManager yang dapat digunakan untuk mengkueri data hardware kendaraan, seperti model dan produsen, tingkat bahan bakar, dan sensor lainnya.

Versi 1.1.0-rc01

3 November 2021

androidx.car.app:app-*:1.1.0-rc01 dirilis. Versi 1.1.0-rc01 berisi commit 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 ini.

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 API level 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 platform 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 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 pengembangan 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)