diff --git a/indexer/feature_utils.cpp b/indexer/feature_utils.cpp index f36fe63f5b..1cf5b2aab6 100644 --- a/indexer/feature_utils.cpp +++ b/indexer/feature_utils.cpp @@ -318,6 +318,8 @@ FeatureEstimator const & GetFeatureEstimator() static constexpr std::string_view kStarSymbol = "★"; static constexpr std::string_view kMountainSymbol= "▲"; +static constexpr std::string_view kDrinkingWaterYes = "🚰"; +static constexpr std::string_view kDrinkingWaterNo = "🚱"; NameParamsIn::NameParamsIn(StringUtf8Multilang const & src_, RegionData const & regionData_, std::string_view deviceLang_, bool allowTranslit_) @@ -489,6 +491,21 @@ bool HasToilets(TypesHolder const & types) return isToiletsType(types); } +string FormatDrinkingWater(TypesHolder const & types) +{ + auto const value = ftraits::DrinkingWater::GetValue(types); + if (!value.has_value()) + return ""; + + switch (*value) + { + case ftraits::DrinkingWaterAvailability::No: + return std::string{kDrinkingWaterNo}; + case ftraits::DrinkingWaterAvailability::Yes: + return std::string{kDrinkingWaterYes}; + } +} + string FormatStars(uint8_t starsCount) { std::string stars; diff --git a/indexer/feature_utils.hpp b/indexer/feature_utils.hpp index dda9128f9c..e4c313e4c1 100644 --- a/indexer/feature_utils.hpp +++ b/indexer/feature_utils.hpp @@ -163,6 +163,9 @@ namespace feature /// Returns true if feature has Toilets type. bool HasToilets(TypesHolder const & types); + /// @returns formatted drinking water type. + std::string FormatDrinkingWater(TypesHolder const & types); + /// @returns starsCount of ★ symbol. std::string FormatStars(uint8_t starsCount); diff --git a/map/place_page_info.cpp b/map/place_page_info.cpp index 9a28e4f1d2..3cfdee57d5 100644 --- a/map/place_page_info.cpp +++ b/map/place_page_info.cpp @@ -184,6 +184,11 @@ std::string Info::FormatSubtitle(bool withType) const // Toilets. if (HasToilets()) append(feature::kToiletsSymbol); + + // Drinking Water + auto const drinkingWater = feature::FormatDrinkingWater(GetTypes()); + if (!drinkingWater.empty()) + append(drinkingWater); // Wheelchair if (feature::GetWheelchairType(m_types) == ftraits::WheelchairAvailability::Yes)