summaryrefslogtreecommitdiffstats
path: root/services/jni
diff options
context:
space:
mode:
authorMike Lockwood <lockwood@android.com>2009-08-28 18:08:27 -0700
committerMike Lockwood <lockwood@android.com>2009-08-30 14:25:56 -0400
commit2d6b67d37f3164e53b311650aab94faabf46ef67 (patch)
tree0e0f301a837c0eb6b870b80860b6a4ba7c63a629 /services/jni
parent56f67d21459ad3f136c73c8932904d4a495989c0 (diff)
downloadframeworks_base-2d6b67d37f3164e53b311650aab94faabf46ef67.zip
frameworks_base-2d6b67d37f3164e53b311650aab94faabf46ef67.tar.gz
frameworks_base-2d6b67d37f3164e53b311650aab94faabf46ef67.tar.bz2
SensorService: call close_data_source when we have no more sensor clients.
Change-Id: I94accda4571c3f2cf6f8a5b6801e37c30c027fe1 Signed-off-by: Mike Lockwood <lockwood@android.com>
Diffstat (limited to 'services/jni')
-rw-r--r--services/jni/com_android_server_SensorService.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/services/jni/com_android_server_SensorService.cpp b/services/jni/com_android_server_SensorService.cpp
index 7390786..3911d1f 100644
--- a/services/jni/com_android_server_SensorService.cpp
+++ b/services/jni/com_android_server_SensorService.cpp
@@ -111,6 +111,15 @@ android_open(JNIEnv *env, jclass clazz)
return bundle;
}
+static jint
+android_close(JNIEnv *env, jclass clazz)
+{
+ if (sSensorDevice->close_data_source)
+ return sSensorDevice->close_data_source(sSensorDevice);
+ else
+ return 0;
+}
+
static jboolean
android_activate(JNIEnv *env, jclass clazz, jint sensor, jboolean activate)
{
@@ -135,6 +144,7 @@ android_data_wake(JNIEnv *env, jclass clazz)
static JNINativeMethod gMethods[] = {
{"_sensors_control_init", "()I", (void*) android_init },
{"_sensors_control_open", "()Landroid/os/Bundle;", (void*) android_open },
+ {"_sensors_control_close", "()I", (void*) android_close },
{"_sensors_control_activate", "(IZ)Z", (void*) android_activate },
{"_sensors_control_wake", "()I", (void*) android_data_wake },
{"_sensors_control_set_delay","(I)I", (void*) android_set_delay },