diff --git a/android/jni/com/mapswithme/maps/SearchEngine.cpp b/android/jni/com/mapswithme/maps/SearchEngine.cpp index 71e3ee4331..38016cde00 100644 --- a/android/jni/com/mapswithme/maps/SearchEngine.cpp +++ b/android/jni/com/mapswithme/maps/SearchEngine.cpp @@ -139,7 +139,7 @@ jobject ToJavaResult(Result const & result, search::ProductInfo const & productI 0/*static_cast(result.GetRankingInfo().m_popularity)*/)); jobject ret = env->NewObject(g_resultClass, g_resultConstructor, name.get(), desc.get(), ll.m_lat, ll.m_lon, - ranges.get(), result.IsHotel(), popularity.get()); + ranges.get(), result.IsHotel(), result.GetStarsCount(), popularity.get()); ASSERT(ret, ()); return ret; @@ -249,7 +249,7 @@ extern "C" g_resultClass = jni::GetGlobalClassRef(env, "com/mapswithme/maps/search/SearchResult"); g_resultConstructor = jni::GetConstructorID( env, g_resultClass, - "(Ljava/lang/String;Lcom/mapswithme/maps/search/SearchResult$Description;DD[IZ" + "(Ljava/lang/String;Lcom/mapswithme/maps/search/SearchResult$Description;DD[IZI" "Lcom/mapswithme/maps/search/Popularity;)V"); g_suggestConstructor = jni::GetConstructorID(env, g_resultClass, "(Ljava/lang/String;Ljava/lang/String;DD[I)V"); g_descriptionClass = jni::GetGlobalClassRef(env, "com/mapswithme/maps/search/SearchResult$Description"); diff --git a/android/src/com/mapswithme/maps/search/SearchAdapter.java b/android/src/com/mapswithme/maps/search/SearchAdapter.java index 3938bdacc2..2d7ba93853 100644 --- a/android/src/com/mapswithme/maps/search/SearchAdapter.java +++ b/android/src/com/mapswithme/maps/search/SearchAdapter.java @@ -176,6 +176,11 @@ class SearchAdapter extends RecyclerView.Adapter 0) - description = [fiveStars substringToIndex:starsCount]; + if (result.IsHotel() && starsCount > 0) + { + static NSString * sevenStars = [NSString stringWithUTF8String:"★★★★★★★"]; + description = [sevenStars substringToIndex:starsCount]; + } else if (airportIata.length > 0) description = airportIata; else if (roadShields.length > 0) diff --git a/search/intermediate_result.cpp b/search/intermediate_result.cpp index 2f8b35fa76..58ba9ba4eb 100644 --- a/search/intermediate_result.cpp +++ b/search/intermediate_result.cpp @@ -281,7 +281,8 @@ void FillDetails(FeatureType & ft, Result::Details & details) } } - if (strings::to_uint(ft.GetMetadata(feature::Metadata::FMD_STARS), details.m_stars)) + details.m_isHotel = ftypes::IsHotelChecker::Instance()(ft); + if (details.m_isHotel && strings::to_uint(ft.GetMetadata(feature::Metadata::FMD_STARS), details.m_stars)) details.m_stars = std::min(details.m_stars, osm::MapObject::kMaxStarsCount); else details.m_stars = 0;