Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dfa4ae0d authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

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
parents 18bf375d 514c23ca
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -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;

+8 −4
Original line number Diff line number Diff line
@@ -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;
+4 −2
Original line number Diff line number Diff line
@@ -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;
+1 −0
Original line number Diff line number Diff line
@@ -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,