diff options
| author | Svet Ganov <svetoslavganov@google.com> | 2015-05-01 23:09:51 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-05-01 23:09:52 +0000 |
| commit | 574f53793d6441ebf55ca8811588ad37d9451a9a (patch) | |
| tree | cf2c794a03a58b425264abb90939d2418d97621d /core/jni | |
| parent | 106f88c890bd128ef89aa4f0dee591c2ad38fa6b (diff) | |
| parent | b9d71a6f89b1183f6389b1774652445a420c6cbf (diff) | |
| download | frameworks_base-574f53793d6441ebf55ca8811588ad37d9451a9a.zip frameworks_base-574f53793d6441ebf55ca8811588ad37d9451a9a.tar.gz frameworks_base-574f53793d6441ebf55ca8811588ad37d9451a9a.tar.bz2 | |
Merge "Add body sensors app op - framework base" into mnc-dev
Diffstat (limited to 'core/jni')
| -rw-r--r-- | core/jni/android_hardware_SensorManager.cpp | 40 |
1 files changed, 26 insertions, 14 deletions
diff --git a/core/jni/android_hardware_SensorManager.cpp b/core/jni/android_hardware_SensorManager.cpp index 0cf596c..f5f8b1f 100644 --- a/core/jni/android_hardware_SensorManager.cpp +++ b/core/jni/android_hardware_SensorManager.cpp @@ -134,13 +134,21 @@ getInternedString(JNIEnv *env, const String8* string) { return internedString; } +static jlong +nativeCreate +(JNIEnv *env, jclass clazz, jstring opPackageName) +{ + ScopedUtfChars opPackageNameUtf(env, opPackageName); + return (jlong) new SensorManager(String16(opPackageNameUtf.c_str())); +} + static jint -nativeGetNextSensor(JNIEnv *env, jclass clazz, jobject sensor, jint next) +nativeGetNextSensor(JNIEnv *env, jclass clazz, jlong sensorManager, jobject sensor, jint next) { - SensorManager& mgr(SensorManager::getInstance()); + SensorManager* mgr = reinterpret_cast<SensorManager*>(sensorManager); Sensor const* const* sensorList; - size_t count = mgr.getSensorList(&sensorList); + size_t count = mgr->getSensorList(&sensorList); if (size_t(next) >= count) { return -1; } @@ -174,9 +182,10 @@ nativeGetNextSensor(JNIEnv *env, jclass clazz, jobject sensor, jint next) return size_t(next) < count ? next : 0; } -static int nativeEnableDataInjection(JNIEnv *_env, jclass _this, jboolean enable) { - SensorManager& mgr(SensorManager::getInstance()); - return mgr.enableDataInjection(enable); +static int nativeEnableDataInjection(JNIEnv *_env, jclass _this, jlong sensorManager, + jboolean enable) { + SensorManager* mgr = reinterpret_cast<SensorManager*>(sensorManager); + return mgr->enableDataInjection(enable); } //---------------------------------------------------------------------------- @@ -281,12 +290,12 @@ private: } }; -static jlong nativeInitSensorEventQueue(JNIEnv *env, jclass clazz, jobject eventQWeak, jobject msgQ, - jfloatArray scratch, jstring packageName, jint mode) { - SensorManager& mgr(SensorManager::getInstance()); +static jlong nativeInitSensorEventQueue(JNIEnv *env, jclass clazz, jlong sensorManager, + jobject eventQWeak, jobject msgQ, jfloatArray scratch, jstring packageName, jint mode) { + SensorManager* mgr = reinterpret_cast<SensorManager*>(sensorManager); ScopedUtfChars packageUtf(env, packageName); String8 clientName(packageUtf.c_str()); - sp<SensorEventQueue> queue(mgr.createEventQueue(clientName, mode)); + sp<SensorEventQueue> queue(mgr->createEventQueue(clientName, mode)); sp<MessageQueue> messageQueue = android_os_MessageQueue_getMessageQueue(env, msgQ); if (messageQueue == NULL) { @@ -339,20 +348,23 @@ static JNINativeMethod gSystemSensorManagerMethods[] = { {"nativeClassInit", "()V", (void*)nativeClassInit }, + {"nativeCreate", + "(Ljava/lang/String;)J", + (void*)nativeCreate }, {"nativeGetNextSensor", - "(Landroid/hardware/Sensor;I)I", + "(JLandroid/hardware/Sensor;I)I", (void*)nativeGetNextSensor }, {"nativeEnableDataInjection", - "(Z)I", + "(JZ)I", (void*)nativeEnableDataInjection }, }; static JNINativeMethod gBaseEventQueueMethods[] = { {"nativeInitBaseEventQueue", - "(Ljava/lang/ref/WeakReference;Landroid/os/MessageQueue;[FLjava/lang/String;I)J", - (void*)nativeInitSensorEventQueue }, + "(JLjava/lang/ref/WeakReference;Landroid/os/MessageQueue;[FLjava/lang/String;ILjava/lang/String;)J", + (void*)nativeInitSensorEventQueue }, {"nativeEnableSensor", "(JIII)I", |
