mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:23:37 +00:00
Merge changes from topic "sdv-vhal-emulator-service" into udc-qpr-dev-plus-aosp
* changes: Make event callback accessible to child classes Move VHAL config dirs to protected Make 2.0-libproto-native visible to sdv_ivi_cf
This commit is contained in:
committed by
Android (Google) Code Review
commit
dfa4ae0d28
@@ -99,12 +99,17 @@ class FakeVehicleHardware : public IVehicleHardware {
|
||||
const std::shared_ptr<VehiclePropValuePool> mValuePool;
|
||||
const std::shared_ptr<VehiclePropertyStore> mServerSidePropStore;
|
||||
|
||||
const std::string mDefaultConfigDir;
|
||||
const std::string mOverrideConfigDir;
|
||||
|
||||
ValueResultType getValue(
|
||||
const aidl::android::hardware::automotive::vehicle::VehiclePropValue& value) const;
|
||||
|
||||
VhalResult<void> setValue(
|
||||
const aidl::android::hardware::automotive::vehicle::VehiclePropValue& value);
|
||||
|
||||
bool UseOverrideConfigDir();
|
||||
|
||||
private:
|
||||
// Expose private methods to unit test.
|
||||
friend class FakeVehicleHardwareTestHelper;
|
||||
@@ -156,8 +161,6 @@ class FakeVehicleHardware : public IVehicleHardware {
|
||||
aidl::android::hardware::automotive::vehicle::SetValueRequest>
|
||||
mPendingSetValueRequests;
|
||||
|
||||
const std::string mDefaultConfigDir;
|
||||
const std::string mOverrideConfigDir;
|
||||
const bool mForceOverride;
|
||||
bool mAddExtraTestVendorConfigs;
|
||||
|
||||
|
||||
@@ -240,6 +240,8 @@ FakeVehicleHardware::FakeVehicleHardware(std::string defaultConfigDir,
|
||||
std::string overrideConfigDir, bool forceOverride)
|
||||
: mValuePool(std::make_unique<VehiclePropValuePool>()),
|
||||
mServerSidePropStore(new VehiclePropertyStore(mValuePool)),
|
||||
mDefaultConfigDir(defaultConfigDir),
|
||||
mOverrideConfigDir(overrideConfigDir),
|
||||
mFakeObd2Frame(new obd2frame::FakeObd2Frame(mServerSidePropStore)),
|
||||
mFakeUserHal(new FakeUserHal(mValuePool)),
|
||||
mRecurrentTimer(new RecurrentTimer()),
|
||||
@@ -247,8 +249,6 @@ FakeVehicleHardware::FakeVehicleHardware(std::string defaultConfigDir,
|
||||
[this](const VehiclePropValue& value) { eventFromVehicleBus(value); })),
|
||||
mPendingGetValueRequests(this),
|
||||
mPendingSetValueRequests(this),
|
||||
mDefaultConfigDir(defaultConfigDir),
|
||||
mOverrideConfigDir(overrideConfigDir),
|
||||
mForceOverride(forceOverride) {
|
||||
init();
|
||||
}
|
||||
@@ -259,11 +259,15 @@ FakeVehicleHardware::~FakeVehicleHardware() {
|
||||
mGeneratorHub.reset();
|
||||
}
|
||||
|
||||
bool FakeVehicleHardware::UseOverrideConfigDir() {
|
||||
return mForceOverride ||
|
||||
android::base::GetBoolProperty(OVERRIDE_PROPERTY, /*default_value=*/false);
|
||||
}
|
||||
|
||||
std::unordered_map<int32_t, ConfigDeclaration> FakeVehicleHardware::loadConfigDeclarations() {
|
||||
std::unordered_map<int32_t, ConfigDeclaration> configsByPropId;
|
||||
loadPropConfigsFromDir(mDefaultConfigDir, &configsByPropId);
|
||||
if (mForceOverride ||
|
||||
android::base::GetBoolProperty(OVERRIDE_PROPERTY, /*default_value=*/false)) {
|
||||
if (UseOverrideConfigDir()) {
|
||||
loadPropConfigsFromDir(mOverrideConfigDir, &configsByPropId);
|
||||
}
|
||||
return configsByPropId;
|
||||
|
||||
@@ -82,6 +82,10 @@ class GRPCVehicleHardware : public IVehicleHardware {
|
||||
|
||||
bool waitForConnected(std::chrono::milliseconds waitTime);
|
||||
|
||||
protected:
|
||||
std::shared_mutex mCallbackMutex;
|
||||
std::unique_ptr<const PropertyChangeCallback> mOnPropChange;
|
||||
|
||||
private:
|
||||
void ValuePollingLoop();
|
||||
|
||||
@@ -90,8 +94,6 @@ class GRPCVehicleHardware : public IVehicleHardware {
|
||||
std::unique_ptr<proto::VehicleServer::Stub> mGrpcStub;
|
||||
std::thread mValuePollingThread;
|
||||
|
||||
std::shared_mutex mCallbackMutex;
|
||||
std::unique_ptr<const PropertyChangeCallback> mOnPropChange;
|
||||
std::unique_ptr<const PropertySetErrorCallback> mOnSetErr;
|
||||
|
||||
std::mutex mShutdownMutex;
|
||||
|
||||
@@ -27,6 +27,7 @@ cc_library_static {
|
||||
visibility: [
|
||||
"//hardware/interfaces/automotive/vehicle:__subpackages__",
|
||||
"//device/generic/car/emulator:__subpackages__",
|
||||
"//device/google/sdv/sdv_ivi_cf:__subpackages__",
|
||||
],
|
||||
vendor: true,
|
||||
host_supported: true,
|
||||
|
||||
Reference in New Issue
Block a user