ADD week 5
This commit is contained in:
		| @@ -0,0 +1,191 @@ | ||||
| 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); | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user