diff options
author | Justin Klaassen <justinklaassen@google.com> | 2017-10-10 15:20:13 -0400 |
---|---|---|
committer | Justin Klaassen <justinklaassen@google.com> | 2017-10-10 15:20:13 -0400 |
commit | 93b7ee4fce01df52a6607f0b1965cbafdfeaf1a6 (patch) | |
tree | 49f76f879a89c256a4f65b674086be50760bdffb /android/hardware/LegacySensorManager.java | |
parent | bc81c7ada5aab3806dd0b17498f5c9672c9b33c4 (diff) | |
download | android-28-93b7ee4fce01df52a6607f0b1965cbafdfeaf1a6.tar.gz |
Import Android SDK Platform P [4386628]
/google/data/ro/projects/android/fetch_artifact \
--bid 4386628 \
--target sdk_phone_armv7-win_sdk \
sdk-repo-linux-sources-4386628.zip
AndroidVersion.ApiLevel has been modified to appear as 28
Change-Id: I9b8400ac92116cae4f033d173f7a5682b26ccba9
Diffstat (limited to 'android/hardware/LegacySensorManager.java')
-rw-r--r-- | android/hardware/LegacySensorManager.java | 66 |
1 files changed, 35 insertions, 31 deletions
diff --git a/android/hardware/LegacySensorManager.java b/android/hardware/LegacySensorManager.java index f5cf3f74..098121df 100644 --- a/android/hardware/LegacySensorManager.java +++ b/android/hardware/LegacySensorManager.java @@ -204,7 +204,7 @@ final class LegacySensorManager { } private static final class LegacyListener implements SensorEventListener { - private float mValues[] = new float[6]; + private float[] mValues = new float[6]; private SensorListener mTarget; private int mSensors; private final LmsFilter mYawfilter = new LmsFilter(); @@ -256,7 +256,7 @@ final class LegacySensorManager { } public void onSensorChanged(SensorEvent event) { - final float v[] = mValues; + final float[] v = mValues; v[0] = event.values[0]; v[1] = event.values[1]; v[2] = event.values[2]; @@ -264,10 +264,10 @@ final class LegacySensorManager { int legacyType = getLegacySensorType(type); mapSensorDataToWindow(legacyType, v, LegacySensorManager.getRotation()); if (type == Sensor.TYPE_ORIENTATION) { - if ((mSensors & SensorManager.SENSOR_ORIENTATION_RAW)!=0) { + if ((mSensors & SensorManager.SENSOR_ORIENTATION_RAW) != 0) { mTarget.onSensorChanged(SensorManager.SENSOR_ORIENTATION_RAW, v); } - if ((mSensors & SensorManager.SENSOR_ORIENTATION)!=0) { + if ((mSensors & SensorManager.SENSOR_ORIENTATION) != 0) { v[0] = mYawfilter.filter(event.timestamp, v[0]); mTarget.onSensorChanged(SensorManager.SENSOR_ORIENTATION, v); } @@ -317,7 +317,7 @@ final class LegacySensorManager { switch (sensor) { case SensorManager.SENSOR_ACCELEROMETER: case SensorManager.SENSOR_MAGNETIC_FIELD: - values[0] =-y; + values[0] = -y; values[1] = x; values[2] = z; break; @@ -337,15 +337,15 @@ final class LegacySensorManager { switch (sensor) { case SensorManager.SENSOR_ACCELEROMETER: case SensorManager.SENSOR_MAGNETIC_FIELD: - values[0] =-x; - values[1] =-y; + values[0] = -x; + values[1] = -y; values[2] = z; break; case SensorManager.SENSOR_ORIENTATION: case SensorManager.SENSOR_ORIENTATION_RAW: values[0] = (x >= 180) ? (x - 180) : (x + 180); - values[1] =-y; - values[2] =-z; + values[1] = -y; + values[2] = -z; break; } } @@ -369,10 +369,11 @@ final class LegacySensorManager { private static final class LmsFilter { private static final int SENSORS_RATE_MS = 20; private static final int COUNT = 12; - private static final float PREDICTION_RATIO = 1.0f/3.0f; - private static final float PREDICTION_TIME = (SENSORS_RATE_MS*COUNT/1000.0f)*PREDICTION_RATIO; - private float mV[] = new float[COUNT*2]; - private long mT[] = new long[COUNT*2]; + private static final float PREDICTION_RATIO = 1.0f / 3.0f; + private static final float PREDICTION_TIME = + (SENSORS_RATE_MS * COUNT / 1000.0f) * PREDICTION_RATIO; + private float[] mV = new float[COUNT * 2]; + private long[] mT = new long[COUNT * 2]; private int mIndex; public LmsFilter() { @@ -383,9 +384,9 @@ final class LegacySensorManager { float v = in; final float ns = 1.0f / 1000000000.0f; float v1 = mV[mIndex]; - if ((v-v1) > 180) { + if ((v - v1) > 180) { v -= 360; - } else if ((v1-v) > 180) { + } else if ((v1 - v) > 180) { v += 360; } /* Manage the circular buffer, we write the data twice spaced @@ -393,40 +394,43 @@ final class LegacySensorManager { * when it's full */ mIndex++; - if (mIndex >= COUNT*2) + if (mIndex >= COUNT * 2) { mIndex = COUNT; + } mV[mIndex] = v; mT[mIndex] = time; - mV[mIndex-COUNT] = v; - mT[mIndex-COUNT] = time; + mV[mIndex - COUNT] = v; + mT[mIndex - COUNT] = time; float A, B, C, D, E; float a, b; int i; A = B = C = D = E = 0; - for (i=0 ; i<COUNT-1 ; i++) { + for (i = 0; i < COUNT - 1; i++) { final int j = mIndex - 1 - i; final float Z = mV[j]; - final float T = (mT[j]/2 + mT[j+1]/2 - time)*ns; - float dT = (mT[j] - mT[j+1])*ns; + final float T = (mT[j] / 2 + mT[j + 1] / 2 - time) * ns; + float dT = (mT[j] - mT[j + 1]) * ns; dT *= dT; - A += Z*dT; - B += T*(T*dT); - C += (T*dT); - D += Z*(T*dT); + A += Z * dT; + B += T * (T * dT); + C += (T * dT); + D += Z * (T * dT); E += dT; } - b = (A*B + C*D) / (E*B + C*C); - a = (E*b - A) / C; - float f = b + PREDICTION_TIME*a; + b = (A * B + C * D) / (E * B + C * C); + a = (E * b - A) / C; + float f = b + PREDICTION_TIME * a; // Normalize f *= (1.0f / 360.0f); - if (((f>=0)?f:-f) >= 0.5f) - f = f - (float)Math.ceil(f + 0.5f) + 1.0f; - if (f < 0) + if (((f >= 0) ? f : -f) >= 0.5f) { + f = f - (float) Math.ceil(f + 0.5f) + 1.0f; + } + if (f < 0) { f += 1.0f; + } f *= 360.0f; return f; } |