Commit 9c8a0d92 authored by xujialang's avatar xujialang

修改:

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