summaryrefslogtreecommitdiffstats
path: root/core/jni/android_hardware_Camera.cpp
diff options
context:
space:
mode:
authorWu-cheng Li <wuchengli@google.com>2009-09-10 16:49:17 +0800
committerWu-cheng Li <wuchengli@google.com>2009-09-21 07:28:44 +0800
commitffe1cf251a4f8469695b8acfa37270684dc1b70c (patch)
tree61e5907167f3473dac5c4bd31da97f6e2137a522 /core/jni/android_hardware_Camera.cpp
parent2092361d586a20190c9137fb3cc9434cdc9ec99f (diff)
downloadframeworks_base-ffe1cf251a4f8469695b8acfa37270684dc1b70c.zip
frameworks_base-ffe1cf251a4f8469695b8acfa37270684dc1b70c.tar.gz
frameworks_base-ffe1cf251a4f8469695b8acfa37270684dc1b70c.tar.bz2
Unhide Camera lock and unlock API.
Diffstat (limited to 'core/jni/android_hardware_Camera.cpp')
-rw-r--r--core/jni/android_hardware_Camera.cpp24
1 files changed, 15 insertions, 9 deletions
diff --git a/core/jni/android_hardware_Camera.cpp b/core/jni/android_hardware_Camera.cpp
index ce2b10c..6b92994 100644
--- a/core/jni/android_hardware_Camera.cpp
+++ b/core/jni/android_hardware_Camera.cpp
@@ -55,7 +55,7 @@ private:
jobject mCameraJObjectWeak; // weak reference to java object
jclass mCameraJClass; // strong reference to java class
- sp<Camera> mCamera; // strong reference to native object
+ sp<Camera> mCamera; // strong reference to native object
Mutex mLock;
};
@@ -391,20 +391,26 @@ static void android_hardware_Camera_reconnect(JNIEnv *env, jobject thiz)
}
}
-static jint android_hardware_Camera_lock(JNIEnv *env, jobject thiz)
+static void android_hardware_Camera_lock(JNIEnv *env, jobject thiz)
{
LOGV("lock");
sp<Camera> camera = get_native_camera(env, thiz, NULL);
- if (camera == 0) return INVALID_OPERATION;
- return (jint) camera->lock();
+ if (camera == 0) return;
+
+ if (camera->lock() != NO_ERROR) {
+ jniThrowException(env, "java/lang/RuntimeException", "lock failed");
+ }
}
-static jint android_hardware_Camera_unlock(JNIEnv *env, jobject thiz)
+static void android_hardware_Camera_unlock(JNIEnv *env, jobject thiz)
{
LOGV("unlock");
sp<Camera> camera = get_native_camera(env, thiz, NULL);
- if (camera == 0) return INVALID_OPERATION;
- return (jint) camera->unlock();
+ if (camera == 0) return;
+
+ if (camera->unlock() != NO_ERROR) {
+ jniThrowException(env, "java/lang/RuntimeException", "unlock failed");
+ }
}
//-------------------------------------------------
@@ -450,10 +456,10 @@ static JNINativeMethod camMethods[] = {
"()V",
(void*)android_hardware_Camera_reconnect },
{ "lock",
- "()I",
+ "()V",
(void*)android_hardware_Camera_lock },
{ "unlock",
- "()I",
+ "()V",
(void*)android_hardware_Camera_unlock },
};