From 52d94a68d2d4809b62ffcdaf365b58141575c927 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D1=80=20?= =?UTF-8?q?=D0=97=D0=B0=D1=86=D0=B5=D0=BF=D0=B8=D0=BD?= Date: Thu, 18 Oct 2018 13:32:19 +0300 Subject: [PATCH] [android] Added checking promo category support in search --- .../maps/search/CategoriesAdapter.java | 5 ++-- .../mapswithme/maps/search/PromoCategory.java | 25 +++++++++++++++++++ .../maps/search/RutaxiPromoProcessor.java | 2 +- 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/android/src/com/mapswithme/maps/search/CategoriesAdapter.java b/android/src/com/mapswithme/maps/search/CategoriesAdapter.java index af0793efdb..1720fab9c0 100644 --- a/android/src/com/mapswithme/maps/search/CategoriesAdapter.java +++ b/android/src/com/mapswithme/maps/search/CategoriesAdapter.java @@ -19,6 +19,7 @@ import com.mapswithme.util.statistics.Statistics; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.util.List; class CategoriesAdapter extends RecyclerView.Adapter { @@ -81,8 +82,8 @@ class CategoriesAdapter extends RecyclerView.Adapter promos = PromoCategory.supportedValues(); + int amountSize = searchCategories.length + promos.size(); String[] allCategories = new String[amountSize]; for (PromoCategory promo : promos) { diff --git a/android/src/com/mapswithme/maps/search/PromoCategory.java b/android/src/com/mapswithme/maps/search/PromoCategory.java index 87a65992ce..bb201161f5 100644 --- a/android/src/com/mapswithme/maps/search/PromoCategory.java +++ b/android/src/com/mapswithme/maps/search/PromoCategory.java @@ -5,8 +5,12 @@ import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.annotation.StringRes; +import com.mapswithme.maps.Framework; import com.mapswithme.maps.R; +import java.util.ArrayList; +import java.util.List; + public enum PromoCategory { RUTAXI @@ -43,6 +47,12 @@ public enum PromoCategory { return new RutaxiPromoProcessor(context); } + + @Override + boolean isSupported() + { + return Framework.nativeHasRuTaxiCategoryBanner(); + } }; @NonNull @@ -56,6 +66,8 @@ public enum PromoCategory abstract int getPosition(); + abstract boolean isSupported(); + @NonNull abstract PromoCategoryProcessor createProcessor(@NonNull Context context); @@ -69,4 +81,17 @@ public enum PromoCategory } return null; } + + @NonNull + static List supportedValues() + { + List result = new ArrayList<>(); + for (PromoCategory category : values()) + { + if (category.isSupported()) + result.add(category); + } + + return result; + } } diff --git a/android/src/com/mapswithme/maps/search/RutaxiPromoProcessor.java b/android/src/com/mapswithme/maps/search/RutaxiPromoProcessor.java index 1c76457eca..e0c92f5055 100644 --- a/android/src/com/mapswithme/maps/search/RutaxiPromoProcessor.java +++ b/android/src/com/mapswithme/maps/search/RutaxiPromoProcessor.java @@ -18,7 +18,7 @@ public class RutaxiPromoProcessor implements PromoCategoryProcessor @Override public void process() { - // TODO: added app launch when product desicion is ready. + // TODO: add app launch when product decision about input params for vezet app is ready. Utils.openUrl(mContext, "https://go.onelink.me/757212956/a81b5d7c"); } }