ADD week 5
This commit is contained in:
		
							
								
								
									
										64
									
								
								02-Easy5/E5/sources/androidx/appcompat/widget/ViewUtils.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								02-Easy5/E5/sources/androidx/appcompat/widget/ViewUtils.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,64 @@ | ||||
| package androidx.appcompat.widget; | ||||
|  | ||||
| import android.graphics.Rect; | ||||
| import android.os.Build; | ||||
| import android.util.Log; | ||||
| import android.view.View; | ||||
| import androidx.core.view.ViewCompat; | ||||
| import java.lang.reflect.InvocationTargetException; | ||||
| import java.lang.reflect.Method; | ||||
|  | ||||
| /* loaded from: classes.dex */ | ||||
| public class ViewUtils { | ||||
|     static final boolean SDK_LEVEL_SUPPORTS_AUTOSIZE; | ||||
|     private static final String TAG = "ViewUtils"; | ||||
|     private static Method sComputeFitSystemWindowsMethod; | ||||
|  | ||||
|     static { | ||||
|         SDK_LEVEL_SUPPORTS_AUTOSIZE = Build.VERSION.SDK_INT >= 27; | ||||
|         try { | ||||
|             Method declaredMethod = View.class.getDeclaredMethod("computeFitSystemWindows", Rect.class, Rect.class); | ||||
|             sComputeFitSystemWindowsMethod = declaredMethod; | ||||
|             if (declaredMethod.isAccessible()) { | ||||
|                 return; | ||||
|             } | ||||
|             sComputeFitSystemWindowsMethod.setAccessible(true); | ||||
|         } catch (NoSuchMethodException unused) { | ||||
|             Log.d(TAG, "Could not find method computeFitSystemWindows. Oh well."); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     private ViewUtils() { | ||||
|     } | ||||
|  | ||||
|     public static boolean isLayoutRtl(View view) { | ||||
|         return ViewCompat.getLayoutDirection(view) == 1; | ||||
|     } | ||||
|  | ||||
|     public static void computeFitSystemWindows(View view, Rect rect, Rect rect2) { | ||||
|         Method method = sComputeFitSystemWindowsMethod; | ||||
|         if (method != null) { | ||||
|             try { | ||||
|                 method.invoke(view, rect, rect2); | ||||
|             } catch (Exception e) { | ||||
|                 Log.d(TAG, "Could not invoke computeFitSystemWindows", e); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     public static void makeOptionalFitsSystemWindows(View view) { | ||||
|         try { | ||||
|             Method method = view.getClass().getMethod("makeOptionalFitsSystemWindows", new Class[0]); | ||||
|             if (!method.isAccessible()) { | ||||
|                 method.setAccessible(true); | ||||
|             } | ||||
|             method.invoke(view, new Object[0]); | ||||
|         } catch (IllegalAccessException e) { | ||||
|             Log.d(TAG, "Could not invoke makeOptionalFitsSystemWindows", e); | ||||
|         } catch (NoSuchMethodException unused) { | ||||
|             Log.d(TAG, "Could not find method makeOptionalFitsSystemWindows. Oh well..."); | ||||
|         } catch (InvocationTargetException e2) { | ||||
|             Log.d(TAG, "Could not invoke makeOptionalFitsSystemWindows", e2); | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user