From 467200662f2355ff221ddda335a10068f097a74b Mon Sep 17 00:00:00 2001 From: Valentin Petrovych Date: Mon, 28 Mar 2022 18:46:30 +0300 Subject: [PATCH] feat(multi-format): fix internal app #393 --- .../admob/AdMobInterstitialFragment.kt | 5 ++- .../gam/GamBannersAndInterstitialFragment.kt | 8 +++- .../bidding/gam/GamInterstitialFragment.kt | 7 ++- .../MopubBannersWithInterstitialFragment.kt | 3 +- .../mopub/MopubInterstitialFragment.kt | 5 ++- .../ppm/PpmBannersWithInterstitialFragment.kt | 3 +- .../bidding/ppm/PpmInterstitialFragment.kt | 6 +-- .../configuration/AdUnitConfiguration.java | 14 +++++- .../models/AdUnitConfigurationTest.java | 43 ------------------- 9 files changed, 37 insertions(+), 57 deletions(-) delete mode 100644 PrebidMobile/PrebidMobile-core/src/test/java/org/prebid/mobile/rendering/models/AdUnitConfigurationTest.java diff --git a/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/admob/AdMobInterstitialFragment.kt b/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/admob/AdMobInterstitialFragment.kt index 84872052e..3ff7bf67e 100644 --- a/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/admob/AdMobInterstitialFragment.kt +++ b/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/admob/AdMobInterstitialFragment.kt @@ -18,6 +18,7 @@ import org.prebid.mobile.rendering.bidding.enums.AdUnitFormat import org.prebid.mobile.renderingtestapp.AdFragment import org.prebid.mobile.renderingtestapp.R import org.prebid.mobile.renderingtestapp.plugplay.config.AdConfiguratorDialogFragment +import java.util.* open class AdMobInterstitialFragment : AdFragment() { @@ -47,8 +48,8 @@ open class AdMobInterstitialFragment : AdFragment() { val mediationUtils = AdMobInterstitialMediationUtils(extras) isVideo = arguments?.getBoolean(ARG_IS_VIDEO) ?: false - var adUnitFormat = AdUnitFormat.DISPLAY - if (isVideo) adUnitFormat = AdUnitFormat.VIDEO + var adUnitFormat = EnumSet.of(AdUnitFormat.DISPLAY) + if (isVideo) adUnitFormat = EnumSet.of(AdUnitFormat.VIDEO) adUnit = MediationInterstitialAdUnit(activity, configId, adUnitFormat, mediationUtils) if (!isVideo) { adUnit?.setMinSizePercentage(30, 30) diff --git a/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/gam/GamBannersAndInterstitialFragment.kt b/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/gam/GamBannersAndInterstitialFragment.kt index 13c8b622f..3c3811f55 100644 --- a/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/gam/GamBannersAndInterstitialFragment.kt +++ b/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/gam/GamBannersAndInterstitialFragment.kt @@ -36,8 +36,12 @@ class GamBannersAndInterstitialFragment : PpmBannersWithInterstitialFragment() { } override fun initInterstitialAdUnit(configId: String): InterstitialAdUnit { - val eventHandler = GamInterstitialEventHandler(requireActivity(), getString(R.string.adunit_gam_interstitial_320_480_app_event)) - val interstitialAdUnit = InterstitialAdUnit(requireContext(), configId, AdSize(30, 30), eventHandler) + val eventHandler = GamInterstitialEventHandler( + requireActivity(), + getString(R.string.adunit_gam_interstitial_320_480_app_event) + ) + val interstitialAdUnit = InterstitialAdUnit(requireContext(), configId, eventHandler) + interstitialAdUnit.setMinSizePercentage(AdSize(30, 30)) interstitialAdUnit.setInterstitialAdUnitListener(getInterstitialAdListener()) interstitialAdUnit.loadAd() return interstitialAdUnit diff --git a/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/gam/GamInterstitialFragment.kt b/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/gam/GamInterstitialFragment.kt index f4ab77d68..213fece2b 100644 --- a/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/gam/GamInterstitialFragment.kt +++ b/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/gam/GamInterstitialFragment.kt @@ -21,15 +21,18 @@ import org.prebid.mobile.eventhandlers.GamInterstitialEventHandler import org.prebid.mobile.rendering.bidding.enums.AdUnitFormat import org.prebid.mobile.rendering.bidding.parallel.InterstitialAdUnit import org.prebid.mobile.renderingtestapp.plugplay.bidding.base.BaseBidInterstitialFragment +import java.util.* open class GamInterstitialFragment : BaseBidInterstitialFragment() { override fun initInterstitialAd(adUnitFormat: AdUnitFormat, adUnitId: String?, configId: String?, width: Int, height: Int) { val interstitialEventHandler = GamInterstitialEventHandler(requireActivity(), adUnitId) interstitialAdUnit = if (adUnitFormat == AdUnitFormat.VIDEO){ - InterstitialAdUnit(requireContext(), configId, adUnitFormat, interstitialEventHandler) + InterstitialAdUnit(requireContext(), configId, EnumSet.of(adUnitFormat), interstitialEventHandler) } else { - InterstitialAdUnit(requireContext(), configId, AdSize(width, height), interstitialEventHandler) + InterstitialAdUnit(requireContext(), configId, interstitialEventHandler).apply { + setMinSizePercentage(AdSize(width, height)) + } } interstitialAdUnit?.setInterstitialAdUnitListener(this) diff --git a/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/mopub/MopubBannersWithInterstitialFragment.kt b/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/mopub/MopubBannersWithInterstitialFragment.kt index 731aee318..d7fa169b9 100644 --- a/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/mopub/MopubBannersWithInterstitialFragment.kt +++ b/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/mopub/MopubBannersWithInterstitialFragment.kt @@ -35,6 +35,7 @@ import org.prebid.mobile.rendering.bidding.enums.AdUnitFormat import org.prebid.mobile.renderingtestapp.R import org.prebid.mobile.renderingtestapp.plugplay.bidding.base.BaseBannersWithInterstitialFragment import org.prebid.mobile.renderingtestapp.utils.getAdDescription +import java.util.* class MopubBannersWithInterstitialFragment : BaseBannersWithInterstitialFragment() { @@ -64,7 +65,7 @@ class MopubBannersWithInterstitialFragment : BaseBannersWithInterstitialFragment MediationInterstitialAdUnit( requireContext(), interstitialConfigId, - AdUnitFormat.DISPLAY, + EnumSet.of(AdUnitFormat.DISPLAY), mediationUtils ) mediationInterstitialAdUnit?.setMinSizePercentage(30, 30) diff --git a/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/mopub/MopubInterstitialFragment.kt b/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/mopub/MopubInterstitialFragment.kt index 7ed957ddd..d7d52d35f 100644 --- a/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/mopub/MopubInterstitialFragment.kt +++ b/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/mopub/MopubInterstitialFragment.kt @@ -30,6 +30,7 @@ import org.prebid.mobile.rendering.bidding.enums.AdUnitFormat import org.prebid.mobile.renderingtestapp.AdFragment import org.prebid.mobile.renderingtestapp.R import org.prebid.mobile.renderingtestapp.plugplay.config.AdConfiguratorDialogFragment +import java.util.* class MopubInterstitialFragment : AdFragment() { @@ -105,14 +106,14 @@ class MopubInterstitialFragment : AdFragment() { MediationInterstitialAdUnit( requireContext(), configId, - AdUnitFormat.VIDEO, + EnumSet.of(AdUnitFormat.VIDEO), mediationUtils ) } else { MediationInterstitialAdUnit( requireContext(), configId, - AdUnitFormat.DISPLAY, + EnumSet.of(AdUnitFormat.DISPLAY), mediationUtils ) } diff --git a/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/ppm/PpmBannersWithInterstitialFragment.kt b/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/ppm/PpmBannersWithInterstitialFragment.kt index d37cdb9dc..053e22b41 100644 --- a/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/ppm/PpmBannersWithInterstitialFragment.kt +++ b/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/ppm/PpmBannersWithInterstitialFragment.kt @@ -67,7 +67,8 @@ open class PpmBannersWithInterstitialFragment : BaseBannersWithInterstitialFragm } open fun initInterstitialAdUnit(configId: String): InterstitialAdUnit { - val interstitialAdUnit = InterstitialAdUnit(requireContext(), configId, AdSize(30, 30)) + val interstitialAdUnit = InterstitialAdUnit(requireContext(), configId) + interstitialAdUnit.setMinSizePercentage(AdSize(30, 30)) interstitialAdUnit.setInterstitialAdUnitListener(getInterstitialAdListener()) return interstitialAdUnit } diff --git a/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/ppm/PpmInterstitialFragment.kt b/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/ppm/PpmInterstitialFragment.kt index 2ba96b37a..e0cbe896d 100644 --- a/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/ppm/PpmInterstitialFragment.kt +++ b/Example/PrebidInternalTestApp/src/main/java/org/prebid/mobile/renderingtestapp/plugplay/bidding/ppm/PpmInterstitialFragment.kt @@ -16,19 +16,19 @@ package org.prebid.mobile.renderingtestapp.plugplay.bidding.ppm -import org.prebid.mobile.AdSize import org.prebid.mobile.rendering.bidding.enums.AdUnitFormat import org.prebid.mobile.rendering.bidding.parallel.InterstitialAdUnit import org.prebid.mobile.renderingtestapp.plugplay.bidding.base.BaseBidInterstitialFragment +import java.util.* open class PpmInterstitialFragment : BaseBidInterstitialFragment() { override fun initInterstitialAd(adUnitFormat: AdUnitFormat, adUnitId: String?, configId: String?, width: Int, height: Int) { interstitialAdUnit = if (adUnitFormat == AdUnitFormat.VIDEO){ - InterstitialAdUnit(requireContext(), configId, adUnitFormat) + InterstitialAdUnit(requireContext(), configId, EnumSet.of(adUnitFormat)) } else { - InterstitialAdUnit(requireContext(), configId, AdSize(width, height)) + InterstitialAdUnit(requireContext(), configId) } interstitialAdUnit?.setInterstitialAdUnitListener(this) } diff --git a/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/units/configuration/AdUnitConfiguration.java b/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/units/configuration/AdUnitConfiguration.java index ca14330e6..a9147032e 100644 --- a/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/units/configuration/AdUnitConfiguration.java +++ b/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/units/configuration/AdUnitConfiguration.java @@ -219,19 +219,31 @@ public int getVideoSkipOffset() { } public void addAdFormat(@Nullable AdFormat adFormat) { + if (adFormat == null) return; + + if (adFormat == AdFormat.NATIVE) { + nativeConfiguration = new NativeAdUnitConfiguration(); + } + adFormats.add(adFormat); } + /** + * Clears ad formats list and adds only one ad format. + */ public void setAdFormat(@Nullable AdFormat adFormat) { + if (adFormat == null) return; + if (adFormat == AdFormat.NATIVE) { nativeConfiguration = new NativeAdUnitConfiguration(); } + adFormats.clear(); adFormats.add(adFormat); } /** - * Adds AdFormats corresponding to AdUnitFormat types. + * Clears previous ad formats and adds AdFormats corresponding to AdUnitFormat types. */ public void setAdFormats(@Nullable EnumSet adUnitFormats) { if (adUnitFormats == null) return; diff --git a/PrebidMobile/PrebidMobile-core/src/test/java/org/prebid/mobile/rendering/models/AdUnitConfigurationTest.java b/PrebidMobile/PrebidMobile-core/src/test/java/org/prebid/mobile/rendering/models/AdUnitConfigurationTest.java deleted file mode 100644 index 185281ce8..000000000 --- a/PrebidMobile/PrebidMobile-core/src/test/java/org/prebid/mobile/rendering/models/AdUnitConfigurationTest.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 2018-2021 Prebid.org, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.prebid.mobile.rendering.models; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.prebid.mobile.rendering.errors.AdException; -import org.prebid.mobile.units.configuration.AdUnitConfiguration; -import org.robolectric.RobolectricTestRunner; -import org.robolectric.annotation.Config; - -import static junit.framework.Assert.assertNotNull; -import static junit.framework.Assert.assertNull; -import static org.junit.Assert.assertEquals; - -@RunWith(RobolectricTestRunner.class) -@Config(sdk = 19) -public class AdUnitConfigurationTest { - - @Test - public void testAdConfiguration() { - AdUnitConfiguration adConfig = null; - AdException err = null; - adConfig = new AdUnitConfiguration(); - assertNotNull(adConfig); - assertNull(err); - assertEquals(0, adConfig.getAutoRefreshDelay()); - } -} \ No newline at end of file