Loading api/current.txt +9 −6 Original line number Original line Diff line number Diff line Loading @@ -13506,6 +13506,7 @@ package android.hardware { public final class Sensor { public final class Sensor { method public int getFifoMaxEventCount(); method public int getFifoMaxEventCount(); method public int getFifoReservedEventCount(); method public int getFifoReservedEventCount(); method public int getId(); method public int getMaxDelay(); method public int getMaxDelay(); method public float getMaximumRange(); method public float getMaximumRange(); method public int getMinDelay(); method public int getMinDelay(); Loading @@ -13515,9 +13516,10 @@ package android.hardware { method public float getResolution(); method public float getResolution(); method public java.lang.String getStringType(); method public java.lang.String getStringType(); method public int getType(); method public int getType(); method public java.util.UUID getUuid(); method public java.lang.String getVendor(); method public java.lang.String getVendor(); method public int getVersion(); method public int getVersion(); method public boolean isAdditionalInfoSupported(); method public boolean isDynamicSensor(); method public boolean isWakeUpSensor(); method public boolean isWakeUpSensor(); field public static final int REPORTING_MODE_CONTINUOUS = 0; // 0x0 field public static final int REPORTING_MODE_CONTINUOUS = 0; // 0x0 field public static final int REPORTING_MODE_ONE_SHOT = 2; // 0x2 field public static final int REPORTING_MODE_ONE_SHOT = 2; // 0x2 Loading Loading @@ -13636,8 +13638,9 @@ package android.hardware { method public static void getRotationMatrixFromVector(float[], float[]); method public static void getRotationMatrixFromVector(float[], float[]); method public java.util.List<android.hardware.Sensor> getSensorList(int); method public java.util.List<android.hardware.Sensor> getSensorList(int); method public deprecated int getSensors(); method public deprecated int getSensors(); method public void registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorConnectionCallback); method public boolean isDynamicSensorDiscoverySupported(); method public void registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorConnectionCallback, android.os.Handler); method public void registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback); method public void registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback, android.os.Handler); method public deprecated boolean registerListener(android.hardware.SensorListener, int); method public deprecated boolean registerListener(android.hardware.SensorListener, int); method public deprecated boolean registerListener(android.hardware.SensorListener, int, int); method public deprecated boolean registerListener(android.hardware.SensorListener, int, int); method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int); method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int); Loading @@ -13646,7 +13649,7 @@ package android.hardware { method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int, int, android.os.Handler); method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int, int, android.os.Handler); method public static boolean remapCoordinateSystem(float[], int, int, float[]); method public static boolean remapCoordinateSystem(float[], int, int, float[]); method public boolean requestTriggerSensor(android.hardware.TriggerEventListener, android.hardware.Sensor); method public boolean requestTriggerSensor(android.hardware.TriggerEventListener, android.hardware.Sensor); method public void unregisterDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorConnectionCallback); method public void unregisterDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback); method public deprecated void unregisterListener(android.hardware.SensorListener); method public deprecated void unregisterListener(android.hardware.SensorListener); method public deprecated void unregisterListener(android.hardware.SensorListener, int); method public deprecated void unregisterListener(android.hardware.SensorListener, int); method public void unregisterListener(android.hardware.SensorEventListener, android.hardware.Sensor); method public void unregisterListener(android.hardware.SensorEventListener, android.hardware.Sensor); Loading Loading @@ -13711,8 +13714,8 @@ package android.hardware { field public static final float STANDARD_GRAVITY = 9.80665f; field public static final float STANDARD_GRAVITY = 9.80665f; } } public static abstract class SensorManager.DynamicSensorConnectionCallback { public static abstract class SensorManager.DynamicSensorCallback { ctor public SensorManager.DynamicSensorConnectionCallback(); ctor public SensorManager.DynamicSensorCallback(); method public void onDynamicSensorConnected(android.hardware.Sensor); method public void onDynamicSensorConnected(android.hardware.Sensor); method public void onDynamicSensorDisconnected(android.hardware.Sensor); method public void onDynamicSensorDisconnected(android.hardware.Sensor); } } api/system-current.txt +9 −5 Original line number Original line Diff line number Diff line Loading @@ -13905,6 +13905,7 @@ package android.hardware { public final class Sensor { public final class Sensor { method public int getFifoMaxEventCount(); method public int getFifoMaxEventCount(); method public int getFifoReservedEventCount(); method public int getFifoReservedEventCount(); method public int getId(); method public int getMaxDelay(); method public int getMaxDelay(); method public float getMaximumRange(); method public float getMaximumRange(); method public int getMinDelay(); method public int getMinDelay(); Loading @@ -13917,7 +13918,9 @@ package android.hardware { method public java.util.UUID getUuid(); method public java.util.UUID getUuid(); method public java.lang.String getVendor(); method public java.lang.String getVendor(); method public int getVersion(); method public int getVersion(); method public boolean isAdditionalInfoSupported(); method public boolean isDataInjectionSupported(); method public boolean isDataInjectionSupported(); method public boolean isDynamicSensor(); method public boolean isWakeUpSensor(); method public boolean isWakeUpSensor(); field public static final int REPORTING_MODE_CONTINUOUS = 0; // 0x0 field public static final int REPORTING_MODE_CONTINUOUS = 0; // 0x0 field public static final int REPORTING_MODE_ONE_SHOT = 2; // 0x2 field public static final int REPORTING_MODE_ONE_SHOT = 2; // 0x2 Loading Loading @@ -14042,8 +14045,9 @@ package android.hardware { method public deprecated int getSensors(); method public deprecated int getSensors(); method public boolean initDataInjection(boolean); method public boolean initDataInjection(boolean); method public boolean injectSensorData(android.hardware.Sensor, float[], int, long); method public boolean injectSensorData(android.hardware.Sensor, float[], int, long); method public void registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorConnectionCallback); method public boolean isDynamicSensorDiscoverySupported(); method public void registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorConnectionCallback, android.os.Handler); method public void registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback); method public void registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback, android.os.Handler); method public deprecated boolean registerListener(android.hardware.SensorListener, int); method public deprecated boolean registerListener(android.hardware.SensorListener, int); method public deprecated boolean registerListener(android.hardware.SensorListener, int, int); method public deprecated boolean registerListener(android.hardware.SensorListener, int, int); method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int); method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int); Loading @@ -14052,7 +14056,7 @@ package android.hardware { method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int, int, android.os.Handler); method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int, int, android.os.Handler); method public static boolean remapCoordinateSystem(float[], int, int, float[]); method public static boolean remapCoordinateSystem(float[], int, int, float[]); method public boolean requestTriggerSensor(android.hardware.TriggerEventListener, android.hardware.Sensor); method public boolean requestTriggerSensor(android.hardware.TriggerEventListener, android.hardware.Sensor); method public void unregisterDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorConnectionCallback); method public void unregisterDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback); method public deprecated void unregisterListener(android.hardware.SensorListener); method public deprecated void unregisterListener(android.hardware.SensorListener); method public deprecated void unregisterListener(android.hardware.SensorListener, int); method public deprecated void unregisterListener(android.hardware.SensorListener, int); method public void unregisterListener(android.hardware.SensorEventListener, android.hardware.Sensor); method public void unregisterListener(android.hardware.SensorEventListener, android.hardware.Sensor); Loading Loading @@ -14117,8 +14121,8 @@ package android.hardware { field public static final float STANDARD_GRAVITY = 9.80665f; field public static final float STANDARD_GRAVITY = 9.80665f; } } public static abstract class SensorManager.DynamicSensorConnectionCallback { public static abstract class SensorManager.DynamicSensorCallback { ctor public SensorManager.DynamicSensorConnectionCallback(); ctor public SensorManager.DynamicSensorCallback(); method public void onDynamicSensorConnected(android.hardware.Sensor); method public void onDynamicSensorConnected(android.hardware.Sensor); method public void onDynamicSensorDisconnected(android.hardware.Sensor); method public void onDynamicSensorDisconnected(android.hardware.Sensor); } } api/test-current.txt +9 −6 Original line number Original line Diff line number Diff line Loading @@ -13516,6 +13516,7 @@ package android.hardware { public final class Sensor { public final class Sensor { method public int getFifoMaxEventCount(); method public int getFifoMaxEventCount(); method public int getFifoReservedEventCount(); method public int getFifoReservedEventCount(); method public int getId(); method public int getMaxDelay(); method public int getMaxDelay(); method public float getMaximumRange(); method public float getMaximumRange(); method public int getMinDelay(); method public int getMinDelay(); Loading @@ -13525,9 +13526,10 @@ package android.hardware { method public float getResolution(); method public float getResolution(); method public java.lang.String getStringType(); method public java.lang.String getStringType(); method public int getType(); method public int getType(); method public java.util.UUID getUuid(); method public java.lang.String getVendor(); method public java.lang.String getVendor(); method public int getVersion(); method public int getVersion(); method public boolean isAdditionalInfoSupported(); method public boolean isDynamicSensor(); method public boolean isWakeUpSensor(); method public boolean isWakeUpSensor(); field public static final int REPORTING_MODE_CONTINUOUS = 0; // 0x0 field public static final int REPORTING_MODE_CONTINUOUS = 0; // 0x0 field public static final int REPORTING_MODE_ONE_SHOT = 2; // 0x2 field public static final int REPORTING_MODE_ONE_SHOT = 2; // 0x2 Loading Loading @@ -13646,8 +13648,9 @@ package android.hardware { method public static void getRotationMatrixFromVector(float[], float[]); method public static void getRotationMatrixFromVector(float[], float[]); method public java.util.List<android.hardware.Sensor> getSensorList(int); method public java.util.List<android.hardware.Sensor> getSensorList(int); method public deprecated int getSensors(); method public deprecated int getSensors(); method public void registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorConnectionCallback); method public boolean isDynamicSensorDiscoverySupported(); method public void registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorConnectionCallback, android.os.Handler); method public void registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback); method public void registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback, android.os.Handler); method public deprecated boolean registerListener(android.hardware.SensorListener, int); method public deprecated boolean registerListener(android.hardware.SensorListener, int); method public deprecated boolean registerListener(android.hardware.SensorListener, int, int); method public deprecated boolean registerListener(android.hardware.SensorListener, int, int); method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int); method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int); Loading @@ -13656,7 +13659,7 @@ package android.hardware { method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int, int, android.os.Handler); method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int, int, android.os.Handler); method public static boolean remapCoordinateSystem(float[], int, int, float[]); method public static boolean remapCoordinateSystem(float[], int, int, float[]); method public boolean requestTriggerSensor(android.hardware.TriggerEventListener, android.hardware.Sensor); method public boolean requestTriggerSensor(android.hardware.TriggerEventListener, android.hardware.Sensor); method public void unregisterDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorConnectionCallback); method public void unregisterDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback); method public deprecated void unregisterListener(android.hardware.SensorListener); method public deprecated void unregisterListener(android.hardware.SensorListener); method public deprecated void unregisterListener(android.hardware.SensorListener, int); method public deprecated void unregisterListener(android.hardware.SensorListener, int); method public void unregisterListener(android.hardware.SensorEventListener, android.hardware.Sensor); method public void unregisterListener(android.hardware.SensorEventListener, android.hardware.Sensor); Loading Loading @@ -13721,8 +13724,8 @@ package android.hardware { field public static final float STANDARD_GRAVITY = 9.80665f; field public static final float STANDARD_GRAVITY = 9.80665f; } } public static abstract class SensorManager.DynamicSensorConnectionCallback { public static abstract class SensorManager.DynamicSensorCallback { ctor public SensorManager.DynamicSensorConnectionCallback(); ctor public SensorManager.DynamicSensorCallback(); method public void onDynamicSensorConnected(android.hardware.Sensor); method public void onDynamicSensorConnected(android.hardware.Sensor); method public void onDynamicSensorDisconnected(android.hardware.Sensor); method public void onDynamicSensorDisconnected(android.hardware.Sensor); } } core/java/android/hardware/Sensor.java +71 −15 Original line number Original line Diff line number Diff line Loading @@ -431,7 +431,7 @@ public final class Sensor { * A constant string describing a wake up tilt detector sensor type. * A constant string describing a wake up tilt detector sensor type. * * * @hide * @hide * @see #TYPE_WAKE_UP_TILT_DETECTOR * @see #TYPE_TILT_DETECTOR */ */ public static final String SENSOR_STRING_TYPE_TILT_DETECTOR = public static final String SENSOR_STRING_TYPE_TILT_DETECTOR = "android.sensor.tilt_detector"; "android.sensor.tilt_detector"; Loading Loading @@ -706,6 +706,14 @@ public final class Sensor { private static final int DATA_INJECTION_MASK = 0x10; private static final int DATA_INJECTION_MASK = 0x10; private static final int DATA_INJECTION_SHIFT = 4; private static final int DATA_INJECTION_SHIFT = 4; // MASK for dynamic sensor (sensor that added during runtime), bit 6. private static final int DYNAMIC_SENSOR_MASK = 0x20; private static final int DYNAMIC_SENSOR_SHIFT = 5; // MASK for indication bit of sensor additional information support (bit 7). private static final int ADDITIONAL_INFO_MASK = 0x40; private static final int ADDITIONAL_INFO_SHIFT = 6; // TODO(): The following arrays are fragile and error-prone. This needs to be refactored. // TODO(): The following arrays are fragile and error-prone. This needs to be refactored. // Note: This needs to be updated, whenever a new sensor is added. // Note: This needs to be updated, whenever a new sensor is added. Loading Loading @@ -887,12 +895,36 @@ public final class Sensor { } } /** /** * @return The type of this sensor as a string. * @return The UUID of the sensor. If the sensor does not support UUID, the returned value will * be an all zero UUID; if the sensor's combination of type and name is guaranteed to be unique * in system, the return value will be an all "F" UUID. * * @hide */ */ @SystemApi public UUID getUuid() { public UUID getUuid() { return mUuid; return mUuid; } } /** * @return The unique id of sensor. Return value of 0 means this sensor does not support UUID; * return value of -1 means this sensor can be uniquely identified in system by combination of * its type and name. */ public int getId() { if (mUuid == ALL_0_UUID) { return 0; } else if (mUuid == ALL_F_UUID) { return -1; } else { int id = Math.abs(mUuid.hashCode()) + 1; if (id <= 0) { // catch corner case when hash is Integer.MIN_VALUE and Integer.MAX_VALUE id = 1; } return id; } } /** /** * @hide * @hide * @return The permission required to access this sensor. If empty, no permission is required. * @return The permission required to access this sensor. If empty, no permission is required. Loading Loading @@ -960,6 +992,26 @@ public final class Sensor { return (mFlags & SENSOR_FLAG_WAKE_UP_SENSOR) != 0; return (mFlags & SENSOR_FLAG_WAKE_UP_SENSOR) != 0; } } /** * Returns true if the sensor is a dynamic sensor. * * @return <code>true</code> if the sensor is a dynamic sensor (sensor added at runtime). * @see SensorManager.DynamicSensorCallback */ public boolean isDynamicSensor() { return (mFlags & DYNAMIC_SENSOR_MASK) != 0; } /** * Returns true if the sensor supports sensor additional information API * * @return <code>true</code> if the sensor supports sensor additional information API * @see SensorAdditionalInfo */ public boolean isAdditionalInfoSupported() { return (mFlags & ADDITIONAL_INFO_MASK) != 0; } /** /** * Returns true if the sensor supports data injection when the * Returns true if the sensor supports data injection when the * HAL is set to data injection mode. * HAL is set to data injection mode. Loading @@ -986,6 +1038,10 @@ public final class Sensor { + ", power=" + mPower + ", minDelay=" + mMinDelay + "}"; + ", power=" + mPower + ", minDelay=" + mMinDelay + "}"; } } //special UUID hash constant private final static UUID ALL_0_UUID = new UUID(0,0); private final static UUID ALL_F_UUID = new UUID(~0L, ~0L); /** /** * Sets the Type associated with the sensor. * Sets the Type associated with the sensor. * NOTE: to be used only by native bindings in SensorManager. * NOTE: to be used only by native bindings in SensorManager. Loading core/java/android/hardware/SensorAdditionalInfo.java +2 −2 Original line number Original line Diff line number Diff line Loading @@ -27,7 +27,7 @@ import java.lang.annotation.RetentionPolicy; * android.hardware.SensorEventCallback#onSensorAdditionalInfo onSensorAdditionalInfo}. * android.hardware.SensorEventCallback#onSensorAdditionalInfo onSensorAdditionalInfo}. * * * @see SensorManager * @see SensorManager * @see SensorEventListener3 * @see SensorEventCallback * @see Sensor * @see Sensor * * */ */ Loading Loading @@ -106,7 +106,7 @@ public class SensorAdditionalInfo { * such as accelerometer, gyro, etc. * such as accelerometer, gyro, etc. * * * Payload: * Payload: * floatValues[0..11]: First 3 rows of a homogenous matrix in row major order that captures * floatValues[0..11]: First 3 rows of a homogeneous matrix in row major order that captures * any linear transformation, including rotation, scaling, shear, shift. * any linear transformation, including rotation, scaling, shear, shift. */ */ public static final int TYPE_VEC3_CALIBRATION = 0x10002; public static final int TYPE_VEC3_CALIBRATION = 0x10002; Loading Loading
api/current.txt +9 −6 Original line number Original line Diff line number Diff line Loading @@ -13506,6 +13506,7 @@ package android.hardware { public final class Sensor { public final class Sensor { method public int getFifoMaxEventCount(); method public int getFifoMaxEventCount(); method public int getFifoReservedEventCount(); method public int getFifoReservedEventCount(); method public int getId(); method public int getMaxDelay(); method public int getMaxDelay(); method public float getMaximumRange(); method public float getMaximumRange(); method public int getMinDelay(); method public int getMinDelay(); Loading @@ -13515,9 +13516,10 @@ package android.hardware { method public float getResolution(); method public float getResolution(); method public java.lang.String getStringType(); method public java.lang.String getStringType(); method public int getType(); method public int getType(); method public java.util.UUID getUuid(); method public java.lang.String getVendor(); method public java.lang.String getVendor(); method public int getVersion(); method public int getVersion(); method public boolean isAdditionalInfoSupported(); method public boolean isDynamicSensor(); method public boolean isWakeUpSensor(); method public boolean isWakeUpSensor(); field public static final int REPORTING_MODE_CONTINUOUS = 0; // 0x0 field public static final int REPORTING_MODE_CONTINUOUS = 0; // 0x0 field public static final int REPORTING_MODE_ONE_SHOT = 2; // 0x2 field public static final int REPORTING_MODE_ONE_SHOT = 2; // 0x2 Loading Loading @@ -13636,8 +13638,9 @@ package android.hardware { method public static void getRotationMatrixFromVector(float[], float[]); method public static void getRotationMatrixFromVector(float[], float[]); method public java.util.List<android.hardware.Sensor> getSensorList(int); method public java.util.List<android.hardware.Sensor> getSensorList(int); method public deprecated int getSensors(); method public deprecated int getSensors(); method public void registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorConnectionCallback); method public boolean isDynamicSensorDiscoverySupported(); method public void registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorConnectionCallback, android.os.Handler); method public void registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback); method public void registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback, android.os.Handler); method public deprecated boolean registerListener(android.hardware.SensorListener, int); method public deprecated boolean registerListener(android.hardware.SensorListener, int); method public deprecated boolean registerListener(android.hardware.SensorListener, int, int); method public deprecated boolean registerListener(android.hardware.SensorListener, int, int); method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int); method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int); Loading @@ -13646,7 +13649,7 @@ package android.hardware { method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int, int, android.os.Handler); method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int, int, android.os.Handler); method public static boolean remapCoordinateSystem(float[], int, int, float[]); method public static boolean remapCoordinateSystem(float[], int, int, float[]); method public boolean requestTriggerSensor(android.hardware.TriggerEventListener, android.hardware.Sensor); method public boolean requestTriggerSensor(android.hardware.TriggerEventListener, android.hardware.Sensor); method public void unregisterDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorConnectionCallback); method public void unregisterDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback); method public deprecated void unregisterListener(android.hardware.SensorListener); method public deprecated void unregisterListener(android.hardware.SensorListener); method public deprecated void unregisterListener(android.hardware.SensorListener, int); method public deprecated void unregisterListener(android.hardware.SensorListener, int); method public void unregisterListener(android.hardware.SensorEventListener, android.hardware.Sensor); method public void unregisterListener(android.hardware.SensorEventListener, android.hardware.Sensor); Loading Loading @@ -13711,8 +13714,8 @@ package android.hardware { field public static final float STANDARD_GRAVITY = 9.80665f; field public static final float STANDARD_GRAVITY = 9.80665f; } } public static abstract class SensorManager.DynamicSensorConnectionCallback { public static abstract class SensorManager.DynamicSensorCallback { ctor public SensorManager.DynamicSensorConnectionCallback(); ctor public SensorManager.DynamicSensorCallback(); method public void onDynamicSensorConnected(android.hardware.Sensor); method public void onDynamicSensorConnected(android.hardware.Sensor); method public void onDynamicSensorDisconnected(android.hardware.Sensor); method public void onDynamicSensorDisconnected(android.hardware.Sensor); } }
api/system-current.txt +9 −5 Original line number Original line Diff line number Diff line Loading @@ -13905,6 +13905,7 @@ package android.hardware { public final class Sensor { public final class Sensor { method public int getFifoMaxEventCount(); method public int getFifoMaxEventCount(); method public int getFifoReservedEventCount(); method public int getFifoReservedEventCount(); method public int getId(); method public int getMaxDelay(); method public int getMaxDelay(); method public float getMaximumRange(); method public float getMaximumRange(); method public int getMinDelay(); method public int getMinDelay(); Loading @@ -13917,7 +13918,9 @@ package android.hardware { method public java.util.UUID getUuid(); method public java.util.UUID getUuid(); method public java.lang.String getVendor(); method public java.lang.String getVendor(); method public int getVersion(); method public int getVersion(); method public boolean isAdditionalInfoSupported(); method public boolean isDataInjectionSupported(); method public boolean isDataInjectionSupported(); method public boolean isDynamicSensor(); method public boolean isWakeUpSensor(); method public boolean isWakeUpSensor(); field public static final int REPORTING_MODE_CONTINUOUS = 0; // 0x0 field public static final int REPORTING_MODE_CONTINUOUS = 0; // 0x0 field public static final int REPORTING_MODE_ONE_SHOT = 2; // 0x2 field public static final int REPORTING_MODE_ONE_SHOT = 2; // 0x2 Loading Loading @@ -14042,8 +14045,9 @@ package android.hardware { method public deprecated int getSensors(); method public deprecated int getSensors(); method public boolean initDataInjection(boolean); method public boolean initDataInjection(boolean); method public boolean injectSensorData(android.hardware.Sensor, float[], int, long); method public boolean injectSensorData(android.hardware.Sensor, float[], int, long); method public void registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorConnectionCallback); method public boolean isDynamicSensorDiscoverySupported(); method public void registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorConnectionCallback, android.os.Handler); method public void registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback); method public void registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback, android.os.Handler); method public deprecated boolean registerListener(android.hardware.SensorListener, int); method public deprecated boolean registerListener(android.hardware.SensorListener, int); method public deprecated boolean registerListener(android.hardware.SensorListener, int, int); method public deprecated boolean registerListener(android.hardware.SensorListener, int, int); method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int); method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int); Loading @@ -14052,7 +14056,7 @@ package android.hardware { method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int, int, android.os.Handler); method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int, int, android.os.Handler); method public static boolean remapCoordinateSystem(float[], int, int, float[]); method public static boolean remapCoordinateSystem(float[], int, int, float[]); method public boolean requestTriggerSensor(android.hardware.TriggerEventListener, android.hardware.Sensor); method public boolean requestTriggerSensor(android.hardware.TriggerEventListener, android.hardware.Sensor); method public void unregisterDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorConnectionCallback); method public void unregisterDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback); method public deprecated void unregisterListener(android.hardware.SensorListener); method public deprecated void unregisterListener(android.hardware.SensorListener); method public deprecated void unregisterListener(android.hardware.SensorListener, int); method public deprecated void unregisterListener(android.hardware.SensorListener, int); method public void unregisterListener(android.hardware.SensorEventListener, android.hardware.Sensor); method public void unregisterListener(android.hardware.SensorEventListener, android.hardware.Sensor); Loading Loading @@ -14117,8 +14121,8 @@ package android.hardware { field public static final float STANDARD_GRAVITY = 9.80665f; field public static final float STANDARD_GRAVITY = 9.80665f; } } public static abstract class SensorManager.DynamicSensorConnectionCallback { public static abstract class SensorManager.DynamicSensorCallback { ctor public SensorManager.DynamicSensorConnectionCallback(); ctor public SensorManager.DynamicSensorCallback(); method public void onDynamicSensorConnected(android.hardware.Sensor); method public void onDynamicSensorConnected(android.hardware.Sensor); method public void onDynamicSensorDisconnected(android.hardware.Sensor); method public void onDynamicSensorDisconnected(android.hardware.Sensor); } }
api/test-current.txt +9 −6 Original line number Original line Diff line number Diff line Loading @@ -13516,6 +13516,7 @@ package android.hardware { public final class Sensor { public final class Sensor { method public int getFifoMaxEventCount(); method public int getFifoMaxEventCount(); method public int getFifoReservedEventCount(); method public int getFifoReservedEventCount(); method public int getId(); method public int getMaxDelay(); method public int getMaxDelay(); method public float getMaximumRange(); method public float getMaximumRange(); method public int getMinDelay(); method public int getMinDelay(); Loading @@ -13525,9 +13526,10 @@ package android.hardware { method public float getResolution(); method public float getResolution(); method public java.lang.String getStringType(); method public java.lang.String getStringType(); method public int getType(); method public int getType(); method public java.util.UUID getUuid(); method public java.lang.String getVendor(); method public java.lang.String getVendor(); method public int getVersion(); method public int getVersion(); method public boolean isAdditionalInfoSupported(); method public boolean isDynamicSensor(); method public boolean isWakeUpSensor(); method public boolean isWakeUpSensor(); field public static final int REPORTING_MODE_CONTINUOUS = 0; // 0x0 field public static final int REPORTING_MODE_CONTINUOUS = 0; // 0x0 field public static final int REPORTING_MODE_ONE_SHOT = 2; // 0x2 field public static final int REPORTING_MODE_ONE_SHOT = 2; // 0x2 Loading Loading @@ -13646,8 +13648,9 @@ package android.hardware { method public static void getRotationMatrixFromVector(float[], float[]); method public static void getRotationMatrixFromVector(float[], float[]); method public java.util.List<android.hardware.Sensor> getSensorList(int); method public java.util.List<android.hardware.Sensor> getSensorList(int); method public deprecated int getSensors(); method public deprecated int getSensors(); method public void registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorConnectionCallback); method public boolean isDynamicSensorDiscoverySupported(); method public void registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorConnectionCallback, android.os.Handler); method public void registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback); method public void registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback, android.os.Handler); method public deprecated boolean registerListener(android.hardware.SensorListener, int); method public deprecated boolean registerListener(android.hardware.SensorListener, int); method public deprecated boolean registerListener(android.hardware.SensorListener, int, int); method public deprecated boolean registerListener(android.hardware.SensorListener, int, int); method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int); method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int); Loading @@ -13656,7 +13659,7 @@ package android.hardware { method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int, int, android.os.Handler); method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int, int, android.os.Handler); method public static boolean remapCoordinateSystem(float[], int, int, float[]); method public static boolean remapCoordinateSystem(float[], int, int, float[]); method public boolean requestTriggerSensor(android.hardware.TriggerEventListener, android.hardware.Sensor); method public boolean requestTriggerSensor(android.hardware.TriggerEventListener, android.hardware.Sensor); method public void unregisterDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorConnectionCallback); method public void unregisterDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback); method public deprecated void unregisterListener(android.hardware.SensorListener); method public deprecated void unregisterListener(android.hardware.SensorListener); method public deprecated void unregisterListener(android.hardware.SensorListener, int); method public deprecated void unregisterListener(android.hardware.SensorListener, int); method public void unregisterListener(android.hardware.SensorEventListener, android.hardware.Sensor); method public void unregisterListener(android.hardware.SensorEventListener, android.hardware.Sensor); Loading Loading @@ -13721,8 +13724,8 @@ package android.hardware { field public static final float STANDARD_GRAVITY = 9.80665f; field public static final float STANDARD_GRAVITY = 9.80665f; } } public static abstract class SensorManager.DynamicSensorConnectionCallback { public static abstract class SensorManager.DynamicSensorCallback { ctor public SensorManager.DynamicSensorConnectionCallback(); ctor public SensorManager.DynamicSensorCallback(); method public void onDynamicSensorConnected(android.hardware.Sensor); method public void onDynamicSensorConnected(android.hardware.Sensor); method public void onDynamicSensorDisconnected(android.hardware.Sensor); method public void onDynamicSensorDisconnected(android.hardware.Sensor); } }
core/java/android/hardware/Sensor.java +71 −15 Original line number Original line Diff line number Diff line Loading @@ -431,7 +431,7 @@ public final class Sensor { * A constant string describing a wake up tilt detector sensor type. * A constant string describing a wake up tilt detector sensor type. * * * @hide * @hide * @see #TYPE_WAKE_UP_TILT_DETECTOR * @see #TYPE_TILT_DETECTOR */ */ public static final String SENSOR_STRING_TYPE_TILT_DETECTOR = public static final String SENSOR_STRING_TYPE_TILT_DETECTOR = "android.sensor.tilt_detector"; "android.sensor.tilt_detector"; Loading Loading @@ -706,6 +706,14 @@ public final class Sensor { private static final int DATA_INJECTION_MASK = 0x10; private static final int DATA_INJECTION_MASK = 0x10; private static final int DATA_INJECTION_SHIFT = 4; private static final int DATA_INJECTION_SHIFT = 4; // MASK for dynamic sensor (sensor that added during runtime), bit 6. private static final int DYNAMIC_SENSOR_MASK = 0x20; private static final int DYNAMIC_SENSOR_SHIFT = 5; // MASK for indication bit of sensor additional information support (bit 7). private static final int ADDITIONAL_INFO_MASK = 0x40; private static final int ADDITIONAL_INFO_SHIFT = 6; // TODO(): The following arrays are fragile and error-prone. This needs to be refactored. // TODO(): The following arrays are fragile and error-prone. This needs to be refactored. // Note: This needs to be updated, whenever a new sensor is added. // Note: This needs to be updated, whenever a new sensor is added. Loading Loading @@ -887,12 +895,36 @@ public final class Sensor { } } /** /** * @return The type of this sensor as a string. * @return The UUID of the sensor. If the sensor does not support UUID, the returned value will * be an all zero UUID; if the sensor's combination of type and name is guaranteed to be unique * in system, the return value will be an all "F" UUID. * * @hide */ */ @SystemApi public UUID getUuid() { public UUID getUuid() { return mUuid; return mUuid; } } /** * @return The unique id of sensor. Return value of 0 means this sensor does not support UUID; * return value of -1 means this sensor can be uniquely identified in system by combination of * its type and name. */ public int getId() { if (mUuid == ALL_0_UUID) { return 0; } else if (mUuid == ALL_F_UUID) { return -1; } else { int id = Math.abs(mUuid.hashCode()) + 1; if (id <= 0) { // catch corner case when hash is Integer.MIN_VALUE and Integer.MAX_VALUE id = 1; } return id; } } /** /** * @hide * @hide * @return The permission required to access this sensor. If empty, no permission is required. * @return The permission required to access this sensor. If empty, no permission is required. Loading Loading @@ -960,6 +992,26 @@ public final class Sensor { return (mFlags & SENSOR_FLAG_WAKE_UP_SENSOR) != 0; return (mFlags & SENSOR_FLAG_WAKE_UP_SENSOR) != 0; } } /** * Returns true if the sensor is a dynamic sensor. * * @return <code>true</code> if the sensor is a dynamic sensor (sensor added at runtime). * @see SensorManager.DynamicSensorCallback */ public boolean isDynamicSensor() { return (mFlags & DYNAMIC_SENSOR_MASK) != 0; } /** * Returns true if the sensor supports sensor additional information API * * @return <code>true</code> if the sensor supports sensor additional information API * @see SensorAdditionalInfo */ public boolean isAdditionalInfoSupported() { return (mFlags & ADDITIONAL_INFO_MASK) != 0; } /** /** * Returns true if the sensor supports data injection when the * Returns true if the sensor supports data injection when the * HAL is set to data injection mode. * HAL is set to data injection mode. Loading @@ -986,6 +1038,10 @@ public final class Sensor { + ", power=" + mPower + ", minDelay=" + mMinDelay + "}"; + ", power=" + mPower + ", minDelay=" + mMinDelay + "}"; } } //special UUID hash constant private final static UUID ALL_0_UUID = new UUID(0,0); private final static UUID ALL_F_UUID = new UUID(~0L, ~0L); /** /** * Sets the Type associated with the sensor. * Sets the Type associated with the sensor. * NOTE: to be used only by native bindings in SensorManager. * NOTE: to be used only by native bindings in SensorManager. Loading
core/java/android/hardware/SensorAdditionalInfo.java +2 −2 Original line number Original line Diff line number Diff line Loading @@ -27,7 +27,7 @@ import java.lang.annotation.RetentionPolicy; * android.hardware.SensorEventCallback#onSensorAdditionalInfo onSensorAdditionalInfo}. * android.hardware.SensorEventCallback#onSensorAdditionalInfo onSensorAdditionalInfo}. * * * @see SensorManager * @see SensorManager * @see SensorEventListener3 * @see SensorEventCallback * @see Sensor * @see Sensor * * */ */ Loading Loading @@ -106,7 +106,7 @@ public class SensorAdditionalInfo { * such as accelerometer, gyro, etc. * such as accelerometer, gyro, etc. * * * Payload: * Payload: * floatValues[0..11]: First 3 rows of a homogenous matrix in row major order that captures * floatValues[0..11]: First 3 rows of a homogeneous matrix in row major order that captures * any linear transformation, including rotation, scaling, shear, shift. * any linear transformation, including rotation, scaling, shear, shift. */ */ public static final int TYPE_VEC3_CALIBRATION = 0x10002; public static final int TYPE_VEC3_CALIBRATION = 0x10002; Loading