From f470208f6e784cfbc2581775b24a3b70b6f08f99 Mon Sep 17 00:00:00 2001 From: Justas Medeisis Date: Mon, 13 Jun 2016 22:10:29 +0300 Subject: [PATCH] [android] #5335 - Always record latest accelerometer and magnetometer sensor values regardless of MyLocationView update throttling. --- .../mapboxsdk/maps/widgets/MyLocationView.java | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java index 12240aee8..2751fe86c 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationView.java @@ -526,24 +526,19 @@ public class MyLocationView extends View { return; } - long currentTime = SystemClock.elapsedRealtime(); - if (currentTime < mCompassUpdateNextTimestamp) { - return; - } - int type = event.sensor.getType(); - float[] data; if (type == Sensor.TYPE_ACCELEROMETER) { - data = mGData; + System.arraycopy(event.values, 0, mGData, 0, 3); } else if (type == Sensor.TYPE_MAGNETIC_FIELD) { - data = mMData; + System.arraycopy(event.values, 0, mMData, 0, 3); } else { // we should not be here. return; } - for (int i = 0; i < 3; i++) { - data[i] = event.values[i]; + long currentTime = SystemClock.elapsedRealtime(); + if (currentTime < mCompassUpdateNextTimestamp) { + return; } SensorManager.getRotationMatrix(mR, mI, mGData, mMData);