package com.ijoomer.common.classes;
import android.app.Activity;
import android.view.View;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;
public class IjoomerAdManager {
static IjoomerAdManager adManager;
Activity activity;
public interface OnAddLoadListener {
void onLoadComplete();
}
private IjoomerAdManager() {
}
public static IjoomerAdManager getInstance() {
if (adManager == null)
adManager = new IjoomerAdManager();
return adManager;
}
public View getTopAdvertisement(Activity activity) {
this.activity = activity;
// code to get AdItemData
// if adType is AdMob
return getAdFromAdMob("", AdSize.BANNER, null);
}
public View getBottomAdvertisement(Activity activity) {
this.activity = activity;
// code to get AdItemData
// if adType is AdMob
return getAdFromAdMob("", AdSize.BANNER, null);
}
public void getOnLoadAdvertisement(Activity activity) {
// this.activity = activity;
// // code to get AdItemData
//
// // if adType is AdMob
// final Dialog dialog = new Dialog(activity, android.R.style.Theme_Translucent_NoTitleBar);
//
// dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
// dialog.setContentView(R.layout.ijoomer_onload_ad_dialog);
// dialog.setCancelable(false);
// LinearLayout layout = (LinearLayout) dialog.findViewById(R.id.lnrView);
// final ImageView image = (ImageView) dialog.findViewById(R.id.imgClose);
//
// if (STRICT_MODE) {
// image.setVisibility(View.GONE);
// }
// layout.addView(getAdFromAdMob("0445b7141d9d4e1b", AdSize.MEDIUM_RECTANGLE, new OnAddLoadListener() {
//
// @Override
// public void onLoadComplete() {
// image.setVisibility(View.VISIBLE);
// }
// }));
// image.setOnClickListener(new OnClickListener() {
// @Override
// public void onClick(View v) {
// dialog.dismiss();
// }
// });
// dialog.show();
}
public View getMediumRectAdvertisement(Activity activity) {
this.activity = activity;
// code to get AdItemData
// if adType is AdMob
return getAdFromAdMob("", AdSize.MEDIUM_RECTANGLE, new OnAddLoadListener() {
@Override
public void onLoadComplete() {
}
});
}
public View getAdFromAdMob(String addId, AdSize adSize, final OnAddLoadListener target) {
if (addId != null && addId.trim().length() > 0) {
RelativeLayout addLayout = new RelativeLayout(activity);
final ProgressBar pbr = new ProgressBar(activity);
RelativeLayout.LayoutParams rlp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
lp.addRule(RelativeLayout.CENTER_IN_PARENT);
pbr.setLayoutParams(lp);
addLayout.setLayoutParams(rlp);
addLayout.addView(pbr);
AdView adView = new AdView(activity);
adView.setAdUnitId(addId);
adView.setAdSize(adSize);
adView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
super.onAdLoaded();
if (pbr.isShown()) {
pbr.setVisibility(View.GONE);
}
if(target!=null){
target.onLoadComplete();
}
}
@Override
public void onAdFailedToLoad(int errorCode) {
super.onAdFailedToLoad(errorCode);
if (pbr.isShown()) {
pbr.setVisibility(View.GONE);
}
if(target!=null){
target.onLoadComplete();
}
}
@Override
public void onAdOpened() {
super.onAdOpened();
}
});
addLayout.addView(adView);
AdRequest.Builder builder = new AdRequest.Builder();
builder.addTestDevice(AdRequest.DEVICE_ID_EMULATOR);
adView.loadAd(builder.build());
return addLayout;
} else {
return null;
}
}
}