diff options
| author | Eva Chen <evaschen@google.com> | 2022-01-10 20:13:28 -0800 |
|---|---|---|
| committer | Eva Chen <evaschen@google.com> | 2022-02-05 22:39:48 -0800 |
| commit | 5f459046caf8b8ae25be83ce695eaea1bc7e73ef (patch) | |
| tree | 07255bd87be5fb635f778f0ca7dc2fa9c9a89e6e /core/java | |
| parent | c871906b60c86ce26769fbeb72e3d5b464ed158b (diff) | |
Add TYPE_HEADING sensor type to sensor framework.
Bug: 189983308
Test: Compiled
Change-Id: I183f176352fd6e08025647638cee35fd1600f3f0
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/hardware/Sensor.java | 19 | ||||
| -rw-r--r-- | core/java/android/hardware/SensorEvent.java | 18 |
2 files changed, 37 insertions, 0 deletions
diff --git a/core/java/android/hardware/Sensor.java b/core/java/android/hardware/Sensor.java index 166ae451fb6d..0d3aaf575729 100644 --- a/core/java/android/hardware/Sensor.java +++ b/core/java/android/hardware/Sensor.java @@ -794,6 +794,21 @@ public final class Sensor { "android.sensor.gyroscope_limited_axes_uncalibrated"; /** + * A constant string describing a heading sensor. + * + * See {@link android.hardware.SensorEvent#values SensorEvent.values} for more details. + */ + public static final int TYPE_HEADING = 42; + + /** + * A constant string describing a heading sensor. + * + * @see #TYPE_HEADING + * + */ + public static final String STRING_TYPE_HEADING = "android.sensor.heading"; + + /** * A constant describing all sensor types. */ @@ -918,6 +933,7 @@ public final class Sensor { 6, // SENSOR_TYPE_GYROSCOPE_LIMITED_AXES 9, // SENSOR_TYPE_ACCELEROMETER_LIMITED_AXES_UNCALIBRATED 9, // SENSOR_TYPE_GYROSCOPE_LIMITED_AXES_UNCALIBRATED + 2, // SENSOR_TYPE_HEADING }; /** @@ -1385,6 +1401,9 @@ public final class Sensor { case TYPE_GYROSCOPE_LIMITED_AXES_UNCALIBRATED: mStringType = STRING_TYPE_GYROSCOPE_LIMITED_AXES_UNCALIBRATED; return true; + case TYPE_HEADING: + mStringType = STRING_TYPE_HEADING; + return true; default: return false; } diff --git a/core/java/android/hardware/SensorEvent.java b/core/java/android/hardware/SensorEvent.java index 7da136f73c53..45d4c09921a6 100644 --- a/core/java/android/hardware/SensorEvent.java +++ b/core/java/android/hardware/SensorEvent.java @@ -779,6 +779,24 @@ public class SensorEvent { * </ul> * </p> * + * <h4>{@link android.hardware.Sensor#TYPE_HEADING Sensor.TYPE_HEADING}:</h4> + * + * A sensor of this type measures the direction in which the device is + * pointing relative to true north in degrees. The value must be between + * 0.0 (inclusive) and 360.0 (exclusive), with 0 indicating north, 90 east, + * 180 south, and 270 west. + * + * Accuracy is defined at 68% confidence. In the case where the underlying + * distribution is assumed Gaussian normal, this would be considered one + * standard deviation. For example, if heading returns 60 degrees, and + * accuracy returns 10 degrees, then there is a 68 percent probability of + * the true heading being between 50 degrees and 70 degrees. + * + * <ul> + * <li> values[0]: Measured heading in degrees.</li> + * <li> values[1]: Heading accuracy in degrees.</li> + * </ul> + * * @see GeomagneticField */ public final float[] values; |
