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


package com.hanlingyoushang.tools;

import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Build;
import android.provider.Settings;
import android.text.TextUtils;
import android.view.Window;
import com.baidu.idl.face.platform.FaceEnvironment;
import com.efs.sdk.base.core.util.NetworkUtil;
import com.uc.crashsdk.export.LogType;
import com.umeng.analytics.pro.cb;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.net.NetworkInterface;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.util.Enumeration;
import kotlin.UByte;

public class tools {
    public static int getHeight(Activity activity) {
        if (Build.VERSION.SDK_INT < 29) {
            try {
                Class<?> cls = Class.forName("com.android.internal.R$dimen");
                return activity.getResources().getDimensionPixelSize(Integer.parseInt(cls.getField("status_bar_height").get(cls.newInstance()).toString()));
            } catch (Exception e) {
                e.printStackTrace();
                return 0;
            }
        } else {
            Resources resources = activity.getResources();
            return resources.getDimensionPixelSize(resources.getIdentifier("status_bar_height", "dimen", FaceEnvironment.OS));
        }
    }

    public static void immersion(Activity activity) {
        if (Build.VERSION.SDK_INT >= 21) {
            Window window = activity.getWindow();
            window.clearFlags(67108864);
            window.getDecorView().setSystemUiVisibility(LogType.UNEXP_ANR);
            window.addFlags(Integer.MIN_VALUE);
            window.setStatusBarColor(0);
        } else if (Build.VERSION.SDK_INT >= 19) {
            activity.getWindow().setFlags(67108864, 67108864);
        }
    }

    public static String getDevice(Activity activity) {
        return getMD5(getid2(activity).getBytes(StandardCharsets.UTF_8)).toLowerCase();
    }

    public static String getMac(Activity activity) {
        String g = g();
        if (TextUtils.isEmpty(g) || !g.contains(":")) {
            g = b("eth0");
        }
        if (TextUtils.isEmpty(g)) {
            g = b("wlan0");
        }
        if (TextUtils.isEmpty(g)) {
            g = h(activity);
        }
        return (TextUtils.isEmpty(g) || !g.contains("00:00:00")) ? g : "";
    }

    public static String getVersionName(String str, Activity activity) {
        try {
            return activity.getPackageManager().getPackageInfo(str, 0).versionName;
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
            return "0";
        }
    }

    public static boolean isInstall(String str, Activity activity) {
        try {
            PackageManager packageManager = activity.getPackageManager();
            packageManager.getApplicationInfo(str, 0).loadLabel(packageManager).toString();
            return true;
        } catch (PackageManager.NameNotFoundException unused) {
            return false;
        }
    }

    public static String getid2(Activity activity) {
        String string = Settings.Secure.getString(activity.getContentResolver(), "android_id");
        return TextUtils.isEmpty(string) ? Settings.Secure.getString(activity.getContentResolver(), "android_id") : string;
    }

    public static String getMD5(byte[] bArr) {
        char[] cArr = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
        try {
            MessageDigest instance = MessageDigest.getInstance("MD5");
            instance.update(bArr);
            byte[] digest = instance.digest();
            int length = digest.length;
            char[] cArr2 = new char[(length * 2)];
            int i = 0;
            for (byte b : digest) {
                int i2 = i + 1;
                cArr2[i] = cArr[(b >>> 4) & 15];
                i = i2 + 1;
                cArr2[i2] = cArr[b & cb.m];
            }
            return new String(cArr2);
        } catch (Exception e) {
            e.printStackTrace();
            return "";
        }
    }

    private static String h(Activity activity) {
        WifiInfo connectionInfo = ((WifiManager) activity.getApplication().getSystemService(NetworkUtil.NETWORK_TYPE_WIFI)).getConnectionInfo();
        if (connectionInfo == null) {
            return "";
        }
        String macAddress = connectionInfo.getMacAddress();
        return !TextUtils.isEmpty(macAddress) ? macAddress.trim() : "";
    }

    private static String g() {
        try {
            return new LineNumberReader(new InputStreamReader(Runtime.getRuntime().exec("cat /sys/class/net/eth0/address").getInputStream())).readLine().trim();
        } catch (Exception unused) {
            return "";
        }
    }

    private static String b(String str) {
        try {
            Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
            while (networkInterfaces.hasMoreElements()) {
                NetworkInterface nextElement = networkInterfaces.nextElement();
                if (nextElement.getName().equals(str)) {
                    return a(nextElement.getHardwareAddress());
                }
            }
            return "";
        } catch (Exception unused) {
            return "";
        }
    }

    private static String a(byte[] bArr) {
        StringBuffer stringBuffer = new StringBuffer();
        for (int i = 0; i < bArr.length; i++) {
            String hexString = Integer.toHexString(bArr[i] & UByte.MAX_VALUE);
            if (hexString.length() < 2) {
                stringBuffer.append(0);
            }
            stringBuffer.append(hexString);
            if (i != bArr.length - 1) {
                stringBuffer.append(":");
            }
        }
        return stringBuffer.toString();
    }

    public static String getVersionName(Context context) {
        try {
            return context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName;
        } catch (PackageManager.NameNotFoundException unused) {
            return "";
        }
    }
}