| Index: ui/accelerometer/accelerometer_types.cc
|
| diff --git a/ui/accelerometer/accelerometer_types.cc b/ui/accelerometer/accelerometer_types.cc
|
| index e5aa0ea8db83e547633a137d49120f724e332ff7..970265713a82c4c84874557d5e4952531d4f4bae 100644
|
| --- a/ui/accelerometer/accelerometer_types.cc
|
| +++ b/ui/accelerometer/accelerometer_types.cc
|
| @@ -4,8 +4,20 @@
|
|
|
| #include "ui/accelerometer/accelerometer_types.h"
|
|
|
| +#include <cmath>
|
| +
|
| namespace ui {
|
|
|
| +namespace {
|
| +
|
| +// The mean acceleration due to gravity on Earth in m/s^2.
|
| +const float kMeanGravity = 9.80665f;
|
| +
|
| +// The maximum deviation from the acceleration expected due to gravity under
|
| +// which to detect hinge angle and screen rotation in m/s^2
|
| +const float kDeviationFromGravityThreshold = 1.0f;
|
| +}
|
| +
|
| AccelerometerReading::AccelerometerReading() : present(false) {
|
| }
|
|
|
| @@ -18,4 +30,10 @@ AccelerometerUpdate::AccelerometerUpdate() {
|
| AccelerometerUpdate::~AccelerometerUpdate() {
|
| }
|
|
|
| +bool AccelerometerUpdate::IsReadingStable(AccelerometerSource source) const {
|
| + return has(source) &&
|
| + std::abs(get(source).Length() - kMeanGravity) <=
|
| + kDeviationFromGravityThreshold;
|
| +}
|
| +
|
| } // namespace ui
|
|
|