summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/java/android/hardware/Camera.java14
-rw-r--r--core/jni/android_hardware_Camera.cpp15
2 files changed, 29 insertions, 0 deletions
diff --git a/core/java/android/hardware/Camera.java b/core/java/android/hardware/Camera.java
index d772d8a..df60d0a 100644
--- a/core/java/android/hardware/Camera.java
+++ b/core/java/android/hardware/Camera.java
@@ -1623,6 +1623,20 @@ public class Camera {
private native final boolean _enableShutterSound(boolean enabled);
/**
+ * Send a vendor-specific camera command
+ *
+ * @hide
+ */
+ public final void sendVendorCommand(int cmd, int arg1, int arg2) {
+ if (cmd < 1000) {
+ throw new IllegalArgumentException("Command numbers must be at least 1000");
+ }
+ _sendVendorCommand(cmd, arg1, arg2);
+ }
+
+ private native final void _sendVendorCommand(int cmd, int arg1, int arg2);
+
+ /**
* Callback interface for zoom changes during a smooth zoom operation.
*
* @see #setZoomChangeListener(OnZoomChangeListener)
diff --git a/core/jni/android_hardware_Camera.cpp b/core/jni/android_hardware_Camera.cpp
index e22725b..e375804 100644
--- a/core/jni/android_hardware_Camera.cpp
+++ b/core/jni/android_hardware_Camera.cpp
@@ -1050,6 +1050,18 @@ static void android_hardware_Camera_enableFocusMoveCallback(JNIEnv *env, jobject
}
}
+static void android_hardware_Camera_sendVendorCommand(JNIEnv *env, jobject thiz,
+ jint cmd, jint arg1, jint arg2)
+{
+ ALOGV("sendVendorCommand");
+ sp<Camera> camera = get_native_camera(env, thiz, NULL);
+ if (camera == 0) return;
+
+ if (camera->sendCommand(cmd, arg1, arg2) != NO_ERROR) {
+ jniThrowRuntimeException(env, "sending vendor command failed");
+ }
+}
+
//-------------------------------------------------
static JNINativeMethod camMethods[] = {
@@ -1146,6 +1158,9 @@ static JNINativeMethod camMethods[] = {
{ "enableFocusMoveCallback",
"(I)V",
(void *)android_hardware_Camera_enableFocusMoveCallback},
+ { "_sendVendorCommand",
+ "(III)V",
+ (void *)android_hardware_Camera_sendVendorCommand },
};
struct field {