Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Magidovich <mgsergio@mapswithme.com>2016-07-15 18:29:36 +0300
committerSergey Magidovich <mgsergio@mapswithme.com>2016-07-18 12:29:27 +0300
commit5ee62e73f102a52b9ed3e1e741ddbcfef258109d (patch)
treecdd95e071fe190f42fe6338f4bdf3375f4985480 /android
parent8cac395d40fa2751cc1abe297127f52a35196057 (diff)
Add hotel rating and price category.
Diffstat (limited to 'android')
-rw-r--r--android/jni/com/mapswithme/maps/SearchEngine.cpp5
-rw-r--r--android/res/layout/item_search_result.xml49
-rw-r--r--android/src/com/mapswithme/maps/search/SearchAdapter.java43
-rw-r--r--android/src/com/mapswithme/maps/search/SearchResult.java7
4 files changed, 72 insertions, 32 deletions
diff --git a/android/jni/com/mapswithme/maps/SearchEngine.cpp b/android/jni/com/mapswithme/maps/SearchEngine.cpp
index 697e06402c..cdd70a9aa1 100644
--- a/android/jni/com/mapswithme/maps/SearchEngine.cpp
+++ b/android/jni/com/mapswithme/maps/SearchEngine.cpp
@@ -78,9 +78,12 @@ jobject ToJavaResult(Result & result, bool hasPosition, double lat, double lon)
jni::TScopedLocalRef address(env, jni::ToJavaString(env, result.GetAddress()));
jni::TScopedLocalRef dist(env, jni::ToJavaString(env, distance));
jni::TScopedLocalRef cuisine(env, jni::ToJavaString(env, result.GetCuisine()));
+ jni::TScopedLocalRef rating(env, jni::ToJavaString(env, result.GetHotelRating()));
+ jni::TScopedLocalRef pricing(env, jni::ToJavaString(env, result.GetHotelApproximatePricing()));
jni::TScopedLocalRef desc(env, env->NewObject(g_descriptionClass, g_descriptionConstructor,
featureType.get(), address.get(),
dist.get(), cuisine.get(),
+ rating.get(), pricing.get(),
result.GetStarsCount(),
static_cast<jint>(result.IsOpenNow())));
@@ -171,7 +174,7 @@ extern "C"
g_resultConstructor = jni::GetConstructorID(env, g_resultClass, "(Ljava/lang/String;Lcom/mapswithme/maps/search/SearchResult$Description;DD[I)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");
- g_descriptionConstructor = jni::GetConstructorID(env, g_descriptionClass, "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V");
+ g_descriptionConstructor = jni::GetConstructorID(env, g_descriptionClass, "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V");
g_mapResultsMethod = jni::GetMethodID(env, g_javaListener, "onMapSearchResults", "([Lcom/mapswithme/maps/search/NativeMapSearchListener$Result;JZ)V");
g_mapResultClass = jni::GetGlobalClassRef(env, "com/mapswithme/maps/search/NativeMapSearchListener$Result");
diff --git a/android/res/layout/item_search_result.xml b/android/res/layout/item_search_result.xml
index 6c088dfc5f..6c28a0c548 100644
--- a/android/res/layout/item_search_result.xml
+++ b/android/res/layout/item_search_result.xml
@@ -14,6 +14,7 @@
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
+ android:gravity="bottom"
android:paddingLeft="@dimen/margin_half"
android:paddingRight="@dimen/margin_half"
android:paddingTop="@dimen/margin_eighth"
@@ -22,19 +23,6 @@
android:text="@string/closed"/>
<TextView
- android:id="@+id/distance"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentBottom="true"
- android:layout_alignParentEnd="true"
- android:layout_alignParentRight="true"
- android:layout_below="@id/closed"
- android:gravity="bottom"
- android:textAppearance="@style/MwmTextAppearance.Body3"
- android:textColor="?colorAccent"
- tools:text="500 km \u2022 \u2605\u2606\u2606\u2606\u2606"/>
-
- <TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -54,25 +42,50 @@
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@id/title"
- android:layout_toLeftOf="@id/distance"
- android:layout_toStartOf="@id/distance"
+ android:layout_toLeftOf="@+id/price_category"
+ android:layout_toStartOf="@id/price_category"
+ android:layout_marginRight="@dimen/margin_half"
android:layout_marginTop="@dimen/margin_quarter"
android:textAppearance="@style/MwmTextAppearance.Body3"
- android:singleLine="true"
+ android:maxLines="2"
tools:text="Hotel \u2022 \u2605\u2605\u2605\u2605\u2605"/>
<TextView
+ android:id="@+id/price_category"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentRight="true"
+ android:layout_alignParentEnd="true"
+ android:layout_alignBaseline="@id/description"
+ android:layout_marginTop="@dimen/margin_quarter"
+ android:singleLine="true"
+ tools:text="$$$"/>
+
+ <TextView
android:id="@+id/region"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@id/description"
- android:layout_toLeftOf="@id/distance"
+ android:layout_toLeftOf="@+id/distance"
android:layout_toStartOf="@id/distance"
android:layout_marginTop="@dimen/margin_quarter"
+ android:layout_marginRight="@dimen/margin_half"
android:textAppearance="@style/MwmTextAppearance.Body3"
- android:singleLine="true"
+ android:maxLines="2"
android:ellipsize="end"
tools:text="Russia, Moscow &amp; Central, Moscow"/>
+
+ <TextView
+ android:id="@+id/distance"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentEnd="true"
+ android:layout_alignParentRight="true"
+ android:layout_alignBaseline="@id/region"
+ android:layout_below="@id/closed"
+ android:textAppearance="@style/MwmTextAppearance.Body3"
+ android:textColor="?colorAccent"
+ tools:text="500 km"/>
</RelativeLayout>
diff --git a/android/src/com/mapswithme/maps/search/SearchAdapter.java b/android/src/com/mapswithme/maps/search/SearchAdapter.java
index fd1b500be1..090e797e77 100644
--- a/android/src/com/mapswithme/maps/search/SearchAdapter.java
+++ b/android/src/com/mapswithme/maps/search/SearchAdapter.java
@@ -146,6 +146,7 @@ class SearchAdapter extends RecyclerView.Adapter<SearchAdapter.BaseViewHolder>
final TextView mDescription;
final TextView mRegion;
final TextView mDistance;
+ final TextView mPriceCategory;
@Override
int getTintAttr()
@@ -160,25 +161,41 @@ class SearchAdapter extends RecyclerView.Adapter<SearchAdapter.BaseViewHolder>
final SpannableStringBuilder tail = new SpannableStringBuilder();
final int stars = Math.min(result.description.stars, 5);
- if (stars > 0)
+ if (stars > 0 || !result.description.rating.isEmpty())
{
- // Colorize last dimmed stars
- final SpannableStringBuilder sb = new SpannableStringBuilder("★ ★ ★ ★ ★");
- if (stars < 5)
+ if (stars > 0)
{
- final int start = sb.length() - ((5 - stars) * 2 - 1);
- sb.setSpan(new ForegroundColorSpan(itemView.getResources().getColor(R.color.search_star_dimmed)),
- start, sb.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+ // Colorize last dimmed stars
+ final SpannableStringBuilder sb = new SpannableStringBuilder("★ ★ ★ ★ ★");
+ if (stars < 5)
+ {
+ final int start = sb.length() - ((5 - stars) * 2 - 1);
+ sb.setSpan(new ForegroundColorSpan(itemView.getResources().getColor(R.color.search_star_dimmed)),
+ start, sb.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+ }
+
+ tail.append(" • ");
+ tail.append(sb);
}
- tail.append(sb);
+ if (!result.description.rating.isEmpty())
+ {
+ final SpannableStringBuilder sb = new SpannableStringBuilder(
+ itemView.getResources().getString(R.string.place_page_booking_rating, result.description.rating));
+ sb.setSpan(new ForegroundColorSpan(itemView.getResources().getColor(R.color.base_green)),
+ 0, sb.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+
+ tail
+ .append(" • ")
+ .append(sb);
+ }
}
else if (!TextUtils.isEmpty(result.description.cuisine))
- tail.append(result.description.cuisine);
+ {
+ tail.append(" • " + result.description.cuisine);
+ }
- if (!TextUtils.isEmpty(tail))
- res.append(" • ")
- .append(tail);
+ res.append(tail);
return res;
}
@@ -192,6 +209,7 @@ class SearchAdapter extends RecyclerView.Adapter<SearchAdapter.BaseViewHolder>
mDescription = (TextView) view.findViewById(R.id.description);
mRegion = (TextView) view.findViewById(R.id.region);
mDistance = (TextView) view.findViewById(R.id.distance);
+ mPriceCategory = (TextView) view.findViewById(R.id.price_category);
mClosedMarker.setBackgroundDrawable(mClosedMarkerBackground);
}
@@ -212,6 +230,7 @@ class SearchAdapter extends RecyclerView.Adapter<SearchAdapter.BaseViewHolder>
UiUtils.setTextAndHideIfEmpty(mDescription, formatDescription(result));
UiUtils.setTextAndHideIfEmpty(mRegion, result.description.region);
UiUtils.setTextAndHideIfEmpty(mDistance, result.description.distance);
+ UiUtils.setTextAndHideIfEmpty(mPriceCategory, result.description.pricing);
}
@Override
diff --git a/android/src/com/mapswithme/maps/search/SearchResult.java b/android/src/com/mapswithme/maps/search/SearchResult.java
index e18af2d14e..5a4f5c8077 100644
--- a/android/src/com/mapswithme/maps/search/SearchResult.java
+++ b/android/src/com/mapswithme/maps/search/SearchResult.java
@@ -20,15 +20,20 @@ public class SearchResult
public final String region;
public final String distance;
public final String cuisine;
+ public final String rating;
+ public final String pricing;
public final int stars;
public final int openNow;
- public Description(String featureType, String region, String distance, String cuisine, int stars, int openNow)
+ public Description(String featureType, String region, String distance,
+ String cuisine, String rating, String pricing, int stars, int openNow)
{
this.featureType = featureType;
this.region = region;
this.distance = distance;
this.cuisine = cuisine;
+ this.rating = rating;
+ this.pricing = pricing;
this.stars = stars;
this.openNow = openNow;
}