100 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package com.google.android.material.resources;
 | |
| 
 | |
| import android.content.Context;
 | |
| import android.content.res.ColorStateList;
 | |
| import android.content.res.TypedArray;
 | |
| import android.graphics.drawable.Drawable;
 | |
| import android.os.Build;
 | |
| import android.util.TypedValue;
 | |
| import androidx.appcompat.content.res.AppCompatResources;
 | |
| import androidx.appcompat.widget.TintTypedArray;
 | |
| import com.google.android.material.R;
 | |
| 
 | |
| /* loaded from: classes.dex */
 | |
| public class MaterialResources {
 | |
|     private static final float FONT_SCALE_1_3 = 1.3f;
 | |
|     private static final float FONT_SCALE_2_0 = 2.0f;
 | |
| 
 | |
|     private MaterialResources() {
 | |
|     }
 | |
| 
 | |
|     public static ColorStateList getColorStateList(Context context, TypedArray typedArray, int i) {
 | |
|         int resourceId;
 | |
|         ColorStateList colorStateList;
 | |
|         return (!typedArray.hasValue(i) || (resourceId = typedArray.getResourceId(i, 0)) == 0 || (colorStateList = AppCompatResources.getColorStateList(context, resourceId)) == null) ? typedArray.getColorStateList(i) : colorStateList;
 | |
|     }
 | |
| 
 | |
|     public static ColorStateList getColorStateList(Context context, TintTypedArray tintTypedArray, int i) {
 | |
|         int resourceId;
 | |
|         ColorStateList colorStateList;
 | |
|         return (!tintTypedArray.hasValue(i) || (resourceId = tintTypedArray.getResourceId(i, 0)) == 0 || (colorStateList = AppCompatResources.getColorStateList(context, resourceId)) == null) ? tintTypedArray.getColorStateList(i) : colorStateList;
 | |
|     }
 | |
| 
 | |
|     public static Drawable getDrawable(Context context, TypedArray typedArray, int i) {
 | |
|         int resourceId;
 | |
|         Drawable drawable;
 | |
|         return (!typedArray.hasValue(i) || (resourceId = typedArray.getResourceId(i, 0)) == 0 || (drawable = AppCompatResources.getDrawable(context, resourceId)) == null) ? typedArray.getDrawable(i) : drawable;
 | |
|     }
 | |
| 
 | |
|     public static TextAppearance getTextAppearance(Context context, TypedArray typedArray, int i) {
 | |
|         int resourceId;
 | |
|         if (!typedArray.hasValue(i) || (resourceId = typedArray.getResourceId(i, 0)) == 0) {
 | |
|             return null;
 | |
|         }
 | |
|         return new TextAppearance(context, resourceId);
 | |
|     }
 | |
| 
 | |
|     public static int getDimensionPixelSize(Context context, TypedArray typedArray, int i, int i2) {
 | |
|         TypedValue typedValue = new TypedValue();
 | |
|         if (!typedArray.getValue(i, typedValue) || typedValue.type != 2) {
 | |
|             return typedArray.getDimensionPixelSize(i, i2);
 | |
|         }
 | |
|         TypedArray obtainStyledAttributes = context.getTheme().obtainStyledAttributes(new int[]{typedValue.data});
 | |
|         int dimensionPixelSize = obtainStyledAttributes.getDimensionPixelSize(0, i2);
 | |
|         obtainStyledAttributes.recycle();
 | |
|         return dimensionPixelSize;
 | |
|     }
 | |
| 
 | |
|     public static boolean isFontScaleAtLeast1_3(Context context) {
 | |
|         return context.getResources().getConfiguration().fontScale >= FONT_SCALE_1_3;
 | |
|     }
 | |
| 
 | |
|     public static boolean isFontScaleAtLeast2_0(Context context) {
 | |
|         return context.getResources().getConfiguration().fontScale >= FONT_SCALE_2_0;
 | |
|     }
 | |
| 
 | |
|     public static float getFontScale(Context context) {
 | |
|         return context.getResources().getConfiguration().fontScale;
 | |
|     }
 | |
| 
 | |
|     public static int getUnscaledTextSize(Context context, int i, int i2) {
 | |
|         if (i == 0) {
 | |
|             return i2;
 | |
|         }
 | |
|         TypedArray obtainStyledAttributes = context.obtainStyledAttributes(i, R.styleable.TextAppearance);
 | |
|         TypedValue typedValue = new TypedValue();
 | |
|         boolean value = obtainStyledAttributes.getValue(R.styleable.TextAppearance_android_textSize, typedValue);
 | |
|         obtainStyledAttributes.recycle();
 | |
|         if (!value) {
 | |
|             return i2;
 | |
|         }
 | |
|         if (getComplexUnit(typedValue) == 2) {
 | |
|             return Math.round(TypedValue.complexToFloat(typedValue.data) * context.getResources().getDisplayMetrics().density);
 | |
|         }
 | |
|         return TypedValue.complexToDimensionPixelSize(typedValue.data, context.getResources().getDisplayMetrics());
 | |
|     }
 | |
| 
 | |
|     private static int getComplexUnit(TypedValue typedValue) {
 | |
|         int complexUnit;
 | |
|         if (Build.VERSION.SDK_INT >= 22) {
 | |
|             complexUnit = typedValue.getComplexUnit();
 | |
|             return complexUnit;
 | |
|         }
 | |
|         return typedValue.data & 15;
 | |
|     }
 | |
| 
 | |
|     static int getIndexWithValue(TypedArray typedArray, int i, int i2) {
 | |
|         return typedArray.hasValue(i) ? i : i2;
 | |
|     }
 | |
| }
 |