package com.kwai.video.hodor; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.os.Build; import android.telephony.TelephonyManager; import android.util.Log; import android.util.Pair; import androidx.core.app.ActivityCompat; import com.kuaishou.weapon.p0.h; import com.kwai.video.hodor.util.Timber; public class NetworkMonitor { private static final int HodorMobileType_MOBILE_2G = 1; private static final int HodorMobileType_MOBILE_3G = 2; private static final int HodorMobileType_MOBILE_4G = 3; private static final int HodorMobileType_MOBILE_5G = 4; private static final int HodorMobileType_UNKNOWN = 0; private static String emptyStringIfNull(String str) { return str == null ? "" : str; } /* JADX WARNING: Removed duplicated region for block: B:16:0x0041 */ /* JADX WARNING: Removed duplicated region for block: B:25:0x0070 */ public static Pair<Integer, String> getMobileType(Context context) { int i; try { TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService("phone"); if (telephonyManager != null) { try { if (Build.VERSION.SDK_INT < 30 || ActivityCompat.checkSelfPermission(context, h.c) == 0) { i = telephonyManager.getNetworkType(); Timber.d("[NetworkMonitor.getMobileType]mobileType:%d", Integer.valueOf(i)); if (i != 20) { return Pair.create(4, "5G"); } switch (i) { case 1: case 2: case 4: case 7: case 11: return Pair.create(1, "2G"); case 3: case 5: case 6: case 8: case 9: case 10: case 12: case 14: case 15: return Pair.create(2, "3G"); case 13: return Pair.create(3, "4G"); default: return Pair.create(0, "UNKNOWN"); } } } catch (RuntimeException e) { Timber.w("[NetworkMonitor.getMobileType]fail, exception:%s", Log.getStackTraceString(e)); } } i = 0; Timber.d("[NetworkMonitor.getMobileType]mobileType:%d", Integer.valueOf(i)); if (i != 20) { } } catch (Exception unused) { return Pair.create(0, "UNKNOWN"); } } public static void initNetworkChangeReceiver(Context context) { if (context != null) { context.getApplicationContext().registerReceiver(new BroadcastReceiver() { /* class com.kwai.video.hodor.NetworkMonitor.AnonymousClass1 */ public final void onReceive(Context context, Intent intent) { NetworkMonitor.onNetworkChange(context, intent); } }, new IntentFilter("android.net.conn.CONNECTIVITY_CHANGE")); } else { Timber.e("initNetworkChangeReceiver fail, context is null", new Object[0]); } } public static void onNetworkChange(Context context, Intent intent) { try { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService("connectivity"); Pair<Integer, String> mobileType = getMobileType(context); if (connectivityManager != null) { NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); if (activeNetworkInfo == null) { Timber.w("[onNetworkChange], get ConnectivityManager ok, get getActiveNetworkInfo fail, current supportMobileType:%s", mobileType.second); onNetworkInvalidated(); return; } Object[] objArr = new Object[6]; objArr[0] = Boolean.valueOf(activeNetworkInfo.isConnected()); objArr[1] = Boolean.valueOf(activeNetworkInfo.getType() == 1); objArr[2] = activeNetworkInfo.getTypeName(); objArr[3] = activeNetworkInfo.getState().toString(); objArr[4] = activeNetworkInfo.getExtraInfo(); objArr[5] = mobileType.second; Timber.d("[onNetworkChange], get ConnectivityManager ok, get getActiveNetworkInfo ok, isConnected:%b, isWifi:%b, netTypeName:%s, connectionState:%s, getExtraInfo:%s, supportMobileType:%s", objArr); onNewActiveNetwork(activeNetworkInfo.isConnected(), activeNetworkInfo.getType() == 1, emptyStringIfNull(activeNetworkInfo.getTypeName()), emptyStringIfNull(activeNetworkInfo.getState().toString()), emptyStringIfNull(activeNetworkInfo.getExtraInfo()), ((Integer) mobileType.first).intValue()); return; } onNetworkInvalidated(); Timber.e("[onNetworkChange], get ConnectivityManager fail, current supportMobileType:%s", mobileType.second); } catch (Exception unused) { onNetworkInvalidated(); Timber.e("[onNetworkChange], get ConnectivityManager fail, current supportMobileType", new Object[0]); } } private static native void onNetworkInvalidated(); private static native void onNewActiveNetwork(boolean z, boolean z2, String str, String str2, String str3, int i); }