翰林优商.apk(点击下载) / AbsMbridgeDownload.java


package com.mbridge.msdk.mbjscommon.windvane;

import android.net.Uri;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.text.TextUtils;
import android.util.Base64;
import com.baidu.mobads.sdk.internal.bf;
import com.mbridge.msdk.click.c;
import com.mbridge.msdk.foundation.entity.CampaignEx;
import com.mbridge.msdk.foundation.entity.DomainCampaignEx;
import com.mbridge.msdk.foundation.tools.w;
import com.mbridge.msdk.interstitial.view.MBInterstitialActivity;
import com.mbridge.msdk.out.IDownloadListener;
import java.io.File;
import java.util.HashMap;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

public abstract class AbsMbridgeDownload extends AbsFeedBackForH5 {
    private static final int HANDLER_WHAT_KEY = 1;
    private long DEFAULT_PROGRESS_NOTIFY_INTERVAL = 2000;
    private String JSON_KEY_AKDLUI = DomainCampaignEx.JSON_KEY_AKDLUI;
    private String JSON_KEY_CAMPAIGN = MBInterstitialActivity.INTENT_CAMAPIGN;
    private String JSON_KEY_DOWNLOAD_PROGRESS_NOTIFY_INTERVAL = "progressNotifyInterval";
    private String JSON_KEY_PACKAGE_NAME = "packageName";
    private String JSON_KEY_PROGRESS = "progress";
    private String JSON_KEY_STATUS = "status";
    private String JSON_KEY_UNIQUE = "uniqueKey";
    private String JSON_KEY_URL = "apkURL";
    private String TAG = "MbridgeDownload";
    private boolean canNotifyProgress = true;
    private Object currentObject;
    private String downloadUrl;
    private Handler handler = new Handler(Looper.getMainLooper()) {
        /* class com.mbridge.msdk.mbjscommon.windvane.AbsMbridgeDownload.AnonymousClass1 */

        public final void handleMessage(Message message) {
            super.handleMessage(message);
            if (message.what == 1) {
                AbsMbridgeDownload.this.canNotifyProgress = true;
            }
        }
    };
    private HashMap<String, IDownloadListener> keyListenerMap = new HashMap<>();
    private int mProgress;
    private int mStatus;
    private String packageName;
    private long progressNotifyInterval = 2000;
    private WindVaneWebView webView;

    private String statusIntToString(int i) {
        return i != 1 ? i != 2 ? (i == 5 || i == 6) ? CampaignEx.JSON_NATIVE_VIDEO_PAUSE : i != 8 ? i != 9 ? "undownload" : "installed" : "fail" : "downloading" : bf.o;
    }

    public abstract void sendNoticeAndCallBackClick(Object obj, String str);

    private IDownloadListener getiDownloadListenerByUniqueKey(final String str) {
        if (this.keyListenerMap.containsKey(str)) {
            return this.keyListenerMap.get(str);
        }
        AnonymousClass2 r0 = new IDownloadListener() {
            /* class com.mbridge.msdk.mbjscommon.windvane.AbsMbridgeDownload.AnonymousClass2 */

            @Override // com.mbridge.msdk.out.IDownloadListener
            public final void onStart() {
            }

            @Override // com.mbridge.msdk.out.IDownloadListener
            public final void onStatus(int i) {
                w.a("click control", "onStatus:" + i);
                if (AbsMbridgeDownload.this.mStatus != i) {
                    w.a("click control", "========onStatus:" + i);
                    AbsMbridgeDownload.this.mStatus = i;
                    AbsMbridgeDownload.this.onDownloadAPKStatusChange(i, str);
                }
            }

            @Override // com.mbridge.msdk.out.IDownloadListener
            public final void onProgressUpdate(int i) {
                w.a("click control", "onProgressUpdate:" + i);
                if (AbsMbridgeDownload.this.canNotifyProgress || (i == 100 && AbsMbridgeDownload.this.mProgress != i)) {
                    w.a("click control", "=============onProgressUpdate:" + i);
                    AbsMbridgeDownload.this.canNotifyProgress = false;
                    AbsMbridgeDownload.this.handler.sendEmptyMessageDelayed(1, AbsMbridgeDownload.this.progressNotifyInterval);
                    AbsMbridgeDownload.this.mProgress = i;
                    AbsMbridgeDownload.this.onDownloadAPKProgressChange(i, str);
                }
            }

            @Override // com.mbridge.msdk.out.IDownloadListener
            public final void onEnd(int i, int i2, String str) {
                String str2 = AbsMbridgeDownload.this.TAG;
                w.b(str2, "download listener onEnd result = " + i + " nid = " + i2 + " file = " + str);
                if (!TextUtils.isEmpty(str)) {
                    File file = new File(str);
                    if (file.exists()) {
                        c.a(AbsMbridgeDownload.this.mContext, Uri.fromFile(file), AbsMbridgeDownload.this.downloadUrl, str);
                    }
                }
            }
        };
        this.keyListenerMap.put(str, r0);
        return r0;
    }

    private String getUniqueKeyAndIntervalTimeFromCampaign(JSONObject jSONObject) {
        String str = "";
        if (jSONObject != null) {
            try {
                if (jSONObject.opt(this.JSON_KEY_AKDLUI) != null) {
                    str = jSONObject.getString(this.JSON_KEY_AKDLUI);
                }
                if (jSONObject.opt(this.JSON_KEY_DOWNLOAD_PROGRESS_NOTIFY_INTERVAL) != null) {
                    this.progressNotifyInterval = jSONObject.optLong(this.JSON_KEY_DOWNLOAD_PROGRESS_NOTIFY_INTERVAL, this.DEFAULT_PROGRESS_NOTIFY_INTERVAL);
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
        return str;
    }

    private String getUniqueKeyAndUrl(String str) throws JSONException {
        if (TextUtils.isEmpty(str)) {
            return "";
        }
        JSONObject jSONObject = new JSONObject(str);
        String string = jSONObject.getString(this.JSON_KEY_UNIQUE);
        this.downloadUrl = jSONObject.getString(this.JSON_KEY_URL);
        this.packageName = jSONObject.optString(this.JSON_KEY_PACKAGE_NAME);
        return string;
    }

    public void getMultipleDownloadAPKStatus(Object obj, String str) {
        String optString;
        JSONObject downloadStatus;
        this.currentObject = obj;
        if (!TextUtils.isEmpty(str)) {
            try {
                JSONObject jSONObject = new JSONObject(str);
                JSONArray jSONArray = new JSONArray();
                JSONArray optJSONArray = jSONObject.optJSONArray("downloaderList");
                if (optJSONArray == null) {
                    callbackExcep(obj, "downloaderList is null");
                } else if (optJSONArray.length() > 0) {
                    for (int i = 0; i < optJSONArray.length(); i++) {
                        JSONObject optJSONObject = optJSONArray.optJSONObject(i);
                        if (!(optJSONObject == null || (downloadStatus = getDownloadStatus(obj, (optString = optJSONObject.optString("uniqueKey")))) == null)) {
                            downloadStatus.put("uniqueKey", optString);
                            jSONArray.put(downloadStatus);
                        }
                    }
                } else {
                    callbackExcep(obj, "downloaderList is 0");
                }
                if (jSONArray.length() > 0) {
                    JSONObject jSONObject2 = new JSONObject();
                    jSONObject2.put("downloaderList", jSONArray);
                    callbackSuccessWithData(obj, jSONObject2);
                }
            } catch (Throwable th) {
                th.printStackTrace();
                callbackExcep(obj, th.getMessage());
            }
        } else {
            callbackExcep(obj, "params is null");
        }
    }

    public void getDownloadAPKStatus(Object obj, String str) {
        this.currentObject = obj;
        try {
            JSONObject downloadStatus = getDownloadStatus(obj, getUniqueKeyAndUrl(str));
            if (downloadStatus != null) {
                callbackSuccessWithData(obj, downloadStatus);
            }
        } catch (Throwable th) {
            th.printStackTrace();
            callbackExcep(obj, th.getMessage());
        }
    }

    private JSONObject getDownloadStatus(Object obj, String str) {
        try {
            this.currentObject = obj;
            if (!TextUtils.isEmpty(str)) {
                Class<?> cls = Class.forName("com.mbridge.msdk.mbdownload.manager.ADownloadManager");
                Object invoke = cls.getMethod("getInstance", new Class[0]).invoke(null, new Object[0]);
                int intValue = ((Integer) cls.getMethod("getTaskStatusByUniqueKey", String.class).invoke(invoke, str)).intValue();
                int intValue2 = ((Integer) cls.getMethod("getTaskProgressByUniqueKey", String.class).invoke(invoke, str)).intValue();
                JSONObject jSONObject = new JSONObject();
                jSONObject.put("status", statusIntToString(intValue));
                jSONObject.put("progress", intValue2);
                return jSONObject;
            }
            callbackExcep(obj, "uniqueKey is null");
            return null;
        } catch (Throwable th) {
            w.a(this.TAG, th.getMessage());
            callbackExcep(obj, th.getMessage());
        }
    }

    private void checkMustParamsAndFillDefaultIfNull(JSONObject jSONObject, String str, Object obj) {
        try {
            if (jSONObject.opt(str) == null) {
                jSONObject.put(str, obj);
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

    private void addMultipleDownloaderListener(Object obj, String str) {
        this.currentObject = obj;
        if (!TextUtils.isEmpty(str)) {
            try {
                JSONArray optJSONArray = new JSONObject(str).optJSONArray("akdluiList");
                if (optJSONArray == null) {
                    callbackExcep(obj, "akdluiList is null");
                } else if (optJSONArray.length() > 0) {
                    for (int i = 0; i < optJSONArray.length(); i++) {
                        addDownloadListening(obj, optJSONArray.optString(i));
                    }
                } else {
                    callbackExcep(obj, "akdluiList is 0");
                }
            } catch (JSONException e) {
                e.printStackTrace();
                callbackExcep(obj, e.getMessage());
            }
        }
    }

    public String addDownloaderListener(Object obj, String str) {
        w.d("=====AbsMbridgeDownload", "====before---params:" + str);
        this.currentObject = obj;
        if (!TextUtils.isEmpty(str)) {
            try {
                JSONObject jSONObject = new JSONObject(str);
                String uniqueKeyAndIntervalTimeFromCampaign = getUniqueKeyAndIntervalTimeFromCampaign(jSONObject);
                checkMustParamsAndFillDefaultIfNull(jSONObject, this.JSON_KEY_AKDLUI, "");
                checkMustParamsAndFillDefaultIfNull(jSONObject, DomainCampaignEx.JSON_KEY_ATAT_TYPE, 0);
                checkMustParamsAndFillDefaultIfNull(jSONObject, DomainCampaignEx.JSON_KEY_NTBARPASBL, 0);
                checkMustParamsAndFillDefaultIfNull(jSONObject, DomainCampaignEx.JSON_KEY_NTBARPT, 0);
                addDownloadListening(obj, uniqueKeyAndIntervalTimeFromCampaign);
                str = jSONObject.toString();
            } catch (JSONException e) {
                e.printStackTrace();
                callbackExcep(obj, e.getMessage());
            }
        }
        w.d("=====AbsMbridgeDownload", "====end--params:" + str);
        return str;
    }

    private void addDownloadListening(Object obj, String str) {
        if (!TextUtils.isEmpty(str)) {
            try {
                IDownloadListener iDownloadListener = getiDownloadListenerByUniqueKey(str);
                Class<?> cls = Class.forName("com.mbridge.msdk.mbdownload.manager.ADownloadManager");
                Object invoke = cls.getMethod("getInstance", new Class[0]).invoke(null, new Object[0]);
                cls.getMethod("addDownloadListener", String.class, IDownloadListener.class).invoke(invoke, str, iDownloadListener);
                callbackSuccess(obj);
            } catch (Throwable th) {
                w.a(this.TAG, th.getMessage());
                callbackExcep(obj, th.getMessage());
            }
        } else {
            callbackExcep(obj, "uniqueKey is null");
        }
    }

    public void restartDownloadAPK(Object obj, String str) {
        this.currentObject = obj;
        try {
            String uniqueKeyAndUrl = getUniqueKeyAndUrl(str);
            IDownloadListener iDownloadListener = getiDownloadListenerByUniqueKey(uniqueKeyAndUrl);
            Class<?> cls = Class.forName("com.mbridge.msdk.mbdownload.manager.ADownloadManager");
            Object invoke = cls.getMethod("getInstance", new Class[0]).invoke(null, new Object[0]);
            cls.getMethod("addDownloadListener", String.class, IDownloadListener.class).invoke(invoke, uniqueKeyAndUrl, iDownloadListener);
            cls.getMethod("start", String.class, String.class).invoke(invoke, uniqueKeyAndUrl, this.downloadUrl);
            parseActionEvent(obj, str);
            callbackSuccess(obj);
        } catch (Throwable th) {
            w.a(this.TAG, th.getMessage());
            callbackExcep(obj, th.getMessage());
        }
    }

    public void installAPK(Object obj, String str) {
        try {
            getUniqueKeyAndUrl(str);
            parseActionEvent(obj, str);
            callbackSuccess(obj);
        } catch (Throwable th) {
            w.a(this.TAG, th.getMessage());
            callbackExcep(obj, th.getMessage());
        }
    }

    public void activateAPK(Object obj, String str) {
        try {
            getUniqueKeyAndUrl(str);
            parseActionEvent(obj, str);
            callbackSuccess(obj);
        } catch (Exception e) {
            callbackExcep(obj, e.getMessage());
        }
    }

    public void pauseDownloadAPK(Object obj, String str) {
        try {
            String uniqueKeyAndUrl = getUniqueKeyAndUrl(str);
            Class<?> cls = Class.forName("com.mbridge.msdk.mbdownload.manager.ADownloadManager");
            Object invoke = cls.getMethod("getInstance", new Class[0]).invoke(null, new Object[0]);
            cls.getMethod(CampaignEx.JSON_NATIVE_VIDEO_PAUSE, String.class).invoke(invoke, uniqueKeyAndUrl);
            parseActionEvent(obj, str);
            callbackSuccess(obj);
        } catch (Throwable th) {
            w.a(this.TAG, th.getMessage());
            callbackExcep(obj, th.getMessage());
        }
    }

    /* access modifiers changed from: private */
    /* access modifiers changed from: public */
    private void onDownloadAPKStatusChange(int i, String str) {
        try {
            JSONObject jSONObject = new JSONObject();
            jSONObject.put(this.JSON_KEY_UNIQUE, str);
            jSONObject.put(this.JSON_KEY_URL, this.downloadUrl);
            jSONObject.put(this.JSON_KEY_STATUS, statusIntToString(i));
            final String encodeToString = Base64.encodeToString(jSONObject.toString().getBytes(), 2);
            Object obj = this.currentObject;
            if (obj instanceof a) {
                a aVar = (a) obj;
                if (aVar.a != null && !aVar.a.isDestoryed()) {
                    aVar.a.post(new Runnable() {
                        /* class com.mbridge.msdk.mbjscommon.windvane.AbsMbridgeDownload.AnonymousClass3 */

                        public final void run() {
                            h.a().a(AbsMbridgeDownload.this.currentObject, "onDownloadAPKStatusChange", encodeToString);
                        }
                    });
                }
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

    /* access modifiers changed from: private */
    /* access modifiers changed from: public */
    private void onDownloadAPKProgressChange(int i, String str) {
        try {
            JSONObject jSONObject = new JSONObject();
            jSONObject.put(this.JSON_KEY_UNIQUE, str);
            jSONObject.put(this.JSON_KEY_URL, this.downloadUrl);
            jSONObject.put(this.JSON_KEY_PROGRESS, i);
            final String encodeToString = Base64.encodeToString(jSONObject.toString().getBytes(), 2);
            Object obj = this.currentObject;
            if (obj instanceof a) {
                a aVar = (a) obj;
                if (aVar.a != null && !aVar.a.isDestoryed()) {
                    aVar.a.post(new Runnable() {
                        /* class com.mbridge.msdk.mbjscommon.windvane.AbsMbridgeDownload.AnonymousClass4 */

                        public final void run() {
                            h.a().a(AbsMbridgeDownload.this.currentObject, "onDownloadAPKProgressChange", encodeToString);
                        }
                    });
                }
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

    private void parseActionEvent(Object obj, String str) {
        try {
            if (!TextUtils.isEmpty(str)) {
                JSONObject jSONObject = new JSONObject(str);
                if (jSONObject.opt(this.JSON_KEY_CAMPAIGN) != null) {
                    sendNoticeAndCallBackClick(obj, jSONObject.getString(this.JSON_KEY_CAMPAIGN));
                }
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }
}