package androidx.constraintlayout.motion.widget; import android.content.Context; import android.content.res.Resources; import android.util.Log; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.nio.CharBuffer; /* loaded from: classes.dex */ public class Debug { public static void logStack(String tag, String msg, int n) { StackTraceElement[] stackTrace = new Throwable().getStackTrace(); int min = Math.min(n, stackTrace.length - 1); String str = " "; for (int i = 1; i <= min; i++) { StackTraceElement stackTraceElement = stackTrace[i]; str = str + " "; Log.v(tag, msg + str + (".(" + stackTrace[i].getFileName() + ":" + stackTrace[i].getLineNumber() + ") " + stackTrace[i].getMethodName()) + str); } } public static void printStack(String msg, int n) { StackTraceElement[] stackTrace = new Throwable().getStackTrace(); int min = Math.min(n, stackTrace.length - 1); String str = " "; for (int i = 1; i <= min; i++) { StackTraceElement stackTraceElement = stackTrace[i]; String str2 = ".(" + stackTrace[i].getFileName() + ":" + stackTrace[i].getLineNumber() + ") "; str = str + " "; System.out.println(msg + str + str2 + str); } } public static String getName(View view) { try { return view.getContext().getResources().getResourceEntryName(view.getId()); } catch (Exception unused) { return "UNKNOWN"; } } public static void dumpPoc(Object obj) { StackTraceElement stackTraceElement = new Throwable().getStackTrace()[1]; String str = ".(" + stackTraceElement.getFileName() + ":" + stackTraceElement.getLineNumber() + ")"; Class cls = obj.getClass(); System.out.println(str + "------------- " + cls.getName() + " --------------------"); for (Field field : cls.getFields()) { try { Object obj2 = field.get(obj); if (field.getName().startsWith("layout_constraint") && ((!(obj2 instanceof Integer) || !obj2.toString().equals("-1")) && ((!(obj2 instanceof Integer) || !obj2.toString().equals("0")) && ((!(obj2 instanceof Float) || !obj2.toString().equals("1.0")) && (!(obj2 instanceof Float) || !obj2.toString().equals("0.5")))))) { System.out.println(str + " " + field.getName() + " " + obj2); } } catch (IllegalAccessException unused) { } } System.out.println(str + "------------- " + cls.getSimpleName() + " --------------------"); } public static String getName(Context context, int id) { if (id == -1) { return "UNKNOWN"; } try { return context.getResources().getResourceEntryName(id); } catch (Exception unused) { return "?" + id; } } public static String getName(Context context, int[] id) { String str; try { String str2 = id.length + "["; int i = 0; while (i < id.length) { StringBuilder sb = new StringBuilder(); sb.append(str2); sb.append(i == 0 ? "" : " "); String sb2 = sb.toString(); try { str = context.getResources().getResourceEntryName(id[i]); } catch (Resources.NotFoundException unused) { str = "? " + id[i] + " "; } str2 = sb2 + str; i++; } return str2 + "]"; } catch (Exception e) { Log.v("DEBUG", e.toString()); return "UNKNOWN"; } } public static String getState(MotionLayout layout, int stateId) { return getState(layout, stateId, -1); } public static String getState(MotionLayout layout, int stateId, int len) { int length; if (stateId == -1) { return "UNDEFINED"; } String resourceEntryName = layout.getContext().getResources().getResourceEntryName(stateId); if (len == -1) { return resourceEntryName; } if (resourceEntryName.length() > len) { resourceEntryName = resourceEntryName.replaceAll("([^_])[aeiou]+", "$1"); } if (resourceEntryName.length() <= len || (length = resourceEntryName.replaceAll("[^_]", "").length()) <= 0) { return resourceEntryName; } return resourceEntryName.replaceAll(CharBuffer.allocate((resourceEntryName.length() - len) / length).toString().replace((char) 0, '.') + "_", "_"); } public static String getActionType(MotionEvent event) { int action = event.getAction(); for (Field field : MotionEvent.class.getFields()) { try { if (Modifier.isStatic(field.getModifiers()) && field.getType().equals(Integer.TYPE) && field.getInt(null) == action) { return field.getName(); } } catch (IllegalAccessException unused) { } } return "---"; } public static String getLocation() { StackTraceElement stackTraceElement = new Throwable().getStackTrace()[1]; return ".(" + stackTraceElement.getFileName() + ":" + stackTraceElement.getLineNumber() + ")"; } public static String getLoc() { StackTraceElement stackTraceElement = new Throwable().getStackTrace()[1]; return ".(" + stackTraceElement.getFileName() + ":" + stackTraceElement.getLineNumber() + ") " + stackTraceElement.getMethodName() + "()"; } public static String getLocation2() { StackTraceElement stackTraceElement = new Throwable().getStackTrace()[2]; return ".(" + stackTraceElement.getFileName() + ":" + stackTraceElement.getLineNumber() + ")"; } public static String getCallFrom(int n) { StackTraceElement stackTraceElement = new Throwable().getStackTrace()[n + 2]; return ".(" + stackTraceElement.getFileName() + ":" + stackTraceElement.getLineNumber() + ")"; } public static void dumpLayoutParams(ViewGroup layout, String str) { StackTraceElement stackTraceElement = new Throwable().getStackTrace()[1]; String str2 = ".(" + stackTraceElement.getFileName() + ":" + stackTraceElement.getLineNumber() + ") " + str + " "; int childCount = layout.getChildCount(); System.out.println(str + " children " + childCount); for (int i = 0; i < childCount; i++) { View childAt = layout.getChildAt(i); System.out.println(str2 + " " + getName(childAt)); ViewGroup.LayoutParams layoutParams = childAt.getLayoutParams(); for (Field field : layoutParams.getClass().getFields()) { try { Object obj = field.get(layoutParams); if (field.getName().contains("To") && !obj.toString().equals("-1")) { System.out.println(str2 + " " + field.getName() + " " + obj); } } catch (IllegalAccessException unused) { } } } } public static void dumpLayoutParams(ViewGroup.LayoutParams param, String str) { StackTraceElement stackTraceElement = new Throwable().getStackTrace()[1]; String str2 = ".(" + stackTraceElement.getFileName() + ":" + stackTraceElement.getLineNumber() + ") " + str + " "; System.out.println(" >>>>>>>>>>>>>>>>>>. dump " + str2 + " " + param.getClass().getName()); for (Field field : param.getClass().getFields()) { try { Object obj = field.get(param); String name = field.getName(); if (name.contains("To") && !obj.toString().equals("-1")) { System.out.println(str2 + " " + name + " " + obj); } } catch (IllegalAccessException unused) { } } System.out.println(" <<<<<<<<<<<<<<<<< dump " + str2); } }