From c6481c5fda0c443ae4f6971e4ac59227cc950cdf Mon Sep 17 00:00:00 2001 From: Eva Chen Date: Tue, 20 Apr 2021 14:47:30 -0700 Subject: [PATCH] Add limited axes sensor types to PackageManager features. Sensors included: - FEATURE_SENSOR_ACCELEROMETER_LIMITED_AXES - FEATURE_SENSOR_GYROSCOPE_LIMITED_AXES - FEATURE_SENSOR_ACCELEROMETER_LIMITED_AXES_UNCALIBRATED - FEATURE_SENSOR_GYROSCOPE_LIMITED_AXES_UNCALIBRATED These changes will enable support for automotive style IMUs that have more limited axes for accelerometers (x-axis and y-axis) and gyroscopes (z-axis). Bug: 187342209 Test: Compiled Change-Id: I28dbf664f607a183a36a71f07f5c6d1aba31f39c --- core/api/current.txt | 4 +++ .../android/content/pm/PackageManager.java | 32 +++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/core/api/current.txt b/core/api/current.txt index f30a6eb4fa821..0186185a20646 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -11907,11 +11907,15 @@ package android.content.pm { field public static final String FEATURE_SECURE_LOCK_SCREEN = "android.software.secure_lock_screen"; field public static final String FEATURE_SECURITY_MODEL_COMPATIBLE = "android.hardware.security.model.compatible"; field public static final String FEATURE_SENSOR_ACCELEROMETER = "android.hardware.sensor.accelerometer"; + field public static final String FEATURE_SENSOR_ACCELEROMETER_LIMITED_AXES = "android.hardware.sensor.accelerometer_limited_axes"; + field public static final String FEATURE_SENSOR_ACCELEROMETER_LIMITED_AXES_UNCALIBRATED = "android.hardware.sensor.accelerometer_limited_axes_uncalibrated"; field public static final String FEATURE_SENSOR_AMBIENT_TEMPERATURE = "android.hardware.sensor.ambient_temperature"; field public static final String FEATURE_SENSOR_BAROMETER = "android.hardware.sensor.barometer"; field public static final String FEATURE_SENSOR_COMPASS = "android.hardware.sensor.compass"; field public static final String FEATURE_SENSOR_DYNAMIC_HEAD_TRACKER = "android.hardware.sensor.dynamic.head_tracker"; field public static final String FEATURE_SENSOR_GYROSCOPE = "android.hardware.sensor.gyroscope"; + field public static final String FEATURE_SENSOR_GYROSCOPE_LIMITED_AXES = "android.hardware.sensor.gyroscope_limited_axes"; + field public static final String FEATURE_SENSOR_GYROSCOPE_LIMITED_AXES_UNCALIBRATED = "android.hardware.sensor.gyroscope_limited_axes_uncalibrated"; field public static final String FEATURE_SENSOR_HEART_RATE = "android.hardware.sensor.heartrate"; field public static final String FEATURE_SENSOR_HEART_RATE_ECG = "android.hardware.sensor.heartrate.ecg"; field public static final String FEATURE_SENSOR_HINGE_ANGLE = "android.hardware.sensor.hinge_angle"; diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index e9466e99c5ca3..9aebb206ed0b5 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -3087,6 +3087,38 @@ public abstract class PackageManager { @SdkConstant(SdkConstantType.FEATURE) public static final String FEATURE_SENSOR_GYROSCOPE = "android.hardware.sensor.gyroscope"; + /** + * Feature for {@link #getSystemAvailableFeatures} and + * {@link #hasSystemFeature}: The device includes a limited axes accelerometer. + */ + @SdkConstant(SdkConstantType.FEATURE) + public static final String FEATURE_SENSOR_ACCELEROMETER_LIMITED_AXES = + "android.hardware.sensor.accelerometer_limited_axes"; + + /** + * Feature for {@link #getSystemAvailableFeatures} and + * {@link #hasSystemFeature}: The device includes a limited axes gyroscope. + */ + @SdkConstant(SdkConstantType.FEATURE) + public static final String FEATURE_SENSOR_GYROSCOPE_LIMITED_AXES = + "android.hardware.sensor.gyroscope_limited_axes"; + + /** + * Feature for {@link #getSystemAvailableFeatures} and + * {@link #hasSystemFeature}: The device includes an uncalibrated limited axes accelerometer. + */ + @SdkConstant(SdkConstantType.FEATURE) + public static final String FEATURE_SENSOR_ACCELEROMETER_LIMITED_AXES_UNCALIBRATED = + "android.hardware.sensor.accelerometer_limited_axes_uncalibrated"; + + /** + * Feature for {@link #getSystemAvailableFeatures} and + * {@link #hasSystemFeature}: The device includes an uncalibrated limited axes gyroscope. + */ + @SdkConstant(SdkConstantType.FEATURE) + public static final String FEATURE_SENSOR_GYROSCOPE_LIMITED_AXES_UNCALIBRATED = + "android.hardware.sensor.gyroscope_limited_axes_uncalibrated"; + /** * Feature for {@link #getSystemAvailableFeatures} and * {@link #hasSystemFeature}: The device includes a light sensor.