forked from organicmaps/organicmaps
[android[release-72/master] Added unregistration of previous ad when it's changed
This commit is contained in:
parent
2ecff49a9a
commit
d860df1f4b
4 changed files with 30 additions and 1 deletions
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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.
|
||||
*/
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Add table
Reference in a new issue