diff --git a/android/jni/com/mapswithme/maps/editor/Editor.cpp b/android/jni/com/mapswithme/maps/editor/Editor.cpp index c99dabb7e3..bd67a239fb 100644 --- a/android/jni/com/mapswithme/maps/editor/Editor.cpp +++ b/android/jni/com/mapswithme/maps/editor/Editor.cpp @@ -421,7 +421,8 @@ Java_com_mapswithme_maps_editor_Editor_nativeStartEdit(JNIEnv *, jclass) } JNIEXPORT void JNICALL -Java_com_mapswithme_maps_editor_Editor_nativeCreateMapObject(JNIEnv * env, jclass, jstring featureType) +Java_com_mapswithme_maps_editor_Editor_nativeCreateMapObject(JNIEnv * env, jclass, + jstring featureType) { ::Framework * frm = g_framework->NativeFramework(); auto const type = classif().GetTypeByReadableObjectName(jni::ToNativeString(env, featureType)); @@ -453,7 +454,8 @@ Java_com_mapswithme_maps_editor_Editor_nativeRollbackMapObject(JNIEnv * env, jcl } JNIEXPORT jobjectArray JNICALL -Java_com_mapswithme_maps_editor_Editor_nativeGetAllCreatableFeatureTypes(JNIEnv * env, jclass clazz, jstring jLang) +Java_com_mapswithme_maps_editor_Editor_nativeGetAllCreatableFeatureTypes(JNIEnv * env, jclass clazz, + jstring jLang) { std::string const & lang = jni::ToNativeString(env, jLang); GetFeatureCategories().AddLanguage(lang); @@ -461,11 +463,14 @@ Java_com_mapswithme_maps_editor_Editor_nativeGetAllCreatableFeatureTypes(JNIEnv } JNIEXPORT jobjectArray JNICALL -Java_com_mapswithme_maps_editor_Editor_nativeSearchCreatableFeatureTypes(JNIEnv * env, jclass clazz, jstring query, jstring jLang) +Java_com_mapswithme_maps_editor_Editor_nativeSearchCreatableFeatureTypes(JNIEnv * env, jclass clazz, + jstring query, + jstring jLang) { std::string const & lang = jni::ToNativeString(env, jLang); GetFeatureCategories().AddLanguage(lang); - return jni::ToJavaStringArray(env, GetFeatureCategories().Search(jni::ToNativeString(env, query))); + return jni::ToJavaStringArray(env, + GetFeatureCategories().Search(jni::ToNativeString(env, query))); } JNIEXPORT jobjectArray JNICALL diff --git a/android/jni/com/mapswithme/platform/Localization.cpp b/android/jni/com/mapswithme/platform/Localization.cpp index 0d6030520d..0cdbb4a60e 100644 --- a/android/jni/com/mapswithme/platform/Localization.cpp +++ b/android/jni/com/mapswithme/platform/Localization.cpp @@ -12,9 +12,8 @@ namespace platform std::string GetLocalizedTypeName(std::string const & type) { JNIEnv * env = jni::GetEnv(); - static auto const getLocalizedFeatureType = - jni::GetStaticMethodID(env, g_utilsClazz, - "getLocalizedFeatureType", "(Ljava/lang/String;)Ljava/lang/String;"); + static auto const getLocalizedFeatureType = jni::GetStaticMethodID( + env, g_utilsClazz, "getLocalizedFeatureType", "(Ljava/lang/String;)Ljava/lang/String;"); jni::TScopedLocalRef typeRef(env, jni::ToJavaString(env, type)); auto localizedFeatureType = diff --git a/kml/type_utils.cpp b/kml/type_utils.cpp index 6b8103be79..4755c0c0fc 100644 --- a/kml/type_utils.cpp +++ b/kml/type_utils.cpp @@ -5,6 +5,7 @@ #include "indexer/classificator.hpp" #include "indexer/feature_utils.hpp" +#include "platform/localization.hpp" #include "platform/preferred_languages.hpp" #include "coding/multilang_utf8_string.hpp" @@ -61,15 +62,15 @@ std::string GetPreferredBookmarkStr(LocalizableString const & name, feature::Reg return preferredName; } -std::string GetLocalizedBookmarkType(std::vector const & types, std::string const & languageOrig) +std::string GetLocalizedBookmarkType(std::vector const & types) { if (types.empty()) return {}; auto const & c = classif(); auto const type = c.GetTypeForIndex(types.front()); - CategoriesHolder const & categories = GetDefaultCategories(); - return categories.GetReadableFeatureType(type, categories.MapLocaleToInteger(languageOrig)); + + return platform::GetLocalizedTypeName(c.GetReadableObjectName(type)); } std::string GetPreferredBookmarkName(BookmarkData const & bmData, std::string const & languageOrig) @@ -79,7 +80,7 @@ std::string GetPreferredBookmarkName(BookmarkData const & bmData, std::string co if (name.empty()) name = GetPreferredBookmarkStr(bmData.m_name, languageNorm); if (name.empty()) - name = GetLocalizedBookmarkType(bmData.m_featureTypes, languageOrig); + name = GetLocalizedBookmarkType(bmData.m_featureTypes); return name; } } // namespace kml diff --git a/kml/type_utils.hpp b/kml/type_utils.hpp index fef41ad847..0887e0737d 100644 --- a/kml/type_utils.hpp +++ b/kml/type_utils.hpp @@ -82,7 +82,7 @@ std::string GetPreferredBookmarkName(BookmarkData const & bmData, std::string co std::string GetPreferredBookmarkStr(LocalizableString const & name, std::string const & languageNorm); std::string GetPreferredBookmarkStr(LocalizableString const & name, feature::RegionData const & regionData, std::string const & languageNorm); -std::string GetLocalizedBookmarkType(std::vector const & types, std::string const & languageOrig); +std::string GetLocalizedBookmarkType(std::vector const & types); #define DECLARE_COLLECTABLE(IndexType, ...) \ IndexType m_collectionIndex; \ diff --git a/map/bookmark_helpers.cpp b/map/bookmark_helpers.cpp index 900ed27ae2..0636f61ce1 100644 --- a/map/bookmark_helpers.cpp +++ b/map/bookmark_helpers.cpp @@ -465,7 +465,7 @@ std::string GetPreferredBookmarkStr(kml::LocalizableString const & name, feature std::string GetLocalizedBookmarkType(std::vector const & types) { - return kml::GetLocalizedBookmarkType(types, languages::GetCurrentOrig()); + return kml::GetLocalizedBookmarkType(types); } std::string GetPreferredBookmarkName(kml::BookmarkData const & bmData) diff --git a/map/place_page_info.cpp b/map/place_page_info.cpp index 33e834d4ca..9903eeaac6 100644 --- a/map/place_page_info.cpp +++ b/map/place_page_info.cpp @@ -162,19 +162,9 @@ std::string Info::GetBookmarkName() void Info::SetCustomName(std::string const & name) { if (IsBookmark()) - { - m_uiTitle = GetBookmarkName(); - - std::vector subtitle; - subtitle.push_back(m_bookmarkCategoryName); - if (!m_bookmarkData.m_featureTypes.empty()) - subtitle.push_back(GetLocalizedBookmarkType(m_bookmarkData.m_featureTypes)); - m_uiSubtitle = strings::JoinStrings(subtitle, kSubtitleSeparator); - } + SetTitlesForBookmark(); else - { m_uiTitle = name; - } m_customName = name; } @@ -183,13 +173,7 @@ void Info::SetCustomNameWithCoordinates(m2::PointD const & mercator, std::string { if (IsBookmark()) { - m_uiTitle = GetBookmarkName(); - - std::vector subtitle; - subtitle.push_back(m_bookmarkCategoryName); - if (!m_bookmarkData.m_featureTypes.empty()) - subtitle.push_back(GetLocalizedBookmarkType(m_bookmarkData.m_featureTypes)); - m_uiSubtitle = strings::JoinStrings(subtitle, kSubtitleSeparator); + SetTitlesForBookmark(); } else { @@ -255,6 +239,17 @@ string Info::FormatStars() const return stars; } +void Info::SetTitlesForBookmark() +{ + m_uiTitle = GetBookmarkName(); + + std::vector subtitle; + subtitle.push_back(m_bookmarkCategoryName); + if (!m_bookmarkData.m_featureTypes.empty()) + subtitle.push_back(GetLocalizedBookmarkType(m_bookmarkData.m_featureTypes)); + m_uiSubtitle = strings::JoinStrings(subtitle, kSubtitleSeparator); +} + string Info::GetFormattedCoordinate(bool isDMS) const { auto const & ll = GetLatLon(); diff --git a/map/place_page_info.hpp b/map/place_page_info.hpp index a357d232a8..d9472a275d 100644 --- a/map/place_page_info.hpp +++ b/map/place_page_info.hpp @@ -226,6 +226,7 @@ private: std::string GetBookmarkName(); /// @returns empty string or GetStars() count of ★ symbol. std::string FormatStars() const; + void SetTitlesForBookmark(); /// UI std::string m_uiTitle; diff --git a/platform/localization.mm b/platform/localization.mm index 9b7d4d1dd9..cb9f90de87 100644 --- a/platform/localization.mm +++ b/platform/localization.mm @@ -4,7 +4,7 @@ namespace platform { std::string GetLocalizedTypeName(std::string const & type) { - //TODO: Add code here. + // TODO: Add code here. // Return type as is by default. return type;