diff options
author | Dmitry Yunitsky <yunik@mapswithme.com> | 2014-07-13 15:21:35 +0400 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 02:20:26 +0300 |
commit | f6e8f27fbaafe35981673f1ce3276a5c31559ebe (patch) | |
tree | f4be0a66fb464b47bcc05c27b5d39af1bda15167 /android/jni/com/mapswithme/maps/Framework.cpp | |
parent | edfb433ae1fb182da2c24b3c4e4d7658872fcd9d (diff) |
Added name to GuideInfo and method for retrieving guide by id.
Diffstat (limited to 'android/jni/com/mapswithme/maps/Framework.cpp')
-rw-r--r-- | android/jni/com/mapswithme/maps/Framework.cpp | 37 |
1 files changed, 35 insertions, 2 deletions
diff --git a/android/jni/com/mapswithme/maps/Framework.cpp b/android/jni/com/mapswithme/maps/Framework.cpp index b10baea05f..b67af72bd5 100644 --- a/android/jni/com/mapswithme/maps/Framework.cpp +++ b/android/jni/com/mapswithme/maps/Framework.cpp @@ -867,7 +867,7 @@ extern "C" { m_giClass = m_env->FindClass("com/mapswithme/maps/guides/GuideInfo"); m_methodID = m_env->GetMethodID(m_giClass, - "<init>", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"); + "<init>", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"); m_lang = languages::CurrentLanguage(); } @@ -879,7 +879,8 @@ extern "C" jni::ToJavaString(m_env, info.GetAppID()), jni::ToJavaString(m_env, info.GetURL()), jni::ToJavaString(m_env, info.GetAdTitle(m_lang)), - jni::ToJavaString(m_env, info.GetAdMessage(m_lang))); + jni::ToJavaString(m_env, info.GetAdMessage(m_lang)), + jni::ToJavaString(m_env, info.GetName())); } }; @@ -907,6 +908,38 @@ extern "C" return g_framework->NativeFramework()->GetGuidesManager().WasAdvertised(jni::ToNativeString(env, appId)); } + JNIEXPORT jobjectArray JNICALL + Java_com_mapswithme_maps_Framework_getGuideIds(JNIEnv * env, jclass clazz) + { + std::set<string> guides; + g_framework->NativeFramework()->GetGuidesManager().GetGuidesId(guides); + + jclass klass = env->FindClass("java/lang/String"); + ASSERT ( klass, () ); + + jobjectArray arr = env->NewObjectArray(guides.size(), klass, 0); + + set<string>::iterator it; + int i = 0; + for (it = guides.begin(); it != guides.end(); ++it) + { + string guideId = *it; + env->SetObjectArrayElement(arr, i++, jni::ToJavaString(env, guideId)); + } + + return arr; + } + + JNIEXPORT jobject JNICALL + Java_com_mapswithme_maps_Framework_getGuideById(JNIEnv * env, jclass clazz, jstring guideId) + { + guides::GuideInfo info; + if (g_framework->NativeFramework()->GetGuidesManager().GetGuideInfoByAppId(jni::ToNativeString(env, guideId), info)) + return GuideNative2Java(env).GetGuide(info); + + return NULL; + } + JNIEXPORT jint JNICALL Java_com_mapswithme_maps_Framework_getDrawScale(JNIEnv * env, jclass clazz) { |