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

Commit fadbaf00 authored by Karthik Bharadwaj's avatar Karthik Bharadwaj Committed by Automerger Merge Worker
Browse files

Merge "Fix VTS SensorsHidl Test Failures" am: 98e36a4c

Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1493936

Change-Id: Ic10dcdddf13819ce09cdfc916534cbca8d55baa5
parents 4c673e10 98e36a4c
Loading
Loading
Loading
Loading
+11 −25
Original line number Original line Diff line number Diff line
@@ -57,11 +57,11 @@ const SensorInfo& Sensor::getSensorInfo() const {
    return mSensorInfo;
    return mSensorInfo;
}
}


void Sensor::batch(int32_t samplingPeriodNs) {
void Sensor::batch(int64_t samplingPeriodNs) {
    if (samplingPeriodNs < mSensorInfo.minDelay * 1000) {
    if (samplingPeriodNs < mSensorInfo.minDelay * 1000ll) {
        samplingPeriodNs = mSensorInfo.minDelay * 1000;
        samplingPeriodNs = mSensorInfo.minDelay * 1000ll;
    } else if (samplingPeriodNs > mSensorInfo.maxDelay * 1000) {
    } else if (samplingPeriodNs > mSensorInfo.maxDelay * 1000ll) {
        samplingPeriodNs = mSensorInfo.maxDelay * 1000;
        samplingPeriodNs = mSensorInfo.maxDelay * 1000ll;
    }
    }


    if (mSamplingPeriodNs != samplingPeriodNs) {
    if (mSamplingPeriodNs != samplingPeriodNs) {
@@ -133,6 +133,11 @@ bool Sensor::isWakeUpSensor() {
}
}


std::vector<Event> Sensor::readEvents() {
std::vector<Event> Sensor::readEvents() {
    // For an accelerometer sensor type, default the z-direction
    // value to -9.8
    float zValue = (mSensorInfo.type == SensorType::ACCELEROMETER)
        ? -9.8 : 0.0;

    std::vector<Event> events;
    std::vector<Event> events;
    Event event;
    Event event;
    event.sensorHandle = mSensorInfo.sensorHandle;
    event.sensorHandle = mSensorInfo.sensorHandle;
@@ -140,7 +145,7 @@ std::vector<Event> Sensor::readEvents() {
    event.timestamp = ::android::elapsedRealtimeNano();
    event.timestamp = ::android::elapsedRealtimeNano();
    event.u.vec3.x = 0;
    event.u.vec3.x = 0;
    event.u.vec3.y = 0;
    event.u.vec3.y = 0;
    event.u.vec3.z = 0;
    event.u.vec3.z = zValue;
    event.u.vec3.status = SensorStatus::ACCURACY_HIGH;
    event.u.vec3.status = SensorStatus::ACCURACY_HIGH;
    events.push_back(event);
    events.push_back(event);
    return events;
    return events;
@@ -330,25 +335,6 @@ AmbientTempSensor::AmbientTempSensor(int32_t sensorHandle, ISensorsEventCallback
    mSensorInfo.flags = static_cast<uint32_t>(SensorFlagBits::ON_CHANGE_MODE);
    mSensorInfo.flags = static_cast<uint32_t>(SensorFlagBits::ON_CHANGE_MODE);
};
};


DeviceTempSensor::DeviceTempSensor(int32_t sensorHandle, ISensorsEventCallback* callback)
    : OnChangeSensor(callback) {
    mSensorInfo.sensorHandle = sensorHandle;
    mSensorInfo.name = "Device Temp Sensor";
    mSensorInfo.vendor = "Vendor String";
    mSensorInfo.version = 1;
    mSensorInfo.type = SensorType::TEMPERATURE;
    mSensorInfo.typeAsString = "";
    mSensorInfo.maxRange = 80.0f;
    mSensorInfo.resolution = 0.01f;
    mSensorInfo.power = 0.001f;
    mSensorInfo.minDelay = 40 * 1000;  // microseconds
    mSensorInfo.maxDelay = kDefaultMaxDelayUs;
    mSensorInfo.fifoReservedEventCount = 0;
    mSensorInfo.fifoMaxEventCount = 0;
    mSensorInfo.requiredPermission = "";
    mSensorInfo.flags = static_cast<uint32_t>(SensorFlagBits::ON_CHANGE_MODE);
}

RelativeHumiditySensor::RelativeHumiditySensor(int32_t sensorHandle,
RelativeHumiditySensor::RelativeHumiditySensor(int32_t sensorHandle,
                                               ISensorsEventCallback* callback)
                                               ISensorsEventCallback* callback)
    : OnChangeSensor(callback) {
    : OnChangeSensor(callback) {
+2 −7
Original line number Original line Diff line number Diff line
@@ -32,7 +32,7 @@ namespace sensors {
namespace V2_X {
namespace V2_X {
namespace implementation {
namespace implementation {


static constexpr float kDefaultMaxDelayUs = 10 * 1000 * 1000;
static constexpr int32_t kDefaultMaxDelayUs = 10 * 1000 * 1000;


class ISensorsEventCallback {
class ISensorsEventCallback {
  public:
  public:
@@ -54,7 +54,7 @@ class Sensor {
    virtual ~Sensor();
    virtual ~Sensor();


    const SensorInfo& getSensorInfo() const;
    const SensorInfo& getSensorInfo() const;
    void batch(int32_t samplingPeriodNs);
    void batch(int64_t samplingPeriodNs);
    virtual void activate(bool enable);
    virtual void activate(bool enable);
    Result flush();
    Result flush();


@@ -113,11 +113,6 @@ class AmbientTempSensor : public OnChangeSensor {
    AmbientTempSensor(int32_t sensorHandle, ISensorsEventCallback* callback);
    AmbientTempSensor(int32_t sensorHandle, ISensorsEventCallback* callback);
};
};


class DeviceTempSensor : public OnChangeSensor {
  public:
    DeviceTempSensor(int32_t sensorHandle, ISensorsEventCallback* callback);
};

class PressureSensor : public Sensor {
class PressureSensor : public Sensor {
  public:
  public:
    PressureSensor(int32_t sensorHandle, ISensorsEventCallback* callback);
    PressureSensor(int32_t sensorHandle, ISensorsEventCallback* callback);
+0 −1
Original line number Original line Diff line number Diff line
@@ -64,7 +64,6 @@ struct Sensors : public ISensorsInterface, public ISensorsEventCallback {
        AddSensor<AccelSensor>();
        AddSensor<AccelSensor>();
        AddSensor<GyroSensor>();
        AddSensor<GyroSensor>();
        AddSensor<AmbientTempSensor>();
        AddSensor<AmbientTempSensor>();
        AddSensor<DeviceTempSensor>();
        AddSensor<PressureSensor>();
        AddSensor<PressureSensor>();
        AddSensor<MagnetometerSensor>();
        AddSensor<MagnetometerSensor>();
        AddSensor<LightSensor>();
        AddSensor<LightSensor>();
+4 −14
Original line number Original line Diff line number Diff line
@@ -71,9 +71,10 @@ const SensorInfo& Sensor::getSensorInfo() const {
    return mSensorInfo;
    return mSensorInfo;
}
}


void Sensor::batch(int32_t samplingPeriodNs) {
void Sensor::batch(int64_t samplingPeriodNs) {
    samplingPeriodNs =
    samplingPeriodNs = std::clamp(samplingPeriodNs,
            std::clamp(samplingPeriodNs, mSensorInfo.minDelay * 1000, mSensorInfo.maxDelay * 1000);
                                  static_cast<int64_t>(mSensorInfo.minDelay) * 1000,
                                  static_cast<int64_t>(mSensorInfo.maxDelay) * 1000);


    if (mSamplingPeriodNs != samplingPeriodNs) {
    if (mSamplingPeriodNs != samplingPeriodNs) {
        mSamplingPeriodNs = samplingPeriodNs;
        mSamplingPeriodNs = samplingPeriodNs;
@@ -323,17 +324,6 @@ AmbientTempSensor::AmbientTempSensor(int32_t sensorHandle, ISensorsEventCallback
    mSensorInfo.minDelay = 40 * 1000;  // microseconds
    mSensorInfo.minDelay = 40 * 1000;  // microseconds
}
}


DeviceTempSensor::DeviceTempSensor(int32_t sensorHandle, ISensorsEventCallback* callback)
    : ContinuousSensor(sensorHandle, callback) {
    mSensorInfo.name = "Device Temp Sensor";
    mSensorInfo.type = SensorType::TEMPERATURE;
    mSensorInfo.typeAsString = SENSOR_STRING_TYPE_TEMPERATURE;
    mSensorInfo.maxRange = 80.0f;
    mSensorInfo.resolution = 0.01f;
    mSensorInfo.power = 0.001f;
    mSensorInfo.minDelay = 40 * 1000;  // microseconds
}

RelativeHumiditySensor::RelativeHumiditySensor(int32_t sensorHandle,
RelativeHumiditySensor::RelativeHumiditySensor(int32_t sensorHandle,
                                               ISensorsEventCallback* callback)
                                               ISensorsEventCallback* callback)
    : OnChangeSensor(sensorHandle, callback) {
    : OnChangeSensor(sensorHandle, callback) {
+1 −6
Original line number Original line Diff line number Diff line
@@ -49,7 +49,7 @@ class Sensor {
    virtual ~Sensor();
    virtual ~Sensor();


    const SensorInfo& getSensorInfo() const;
    const SensorInfo& getSensorInfo() const;
    void batch(int32_t samplingPeriodNs);
    void batch(int64_t samplingPeriodNs);
    virtual void activate(bool enable);
    virtual void activate(bool enable);
    Result flush();
    Result flush();


@@ -114,11 +114,6 @@ class GyroSensor : public ContinuousSensor {
    std::vector<Event> readEvents() override;
    std::vector<Event> readEvents() override;
};
};


class DeviceTempSensor : public ContinuousSensor {
  public:
    DeviceTempSensor(int32_t sensorHandle, ISensorsEventCallback* callback);
};

class PressureSensor : public ContinuousSensor {
class PressureSensor : public ContinuousSensor {
  public:
  public:
    PressureSensor(int32_t sensorHandle, ISensorsEventCallback* callback);
    PressureSensor(int32_t sensorHandle, ISensorsEventCallback* callback);
Loading