GoooBet v1.0版本的 MD5 值为:ff9748f16167bfd7735b669c0a9931c5
以下内容为反编译后的 AvidLoader.java 源代码,内容仅作参考
package com.integralads.avid.library.mopub;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Handler;
import com.google.android.exoplayer2.SimpleExoPlayer;
import com.integralads.avid.library.mopub.DownloadAvidTask;
import com.integralads.avid.library.mopub.utils.NetworkUtils;
public class AvidLoader implements DownloadAvidTask.DownloadAvidTaskListener {
private static AvidLoader avidLoader = new AvidLoader();
private DownloadAvidTask activeTask;
private Context context;
private AvidLoaderListener listener;
private TaskRepeater taskRepeater;
private TaskExecutor taskExecutor = new TaskExecutor();
private final Runnable avidDownloadRunnable = new Runnable() {
@Override
public void run() {
if (AvidLoader.this.context == null || !NetworkUtils.isNetworkAvailable(AvidLoader.this.context)) {
AvidLoader.this.repeatLoading();
} else {
AvidLoader.this.loadAvidJSFromUrl();
}
}
};
public interface AvidLoaderListener {
void onAvidLoaded();
}
public static AvidLoader getInstance() {
return avidLoader;
}
public void registerAvidLoader(Context context) {
this.context = context;
this.taskRepeater = new TaskRepeater();
loadAvidJSFromUrl();
}
public void unregisterAvidLoader() {
TaskRepeater taskRepeater = this.taskRepeater;
if (taskRepeater != null) {
taskRepeater.cleanup();
this.taskRepeater = null;
}
this.listener = null;
this.context = null;
}
public void setListener(AvidLoaderListener avidLoaderListener) {
this.listener = avidLoaderListener;
}
public AvidLoaderListener getListener() {
return this.listener;
}
public void loadAvidJSFromUrl() {
if (AvidBridge.isAvidJsReady() || this.activeTask != null) {
return;
}
DownloadAvidTask downloadAvidTask = new DownloadAvidTask();
this.activeTask = downloadAvidTask;
downloadAvidTask.setListener(this);
this.taskExecutor.executeTask(this.activeTask);
}
public void repeatLoading() {
TaskRepeater taskRepeater = this.taskRepeater;
if (taskRepeater != null) {
taskRepeater.repeatLoading();
}
}
@Override
public void onLoadAvid(String str) {
this.activeTask = null;
AvidBridge.setAvidJs(str);
AvidLoaderListener avidLoaderListener = this.listener;
if (avidLoaderListener != null) {
avidLoaderListener.onAvidLoaded();
}
}
@Override
public void failedToLoadAvid() {
this.activeTask = null;
repeatLoading();
}
public class TaskExecutor {
public TaskExecutor() {
}
public void executeTask(DownloadAvidTask downloadAvidTask) {
if (Build.VERSION.SDK_INT >= 11) {
AvidLoader.this.activeTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, "https://mobile-static.adsafeprotected.com/avid-v2.js");
} else {
AvidLoader.this.activeTask.execute("https://mobile-static.adsafeprotected.com/avid-v2.js");
}
}
}
public class TaskRepeater {
private Handler handler = new Handler();
public TaskRepeater() {
}
public void repeatLoading() {
this.handler.postDelayed(AvidLoader.this.avidDownloadRunnable, SimpleExoPlayer.DEFAULT_DETACH_SURFACE_TIMEOUT_MS);
}
public void cleanup() {
this.handler.removeCallbacks(AvidLoader.this.avidDownloadRunnable);
}
}
}