From ee0492a1db4216e4faaf318c743a958b8a452a03 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: Mon, 4 Dec 2017 14:03:36 +0300 Subject: [PATCH] [andorid] Added url support for viator in discovery manager --- android/res/layout/card_loading.xml | 2 +- .../maps/discovery/DiscoveryFragment.java | 69 ++++++++++++++++--- .../maps/gallery/ErrorAdapterStrategy.java | 14 +--- .../maps/gallery/GalleryAdapter.java | 6 +- .../com/mapswithme/maps/gallery/Holders.java | 32 ++++----- .../maps/gallery/LoadingAdapterStrategy.java | 14 +--- .../maps/gallery/OfflineAdapterStrategy.java | 11 +-- .../gallery/SingleItemAdapterStrategy.java | 15 ++++ .../maps/widget/placepage/PlacePageView.java | 17 +++-- android/src/com/mapswithme/util/Utils.java | 13 ++++ 10 files changed, 129 insertions(+), 64 deletions(-) diff --git a/android/res/layout/card_loading.xml b/android/res/layout/card_loading.xml index 0f8853060f..d3364f0f1a 100644 --- a/android/res/layout/card_loading.xml +++ b/android/res/layout/card_loading.xml @@ -37,7 +37,7 @@ android:gravity="center_horizontal" tools:text="Узнай сколько стоят квартиры в этом доме"/> { @@ -16,14 +11,9 @@ public abstract class ErrorAdapterStrategy extends SingleItemAdapterStrategy, I extends Item public interface ItemSelectedListener { - void onItemSelected(@NonNull String url); - void onMoreItemSelected(@NonNull String url); + void onItemSelected(@NonNull Context context, @NonNull String url); + void onMoreItemSelected(@NonNull Context context, @NonNull String url); + void onDetailsSelected(@NonNull Context context, @Nullable String url); } } diff --git a/android/src/com/mapswithme/maps/gallery/Holders.java b/android/src/com/mapswithme/maps/gallery/Holders.java index 785b576eac..161c46a7fc 100644 --- a/android/src/com/mapswithme/maps/gallery/Holders.java +++ b/android/src/com/mapswithme/maps/gallery/Holders.java @@ -72,13 +72,13 @@ public class Holders } @Override - protected void onItemSelected(@NonNull ViatorItem item) + protected void onItemSelected(@NonNull Context context, @NonNull ViatorItem item) { GalleryAdapter.ItemSelectedListener listener = mAdapter.getListener(); if (listener == null || TextUtils.isEmpty(item.getUrl())) return; - listener.onItemSelected(item.getUrl()); + listener.onItemSelected(context, item.getUrl()); } } @@ -92,13 +92,13 @@ public class Holders } @Override - protected void onItemSelected(@NonNull Items.ViatorItem item) + protected void onItemSelected(@NonNull Context context, @NonNull Items.ViatorItem item) { GalleryAdapter.ItemSelectedListener listener = mAdapter.getListener(); if (listener == null || TextUtils.isEmpty(item.getUrl())) return; - listener.onMoreItemSelected(item.getUrl()); + listener.onMoreItemSelected(context, item.getUrl()); } } @@ -135,13 +135,13 @@ public class Holders } @Override - protected void onItemSelected(@NonNull T item) + protected void onItemSelected(@NonNull Context context, @NonNull T item) { GalleryAdapter.ItemSelectedListener listener = mAdapter.getListener(); if (listener == null || TextUtils.isEmpty(item.getUrl())) return; - listener.onMoreItemSelected(item.getUrl()); + listener.onMoreItemSelected(context, item.getUrl()); } } @@ -155,7 +155,7 @@ public class Holders @NonNull GalleryAdapter mAdapter; - protected BaseViewHolder(@NonNull View itemView, @NonNull List items, + BaseViewHolder(@NonNull View itemView, @NonNull List items, @NonNull GalleryAdapter adapter) { super(itemView); @@ -178,10 +178,10 @@ public class Holders if (position == RecyclerView.NO_POSITION || mItems.isEmpty()) return; - onItemSelected(mItems.get(position)); + onItemSelected(mTitle.getContext(), mItems.get(position)); } - protected void onItemSelected(@NonNull I item) + protected void onItemSelected(@NonNull Context context, @NonNull I item) { } } @@ -201,7 +201,7 @@ public class Holders super(itemView, items, adapter); mProgressBar = (ProgressBar) itemView.findViewById(R.id.pb__progress); mSubtitle = (TextView) itemView.findViewById(R.id.tv__subtitle); - mMore = (TextView) itemView.findViewById(R.id.tv__more); + mMore = (TextView) itemView.findViewById(R.id.button); } @CallSuper @@ -219,20 +219,20 @@ public class Holders if (position == RecyclerView.NO_POSITION) return; - onItemSelected(mItems.get(position)); + onItemSelected(mProgressBar.getContext(), mItems.get(position)); } @Override - protected void onItemSelected(@NonNull Items.Item item) + protected void onItemSelected(@NonNull Context context, @NonNull Items.Item item) { if (mAdapter.getListener() == null || TextUtils.isEmpty(item.getUrl())) return; - mAdapter.getListener().onItemSelected(item.getUrl()); + mAdapter.getListener().onDetailsSelected(context, item.getUrl()); } } - public static class ErrorViewHolder extends LoadingViewHolder + static class ErrorViewHolder extends LoadingViewHolder { ErrorViewHolder(@NonNull View itemView, @NonNull List items, @NonNull GalleryAdapter adapter) @@ -260,12 +260,12 @@ public class Holders } @Override - protected void onItemSelected(@NonNull Items.Item item) + protected void onItemSelected(@NonNull Context context, @NonNull Items.Item item) { if (mAdapter.getListener() == null) return; - // TODO: coming soon. + mAdapter.getListener().onDetailsSelected(mTitle.getContext(), item.getUrl()); } } } diff --git a/android/src/com/mapswithme/maps/gallery/LoadingAdapterStrategy.java b/android/src/com/mapswithme/maps/gallery/LoadingAdapterStrategy.java index 3d8bf96215..f25ab7afcb 100644 --- a/android/src/com/mapswithme/maps/gallery/LoadingAdapterStrategy.java +++ b/android/src/com/mapswithme/maps/gallery/LoadingAdapterStrategy.java @@ -2,12 +2,7 @@ package com.mapswithme.maps.gallery; import android.support.annotation.NonNull; import android.support.annotation.Nullable; -import android.view.LayoutInflater; import android.view.View; -import android.view.ViewGroup; -import android.widget.TextView; - -import com.mapswithme.maps.R; public abstract class LoadingAdapterStrategy extends SingleItemAdapterStrategy @@ -18,14 +13,9 @@ public abstract class LoadingAdapterStrategy super(url); } - @NonNull @Override - protected Holders.LoadingViewHolder createViewHolder(@NonNull ViewGroup parent, int viewType, - @NonNull GalleryAdapter adapter) + protected Holders.LoadingViewHolder createViewHolder(@NonNull View itemView, @NonNull GalleryAdapter adapter) { - View loadingView = inflateView(LayoutInflater.from(parent.getContext()), parent); - TextView moreView = (TextView) loadingView.findViewById(R.id.tv__more); - moreView.setText(getLabelForDetailsView()); - return new Holders.LoadingViewHolder(loadingView, mItems, adapter); + return new Holders.LoadingViewHolder(itemView, mItems, adapter); } } diff --git a/android/src/com/mapswithme/maps/gallery/OfflineAdapterStrategy.java b/android/src/com/mapswithme/maps/gallery/OfflineAdapterStrategy.java index c0ca0540cc..5f5b19b4bf 100644 --- a/android/src/com/mapswithme/maps/gallery/OfflineAdapterStrategy.java +++ b/android/src/com/mapswithme/maps/gallery/OfflineAdapterStrategy.java @@ -2,10 +2,7 @@ package com.mapswithme.maps.gallery; import android.support.annotation.NonNull; import android.support.annotation.Nullable; -import android.view.LayoutInflater; import android.view.View; -import android.view.ViewGroup; -import android.widget.TextView; import com.mapswithme.maps.R; @@ -16,14 +13,10 @@ public abstract class OfflineAdapterStrategy extends SingleItemAdapterStrategy> extends AdapterStrategy @@ -30,6 +32,19 @@ abstract class SingleItemAdapterStrategy