13Poker by gametower unlimited gems v0.4版本的 MD5 值为:51324fc0f195c34821074948ab266846

以下内容为反编译后的 ce.java 源代码,内容仅作参考


package com.flurry.android;

import android.content.Context;
import android.os.Looper;
import com.xbtsol.jynvrt161024.IVastConstant;
import java.io.IOException;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public final class ce {
    private static volatile String ei = null;
    private static volatile String ej = "http://data.flurry.com/aap.do";
    private static volatile String ek = "https://data.flurry.com/aap.do";
    private static boolean el = false;
    FlurryDataSenderIndex em;
    private String en;
    private String eo;
    Set<String> ep = new HashSet();
    private Context mContext;

    public ce(Context context, String str, String str2) {
        this.mContext = null;
        this.em = null;
        this.en = null;
        this.eo = null;
        if (Looper.myLooper() == Looper.getMainLooper()) {
            cy.d("FlurryDataSender", "FlurryDataSender constructor running on the MAIN thread!");
        }
        this.mContext = context;
        this.en = str;
        this.eo = str2;
        this.em = new FlurryDataSenderIndex(context, au());
        av();
    }

    public final void onNetworkStateChanged(boolean z) {
        if (z) {
            av();
        }
    }

    public static void setReportUrl(String str) {
        if (str != null) {
            str.endsWith(".do");
        }
        ei = str;
    }

    public static void setUseHttps(boolean z) {
        el = z;
    }

    public static boolean getUseHttps() {
        return el;
    }

    public final String au() {
        return "Data_" + this.en + "_" + this.eo;
    }

    public final void a(byte[] bArr) throws IOException {
        if (bArr == null || bArr.length == 0) {
            cy.d("FlurryDataSender", "Report that has to be sent is EMPTY or NULL");
            return;
        }
        String au = au();
        if (au != null) {
            FlurryDataSenderBlockInfo flurryDataSenderBlockInfo = new FlurryDataSenderBlockInfo(this.mContext);
            flurryDataSenderBlockInfo.setData(bArr);
            flurryDataSenderBlockInfo.getIdentifier();
            this.em.addBlockInfo(flurryDataSenderBlockInfo, au);
        }
        av();
    }

    public void av() {
        if (FlurryAgent.an != null && !FlurryAgent.an.getNetworkStatus()) {
            cy.g("FlurryDataSender", "Reports were not sent! No Internet connection!");
            return;
        }
        String au = au();
        List<String> notSentBlocksForDataKey = this.em.getNotSentBlocksForDataKey(au);
        if (notSentBlocksForDataKey != null && !notSentBlocksForDataKey.isEmpty()) {
            cy.e("FlurryDataSender", "Number of not sent blocks = " + notSentBlocksForDataKey.size());
            for (int i = 0; i < notSentBlocksForDataKey.size(); i++) {
                String str = notSentBlocksForDataKey.get(i);
                if (!this.ep.contains(str)) {
                    if (this.ep.size() <= 8) {
                        byte[] data = new FlurryDataSenderBlockInfo(this.mContext, str).getData();
                        if (data == null || data.length == 0) {
                            cy.d("FlurryDataSender", "Internal ERROR! Report is empty!");
                            this.em.removeBlockInfoWithIdentifier(str, au);
                        } else {
                            this.ep.add(str);
                            String str2 = ei != null ? ei : el ? ek : ej;
                            cy.e("FlurryDataSender", "FlurryDataSender: start upload data with id = " + str + " to " + str2);
                            HashMap hashMap = new HashMap();
                            hashMap.put("del", new cu(this));
                            hashMap.put("url", str2);
                            hashMap.put("data", data);
                            hashMap.put(IVastConstant.ID, str);
                            new FlurryDataSenderAsyncOperation().execute(hashMap);
                        }
                    } else {
                        return;
                    }
                }
            }
        }
    }
}