diff options
| author | 2024-08-28 10:09:53 +0200 | |
|---|---|---|
| committer | 2024-08-28 10:09:53 +0200 | |
| commit | d16c0885a23dac3b684d5e6fb626e8df689dcd8c (patch) | |
| tree | f349ebefec87c8405c750fa69e456a2bef93e9c3 | |
| parent | 92789bddda52298c84dcfb41ce2c4a84e4be6c5d (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.java | 31 |
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; |