diff options
| author | Steve Block <steveblock@google.com> | 2011-08-03 10:48:07 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-08-03 10:48:07 -0700 |
| commit | cb484804e0303ef978b19c5b2a848b6e02ddf7e2 (patch) | |
| tree | ea805f37ea24cd1b680116ab2d86930d5227dca2 /core/java/android | |
| parent | e096f9fa3db1f8d249c9f9688e60fad7f4f93bde (diff) | |
| parent | d09001fea476ca6c6eaff5e29a1bb6f3aebe5bd5 (diff) | |
Merge "In DeviceMotionService, handle the fact that we may receive updates from SensorManager after unregistering."
Diffstat (limited to 'core/java/android')
| -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; } |
