package com.baidu.speech.utils; import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.os.Build; import android.text.TextUtils; import androidx.core.internal.view.SupportMenu; import com.baidu.idl.face.platform.FaceEnvironment; import com.efs.sdk.base.core.util.NetworkUtil; import com.kuaishou.weapon.p0.h; import com.kuaishou.weapon.p0.k1; import java.io.BufferedReader; import java.io.FileReader; import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Locale; import kotlin.UByte; import kotlin.text.Typography; public final class Utility { private static final int BYTES_PER_SAMPLE_16BIT = 2; private static final int BYTES_PER_SAMPLE_8BIT = 1; private static final int BYTES_PER_SHORT = 2; private static int EVR_NETWORK_TYPE_2G = 1; private static int EVR_NETWORK_TYPE_3G = 2; private static int EVR_NETWORK_TYPE_4G = 3; private static int EVR_NETWORK_TYPE_NO = 0; private static int EVR_NETWORK_TYPE_WIFI = 4; private static final String TAG = "Utility"; private static final int THOUSAND_DIV = 1000; private static ConnectivityManager mConnManager; private static int maxCpuFreq; private Utility() { } public static boolean checkPermission(Context context, String str) { return context.checkCallingOrSelfPermission(str) == 0; } public static String fun(Exception exc) { StackTraceElement[] stackTrace = exc.getStackTrace(); if (stackTrace == null) { return ""; } return stackTrace[0].getMethodName() + "()"; } public static String generatePlatformString() { StringBuilder sb = new StringBuilder("Android"); sb.append(Typography.amp); try { sb.append(URLEncoder.encode(Build.MODEL, "utf-8")); sb.append(Typography.amp); sb.append(URLEncoder.encode(Build.VERSION.RELEASE, "utf-8")); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } sb.append(Typography.amp); sb.append(Build.VERSION.SDK_INT); return sb.toString(); } private static int getCpuInfo() { String str = ""; try { BufferedReader bufferedReader = new BufferedReader(new FileReader(k1.a), 1024); while (true) { String readLine = bufferedReader.readLine(); if (readLine != null) { if (readLine.indexOf("BogoMIPS") != -1) { str = readLine.split("\\s+")[2]; break; } } else { break; } } bufferedReader.close(); return (int) (Float.parseFloat(str.trim()) * 1000.0f); } catch (Exception unused) { return 0; } } public static String getFileName(Exception exc) { StackTraceElement[] stackTrace = exc.getStackTrace(); if (stackTrace == null || stackTrace.length == 0) { return null; } return stackTrace[0].getFileName(); } public static String getLineNumber(Exception exc) { StackTraceElement[] stackTrace = exc.getStackTrace(); if (stackTrace == null || stackTrace.length == 0) { return null; } return stackTrace[0].getFileName() + ":" + stackTrace[0].getLineNumber(); } public static int getMaxCpuFreq() { String str = ""; try { int i = maxCpuFreq; if (i != 0) { return i; } if (isRunningEmulator()) { Process start = new ProcessBuilder("/system/bin/cat", "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq").start(); InputStream inputStream = start.getInputStream(); byte[] bArr = new byte[24]; while (inputStream.read(bArr) != -1) { str = str + new String(bArr); } inputStream.close(); start.destroy(); } else { FileReader fileReader = new FileReader("/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq"); BufferedReader bufferedReader = new BufferedReader(fileReader); String readLine = bufferedReader.readLine(); bufferedReader.close(); fileReader.close(); str = readLine; } int cpuInfo = getCpuInfo(); if (TextUtils.isEmpty(str)) { return cpuInfo; } int parseInt = Integer.parseInt(str.trim()); if (parseInt >= cpuInfo) { cpuInfo = parseInt; } maxCpuFreq = cpuInfo; return cpuInfo; } catch (Exception unused) { return 0; } } public static NetworkInfo getNetworkInfo(Context context) { return ((ConnectivityManager) context.getSystemService("connectivity")).getActiveNetworkInfo(); } public static String getPackageName(Context context) { return context.getPackageName(); } public static String getPlatform(Context context) { return FaceEnvironment.OS; } public static int getStatusType(int i) { return i & SupportMenu.CATEGORY_MASK; } public static int getVoiceDataSizeInShort(int i, int i2, int i3) { if (i3 == 2 || i3 == 3) { return (((i * i2) * (i3 == 3 ? 1 : 2)) / 1000) / 2; } throw new IllegalArgumentException("audio format invalid"); } public static int getWifiOr2gOr3G(Context context) { NetworkInfo activeNetworkInfo; int i; int i2 = EVR_NETWORK_TYPE_NO; if (context == null) { return i2; } try { ConnectivityManager connectivityManager = (ConnectivityManager) context.getApplicationContext().getSystemService("connectivity"); if (!isNetworkPerission(context) || (activeNetworkInfo = connectivityManager.getActiveNetworkInfo()) == null || !activeNetworkInfo.isConnectedOrConnecting()) { return i2; } if (!activeNetworkInfo.getTypeName().toLowerCase().equals(NetworkUtil.NETWORK_TYPE_WIFI)) { int i3 = EVR_NETWORK_TYPE_2G; switch (activeNetworkInfo.getSubtype()) { case 3: case 5: case 6: case 7: case 8: case 9: case 10: case 12: case 14: case 15: i = EVR_NETWORK_TYPE_3G; break; case 4: case 11: default: return i3; case 13: i = EVR_NETWORK_TYPE_4G; break; } } else { i = EVR_NETWORK_TYPE_WIFI; } return i; } catch (Exception e) { e.printStackTrace(); return i2; } } public static void init(Context context) { if (context != null) { mConnManager = (ConnectivityManager) context.getSystemService("connectivity"); } } public static boolean is2G(Context context) { NetworkInfo activeNetworkInfo; try { ConnectivityManager connectivityManager = (ConnectivityManager) context.getApplicationContext().getSystemService("connectivity"); if (!isNetworkPerission(context) || (activeNetworkInfo = connectivityManager.getActiveNetworkInfo()) == null || !activeNetworkInfo.isConnectedOrConnecting() || activeNetworkInfo.getTypeName().toLowerCase().equals(NetworkUtil.NETWORK_TYPE_WIFI)) { return false; } int subtype = activeNetworkInfo.getSubtype(); return subtype == 1 || subtype == 2 || subtype == 4 || subtype == 7 || subtype == 11 || subtype == 16; } catch (Exception e) { e.printStackTrace(); } } public static boolean isNetworkConnected(Context context) { NetworkInfo networkInfo = getNetworkInfo(context); return networkInfo != null && networkInfo.isConnected(); } private static boolean isNetworkPerission(Context context) { try { return context.getPackageManager().checkPermission(h.b, context.getPackageName()) == 0; } catch (Exception e) { e.printStackTrace(); return false; } } private static boolean isRunningEmulator() { String str = Build.MODEL; return str.equals("sdk") || str.equals("google_sdk"); } public static boolean isUsingWifi() { NetworkInfo activeNetworkInfo; ConnectivityManager connectivityManager = mConnManager; if (connectivityManager == null || (activeNetworkInfo = connectivityManager.getActiveNetworkInfo()) == null) { return false; } return NetworkUtil.NETWORK_TYPE_WIFI.equals(activeNetworkInfo.getTypeName().toLowerCase()); } public static boolean isUsingWifi(Context context) { NetworkInfo activeNetworkInfo; try { return isNetworkPerission(context) && (activeNetworkInfo = ((ConnectivityManager) context.getApplicationContext().getSystemService("connectivity")).getActiveNetworkInfo()) != null && NetworkUtil.NETWORK_TYPE_WIFI.equals(activeNetworkInfo.getTypeName().toLowerCase(Locale.US)); } catch (Exception e) { e.printStackTrace(); } } public static boolean isWifiConnected(Context context) { NetworkInfo networkInfo = getNetworkInfo(context); return networkInfo != null && networkInfo.isConnected() && networkInfo.getType() == 1; } public static String stringToMd5(String str) { byte b; try { MessageDigest instance = MessageDigest.getInstance("MD5"); instance.update(str.getBytes("UTF-8")); byte[] digest = instance.digest(); StringBuffer stringBuffer = new StringBuffer(); for (int i = 0; i < digest.length; i++) { if (Integer.toHexString(digest[i] & UByte.MAX_VALUE).length() == 1) { stringBuffer.append("0"); b = digest[i]; } else { b = digest[i]; } stringBuffer.append(Integer.toHexString(b & UByte.MAX_VALUE)); } return stringBuffer.toString(); } catch (UnsupportedEncodingException | NoSuchAlgorithmException unused) { return ""; } } public static String urlEncode(String str, String str2) { try { return !TextUtils.isEmpty(str) ? URLEncoder.encode(str, str2) : str; } catch (UnsupportedEncodingException unused) { return str; } } }