Untuk memigrasi implementasi HIDL VHAL yang ada ke AIDL VHAL, gunakan struktur implementasi referensi AIDL untuk mengimplementasikan antarmuka IVehicleHardware
.
Jika implementasi HIDL yang ada juga mengikuti Implementasi referensi HIDL , vendor telah mengimplementasikan kelas Saat bermigrasi dari HIDL VHAL ke AIDL VHAL, pertimbangkan perbedaan ini. Akibatnya, Anda harus menyertakan semua file header untuk tipe yang Anda perlukan. File pembantu, Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya. Terakhir diperbarui pada 2024-04-29 UTC.VehicleHal
. IVehicleHardware
sangat mirip dengan VehicleHal
. HIDL VHAL AIDL VHAL getAllPropertyConfigs()
Sama seperti VehicleHal.listProperties()
getValues(callback, requests)
Dapat memanggil VehicleHal.get()
untuk setiap permintaan dan dapat memanggil callback. dump()
Sama seperti VehicleHal.dump()
checkHealth()
Dapat mengembalikan VehicleHal.get()
registerPropertyChangeCallback()
Mirip dengan pengaturan VehicleHal.mOnHalEvent
Perbedaan tipe di AIDL
types.h
) untuk semua tipe yang dihasilkan types.hal
. AIDL menghasilkan satu file header untuk setiap jenis. Misalnya, VehiclePropValue.h
dari VehiclePropValue.aidl
.VehicleHalTypes.h
di perpustakaan VehicleHalUtils
berisi sebagian besar tipe umum. Alih-alih ... Menggunakan hidl_vec
std::vector
hidl_string
std::string
android::sp
std::shared_ptr
android::wp
std::weak_ptr
types.hal
sama di AIDL kecuali untuk:SubscribeFlags
dihapus karena tidak digunakan karena onPropertySet
dihapusUserFlags
sekarang didefinisikan di UserInfo.aidl
dan harus didefinisikan sebagai sebuah flag, bukan enum. Bidang tanda pengguna adalah bilangan bulat yang memiliki beberapa bit UserInfo.USER_FLAG_XXX
-atau bersamaan.RawValue
di VehiclePropValue
diganti namanya menjadi RawPropValue
bytes
di RawValue
diganti namanya menjadi byteValues