package net.robotmedia.acv.logic;
import net.androidcomics.acv.R;
import android.app.Activity;
import android.content.Context;
import android.content.res.Configuration;
import android.view.View;
public class AdsManager {
private static String publisherId = null;
private static String testDeviceId = null;
private final static String PUBLISHER_ID_RESOURCE_NAME = "admob_publisher_id";
private final static String PUBLISHER_TEST_DEVICE_ID = "admob_test_device_id";
private static boolean usesAds = true;
public static final int SIZE_BANNER = 0;
public static final int SIZE_FULL_BANNER = 1;
// For compatibility with older versions
// (equivalent to Configuration.SCREENLAYOUT_SIZE_XLARGE, but avoiding reflection for this)
protected static final int RETRO_SCREENLAYOUT_SIZE_XLARGE = 4;
public static View getAd(Activity activity, int size) {
init(activity);
if (!usesAds) return null;
View ad = AdMobProxy.getAd(activity, size, publisherId, testDeviceId);
ad.setId(R.id.ad);
return ad;
}
public static View getAd(Activity activity) {
init(activity);
if (!usesAds) return null;
int adaptedSize;
int screenSize = activity.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK;
if(screenSize == Configuration.SCREENLAYOUT_SIZE_LARGE || screenSize == RETRO_SCREENLAYOUT_SIZE_XLARGE) {
adaptedSize = SIZE_FULL_BANNER;
} else {
adaptedSize = SIZE_BANNER;
}
return getAd(activity, adaptedSize);
}
public static void destroyAds(Activity activity) {
if (!usesAds) return;
AdMobProxy.destroyAds(activity, R.id.ad);
}
protected static void init(Context context) {
if (!usesAds) return;
if (publisherId != null) return;
final int resourceId = context.getResources().getIdentifier(PUBLISHER_ID_RESOURCE_NAME, "string", context.getPackageName());
final int testDeviceResourceId = context.getResources().getIdentifier(PUBLISHER_TEST_DEVICE_ID, "string", context.getPackageName());
if (resourceId != 0) {
publisherId = context.getString(resourceId);
usesAds = true;
} else {
usesAds = false;
}
if (testDeviceResourceId != 0) {
testDeviceId = context.getString(testDeviceResourceId);
}
}
public static void disableAds() {
usesAds = false;
}
}