Sha256: 67c85b3829443545bc809a99d267ade27e3aed3d3fa06b6dfc7d46d065f0630d

Contents?: true

Size: 1.64 KB

Versions: 8

Compression:

Stored size: 1.64 KB

Contents

#include "JNIRhodes.h"

#include <jni/com_rhomobile_rhodes_geolocation_GeoLocationImpl.h>

#include "rubyext/GeoLocation.h"

#undef DEFAULT_LOGCATEGORY
#define DEFAULT_LOGCATEGORY "GeoLocation"

RHO_GLOBAL void JNICALL Java_com_rhomobile_rhodes_geolocation_GeoLocationImpl_geoCallback
  (JNIEnv *, jobject)
{
    RAWTRACE("Call geo callback");
    rho_geo_callcallback();
}

RHO_GLOBAL double rho_geo_latitude()
{
    JNIEnv *env = jnienv();
    jclass cls = getJNIClass(RHODES_JAVA_CLASS_GEO_LOCATION);
    if (!cls) return 0;
    jmethodID mid = getJNIClassStaticMethod(env, cls, "getLatitude", "()D");
    if (!mid) return 0;
    return env->CallStaticDoubleMethod(cls, mid);
}

RHO_GLOBAL double rho_geo_longitude()
{
    JNIEnv *env = jnienv();
    jclass cls = getJNIClass(RHODES_JAVA_CLASS_GEO_LOCATION);
    if (!cls) return 0;
    jmethodID mid = getJNIClassStaticMethod(env, cls, "getLongitude", "()D");
    if (!mid) return 0;
    return env->CallStaticDoubleMethod(cls, mid);
}

RHO_GLOBAL int rho_geo_known_position()
{
    JNIEnv *env = jnienv();
    jclass cls = getJNIClass(RHODES_JAVA_CLASS_GEO_LOCATION);
    if (!cls) return 0;
    jmethodID mid = getJNIClassStaticMethod(env, cls, "isKnownPosition", "()Z");
    if (!mid) return 0;
    return env->CallStaticBooleanMethod(cls, mid);
}

RHO_GLOBAL void rho_geoimpl_settimeout(int nTimeoutSec)
{
}

RHO_GLOBAL int rho_geo_is_available()
{
    JNIEnv *env = jnienv();
    jclass cls = getJNIClass(RHODES_JAVA_CLASS_GEO_LOCATION);
    if (!cls) return 0;
    jmethodID mid = getJNIClassStaticMethod(env, cls, "isAvailable", "()Z");
    if (!mid) return 0;

    return env->CallStaticBooleanMethod(cls, mid);
}

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
rhodes-1.5.5 platform/android/Rhodes/jni/src/geolocation.cpp
rhodes-2.0.0.beta2 platform/android/Rhodes/jni/src/geolocation.cpp
rhodes-2.0.0.beta1 platform/android/Rhodes/jni/src/geolocation.cpp
rhodes-1.5.4 platform/android/Rhodes/jni/src/geolocation.cpp
rhodes-1.5.3 platform/android/Rhodes/jni/src/geolocation.cpp
rhodes-1.5.2 platform/android/Rhodes/jni/src/geolocation.cpp
rhodes-1.5.1 platform/android/Rhodes/jni/src/geolocation.cpp
rhodes-1.5.0 platform/android/Rhodes/jni/src/geolocation.cpp