| Index: chromeos/accelerometer/accelerometer_reader.cc
|
| diff --git a/chromeos/accelerometer/accelerometer_reader.cc b/chromeos/accelerometer/accelerometer_reader.cc
|
| index 4d68ebf0957ec5c811208b2430604a27e489a0da..7868b54680032d4870c6f406363743545da948e2 100644
|
| --- a/chromeos/accelerometer/accelerometer_reader.cc
|
| +++ b/chromeos/accelerometer/accelerometer_reader.cc
|
| @@ -203,7 +203,8 @@ void AccelerometerReader::Initialize(
|
|
|
| void AccelerometerReader::AddObserver(Observer* observer) {
|
| observers_.AddObserver(observer);
|
| - observer->OnAccelerometerUpdated(update_);
|
| + if (successful_reading_)
|
| + observer->OnAccelerometerUpdated(update_);
|
| }
|
|
|
| void AccelerometerReader::RemoveObserver(Observer* observer) {
|
| @@ -211,7 +212,8 @@ void AccelerometerReader::RemoveObserver(Observer* observer) {
|
| }
|
|
|
| AccelerometerReader::AccelerometerReader()
|
| - : configuration_(new AccelerometerReader::Configuration()),
|
| + : successful_reading_(false),
|
| + configuration_(new AccelerometerReader::Configuration()),
|
| weak_factory_(this) {
|
| }
|
|
|
| @@ -245,6 +247,7 @@ void AccelerometerReader::OnDataRead(
|
| DCHECK(!task_runner_->RunsTasksOnCurrentThread());
|
|
|
| if (success) {
|
| + successful_reading_ = true;
|
| for (int i = 0; i < ACCELEROMETER_SOURCE_COUNT; ++i) {
|
| if (!configuration_->data.has[i])
|
| continue;
|
|
|