翰林优商.apk(点击下载) / Utility.java


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;
        }
    }
}