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