package com.netease.nimlib.s; import android.os.AsyncTask; import android.text.TextUtils; import androidx.core.os.EnvironmentCompat; import com.huawei.hms.support.hianalytics.HiAnalyticsConstant; import com.netease.nimlib.c; import com.netease.nimlib.f.g; import com.netease.nimlib.sdk.ServerAddresses; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.InetSocketAddress; import java.net.Socket; import java.util.ArrayList; import java.util.List; import java.util.concurrent.atomic.AtomicBoolean; import org.json.JSONArray; import org.json.JSONObject; /* compiled from: NetPing */ public class l { private static AtomicBoolean a = new AtomicBoolean(false); private a b = null; private l() { } public static void c() { try { StringBuilder sb = new StringBuilder(); sb.append("network info: "); sb.append("net_type=" + h() + ", " + "net_available=" + m.b(c.e()) + ", " + "net_connected=" + m.c(c.e())); com.netease.nimlib.l.b.b.a.c("NetPing", sb.toString()); } catch (Exception e) { e.printStackTrace(); } } /* access modifiers changed from: private */ public static List<String> g() { ArrayList arrayList = new ArrayList(); for (String str : com.netease.nimlib.net.a.b.a.a.a().b()) { String c = c(str); if (!arrayList.contains(c)) { arrayList.add(c); } } ServerAddresses l = c.l(); if (l == null) { arrayList.add(c(g.j())); arrayList.add(c(g.l())); arrayList.add(c("www.163.com")); } else { if (!TextUtils.isEmpty(l.nosUpload)) { arrayList.add(c(l.nosUpload)); } if (!TextUtils.isEmpty(l.nosDownload)) { arrayList.add(c(l.nosDownload)); } } return arrayList; } /* access modifiers changed from: private */ public static String h() { int k = m.k(c.e()); if (k == 1) { return "2g"; } if (k == 2) { return "3g"; } if (k == 3) { return "4g"; } return k == 10 ? "wifi" : EnvironmentCompat.MEDIA_UNKNOWN; } public static l a() { return new l(); } /* access modifiers changed from: private */ public static String d(String str) { StringBuilder sb = new StringBuilder(); try { Runtime runtime = Runtime.getRuntime(); Process exec = runtime.exec("ping -c 3 -w 15 " + str); if (exec.waitFor() == 0) { sb.append("ping " + str + " success\n"); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(exec.getInputStream())); while (true) { String readLine = bufferedReader.readLine(); if (readLine == null) { break; } sb.append(readLine + "\n"); } } else { com.netease.nimlib.l.b.b.a.c("NetPing", "unable to ping host, try socket connect..."); boolean a2 = a(str, 0); StringBuilder sb2 = new StringBuilder(); sb2.append("connect "); sb2.append(a2 ? "success" : "failed"); sb2.append("\n"); sb.append(sb2.toString()); } } catch (InterruptedException e) { e.printStackTrace(); } catch (IOException e2) { e2.printStackTrace(); } return sb.toString(); } /* access modifiers changed from: private */ public static JSONObject e(String str) { int indexOf; int indexOf2; JSONObject jSONObject = new JSONObject(); try { if (str.contains("0% packet loss")) { int indexOf3 = str.indexOf("/mdev = "); if (indexOf3 == -1 || (indexOf2 = str.indexOf(" ms\n", indexOf3)) == -1) { return null; } String[] split = str.substring(indexOf3 + 8, indexOf2).split("/"); if (split.length != 4) { return null; } jSONObject.put("min", Double.valueOf(split[0])); jSONObject.put("avg", Double.valueOf(split[1])); jSONObject.put("max", Double.valueOf(split[2])); jSONObject.put("mdev", Double.valueOf(split[3])); jSONObject.put("loss", 0); } else if (str.contains("100% packet loss")) { jSONObject.put("loss", 100); } else if (str.contains("% packet loss")) { int indexOf4 = str.indexOf("/mdev = "); if (indexOf4 == -1 || (indexOf = str.indexOf(" ms\n", indexOf4)) == -1) { return null; } String substring = str.substring(indexOf4 + 8, indexOf); String[] split2 = substring.split("/"); if (split2.length != 4) { return null; } int indexOf5 = substring.indexOf("% packet loss"); int indexOf6 = substring.indexOf("received"); if (indexOf5 == -1 || indexOf6 == -1) { return null; } String trim = substring.substring(indexOf6 + 10, indexOf5).trim(); jSONObject.put("min", Double.valueOf(split2[0])); jSONObject.put("avg", Double.valueOf(split2[1])); jSONObject.put("max", Double.valueOf(split2[2])); jSONObject.put("mdev", Double.valueOf(split2[3])); jSONObject.put("loss", Integer.valueOf(trim)); } else if (str.contains("connect") && str.contains("success")) { jSONObject.put("result", "connect success"); } else if (str.contains("failed")) { jSONObject.put("result", "failed"); } } catch (Exception e) { e.printStackTrace(); com.netease.nimlib.l.b.b.a.d("NetPing", "getPingStatus error", e); } return jSONObject; } public void b() { if (!m.b(c.e())) { com.netease.nimlib.l.b.b.a.c("NetPing", "unable to start ping, as network is unavailable"); } else if (a.get()) { com.netease.nimlib.l.b.b.a.c("NetPing", "cancel start ping, as net ping is running..."); } else if (this.b == null) { a aVar = new a(); this.b = aVar; aVar.execute(new Void[0]); a.set(true); } } private static boolean a(String str, int i) { boolean z; if (i == 0) { i = 80; } Socket socket = new Socket(); try { socket.connect(new InetSocketAddress(str, i), 15000); z = socket.isConnected(); try { socket.close(); } catch (IOException e) { e.printStackTrace(); } } catch (IOException e2) { e2.printStackTrace(); try { socket.close(); } catch (IOException e3) { e3.printStackTrace(); } z = false; } catch (Throwable th) { try { socket.close(); } catch (IOException e4) { e4.printStackTrace(); } throw th; } StringBuilder sb = new StringBuilder(); sb.append("socket connect "); sb.append(str); sb.append(z ? " success" : " failed!!!"); com.netease.nimlib.l.b.b.a.c("NetPing", sb.toString()); return z; } private static String c(String str) { int lastIndexOf = str.lastIndexOf(58); return lastIndexOf > 0 ? str.substring(0, lastIndexOf) : str; } /* access modifiers changed from: private */ /* compiled from: NetPing */ public static class a extends AsyncTask<Void, Void, Void> { private a() { } /* access modifiers changed from: protected */ /* renamed from: a */ public Void doInBackground(Void... voidArr) { List<String> g = l.g(); if (!(g == null || g.size() == 0)) { com.netease.nimlib.l.b.b.a.c("NetPing", "***** Net ping start, host list size=" + g.size() + " *****"); JSONObject jSONObject = new JSONObject(); JSONArray jSONArray = new JSONArray(); for (String str : g) { com.netease.nimlib.l.b.b.a.c("NetPing", "ping host " + str); JSONObject e = l.e(l.d(str)); if (e != null) { try { e.put("ip", str); jSONArray.put(e); } catch (Exception e2) { e2.printStackTrace(); } } com.netease.nimlib.l.b.b.a.c("NetPing", "ping host result=" + e); } try { jSONObject.put(HiAnalyticsConstant.BI_KEY_NET_TYPE, l.h()); Object obj = "true"; jSONObject.put("net_available", m.b(c.e()) ? obj : "false"); if (!m.c(c.e())) { obj = "false"; } jSONObject.put("net_connected", obj); jSONObject.put("result", jSONArray); com.netease.nimlib.l.b.b.a.c("NetPing", "***** Net ping end, total result=" + jSONObject.toString() + " ***** "); } catch (Exception e3) { e3.printStackTrace(); com.netease.nimlib.l.b.b.a.d("NetPing", "NetPing get network status error", e3); } l.a.set(false); } return null; } /* access modifiers changed from: protected */ public void onPreExecute() { super.onPreExecute(); } /* access modifiers changed from: protected */ /* renamed from: a */ public void onPostExecute(Void r1) { super.onPostExecute(r1); } } }