Sha256: f678883414c9cc0502b8d546b612725bab9926cf43b5936fec3b0b336418145d

Contents?: true

Size: 1.64 KB

Versions: 3

Compression:

Stored size: 1.64 KB

Contents

#include "JNIRhodes.h"

#include <com_rhomobile_rhodes_camera_Camera.h>

#include <common/RhodesApp.h>

#undef DEFAULT_LOGCATEGORY
#define DEFAULT_LOGCATEGORY "Camera"

JNIEXPORT void JNICALL Java_com_rhomobile_rhodes_camera_Camera_callback
  (JNIEnv *env, jclass, jstring callbackObj, jstring filePathObj, jstring errorObj, jboolean cancelled)
{
    const char *callbackStr = env->GetStringUTFChars(callbackObj, JNI_FALSE);
    const char *filePathStr = env->GetStringUTFChars(filePathObj, JNI_FALSE);
    const char *errorStr = env->GetStringUTFChars(errorObj, JNI_FALSE);
    rho_rhodesapp_callCameraCallback(callbackStr, filePathStr, errorStr, cancelled);
    env->ReleaseStringUTFChars(callbackObj, callbackStr);
    env->ReleaseStringUTFChars(filePathObj, filePathStr);
    env->ReleaseStringUTFChars(errorObj, errorStr);
}

RHO_GLOBAL void take_picture(char* callback_url)
{
    jclass cls = getJNIClass(RHODES_JAVA_CLASS_CAMERA);
    if (!cls) return;
    jmethodID mid = getJNIClassStaticMethod(cls, "takePicture", "(Ljava/lang/String;)V");
    if (!mid) return;
    JNIEnv *env = jnienv();
    jstring objCallback = env->NewStringUTF(callback_url);
    env->CallStaticVoidMethod(cls, mid, objCallback);
    env->DeleteLocalRef(objCallback);
}

RHO_GLOBAL void choose_picture(char* callback_url)
{
    jclass cls = getJNIClass(RHODES_JAVA_CLASS_CAMERA);
    if (!cls) return;
    jmethodID mid = getJNIClassStaticMethod(cls, "choosePicture", "(Ljava/lang/String;)V");
    if (!mid) return;
    JNIEnv *env = jnienv();
    jstring objCallback = env->NewStringUTF(callback_url);
    env->CallStaticVoidMethod(cls, mid, objCallback);
    env->DeleteLocalRef(objCallback);
}

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rhodes-1.4.2 platform/android/Rhodes/jni/src/camera.cpp
rhodes-1.4.1 platform/android/Rhodes/jni/src/camera.cpp
rhodes-1.4.0 platform/android/Rhodes/jni/src/camera.cpp