summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Steve Block <steveblock@google.com> 2011-08-04 14:49:44 -0700
committer Android Git Automerger <android-git-automerger@android.com> 2011-08-04 14:49:44 -0700
commit03f8fcb8b017556df08d9926f8ca41b383c5ad08 (patch)
treeaef0b67c1012913805ede825392a886d0b850e17
parent845fdba7b5a7b89571f2c85bd542c75650054544 (diff)
parentc4d93ba55fbe905fa72ee7a068efd7c5fb4e8257 (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-xcore/java/android/webkit/DeviceMotionService.java6
-rwxr-xr-xcore/java/android/webkit/DeviceOrientationService.java1
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;
}