diff --git a/android/src/com/mapswithme/maps/MwmActivity.java b/android/src/com/mapswithme/maps/MwmActivity.java index ea51c47d8e..68e5e3fdaa 100644 --- a/android/src/com/mapswithme/maps/MwmActivity.java +++ b/android/src/com/mapswithme/maps/MwmActivity.java @@ -531,7 +531,7 @@ public class MwmActivity extends BaseMwmFragmentActivity setContentView(R.layout.activity_map); - mPlacePageController = PlacePageFactory.createPlacePageController(this, this, this); + mPlacePageController = PlacePageFactory.createCompositePlacePageController(this, this, this); mPlacePageController.initialize(this); mPlacePageController.onActivityCreated(this, savedInstanceState); diff --git a/android/src/com/mapswithme/maps/widget/menu/BottomSheetMenuController.java b/android/src/com/mapswithme/maps/widget/menu/BottomSheetMenuController.java index 5ecf72ffef..53d2656cd0 100644 --- a/android/src/com/mapswithme/maps/widget/menu/BottomSheetMenuController.java +++ b/android/src/com/mapswithme/maps/widget/menu/BottomSheetMenuController.java @@ -57,7 +57,7 @@ public class BottomSheetMenuController implements MenuController }; BottomSheetMenuController(int sheetResId, @NonNull MenuRenderer menuRenderer, - @Nullable MenuStateObserver stateObserver) + @Nullable MenuStateObserver stateObserver) { mSheetResId = sheetResId; mMenuRenderer = menuRenderer; diff --git a/android/src/com/mapswithme/maps/widget/placepage/ElevationProfileViewRenderer.java b/android/src/com/mapswithme/maps/widget/placepage/ElevationProfileViewRenderer.java index f4d8f86b74..27f0a12892 100644 --- a/android/src/com/mapswithme/maps/widget/placepage/ElevationProfileViewRenderer.java +++ b/android/src/com/mapswithme/maps/widget/placepage/ElevationProfileViewRenderer.java @@ -174,4 +174,10 @@ public class ElevationProfileViewRenderer implements PlacePageViewRenderer extends Initializable, Savable, - Hideable + Hideable, Supportable { void render(@NonNull Data data); } diff --git a/android/src/com/mapswithme/maps/widget/placepage/SimplePlacePageController.java b/android/src/com/mapswithme/maps/widget/placepage/SimplePlacePageController.java index 1e301fee34..23290521cb 100644 --- a/android/src/com/mapswithme/maps/widget/placepage/SimplePlacePageController.java +++ b/android/src/com/mapswithme/maps/widget/placepage/SimplePlacePageController.java @@ -7,12 +7,12 @@ import android.os.Bundle; import android.view.MotionEvent; import android.view.View; +import androidx.annotation.IdRes; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.core.view.GestureDetectorCompat; import com.mapswithme.maps.Framework; import com.mapswithme.maps.R; -import com.mapswithme.maps.bookmarks.data.ElevationInfo; import com.mapswithme.util.UiUtils; import com.trafi.anchorbottomsheetbehavior.AnchorBottomSheetBehavior; @@ -99,11 +99,14 @@ public class SimplePlacePageController implements PlacePageController = new DefaultBottomSheetCallback(mBottomSheetChangedListener); private boolean mDeactivateMapSelection = true; + @IdRes + private final int mSheetResId; - SimplePlacePageController(@NonNull SlideListener slideListener, - @NonNull PlacePageViewRenderer renderer, - @Nullable PlacePageStateObserver stateObserver) + SimplePlacePageController(int sheetResId, @NonNull PlacePageViewRenderer renderer, + @Nullable PlacePageStateObserver stateObserver, + @NonNull SlideListener slideListener) { + mSheetResId = sheetResId; mSlideListener = slideListener; mViewRenderer = renderer; mStateObserver = stateObserver; @@ -181,7 +184,7 @@ public class SimplePlacePageController implements PlacePageController { Objects.requireNonNull(activity); mApplication = activity.getApplication(); - mSheet = activity.findViewById(R.id.elevation_profile); + mSheet = activity.findViewById(mSheetResId); mViewportMinHeight = mSheet.getResources().getDimensionPixelSize(R.dimen.viewport_min_height); mViewPortMinWidth = mSheet.getResources().getDimensionPixelSize(R.dimen.viewport_min_width); mSheetBehavior = AnchorBottomSheetBehavior.from(mSheet); @@ -250,7 +253,7 @@ public class SimplePlacePageController implements PlacePageController @Override public boolean support(@NonNull PlacePageData data) { - return data instanceof ElevationInfo; + return mViewRenderer.support(data); } private static class SimplePlacePageGestureListener extends PlacePageGestureListener