From a504175ef38c220615f04ceed0c2c4c04e8ba6f0 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, 11 Feb 2019 12:50:02 +0300 Subject: [PATCH] [android] Added pp moving if bookmark set/unset --- .../placepage/BottomSheetPlacePageController.java | 14 ++++++++++++-- .../widget/placepage/PlacePageButtonsListener.java | 6 ++++++ .../maps/widget/placepage/PlacePageView.java | 8 +++++++- 3 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 android/src/com/mapswithme/maps/widget/placepage/PlacePageButtonsListener.java diff --git a/android/src/com/mapswithme/maps/widget/placepage/BottomSheetPlacePageController.java b/android/src/com/mapswithme/maps/widget/placepage/BottomSheetPlacePageController.java index a739e0221c..5110d46477 100644 --- a/android/src/com/mapswithme/maps/widget/placepage/BottomSheetPlacePageController.java +++ b/android/src/com/mapswithme/maps/widget/placepage/BottomSheetPlacePageController.java @@ -32,7 +32,8 @@ import com.trafi.anchorbottomsheetbehavior.AnchorBottomSheetBehavior; public class BottomSheetPlacePageController implements PlacePageController, LocationListener, View.OnLayoutChangeListener, BannerController.BannerDetailsRequester, - BannerController.BannerStateListener + BannerController.BannerStateListener, + PlacePageButtonsListener { private static final float ANCHOR_RATIO = 0.3f; private static final Logger LOGGER = LoggerFactory.INSTANCE.getLogger(LoggerFactory.Type.MISC); @@ -201,7 +202,7 @@ public class BottomSheetPlacePageController implements PlacePageController, Loca mButtonsLayout = mActivity.findViewById(R.id.pp_buttons_layout); ViewGroup buttons = mButtonsLayout.findViewById(R.id.container); - mPlacePage.initButtons(buttons); + mPlacePage.initButtons(buttons, this); UiUtils.bringViewToFrontOf(mButtonsLayout, mPlacePage); UiUtils.bringViewToFrontOf(mActivity.findViewById(R.id.app_bar), mPlacePage); mPlacePageTracker = new PlacePageTracker(mPlacePage, mButtonsLayout); @@ -550,4 +551,13 @@ public class BottomSheetPlacePageController implements PlacePageController, Loca { mPlacePageTracker.onBannerPreview(ad); } + + @Override + public void onBookmarkSet(boolean isSet) + { + if (isSet) + mPlacePageBehavior.setState(AnchorBottomSheetBehavior.STATE_ANCHORED); + else + mPlacePageBehavior.setState(AnchorBottomSheetBehavior.STATE_COLLAPSED); + } } diff --git a/android/src/com/mapswithme/maps/widget/placepage/PlacePageButtonsListener.java b/android/src/com/mapswithme/maps/widget/placepage/PlacePageButtonsListener.java new file mode 100644 index 0000000000..e1ebb3dfa0 --- /dev/null +++ b/android/src/com/mapswithme/maps/widget/placepage/PlacePageButtonsListener.java @@ -0,0 +1,6 @@ +package com.mapswithme.maps.widget.placepage; + +public interface PlacePageButtonsListener +{ + void onBookmarkSet(boolean isSet); +} diff --git a/android/src/com/mapswithme/maps/widget/placepage/PlacePageView.java b/android/src/com/mapswithme/maps/widget/placepage/PlacePageView.java index 1560eef25e..9e783d3749 100644 --- a/android/src/com/mapswithme/maps/widget/placepage/PlacePageView.java +++ b/android/src/com/mapswithme/maps/widget/placepage/PlacePageView.java @@ -306,6 +306,10 @@ public class PlacePageView extends NestedScrollView } }; + @SuppressWarnings("NullableProblems") + @NonNull + private PlacePageButtonsListener mPlacePageButtonsListener; + void setScrollable(boolean scrollable) { mScrollable = scrollable; @@ -459,8 +463,9 @@ public class PlacePageView extends NestedScrollView initPlaceDescriptionView(); } - public void initButtons(@NonNull ViewGroup buttons) + public void initButtons(@NonNull ViewGroup buttons, @NonNull PlacePageButtonsListener listener) { + mPlacePageButtonsListener = listener; mButtons = new PlacePageButtons(this, buttons, new PlacePageButtons.ItemListener() { public void onPrepareVisibleView(@NonNull PlacePageButtons.PlacePageButton item, @@ -526,6 +531,7 @@ public class PlacePageView extends NestedScrollView Statistics.INSTANCE.trackEvent(Statistics.EventName.PP_BOOKMARK); AlohaHelper.logClick(AlohaHelper.PP_BOOKMARK); toggleIsBookmark(mMapObject); + mPlacePageButtonsListener.onBookmarkSet(mBookmarkSet); break; case SHARE: