Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,12 @@

import android.os.Looper;

import com.crosspromotion.sdk.utils.BidderToken;

public class BidderTokenProvider {

public static String getBidderToken() {
if (Looper.myLooper() == Looper.getMainLooper()) {
throw new IllegalThreadStateException("Method getBidderToken must be called from worker thread," +
"currently inferred thread is main thread.");
throw new IllegalThreadStateException("Method getBidderToken must be called from worker thread," + "currently inferred thread is main thread.");
}
return BidderToken.getBidToken();
return "";
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
import com.openmediation.sdk.bid.BidAuctionManager;
import com.openmediation.sdk.bid.BidResponse;
import com.openmediation.sdk.mediation.Callback;
import com.openmediation.sdk.utils.ActLifecycle;
import com.openmediation.sdk.utils.AdLog;
import com.openmediation.sdk.utils.AdRateUtil;
import com.openmediation.sdk.utils.AdsUtil;
Expand All @@ -30,6 +29,7 @@
import com.openmediation.sdk.utils.error.ErrorCode;
import com.openmediation.sdk.utils.helper.LrReportHelper;
import com.openmediation.sdk.utils.helper.WaterFallHelper;
import com.openmediation.sdk.utils.lifecycle.ActLifecycle;
import com.openmediation.sdk.utils.model.BaseInstance;
import com.openmediation.sdk.utils.model.Instance;
import com.openmediation.sdk.utils.model.MediationRule;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
import com.openmediation.sdk.bid.BidResponse;
import com.openmediation.sdk.core.runnable.AdsScheduleTask;
import com.openmediation.sdk.mediation.CustomAdsAdapter;
import com.openmediation.sdk.utils.ActLifecycle;
import com.openmediation.sdk.utils.AdLog;
import com.openmediation.sdk.utils.AdRateUtil;
import com.openmediation.sdk.utils.AdapterUtil;
Expand All @@ -38,6 +37,7 @@
import com.openmediation.sdk.utils.event.EventUploadManager;
import com.openmediation.sdk.utils.helper.LrReportHelper;
import com.openmediation.sdk.utils.helper.WaterFallHelper;
import com.openmediation.sdk.utils.lifecycle.ActLifecycle;
import com.openmediation.sdk.utils.model.BaseInstance;
import com.openmediation.sdk.utils.model.Instance;
import com.openmediation.sdk.utils.model.MediationRule;
Expand Down Expand Up @@ -176,7 +176,6 @@ protected void loadInsAndSendEvent(Instance instance) {
@Override
public void onResume(Activity activity) {
if (Preconditions.checkNotNull(activity)) {
mActivityReference = new WeakReference<>(activity);
if (mTotalIns != null && !mTotalIns.isEmpty()) {
for (Instance in : mTotalIns) {
in.onResume(activity);
Expand All @@ -188,7 +187,6 @@ public void onResume(Activity activity) {
@Override
public void onPause(Activity activity) {
if (Preconditions.checkNotNull(activity)) {
mActivityReference = new WeakReference<>(activity);
if (mTotalIns != null && !mTotalIns.isEmpty()) {
for (Instance in : mTotalIns) {
in.onPause(activity);
Expand Down Expand Up @@ -534,8 +532,11 @@ public void onRequestSuccess(Response response) {
if (c2SInstances == null || c2SInstances.isEmpty()) {
startLoadAd(clInfo, null);
} else {
BidAuctionManager.getInstance().c2sBid(mActivityReference.get(), c2SInstances, mPlacement.getId(), mReqId, mPlacement.getT(),
AbstractAdsManager.this);
Activity activity = getActivity();
if (isActValid(activity)){
BidAuctionManager.getInstance().c2sBid(activity, c2SInstances, mPlacement.getId(), mReqId, mPlacement.getT(),
AbstractAdsManager.this);
}
}
} catch (Exception e) {
Error error = ErrorBuilder.build(ErrorCode.CODE_LOAD_SERVER_ERROR
Expand Down Expand Up @@ -656,8 +657,11 @@ private void delayLoad(final OmManager.LOAD_TYPE type) {
internalLoad(null, InsUtil.getInstanceList(mPlacement));
return;
}
BidAuctionManager.getInstance().s2sBid(mActivityReference.get(), mPlacement.getId(), mReqId, mPlacement.getT(),
AbstractAdsManager.this);
Activity activity = getActivity();
if (isActValid(activity)) {
BidAuctionManager.getInstance().s2sBid(activity, mPlacement.getId(), mReqId, mPlacement.getT(),
AbstractAdsManager.this);
}
} catch (Exception e) {
Error error = ErrorBuilder.build(ErrorCode.CODE_LOAD_INVALID_REQUEST
, ErrorCode.MSG_LOAD_INVALID_REQUEST, ErrorCode.CODE_LOAD_UNKNOWN_INTERNAL_ERROR);
Expand Down Expand Up @@ -840,12 +844,9 @@ private void checkShouldLoadsWhenClose() {
* @return activity's availability
*/
private boolean checkActRef() {
if (!DeviceUtil.isActivityAvailable(mActivityReference.get())) {
Activity activity = ActLifecycle.getInstance().getActivity();
if (activity == null) {
return false;
}
mActivityReference = new WeakReference<>(activity);
Activity activity = getActivity();
if (!DeviceUtil.isActivityAvailable(activity)) {
return ActLifecycle.getInstance().getActivity() == null;
}
return true;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,39 @@
package com.openmediation.sdk.core;

import android.app.Activity;
import android.os.Build;

import com.openmediation.sdk.utils.ActLifecycle;
import com.openmediation.sdk.utils.lifecycle.ActLifecycle;
import com.openmediation.sdk.utils.error.Error;
import com.openmediation.sdk.utils.model.Instance;
import com.openmediation.sdk.utils.model.Placement;
import com.openmediation.sdk.utils.model.PlacementInfo;

import java.lang.ref.WeakReference;
import java.util.Map;

/**
* The type Ads api.
*/
public abstract class AdsApi {
protected WeakReference<Activity> mActivityReference = new WeakReference<>(null);

/**
* changed By ZJJ on 21.3.18
* Obtaining an Activity should not use weak references as a continuously accessible object,
* which is easy to cause NullPointer, especially on low configuration devices
* The use of WeakReference is wrong.
* The reference from the weak reference get() is still bound to the strong reference when it is passed into the method for use.
*/
protected Activity getActivity() throws NullPointerException {
return ActLifecycle.getInstance().getActivity();
}

/**
* changed By ZJJ on 21.3.18
* Check whether an activity is valid
*/
protected boolean isActValid(Activity activity) {
return activity != null && !((Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1 && activity.isDestroyed()) || activity.isFinishing());
}

/**
* Returns placement info for the ad type
Expand All @@ -32,11 +50,7 @@ public abstract class AdsApi {
*
* @param instance the instance
*/
protected void initInsAndSendEvent(Instance instance) {
if (mActivityReference == null || mActivityReference.get() == null) {
mActivityReference = new WeakReference<Activity>(ActLifecycle.getInstance().getActivity());
}
}
protected void initInsAndSendEvent(Instance instance) { }

/**
* Checks if an instance is available
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
import com.openmediation.sdk.InitConfiguration;
import com.openmediation.sdk.bid.BidAuctionManager;
import com.openmediation.sdk.utils.AFManager;
import com.openmediation.sdk.utils.ActLifecycle;
import com.openmediation.sdk.utils.AdLog;
import com.openmediation.sdk.utils.AdtUtil;
import com.openmediation.sdk.utils.DeveloperLog;
Expand All @@ -31,6 +30,7 @@
import com.openmediation.sdk.utils.event.EventId;
import com.openmediation.sdk.utils.event.EventUploadManager;
import com.openmediation.sdk.utils.helper.ConfigurationHelper;
import com.openmediation.sdk.utils.lifecycle.ActLifecycle;
import com.openmediation.sdk.utils.model.Configurations;
import com.openmediation.sdk.utils.request.network.Request;
import com.openmediation.sdk.utils.request.network.Response;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@

package com.openmediation.sdk.core.imp.interstitialad;

import android.app.Activity;

import com.openmediation.sdk.bid.BidAuctionManager;
import com.openmediation.sdk.utils.model.Instance;
import com.openmediation.sdk.core.OmManager;
import com.openmediation.sdk.interstitial.InterstitialAdListener;
Expand Down Expand Up @@ -70,7 +73,10 @@ protected void initInsAndSendEvent(Instance instance) {
}
IsInstance isInstance = (IsInstance) instance;
isInstance.setIsManagerListener(this);
isInstance.initIs(mActivityReference.get());
Activity activity = getActivity();
if (isActValid(activity)){
isInstance.initIs(activity);
}
}

@Override
Expand All @@ -83,13 +89,19 @@ protected boolean isInsAvailable(Instance instance) {

@Override
protected void insShow(final Instance instance) {
((IsInstance) instance).showIs(mActivityReference.get(), mScene);
Activity activity = getActivity();
if (isActValid(activity)){
((IsInstance) instance).showIs(activity, mScene);
}
}

@Override
protected void insLoad(Instance instance, Map<String, Object> extras) {
IsInstance isInstance = (IsInstance) instance;
isInstance.loadIs(mActivityReference.get(), extras);
Activity activity = getActivity();
if (isActValid(activity)){
isInstance.loadIs(activity, extras);
}
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,10 @@ protected void initInsAndSendEvent(Instance instance) {
}
CpInstance cpInstance = (CpInstance) instance;
cpInstance.setCpManagerListener(this);
cpInstance.initCp(mActivityReference.get());
Activity activity = getActivity();
if (isActValid(activity)){
cpInstance.initCp(activity);
}
}

@Override
Expand All @@ -110,15 +113,20 @@ protected boolean isInsAvailable(Instance instance) {
protected void insShow(Instance instance) {
if (instance instanceof CpInstance) {
mShowingInstance = (CpInstance) instance;
Activity activity = mActRefs == null ? mActivityReference.get() : mActRefs.get();
mShowingInstance.showCp(activity, mRect, mScene);
Activity activity = getActivity();
if (isActValid(activity)){
mShowingInstance.showCp(activity, mRect, mScene);
}
}
}

@Override
protected void insLoad(Instance instance, Map<String, Object> extras) {
CpInstance cpInstance = (CpInstance) instance;
cpInstance.loadCp(mActivityReference.get(), extras);
Activity activity = getActivity();
if (isActValid(activity)){
cpInstance.loadCp(activity, extras);
}
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@

package com.openmediation.sdk.core.imp.rewardedvideo;

import android.app.Activity;

import com.openmediation.sdk.utils.SceneUtil;
import com.openmediation.sdk.utils.model.Instance;
import com.openmediation.sdk.mediation.MediationRewardVideoListener;
Expand Down Expand Up @@ -85,7 +87,10 @@ protected void initInsAndSendEvent(Instance instance) {
}
RvInstance rvInstance = (RvInstance) instance;
rvInstance.setRvManagerListener(this);
rvInstance.initRv(mActivityReference.get());
Activity activity = getActivity();
if (isActValid(activity)){
rvInstance.initRv(activity);
}
}

@Override
Expand All @@ -98,13 +103,19 @@ protected boolean isInsAvailable(Instance instance) {

@Override
protected void insShow(final Instance instance) {
((RvInstance) instance).showRv(mActivityReference.get(), mScene);
Activity activity = getActivity();
if (isActValid(activity)){
((RvInstance) instance).showRv(activity, mScene);
}
}

@Override
protected void insLoad(Instance instance, Map<String, Object> extras) {
RvInstance rvInstance = (RvInstance) instance;
rvInstance.loadRv(mActivityReference.get(), extras);
Activity activity = getActivity();
if (isActValid(activity)){
rvInstance.loadRv(activity, extras);
}
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@

import com.openmediation.sdk.core.OmManager;
import com.openmediation.sdk.splash.SplashAdListener;
import com.openmediation.sdk.utils.ActLifecycle;
import com.openmediation.sdk.utils.AdsUtil;
import com.openmediation.sdk.utils.PlacementUtils;
import com.openmediation.sdk.utils.constant.CommonConstants;
import com.openmediation.sdk.utils.event.EventId;
import com.openmediation.sdk.utils.lifecycle.ActLifecycle;
import com.openmediation.sdk.utils.model.Placement;

import java.util.concurrent.ConcurrentHashMap;
Expand Down
Loading