diff --git a/app/src/free/java/com.udacity.gradle.builditbigger/MainActivityFlavoredFragment.java b/app/src/free/java/com.udacity.gradle.builditbigger/MainActivityFlavoredFragment.java index aab1709..bc1dfd4 100644 --- a/app/src/free/java/com.udacity.gradle.builditbigger/MainActivityFlavoredFragment.java +++ b/app/src/free/java/com.udacity.gradle.builditbigger/MainActivityFlavoredFragment.java @@ -7,13 +7,44 @@ import android.view.ViewGroup; import android.widget.RelativeLayout; import android.widget.RelativeLayout.LayoutParams; -import com.google.android.gms.ads.AdRequest; +import com.google.android.gms.ads.AdListener; import com.google.android.gms.ads.AdView; +import com.google.android.gms.ads.InterstitialAd; + +import net.headlezz.jokesbackend.myApi.model.Joke; public class MainActivityFlavoredFragment extends MainActivityFragment { public static String TAG = MainActivityFlavoredFragment.class.getSimpleName(); + InterstitialAd mInterstitial; + Joke mJoke; + + @Override + public void onActivityCreated(Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + mInterstitial = new InterstitialAd(getContext()); + mInterstitial.setAdUnitId(getString(R.string.banner_ad_unit_id)); + mInterstitial.setAdListener(new AdListener() { + @Override + public void onAdClosed() { + super.onAdClosed(); + loadNextInterstitial(); + MainActivityFlavoredFragment.super.showJoke(mJoke); + } + + @Override + public void onAdLoaded() { + super.onAdLoaded(); + } + }); + loadNextInterstitial(); + } + + private void loadNextInterstitial() { + mInterstitial.loadAd(AdRequestBuilder.getNewRequest()); + } + @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { RelativeLayout view = (RelativeLayout) super.onCreateView(inflater, container, savedInstanceState); @@ -22,16 +53,21 @@ public class MainActivityFlavoredFragment extends MainActivityFragment { } private void attachBannerAd(RelativeLayout rootView) { - // initialize the adview AdView adView = (AdView) LayoutInflater.from(rootView.getContext()).inflate(R.layout.adview, rootView, false); LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); params.addRule(RelativeLayout.CENTER_HORIZONTAL); params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); adView.setLayoutParams(params); rootView.addView(adView); - AdRequest adRequest = new AdRequest.Builder() - .addTestDevice(AdRequest.DEVICE_ID_EMULATOR) - .build(); - adView.loadAd(adRequest); + adView.loadAd(AdRequestBuilder.getNewRequest()); + } + + @Override + public void showJoke(Joke joke) { + mJoke = joke; + if(mInterstitial.isLoaded()) + mInterstitial.show(); + else + super.showJoke(joke); } } diff --git a/app/src/main/java/com/udacity/gradle/builditbigger/AdRequestBuilder.java b/app/src/main/java/com/udacity/gradle/builditbigger/AdRequestBuilder.java new file mode 100644 index 0000000..8c77e39 --- /dev/null +++ b/app/src/main/java/com/udacity/gradle/builditbigger/AdRequestBuilder.java @@ -0,0 +1,14 @@ +package com.udacity.gradle.builditbigger; + +import com.google.android.gms.ads.AdRequest; + +public class AdRequestBuilder { + + public static AdRequest getNewRequest() { + return new AdRequest.Builder() + .addTestDevice(AdRequest.DEVICE_ID_EMULATOR) + .addTestDevice("AD770D74C4E2AF0FA36FBFD60844FC9E") + .build(); + } + +} diff --git a/app/src/main/java/com/udacity/gradle/builditbigger/MainActivityFragment.java b/app/src/main/java/com/udacity/gradle/builditbigger/MainActivityFragment.java index 062f29e..c4d50f3 100644 --- a/app/src/main/java/com/udacity/gradle/builditbigger/MainActivityFragment.java +++ b/app/src/main/java/com/udacity/gradle/builditbigger/MainActivityFragment.java @@ -43,7 +43,7 @@ public abstract class MainActivityFragment extends Fragment implements View.OnCl * starts the async task to download and show a new joke * cancels old downloads if theres already a running one */ - private void downloadNewJoke() { + protected void downloadNewJoke() { mJokeLoaderTask = new JokeLoaderTask(); mJokeLoaderTask.execute(); DownloadDialogFragment frag = new DownloadDialogFragment(); @@ -55,6 +55,10 @@ public abstract class MainActivityFragment extends Fragment implements View.OnCl * @param joke Joke to show */ public void onEvent(Joke joke) { + showJoke(joke); + } + + public void showJoke(Joke joke) { Intent i = new Intent(getContext(), JokePresenterActivity.class); i.putExtra(JokePresenterActivity.BUNDLE_ARG_JOKE, joke.getJoke()); startActivity(i);