MiscUtil.java 源代码
package com.x8zs.plugin.utils;
import android.app.Activity;
import android.content.Context;
import android.net.Uri;
import android.text.ClipboardManager;
import android.text.TextUtils;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.Toast;
import androidx.exifinterface.media.ExifInterface;
import com.umeng.analytics.pro.bx;
import java.io.File;
import java.io.FileInputStream;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Pattern;
import org.json.JSONArray;
public class MiscUtil {
public static void copy2Clipboard(Context context, String str) {
((ClipboardManager) context.getSystemService("clipboard")).setText(str);
}
public static String formatBytes(long j6) {
if (j6 == 0) {
return "0B";
}
String[] strArr = {"B", "K", "M", "G", ExifInterface.GPS_DIRECTION_TRUE, "P", ExifInterface.LONGITUDE_EAST, "Z", "Y"};
double d6 = j6;
double d7 = 1024;
int floor = (int) Math.floor(Math.log(d6) / Math.log(d7));
return String.format("%.2f%s", Double.valueOf(d6 / Math.pow(d7, floor)), strArr[floor]);
}
public static double getRound(double d6) {
return Math.round(d6 * 100.0d) / 100.0d;
}
public static String hex(byte[] bArr) {
char[] cArr = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
char[] cArr2 = new char[bArr.length * 2];
for (int i6 = 0; i6 < bArr.length; i6++) {
byte b6 = bArr[i6];
int i7 = i6 * 2;
cArr2[i7] = cArr[(b6 >> 4) & 15];
cArr2[i7 + 1] = cArr[b6 & bx.f20591m];
}
return new String(cArr2);
}
public static void hideSoftKeyboard(Context context, View view) {
((InputMethodManager) context.getSystemService("input_method")).hideSoftInputFromWindow(view.getWindowToken(), 0);
}
public static boolean isActivityInvalid(Activity activity) {
if (activity == null || activity.isFinishing() || activity.isDestroyed()) {
return true;
}
return false;
}
public static boolean isDebugMode(Context context) {
try {
if ((context.getApplicationInfo().flags & 2) == 0) {
return false;
}
return true;
} catch (Throwable unused) {
return false;
}
}
public static boolean isEmail(String str) {
return Pattern.compile("^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$").matcher(str).matches();
}
public static boolean isEmpty(List<?> list) {
return list == null || list.size() == 0;
}
public static boolean isFullScreen(Activity activity) {
return (activity.getWindow().getAttributes().flags & 1024) == 1024;
}
public static boolean isListEqual(List<?> list, List<?> list2) {
if (list == null) {
if (list2 == null) {
return true;
}
return false;
}
if (list2 == null || list.size() != list2.size()) {
return false;
}
int size = list.size();
for (int i6 = 0; i6 < size; i6++) {
Object obj = list.get(i6);
Object obj2 = list2.get(i6);
if (obj != null || obj2 != null) {
if (obj == null && obj2 != null) {
return false;
}
if ((obj != null && obj2 == null) || !obj.equals(obj2)) {
return false;
}
}
}
return true;
}
public static String join(List<String> list, String str) {
StringBuilder sb = new StringBuilder();
for (int i6 = 0; i6 < list.size(); i6++) {
sb.append(list.get(i6));
if (i6 != list.size() - 1) {
sb.append(str);
}
}
return sb.toString();
}
public static void jsonArrayStr2ListStr(JSONArray jSONArray, List<String> list) {
if (jSONArray == null) {
return;
}
for (int i6 = 0; i6 < jSONArray.length(); i6++) {
list.add(jSONArray.getString(i6));
}
}
public static void listStr2JsonArray(List<String> list, JSONArray jSONArray) {
if (isEmpty(list)) {
return;
}
for (int i6 = 0; i6 < list.size(); i6++) {
jSONArray.put(i6, list.get(i6));
}
}
public static String md5(String str) {
try {
return hex(MessageDigest.getInstance("MD5").digest(str.getBytes()));
} catch (Throwable th) {
th.printStackTrace();
return "";
}
}
public static Uri resourceIdToUri(Context context, int i6) {
return Uri.parse("android.resource://" + context.getPackageName() + "/" + i6);
}
public static void showDebugToast(Context context, String str, int i6) {
if (isDebugMode(context)) {
Toast.makeText(context, str, i6).show();
}
}
public static void showSoftKeyboard(Context context, View view) {
((InputMethodManager) context.getSystemService("input_method")).showSoftInput(view, 2);
}
public static void sleep(long j6) {
try {
Thread.sleep(j6);
} catch (Throwable th) {
th.printStackTrace();
}
}
public static List<String> split(String str, String str2) {
if (TextUtils.isEmpty(str)) {
return new ArrayList();
}
return Arrays.asList(str.split(str2));
}
public static String md5(File file) {
FileInputStream fileInputStream = null;
try {
MessageDigest messageDigest = MessageDigest.getInstance("MD5");
byte[] bArr = new byte[8192];
FileInputStream fileInputStream2 = new FileInputStream(file);
while (true) {
try {
int read = fileInputStream2.read(bArr);
if (read > 0) {
messageDigest.update(bArr, 0, read);
} else {
String replace = String.format("%32s", new BigInteger(1, messageDigest.digest()).toString(16)).replace(' ', '0');
IOUtil.close(fileInputStream2);
return replace;
}
} catch (Throwable th) {
th = th;
fileInputStream = fileInputStream2;
try {
th.printStackTrace();
IOUtil.close(fileInputStream);
return "";
} catch (Throwable th2) {
IOUtil.close(fileInputStream);
throw th2;
}
}
}
} catch (Throwable th3) {
th = th3;
}
}
}