blob: 5c923aff08c2e10cc425f1829f680551c0c8ebd3 [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "modules/sensor/AmbientLightSensorReading.h"
#include "modules/sensor/SensorProxy.h"
namespace blink {
AmbientLightSensorReading::AmbientLightSensorReading(const AmbientLightSensorReadingInit& init)
: SensorReading(nullptr)
, mAmbientLightSensorReadingInit(init)
{
}
AmbientLightSensorReading::AmbientLightSensorReading(SensorProxy* proxy)
: SensorReading(proxy)
, mAmbientLightSensorReadingInit(AmbientLightSensorReadingInit())
{
}
AmbientLightSensorReading::~AmbientLightSensorReading() = default;
double AmbientLightSensorReading::illuminance() const
{
if (mAmbientLightSensorReadingInit.hasIlluminance())
return mAmbientLightSensorReadingInit.illuminance();
if (!m_sensorProxy)
return 0.0;
return m_sensorProxy->reading().reading[0];
}
bool AmbientLightSensorReading::isReadingUpdated(const SensorProxy::Reading& previous) const
{
if (!m_sensorProxy)
return false;
return previous.reading[0] != illuminance();
}
DEFINE_TRACE(AmbientLightSensorReading)
{
SensorReading::trace(visitor);
}
} // namespace blink