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