mirror of
https://codeberg.org/comaps/comaps
synced 2025-12-21 05:43:37 +00:00
[android] Load TTS languages from core
Signed-off-by: Andrei Shkrob <github@shkrob.dev>
This commit is contained in:
committed by
Konstantin Pastbin
parent
0a96a23ca0
commit
ebc5370052
@@ -1,30 +1,51 @@
|
||||
#include "app/organicmaps/sdk/Framework.hpp"
|
||||
|
||||
#include "app/organicmaps/sdk/core/jni_helper.hpp"
|
||||
#include "app/organicmaps/sdk/core/jni_java_methods.hpp"
|
||||
|
||||
#include "platform/languages.hpp"
|
||||
|
||||
extern "C"
|
||||
{
|
||||
JNIEXPORT void JNICALL
|
||||
Java_app_organicmaps_sdk_sound_TtsPlayer_nativeEnableTurnNotifications(JNIEnv *, jclass, jboolean enable)
|
||||
{
|
||||
return frm()->GetRoutingManager().EnableTurnNotifications(static_cast<bool>(enable));
|
||||
}
|
||||
JNIEXPORT void JNICALL
|
||||
Java_app_organicmaps_sdk_sound_TtsPlayer_nativeEnableTurnNotifications(JNIEnv *, jclass, jboolean enable)
|
||||
{
|
||||
return frm()->GetRoutingManager().EnableTurnNotifications(static_cast<bool>(enable));
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL
|
||||
Java_app_organicmaps_sdk_sound_TtsPlayer_nativeAreTurnNotificationsEnabled(JNIEnv *, jclass)
|
||||
{
|
||||
return static_cast<jboolean>(frm()->GetRoutingManager().AreTurnNotificationsEnabled());
|
||||
}
|
||||
JNIEXPORT jboolean JNICALL
|
||||
Java_app_organicmaps_sdk_sound_TtsPlayer_nativeAreTurnNotificationsEnabled(JNIEnv *, jclass)
|
||||
{
|
||||
return static_cast<jboolean>(frm()->GetRoutingManager().AreTurnNotificationsEnabled());
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_app_organicmaps_sdk_sound_TtsPlayer_nativeSetTurnNotificationsLocale(JNIEnv * env, jclass, jstring jLocale)
|
||||
{
|
||||
frm()->GetRoutingManager().SetTurnNotificationsLocale(jni::ToNativeString(env, jLocale));
|
||||
}
|
||||
JNIEXPORT void JNICALL
|
||||
Java_app_organicmaps_sdk_sound_TtsPlayer_nativeSetTurnNotificationsLocale(JNIEnv * env, jclass, jstring jLocale)
|
||||
{
|
||||
frm()->GetRoutingManager().SetTurnNotificationsLocale(jni::ToNativeString(env, jLocale));
|
||||
}
|
||||
|
||||
JNIEXPORT jstring JNICALL
|
||||
Java_app_organicmaps_sdk_sound_TtsPlayer_nativeGetTurnNotificationsLocale(JNIEnv * env, jclass)
|
||||
JNIEXPORT jstring JNICALL
|
||||
Java_app_organicmaps_sdk_sound_TtsPlayer_nativeGetTurnNotificationsLocale(JNIEnv * env, jclass)
|
||||
{
|
||||
return jni::ToJavaString(env, frm()->GetRoutingManager().GetTurnNotificationsLocale());
|
||||
}
|
||||
|
||||
JNIEXPORT jobject JNICALL
|
||||
Java_app_organicmaps_sdk_sound_TtsPlayer_nativeGetSupportedLanguages(JNIEnv * env, jclass)
|
||||
{
|
||||
auto const & supportedLanguages = routing::turns::sound::kLanguageList;
|
||||
|
||||
auto const & listBuilder = jni::ListBuilder::Instance(env);
|
||||
jobject const list = listBuilder.CreateArray(env, supportedLanguages.size());
|
||||
for (auto const & [lang, name] : supportedLanguages)
|
||||
{
|
||||
return jni::ToJavaString(env, frm()->GetRoutingManager().GetTurnNotificationsLocale());
|
||||
jni::TScopedLocalRef const jLangString(env, jni::ToJavaString(env, lang));
|
||||
jni::TScopedLocalRef const jNameString(env, jni::ToJavaString(env, name));
|
||||
jni::TScopedLocalRef const pair(env,
|
||||
jni::PairBuilder::Instance(env).Create(env, jLangString.get(), jNameString.get()));
|
||||
env->CallBooleanMethod(list, listBuilder.m_add, pair.get());
|
||||
}
|
||||
} // extern "C"
|
||||
return list;
|
||||
}
|
||||
} // extern "C"
|
||||
|
||||
Reference in New Issue
Block a user