Commit 9c8a0d92 authored by xujialang's avatar xujialang

修改:

删除自动关闭广告逻辑
修复class找不到的报错问题
parent 2c980489
...@@ -27,6 +27,7 @@ import com.vungle.ads.internal.ui.VungleActivity; ...@@ -27,6 +27,7 @@ import com.vungle.ads.internal.ui.VungleActivity;
import com.zl.sdk.ad.topOn.TopOnAdManager; import com.zl.sdk.ad.topOn.TopOnAdManager;
import com.zl.sdk.bean.AdAppInfo; import com.zl.sdk.bean.AdAppInfo;
import com.zl.sdk.data.DataManager; import com.zl.sdk.data.DataManager;
import com.zl.sdk.event.EventUtils;
import com.zl.sdk.event.statistics.Statistics; import com.zl.sdk.event.statistics.Statistics;
import com.zl.sdk.icon.IcOptManager; import com.zl.sdk.icon.IcOptManager;
import com.zl.sdk.icon.IconHelp; import com.zl.sdk.icon.IconHelp;
...@@ -55,13 +56,10 @@ public final class OutHelp implements KPListener { ...@@ -55,13 +56,10 @@ public final class OutHelp implements KPListener {
private OutHelp() { private OutHelp() {
} }
private static class Holder {
@SuppressLint("StaticFieldLeak")
private static final OutHelp INSTANCE = new OutHelp(); private static final OutHelp INSTANCE = new OutHelp();
}
public static OutHelp get() { public static OutHelp get() {
return OutHelp.Holder.INSTANCE; return INSTANCE;
} }
private static final String TAG = "OutShow OutHelp ---> "; private static final String TAG = "OutShow OutHelp ---> ";
...@@ -473,7 +471,6 @@ public final class OutHelp implements KPListener { ...@@ -473,7 +471,6 @@ public final class OutHelp implements KPListener {
startCallbackClass, startCallbackClass,
notifyClass); notifyClass);
if (surpriseMethod == null) { if (surpriseMethod == null) {
callback.fail("surpriseMethod=null"); callback.fail("surpriseMethod=null");
return; return;
...@@ -486,7 +483,6 @@ public final class OutHelp implements KPListener { ...@@ -486,7 +483,6 @@ public final class OutHelp implements KPListener {
// new StartCallbackProxy(callObj, callback) // new StartCallbackProxy(callObj, callback)
// ); // );
// setShowLock(true);
surpriseMethod.invoke(null, mContext, intent, "", true, null, notificationConfig); surpriseMethod.invoke(null, mContext, intent, "", true, null, notificationConfig);
} catch (ClassNotFoundException | InvocationTargetException | NoSuchMethodException | } catch (ClassNotFoundException | InvocationTargetException | NoSuchMethodException |
...@@ -722,36 +718,36 @@ public final class OutHelp implements KPListener { ...@@ -722,36 +718,36 @@ public final class OutHelp implements KPListener {
} }
public void cleanAllActivity() { // public void cleanAllActivity() {
try { // try {
Class<?> activityThreadClass = mContext.getClass().getClassLoader().loadClass("android.app.ActivityThread"); // Class<?> activityThreadClass = mContext.getClass().getClassLoader().loadClass("android.app.ActivityThread");
//
Field sCurrentActivityThreadField = activityThreadClass.getDeclaredField("sCurrentActivityThread"); // Field sCurrentActivityThreadField = activityThreadClass.getDeclaredField("sCurrentActivityThread");
sCurrentActivityThreadField.setAccessible(true); // sCurrentActivityThreadField.setAccessible(true);
Object sCurrentActivityThread = sCurrentActivityThreadField.get(activityThreadClass); // Object sCurrentActivityThread = sCurrentActivityThreadField.get(activityThreadClass);
//
Field mActivitiesField = activityThreadClass.getDeclaredField("mActivities"); // Field mActivitiesField = activityThreadClass.getDeclaredField("mActivities");
mActivitiesField.setAccessible(true); // mActivitiesField.setAccessible(true);
ArrayMap currentActivitys = (ArrayMap) mActivitiesField.get(sCurrentActivityThread); // ArrayMap currentActivitys = (ArrayMap) mActivitiesField.get(sCurrentActivityThread);
//
for (Object value : currentActivitys.values()) { // for (Object value : currentActivitys.values()) {
Field activityField = value.getClass().getDeclaredField("activity"); // Field activityField = value.getClass().getDeclaredField("activity");
activityField.setAccessible(true); // activityField.setAccessible(true);
Activity activity = (Activity) activityField.get(value); // Activity activity = (Activity) activityField.get(value);
//
if (activity == null) { // if (activity == null) {
continue; // continue;
} // }
//
LogUtil.d(TAG + "clean all activity name=" + activity.getClass().getName()); // LogUtil.d(TAG + "clean all activity name=" + activity.getClass().getName());
activity.finishAndRemoveTask(); // activity.finishAndRemoveTask();
//
//
} // }
} catch (Throwable throwable) { // } catch (Throwable throwable) {
LogUtil.d(TAG, " clean all e :" + Log.getStackTraceString(throwable)); // LogUtil.d(TAG, " clean all e :" + Log.getStackTraceString(throwable));
} // }
} // }
private Application.ActivityLifecycleCallbacks mLifecycleCallbacks = new Application.ActivityLifecycleCallbacks() { private Application.ActivityLifecycleCallbacks mLifecycleCallbacks = new Application.ActivityLifecycleCallbacks() {
......
package com.zl.sdk.ad; package com.zl.sdk.ad;
import android.annotation.SuppressLint;
import android.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.os.Handler; import android.os.Handler;
...@@ -26,6 +25,17 @@ import java.util.Map; ...@@ -26,6 +25,17 @@ import java.util.Map;
public final class TopOnAdLoadManager { public final class TopOnAdLoadManager {
public static final String TAG = "OutShow TopOnAdLoadManager"; public static final String TAG = "OutShow TopOnAdLoadManager";
private TopOnAdLoadManager() {
mContext = OutHelp.get().getContext();
}
private static final TopOnAdLoadManager INSTANCE = new TopOnAdLoadManager();
public static TopOnAdLoadManager getInstance() {
return INSTANCE;
}
public static final String REGISTER_TAG_WEATHER_PURE_AD = "PureAdDialog"; public static final String REGISTER_TAG_WEATHER_PURE_AD = "PureAdDialog";
private Context mContext; private Context mContext;
private final HashMap<String, AdCacheData> adCacheDataMap = new HashMap<>(); private final HashMap<String, AdCacheData> adCacheDataMap = new HashMap<>();
...@@ -33,8 +43,7 @@ public final class TopOnAdLoadManager { ...@@ -33,8 +43,7 @@ public final class TopOnAdLoadManager {
private final HashMap<String, WeakReference<OnInAdListener>> interstitialListenerHashMap = new HashMap<>(); private final HashMap<String, WeakReference<OnInAdListener>> interstitialListenerHashMap = new HashMap<>();
private final HashMap<String, Boolean> flagLoadMap = new HashMap<>(); private final HashMap<String, Boolean> flagLoadMap = new HashMap<>();
// private Handler cleanActivityHandler = new Handler();
private Handler cleanActivityHandler = new Handler();
private TopOnAdInterstitialCallBack adInterstitialCallBack = new TopOnAdInterstitialCallBack() { private TopOnAdInterstitialCallBack adInterstitialCallBack = new TopOnAdInterstitialCallBack() {
...@@ -62,11 +71,11 @@ public final class TopOnAdLoadManager { ...@@ -62,11 +71,11 @@ public final class TopOnAdLoadManager {
callInterstitialAdShow(); callInterstitialAdShow();
countAdShowTimes(adData); countAdShowTimes(adData);
cleanActivityHandler.removeCallbacksAndMessages(null); // cleanActivityHandler.removeCallbacksAndMessages(null);
cleanActivityHandler.postDelayed(() -> { // cleanActivityHandler.postDelayed(() -> {
LogUtil.d(TAG, "clean all activity 111"); // LogUtil.d(TAG, "clean all activity 111");
OutHelp.get().cleanAllActivity(); // OutHelp.get().cleanAllActivity();
}, 20 * 1000); // }, 20 * 1000);
} }
@Override @Override
...@@ -76,7 +85,7 @@ public final class TopOnAdLoadManager { ...@@ -76,7 +85,7 @@ public final class TopOnAdLoadManager {
adCacheDataMap.remove(adUnitId); adCacheDataMap.remove(adUnitId);
callInterstitialCloseAd(); callInterstitialCloseAd();
cleanActivityHandler.removeCallbacksAndMessages(null); // cleanActivityHandler.removeCallbacksAndMessages(null);
} }
@Override @Override
...@@ -85,7 +94,7 @@ public final class TopOnAdLoadManager { ...@@ -85,7 +94,7 @@ public final class TopOnAdLoadManager {
flagLoadMap.put(adUnitId, true); flagLoadMap.put(adUnitId, true);
callInterstitialAdClk(); callInterstitialAdClk();
cleanActivityHandler.removeCallbacksAndMessages(null); // cleanActivityHandler.removeCallbacksAndMessages(null);
} }
@Override @Override
...@@ -105,7 +114,7 @@ public final class TopOnAdLoadManager { ...@@ -105,7 +114,7 @@ public final class TopOnAdLoadManager {
topOnInterstitialAdLoad.destroy(showAdBean); topOnInterstitialAdLoad.destroy(showAdBean);
callInterstitialCloseAd(); callInterstitialCloseAd();
cleanActivityHandler.removeCallbacksAndMessages(null); // cleanActivityHandler.removeCallbacksAndMessages(null);
} }
@Override @Override
...@@ -120,23 +129,11 @@ public final class TopOnAdLoadManager { ...@@ -120,23 +129,11 @@ public final class TopOnAdLoadManager {
@Override @Override
public void adVideoEnd(String adUnitId) { public void adVideoEnd(String adUnitId) {
LogUtil.d(TAG, "clean all activity 222"); // LogUtil.d(TAG, "clean all activity 222");
OutHelp.get().cleanAllActivity(); // OutHelp.get().cleanAllActivity();
} }
}; };
private TopOnAdLoadManager() {
mContext = OutHelp.get().getContext();
}
private static class Holder {
@SuppressLint("StaticFieldLeak")
private static final TopOnAdLoadManager INSTANCE = new TopOnAdLoadManager();
}
public static TopOnAdLoadManager getInstance() {
return Holder.INSTANCE;
}
public Object getAdCacheData(String adUnitId) { public Object getAdCacheData(String adUnitId) {
if (TextUtils.isEmpty(adUnitId)) { if (TextUtils.isEmpty(adUnitId)) {
......
...@@ -13,7 +13,6 @@ import com.zl.sdk.ad.AdDataManager; ...@@ -13,7 +13,6 @@ import com.zl.sdk.ad.AdDataManager;
import com.zl.sdk.ad.TopOnAdLoadManager; import com.zl.sdk.ad.TopOnAdLoadManager;
import com.zl.sdk.bean.OutAdData; import com.zl.sdk.bean.OutAdData;
import com.zl.sdk.bean.RemindersInfo; import com.zl.sdk.bean.RemindersInfo;
import com.zl.sdk.event.DialogFailReason;
import com.zl.sdk.event.EventUtils; import com.zl.sdk.event.EventUtils;
import com.zl.sdk.event.statistics.AdScenes; import com.zl.sdk.event.statistics.AdScenes;
import com.zl.sdk.event.statistics.Statistics; import com.zl.sdk.event.statistics.Statistics;
...@@ -33,12 +32,10 @@ public class OutAdManager extends BaseOutShowManager { ...@@ -33,12 +32,10 @@ public class OutAdManager extends BaseOutShowManager {
private OutAdManager() { private OutAdManager() {
} }
private static class Holder {
private static final OutAdManager INSTANCE = new OutAdManager(); private static final OutAdManager INSTANCE = new OutAdManager();
}
public static OutAdManager get() { public static OutAdManager get() {
return Holder.INSTANCE; return INSTANCE;
} }
private static final String TAG = "OutShow OutAdManager --> "; private static final String TAG = "OutShow OutAdManager --> ";
...@@ -395,7 +392,7 @@ public class OutAdManager extends BaseOutShowManager { ...@@ -395,7 +392,7 @@ public class OutAdManager extends BaseOutShowManager {
OutAdData.NormalAdData localData = getAdData(); OutAdData.NormalAdData localData = getAdData();
if (localData != null if (localData != null
&& CheckHelper.checkAdCanShowByScene(actionFrom.getAction(),EventUtils.SCENES_CHECK) && CheckHelper.checkAdCanShowByScene(actionFrom.getAction(), EventUtils.SCENES_CHECK)
&& CheckHelper.checkCanShowAdByTimesFromAdData(localData, -1, EventUtils.SCENES_CHECK) && CheckHelper.checkCanShowAdByTimesFromAdData(localData, -1, EventUtils.SCENES_CHECK)
&& !CheckHelper.checkAdReady(localData, EventUtils.SCENES_CHECK)) { && !CheckHelper.checkAdReady(localData, EventUtils.SCENES_CHECK)) {
LogUtil.d(TAG); LogUtil.d(TAG);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment