192 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			192 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| 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);
 | |
|     }
 | |
| }
 |