智能工厂.apk(点击下载) / c.java


package cn.jiguang.ak;

import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.pm.ServiceInfo;
import android.net.Uri;
import android.os.Bundle;
import android.text.TextUtils;
import cn.jiguang.af.a;
import cn.jiguang.aj.b;
import cn.jiguang.o.d;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import me.leolin.shortcutbadger.impl.NewHtcHomeBadger;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

public class c {
    public static Bundle a(HashMap<String, String> hashMap) {
        if (hashMap == null || hashMap.isEmpty()) {
            return null;
        }
        Bundle bundle = new Bundle();
        for (String str : hashMap.keySet()) {
            bundle.putString(str, hashMap.get(str));
        }
        return bundle;
    }

    public static cn.jiguang.aj.c a(Context context, String str) {
        try {
            return new cn.jiguang.aj.c(str, "", context.getPackageManager().getApplicationInfo(str, 0).targetSdkVersion);
        } catch (Throwable th) {
            a.d("JWakeHelper", "getWakeTarget throwable:" + th.getMessage());
            return null;
        }
    }

    public static String a(List<cn.jiguang.aj.c> list) {
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < list.size(); i++) {
            String str = list.get(i).a;
            String str2 = list.get(i).b;
            sb.append(str);
            sb.append("|");
            sb.append(str2);
            sb.append("$");
        }
        return sb.toString();
    }

    public static HashMap<String, cn.jiguang.aj.c> a(Context context) {
        cn.jiguang.aj.c a;
        try {
            HashMap<String, cn.jiguang.aj.c> hashMap = new HashMap<>();
            PackageManager packageManager = context.getPackageManager();
            Intent intent = new Intent();
            intent.setAction("cn.jpush.android.intent.DaemonService");
            List<ResolveInfo> queryIntentServices = packageManager.queryIntentServices(intent, 0);
            if (queryIntentServices != null) {
                if (queryIntentServices.size() != 0) {
                    for (int i = 0; i < queryIntentServices.size(); i++) {
                        ServiceInfo serviceInfo = queryIntentServices.get(i).serviceInfo;
                        String str = serviceInfo.name;
                        String str2 = serviceInfo.packageName;
                        if (!(str == null || str2 == null || TextUtils.isEmpty(str))) {
                            if (!TextUtils.isEmpty(str2)) {
                                if (serviceInfo.exported && serviceInfo.enabled && !context.getPackageName().equals(str2) && (a = a.a(context, packageManager, str2, str)) != null) {
                                    a.a("JWakeHelper", "wakeTarget:" + a.toString());
                                    hashMap.put(a.a, a);
                                }
                            }
                        }
                    }
                    return hashMap;
                }
            }
            return null;
        } catch (Throwable th) {
            a.d("JWakeHelper", "getWakeTargetMap throwable:" + th.getMessage());
            return null;
        }
    }

    public static List<cn.jiguang.aj.c> a(Context context, List<cn.jiguang.aj.c> list) {
        if (list == null || list.isEmpty()) {
            return null;
        }
        for (int i = 0; i < list.size(); i++) {
            try {
                list.get(i).c = context.getPackageManager().getApplicationInfo(list.get(i).a, 128).targetSdkVersion;
            } catch (Throwable unused) {
            }
        }
        return list;
    }

    public static List<String> a(cn.jiguang.aj.a aVar, List<String> list) {
        return aVar == null ? list : c(aVar, b(aVar, list));
    }

    public static List<cn.jiguang.aj.c> a(String str) {
        if (TextUtils.isEmpty(str)) {
            return null;
        }
        String[] split = str.split("\\$");
        ArrayList arrayList = new ArrayList();
        for (String str2 : split) {
            String[] split2 = str2.split("\\|");
            String str3 = split2[0];
            String str4 = split2[1];
            cn.jiguang.aj.c cVar = new cn.jiguang.aj.c();
            cVar.a = str3;
            cVar.b = str4;
            cVar.h = 1;
            arrayList.add(cVar);
        }
        return arrayList;
    }

    private static List<String> a(List<String> list, List<String> list2) {
        return a(list, list2, false);
    }

    private static List<String> a(List<String> list, List<String> list2, boolean z) {
        if (list == null || list.size() == 0) {
            return list2;
        }
        ArrayList arrayList = new ArrayList();
        for (String str : list2) {
            if (list.contains(str)) {
                if (z) {
                    a.a("JWakeHelper", str + " in the white list");
                    arrayList.add(str);
                } else {
                    a.a("JWakeHelper", str + " in the black list");
                }
            }
            if (!z) {
                a.a("JWakeHelper", str + " not in the global black list");
                arrayList.add(str);
            }
        }
        return arrayList;
    }

    private static JSONArray a(Context context, JSONArray jSONArray) {
        if (jSONArray != null) {
            try {
                if (jSONArray.length() > 0) {
                    HashMap hashMap = new HashMap();
                    int i = 0;
                    while (true) {
                        if (i >= jSONArray.length()) {
                            break;
                        }
                        JSONObject jSONObject = jSONArray.getJSONObject(i);
                        String optString = jSONObject.optString("type");
                        if ("android_awake2".equals(optString)) {
                            JSONArray optJSONArray = jSONObject.optJSONArray("target");
                            if (optJSONArray == null) {
                                break;
                            } else if (optJSONArray.length() <= 0) {
                                break;
                            } else {
                                for (int i2 = 0; i2 < optJSONArray.length(); i2++) {
                                    JSONObject optJSONObject = optJSONArray.optJSONObject(i2);
                                    String optString2 = optJSONObject.optString("package");
                                    int optInt = optJSONObject.optInt(NewHtcHomeBadger.COUNT);
                                    hashMap.put(optString2, hashMap.containsKey(optString2) ? Integer.valueOf(((Integer) hashMap.get(optString2)).intValue() + optInt) : Integer.valueOf(optInt));
                                }
                            }
                        } else {
                            a.d("JWakeHelper", "unkown type :" + optString);
                        }
                        i++;
                    }
                    JSONArray jSONArray2 = new JSONArray();
                    JSONArray jSONArray3 = new JSONArray();
                    for (Map.Entry entry : hashMap.entrySet()) {
                        JSONObject jSONObject2 = new JSONObject();
                        jSONObject2.put("package", entry.getKey());
                        jSONObject2.put(NewHtcHomeBadger.COUNT, entry.getValue());
                        jSONArray3.put(jSONObject2);
                    }
                    if (jSONArray3.length() > 0) {
                        JSONObject jSONObject3 = new JSONObject();
                        jSONObject3.put("target", jSONArray3);
                        jSONObject3.put("itime", d.h(context));
                        jSONObject3.put("type", "android_awake2");
                        jSONArray2.put(jSONObject3);
                    }
                    if (jSONArray2.length() > 0) {
                        return jSONArray2;
                    }
                }
            } catch (Throwable th) {
                a.e("JWakeHelper", "merge wake json failed:" + th.getMessage());
            }
        }
        return jSONArray;
    }

    public static void a(Context context, cn.jiguang.aj.a aVar, List<b> list) {
        if (aVar.t) {
            JSONObject b = b(list);
            a.a("JWakeHelper", "wake json:" + b);
            a(context, b);
            return;
        }
        a.d("JWakeHelper", "server set do not report wake data,give up save");
    }

    private static void a(Context context, JSONObject jSONObject) {
        if (jSONObject != null) {
            try {
                a.a("JWakeHelper", "save wake data : " + jSONObject.toString());
                jSONObject.put("itime", d.h(context));
                jSONObject.put("type", "android_awake2");
                synchronized ("wake_cache_v2.json") {
                    JSONObject a = cn.jiguang.v.c.a(context, "wake_cache_v2.json");
                    if (a == null) {
                        a = new JSONObject();
                    }
                    JSONArray optJSONArray = a.optJSONArray("content");
                    if (optJSONArray == null) {
                        optJSONArray = new JSONArray();
                    }
                    optJSONArray.put(jSONObject);
                    a.put("content", optJSONArray);
                    cn.jiguang.v.c.a(context, "wake_cache_v2.json", a);
                }
            } catch (Throwable th) {
                a.d("JWakeHelper", "saveWakeData failed:" + th.getMessage());
            }
        }
    }

    public static String b(HashMap<String, String> hashMap) {
        if (hashMap == null || hashMap.isEmpty()) {
            return null;
        }
        Uri.Builder builder = new Uri.Builder();
        for (String str : hashMap.keySet()) {
            builder.appendQueryParameter(str, hashMap.get(str));
        }
        return builder.toString();
    }

    private static List<String> b(cn.jiguang.aj.a aVar, List<String> list) {
        if (TextUtils.isEmpty(aVar.n) || aVar.n.equals("disable")) {
            return list;
        }
        List<String> list2 = aVar.o;
        String str = aVar.n;
        char c = 65535;
        int hashCode = str.hashCode();
        if (hashCode != -1321148966) {
            if (hashCode == 1942574248 && str.equals("include")) {
                c = 1;
            }
        } else if (str.equals("exclude")) {
            c = 0;
        }
        switch (c) {
            case 0:
                return a(list2, list);
            case 1:
                return b(list2, list);
            default:
                return list;
        }
    }

    private static List<String> b(List<String> list, List<String> list2) {
        return a(list, list2, true);
    }

    public static JSONArray b(Context context) {
        JSONObject a;
        synchronized ("wake_cache_v2.json") {
            a = cn.jiguang.v.c.a(context, "wake_cache_v2.json");
        }
        if (a == null) {
            a = new JSONObject();
        }
        JSONArray optJSONArray = a.optJSONArray("content");
        if (optJSONArray != null && optJSONArray.length() != 0) {
            return a(context, optJSONArray);
        }
        a.a("JWakeHelper", "no save data");
        return null;
    }

    private static JSONObject b(List<b> list) {
        if (list == null || list.size() == 0) {
            a.a("JWakeHelper", "wakeUpResult is empty, no need report");
            return null;
        }
        JSONArray jSONArray = new JSONArray();
        for (b bVar : list) {
            try {
                if (bVar.b != null) {
                    if (!bVar.b.isEmpty()) {
                        JSONObject jSONObject = new JSONObject();
                        jSONObject.put("package", bVar.a);
                        jSONObject.put(NewHtcHomeBadger.COUNT, bVar.b.size());
                        jSONArray.put(jSONObject);
                    }
                }
            } catch (Throwable th) {
                a.f("JWakeHelper", "formatReportData:" + th);
            }
        }
        JSONObject jSONObject2 = new JSONObject();
        try {
            jSONObject2.put("target", jSONArray);
        } catch (JSONException e) {
            e.printStackTrace();
        }
        return jSONObject2;
    }

    private static List<String> c(cn.jiguang.aj.a aVar, List<String> list) {
        return a(aVar.p, list);
    }

    public static void c(Context context) {
        synchronized ("wake_cache_v2.json") {
            cn.jiguang.v.c.a(context, "wake_cache_v2.json", (String) null);
        }
    }
}