package com.netease.nimlib.s; import android.os.AsyncTask; import android.text.TextUtils; import androidx.core.os.EnvironmentCompat; import asmack.org.jivesoftware.smackx.Form; import asmack.org.jivesoftware.smackx.receipts.DeliveryReceipt; 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; public class k { /* renamed from: a reason: collision with root package name */ private static AtomicBoolean f10205a = new AtomicBoolean(false); /* renamed from: b reason: collision with root package name */ private a f10206b = null; /* access modifiers changed from: private */ 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> g2 = k.g(); if (!(g2 == null || g2.size() == 0)) { com.netease.nimlib.k.b.b.a.c("NetPing", "***** Net ping start, host list size=" + g2.size() + " *****"); JSONObject jSONObject = new JSONObject(); JSONArray jSONArray = new JSONArray(); for (String str : g2) { com.netease.nimlib.k.b.b.a.c("NetPing", "ping host " + str); JSONObject e2 = k.e(k.d(str)); if (e2 != null) { try { e2.put("ip", str); jSONArray.put(e2); } catch (Exception e3) { e3.printStackTrace(); } } com.netease.nimlib.k.b.b.a.c("NetPing", "ping host result=" + e2); } try { jSONObject.put("net_type", k.h()); Object obj = "true"; jSONObject.put("net_available", l.b(c.d()) ? obj : "false"); if (!l.c(c.d())) { obj = "false"; } jSONObject.put("net_connected", obj); jSONObject.put(Form.TYPE_RESULT, jSONArray); com.netease.nimlib.k.b.b.a.c("NetPing", "***** Net ping end, total result=" + jSONObject.toString() + " ***** "); } catch (Exception e4) { e4.printStackTrace(); com.netease.nimlib.k.b.b.a.d("NetPing", "NetPing get network status error", e4); } k.f10205a.set(false); } return null; } /* access modifiers changed from: protected */ /* renamed from: a */ public void onPostExecute(Void r1) { super.onPostExecute(r1); } /* access modifiers changed from: protected */ public void onPreExecute() { super.onPreExecute(); } } private k() { } public static k a() { return new k(); } 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 e2) { e2.printStackTrace(); } } catch (IOException e3) { e3.printStackTrace(); try { socket.close(); } catch (IOException e4) { e4.printStackTrace(); } z = false; } catch (Throwable th) { try { socket.close(); } catch (IOException e5) { e5.printStackTrace(); } throw th; } StringBuilder sb = new StringBuilder(); sb.append("socket connect "); sb.append(str); sb.append(z ? " success" : " failed!!!"); com.netease.nimlib.k.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; } public static void c() { try { StringBuilder sb = new StringBuilder(); sb.append("network info: "); sb.append("net_type=" + h() + ", " + "net_available=" + l.b(c.d()) + ", " + "net_connected=" + l.c(c.d())); com.netease.nimlib.k.b.b.a.c("NetPing", sb.toString()); } catch (Exception e2) { e2.printStackTrace(); } } /* 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.k.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 e2) { e2.printStackTrace(); } catch (IOException e3) { e3.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(DeliveryReceipt.ELEMENT); 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(Form.TYPE_RESULT, "connect success"); } else if (str.contains("failed")) { jSONObject.put(Form.TYPE_RESULT, "failed"); } } catch (Exception e2) { e2.printStackTrace(); com.netease.nimlib.k.b.b.a.d("NetPing", "getPingStatus error", e2); } return jSONObject; } /* access modifiers changed from: private */ public static List<String> g() { String str; ArrayList arrayList = new ArrayList(); for (String str2 : com.netease.nimlib.m.a.b.a.a.a().b()) { String c2 = c(str2); if (!arrayList.contains(c2)) { arrayList.add(c2); } } ServerAddresses i = c.i(); if (i == null) { arrayList.add(c(g.g())); arrayList.add(c(g.i())); str = "www.163.com"; } else { if (!TextUtils.isEmpty(i.nosUpload)) { arrayList.add(c(i.nosUpload)); } if (!TextUtils.isEmpty(i.nosDownload)) { str = i.nosDownload; } return arrayList; } arrayList.add(c(str)); return arrayList; } /* access modifiers changed from: private */ public static String h() { int l = l.l(c.d()); return l == 1 ? "2g" : l == 2 ? "3g" : l == 3 ? "4g" : l == 10 ? "wifi" : EnvironmentCompat.MEDIA_UNKNOWN; } public void b() { if (!l.b(c.d())) { com.netease.nimlib.k.b.b.a.c("NetPing", "unable to start ping, as network is unavailable"); } else if (f10205a.get()) { com.netease.nimlib.k.b.b.a.c("NetPing", "cancel start ping, as net ping is running..."); } else if (this.f10206b == null) { this.f10206b = new a(); this.f10206b.execute(new Void[0]); f10205a.set(true); } } }