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);
        }
    }
}