summaryrefslogtreecommitdiffstats
path: root/core/jni
diff options
context:
space:
mode:
authorSvet Ganov <svetoslavganov@google.com>2015-04-30 10:38:13 -0700
committerSvetoslav <svetoslavganov@google.com>2015-05-01 13:56:04 -0700
commitb9d71a6f89b1183f6389b1774652445a420c6cbf (patch)
treeb6f17102b2f86b40630e4a7cd681721797a8f324 /core/jni
parent9fc943d1a69f2ab0f6d8285b09aef7e344a1fd1a (diff)
downloadframeworks_base-b9d71a6f89b1183f6389b1774652445a420c6cbf.zip
frameworks_base-b9d71a6f89b1183f6389b1774652445a420c6cbf.tar.gz
frameworks_base-b9d71a6f89b1183f6389b1774652445a420c6cbf.tar.bz2
Add body sensors app op - framework base
Change-Id: Idd5cd573fab3405e5b2a6e51d2d9d115650826e9
Diffstat (limited to 'core/jni')
-rw-r--r--core/jni/android_hardware_SensorManager.cpp40
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",