package com.jdroid.android.google.admob; import android.os.Bundle; import android.support.annotation.Nullable; import android.view.ViewGroup; import com.google.android.gms.ads.MobileAds; import com.jdroid.android.activity.AbstractFragmentActivity; import com.jdroid.android.activity.ActivityDelegate; import com.jdroid.android.google.admob.helpers.AdViewHelper; import com.jdroid.android.google.admob.helpers.BaseAdViewHelper; import com.jdroid.android.google.admob.helpers.InterstitialAdHelper; import com.jdroid.java.exception.UnexpectedException; public class AdMobActivityDelegate extends ActivityDelegate { private static Boolean initialized = false; private BaseAdViewHelper baseAdViewHelper; private InterstitialAdHelper interstitialAdHelper; public AdMobActivityDelegate(AbstractFragmentActivity activity) { super(activity); } @Override public void onCreate(Bundle savedInstanceState) { if (AdMobAppModule.get().getAdMobAppContext().areAdsEnabled()) { if (!initialized) { String adMobAppId = AdMobAppModule.get().getAdMobAppContext().getAdMobAppId(); if (adMobAppId == null) { throw new UnexpectedException("Missing AdMob App Id"); } MobileAds.initialize(getActivity().getApplicationContext(), adMobAppId); initialized = true; } baseAdViewHelper = createBaseAdViewHelper(); if (baseAdViewHelper != null) { initBaseAdViewHelper(baseAdViewHelper); baseAdViewHelper.loadAd(getActivity(), (ViewGroup)(getActivity().findViewById(R.id.adViewContainer))); } interstitialAdHelper = createInterstitialAdHelper(); if (interstitialAdHelper != null) { initInterstitialAdHelper(interstitialAdHelper); interstitialAdHelper.loadAd(getActivity(), null); } } } @Override public void onResume() { if (baseAdViewHelper != null) { baseAdViewHelper.onResume(); } } @Override public void onBeforePause() { if (baseAdViewHelper != null) { baseAdViewHelper.onBeforePause(); } } @Override public void onBeforeDestroy() { if (baseAdViewHelper != null) { baseAdViewHelper.onBeforeDestroy(); } } @Nullable public BaseAdViewHelper createBaseAdViewHelper() { return new AdViewHelper(); } @Nullable public InterstitialAdHelper createInterstitialAdHelper() { return null; } public void initBaseAdViewHelper(BaseAdViewHelper adHelper) { // Do nothing } public void initInterstitialAdHelper(InterstitialAdHelper adHelper) { // Do nothing } @Nullable public BaseAdViewHelper getBaseAdViewHelper() { return baseAdViewHelper; } @Nullable public InterstitialAdHelper getInterstitialAdHelper() { return interstitialAdHelper; } }