summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2011-08-03 10:48:07 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-08-03 10:48:07 -0700
commitcb484804e0303ef978b19c5b2a848b6e02ddf7e2 (patch)
treeea805f37ea24cd1b680116ab2d86930d5227dca2 /core/java/android
parente096f9fa3db1f8d249c9f9688e60fad7f4f93bde (diff)
parentd09001fea476ca6c6eaff5e29a1bb6f3aebe5bd5 (diff)
Merge "In DeviceMotionService, handle the fact that we may receive updates from SensorManager after unregistering."
Diffstat (limited to 'core/java/android')
-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;
}