summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Anh Pham <anhph@google.com> 2021-06-22 14:17:47 +0200
committer Anh Pham <anhph@google.com> 2021-06-23 19:49:50 +0200
commit629ba4958e1a6898b51ea19d01d6048067730052 (patch)
tree6c2798e06705efe02ae183134c1f15aeda0f7013
parent51e147b260aad2bf4d948f7f2de11bc1d36837fd (diff)
Update API doc w/ high-rate permission requirement
Test: Build successfully Bug: 191301110 Change-Id: I653036036bea0e2889807ec44ed98206a427dfb8
-rw-r--r--core/java/android/hardware/Sensor.java12
-rw-r--r--core/java/android/hardware/SensorManager.java7
2 files changed, 15 insertions, 4 deletions
diff --git a/core/java/android/hardware/Sensor.java b/core/java/android/hardware/Sensor.java
index 37469e916eef..08f5a8a582db 100644
--- a/core/java/android/hardware/Sensor.java
+++ b/core/java/android/hardware/Sensor.java
@@ -848,8 +848,10 @@ public final class Sensor {
/**
* Get the highest supported direct report mode rate level of the sensor.
*
- * @return Highest direct report rate level of this sensor. If the sensor does not support
- * direct report mode, this returns {@link SensorDirectChannel#RATE_STOP}.
+ * @return Highest direct report rate level of this sensor. Note that if the app does not have
+ * the {@link android.Manifest.permission#HIGH_SAMPLING_RATE_SENSORS} permission, the highest
+ * direct report rate level is {@link SensorDirectChannel#RATE_NORMAL}. If the sensor
+ * does not support direct report mode, this returns {@link SensorDirectChannel#RATE_STOP}.
* @see SensorDirectChannel#RATE_STOP
* @see SensorDirectChannel#RATE_NORMAL
* @see SensorDirectChannel#RATE_FAST
@@ -1002,9 +1004,11 @@ public final class Sensor {
}
/**
- * @return the minimum delay allowed between two events in microsecond
+ * @return the minimum delay allowed between two events in microseconds
* or zero if this sensor only returns a value when the data it's measuring
- * changes.
+ * changes. Note that if the app does not have the
+ * {@link android.Manifest.permission#HIGH_SAMPLING_RATE_SENSORS} permission, the
+ * minimum delay is capped at 5000 microseconds (200 Hz).
*/
public int getMinDelay() {
return mMinDelay;
diff --git a/core/java/android/hardware/SensorManager.java b/core/java/android/hardware/SensorManager.java
index 713b66abed21..572a8a81883a 100644
--- a/core/java/android/hardware/SensorManager.java
+++ b/core/java/android/hardware/SensorManager.java
@@ -46,6 +46,13 @@ import java.util.List;
* at {@link TriggerEventListener}. {@link Sensor#TYPE_SIGNIFICANT_MOTION}
* is an example of a trigger sensor.
* </p>
+ * <p>
+ * In order to access sensor data at high sampling rates (i.e. greater than 200 Hz
+ * for {@link SensorEventListener} and greater than {@link SensorDirectChannel#RATE_NORMAL}
+ * for {@link SensorDirectChannel}), apps must declare
+ * the {@link android.Manifest.permission#HIGH_SAMPLING_RATE_SENSORS} permission
+ * in their AndroidManifest.xml file.
+ * </p>
* <pre class="prettyprint">
* public class SensorActivity extends Activity implements SensorEventListener {
* private final SensorManager mSensorManager;