diff --git a/android/app/src/main/cpp/app/organicmaps/sdk/Router.cpp b/android/app/src/main/cpp/app/organicmaps/sdk/Router.cpp index 6a8aea0a9..656eebbc3 100644 --- a/android/app/src/main/cpp/app/organicmaps/sdk/Router.cpp +++ b/android/app/src/main/cpp/app/organicmaps/sdk/Router.cpp @@ -17,7 +17,7 @@ JNIEXPORT void JNICALL Java_app_organicmaps_sdk_Router_nativeSet(JNIEnv *, jclas case 2: type = Type::Bicycle; break; case 3: type = Type::Transit; break; case 4: type = Type::Ruler; break; - default: assert(false); break; + default: ASSERT(false, (routerType)); return; } frm()->GetRoutingManager().SetRouter(type); } diff --git a/android/app/src/main/cpp/app/organicmaps/sdk/search/DisplayedCategories.cpp b/android/app/src/main/cpp/app/organicmaps/sdk/search/DisplayedCategories.cpp index 1e05eaa6a..273934a45 100644 --- a/android/app/src/main/cpp/app/organicmaps/sdk/search/DisplayedCategories.cpp +++ b/android/app/src/main/cpp/app/organicmaps/sdk/search/DisplayedCategories.cpp @@ -9,7 +9,13 @@ JNIEXPORT jobjectArray JNICALL Java_app_organicmaps_sdk_search_DisplayedCategori { ::Framework * fr = g_framework->NativeFramework(); ASSERT(fr, ()); - search::DisplayedCategories categories = fr->GetDisplayedCategories(); + search::DisplayedCategories const & categories = fr->GetDisplayedCategories(); return jni::ToJavaStringArray(env, categories.GetKeys()); } + +JNIEXPORT jboolean JNICALL Java_app_organicmaps_sdk_search_DisplayedCategories_nativeIsLangSupported( + JNIEnv * env, jclass, jstring langCode) +{ + return search::DisplayedCategories::IsLanguageSupported(jni::ToNativeString(env, langCode)); +} } // extern "C" diff --git a/android/app/src/main/java/app/organicmaps/sdk/search/DisplayedCategories.java b/android/app/src/main/java/app/organicmaps/sdk/search/DisplayedCategories.java index 2ad6b7465..ed1c099a4 100644 --- a/android/app/src/main/java/app/organicmaps/sdk/search/DisplayedCategories.java +++ b/android/app/src/main/java/app/organicmaps/sdk/search/DisplayedCategories.java @@ -5,11 +5,6 @@ import androidx.annotation.NonNull; public class DisplayedCategories { @NonNull - public static String[] getKeys() - { - return nativeGetKeys(); - } - - @NonNull - private static native String[] nativeGetKeys(); + public static native String[] nativeGetKeys(); + public static native boolean nativeIsLangSupported(String langCode); } diff --git a/android/app/src/main/java/app/organicmaps/search/CategoriesAdapter.java b/android/app/src/main/java/app/organicmaps/search/CategoriesAdapter.java index 2fecc13de..b5d885486 100644 --- a/android/app/src/main/java/app/organicmaps/search/CategoriesAdapter.java +++ b/android/app/src/main/java/app/organicmaps/search/CategoriesAdapter.java @@ -3,6 +3,7 @@ package app.organicmaps.search; import android.annotation.SuppressLint; import android.app.Activity; import android.content.Context; +import android.content.res.Configuration; import android.content.res.Resources; import android.view.LayoutInflater; import android.view.View; @@ -20,9 +21,11 @@ import androidx.recyclerview.widget.RecyclerView; import app.organicmaps.R; import app.organicmaps.sdk.search.DisplayedCategories; import app.organicmaps.util.ThemeUtils; +import app.organicmaps.util.Language; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.util.Locale; class CategoriesAdapter extends RecyclerView.Adapter { @@ -45,14 +48,25 @@ class CategoriesAdapter extends RecyclerView.Adapter