diff options
| author | 2011-08-04 14:49:44 -0700 | |
|---|---|---|
| committer | 2011-08-04 14:49:44 -0700 | |
| commit | 03f8fcb8b017556df08d9926f8ca41b383c5ad08 (patch) | |
| tree | aef0b67c1012913805ede825392a886d0b850e17 | |
| parent | 845fdba7b5a7b89571f2c85bd542c75650054544 (diff) | |
| parent | c4d93ba55fbe905fa72ee7a068efd7c5fb4e8257 (diff) | |
am c4d93ba5: Cherry-pick DeviceMotionService CL from master [do not merge]
* commit 'c4d93ba55fbe905fa72ee7a068efd7c5fb4e8257':
Cherry-pick DeviceMotionService CL from master [do not merge]
| -rwxr-xr-x | core/java/android/webkit/DeviceMotionService.java | 6 | ||||
| -rwxr-xr-x | core/java/android/webkit/DeviceOrientationService.java | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/core/java/android/webkit/DeviceMotionService.java b/core/java/android/webkit/DeviceMotionService.java index 7d7a0f05e36e..b4d5759dcb9a 100755 --- a/core/java/android/webkit/DeviceMotionService.java +++ b/core/java/android/webkit/DeviceMotionService.java @@ -99,6 +99,7 @@ final class DeviceMotionService implements SensorEventListener { mUpdateRunnable = new Runnable() { @Override public void run() { + assert mIsRunning; mManager.onMotionChange(new Double(mLastAcceleration[0]), new Double(mLastAcceleration[1]), new Double(mLastAcceleration[2]), INTERVAL_MILLIS); @@ -157,6 +158,11 @@ final class DeviceMotionService implements SensorEventListener { assert WebViewCore.THREAD_NAME.equals(Thread.currentThread().getName()); assert(event.sensor.getType() == Sensor.TYPE_ACCELEROMETER); + // We may get callbacks after the call to getSensorManager().unregisterListener() returns. + if (!mIsRunning) { + return; + } + boolean firstData = mLastAcceleration == null; mLastAcceleration = event.values; if (firstData) { diff --git a/core/java/android/webkit/DeviceOrientationService.java b/core/java/android/webkit/DeviceOrientationService.java index f3c057627a22..47c8ab79b918 100755 --- a/core/java/android/webkit/DeviceOrientationService.java +++ b/core/java/android/webkit/DeviceOrientationService.java @@ -188,6 +188,7 @@ final class DeviceOrientationService implements SensorEventListener { assert(event.values.length == 3); assert WebViewCore.THREAD_NAME.equals(Thread.currentThread().getName()); + // We may get callbacks after the call to getSensorManager().unregisterListener() returns. if (!mIsRunning) { return; } |