summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Vladimir Komsiyski <vladokom@google.com> 2024-08-28 10:09:53 +0200
committer Vladimir Komsiyski <vladokom@google.com> 2024-08-28 10:09:53 +0200
commitd16c0885a23dac3b684d5e6fb626e8df689dcd8c (patch)
treef349ebefec87c8405c750fa69e456a2bef93e9c3
parent92789bddda52298c84dcfb41ce2c4a84e4be6c5d (diff)
Add IntDef for sensor reporting mode
Fix: 362622028 Test: presubmit Flag: android.companion.virtualdevice.flags.device_aware_display_power Change-Id: I9c9d114b34e8f00046ac0489599da54b166cdbe8
-rw-r--r--core/java/android/companion/virtual/sensor/VirtualSensorConfig.java31
1 files changed, 25 insertions, 6 deletions
diff --git a/core/java/android/companion/virtual/sensor/VirtualSensorConfig.java b/core/java/android/companion/virtual/sensor/VirtualSensorConfig.java
index 82f183fd1d62..68bc9bce28d2 100644
--- a/core/java/android/companion/virtual/sensor/VirtualSensorConfig.java
+++ b/core/java/android/companion/virtual/sensor/VirtualSensorConfig.java
@@ -17,7 +17,13 @@
package android.companion.virtual.sensor;
+import static android.hardware.Sensor.REPORTING_MODE_CONTINUOUS;
+import static android.hardware.Sensor.REPORTING_MODE_ONE_SHOT;
+import static android.hardware.Sensor.REPORTING_MODE_ON_CHANGE;
+import static android.hardware.Sensor.REPORTING_MODE_SPECIAL_TRIGGER;
+
import android.annotation.FlaggedApi;
+import android.annotation.IntDef;
import android.annotation.IntRange;
import android.annotation.NonNull;
import android.annotation.Nullable;
@@ -30,6 +36,8 @@ import android.hardware.SensorDirectChannel;
import android.os.Parcel;
import android.os.Parcelable;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
import java.util.Objects;
@@ -71,6 +79,17 @@ public final class VirtualSensorConfig implements Parcelable {
private final int mFlags;
+ /** @hide */
+ @IntDef(prefix = "REPORTING_MODE_", value = {
+ REPORTING_MODE_CONTINUOUS,
+ REPORTING_MODE_ON_CHANGE,
+ REPORTING_MODE_ONE_SHOT,
+ REPORTING_MODE_SPECIAL_TRIGGER
+ })
+
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface ReportingMode {}
+
private VirtualSensorConfig(int type, @NonNull String name, @Nullable String vendor,
float maximumRange, float resolution, float power, int minDelay, int maxDelay,
int flags) {
@@ -240,7 +259,7 @@ public final class VirtualSensorConfig implements Parcelable {
* @see Sensor#getReportingMode()
*/
@FlaggedApi(Flags.FLAG_DEVICE_AWARE_DISPLAY_POWER)
- public int getReportingMode() {
+ public @ReportingMode int getReportingMode() {
return ((mFlags & REPORTING_MODE_MASK) >> REPORTING_MODE_SHIFT);
}
@@ -442,11 +461,11 @@ public final class VirtualSensorConfig implements Parcelable {
*/
@FlaggedApi(Flags.FLAG_DEVICE_AWARE_DISPLAY_POWER)
@NonNull
- public VirtualSensorConfig.Builder setReportingMode(int reportingMode) {
- if (reportingMode != Sensor.REPORTING_MODE_CONTINUOUS
- && reportingMode != Sensor.REPORTING_MODE_ON_CHANGE
- && reportingMode != Sensor.REPORTING_MODE_ONE_SHOT
- && reportingMode != Sensor.REPORTING_MODE_SPECIAL_TRIGGER) {
+ public VirtualSensorConfig.Builder setReportingMode(@ReportingMode int reportingMode) {
+ if (reportingMode != REPORTING_MODE_CONTINUOUS
+ && reportingMode != REPORTING_MODE_ON_CHANGE
+ && reportingMode != REPORTING_MODE_ONE_SHOT
+ && reportingMode != REPORTING_MODE_SPECIAL_TRIGGER) {
throw new IllegalArgumentException("Invalid reporting mode: " + reportingMode);
}
mFlags |= reportingMode << REPORTING_MODE_SHIFT;