ADD week 5
This commit is contained in:
		
							
								
								
									
										60
									
								
								02-Easy5/E5/sources/androidx/transition/CanvasUtils.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								02-Easy5/E5/sources/androidx/transition/CanvasUtils.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,60 @@ | ||||
| package androidx.transition; | ||||
|  | ||||
| import android.graphics.Canvas; | ||||
| import android.os.Build; | ||||
| import java.lang.reflect.InvocationTargetException; | ||||
| import java.lang.reflect.Method; | ||||
|  | ||||
| /* loaded from: classes.dex */ | ||||
| class CanvasUtils { | ||||
|     private static Method sInorderBarrierMethod; | ||||
|     private static boolean sOrderMethodsFetched; | ||||
|     private static Method sReorderBarrierMethod; | ||||
|  | ||||
|     static void enableZ(Canvas canvas, boolean z) { | ||||
|         Method method; | ||||
|         if (Build.VERSION.SDK_INT >= 29) { | ||||
|             if (z) { | ||||
|                 canvas.enableZ(); | ||||
|                 return; | ||||
|             } else { | ||||
|                 canvas.disableZ(); | ||||
|                 return; | ||||
|             } | ||||
|         } | ||||
|         if (Build.VERSION.SDK_INT == 28) { | ||||
|             throw new IllegalStateException("This method doesn't work on Pie!"); | ||||
|         } | ||||
|         if (!sOrderMethodsFetched) { | ||||
|             try { | ||||
|                 Method declaredMethod = Canvas.class.getDeclaredMethod("insertReorderBarrier", new Class[0]); | ||||
|                 sReorderBarrierMethod = declaredMethod; | ||||
|                 declaredMethod.setAccessible(true); | ||||
|                 Method declaredMethod2 = Canvas.class.getDeclaredMethod("insertInorderBarrier", new Class[0]); | ||||
|                 sInorderBarrierMethod = declaredMethod2; | ||||
|                 declaredMethod2.setAccessible(true); | ||||
|             } catch (NoSuchMethodException unused) { | ||||
|             } | ||||
|             sOrderMethodsFetched = true; | ||||
|         } | ||||
|         if (z) { | ||||
|             try { | ||||
|                 Method method2 = sReorderBarrierMethod; | ||||
|                 if (method2 != null) { | ||||
|                     method2.invoke(canvas, new Object[0]); | ||||
|                 } | ||||
|             } catch (IllegalAccessException unused2) { | ||||
|                 return; | ||||
|             } catch (InvocationTargetException e) { | ||||
|                 throw new RuntimeException(e.getCause()); | ||||
|             } | ||||
|         } | ||||
|         if (z || (method = sInorderBarrierMethod) == null) { | ||||
|             return; | ||||
|         } | ||||
|         method.invoke(canvas, new Object[0]); | ||||
|     } | ||||
|  | ||||
|     private CanvasUtils() { | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user