Add host_supported to VHAL libs.

We need to build a FakeVehicleHardware impl on host, thus we need
to add the host_supported option.

Test: Local build on host.
Bug: 328316981
Change-Id: Ia21d26640c465846423cab1a0ff8a283c798b92a
This commit is contained in:
Yu Shan 2024-05-15 10:49:20 -07:00
parent 6c4bc494ee
commit 9d3513882a
16 changed files with 48 additions and 26 deletions

View file

@ -60,5 +60,5 @@ aidl_interface {
},
],
host_supported: true,
}

View file

@ -24,4 +24,5 @@ cc_library_headers {
local_include_dirs: ["."],
export_include_dirs: ["."],
defaults: ["VehicleHalInterfaceDefaults"],
host_supported: true,
}

View file

@ -24,6 +24,7 @@ cc_library_headers {
local_include_dirs: ["."],
export_include_dirs: ["."],
defaults: ["VehicleHalInterfaceDefaults"],
host_supported: true,
}
cc_library_headers {
@ -32,4 +33,5 @@ cc_library_headers {
local_include_dirs: ["."],
export_include_dirs: ["."],
defaults: ["VehicleHalInterfaceDefaults"],
host_supported: true,
}

View file

@ -49,6 +49,7 @@ cc_library {
],
cflags: ["-DENABLE_VEHICLE_HAL_TEST_PROPERTIES"],
shared_libs: ["libjsoncpp"],
host_supported: true,
}
cc_library_headers {

View file

@ -32,4 +32,5 @@ cc_library {
shared_libs: [
"libjsoncpp",
],
host_supported: true,
}

View file

@ -37,6 +37,7 @@ cc_library {
whole_static_libs: [
"wakeup_client_protos",
],
host_supported: true,
}
cc_defaults {

View file

@ -206,7 +206,7 @@ class FakeVehicleHardware : public IVehicleHardware {
EXCLUDES(mLock);
// Load the config files in format '*.json' from the directory and parse the config files
// into a map from property ID to ConfigDeclarations.
void loadPropConfigsFromDir(const std::string& dirPath,
bool loadPropConfigsFromDir(const std::string& dirPath,
std::unordered_map<int32_t, ConfigDeclaration>* configs);
// Function to be called when a value change event comes from vehicle bus. In our fake
// implementation, this function is only called during "--inject-event" dump command.

View file

@ -363,7 +363,12 @@ bool FakeVehicleHardware::UseOverrideConfigDir() {
std::unordered_map<int32_t, ConfigDeclaration> FakeVehicleHardware::loadConfigDeclarations() {
std::unordered_map<int32_t, ConfigDeclaration> configsByPropId;
loadPropConfigsFromDir(mDefaultConfigDir, &configsByPropId);
bool defaultConfigLoaded = loadPropConfigsFromDir(mDefaultConfigDir, &configsByPropId);
if (!defaultConfigLoaded) {
// This cannot work without a valid default config.
ALOGE("Failed to load default config, exiting");
exit(1);
}
if (UseOverrideConfigDir()) {
loadPropConfigsFromDir(mOverrideConfigDir, &configsByPropId);
}
@ -2378,11 +2383,16 @@ void FakeVehicleHardware::onValuesChangeCallback(std::vector<VehiclePropValue> v
(*mOnPropertyChangeCallback)(std::move(subscribedUpdatedValues));
}
void FakeVehicleHardware::loadPropConfigsFromDir(
bool FakeVehicleHardware::loadPropConfigsFromDir(
const std::string& dirPath,
std::unordered_map<int32_t, ConfigDeclaration>* configsByPropId) {
ALOGI("loading properties from %s", dirPath.c_str());
if (auto dir = opendir(dirPath.c_str()); dir != NULL) {
auto dir = opendir(dirPath.c_str());
if (dir == nullptr) {
ALOGE("Failed to open config directory: %s", dirPath.c_str());
return false;
}
std::regex regJson(".*[.]json", std::regex::icase);
while (auto f = readdir(dir)) {
if (!std::regex_match(f->d_name, regJson)) {
@ -2401,7 +2411,7 @@ void FakeVehicleHardware::loadPropConfigsFromDir(
}
}
closedir(dir);
}
return true;
}
Result<float> FakeVehicleHardware::safelyParseFloat(int index, const std::string& s) {

View file

@ -29,4 +29,5 @@ cc_library {
"VehicleHalUtils",
],
export_static_lib_headers: ["VehicleHalUtils"],
host_supported: true,
}

View file

@ -29,4 +29,5 @@ cc_library {
"VehicleHalUtils",
],
export_static_lib_headers: ["VehicleHalUtils"],
host_supported: true,
}

View file

@ -127,4 +127,5 @@ cc_library_static {
cflags: [
"-Wno-unused-parameter",
],
host_supported: true,
}

View file

@ -39,6 +39,7 @@ cc_library {
],
defaults: ["VehicleHalDefaults"],
export_static_lib_headers: ["VehicleHalUtils"],
host_supported: true,
}
cc_test {

View file

@ -30,4 +30,5 @@ cc_library_headers {
export_header_lib_headers: [
"VehicleHalUtilHeaders",
],
host_supported: true,
}

View file

@ -25,10 +25,12 @@ cc_library {
local_include_dirs: ["include"],
export_include_dirs: ["include"],
defaults: ["VehicleHalDefaults"],
host_supported: true,
}
cc_library_headers {
name: "VehicleHalUtilHeaders",
export_include_dirs: ["include"],
vendor: true,
host_supported: true,
}

View file

@ -172,9 +172,7 @@ VhalResult<void> VehiclePropertyStore::writeValue(VehiclePropValuePool::Recyclab
}
if (onValuesChangeCallback == nullptr && onValueChangeCallback == nullptr) {
ALOGW("No callback registered, ignoring property update for propId: %" PRId32
", area ID: %" PRId32,
propId, areaId);
// No callback registered.
return {};
}

View file

@ -61,6 +61,7 @@ aidl_interface {
},
],
host_supported: true,
}
filegroup {