Loading core/java/android/hardware/SystemSensorManager.java +3 −2 Original line number Diff line number Diff line Loading @@ -667,7 +667,7 @@ public class SystemSensorManager extends SensorManager { private abstract static class BaseEventQueue { private static native long nativeInitBaseEventQueue(long nativeManager, WeakReference<BaseEventQueue> eventQWeak, MessageQueue msgQ, String packageName, int mode, String opPackageName); String packageName, int mode, String opPackageName, String attributionTag); private static native int nativeEnableSensor(long eventQ, int handle, int rateUs, int maxBatchReportLatencyUs); private static native int nativeDisableSensor(long eventQ, int handle); Loading @@ -689,7 +689,8 @@ public class SystemSensorManager extends SensorManager { if (packageName == null) packageName = ""; mNativeSensorEventQueue = nativeInitBaseEventQueue(manager.mNativeInstance, new WeakReference<>(this), looper.getQueue(), packageName, mode, manager.mContext.getOpPackageName()); packageName, mode, manager.mContext.getOpPackageName(), manager.mContext.getAttributionTag()); mCloseGuard.open("dispose"); mManager = manager; } Loading core/jni/android_hardware_SensorManager.cpp +18 −20 Original line number Diff line number Diff line Loading @@ -421,11 +421,18 @@ private: }; static jlong nativeInitSensorEventQueue(JNIEnv *env, jclass clazz, jlong sensorManager, jobject eventQWeak, jobject msgQ, jstring packageName, jint mode) { jobject eventQWeak, jobject msgQ, jstring packageName, jint mode, jstring opPackageName, jstring attributionTag) { SensorManager* mgr = reinterpret_cast<SensorManager*>(sensorManager); ScopedUtfChars packageUtf(env, packageName); String8 clientName(packageUtf.c_str()); sp<SensorEventQueue> queue(mgr->createEventQueue(clientName, mode)); String16 attributionTagName(""); if (attributionTag != nullptr) { ScopedUtfChars attrUtf(env, attributionTag); attributionTagName = String16(attrUtf.c_str()); } sp<SensorEventQueue> queue(mgr->createEventQueue(clientName, mode, attributionTagName)); if (queue == NULL) { jniThrowRuntimeException(env, "Cannot construct native SensorEventQueue."); Loading Loading @@ -518,28 +525,19 @@ static const JNINativeMethod gSystemSensorManagerMethods[] = { static const JNINativeMethod gBaseEventQueueMethods[] = { {"nativeInitBaseEventQueue", "(JLjava/lang/ref/WeakReference;Landroid/os/MessageQueue;Ljava/lang/String;ILjava/lang/String;)J", "(JLjava/lang/ref/WeakReference;Landroid/os/MessageQueue;Ljava/lang/String;ILjava/lang/" "String;Ljava/lang/String;)J", (void *)nativeInitSensorEventQueue}, {"nativeEnableSensor", "(JIII)I", (void*)nativeEnableSensor }, {"nativeEnableSensor", "(JIII)I", (void *)nativeEnableSensor}, {"nativeDisableSensor", "(JI)I", (void*)nativeDisableSensor }, {"nativeDisableSensor", "(JI)I", (void *)nativeDisableSensor}, {"nativeDestroySensorEventQueue", "(J)V", (void*)nativeDestroySensorEventQueue }, {"nativeDestroySensorEventQueue", "(J)V", (void *)nativeDestroySensorEventQueue}, {"nativeFlushSensor", "(J)I", (void*)nativeFlushSensor }, {"nativeFlushSensor", "(J)I", (void *)nativeFlushSensor}, {"nativeInjectSensorData", "(JI[FIJ)I", (void*)nativeInjectSensorData }, {"nativeInjectSensorData", "(JI[FIJ)I", (void *)nativeInjectSensorData}, }; } //unnamed namespace Loading Loading
core/java/android/hardware/SystemSensorManager.java +3 −2 Original line number Diff line number Diff line Loading @@ -667,7 +667,7 @@ public class SystemSensorManager extends SensorManager { private abstract static class BaseEventQueue { private static native long nativeInitBaseEventQueue(long nativeManager, WeakReference<BaseEventQueue> eventQWeak, MessageQueue msgQ, String packageName, int mode, String opPackageName); String packageName, int mode, String opPackageName, String attributionTag); private static native int nativeEnableSensor(long eventQ, int handle, int rateUs, int maxBatchReportLatencyUs); private static native int nativeDisableSensor(long eventQ, int handle); Loading @@ -689,7 +689,8 @@ public class SystemSensorManager extends SensorManager { if (packageName == null) packageName = ""; mNativeSensorEventQueue = nativeInitBaseEventQueue(manager.mNativeInstance, new WeakReference<>(this), looper.getQueue(), packageName, mode, manager.mContext.getOpPackageName()); packageName, mode, manager.mContext.getOpPackageName(), manager.mContext.getAttributionTag()); mCloseGuard.open("dispose"); mManager = manager; } Loading
core/jni/android_hardware_SensorManager.cpp +18 −20 Original line number Diff line number Diff line Loading @@ -421,11 +421,18 @@ private: }; static jlong nativeInitSensorEventQueue(JNIEnv *env, jclass clazz, jlong sensorManager, jobject eventQWeak, jobject msgQ, jstring packageName, jint mode) { jobject eventQWeak, jobject msgQ, jstring packageName, jint mode, jstring opPackageName, jstring attributionTag) { SensorManager* mgr = reinterpret_cast<SensorManager*>(sensorManager); ScopedUtfChars packageUtf(env, packageName); String8 clientName(packageUtf.c_str()); sp<SensorEventQueue> queue(mgr->createEventQueue(clientName, mode)); String16 attributionTagName(""); if (attributionTag != nullptr) { ScopedUtfChars attrUtf(env, attributionTag); attributionTagName = String16(attrUtf.c_str()); } sp<SensorEventQueue> queue(mgr->createEventQueue(clientName, mode, attributionTagName)); if (queue == NULL) { jniThrowRuntimeException(env, "Cannot construct native SensorEventQueue."); Loading Loading @@ -518,28 +525,19 @@ static const JNINativeMethod gSystemSensorManagerMethods[] = { static const JNINativeMethod gBaseEventQueueMethods[] = { {"nativeInitBaseEventQueue", "(JLjava/lang/ref/WeakReference;Landroid/os/MessageQueue;Ljava/lang/String;ILjava/lang/String;)J", "(JLjava/lang/ref/WeakReference;Landroid/os/MessageQueue;Ljava/lang/String;ILjava/lang/" "String;Ljava/lang/String;)J", (void *)nativeInitSensorEventQueue}, {"nativeEnableSensor", "(JIII)I", (void*)nativeEnableSensor }, {"nativeEnableSensor", "(JIII)I", (void *)nativeEnableSensor}, {"nativeDisableSensor", "(JI)I", (void*)nativeDisableSensor }, {"nativeDisableSensor", "(JI)I", (void *)nativeDisableSensor}, {"nativeDestroySensorEventQueue", "(J)V", (void*)nativeDestroySensorEventQueue }, {"nativeDestroySensorEventQueue", "(J)V", (void *)nativeDestroySensorEventQueue}, {"nativeFlushSensor", "(J)I", (void*)nativeFlushSensor }, {"nativeFlushSensor", "(J)I", (void *)nativeFlushSensor}, {"nativeInjectSensorData", "(JI[FIJ)I", (void*)nativeInjectSensorData }, {"nativeInjectSensorData", "(JI[FIJ)I", (void *)nativeInjectSensorData}, }; } //unnamed namespace Loading