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