mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2025-01-09 13:43:22 +00:00
345 lines
22 KiB
Java
345 lines
22 KiB
Java
package androidx.appcompat.widget;
|
|
|
|
import android.content.Context;
|
|
import android.content.res.ColorStateList;
|
|
import android.graphics.Bitmap;
|
|
import android.graphics.Canvas;
|
|
import android.graphics.PorterDuff;
|
|
import android.graphics.PorterDuffColorFilter;
|
|
import android.graphics.Shader;
|
|
import android.graphics.drawable.BitmapDrawable;
|
|
import android.graphics.drawable.Drawable;
|
|
import android.graphics.drawable.LayerDrawable;
|
|
import androidx.appcompat.R;
|
|
import androidx.appcompat.content.res.AppCompatResources;
|
|
import androidx.appcompat.widget.ResourceManagerInternal;
|
|
import androidx.core.graphics.ColorUtils;
|
|
|
|
/* loaded from: classes.dex */
|
|
public final class AppCompatDrawableManager {
|
|
private static final boolean DEBUG = false;
|
|
private static final PorterDuff.Mode DEFAULT_MODE = PorterDuff.Mode.SRC_IN;
|
|
private static AppCompatDrawableManager INSTANCE = null;
|
|
private static final String TAG = "AppCompatDrawableManag";
|
|
private ResourceManagerInternal mResourceManager;
|
|
|
|
public static synchronized void preload() {
|
|
synchronized (AppCompatDrawableManager.class) {
|
|
if (INSTANCE == null) {
|
|
AppCompatDrawableManager appCompatDrawableManager = new AppCompatDrawableManager();
|
|
INSTANCE = appCompatDrawableManager;
|
|
appCompatDrawableManager.mResourceManager = ResourceManagerInternal.get();
|
|
INSTANCE.mResourceManager.setHooks(new ResourceManagerInternal.ResourceManagerHooks() { // from class: androidx.appcompat.widget.AppCompatDrawableManager.1
|
|
private final int[] COLORFILTER_TINT_COLOR_CONTROL_NORMAL = {R.drawable.abc_textfield_search_default_mtrl_alpha, R.drawable.abc_textfield_default_mtrl_alpha, R.drawable.abc_ab_share_pack_mtrl_alpha};
|
|
private final int[] TINT_COLOR_CONTROL_NORMAL = {R.drawable.abc_ic_commit_search_api_mtrl_alpha, R.drawable.abc_seekbar_tick_mark_material, R.drawable.abc_ic_menu_share_mtrl_alpha, R.drawable.abc_ic_menu_copy_mtrl_am_alpha, R.drawable.abc_ic_menu_cut_mtrl_alpha, R.drawable.abc_ic_menu_selectall_mtrl_alpha, R.drawable.abc_ic_menu_paste_mtrl_am_alpha};
|
|
private final int[] COLORFILTER_COLOR_CONTROL_ACTIVATED = {R.drawable.abc_textfield_activated_mtrl_alpha, R.drawable.abc_textfield_search_activated_mtrl_alpha, R.drawable.abc_cab_background_top_mtrl_alpha, R.drawable.abc_text_cursor_material, R.drawable.abc_text_select_handle_left_mtrl, R.drawable.abc_text_select_handle_middle_mtrl, R.drawable.abc_text_select_handle_right_mtrl};
|
|
private final int[] COLORFILTER_COLOR_BACKGROUND_MULTIPLY = {R.drawable.abc_popup_background_mtrl_mult, R.drawable.abc_cab_background_internal_bg, R.drawable.abc_menu_hardkey_panel_mtrl_mult};
|
|
private final int[] TINT_COLOR_CONTROL_STATE_LIST = {R.drawable.abc_tab_indicator_material, R.drawable.abc_textfield_search_material};
|
|
private final int[] TINT_CHECKABLE_BUTTON_LIST = {R.drawable.abc_btn_check_material, R.drawable.abc_btn_radio_material, R.drawable.abc_btn_check_material_anim, R.drawable.abc_btn_radio_material_anim};
|
|
|
|
private ColorStateList createDefaultButtonColorStateList(Context context) {
|
|
return createButtonColorStateList(context, ThemeUtils.getThemeAttrColor(context, R.attr.colorButtonNormal));
|
|
}
|
|
|
|
private ColorStateList createBorderlessButtonColorStateList(Context context) {
|
|
return createButtonColorStateList(context, 0);
|
|
}
|
|
|
|
private ColorStateList createColoredButtonColorStateList(Context context) {
|
|
return createButtonColorStateList(context, ThemeUtils.getThemeAttrColor(context, R.attr.colorAccent));
|
|
}
|
|
|
|
private ColorStateList createButtonColorStateList(Context context, int i) {
|
|
int themeAttrColor = ThemeUtils.getThemeAttrColor(context, R.attr.colorControlHighlight);
|
|
return new ColorStateList(new int[][]{ThemeUtils.DISABLED_STATE_SET, ThemeUtils.PRESSED_STATE_SET, ThemeUtils.FOCUSED_STATE_SET, ThemeUtils.EMPTY_STATE_SET}, new int[]{ThemeUtils.getDisabledThemeAttrColor(context, R.attr.colorButtonNormal), ColorUtils.compositeColors(themeAttrColor, i), ColorUtils.compositeColors(themeAttrColor, i), i});
|
|
}
|
|
|
|
private ColorStateList createSwitchThumbColorStateList(Context context) {
|
|
int[][] iArr = new int[3];
|
|
int[] iArr2 = new int[3];
|
|
ColorStateList themeAttrColorStateList = ThemeUtils.getThemeAttrColorStateList(context, R.attr.colorSwitchThumbNormal);
|
|
if (themeAttrColorStateList != null && themeAttrColorStateList.isStateful()) {
|
|
int[] iArr3 = ThemeUtils.DISABLED_STATE_SET;
|
|
iArr[0] = iArr3;
|
|
iArr2[0] = themeAttrColorStateList.getColorForState(iArr3, 0);
|
|
iArr[1] = ThemeUtils.CHECKED_STATE_SET;
|
|
iArr2[1] = ThemeUtils.getThemeAttrColor(context, R.attr.colorControlActivated);
|
|
iArr[2] = ThemeUtils.EMPTY_STATE_SET;
|
|
iArr2[2] = themeAttrColorStateList.getDefaultColor();
|
|
} else {
|
|
iArr[0] = ThemeUtils.DISABLED_STATE_SET;
|
|
iArr2[0] = ThemeUtils.getDisabledThemeAttrColor(context, R.attr.colorSwitchThumbNormal);
|
|
iArr[1] = ThemeUtils.CHECKED_STATE_SET;
|
|
iArr2[1] = ThemeUtils.getThemeAttrColor(context, R.attr.colorControlActivated);
|
|
iArr[2] = ThemeUtils.EMPTY_STATE_SET;
|
|
iArr2[2] = ThemeUtils.getThemeAttrColor(context, R.attr.colorSwitchThumbNormal);
|
|
}
|
|
return new ColorStateList(iArr, iArr2);
|
|
}
|
|
|
|
@Override // androidx.appcompat.widget.ResourceManagerInternal.ResourceManagerHooks
|
|
public Drawable createDrawableFor(ResourceManagerInternal resourceManagerInternal, Context context, int i) {
|
|
if (i == R.drawable.abc_cab_background_top_material) {
|
|
return new LayerDrawable(new Drawable[]{resourceManagerInternal.getDrawable(context, R.drawable.abc_cab_background_internal_bg), resourceManagerInternal.getDrawable(context, R.drawable.abc_cab_background_top_mtrl_alpha)});
|
|
}
|
|
if (i == R.drawable.abc_ratingbar_material) {
|
|
return getRatingBarLayerDrawable(resourceManagerInternal, context, R.dimen.abc_star_big);
|
|
}
|
|
if (i == R.drawable.abc_ratingbar_indicator_material) {
|
|
return getRatingBarLayerDrawable(resourceManagerInternal, context, R.dimen.abc_star_medium);
|
|
}
|
|
if (i == R.drawable.abc_ratingbar_small_material) {
|
|
return getRatingBarLayerDrawable(resourceManagerInternal, context, R.dimen.abc_star_small);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
private LayerDrawable getRatingBarLayerDrawable(ResourceManagerInternal resourceManagerInternal, Context context, int i) {
|
|
BitmapDrawable bitmapDrawable;
|
|
BitmapDrawable bitmapDrawable2;
|
|
BitmapDrawable bitmapDrawable3;
|
|
int dimensionPixelSize = context.getResources().getDimensionPixelSize(i);
|
|
Drawable drawable = resourceManagerInternal.getDrawable(context, R.drawable.abc_star_black_48dp);
|
|
Drawable drawable2 = resourceManagerInternal.getDrawable(context, R.drawable.abc_star_half_black_48dp);
|
|
if ((drawable instanceof BitmapDrawable) && drawable.getIntrinsicWidth() == dimensionPixelSize && drawable.getIntrinsicHeight() == dimensionPixelSize) {
|
|
bitmapDrawable = (BitmapDrawable) drawable;
|
|
bitmapDrawable2 = new BitmapDrawable(bitmapDrawable.getBitmap());
|
|
} else {
|
|
Bitmap createBitmap = Bitmap.createBitmap(dimensionPixelSize, dimensionPixelSize, Bitmap.Config.ARGB_8888);
|
|
Canvas canvas = new Canvas(createBitmap);
|
|
drawable.setBounds(0, 0, dimensionPixelSize, dimensionPixelSize);
|
|
drawable.draw(canvas);
|
|
bitmapDrawable = new BitmapDrawable(createBitmap);
|
|
bitmapDrawable2 = new BitmapDrawable(createBitmap);
|
|
}
|
|
bitmapDrawable2.setTileModeX(Shader.TileMode.REPEAT);
|
|
if ((drawable2 instanceof BitmapDrawable) && drawable2.getIntrinsicWidth() == dimensionPixelSize && drawable2.getIntrinsicHeight() == dimensionPixelSize) {
|
|
bitmapDrawable3 = (BitmapDrawable) drawable2;
|
|
} else {
|
|
Bitmap createBitmap2 = Bitmap.createBitmap(dimensionPixelSize, dimensionPixelSize, Bitmap.Config.ARGB_8888);
|
|
Canvas canvas2 = new Canvas(createBitmap2);
|
|
drawable2.setBounds(0, 0, dimensionPixelSize, dimensionPixelSize);
|
|
drawable2.draw(canvas2);
|
|
bitmapDrawable3 = new BitmapDrawable(createBitmap2);
|
|
}
|
|
LayerDrawable layerDrawable = new LayerDrawable(new Drawable[]{bitmapDrawable, bitmapDrawable3, bitmapDrawable2});
|
|
layerDrawable.setId(0, android.R.id.background);
|
|
layerDrawable.setId(1, android.R.id.secondaryProgress);
|
|
layerDrawable.setId(2, android.R.id.progress);
|
|
return layerDrawable;
|
|
}
|
|
|
|
private void setPorterDuffColorFilter(Drawable drawable, int i, PorterDuff.Mode mode) {
|
|
if (DrawableUtils.canSafelyMutateDrawable(drawable)) {
|
|
drawable = drawable.mutate();
|
|
}
|
|
if (mode == null) {
|
|
mode = AppCompatDrawableManager.DEFAULT_MODE;
|
|
}
|
|
drawable.setColorFilter(AppCompatDrawableManager.getPorterDuffColorFilter(i, mode));
|
|
}
|
|
|
|
@Override // androidx.appcompat.widget.ResourceManagerInternal.ResourceManagerHooks
|
|
public boolean tintDrawable(Context context, int i, Drawable drawable) {
|
|
if (i == R.drawable.abc_seekbar_track_material) {
|
|
LayerDrawable layerDrawable = (LayerDrawable) drawable;
|
|
setPorterDuffColorFilter(layerDrawable.findDrawableByLayerId(android.R.id.background), ThemeUtils.getThemeAttrColor(context, R.attr.colorControlNormal), AppCompatDrawableManager.DEFAULT_MODE);
|
|
setPorterDuffColorFilter(layerDrawable.findDrawableByLayerId(android.R.id.secondaryProgress), ThemeUtils.getThemeAttrColor(context, R.attr.colorControlNormal), AppCompatDrawableManager.DEFAULT_MODE);
|
|
setPorterDuffColorFilter(layerDrawable.findDrawableByLayerId(android.R.id.progress), ThemeUtils.getThemeAttrColor(context, R.attr.colorControlActivated), AppCompatDrawableManager.DEFAULT_MODE);
|
|
return true;
|
|
}
|
|
if (i != R.drawable.abc_ratingbar_material && i != R.drawable.abc_ratingbar_indicator_material && i != R.drawable.abc_ratingbar_small_material) {
|
|
return false;
|
|
}
|
|
LayerDrawable layerDrawable2 = (LayerDrawable) drawable;
|
|
setPorterDuffColorFilter(layerDrawable2.findDrawableByLayerId(android.R.id.background), ThemeUtils.getDisabledThemeAttrColor(context, R.attr.colorControlNormal), AppCompatDrawableManager.DEFAULT_MODE);
|
|
setPorterDuffColorFilter(layerDrawable2.findDrawableByLayerId(android.R.id.secondaryProgress), ThemeUtils.getThemeAttrColor(context, R.attr.colorControlActivated), AppCompatDrawableManager.DEFAULT_MODE);
|
|
setPorterDuffColorFilter(layerDrawable2.findDrawableByLayerId(android.R.id.progress), ThemeUtils.getThemeAttrColor(context, R.attr.colorControlActivated), AppCompatDrawableManager.DEFAULT_MODE);
|
|
return true;
|
|
}
|
|
|
|
private boolean arrayContains(int[] iArr, int i) {
|
|
for (int i2 : iArr) {
|
|
if (i2 == i) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
@Override // androidx.appcompat.widget.ResourceManagerInternal.ResourceManagerHooks
|
|
public ColorStateList getTintListForDrawableRes(Context context, int i) {
|
|
if (i == R.drawable.abc_edit_text_material) {
|
|
return AppCompatResources.getColorStateList(context, R.color.abc_tint_edittext);
|
|
}
|
|
if (i == R.drawable.abc_switch_track_mtrl_alpha) {
|
|
return AppCompatResources.getColorStateList(context, R.color.abc_tint_switch_track);
|
|
}
|
|
if (i == R.drawable.abc_switch_thumb_material) {
|
|
return createSwitchThumbColorStateList(context);
|
|
}
|
|
if (i == R.drawable.abc_btn_default_mtrl_shape) {
|
|
return createDefaultButtonColorStateList(context);
|
|
}
|
|
if (i == R.drawable.abc_btn_borderless_material) {
|
|
return createBorderlessButtonColorStateList(context);
|
|
}
|
|
if (i == R.drawable.abc_btn_colored_material) {
|
|
return createColoredButtonColorStateList(context);
|
|
}
|
|
if (i == R.drawable.abc_spinner_mtrl_am_alpha || i == R.drawable.abc_spinner_textfield_background_material) {
|
|
return AppCompatResources.getColorStateList(context, R.color.abc_tint_spinner);
|
|
}
|
|
if (arrayContains(this.TINT_COLOR_CONTROL_NORMAL, i)) {
|
|
return ThemeUtils.getThemeAttrColorStateList(context, R.attr.colorControlNormal);
|
|
}
|
|
if (arrayContains(this.TINT_COLOR_CONTROL_STATE_LIST, i)) {
|
|
return AppCompatResources.getColorStateList(context, R.color.abc_tint_default);
|
|
}
|
|
if (arrayContains(this.TINT_CHECKABLE_BUTTON_LIST, i)) {
|
|
return AppCompatResources.getColorStateList(context, R.color.abc_tint_btn_checkable);
|
|
}
|
|
if (i == R.drawable.abc_seekbar_thumb_material) {
|
|
return AppCompatResources.getColorStateList(context, R.color.abc_tint_seek_thumb);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
/* JADX WARN: Removed duplicated region for block: B:15:0x0066 A[RETURN] */
|
|
/* JADX WARN: Removed duplicated region for block: B:7:0x004b */
|
|
@Override // androidx.appcompat.widget.ResourceManagerInternal.ResourceManagerHooks
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct add '--show-bad-code' argument
|
|
*/
|
|
public boolean tintDrawableUsingColorFilter(android.content.Context r7, int r8, android.graphics.drawable.Drawable r9) {
|
|
/*
|
|
r6 = this;
|
|
android.graphics.PorterDuff$Mode r0 = androidx.appcompat.widget.AppCompatDrawableManager.access$000()
|
|
int[] r1 = r6.COLORFILTER_TINT_COLOR_CONTROL_NORMAL
|
|
boolean r1 = r6.arrayContains(r1, r8)
|
|
r2 = 1
|
|
r3 = 0
|
|
r4 = -1
|
|
if (r1 == 0) goto L14
|
|
int r6 = androidx.appcompat.R.attr.colorControlNormal
|
|
L11:
|
|
r1 = r2
|
|
L12:
|
|
r8 = r4
|
|
goto L49
|
|
L14:
|
|
int[] r1 = r6.COLORFILTER_COLOR_CONTROL_ACTIVATED
|
|
boolean r1 = r6.arrayContains(r1, r8)
|
|
if (r1 == 0) goto L1f
|
|
int r6 = androidx.appcompat.R.attr.colorControlActivated
|
|
goto L11
|
|
L1f:
|
|
int[] r1 = r6.COLORFILTER_COLOR_BACKGROUND_MULTIPLY
|
|
boolean r6 = r6.arrayContains(r1, r8)
|
|
r1 = 16842801(0x1010031, float:2.3693695E-38)
|
|
if (r6 == 0) goto L2e
|
|
android.graphics.PorterDuff$Mode r0 = android.graphics.PorterDuff.Mode.MULTIPLY
|
|
L2c:
|
|
r6 = r1
|
|
goto L11
|
|
L2e:
|
|
int r6 = androidx.appcompat.R.drawable.abc_list_divider_mtrl_alpha
|
|
if (r8 != r6) goto L41
|
|
r6 = 1109603123(0x42233333, float:40.8)
|
|
int r6 = java.lang.Math.round(r6)
|
|
r8 = 16842800(0x1010030, float:2.3693693E-38)
|
|
r1 = r2
|
|
r5 = r8
|
|
r8 = r6
|
|
r6 = r5
|
|
goto L49
|
|
L41:
|
|
int r6 = androidx.appcompat.R.drawable.abc_dialog_material_background
|
|
if (r8 != r6) goto L46
|
|
goto L2c
|
|
L46:
|
|
r6 = r3
|
|
r1 = r6
|
|
goto L12
|
|
L49:
|
|
if (r1 == 0) goto L66
|
|
boolean r1 = androidx.appcompat.widget.DrawableUtils.canSafelyMutateDrawable(r9)
|
|
if (r1 == 0) goto L55
|
|
android.graphics.drawable.Drawable r9 = r9.mutate()
|
|
L55:
|
|
int r6 = androidx.appcompat.widget.ThemeUtils.getThemeAttrColor(r7, r6)
|
|
android.graphics.PorterDuffColorFilter r6 = androidx.appcompat.widget.AppCompatDrawableManager.getPorterDuffColorFilter(r6, r0)
|
|
r9.setColorFilter(r6)
|
|
if (r8 == r4) goto L65
|
|
r9.setAlpha(r8)
|
|
L65:
|
|
return r2
|
|
L66:
|
|
return r3
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: androidx.appcompat.widget.AppCompatDrawableManager.AnonymousClass1.tintDrawableUsingColorFilter(android.content.Context, int, android.graphics.drawable.Drawable):boolean");
|
|
}
|
|
|
|
@Override // androidx.appcompat.widget.ResourceManagerInternal.ResourceManagerHooks
|
|
public PorterDuff.Mode getTintModeForDrawableRes(int i) {
|
|
if (i == R.drawable.abc_switch_thumb_material) {
|
|
return PorterDuff.Mode.MULTIPLY;
|
|
}
|
|
return null;
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
|
|
public static synchronized AppCompatDrawableManager get() {
|
|
AppCompatDrawableManager appCompatDrawableManager;
|
|
synchronized (AppCompatDrawableManager.class) {
|
|
if (INSTANCE == null) {
|
|
preload();
|
|
}
|
|
appCompatDrawableManager = INSTANCE;
|
|
}
|
|
return appCompatDrawableManager;
|
|
}
|
|
|
|
public synchronized Drawable getDrawable(Context context, int i) {
|
|
return this.mResourceManager.getDrawable(context, i);
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public synchronized Drawable getDrawable(Context context, int i, boolean z) {
|
|
return this.mResourceManager.getDrawable(context, i, z);
|
|
}
|
|
|
|
public synchronized void onConfigurationChanged(Context context) {
|
|
this.mResourceManager.onConfigurationChanged(context);
|
|
}
|
|
|
|
synchronized Drawable onDrawableLoadedFromResources(Context context, VectorEnabledTintResources vectorEnabledTintResources, int i) {
|
|
return this.mResourceManager.onDrawableLoadedFromResources(context, vectorEnabledTintResources, i);
|
|
}
|
|
|
|
boolean tintDrawableUsingColorFilter(Context context, int i, Drawable drawable) {
|
|
return this.mResourceManager.tintDrawableUsingColorFilter(context, i, drawable);
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public synchronized ColorStateList getTintList(Context context, int i) {
|
|
return this.mResourceManager.getTintList(context, i);
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public static void tintDrawable(Drawable drawable, TintInfo tintInfo, int[] iArr) {
|
|
ResourceManagerInternal.tintDrawable(drawable, tintInfo, iArr);
|
|
}
|
|
|
|
public static synchronized PorterDuffColorFilter getPorterDuffColorFilter(int i, PorterDuff.Mode mode) {
|
|
PorterDuffColorFilter porterDuffColorFilter;
|
|
synchronized (AppCompatDrawableManager.class) {
|
|
porterDuffColorFilter = ResourceManagerInternal.getPorterDuffColorFilter(i, mode);
|
|
}
|
|
return porterDuffColorFilter;
|
|
}
|
|
}
|