[android[release-72/master] Added unregistration of previous ad when it's changed

This commit is contained in:
alexzatsepin 2017-04-11 15:53:48 +03:00
parent 2ecff49a9a
commit d860df1f4b
4 changed files with 30 additions and 1 deletions

View file

@ -57,6 +57,12 @@ class FacebookNativeAd extends CachedMwmNativeAd
NativeAd.downloadAndDisplayImage(mAd.getAdIcon(), (ImageView) view);
}
@Override
public void unregisterView()
{
mAd.unregisterView();
}
@Override
void registerViewForInteraction(@NonNull View view)
{

View file

@ -33,6 +33,11 @@ public interface MwmNativeAd
*/
void registerView(@NonNull View bannerView);
/**
* Unregisters the view attached to the current ad.
*/
void unregisterView();
/**
* Returns a provider name for this ad.
*/

View file

@ -64,6 +64,12 @@ class MyTargetNativeAd extends CachedMwmNativeAd
NativeAd.loadImageToView(icon, (ImageView) view);
}
@Override
public void unregisterView()
{
mAd.unregisterView();
}
@Override
void registerViewForInteraction(@NonNull View view)
{

View file

@ -143,7 +143,7 @@ final class BannerController
if (mBanners != null && !mBanners.equals(banners))
{
onChangedVisibility(false);
mCurrentAd = null;
unregisterCurrentAd();
}
UiUtils.hide(mFrame);
@ -162,6 +162,16 @@ final class BannerController
updateVisibility();
}
private void unregisterCurrentAd()
{
if (mCurrentAd != null)
{
LOGGER.d(TAG, "Unregister view for the ad: " + mCurrentAd.getTitle());
mCurrentAd.unregisterView();
mCurrentAd = null;
}
}
boolean isBannerVisible()
{
return !UiUtils.isHidden(mFrame);
@ -302,6 +312,8 @@ final class BannerController
if (mBanners == null)
return;
unregisterCurrentAd();
mCurrentAd = ad;
updateVisibility();