diff --git a/android/res/layout/place_page_banner.xml b/android/res/layout/place_page_banner.xml index 1e75fc186c..3bd591c07a 100644 --- a/android/res/layout/place_page_banner.xml +++ b/android/res/layout/place_page_banner.xml @@ -2,9 +2,9 @@ diff --git a/android/res/layout/place_page_banner_content.xml b/android/res/layout/place_page_banner_content.xml index 6c6c7e6d2b..35a8f94296 100644 --- a/android/res/layout/place_page_banner_content.xml +++ b/android/res/layout/place_page_banner_content.xml @@ -76,18 +76,21 @@ android:maxLines="1" android:minLines="1" android:textAppearance="@style/MwmTextAppearance.Body4" + android:textSize="12dp" android:textColor="?textBannerTitle" android:fontFamily="@string/robotoMedium" android:textStyle="bold" android:ellipsize="end" tools:text="Закажи одежду в интернет-магазине Wildberries." - tools:targetApi="jelly_bean"/> + tools:targetApi="jelly_bean" + tools:ignore="SpUsage"/> + android:layout_toEndOf="@+id/iv__banner_icon" + tools:ignore="SpUsage"/> + tools:targetApi="jelly_bean" + tools:ignore="SpUsage"/> + tools:targetApi="jelly_bean" + tools:ignore="SpUsage"/> + android:layout_height="wrap_content"> 32dp - 64dp + 66dp + 108dp 40dp @dimen/primary_button_min_height 5dp diff --git a/android/src/com/mapswithme/maps/widget/placepage/BannerController.java b/android/src/com/mapswithme/maps/widget/placepage/BannerController.java index f22783823a..036b5df103 100644 --- a/android/src/com/mapswithme/maps/widget/placepage/BannerController.java +++ b/android/src/com/mapswithme/maps/widget/placepage/BannerController.java @@ -8,7 +8,6 @@ import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.v4.app.FragmentActivity; import android.text.TextUtils; -import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -35,7 +34,6 @@ import com.mapswithme.util.statistics.Statistics; import java.util.Collections; import java.util.List; -import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT; import static com.mapswithme.util.statistics.Statistics.EventName.PP_BANNER_CLICK; import static com.mapswithme.util.statistics.Statistics.EventName.PP_BANNER_SHOW; import static com.mapswithme.util.statistics.Statistics.PP_BANNER_STATE_DETAILS; @@ -103,8 +101,6 @@ final class BannerController @NonNull private View mAdsRemovalButton; - private final float mCloseFrameHeight; - private boolean mOpened = false; private boolean mError = false; @Nullable @@ -117,6 +113,8 @@ final class BannerController private MyNativeAdsListener mAdsListener = new MyNativeAdsListener(); @NonNull private final AdsRemovalPurchaseControllerProvider mAdsRemovalProvider; + private int mClosedHeight; + private int mOpentHeight; BannerController(@NonNull ViewGroup bannerContainer, @NonNull CompoundNativeAdLoader loader, @Nullable AdTracker tracker, @@ -129,7 +127,8 @@ final class BannerController mAdsLoader = loader; mAdTracker = tracker; Resources resources = mBannerView.getResources(); - mCloseFrameHeight = resources.getDimension(R.dimen.placepage_banner_height); + mClosedHeight = resources.getDimensionPixelSize(R.dimen.placepage_banner_small_height); + mOpentHeight = resources.getDimensionPixelSize(R.dimen.placepage_banner_large_height); mAdsRemovalProvider = adsRemovalProvider; initBannerViews(); } @@ -258,7 +257,6 @@ final class BannerController return; mOpened = true; - setFrameHeight(WRAP_CONTENT); mMessage.setMaxLines(MAX_MESSAGE_LINES); mTitle.setMaxLines(MAX_TITLE_LINES); updateVisibility(); @@ -268,38 +266,37 @@ final class BannerController Statistics.INSTANCE.trackPPBanner(PP_BANNER_SHOW, mCurrentAd, 1); mCurrentAd.registerView(mBannerView); } - } void zoomIn(float ratio) { + ViewGroup banner = mContainerView.findViewById(R.id.banner); + ViewGroup.LayoutParams lp = banner.getLayoutParams(); + lp.height = (int) ((mOpentHeight - mClosedHeight) * ratio + mClosedHeight); + banner.setLayoutParams(lp); + } void zoomOut(float ratio) { + ViewGroup banner = mContainerView.findViewById(R.id.banner); + ViewGroup.LayoutParams lp = banner.getLayoutParams(); + lp.height = (int) (mClosedHeight - (mClosedHeight - mOpentHeight) * ratio); + banner.setLayoutParams(lp); } - boolean close() + void close() { if (!isBannerContainerVisible() || mBanners == null || !mOpened) - return false; + return; mOpened = false; - setFrameHeight((int) mCloseFrameHeight); UiUtils.hide(mIcon); mMessage.setMaxLines(MIN_MESSAGE_LINES); mTitle.setMaxLines(MIN_TITLE_LINES); updateVisibility(); if (mCurrentAd != null) mCurrentAd.registerView(mBannerView); - return true; - } - - private void setFrameHeight(int height) - { - ViewGroup.LayoutParams lp = mBannerView.getLayoutParams(); - lp.height = height; - mBannerView.setLayoutParams(lp); } private void loadIcon(@NonNull MwmNativeAd ad) diff --git a/android/src/com/mapswithme/maps/widget/placepage/BottomSheetPlacePageController.java b/android/src/com/mapswithme/maps/widget/placepage/BottomSheetPlacePageController.java index 71485adb5c..78d31c441a 100644 --- a/android/src/com/mapswithme/maps/widget/placepage/BottomSheetPlacePageController.java +++ b/android/src/com/mapswithme/maps/widget/placepage/BottomSheetPlacePageController.java @@ -114,12 +114,14 @@ public class BottomSheetPlacePageController implements PlacePageController, Loca if (ratio >= 1) { + mBannerController.zoomOut(1); mBannerController.open(); return; } if (ratio == 0) { + mBannerController.zoomIn(ratio); mBannerController.close(); return; }