Loading core/java/android/hardware/SystemSensorManager.java +7 −2 Original line number Diff line number Diff line Loading @@ -86,6 +86,8 @@ public class SystemSensorManager extends SensorManager { private static native long nativeCreate(String opPackageName); private static native boolean nativeGetSensorAtIndex(long nativeInstance, Sensor sensor, int index); private static native boolean nativeGetDefaultDeviceSensorAtIndex(long nativeInstance, Sensor sensor, int index); private static native void nativeGetDynamicSensors(long nativeInstance, List<Sensor> list); private static native void nativeGetRuntimeSensors( long nativeInstance, int deviceId, List<Sensor> list); Loading Loading @@ -162,11 +164,14 @@ public class SystemSensorManager extends SensorManager { // initialize the sensor list for (int index = 0;; ++index) { Sensor sensor = new Sensor(); if (android.companion.virtual.flags.Flags.enableNativeVdm()) { if (!nativeGetDefaultDeviceSensorAtIndex(mNativeInstance, sensor, index)) break; } else { if (!nativeGetSensorAtIndex(mNativeInstance, sensor, index)) break; } mFullSensorsList.add(sensor); mHandleToSensor.put(sensor.getHandle(), sensor); } } /** @hide */ Loading core/jni/android_hardware_SensorManager.cpp +16 −0 Original line number Diff line number Diff line Loading @@ -225,6 +225,19 @@ nativeGetSensorAtIndex(JNIEnv *env, jclass clazz, jlong sensorManager, jobject s return translateNativeSensorToJavaSensor(env, sensor, *sensorList[index]) != NULL; } static jboolean nativeGetDefaultDeviceSensorAtIndex(JNIEnv *env, jclass clazz, jlong sensorManager, jobject sensor, jint index) { SensorManager *mgr = reinterpret_cast<SensorManager *>(sensorManager); Vector<Sensor> sensorList; ssize_t count = mgr->getDefaultDeviceSensorList(sensorList); if (ssize_t(index) >= count) { return false; } return translateNativeSensorToJavaSensor(env, sensor, sensorList[index]) != NULL; } static void nativeGetDynamicSensors(JNIEnv *env, jclass clazz, jlong sensorManager, jobject sensorList) { Loading Loading @@ -539,6 +552,9 @@ static const JNINativeMethod gSystemSensorManagerMethods[] = { {"nativeGetSensorAtIndex", "(JLandroid/hardware/Sensor;I)Z", (void *)nativeGetSensorAtIndex}, {"nativeGetDefaultDeviceSensorAtIndex", "(JLandroid/hardware/Sensor;I)Z", (void *)nativeGetDefaultDeviceSensorAtIndex}, {"nativeGetDynamicSensors", "(JLjava/util/List;)V", (void *)nativeGetDynamicSensors}, {"nativeGetRuntimeSensors", "(JILjava/util/List;)V", (void *)nativeGetRuntimeSensors}, Loading Loading
core/java/android/hardware/SystemSensorManager.java +7 −2 Original line number Diff line number Diff line Loading @@ -86,6 +86,8 @@ public class SystemSensorManager extends SensorManager { private static native long nativeCreate(String opPackageName); private static native boolean nativeGetSensorAtIndex(long nativeInstance, Sensor sensor, int index); private static native boolean nativeGetDefaultDeviceSensorAtIndex(long nativeInstance, Sensor sensor, int index); private static native void nativeGetDynamicSensors(long nativeInstance, List<Sensor> list); private static native void nativeGetRuntimeSensors( long nativeInstance, int deviceId, List<Sensor> list); Loading Loading @@ -162,11 +164,14 @@ public class SystemSensorManager extends SensorManager { // initialize the sensor list for (int index = 0;; ++index) { Sensor sensor = new Sensor(); if (android.companion.virtual.flags.Flags.enableNativeVdm()) { if (!nativeGetDefaultDeviceSensorAtIndex(mNativeInstance, sensor, index)) break; } else { if (!nativeGetSensorAtIndex(mNativeInstance, sensor, index)) break; } mFullSensorsList.add(sensor); mHandleToSensor.put(sensor.getHandle(), sensor); } } /** @hide */ Loading
core/jni/android_hardware_SensorManager.cpp +16 −0 Original line number Diff line number Diff line Loading @@ -225,6 +225,19 @@ nativeGetSensorAtIndex(JNIEnv *env, jclass clazz, jlong sensorManager, jobject s return translateNativeSensorToJavaSensor(env, sensor, *sensorList[index]) != NULL; } static jboolean nativeGetDefaultDeviceSensorAtIndex(JNIEnv *env, jclass clazz, jlong sensorManager, jobject sensor, jint index) { SensorManager *mgr = reinterpret_cast<SensorManager *>(sensorManager); Vector<Sensor> sensorList; ssize_t count = mgr->getDefaultDeviceSensorList(sensorList); if (ssize_t(index) >= count) { return false; } return translateNativeSensorToJavaSensor(env, sensor, sensorList[index]) != NULL; } static void nativeGetDynamicSensors(JNIEnv *env, jclass clazz, jlong sensorManager, jobject sensorList) { Loading Loading @@ -539,6 +552,9 @@ static const JNINativeMethod gSystemSensorManagerMethods[] = { {"nativeGetSensorAtIndex", "(JLandroid/hardware/Sensor;I)Z", (void *)nativeGetSensorAtIndex}, {"nativeGetDefaultDeviceSensorAtIndex", "(JLandroid/hardware/Sensor;I)Z", (void *)nativeGetDefaultDeviceSensorAtIndex}, {"nativeGetDynamicSensors", "(JLjava/util/List;)V", (void *)nativeGetDynamicSensors}, {"nativeGetRuntimeSensors", "(JILjava/util/List;)V", (void *)nativeGetRuntimeSensors}, Loading