Merge 111d17ce
Change-Id: I2e0aa4328bc78eb5bcd987e7bf74b0889d2fae7f
diff --git a/api/current.txt b/api/current.txt
index 2276376..ca7b4e5 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -8839,6 +8839,7 @@
field public static final deprecated int TYPE_ORIENTATION = 3; // 0x3
field public static final int TYPE_PRESSURE = 6; // 0x6
field public static final int TYPE_PROXIMITY = 8; // 0x8
+ field public static final int TYPE_RELATIVE_HUMIDITY = 12; // 0xc
field public static final int TYPE_ROTATION_VECTOR = 11; // 0xb
field public static final deprecated int TYPE_TEMPERATURE = 7; // 0x7
}
diff --git a/core/java/android/hardware/Sensor.java b/core/java/android/hardware/Sensor.java
index a4ba3bd..68fc101 100644
--- a/core/java/android/hardware/Sensor.java
+++ b/core/java/android/hardware/Sensor.java
@@ -104,6 +104,13 @@
*/
public static final int TYPE_ROTATION_VECTOR = 11;
+ /**
+ * A constant describing a relative humidity sensor type.
+ * See {@link android.hardware.SensorEvent SensorEvent}
+ * for more details.
+ */
+ public static final int TYPE_RELATIVE_HUMIDITY = 12;
+
/** A constant describing an ambient temperature sensor type */
public static final int TYPE_AMBIENT_TEMPERATURE = 13;
diff --git a/core/java/android/hardware/SensorEvent.java b/core/java/android/hardware/SensorEvent.java
index b111b84..0411b5c 100644
--- a/core/java/android/hardware/SensorEvent.java
+++ b/core/java/android/hardware/SensorEvent.java
@@ -327,6 +327,64 @@
* in the clockwise direction (mathematically speaking, it should be
* positive in the counter-clockwise direction).
* </p>
+ *
+ * <h4>{@link android.hardware.Sensor#TYPE_RELATIVE_HUMIDITY
+ * Sensor.TYPE_RELATIVE_HUMIDITY}:</h4>
+ * <ul>
+ * <p>
+ * values[0]: Relative ambient air humidity in percent
+ * </p>
+ * </ul>
+ * <p>
+ * When relative ambient air humidity and ambient temperature are
+ * measured, the dew point and absolute humidity can be calculated.
+ * </p>
+ * <u>Dew Point</u>
+ * <p>
+ * The dew point is the temperature to which a given parcel of air must be
+ * cooled, at constant barometric pressure, for water vapor to condense
+ * into water.
+ * </p>
+ * <center><pre>
+ * ln(RH/100%) + m·t/(T<sub>n</sub>+t)
+ * t<sub>d</sub>(t,RH) = T<sub>n</sub> · ------------------------------
+ * m - [ln(RH/100%) + m·t/(T<sub>n</sub>+t)]
+ * </pre></center>
+ * <dl>
+ * <dt>t<sub>d</sub></dt> <dd>dew point temperature in °C</dd>
+ * <dt>t</dt> <dd>actual temperature in °C</dd>
+ * <dt>RH</dt> <dd>actual relative humidity in %</dd>
+ * <dt>m</dt> <dd>17.62</dd>
+ * <dt>T<sub>n</sub></dt> <dd>243.12 °C</dd>
+ * </dl>
+ * <p>for example:</p>
+ * <pre class="prettyprint">
+ * h = Math.log(rh / 100.0) + (17.62 * t) / (243.12 + t);
+ * td = 243.12 * h / (17.62 - h);
+ * </pre>
+ * <u>Absolute Humidity</u>
+ * <p>
+ * The absolute humidity is the mass of water vapor in a particular volume
+ * of dry air. The unit is g/m<sup>3</sup>.
+ * </p>
+ * <center><pre>
+ * RH/100%·A·exp(m·t/(T<sub>n</sub>+t))
+ * d<sub>v</sub>(t,RH) = 216.7 · -------------------------
+ * 273.15 + t
+ * </pre></center>
+ * <dl>
+ * <dt>d<sub>v</sub></dt> <dd>absolute humidity in g/m<sup>3</sup></dd>
+ * <dt>t</dt> <dd>actual temperature in °C</dd>
+ * <dt>RH</dt> <dd>actual relative humidity in %</dd>
+ * <dt>m</dt> <dd>17.62</dd>
+ * <dt>T<sub>n</sub></dt> <dd>243.12 °C</dd>
+ * <dt>A</dt> <dd>6.112 hPa</dd>
+ * </dl>
+ * <p>for example:</p>
+ * <pre class="prettyprint">
+ * dv = 216.7 *
+ * (rh / 100.0 * 6.112 * Math.exp(17.62 * t / (243.12 + t)) / (273.15 + t));
+ * </pre>
*
* <h4>{@link android.hardware.Sensor#TYPE_AMBIENT_TEMPERATURE Sensor.TYPE_AMBIENT_TEMPERATURE}:
* </h4>