package com.huawei.agconnect.core.a; import android.content.ComponentName; import android.content.Context; import android.content.pm.PackageManager; import android.content.pm.ServiceInfo; import android.os.Bundle; import android.util.Log; import com.huawei.agconnect.core.Service; import com.huawei.agconnect.core.ServiceDiscovery; import com.huawei.agconnect.core.ServiceRegistrar; import com.xiaomi.mipush.sdk.Constants; import java.io.Serializable; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; public class b { private final Context a; /* access modifiers changed from: private */ public static class a implements Serializable, Comparator<Map.Entry<String, Integer>> { private a() { } /* renamed from: a */ public int compare(Map.Entry<String, Integer> entry, Map.Entry<String, Integer> entry2) { return entry.getValue().intValue() - entry2.getValue().intValue(); } } b(Context context) { this.a = context; } private <T extends ServiceRegistrar> T a(String str) { String str2; String str3; StringBuilder sb; try { Class<?> cls = Class.forName(str); if (ServiceRegistrar.class.isAssignableFrom(cls)) { return (T) ((ServiceRegistrar) Class.forName(str).newInstance()); } Log.e("ServiceRegistrarParser", cls + " must extends from ServiceRegistrar."); return null; } catch (ClassNotFoundException e) { str2 = "Can not found service class, " + e.getMessage(); Log.e("ServiceRegistrarParser", str2); return null; } catch (InstantiationException e2) { sb = new StringBuilder("instantiate service class exception "); str3 = e2.getLocalizedMessage(); sb.append(str3); str2 = sb.toString(); Log.e("ServiceRegistrarParser", str2); return null; } catch (IllegalAccessException e3) { sb = new StringBuilder("instantiate service class exception "); str3 = e3.getLocalizedMessage(); sb.append(str3); str2 = sb.toString(); Log.e("ServiceRegistrarParser", str2); return null; } } private List<String> b() { StringBuilder sb; ArrayList arrayList = new ArrayList(); Bundle c = c(); if (c == null) { return arrayList; } HashMap hashMap = new HashMap(10); for (String str : c.keySet()) { if ("com.huawei.agconnect.core.ServiceRegistrar".equals(c.getString(str))) { String[] split = str.split(Constants.COLON_SEPARATOR); if (split.length == 2) { try { hashMap.put(split[0], Integer.valueOf(split[1])); } catch (NumberFormatException e) { sb = new StringBuilder("registrar configuration format error:"); str = e.getMessage(); } } else if (split.length == 1) { hashMap.put(split[0], 1000); } else { sb = new StringBuilder("registrar configuration error, "); sb.append(str); Log.e("ServiceRegistrarParser", sb.toString()); } } } ArrayList<Map.Entry> arrayList2 = new ArrayList(hashMap.entrySet()); Collections.sort(arrayList2, new a()); for (Map.Entry entry : arrayList2) { arrayList.add(entry.getKey()); } return arrayList; } private Bundle c() { PackageManager packageManager = this.a.getPackageManager(); if (packageManager == null) { return null; } try { ServiceInfo serviceInfo = packageManager.getServiceInfo(new ComponentName(this.a, ServiceDiscovery.class), 128); if (serviceInfo != null) { return serviceInfo.metaData; } Log.e("ServiceRegistrarParser", "Can not found ServiceDiscovery service."); return null; } catch (PackageManager.NameNotFoundException e) { Log.e("ServiceRegistrarParser", "get ServiceDiscovery exception." + e.getLocalizedMessage()); } } public List<Service> a() { Log.i("ServiceRegistrarParser", "getServices"); List<String> b = b(); ArrayList arrayList = new ArrayList(); for (String str : b) { ServiceRegistrar a2 = a(str); if (a2 != null) { a2.initialize(this.a); List<Service> services = a2.getServices(this.a); if (services != null) { arrayList.addAll(services); } } } Log.i("ServiceRegistrarParser", "services:" + Integer.valueOf(arrayList.size())); return arrayList; } }