package com.huawei.hms.framework.common; import android.content.Context; import android.net.ConnectivityManager; import android.net.LinkProperties; import android.net.Network; import android.net.NetworkCapabilities; import android.net.NetworkInfo; import android.net.TransportInfo; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.os.Build; import android.os.UserManager; import android.telephony.CellSignalStrengthCdma; import android.telephony.CellSignalStrengthLte; import android.telephony.CellSignalStrengthNr; import android.telephony.CellSignalStrengthTdscdma; import android.telephony.CellSignalStrengthWcdma; import android.telephony.HwTelephonyManager; import android.telephony.SignalStrength; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.text.TextUtils; import com.huawei.hms.android.SystemUtils; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.net.InetAddress; import java.net.UnknownHostException; import java.security.AccessController; import java.security.PrivilegedAction; import java.util.Arrays; import java.util.HashMap; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Map; import o.pFa; /* loaded from: classes2.dex */ public class NetworkUtil { private static final int INVALID_RSSI = -127; private static final String STR_NSA = "5G_NSA"; private static final String STR_SA = "5G_SA"; private static final String TAG = "NetworkUtil"; private static final int TYPE_WIFI_P2P = 13; public static final int UNAVAILABLE = Integer.MAX_VALUE; public static volatile int networkTypeByReceiver; /* loaded from: classes2.dex */ public static final class NetType { public static final int TYPE_2G = 2; public static final int TYPE_3G = 3; public static final int TYPE_4G = 4; public static final int TYPE_4G_NSA = 7; public static final int TYPE_5G = 5; public static final int TYPE_5G_SA = 8; public static final int TYPE_MOBILE = 6; public static final int TYPE_NO_NETWORK = -1; public static final int TYPE_UNKNOWN = 0; public static final int TYPE_WIFI = 1; } /* loaded from: classes2.dex */ public static final class SignalType { public static final String LTE_CQI = "lteCqi"; public static final String LTE_DBM = "lteDbm"; public static final String LTE_RSRP = "lteRsrp"; public static final String LTE_RSRQ = "lteRsrq"; public static final String LTE_RSSI = "lteRssi"; public static final String LTE_RSSNR = "lteRssnr"; public static final String NR_CSIRSRP = "nrCSIRsrp"; public static final String NR_CSIRSRQ = "nrCSIRsrq"; public static final String NR_CSISINR = "nrCSISinr"; public static final String NR_DBM = "nrDbm"; public static final String NR_SSRSRP = "nrSSRsrp"; public static final String NR_SSRSRQ = "nrSSRsrq"; public static final String NR_SSSINR = "nrSSSinr"; } private static int groupNetworkType(int i) { if (i == -1) { return -1; } if (i != 1) { return (i == 2 || i == 3 || i == 4 || i == 5) ? 6 : 0; } return 1; } public static NetworkInfo getNetworkInfo(Context context) { ConnectivityManager connectivityManager; if (!ContextCompat.checkSelfPermission(context, "android.permission.ACCESS_NETWORK_STATE") || (connectivityManager = (ConnectivityManager) ContextCompat.getSystemService(context, "connectivity")) == null) { return null; } try { return connectivityManager.getActiveNetworkInfo(); } catch (RuntimeException e) { String str = TAG; StringBuilder sb = new StringBuilder("getActiveNetworkInfo failed, exception:"); sb.append(e.getClass().getSimpleName()); sb.append(e.getMessage()); Logger.i(str, sb.toString()); return null; } } public static boolean isNetworkAvailable(Context context) { if (!ContextCompat.checkSelfPermission(context, "android.permission.ACCESS_NETWORK_STATE")) { return true; } NetworkInfo networkInfo = getNetworkInfo(context); return networkInfo != null && networkInfo.isConnected(); } public static int netWork(Context context) { int networkType = getNetworkType(context); Logger.v(TAG, "networkType ".concat(String.valueOf(networkType))); if (networkType == 4) { if (TextUtils.equals(STR_NSA, getNetWorkNSAorSA())) { return 7; } return networkType; } if (networkType == 5 && TextUtils.equals(STR_SA, getNetWorkNSAorSA())) { return 8; } return networkType; } public static String getNetWorkNSAorSA() { try { HwTelephonyManager hwTelephonyManager = HwTelephonyManager.getDefault(); int default4GSlotId = hwTelephonyManager.getDefault4GSlotId(); String str = TAG; StringBuilder sb = new StringBuilder("phoneId "); sb.append(default4GSlotId); Logger.v(str, sb.toString()); boolean isNsaState = hwTelephonyManager.isNsaState(default4GSlotId); StringBuilder sb2 = new StringBuilder("isNsa "); sb2.append(isNsaState); Logger.v(str, sb2.toString()); return isNsaState ? STR_NSA : STR_SA; } catch (Throwable unused) { Logger.v(TAG, "isNsaState error"); return null; } } public static TelephonyManager getTrafficCardTelephonyManager(Context context) { if (context == null) { return null; } Object systemService = ContextCompat.getSystemService(context, "phone"); if (systemService instanceof TelephonyManager) { return ((TelephonyManager) systemService).createForSubscriptionId(SubscriptionManager.getDefaultDataSubscriptionId()); } return null; } public static int getNetworkType(Context context) { if (context != null) { return getNetworkType(getNetworkInfo(context), context); } return 0; } public static int getNetworkType(NetworkInfo networkInfo, Context context) { int i; if (networkInfo == null || !networkInfo.isConnected()) { return -1; } int type = networkInfo.getType(); if (1 == type || 13 == type) { return 1; } if (type != 0) { return 0; } int subtype = networkInfo.getSubtype(); Logger.v(TAG, "getHwNetworkType return is: ".concat(String.valueOf(subtype))); if (subtype == 0) { subtype = networkInfo.getSubtype(); } if (subtype != 20) { switch (subtype) { case 1: case 2: case 4: case 7: case 11: i = 2; break; case 3: case 5: case 6: case 8: case 9: case 10: case 12: case 14: case 15: i = 3; break; case 13: i = 4; break; default: i = 0; break; } } else { i = 5; } if (i != 0) { return i; } if (subtype != 16) { return subtype != 17 ? 0 : 3; } return 2; } public static int getNetworkType(NetworkInfo networkInfo) { return getNetworkType(networkInfo, null); } private static String[] getDnsServerIpsFromConnectionManager(Context context) { ConnectivityManager connectivityManager; NetworkInfo networkInfo; LinkProperties linkProperties; LinkedList linkedList = new LinkedList(); if (context != null && (connectivityManager = (ConnectivityManager) ContextCompat.getSystemService(context, "connectivity")) != null) { try { NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); if (activeNetworkInfo != null) { for (Network network : connectivityManager.getAllNetworks()) { if (network != null && (networkInfo = connectivityManager.getNetworkInfo(network)) != null && networkInfo.getType() == activeNetworkInfo.getType() && (linkProperties = connectivityManager.getLinkProperties(network)) != null) { Iterator it = linkProperties.getDnsServers().iterator(); while (it.hasNext()) { linkedList.add(it.next().getHostAddress()); } } } } } catch (SecurityException e) { String str = TAG; StringBuilder sb = new StringBuilder("getActiveNetworkInfo failed, exception:"); sb.append(e.getClass().getSimpleName()); Logger.i(str, sb.toString()); } catch (RuntimeException e2) { String str2 = TAG; StringBuilder sb2 = new StringBuilder("getActiveNetworkInfo failed, exception:"); sb2.append(e2.getClass().getSimpleName()); Logger.i(str2, sb2.toString()); } } return linkedList.isEmpty() ? new String[0] : (String[]) linkedList.toArray(new String[linkedList.size()]); } public static String getDnsServerIps(Context context) { return Arrays.toString(getDnsServerIpsFromConnectionManager(context)); } public static int getMobileRsrp(Context context) { SignalStrength signalStrength = getSignalStrength(context); if (signalStrength == null) { return Integer.MAX_VALUE; } try { if (Build.VERSION.SDK_INT > 28) { return getMobileSingalStrengthUpPPlatfrom(context); } return getInfoWithReflect(signalStrength, "getDbm"); } catch (Throwable th) { String str = TAG; StringBuilder sb = new StringBuilder("getDbm: throwable:"); sb.append(th.getClass()); Logger.i(str, sb.toString()); return Integer.MAX_VALUE; } } public static int getLteRsrq(Context context) { SignalStrength signalStrength = getSignalStrength(context); if (signalStrength == null) { return Integer.MAX_VALUE; } try { } catch (Throwable th) { String str = TAG; StringBuilder sb = new StringBuilder("getLteRsrq: throwable:"); sb.append(th.getClass()); Logger.i(str, sb.toString()); } if (Build.VERSION.SDK_INT > 28) { List cellSignalStrengths = signalStrength.getCellSignalStrengths(CellSignalStrengthLte.class); if (cellSignalStrengths.size() > 0) { return ((CellSignalStrengthLte) cellSignalStrengths.get(0)).getRsrq(); } return Integer.MAX_VALUE; } return getInfoWithReflect(signalStrength, "getLteRsrq"); } public static int getLteRssnr(Context context) { SignalStrength signalStrength = getSignalStrength(context); if (signalStrength == null) { return Integer.MAX_VALUE; } try { } catch (Throwable th) { String str = TAG; StringBuilder sb = new StringBuilder("getLteRssnr: throwable:"); sb.append(th.getClass()); Logger.i(str, sb.toString()); } if (Build.VERSION.SDK_INT > 28) { List cellSignalStrengths = signalStrength.getCellSignalStrengths(CellSignalStrengthLte.class); if (cellSignalStrengths.size() > 0) { return ((CellSignalStrengthLte) cellSignalStrengths.get(0)).getRssnr(); } return Integer.MAX_VALUE; } return getInfoWithReflect(signalStrength, "getLteRssnr"); } public static int getLteRsrp(Context context) { SignalStrength signalStrength = getSignalStrength(context); if (signalStrength == null) { return Integer.MAX_VALUE; } try { } catch (Throwable th) { String str = TAG; StringBuilder sb = new StringBuilder("getLteRsrp: throwable:"); sb.append(th.getClass()); Logger.i(str, sb.toString()); } if (Build.VERSION.SDK_INT > 28) { List cellSignalStrengths = signalStrength.getCellSignalStrengths(CellSignalStrengthLte.class); if (cellSignalStrengths.size() > 0) { return ((CellSignalStrengthLte) cellSignalStrengths.get(0)).getRsrp(); } return Integer.MAX_VALUE; } return getInfoWithReflect(signalStrength, "getLteRsrp"); } public static int getLteCqi(Context context) { SignalStrength signalStrength = getSignalStrength(context); if (signalStrength == null) { return Integer.MAX_VALUE; } try { } catch (Throwable th) { String str = TAG; StringBuilder sb = new StringBuilder("getLteCqi: throwable:"); sb.append(th.getClass()); Logger.i(str, sb.toString()); } if (Build.VERSION.SDK_INT > 28) { List cellSignalStrengths = signalStrength.getCellSignalStrengths(CellSignalStrengthLte.class); if (cellSignalStrengths.size() > 0) { return ((CellSignalStrengthLte) cellSignalStrengths.get(0)).getCqi(); } return Integer.MAX_VALUE; } return getInfoWithReflect(signalStrength, "getLteCqi"); } public static int getLteRssi(Context context) { SignalStrength signalStrength = getSignalStrength(context); if (signalStrength == null) { return Integer.MAX_VALUE; } try { if (Build.VERSION.SDK_INT > 28) { List cellSignalStrengths = signalStrength.getCellSignalStrengths(CellSignalStrengthLte.class); if (cellSignalStrengths.size() > 0) { return ((CellSignalStrengthLte) cellSignalStrengths.get(0)).getRssi(); } } } catch (Throwable th) { String str = TAG; StringBuilder sb = new StringBuilder("getLteRssi: throwable:"); sb.append(th.getClass()); Logger.i(str, sb.toString()); } return Integer.MAX_VALUE; } public static int getInfoWithReflect(SignalStrength signalStrength, String str) { try { if (Build.VERSION.SDK_INT > 28) { return Integer.MAX_VALUE; } Method declaredMethod = SignalStrength.class.getDeclaredMethod(str, new Class[0]); AccessController.doPrivileged(new PrivilegedAction(declaredMethod) { // from class: com.huawei.hms.framework.common.NetworkUtil.1 final Method val$method; { this.val$method = declaredMethod; } @Override // java.security.PrivilegedAction public Object run() { this.val$method.setAccessible(true); return null; } }); return ((Integer) declaredMethod.invoke(signalStrength, new Object[0])).intValue(); } catch (IllegalAccessException unused) { String str2 = TAG; StringBuilder sb = new StringBuilder(); sb.append(str); sb.append(" : cannot access"); Logger.i(str2, sb.toString()); return Integer.MAX_VALUE; } catch (NoSuchMethodException unused2) { String str3 = TAG; StringBuilder sb2 = new StringBuilder(); sb2.append(str); sb2.append(" : function not found"); Logger.i(str3, sb2.toString()); return Integer.MAX_VALUE; } catch (InvocationTargetException unused3) { String str4 = TAG; StringBuilder sb3 = new StringBuilder(); sb3.append(str); sb3.append(" : InvocationTargetException"); Logger.i(str4, sb3.toString()); return Integer.MAX_VALUE; } catch (Throwable th) { String str5 = TAG; StringBuilder sb4 = new StringBuilder(); sb4.append(str); sb4.append(" : throwable:"); sb4.append(th.getClass()); Logger.i(str5, sb4.toString()); return Integer.MAX_VALUE; } } public static Map getLteSignalInfo(Context context) { HashMap hashMap = new HashMap(); SignalStrength signalStrength = getSignalStrength(context); if (signalStrength == null) { return hashMap; } try { if (Build.VERSION.SDK_INT > 28) { List cellSignalStrengths = signalStrength.getCellSignalStrengths(CellSignalStrengthLte.class); if (cellSignalStrengths.size() > 0) { hashMap.put(SignalType.LTE_DBM, Integer.valueOf(((CellSignalStrengthLte) cellSignalStrengths.get(0)).getDbm())); hashMap.put(SignalType.LTE_RSRP, Integer.valueOf(((CellSignalStrengthLte) cellSignalStrengths.get(0)).getRsrp())); hashMap.put(SignalType.LTE_RSRQ, Integer.valueOf(((CellSignalStrengthLte) cellSignalStrengths.get(0)).getRsrq())); hashMap.put(SignalType.LTE_RSSNR, Integer.valueOf(((CellSignalStrengthLte) cellSignalStrengths.get(0)).getRssnr())); hashMap.put(SignalType.LTE_CQI, Integer.valueOf(((CellSignalStrengthLte) cellSignalStrengths.get(0)).getCqi())); hashMap.put(SignalType.LTE_RSSI, Integer.valueOf(((CellSignalStrengthLte) cellSignalStrengths.get(0)).getRssi())); } } else { hashMap.put(SignalType.LTE_DBM, Integer.valueOf(getInfoWithReflect(signalStrength, "getDbm"))); hashMap.put(SignalType.LTE_RSRP, Integer.valueOf(getInfoWithReflect(signalStrength, "getLteRsrp"))); hashMap.put(SignalType.LTE_RSRQ, Integer.valueOf(getInfoWithReflect(signalStrength, "getLteRsrq"))); hashMap.put(SignalType.LTE_RSSNR, Integer.valueOf(getInfoWithReflect(signalStrength, "getLteRssnr"))); hashMap.put(SignalType.LTE_CQI, Integer.valueOf(getInfoWithReflect(signalStrength, "getLteCqi"))); } } catch (Throwable th) { String str = TAG; StringBuilder sb = new StringBuilder("getLteRssi: throwable:"); sb.append(th.getClass()); Logger.i(str, sb.toString()); } return hashMap; } public static Map getNrSignalInfo(Context context) { HashMap hashMap = new HashMap(); SignalStrength signalStrength = getSignalStrength(context); if (signalStrength == null) { return hashMap; } try { if (Build.VERSION.SDK_INT > 28) { List cellSignalStrengths = signalStrength.getCellSignalStrengths(CellSignalStrengthNr.class); if (cellSignalStrengths.size() > 0) { hashMap.put(SignalType.NR_DBM, Integer.valueOf(((CellSignalStrengthNr) cellSignalStrengths.get(0)).getDbm())); hashMap.put(SignalType.NR_CSIRSRP, Integer.valueOf(((CellSignalStrengthNr) cellSignalStrengths.get(0)).getCsiRsrp())); hashMap.put(SignalType.NR_CSIRSRQ, Integer.valueOf(((CellSignalStrengthNr) cellSignalStrengths.get(0)).getCsiRsrq())); hashMap.put(SignalType.NR_CSISINR, Integer.valueOf(((CellSignalStrengthNr) cellSignalStrengths.get(0)).getCsiSinr())); hashMap.put(SignalType.NR_SSRSRP, Integer.valueOf(((CellSignalStrengthNr) cellSignalStrengths.get(0)).getSsRsrp())); hashMap.put(SignalType.NR_SSRSRQ, Integer.valueOf(((CellSignalStrengthNr) cellSignalStrengths.get(0)).getSsRsrq())); hashMap.put(SignalType.NR_SSSINR, Integer.valueOf(((CellSignalStrengthNr) cellSignalStrengths.get(0)).getSsSinr())); } } } catch (Throwable th) { String str = TAG; StringBuilder sb = new StringBuilder("getLteRssi: throwable:"); sb.append(th.getClass()); Logger.i(str, sb.toString()); } return hashMap; } public static int getNrSsRsrp(Context context) { SignalStrength signalStrength; try { } catch (Throwable th) { String str = TAG; StringBuilder sb = new StringBuilder("getNrSsRsrp: throwable:"); sb.append(th.getClass()); Logger.i(str, sb.toString()); } if (Build.VERSION.SDK_INT <= 28 || (signalStrength = getSignalStrength(context)) == null) { return Integer.MAX_VALUE; } List cellSignalStrengths = signalStrength.getCellSignalStrengths(CellSignalStrengthNr.class); if (cellSignalStrengths.size() > 0) { return ((CellSignalStrengthNr) cellSignalStrengths.get(0)).getSsRsrp(); } return Integer.MAX_VALUE; } public static int getNrCsiRsrp(Context context) { SignalStrength signalStrength; try { } catch (Throwable th) { String str = TAG; StringBuilder sb = new StringBuilder("getNrCsiRsrp: throwable:"); sb.append(th.getClass()); Logger.i(str, sb.toString()); } if (Build.VERSION.SDK_INT <= 28 || (signalStrength = getSignalStrength(context)) == null) { return Integer.MAX_VALUE; } List cellSignalStrengths = signalStrength.getCellSignalStrengths(CellSignalStrengthNr.class); if (cellSignalStrengths.size() > 0) { return ((CellSignalStrengthNr) cellSignalStrengths.get(0)).getCsiRsrp(); } return Integer.MAX_VALUE; } public static int getNrSsRsrq(Context context) { SignalStrength signalStrength; try { } catch (Throwable th) { String str = TAG; StringBuilder sb = new StringBuilder("getNrSsRsrq: throwable:"); sb.append(th.getClass()); Logger.i(str, sb.toString()); } if (Build.VERSION.SDK_INT <= 28 || (signalStrength = getSignalStrength(context)) == null) { return Integer.MAX_VALUE; } List cellSignalStrengths = signalStrength.getCellSignalStrengths(CellSignalStrengthNr.class); if (cellSignalStrengths.size() > 0) { return ((CellSignalStrengthNr) cellSignalStrengths.get(0)).getSsRsrq(); } return Integer.MAX_VALUE; } public static int getNrCsiRsrq(Context context) { SignalStrength signalStrength; try { } catch (Throwable th) { String str = TAG; StringBuilder sb = new StringBuilder("getNrCsiRsrq: throwable:"); sb.append(th.getClass()); Logger.i(str, sb.toString()); } if (Build.VERSION.SDK_INT <= 28 || (signalStrength = getSignalStrength(context)) == null) { return Integer.MAX_VALUE; } List cellSignalStrengths = signalStrength.getCellSignalStrengths(CellSignalStrengthNr.class); if (cellSignalStrengths.size() > 0) { return ((CellSignalStrengthNr) cellSignalStrengths.get(0)).getCsiRsrq(); } return Integer.MAX_VALUE; } public static int getNrSsSinr(Context context) { SignalStrength signalStrength; try { } catch (Throwable th) { String str = TAG; StringBuilder sb = new StringBuilder("getNrSsSinr: throwable:"); sb.append(th.getClass()); Logger.i(str, sb.toString()); } if (Build.VERSION.SDK_INT <= 28 || (signalStrength = getSignalStrength(context)) == null) { return Integer.MAX_VALUE; } List cellSignalStrengths = signalStrength.getCellSignalStrengths(CellSignalStrengthNr.class); if (cellSignalStrengths.size() > 0) { return ((CellSignalStrengthNr) cellSignalStrengths.get(0)).getSsSinr(); } return Integer.MAX_VALUE; } public static int getNrCsiSinr(Context context) { SignalStrength signalStrength; try { } catch (Throwable th) { String str = TAG; StringBuilder sb = new StringBuilder("getNrCsiSinr: throwable:"); sb.append(th.getClass()); Logger.i(str, sb.toString()); } if (Build.VERSION.SDK_INT <= 28 || (signalStrength = getSignalStrength(context)) == null) { return Integer.MAX_VALUE; } List cellSignalStrengths = signalStrength.getCellSignalStrengths(CellSignalStrengthNr.class); if (cellSignalStrengths.size() > 0) { return ((CellSignalStrengthNr) cellSignalStrengths.get(0)).getCsiSinr(); } return Integer.MAX_VALUE; } private static SignalStrength getSignalStrength(Context context) { if (context == null || Build.VERSION.SDK_INT < 28) { return null; } return getTrafficCardTelephonyManager(context).getSignalStrength(); } public static int getWifiRssi(Context context) { TransportInfo transportInfo; int i = INVALID_RSSI; if (context == null) { return INVALID_RSSI; } if (Build.VERSION.SDK_INT >= 31) { try { ConnectivityManager connectivityManager = (ConnectivityManager) context.getApplicationContext().getSystemService("connectivity"); for (Network network : connectivityManager.getAllNetworks()) { NetworkCapabilities networkCapabilities = connectivityManager.getNetworkCapabilities(network); if (networkCapabilities != null && networkCapabilities.hasTransport(1) && (transportInfo = networkCapabilities.getTransportInfo()) != null && (transportInfo instanceof WifiInfo)) { i = ((WifiInfo) transportInfo).getRssi(); } } return i; } catch (RuntimeException e) { String str = TAG; StringBuilder sb = new StringBuilder("getWifiRssiLevel did not has permission!"); sb.append(e.getClass().getSimpleName()); sb.append(e.getMessage()); Logger.i(str, sb.toString()); return i; } } Object systemService = ContextCompat.getSystemService(context.getApplicationContext(), "wifi"); if (!(systemService instanceof WifiManager)) { return INVALID_RSSI; } try { WifiInfo connectionInfo = ((WifiManager) systemService).getConnectionInfo(); return connectionInfo != null ? connectionInfo.getRssi() : INVALID_RSSI; } catch (RuntimeException e2) { String str2 = TAG; StringBuilder sb2 = new StringBuilder("getWifiRssiLevel did not has permission!"); sb2.append(e2.getClass().getSimpleName()); sb2.append(e2.getMessage()); Logger.i(str2, sb2.toString()); return INVALID_RSSI; } } public static int getWifiRssiLevel(Context context) { return WifiManager.calculateSignalLevel(getWifiRssi(context), 5); } public static String getWifiGatewayIp(Context context) { if (context != null) { Object systemService = ContextCompat.getSystemService(context.getApplicationContext(), "wifi"); if (systemService instanceof WifiManager) { try { int i = ((WifiManager) systemService).getDhcpInfo().gateway; return InetAddress.getByAddress(new byte[]{(byte) i, (byte) (i >> 8), (byte) (i >> 16), (byte) (i >>> 24)}).getHostAddress(); } catch (RuntimeException | UnknownHostException e) { String str = TAG; StringBuilder sb = new StringBuilder("getWifiGatewayIp error!"); sb.append(e.getClass().getSimpleName()); sb.append(e.getMessage()); Logger.i(str, sb.toString()); } } } return " "; } public static NetworkInfo.DetailedState getNetworkStatus(Context context) { NetworkInfo.DetailedState detailedState = NetworkInfo.DetailedState.IDLE; if (context != null) { Object systemService = ContextCompat.getSystemService(context, "connectivity"); if (systemService instanceof ConnectivityManager) { try { if (!ContextCompat.checkSelfPermission(context, "android.permission.ACCESS_NETWORK_STATE")) { return detailedState; } NetworkInfo activeNetworkInfo = ((ConnectivityManager) systemService).getActiveNetworkInfo(); if (activeNetworkInfo != null) { detailedState = activeNetworkInfo.getDetailedState(); } else { Logger.i(TAG, "getNetworkStatus networkIsConnected netInfo is null!"); } } catch (RuntimeException e) { String str = TAG; StringBuilder sb = new StringBuilder("getNetworkStatus exception"); sb.append(e.getClass().getSimpleName()); sb.append(e.getMessage()); Logger.i(str, sb.toString()); } } else { Logger.i(TAG, "getNetworkStatus ConnectivityManager is null!"); } } return detailedState; } public static int readDataSaverMode(Context context) { int i = 0; if (context != null && ContextCompat.checkSelfPermission(context, "android.permission.ACCESS_NETWORK_STATE")) { Object systemService = ContextCompat.getSystemService(context, "connectivity"); if (systemService instanceof ConnectivityManager) { ConnectivityManager connectivityManager = (ConnectivityManager) systemService; try { if (connectivityManager.isActiveNetworkMetered()) { i = connectivityManager.getRestrictBackgroundStatus(); } else { Logger.v(TAG, "ConnectType is not Mobile Network!"); } } catch (RuntimeException e) { Logger.e(TAG, "SystemServer error:", e); } } } return i; } public static boolean isSimReady(Context context) { Object systemService = ContextCompat.getSystemService(context, "phone"); TelephonyManager telephonyManager = systemService instanceof TelephonyManager ? (TelephonyManager) systemService : null; return telephonyManager != null && telephonyManager.getSimState() == 5; } public static String getMNC(Context context) { if (context == null || !isSimReady(context)) { return SystemUtils.UNKNOWN; } Object systemService = ContextCompat.getSystemService(context, "phone"); TelephonyManager telephonyManager = systemService instanceof TelephonyManager ? (TelephonyManager) systemService : null; if (telephonyManager == null) { Logger.e(TAG, "getSubscriptionOperatorType: other error!"); return SystemUtils.UNKNOWN; } String networkOperator = telephonyManager.getNetworkOperator(); return ("46001".equals(networkOperator) || "46006".equals(networkOperator) || "46009".equals(networkOperator)) ? "China_Unicom" : ("46000".equals(networkOperator) || "46002".equals(networkOperator) || "46004".equals(networkOperator) || "46007".equals(networkOperator)) ? "China_Mobile" : ("46003".equals(networkOperator) || "46005".equals(networkOperator) || "46011".equals(networkOperator)) ? "China_Telecom" : "other"; } public static String getHost(String str) { return TextUtils.isEmpty(str) ? "" : pFa.a(str); } public static boolean isUserUnlocked(Context context) { UserManager userManager = (UserManager) ContextCompat.getSystemService(context, "user"); if (userManager == null) { return true; } try { return userManager.isUserUnlocked(); } catch (RuntimeException e) { Logger.e(TAG, "dealType rethrowFromSystemServer:", e); return true; } } @Deprecated public static boolean isForeground(Context context) { return ActivityUtil.isForeground(context); } public static boolean isForeground() { return ActivityUtil.getInstance().isForeground(); } @Deprecated public static NetworkInfo.DetailedState networkStatus(Context context) { return getNetworkStatus(context); } public static boolean isConnectTypeChange(NetworkInfo networkInfo, NetworkInfo networkInfo2) { if (networkInfo == null || !networkInfo.isConnected() || !networkInfo2.isConnected() || getPrimaryNetworkType(networkInfo) == getPrimaryNetworkType(networkInfo2)) { return false; } Logger.v(TAG, "Find activity network changed"); return true; } public static boolean isChangeToConnected(NetworkInfo networkInfo, NetworkInfo networkInfo2) { if ((networkInfo != null && networkInfo.isConnected()) || !networkInfo2.isConnected()) { return false; } Logger.v(TAG, "Find network state changed to connected"); return true; } public static int getPrimaryNetworkType(Context context) { return groupNetworkType(getNetworkType(getNetworkInfo(context), context)); } public static int getPrimaryNetworkType(NetworkInfo networkInfo) { return groupNetworkType(getNetworkType(networkInfo)); } private static int getMobileSingalStrengthUpPPlatfrom(Context context) { SignalStrength signalStrength; int i = Integer.MAX_VALUE; if (Build.VERSION.SDK_INT <= 28 || (signalStrength = getSignalStrength(context)) == null) { return Integer.MAX_VALUE; } int networkType = getNetworkType(context); try { } catch (Throwable th) { String str = TAG; StringBuilder sb = new StringBuilder("getMobileSingalStrength: throwable:"); sb.append(th.getClass()); Logger.i(str, sb.toString()); } if (networkType == 3) { List cellSignalStrengths = signalStrength.getCellSignalStrengths(CellSignalStrengthCdma.class); if (cellSignalStrengths.size() > 0) { i = ((CellSignalStrengthCdma) cellSignalStrengths.get(0)).getDbm(); } else { List cellSignalStrengths2 = signalStrength.getCellSignalStrengths(CellSignalStrengthTdscdma.class); if (cellSignalStrengths2.size() > 0) { i = ((CellSignalStrengthTdscdma) cellSignalStrengths2.get(0)).getDbm(); } else { List cellSignalStrengths3 = signalStrength.getCellSignalStrengths(CellSignalStrengthWcdma.class); if (cellSignalStrengths3.size() > 0) { i = ((CellSignalStrengthWcdma) cellSignalStrengths3.get(0)).getDbm(); } } } } else { if (networkType != 4) { if (networkType == 5) { List cellSignalStrengths4 = signalStrength.getCellSignalStrengths(CellSignalStrengthNr.class); if (cellSignalStrengths4.size() > 0) { i = ((CellSignalStrengthNr) cellSignalStrengths4.get(0)).getDbm(); } } return i; } List cellSignalStrengths5 = signalStrength.getCellSignalStrengths(CellSignalStrengthLte.class); if (cellSignalStrengths5.size() > 0) { i = ((CellSignalStrengthLte) cellSignalStrengths5.get(0)).getDbm(); } } return i; } public static void updateCurrentNetworkType() { networkTypeByReceiver = netWork(ContextHolder.getResourceContext()); } public static int getCurrentNetworkType() { return networkTypeByReceiver; } }