| Index: chromeos/accelerometer/accelerometer_reader.cc
|
| diff --git a/chromeos/accelerometer/accelerometer_reader.cc b/chromeos/accelerometer/accelerometer_reader.cc
|
| index 340ba18856cddb06727db4dac7781ba448c1fc05..9a91383a88d61b04705967e0b17f02c36c44ecc1 100644
|
| --- a/chromeos/accelerometer/accelerometer_reader.cc
|
| +++ b/chromeos/accelerometer/accelerometer_reader.cc
|
| @@ -58,6 +58,10 @@ const int kDelayBetweenReadsMs = 100;
|
| // 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;
|
| +
|
| // Reads |path| to the unsigned int pointed to by |value|. Returns true on
|
| // success or false on failure.
|
| bool ReadFileToInt(const base::FilePath& path, int* value) {
|
| @@ -206,12 +210,20 @@ void AccelerometerReader::Initialize(
|
|
|
| void AccelerometerReader::AddObserver(Observer* observer) {
|
| observers_.AddObserver(observer);
|
| + observer->OnAccelerometerUpdated(update_);
|
| }
|
|
|
| void AccelerometerReader::RemoveObserver(Observer* observer) {
|
| observers_.RemoveObserver(observer);
|
| }
|
|
|
| +bool AccelerometerReader::IsReadingStable(const ui::AccelerometerUpdate& update,
|
| + ui::AccelerometerSource source) {
|
| + return update.has(source) &&
|
| + std::abs(update.get(source).Length() - kMeanGravity) <=
|
| + kDeviationFromGravityThreshold;
|
| +}
|
| +
|
| void AccelerometerReader::OnInitialized(
|
| scoped_refptr<AccelerometerReader::Configuration> configuration,
|
| bool success) {
|
|
|