iKredit v1.2.0.3版本的 MD5 值为:2c00c5c79eecbd6be4c3c546c28d778d

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


package com.bqs.risk.df.android;

import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothManager;
import android.content.Context;
import android.content.IntentFilter;
import android.os.AsyncTask;
import android.os.Build;
import android.text.TextUtils;
import android.webkit.WebSettings;
import com.android.sdklibrary.model.GpsInfo;
import com.bqs.risk.df.android.i.f;
import com.bqs.risk.df.android.i.g;
import com.bqs.risk.df.android.i.i;
import com.bqs.risk.df.android.i.k;
import com.bqs.risk.df.android.i.l;
import com.bqs.risk.df.android.i.m;
import com.ikreditgp.activity.PermissionActivity;
import java.util.ArrayList;
import java.util.List;
import org.json.JSONObject;

public class BqsDF {
    private static volatile BqsDF a;
    private static List<OnBqsDFListener> b;
    private static List<OnGatherResultListener> c;
    private static List<OnGatherResultListener> d;
    private static com.bqs.risk.df.android.f.a f;
    private static com.bqs.risk.df.android.f.b g;
    private static BqsParams h;
    private static String i;
    private Context e;

    private static class a extends AsyncTask<Void, Void, String> {
        Context a;

        private a(Context context) {
            this.a = context;
        }

        @Override
        public String doInBackground(Void... voidArr) {
            try {
                return BqsDF.b(this.a);
            } catch (Exception e) {
                g.a(e);
                return "";
            }
        }

        @Override
        public void onPostExecute(String str) {
            super.onPostExecute(str);
            JSONObject jSONObject = new JSONObject();
            try {
                jSONObject.put("userAgent", str);
                new com.bqs.risk.df.android.h.d(this.a, jSONObject).start();
            } catch (Exception e) {
                g.a(e);
            }
        }
    }

    private BqsDF() {
        f = new com.bqs.risk.df.android.f.a();
        g = new com.bqs.risk.df.android.f.b();
        if (k.b(i)) {
            i = l.a();
        }
    }

    private static String a() {
        return System.getProperty("http.agent");
    }

    private void a(OnBqsDFCallRecordListener onBqsDFCallRecordListener) {
        if (d == null) {
            d = new ArrayList();
        }
        if (d.contains(onBqsDFCallRecordListener)) {
            return;
        }
        d.add(onBqsDFCallRecordListener);
    }

    private void a(OnBqsDFContactsListener onBqsDFContactsListener) {
        if (c == null) {
            c = new ArrayList();
        }
        if (c.contains(onBqsDFContactsListener)) {
            return;
        }
        c.add(onBqsDFContactsListener);
    }

    private void a(OnBqsDFListener onBqsDFListener) {
        if (b == null) {
            b = new ArrayList();
        }
        if (b.contains(onBqsDFListener)) {
            return;
        }
        b.add(onBqsDFListener);
    }

    public static String b(Context context) {
        String c2 = c(context);
        return TextUtils.isEmpty(c2) ? a() : c2;
    }

    private static String c(Context context) {
        if (Build.VERSION.SDK_INT < 17) {
            return null;
        }
        try {
            return WebSettings.getDefaultUserAgent(context);
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    public static BqsDF getInstance() {
        if (a == null) {
            synchronized (BqsDF.class) {
                if (a == null) {
                    a = new BqsDF();
                }
            }
        }
        return a;
    }

    public synchronized boolean canInitBqsSDK() {
        boolean z;
        long currentTimeMillis = System.currentTimeMillis();
        if (com.bqs.risk.df.android.b.a.d != 0 && com.bqs.risk.df.android.b.a.e != 0) {
            z = currentTimeMillis - com.bqs.risk.df.android.b.a.e >= ((long) com.bqs.risk.df.android.b.a.d);
        }
        return z;
    }

    public void commitContacts(List<ContactsBean> list) {
        if (a == null || a.e == null || h == null) {
            return;
        }
        boolean z = false;
        com.bqs.risk.df.android.b.a.k = false;
        String c2 = h.c();
        if (k.a(c2)) {
            c2 = h.isTestingEnv() ? "https://dfst.baiqishi.com/webdf/device/contacts" : "https://df.baiqishi.com/webdf/device/contacts";
        } else {
            z = true;
        }
        com.bqs.risk.df.android.b.a.j = list;
        new com.bqs.risk.df.android.h.c(a.e, c2, z, h.getPartnerId()).start();
    }

    public void commitContactsAndCallRecords(boolean z, boolean z2) {
        boolean z3;
        if (a == null || a.e == null || h == null) {
            return;
        }
        com.bqs.risk.df.android.b.a.k = true;
        boolean z4 = false;
        if (z && !com.bqs.risk.df.android.b.a.g) {
            String c2 = h.c();
            if (k.a(c2)) {
                c2 = h.isTestingEnv() ? "https://dfst.baiqishi.com/webdf/device/contacts" : "https://df.baiqishi.com/webdf/device/contacts";
                z3 = false;
            } else {
                z3 = true;
            }
            new com.bqs.risk.df.android.h.c(a.e, c2, z3, h.getPartnerId()).start();
            com.bqs.risk.df.android.b.a.g = true;
        }
        if (!z2 || com.bqs.risk.df.android.b.a.h) {
            return;
        }
        String e = h.e();
        if (k.a(e)) {
            e = h.isTestingEnv() ? "https://dfst.baiqishi.com/webdf/device/callRecords" : "https://df.baiqishi.com/webdf/device/callRecords";
        } else {
            z4 = true;
        }
        new com.bqs.risk.df.android.h.b(a.e, e, z4, h.getPartnerId()).start();
        com.bqs.risk.df.android.b.a.h = true;
    }

    public void commitLocation() {
        if (a == null || a.e == null) {
            return;
        }
        new f(a.e).b();
    }

    public void commitLocation(double d2, double d3) {
        if (a == null || a.e == null) {
            return;
        }
        JSONObject jSONObject = new JSONObject();
        try {
            jSONObject.put("latitude", d3);
            jSONObject.put(GpsInfo.COLUMNNAME_LONGITUDE, d2);
        } catch (Exception e) {
            g.a(e);
        }
        new com.bqs.risk.df.android.h.d(a.e, jSONObject).start();
    }

    public void destroy() {
        if (a != null) {
            i = null;
            com.bqs.risk.df.android.b.a.d = 0;
            com.bqs.risk.df.android.b.a.e = 0L;
            com.bqs.risk.df.android.b.a.f = false;
            com.bqs.risk.df.android.b.a.g = false;
            com.bqs.risk.df.android.b.a.h = false;
        }
    }

    public synchronized String getClientKey() {
        if (a == null) {
            return b.a((Context) null);
        }
        return b.a(a.e);
    }

    public List<OnGatherResultListener> getOnBqsDFCallRecordListener() {
        return d;
    }

    public List<OnGatherResultListener> getOnBqsDFContactsListener() {
        return c;
    }

    public List<OnBqsDFListener> getOnBqsDFListener() {
        return b;
    }

    public BqsParams getParams() {
        if (a == null) {
            return null;
        }
        return h;
    }

    public String[] getRuntimePermissions() {
        return getRuntimePermissions(true, false, false, true);
    }

    public String[] getRuntimePermissions(boolean z, boolean z2, boolean z3, boolean z4) {
        ArrayList arrayList = new ArrayList();
        arrayList.add(PermissionActivity.PERMISION_4);
        arrayList.add(PermissionActivity.PERMISION_2);
        if (z) {
            arrayList.add(PermissionActivity.PERMISION_0);
            arrayList.add(PermissionActivity.PERMISION_1);
        }
        if (z2) {
            arrayList.add(PermissionActivity.PERMISION_6);
        }
        if (z3) {
            arrayList.add("android.permission.READ_CALL_LOG");
        }
        if (z4) {
            arrayList.add(PermissionActivity.PERMISION_9);
        }
        return (String[]) arrayList.toArray(new String[0]);
    }

    public String getTokenKey() {
        if (k.b(i)) {
            i = l.a();
        }
        return i;
    }

    public void initialize(Context context, BqsParams bqsParams) {
        BluetoothManager bluetoothManager;
        BluetoothAdapter adapter;
        if (context == null) {
            g.a("Context不能为空");
            return;
        }
        if (bqsParams == null) {
            g.a("BqsParams不能为空");
            return;
        }
        if (com.bqs.risk.df.android.b.a.f) {
            return;
        }
        if (k.b(bqsParams.getPartnerId())) {
            g.a("partnerId参数错误");
            return;
        }
        if (!k.b(bqsParams.a())) {
            i = bqsParams.a();
        }
        this.e = context.getApplicationContext();
        h = bqsParams;
        if (bqsParams.b()) {
            new f(context.getApplicationContext()).b();
        }
        if (!canInitBqsSDK()) {
            List<OnBqsDFListener> onBqsDFListener = getInstance().getOnBqsDFListener();
            if (onBqsDFListener == null || onBqsDFListener.size() <= 0) {
                return;
            }
            for (OnBqsDFListener onBqsDFListener2 : onBqsDFListener) {
                if (onBqsDFListener2 != null) {
                    onBqsDFListener2.onSuccess(getInstance().getTokenKey());
                }
            }
            return;
        }
        com.bqs.risk.df.android.b.a.f = true;
        IntentFilter intentFilter = new IntentFilter();
        intentFilter.addAction("android.intent.action.BATTERY_CHANGED");
        intentFilter.setPriority(1000);
        IntentFilter intentFilter2 = new IntentFilter();
        intentFilter2.addAction("android.bluetooth.device.action.FOUND");
        intentFilter2.addAction("android.bluetooth.device.action.BOND_STATE_CHANGED");
        intentFilter2.addAction("android.bluetooth.adapter.action.DISCOVERY_FINISHED");
        intentFilter2.addAction("android.bluetooth.adapter.action.SCAN_MODE_CHANGED");
        intentFilter2.addAction("android.bluetooth.adapter.action.STATE_CHANGED");
        intentFilter2.setPriority(1000);
        try {
            a.e.registerReceiver(f, intentFilter);
            if (Build.VERSION.SDK_INT >= 18 && (bluetoothManager = (BluetoothManager) context.getSystemService("bluetooth")) != null && (adapter = bluetoothManager.getAdapter()) != null) {
                adapter.startDiscovery();
            }
            a.e.registerReceiver(g, intentFilter2);
        } catch (Exception e) {
            g.a(e);
        }
        new com.bqs.risk.df.android.e.d(a.e).d();
        new com.bqs.risk.df.android.h.d(a.e, null).start();
        commitContactsAndCallRecords(bqsParams.isGatherContact(), bqsParams.isGatherCallRecord());
        if (bqsParams.d()) {
            new i(context.getApplicationContext()).a();
        }
        new a(a.e).execute(new Void[0]);
        new m.a(a.e).execute(new Void[0]);
    }

    public void release() {
        if (d != null) {
            d = null;
        }
        if (b != null) {
            b = null;
        }
        if (c != null) {
            c = null;
        }
    }

    public void setOnBqsDFCallRecordListener(OnBqsDFCallRecordListener onBqsDFCallRecordListener) {
        List<OnGatherResultListener> list = d;
        if (list != null) {
            list.clear();
        }
        a(onBqsDFCallRecordListener);
    }

    public void setOnBqsDFContactsListener(OnBqsDFContactsListener onBqsDFContactsListener) {
        List<OnGatherResultListener> list = c;
        if (list != null) {
            list.clear();
        }
        a(onBqsDFContactsListener);
    }

    public void setOnBqsDFListener(OnBqsDFListener onBqsDFListener) {
        List<OnBqsDFListener> list = b;
        if (list != null) {
            list.clear();
        }
        a(onBqsDFListener);
    }
}