LeOS-Genesis/app/src/main/java/com/darkweb/genesissearchengine/pluginManager/adManager.java

101 lines
2.7 KiB
Java
Raw Normal View History

2020-01-24 16:23:31 +01:00
package com.darkweb.genesissearchengine.pluginManager;
import androidx.appcompat.app.AppCompatActivity;
import com.darkweb.genesissearchengine.helperManager.eventObserver;
import com.google.android.gms.ads.*;
2021-01-28 11:22:41 +01:00
import java.util.List;
2020-11-11 13:11:13 +01:00
import static com.darkweb.genesissearchengine.constants.status.sPaidStatus;
2021-01-28 11:22:41 +01:00
import static com.darkweb.genesissearchengine.pluginManager.pluginEnums.eAdManagerCallbacks.M_SHOW_LOADED_ADS;
2020-01-24 16:23:31 +01:00
class adManager
{
2020-11-11 13:11:13 +01:00
/*Private Variables */
2020-01-24 16:23:31 +01:00
private AppCompatActivity mAppContext;
private eventObserver.eventListener mEvent;
private AdView mBannerAds;
2020-12-11 08:05:08 +01:00
2020-01-24 16:23:31 +01:00
private boolean bannerAdsLoading = false;
private boolean bannerAdsLoaded = false;
/*Initializations*/
2021-01-28 11:22:41 +01:00
adManager(AppCompatActivity pAppContext, eventObserver.eventListener pEvent, AdView pBannerAds) {
this.mAppContext = pAppContext;
this.mEvent = pEvent;
mBannerAds = pBannerAds;
}
private void initializeBannerAds(){
if(!sPaidStatus){
AdRequest request = new AdRequest.Builder().build();
mBannerAds.loadAd(request);
admobListeners();
}
2020-01-24 16:23:31 +01:00
}
2021-01-28 11:22:41 +01:00
/*Local Helper Methods*/
private void loadAds(){
2020-11-11 13:11:13 +01:00
if(!sPaidStatus)
2020-01-24 16:23:31 +01:00
{
if (!bannerAdsLoading)
{
bannerAdsLoading = true;
2021-01-28 11:22:41 +01:00
MobileAds.initialize(mAppContext, initializationStatus -> { });
2021-02-07 18:40:35 +01:00
2020-01-24 16:23:31 +01:00
initializeBannerAds();
}
}
}
2021-01-28 11:22:41 +01:00
private boolean isAdvertLoaded(){
2020-01-24 16:23:31 +01:00
return bannerAdsLoaded;
}
2021-01-28 11:22:41 +01:00
/*Local Listeners*/
2020-01-24 16:23:31 +01:00
private void admobListeners(){
2020-11-11 13:11:13 +01:00
if(!sPaidStatus){
2020-01-24 16:23:31 +01:00
mBannerAds.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
bannerAdsLoaded = true;
2021-01-28 11:22:41 +01:00
mEvent.invokeObserver(null,M_SHOW_LOADED_ADS);
2020-01-24 16:23:31 +01:00
}
@Override
public void onAdOpened() {
}
@Override
public void onAdClicked() {
}
@Override
public void onAdLeftApplication() {
}
@Override
public void onAdClosed() {
}
});
}
}
2021-01-28 11:22:41 +01:00
/*External Triggers*/
2020-01-24 16:23:31 +01:00
2021-01-28 11:22:41 +01:00
Object onTrigger(List<Object> pData, pluginEnums.eAdManager pEventType) {
if(pEventType.equals(pluginEnums.eAdManager.M_INITIALIZE_BANNER_ADS))
{
loadAds();
}
else if(pEventType.equals(pluginEnums.eAdManager.M_IS_ADVERT_LOADED))
{
return isAdvertLoaded();
2020-01-24 16:23:31 +01:00
}
2021-01-28 11:22:41 +01:00
return null;
2020-01-24 16:23:31 +01:00
}
}