k.java 源代码
package com.apm.insight.b;
import android.os.Build;
import android.os.Looper;
import android.os.Message;
import android.os.MessageQueue;
import java.lang.reflect.Field;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
public class k {
private static MessageQueue f6388a;
private static Field f6389b;
private static Field f6390c;
protected static Message a(Message message) {
Field field = f6390c;
if (field != null) {
try {
return (Message) field.get(message);
} catch (Exception unused) {
return null;
}
}
try {
Field declaredField = Class.forName("android.os.Message").getDeclaredField("next");
f6390c = declaredField;
declaredField.setAccessible(true);
return (Message) f6390c.get(message);
} catch (Exception unused2) {
return null;
}
}
public static Message a(MessageQueue messageQueue) {
Field field = f6389b;
if (field != null) {
try {
return (Message) field.get(messageQueue);
} catch (Exception unused) {
return null;
}
}
try {
Field declaredField = Class.forName("android.os.MessageQueue").getDeclaredField("mMessages");
f6389b = declaredField;
declaredField.setAccessible(true);
return (Message) f6389b.get(messageQueue);
} catch (Exception unused2) {
return null;
}
}
public static MessageQueue a() {
MessageQueue queue;
if (f6388a == null && Looper.getMainLooper() != null) {
Looper mainLooper = Looper.getMainLooper();
if (mainLooper == Looper.myLooper()) {
queue = Looper.myQueue();
} else if (Build.VERSION.SDK_INT >= 23) {
queue = mainLooper.getQueue();
} else {
try {
Field declaredField = mainLooper.getClass().getDeclaredField("mQueue");
declaredField.setAccessible(true);
f6388a = (MessageQueue) declaredField.get(mainLooper);
} catch (Throwable th) {
th.printStackTrace();
}
}
f6388a = queue;
}
return f6388a;
}
public static JSONArray a(int i6, long j6) {
MessageQueue a7 = a();
JSONArray jSONArray = new JSONArray();
if (a7 == null) {
return jSONArray;
}
try {
synchronized (a7) {
Message a8 = a(a7);
if (a8 == null) {
return jSONArray;
}
int i7 = 0;
int i8 = 0;
while (a8 != null && i7 < i6) {
i7++;
i8++;
JSONObject a9 = a(a8, j6);
try {
a9.put("id", i8);
} catch (JSONException unused) {
}
jSONArray.put(a9);
a8 = a(a8);
}
return jSONArray;
}
} catch (Throwable th) {
com.apm.insight.b.a().a("NPTH_CATCH", th);
return jSONArray;
}
}
private static JSONObject a(Message message, long j6) {
JSONObject jSONObject = new JSONObject();
if (message == null) {
return jSONObject;
}
try {
jSONObject.put("when", message.getWhen() - j6);
if (message.getCallback() != null) {
jSONObject.put("callback", String.valueOf(message.getCallback()));
}
jSONObject.put("what", message.what);
if (message.getTarget() != null) {
jSONObject.put("target", String.valueOf(message.getTarget()));
} else {
jSONObject.put("barrier", message.arg1);
}
jSONObject.put("arg1", message.arg1);
jSONObject.put("arg2", message.arg2);
Object obj = message.obj;
if (obj != null) {
jSONObject.put("obj", obj);
}
} catch (JSONException e6) {
e6.printStackTrace();
}
return jSONObject;
}
}