ADD week 5
This commit is contained in:
242
02-Easy5/E5/sources/androidx/vectordrawable/R.java
Normal file
242
02-Easy5/E5/sources/androidx/vectordrawable/R.java
Normal file
@ -0,0 +1,242 @@
|
||||
package androidx.vectordrawable;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class R {
|
||||
|
||||
public static final class attr {
|
||||
public static final int alpha = 0x7f03002e;
|
||||
public static final int font = 0x7f0301fb;
|
||||
public static final int fontProviderAuthority = 0x7f0301fd;
|
||||
public static final int fontProviderCerts = 0x7f0301fe;
|
||||
public static final int fontProviderFetchStrategy = 0x7f0301ff;
|
||||
public static final int fontProviderFetchTimeout = 0x7f030200;
|
||||
public static final int fontProviderPackage = 0x7f030201;
|
||||
public static final int fontProviderQuery = 0x7f030202;
|
||||
public static final int fontStyle = 0x7f030204;
|
||||
public static final int fontVariationSettings = 0x7f030205;
|
||||
public static final int fontWeight = 0x7f030206;
|
||||
public static final int ttcIndex = 0x7f0304b6;
|
||||
|
||||
private attr() {
|
||||
}
|
||||
}
|
||||
|
||||
public static final class color {
|
||||
public static final int notification_action_color_filter = 0x7f0502e9;
|
||||
public static final int notification_icon_bg_color = 0x7f0502ea;
|
||||
public static final int ripple_material_light = 0x7f0502f7;
|
||||
public static final int secondary_text_default_material_light = 0x7f0502f9;
|
||||
|
||||
private color() {
|
||||
}
|
||||
}
|
||||
|
||||
public static final class dimen {
|
||||
public static final int compat_button_inset_horizontal_material = 0x7f060058;
|
||||
public static final int compat_button_inset_vertical_material = 0x7f060059;
|
||||
public static final int compat_button_padding_horizontal_material = 0x7f06005a;
|
||||
public static final int compat_button_padding_vertical_material = 0x7f06005b;
|
||||
public static final int compat_control_corner_material = 0x7f06005c;
|
||||
public static final int compat_notification_large_icon_max_height = 0x7f06005d;
|
||||
public static final int compat_notification_large_icon_max_width = 0x7f06005e;
|
||||
public static final int notification_action_icon_size = 0x7f060307;
|
||||
public static final int notification_action_text_size = 0x7f060308;
|
||||
public static final int notification_big_circle_margin = 0x7f060309;
|
||||
public static final int notification_content_margin_start = 0x7f06030a;
|
||||
public static final int notification_large_icon_height = 0x7f06030b;
|
||||
public static final int notification_large_icon_width = 0x7f06030c;
|
||||
public static final int notification_main_column_padding_top = 0x7f06030d;
|
||||
public static final int notification_media_narrow_margin = 0x7f06030e;
|
||||
public static final int notification_right_icon_size = 0x7f06030f;
|
||||
public static final int notification_right_side_padding_top = 0x7f060310;
|
||||
public static final int notification_small_icon_background_padding = 0x7f060311;
|
||||
public static final int notification_small_icon_size_as_large = 0x7f060312;
|
||||
public static final int notification_subtext_size = 0x7f060313;
|
||||
public static final int notification_top_pad = 0x7f060314;
|
||||
public static final int notification_top_pad_large_text = 0x7f060315;
|
||||
|
||||
private dimen() {
|
||||
}
|
||||
}
|
||||
|
||||
public static final class drawable {
|
||||
public static final int notification_action_background = 0x7f0700d0;
|
||||
public static final int notification_bg = 0x7f0700d1;
|
||||
public static final int notification_bg_low = 0x7f0700d2;
|
||||
public static final int notification_bg_low_normal = 0x7f0700d3;
|
||||
public static final int notification_bg_low_pressed = 0x7f0700d4;
|
||||
public static final int notification_bg_normal = 0x7f0700d5;
|
||||
public static final int notification_bg_normal_pressed = 0x7f0700d6;
|
||||
public static final int notification_icon_background = 0x7f0700d7;
|
||||
public static final int notification_template_icon_bg = 0x7f0700d8;
|
||||
public static final int notification_template_icon_low_bg = 0x7f0700d9;
|
||||
public static final int notification_tile_bg = 0x7f0700da;
|
||||
public static final int notify_panel_notification_icon_bg = 0x7f0700db;
|
||||
|
||||
private drawable() {
|
||||
}
|
||||
}
|
||||
|
||||
public static final class id {
|
||||
public static final int accessibility_action_clickable_span = 0x7f08000f;
|
||||
public static final int accessibility_custom_action_0 = 0x7f080010;
|
||||
public static final int accessibility_custom_action_1 = 0x7f080011;
|
||||
public static final int accessibility_custom_action_10 = 0x7f080012;
|
||||
public static final int accessibility_custom_action_11 = 0x7f080013;
|
||||
public static final int accessibility_custom_action_12 = 0x7f080014;
|
||||
public static final int accessibility_custom_action_13 = 0x7f080015;
|
||||
public static final int accessibility_custom_action_14 = 0x7f080016;
|
||||
public static final int accessibility_custom_action_15 = 0x7f080017;
|
||||
public static final int accessibility_custom_action_16 = 0x7f080018;
|
||||
public static final int accessibility_custom_action_17 = 0x7f080019;
|
||||
public static final int accessibility_custom_action_18 = 0x7f08001a;
|
||||
public static final int accessibility_custom_action_19 = 0x7f08001b;
|
||||
public static final int accessibility_custom_action_2 = 0x7f08001c;
|
||||
public static final int accessibility_custom_action_20 = 0x7f08001d;
|
||||
public static final int accessibility_custom_action_21 = 0x7f08001e;
|
||||
public static final int accessibility_custom_action_22 = 0x7f08001f;
|
||||
public static final int accessibility_custom_action_23 = 0x7f080020;
|
||||
public static final int accessibility_custom_action_24 = 0x7f080021;
|
||||
public static final int accessibility_custom_action_25 = 0x7f080022;
|
||||
public static final int accessibility_custom_action_26 = 0x7f080023;
|
||||
public static final int accessibility_custom_action_27 = 0x7f080024;
|
||||
public static final int accessibility_custom_action_28 = 0x7f080025;
|
||||
public static final int accessibility_custom_action_29 = 0x7f080026;
|
||||
public static final int accessibility_custom_action_3 = 0x7f080027;
|
||||
public static final int accessibility_custom_action_30 = 0x7f080028;
|
||||
public static final int accessibility_custom_action_31 = 0x7f080029;
|
||||
public static final int accessibility_custom_action_4 = 0x7f08002a;
|
||||
public static final int accessibility_custom_action_5 = 0x7f08002b;
|
||||
public static final int accessibility_custom_action_6 = 0x7f08002c;
|
||||
public static final int accessibility_custom_action_7 = 0x7f08002d;
|
||||
public static final int accessibility_custom_action_8 = 0x7f08002e;
|
||||
public static final int accessibility_custom_action_9 = 0x7f08002f;
|
||||
public static final int action_container = 0x7f08003a;
|
||||
public static final int action_divider = 0x7f08003c;
|
||||
public static final int action_image = 0x7f08003d;
|
||||
public static final int action_text = 0x7f080043;
|
||||
public static final int actions = 0x7f080044;
|
||||
public static final int async = 0x7f080052;
|
||||
public static final int blocking = 0x7f08005c;
|
||||
public static final int chronometer = 0x7f080071;
|
||||
public static final int dialog_button = 0x7f080095;
|
||||
public static final int forever = 0x7f0800c2;
|
||||
public static final int icon = 0x7f0800d4;
|
||||
public static final int icon_group = 0x7f0800d5;
|
||||
public static final int info = 0x7f0800dd;
|
||||
public static final int italic = 0x7f0800e0;
|
||||
public static final int line1 = 0x7f0800e9;
|
||||
public static final int line3 = 0x7f0800ea;
|
||||
public static final int normal = 0x7f080139;
|
||||
public static final int notification_background = 0x7f08013b;
|
||||
public static final int notification_main_column = 0x7f08013c;
|
||||
public static final int notification_main_column_container = 0x7f08013d;
|
||||
public static final int right_icon = 0x7f08016b;
|
||||
public static final int right_side = 0x7f08016c;
|
||||
public static final int tag_accessibility_actions = 0x7f0801ad;
|
||||
public static final int tag_accessibility_clickable_spans = 0x7f0801ae;
|
||||
public static final int tag_accessibility_heading = 0x7f0801af;
|
||||
public static final int tag_accessibility_pane_title = 0x7f0801b0;
|
||||
public static final int tag_screen_reader_focusable = 0x7f0801b4;
|
||||
public static final int tag_transition_group = 0x7f0801b6;
|
||||
public static final int tag_unhandled_key_event_manager = 0x7f0801b7;
|
||||
public static final int tag_unhandled_key_listeners = 0x7f0801b8;
|
||||
public static final int text = 0x7f0801ba;
|
||||
public static final int text2 = 0x7f0801bb;
|
||||
public static final int time = 0x7f0801ca;
|
||||
public static final int title = 0x7f0801cb;
|
||||
|
||||
private id() {
|
||||
}
|
||||
}
|
||||
|
||||
public static final class integer {
|
||||
public static final int status_bar_notification_info_maxnum = 0x7f090043;
|
||||
|
||||
private integer() {
|
||||
}
|
||||
}
|
||||
|
||||
public static final class layout {
|
||||
public static final int custom_dialog = 0x7f0b001d;
|
||||
public static final int notification_action = 0x7f0b0060;
|
||||
public static final int notification_action_tombstone = 0x7f0b0061;
|
||||
public static final int notification_template_custom_big = 0x7f0b0062;
|
||||
public static final int notification_template_icon_group = 0x7f0b0063;
|
||||
public static final int notification_template_part_chronometer = 0x7f0b0064;
|
||||
public static final int notification_template_part_time = 0x7f0b0065;
|
||||
|
||||
private layout() {
|
||||
}
|
||||
}
|
||||
|
||||
public static final class string {
|
||||
public static final int status_bar_notification_info_overflow = 0x7f0f00a8;
|
||||
|
||||
private string() {
|
||||
}
|
||||
}
|
||||
|
||||
public static final class style {
|
||||
public static final int TextAppearance_Compat_Notification = 0x7f1001c3;
|
||||
public static final int TextAppearance_Compat_Notification_Info = 0x7f1001c4;
|
||||
public static final int TextAppearance_Compat_Notification_Line2 = 0x7f1001c5;
|
||||
public static final int TextAppearance_Compat_Notification_Time = 0x7f1001c6;
|
||||
public static final int TextAppearance_Compat_Notification_Title = 0x7f1001c7;
|
||||
public static final int Widget_Compat_NotificationActionContainer = 0x7f10032d;
|
||||
public static final int Widget_Compat_NotificationActionText = 0x7f10032e;
|
||||
|
||||
private style() {
|
||||
}
|
||||
}
|
||||
|
||||
public static final class styleable {
|
||||
public static final int ColorStateListItem_alpha = 0x00000003;
|
||||
public static final int ColorStateListItem_android_alpha = 0x00000001;
|
||||
public static final int ColorStateListItem_android_color = 0x00000000;
|
||||
public static final int ColorStateListItem_android_lStar = 0x00000002;
|
||||
public static final int ColorStateListItem_lStar = 0x00000004;
|
||||
public static final int FontFamilyFont_android_font = 0x00000000;
|
||||
public static final int FontFamilyFont_android_fontStyle = 0x00000002;
|
||||
public static final int FontFamilyFont_android_fontVariationSettings = 0x00000004;
|
||||
public static final int FontFamilyFont_android_fontWeight = 0x00000001;
|
||||
public static final int FontFamilyFont_android_ttcIndex = 0x00000003;
|
||||
public static final int FontFamilyFont_font = 0x00000005;
|
||||
public static final int FontFamilyFont_fontStyle = 0x00000006;
|
||||
public static final int FontFamilyFont_fontVariationSettings = 0x00000007;
|
||||
public static final int FontFamilyFont_fontWeight = 0x00000008;
|
||||
public static final int FontFamilyFont_ttcIndex = 0x00000009;
|
||||
public static final int FontFamily_fontProviderAuthority = 0x00000000;
|
||||
public static final int FontFamily_fontProviderCerts = 0x00000001;
|
||||
public static final int FontFamily_fontProviderFetchStrategy = 0x00000002;
|
||||
public static final int FontFamily_fontProviderFetchTimeout = 0x00000003;
|
||||
public static final int FontFamily_fontProviderPackage = 0x00000004;
|
||||
public static final int FontFamily_fontProviderQuery = 0x00000005;
|
||||
public static final int FontFamily_fontProviderSystemFontFamily = 0x00000006;
|
||||
public static final int GradientColorItem_android_color = 0x00000000;
|
||||
public static final int GradientColorItem_android_offset = 0x00000001;
|
||||
public static final int GradientColor_android_centerColor = 0x00000007;
|
||||
public static final int GradientColor_android_centerX = 0x00000003;
|
||||
public static final int GradientColor_android_centerY = 0x00000004;
|
||||
public static final int GradientColor_android_endColor = 0x00000001;
|
||||
public static final int GradientColor_android_endX = 0x0000000a;
|
||||
public static final int GradientColor_android_endY = 0x0000000b;
|
||||
public static final int GradientColor_android_gradientRadius = 0x00000005;
|
||||
public static final int GradientColor_android_startColor = 0x00000000;
|
||||
public static final int GradientColor_android_startX = 0x00000008;
|
||||
public static final int GradientColor_android_startY = 0x00000009;
|
||||
public static final int GradientColor_android_tileMode = 0x00000006;
|
||||
public static final int GradientColor_android_type = 0x00000002;
|
||||
public static final int[] ColorStateListItem = {android.R.attr.color, android.R.attr.alpha, android.R.attr.lStar, ch.mod_p.sre24.e5.R.attr.alpha, ch.mod_p.sre24.e5.R.attr.lStar};
|
||||
public static final int[] FontFamily = {ch.mod_p.sre24.e5.R.attr.fontProviderAuthority, ch.mod_p.sre24.e5.R.attr.fontProviderCerts, ch.mod_p.sre24.e5.R.attr.fontProviderFetchStrategy, ch.mod_p.sre24.e5.R.attr.fontProviderFetchTimeout, ch.mod_p.sre24.e5.R.attr.fontProviderPackage, ch.mod_p.sre24.e5.R.attr.fontProviderQuery, ch.mod_p.sre24.e5.R.attr.fontProviderSystemFontFamily};
|
||||
public static final int[] FontFamilyFont = {android.R.attr.font, android.R.attr.fontWeight, android.R.attr.fontStyle, android.R.attr.ttcIndex, android.R.attr.fontVariationSettings, ch.mod_p.sre24.e5.R.attr.font, ch.mod_p.sre24.e5.R.attr.fontStyle, ch.mod_p.sre24.e5.R.attr.fontVariationSettings, ch.mod_p.sre24.e5.R.attr.fontWeight, ch.mod_p.sre24.e5.R.attr.ttcIndex};
|
||||
public static final int[] GradientColor = {android.R.attr.startColor, android.R.attr.endColor, android.R.attr.type, android.R.attr.centerX, android.R.attr.centerY, android.R.attr.gradientRadius, android.R.attr.tileMode, android.R.attr.centerColor, android.R.attr.startX, android.R.attr.startY, android.R.attr.endX, android.R.attr.endY};
|
||||
public static final int[] GradientColorItem = {android.R.attr.color, android.R.attr.offset};
|
||||
|
||||
private styleable() {
|
||||
}
|
||||
}
|
||||
|
||||
private R() {
|
||||
}
|
||||
}
|
242
02-Easy5/E5/sources/androidx/vectordrawable/animated/R.java
Normal file
242
02-Easy5/E5/sources/androidx/vectordrawable/animated/R.java
Normal file
@ -0,0 +1,242 @@
|
||||
package androidx.vectordrawable.animated;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class R {
|
||||
|
||||
public static final class attr {
|
||||
public static final int alpha = 0x7f03002e;
|
||||
public static final int font = 0x7f0301fb;
|
||||
public static final int fontProviderAuthority = 0x7f0301fd;
|
||||
public static final int fontProviderCerts = 0x7f0301fe;
|
||||
public static final int fontProviderFetchStrategy = 0x7f0301ff;
|
||||
public static final int fontProviderFetchTimeout = 0x7f030200;
|
||||
public static final int fontProviderPackage = 0x7f030201;
|
||||
public static final int fontProviderQuery = 0x7f030202;
|
||||
public static final int fontStyle = 0x7f030204;
|
||||
public static final int fontVariationSettings = 0x7f030205;
|
||||
public static final int fontWeight = 0x7f030206;
|
||||
public static final int ttcIndex = 0x7f0304b6;
|
||||
|
||||
private attr() {
|
||||
}
|
||||
}
|
||||
|
||||
public static final class color {
|
||||
public static final int notification_action_color_filter = 0x7f0502e9;
|
||||
public static final int notification_icon_bg_color = 0x7f0502ea;
|
||||
public static final int ripple_material_light = 0x7f0502f7;
|
||||
public static final int secondary_text_default_material_light = 0x7f0502f9;
|
||||
|
||||
private color() {
|
||||
}
|
||||
}
|
||||
|
||||
public static final class dimen {
|
||||
public static final int compat_button_inset_horizontal_material = 0x7f060058;
|
||||
public static final int compat_button_inset_vertical_material = 0x7f060059;
|
||||
public static final int compat_button_padding_horizontal_material = 0x7f06005a;
|
||||
public static final int compat_button_padding_vertical_material = 0x7f06005b;
|
||||
public static final int compat_control_corner_material = 0x7f06005c;
|
||||
public static final int compat_notification_large_icon_max_height = 0x7f06005d;
|
||||
public static final int compat_notification_large_icon_max_width = 0x7f06005e;
|
||||
public static final int notification_action_icon_size = 0x7f060307;
|
||||
public static final int notification_action_text_size = 0x7f060308;
|
||||
public static final int notification_big_circle_margin = 0x7f060309;
|
||||
public static final int notification_content_margin_start = 0x7f06030a;
|
||||
public static final int notification_large_icon_height = 0x7f06030b;
|
||||
public static final int notification_large_icon_width = 0x7f06030c;
|
||||
public static final int notification_main_column_padding_top = 0x7f06030d;
|
||||
public static final int notification_media_narrow_margin = 0x7f06030e;
|
||||
public static final int notification_right_icon_size = 0x7f06030f;
|
||||
public static final int notification_right_side_padding_top = 0x7f060310;
|
||||
public static final int notification_small_icon_background_padding = 0x7f060311;
|
||||
public static final int notification_small_icon_size_as_large = 0x7f060312;
|
||||
public static final int notification_subtext_size = 0x7f060313;
|
||||
public static final int notification_top_pad = 0x7f060314;
|
||||
public static final int notification_top_pad_large_text = 0x7f060315;
|
||||
|
||||
private dimen() {
|
||||
}
|
||||
}
|
||||
|
||||
public static final class drawable {
|
||||
public static final int notification_action_background = 0x7f0700d0;
|
||||
public static final int notification_bg = 0x7f0700d1;
|
||||
public static final int notification_bg_low = 0x7f0700d2;
|
||||
public static final int notification_bg_low_normal = 0x7f0700d3;
|
||||
public static final int notification_bg_low_pressed = 0x7f0700d4;
|
||||
public static final int notification_bg_normal = 0x7f0700d5;
|
||||
public static final int notification_bg_normal_pressed = 0x7f0700d6;
|
||||
public static final int notification_icon_background = 0x7f0700d7;
|
||||
public static final int notification_template_icon_bg = 0x7f0700d8;
|
||||
public static final int notification_template_icon_low_bg = 0x7f0700d9;
|
||||
public static final int notification_tile_bg = 0x7f0700da;
|
||||
public static final int notify_panel_notification_icon_bg = 0x7f0700db;
|
||||
|
||||
private drawable() {
|
||||
}
|
||||
}
|
||||
|
||||
public static final class id {
|
||||
public static final int accessibility_action_clickable_span = 0x7f08000f;
|
||||
public static final int accessibility_custom_action_0 = 0x7f080010;
|
||||
public static final int accessibility_custom_action_1 = 0x7f080011;
|
||||
public static final int accessibility_custom_action_10 = 0x7f080012;
|
||||
public static final int accessibility_custom_action_11 = 0x7f080013;
|
||||
public static final int accessibility_custom_action_12 = 0x7f080014;
|
||||
public static final int accessibility_custom_action_13 = 0x7f080015;
|
||||
public static final int accessibility_custom_action_14 = 0x7f080016;
|
||||
public static final int accessibility_custom_action_15 = 0x7f080017;
|
||||
public static final int accessibility_custom_action_16 = 0x7f080018;
|
||||
public static final int accessibility_custom_action_17 = 0x7f080019;
|
||||
public static final int accessibility_custom_action_18 = 0x7f08001a;
|
||||
public static final int accessibility_custom_action_19 = 0x7f08001b;
|
||||
public static final int accessibility_custom_action_2 = 0x7f08001c;
|
||||
public static final int accessibility_custom_action_20 = 0x7f08001d;
|
||||
public static final int accessibility_custom_action_21 = 0x7f08001e;
|
||||
public static final int accessibility_custom_action_22 = 0x7f08001f;
|
||||
public static final int accessibility_custom_action_23 = 0x7f080020;
|
||||
public static final int accessibility_custom_action_24 = 0x7f080021;
|
||||
public static final int accessibility_custom_action_25 = 0x7f080022;
|
||||
public static final int accessibility_custom_action_26 = 0x7f080023;
|
||||
public static final int accessibility_custom_action_27 = 0x7f080024;
|
||||
public static final int accessibility_custom_action_28 = 0x7f080025;
|
||||
public static final int accessibility_custom_action_29 = 0x7f080026;
|
||||
public static final int accessibility_custom_action_3 = 0x7f080027;
|
||||
public static final int accessibility_custom_action_30 = 0x7f080028;
|
||||
public static final int accessibility_custom_action_31 = 0x7f080029;
|
||||
public static final int accessibility_custom_action_4 = 0x7f08002a;
|
||||
public static final int accessibility_custom_action_5 = 0x7f08002b;
|
||||
public static final int accessibility_custom_action_6 = 0x7f08002c;
|
||||
public static final int accessibility_custom_action_7 = 0x7f08002d;
|
||||
public static final int accessibility_custom_action_8 = 0x7f08002e;
|
||||
public static final int accessibility_custom_action_9 = 0x7f08002f;
|
||||
public static final int action_container = 0x7f08003a;
|
||||
public static final int action_divider = 0x7f08003c;
|
||||
public static final int action_image = 0x7f08003d;
|
||||
public static final int action_text = 0x7f080043;
|
||||
public static final int actions = 0x7f080044;
|
||||
public static final int async = 0x7f080052;
|
||||
public static final int blocking = 0x7f08005c;
|
||||
public static final int chronometer = 0x7f080071;
|
||||
public static final int dialog_button = 0x7f080095;
|
||||
public static final int forever = 0x7f0800c2;
|
||||
public static final int icon = 0x7f0800d4;
|
||||
public static final int icon_group = 0x7f0800d5;
|
||||
public static final int info = 0x7f0800dd;
|
||||
public static final int italic = 0x7f0800e0;
|
||||
public static final int line1 = 0x7f0800e9;
|
||||
public static final int line3 = 0x7f0800ea;
|
||||
public static final int normal = 0x7f080139;
|
||||
public static final int notification_background = 0x7f08013b;
|
||||
public static final int notification_main_column = 0x7f08013c;
|
||||
public static final int notification_main_column_container = 0x7f08013d;
|
||||
public static final int right_icon = 0x7f08016b;
|
||||
public static final int right_side = 0x7f08016c;
|
||||
public static final int tag_accessibility_actions = 0x7f0801ad;
|
||||
public static final int tag_accessibility_clickable_spans = 0x7f0801ae;
|
||||
public static final int tag_accessibility_heading = 0x7f0801af;
|
||||
public static final int tag_accessibility_pane_title = 0x7f0801b0;
|
||||
public static final int tag_screen_reader_focusable = 0x7f0801b4;
|
||||
public static final int tag_transition_group = 0x7f0801b6;
|
||||
public static final int tag_unhandled_key_event_manager = 0x7f0801b7;
|
||||
public static final int tag_unhandled_key_listeners = 0x7f0801b8;
|
||||
public static final int text = 0x7f0801ba;
|
||||
public static final int text2 = 0x7f0801bb;
|
||||
public static final int time = 0x7f0801ca;
|
||||
public static final int title = 0x7f0801cb;
|
||||
|
||||
private id() {
|
||||
}
|
||||
}
|
||||
|
||||
public static final class integer {
|
||||
public static final int status_bar_notification_info_maxnum = 0x7f090043;
|
||||
|
||||
private integer() {
|
||||
}
|
||||
}
|
||||
|
||||
public static final class layout {
|
||||
public static final int custom_dialog = 0x7f0b001d;
|
||||
public static final int notification_action = 0x7f0b0060;
|
||||
public static final int notification_action_tombstone = 0x7f0b0061;
|
||||
public static final int notification_template_custom_big = 0x7f0b0062;
|
||||
public static final int notification_template_icon_group = 0x7f0b0063;
|
||||
public static final int notification_template_part_chronometer = 0x7f0b0064;
|
||||
public static final int notification_template_part_time = 0x7f0b0065;
|
||||
|
||||
private layout() {
|
||||
}
|
||||
}
|
||||
|
||||
public static final class string {
|
||||
public static final int status_bar_notification_info_overflow = 0x7f0f00a8;
|
||||
|
||||
private string() {
|
||||
}
|
||||
}
|
||||
|
||||
public static final class style {
|
||||
public static final int TextAppearance_Compat_Notification = 0x7f1001c3;
|
||||
public static final int TextAppearance_Compat_Notification_Info = 0x7f1001c4;
|
||||
public static final int TextAppearance_Compat_Notification_Line2 = 0x7f1001c5;
|
||||
public static final int TextAppearance_Compat_Notification_Time = 0x7f1001c6;
|
||||
public static final int TextAppearance_Compat_Notification_Title = 0x7f1001c7;
|
||||
public static final int Widget_Compat_NotificationActionContainer = 0x7f10032d;
|
||||
public static final int Widget_Compat_NotificationActionText = 0x7f10032e;
|
||||
|
||||
private style() {
|
||||
}
|
||||
}
|
||||
|
||||
public static final class styleable {
|
||||
public static final int ColorStateListItem_alpha = 0x00000003;
|
||||
public static final int ColorStateListItem_android_alpha = 0x00000001;
|
||||
public static final int ColorStateListItem_android_color = 0x00000000;
|
||||
public static final int ColorStateListItem_android_lStar = 0x00000002;
|
||||
public static final int ColorStateListItem_lStar = 0x00000004;
|
||||
public static final int FontFamilyFont_android_font = 0x00000000;
|
||||
public static final int FontFamilyFont_android_fontStyle = 0x00000002;
|
||||
public static final int FontFamilyFont_android_fontVariationSettings = 0x00000004;
|
||||
public static final int FontFamilyFont_android_fontWeight = 0x00000001;
|
||||
public static final int FontFamilyFont_android_ttcIndex = 0x00000003;
|
||||
public static final int FontFamilyFont_font = 0x00000005;
|
||||
public static final int FontFamilyFont_fontStyle = 0x00000006;
|
||||
public static final int FontFamilyFont_fontVariationSettings = 0x00000007;
|
||||
public static final int FontFamilyFont_fontWeight = 0x00000008;
|
||||
public static final int FontFamilyFont_ttcIndex = 0x00000009;
|
||||
public static final int FontFamily_fontProviderAuthority = 0x00000000;
|
||||
public static final int FontFamily_fontProviderCerts = 0x00000001;
|
||||
public static final int FontFamily_fontProviderFetchStrategy = 0x00000002;
|
||||
public static final int FontFamily_fontProviderFetchTimeout = 0x00000003;
|
||||
public static final int FontFamily_fontProviderPackage = 0x00000004;
|
||||
public static final int FontFamily_fontProviderQuery = 0x00000005;
|
||||
public static final int FontFamily_fontProviderSystemFontFamily = 0x00000006;
|
||||
public static final int GradientColorItem_android_color = 0x00000000;
|
||||
public static final int GradientColorItem_android_offset = 0x00000001;
|
||||
public static final int GradientColor_android_centerColor = 0x00000007;
|
||||
public static final int GradientColor_android_centerX = 0x00000003;
|
||||
public static final int GradientColor_android_centerY = 0x00000004;
|
||||
public static final int GradientColor_android_endColor = 0x00000001;
|
||||
public static final int GradientColor_android_endX = 0x0000000a;
|
||||
public static final int GradientColor_android_endY = 0x0000000b;
|
||||
public static final int GradientColor_android_gradientRadius = 0x00000005;
|
||||
public static final int GradientColor_android_startColor = 0x00000000;
|
||||
public static final int GradientColor_android_startX = 0x00000008;
|
||||
public static final int GradientColor_android_startY = 0x00000009;
|
||||
public static final int GradientColor_android_tileMode = 0x00000006;
|
||||
public static final int GradientColor_android_type = 0x00000002;
|
||||
public static final int[] ColorStateListItem = {android.R.attr.color, android.R.attr.alpha, android.R.attr.lStar, ch.mod_p.sre24.e5.R.attr.alpha, ch.mod_p.sre24.e5.R.attr.lStar};
|
||||
public static final int[] FontFamily = {ch.mod_p.sre24.e5.R.attr.fontProviderAuthority, ch.mod_p.sre24.e5.R.attr.fontProviderCerts, ch.mod_p.sre24.e5.R.attr.fontProviderFetchStrategy, ch.mod_p.sre24.e5.R.attr.fontProviderFetchTimeout, ch.mod_p.sre24.e5.R.attr.fontProviderPackage, ch.mod_p.sre24.e5.R.attr.fontProviderQuery, ch.mod_p.sre24.e5.R.attr.fontProviderSystemFontFamily};
|
||||
public static final int[] FontFamilyFont = {android.R.attr.font, android.R.attr.fontWeight, android.R.attr.fontStyle, android.R.attr.ttcIndex, android.R.attr.fontVariationSettings, ch.mod_p.sre24.e5.R.attr.font, ch.mod_p.sre24.e5.R.attr.fontStyle, ch.mod_p.sre24.e5.R.attr.fontVariationSettings, ch.mod_p.sre24.e5.R.attr.fontWeight, ch.mod_p.sre24.e5.R.attr.ttcIndex};
|
||||
public static final int[] GradientColor = {android.R.attr.startColor, android.R.attr.endColor, android.R.attr.type, android.R.attr.centerX, android.R.attr.centerY, android.R.attr.gradientRadius, android.R.attr.tileMode, android.R.attr.centerColor, android.R.attr.startX, android.R.attr.startY, android.R.attr.endX, android.R.attr.endY};
|
||||
public static final int[] GradientColorItem = {android.R.attr.color, android.R.attr.offset};
|
||||
|
||||
private styleable() {
|
||||
}
|
||||
}
|
||||
|
||||
private R() {
|
||||
}
|
||||
}
|
@ -0,0 +1,88 @@
|
||||
package androidx.vectordrawable.graphics.drawable;
|
||||
|
||||
import android.R;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
class AndroidResources {
|
||||
public static final int FAST_OUT_LINEAR_IN = 17563663;
|
||||
public static final int FAST_OUT_SLOW_IN = 17563661;
|
||||
public static final int LINEAR_OUT_SLOW_IN = 17563662;
|
||||
static final int STYLEABLE_ANIMATED_VECTOR_DRAWABLE_DRAWABLE = 0;
|
||||
static final int STYLEABLE_ANIMATED_VECTOR_DRAWABLE_TARGET_ANIMATION = 1;
|
||||
static final int STYLEABLE_ANIMATED_VECTOR_DRAWABLE_TARGET_NAME = 0;
|
||||
public static final int STYLEABLE_ANIMATOR_DURATION = 1;
|
||||
public static final int STYLEABLE_ANIMATOR_INTERPOLATOR = 0;
|
||||
public static final int STYLEABLE_ANIMATOR_REPEAT_COUNT = 3;
|
||||
public static final int STYLEABLE_ANIMATOR_REPEAT_MODE = 4;
|
||||
public static final int STYLEABLE_ANIMATOR_SET_ORDERING = 0;
|
||||
public static final int STYLEABLE_ANIMATOR_START_OFFSET = 2;
|
||||
public static final int STYLEABLE_ANIMATOR_VALUE_FROM = 5;
|
||||
public static final int STYLEABLE_ANIMATOR_VALUE_TO = 6;
|
||||
public static final int STYLEABLE_ANIMATOR_VALUE_TYPE = 7;
|
||||
public static final int STYLEABLE_KEYFRAME_FRACTION = 3;
|
||||
public static final int STYLEABLE_KEYFRAME_INTERPOLATOR = 1;
|
||||
public static final int STYLEABLE_KEYFRAME_VALUE = 0;
|
||||
public static final int STYLEABLE_KEYFRAME_VALUE_TYPE = 2;
|
||||
public static final int STYLEABLE_PATH_INTERPOLATOR_CONTROL_X_1 = 0;
|
||||
public static final int STYLEABLE_PATH_INTERPOLATOR_CONTROL_X_2 = 2;
|
||||
public static final int STYLEABLE_PATH_INTERPOLATOR_CONTROL_Y_1 = 1;
|
||||
public static final int STYLEABLE_PATH_INTERPOLATOR_CONTROL_Y_2 = 3;
|
||||
public static final int STYLEABLE_PATH_INTERPOLATOR_PATH_DATA = 4;
|
||||
public static final int STYLEABLE_PROPERTY_ANIMATOR_PATH_DATA = 1;
|
||||
public static final int STYLEABLE_PROPERTY_ANIMATOR_PROPERTY_NAME = 0;
|
||||
public static final int STYLEABLE_PROPERTY_ANIMATOR_PROPERTY_X_NAME = 2;
|
||||
public static final int STYLEABLE_PROPERTY_ANIMATOR_PROPERTY_Y_NAME = 3;
|
||||
public static final int STYLEABLE_PROPERTY_VALUES_HOLDER_PROPERTY_NAME = 3;
|
||||
public static final int STYLEABLE_PROPERTY_VALUES_HOLDER_VALUE_FROM = 0;
|
||||
public static final int STYLEABLE_PROPERTY_VALUES_HOLDER_VALUE_TO = 1;
|
||||
public static final int STYLEABLE_PROPERTY_VALUES_HOLDER_VALUE_TYPE = 2;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_ALPHA = 4;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_AUTO_MIRRORED = 5;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_CLIP_PATH_FILLTYPE = 2;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_CLIP_PATH_NAME = 0;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_CLIP_PATH_PATH_DATA = 1;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_GROUP_NAME = 0;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_GROUP_PIVOT_X = 1;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_GROUP_PIVOT_Y = 2;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_GROUP_ROTATION = 5;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_GROUP_SCALE_X = 3;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_GROUP_SCALE_Y = 4;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_GROUP_TRANSLATE_X = 6;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_GROUP_TRANSLATE_Y = 7;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_HEIGHT = 2;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_NAME = 0;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_PATH_FILL_ALPHA = 12;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_PATH_FILL_COLOR = 1;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_PATH_NAME = 0;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_PATH_PATH_DATA = 2;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_PATH_STROKE_ALPHA = 11;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_PATH_STROKE_COLOR = 3;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_PATH_STROKE_LINE_CAP = 8;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_PATH_STROKE_LINE_JOIN = 9;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_PATH_STROKE_MITER_LIMIT = 10;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_PATH_STROKE_WIDTH = 4;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_PATH_TRIM_PATH_END = 6;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_PATH_TRIM_PATH_FILLTYPE = 13;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_PATH_TRIM_PATH_OFFSET = 7;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_PATH_TRIM_PATH_START = 5;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_TINT = 1;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_TINT_MODE = 6;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_VIEWPORT_HEIGHT = 8;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_VIEWPORT_WIDTH = 7;
|
||||
static final int STYLEABLE_VECTOR_DRAWABLE_WIDTH = 3;
|
||||
static final int[] STYLEABLE_VECTOR_DRAWABLE_TYPE_ARRAY = {R.attr.name, R.attr.tint, R.attr.height, R.attr.width, R.attr.alpha, R.attr.autoMirrored, R.attr.tintMode, R.attr.viewportWidth, R.attr.viewportHeight};
|
||||
static final int[] STYLEABLE_VECTOR_DRAWABLE_GROUP = {R.attr.name, R.attr.pivotX, R.attr.pivotY, R.attr.scaleX, R.attr.scaleY, R.attr.rotation, R.attr.translateX, R.attr.translateY};
|
||||
static final int[] STYLEABLE_VECTOR_DRAWABLE_PATH = {R.attr.name, R.attr.fillColor, R.attr.pathData, R.attr.strokeColor, R.attr.strokeWidth, R.attr.trimPathStart, R.attr.trimPathEnd, R.attr.trimPathOffset, R.attr.strokeLineCap, R.attr.strokeLineJoin, R.attr.strokeMiterLimit, R.attr.strokeAlpha, R.attr.fillAlpha, R.attr.fillType};
|
||||
static final int[] STYLEABLE_VECTOR_DRAWABLE_CLIP_PATH = {R.attr.name, R.attr.pathData, R.attr.fillType};
|
||||
static final int[] STYLEABLE_ANIMATED_VECTOR_DRAWABLE = {R.attr.drawable};
|
||||
static final int[] STYLEABLE_ANIMATED_VECTOR_DRAWABLE_TARGET = {R.attr.name, R.attr.animation};
|
||||
public static final int[] STYLEABLE_ANIMATOR = {R.attr.interpolator, R.attr.duration, R.attr.startOffset, R.attr.repeatCount, R.attr.repeatMode, R.attr.valueFrom, R.attr.valueTo, R.attr.valueType};
|
||||
public static final int[] STYLEABLE_ANIMATOR_SET = {R.attr.ordering};
|
||||
public static final int[] STYLEABLE_PROPERTY_VALUES_HOLDER = {R.attr.valueFrom, R.attr.valueTo, R.attr.valueType, R.attr.propertyName};
|
||||
public static final int[] STYLEABLE_KEYFRAME = {R.attr.value, R.attr.interpolator, R.attr.valueType, R.attr.fraction};
|
||||
public static final int[] STYLEABLE_PROPERTY_ANIMATOR = {R.attr.propertyName, R.attr.pathData, R.attr.propertyXName, R.attr.propertyYName};
|
||||
public static final int[] STYLEABLE_PATH_INTERPOLATOR = {R.attr.controlX1, R.attr.controlY1, R.attr.controlX2, R.attr.controlY2, R.attr.pathData};
|
||||
|
||||
private AndroidResources() {
|
||||
}
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
package androidx.vectordrawable.graphics.drawable;
|
||||
|
||||
import android.graphics.drawable.Animatable;
|
||||
import android.graphics.drawable.Animatable2;
|
||||
import android.graphics.drawable.Drawable;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public interface Animatable2Compat extends Animatable {
|
||||
void clearAnimationCallbacks();
|
||||
|
||||
void registerAnimationCallback(AnimationCallback animationCallback);
|
||||
|
||||
boolean unregisterAnimationCallback(AnimationCallback animationCallback);
|
||||
|
||||
public static abstract class AnimationCallback {
|
||||
Animatable2.AnimationCallback mPlatformCallback;
|
||||
|
||||
public void onAnimationEnd(Drawable drawable) {
|
||||
}
|
||||
|
||||
public void onAnimationStart(Drawable drawable) {
|
||||
}
|
||||
|
||||
Animatable2.AnimationCallback getPlatformCallback() {
|
||||
if (this.mPlatformCallback == null) {
|
||||
this.mPlatformCallback = new Animatable2.AnimationCallback() { // from class: androidx.vectordrawable.graphics.drawable.Animatable2Compat.AnimationCallback.1
|
||||
@Override // android.graphics.drawable.Animatable2.AnimationCallback
|
||||
public void onAnimationStart(Drawable drawable) {
|
||||
AnimationCallback.this.onAnimationStart(drawable);
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Animatable2.AnimationCallback
|
||||
public void onAnimationEnd(Drawable drawable) {
|
||||
AnimationCallback.this.onAnimationEnd(drawable);
|
||||
}
|
||||
};
|
||||
}
|
||||
return this.mPlatformCallback;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,722 @@
|
||||
package androidx.vectordrawable.graphics.drawable;
|
||||
|
||||
import android.animation.Animator;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
import android.animation.AnimatorSet;
|
||||
import android.animation.ObjectAnimator;
|
||||
import android.content.Context;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.content.res.Resources;
|
||||
import android.content.res.TypedArray;
|
||||
import android.content.res.XmlResourceParser;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.ColorFilter;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.graphics.Rect;
|
||||
import android.graphics.Region;
|
||||
import android.graphics.drawable.Animatable;
|
||||
import android.graphics.drawable.AnimatedVectorDrawable;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Build;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.Log;
|
||||
import android.util.Xml;
|
||||
import androidx.collection.ArrayMap;
|
||||
import androidx.core.content.res.ResourcesCompat;
|
||||
import androidx.core.content.res.TypedArrayUtils;
|
||||
import androidx.core.graphics.drawable.DrawableCompat;
|
||||
import androidx.vectordrawable.graphics.drawable.Animatable2Compat;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class AnimatedVectorDrawableCompat extends VectorDrawableCommon implements Animatable2Compat {
|
||||
private static final String ANIMATED_VECTOR = "animated-vector";
|
||||
private static final boolean DBG_ANIMATION_VECTOR_DRAWABLE = false;
|
||||
private static final String LOGTAG = "AnimatedVDCompat";
|
||||
private static final String TARGET = "target";
|
||||
private AnimatedVectorDrawableCompatState mAnimatedVectorState;
|
||||
ArrayList<Animatable2Compat.AnimationCallback> mAnimationCallbacks;
|
||||
private Animator.AnimatorListener mAnimatorListener;
|
||||
private android.animation.ArgbEvaluator mArgbEvaluator;
|
||||
AnimatedVectorDrawableDelegateState mCachedConstantStateDelegate;
|
||||
final Drawable.Callback mCallback;
|
||||
private Context mContext;
|
||||
|
||||
@Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable
|
||||
public /* bridge */ /* synthetic */ void clearColorFilter() {
|
||||
super.clearColorFilter();
|
||||
}
|
||||
|
||||
@Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable
|
||||
public /* bridge */ /* synthetic */ Drawable getCurrent() {
|
||||
return super.getCurrent();
|
||||
}
|
||||
|
||||
@Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable
|
||||
public /* bridge */ /* synthetic */ int getMinimumHeight() {
|
||||
return super.getMinimumHeight();
|
||||
}
|
||||
|
||||
@Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable
|
||||
public /* bridge */ /* synthetic */ int getMinimumWidth() {
|
||||
return super.getMinimumWidth();
|
||||
}
|
||||
|
||||
@Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable
|
||||
public /* bridge */ /* synthetic */ boolean getPadding(Rect rect) {
|
||||
return super.getPadding(rect);
|
||||
}
|
||||
|
||||
@Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable
|
||||
public /* bridge */ /* synthetic */ int[] getState() {
|
||||
return super.getState();
|
||||
}
|
||||
|
||||
@Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable
|
||||
public /* bridge */ /* synthetic */ Region getTransparentRegion() {
|
||||
return super.getTransparentRegion();
|
||||
}
|
||||
|
||||
@Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable
|
||||
public /* bridge */ /* synthetic */ void jumpToCurrentState() {
|
||||
super.jumpToCurrentState();
|
||||
}
|
||||
|
||||
@Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable
|
||||
public /* bridge */ /* synthetic */ void setChangingConfigurations(int i) {
|
||||
super.setChangingConfigurations(i);
|
||||
}
|
||||
|
||||
@Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable
|
||||
public /* bridge */ /* synthetic */ void setColorFilter(int i, PorterDuff.Mode mode) {
|
||||
super.setColorFilter(i, mode);
|
||||
}
|
||||
|
||||
@Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable
|
||||
public /* bridge */ /* synthetic */ void setFilterBitmap(boolean z) {
|
||||
super.setFilterBitmap(z);
|
||||
}
|
||||
|
||||
@Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable
|
||||
public /* bridge */ /* synthetic */ void setHotspot(float f, float f2) {
|
||||
super.setHotspot(f, f2);
|
||||
}
|
||||
|
||||
@Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable
|
||||
public /* bridge */ /* synthetic */ void setHotspotBounds(int i, int i2, int i3, int i4) {
|
||||
super.setHotspotBounds(i, i2, i3, i4);
|
||||
}
|
||||
|
||||
@Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable
|
||||
public /* bridge */ /* synthetic */ boolean setState(int[] iArr) {
|
||||
return super.setState(iArr);
|
||||
}
|
||||
|
||||
AnimatedVectorDrawableCompat() {
|
||||
this(null, null, null);
|
||||
}
|
||||
|
||||
private AnimatedVectorDrawableCompat(Context context) {
|
||||
this(context, null, null);
|
||||
}
|
||||
|
||||
private AnimatedVectorDrawableCompat(Context context, AnimatedVectorDrawableCompatState animatedVectorDrawableCompatState, Resources resources) {
|
||||
this.mArgbEvaluator = null;
|
||||
this.mAnimatorListener = null;
|
||||
this.mAnimationCallbacks = null;
|
||||
Drawable.Callback callback = new Drawable.Callback() { // from class: androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat.1
|
||||
@Override // android.graphics.drawable.Drawable.Callback
|
||||
public void invalidateDrawable(Drawable drawable) {
|
||||
AnimatedVectorDrawableCompat.this.invalidateSelf();
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable.Callback
|
||||
public void scheduleDrawable(Drawable drawable, Runnable runnable, long j) {
|
||||
AnimatedVectorDrawableCompat.this.scheduleSelf(runnable, j);
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable.Callback
|
||||
public void unscheduleDrawable(Drawable drawable, Runnable runnable) {
|
||||
AnimatedVectorDrawableCompat.this.unscheduleSelf(runnable);
|
||||
}
|
||||
};
|
||||
this.mCallback = callback;
|
||||
this.mContext = context;
|
||||
if (animatedVectorDrawableCompatState != null) {
|
||||
this.mAnimatedVectorState = animatedVectorDrawableCompatState;
|
||||
} else {
|
||||
this.mAnimatedVectorState = new AnimatedVectorDrawableCompatState(context, animatedVectorDrawableCompatState, callback, resources);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public Drawable mutate() {
|
||||
if (this.mDelegateDrawable != null) {
|
||||
this.mDelegateDrawable.mutate();
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
public static AnimatedVectorDrawableCompat create(Context context, int i) {
|
||||
int next;
|
||||
if (Build.VERSION.SDK_INT >= 24) {
|
||||
AnimatedVectorDrawableCompat animatedVectorDrawableCompat = new AnimatedVectorDrawableCompat(context);
|
||||
animatedVectorDrawableCompat.mDelegateDrawable = ResourcesCompat.getDrawable(context.getResources(), i, context.getTheme());
|
||||
animatedVectorDrawableCompat.mDelegateDrawable.setCallback(animatedVectorDrawableCompat.mCallback);
|
||||
animatedVectorDrawableCompat.mCachedConstantStateDelegate = new AnimatedVectorDrawableDelegateState(animatedVectorDrawableCompat.mDelegateDrawable.getConstantState());
|
||||
return animatedVectorDrawableCompat;
|
||||
}
|
||||
try {
|
||||
XmlResourceParser xml = context.getResources().getXml(i);
|
||||
AttributeSet asAttributeSet = Xml.asAttributeSet(xml);
|
||||
do {
|
||||
next = xml.next();
|
||||
if (next == 2) {
|
||||
break;
|
||||
}
|
||||
} while (next != 1);
|
||||
if (next != 2) {
|
||||
throw new XmlPullParserException("No start tag found");
|
||||
}
|
||||
return createFromXmlInner(context, context.getResources(), xml, asAttributeSet, context.getTheme());
|
||||
} catch (IOException e) {
|
||||
Log.e(LOGTAG, "parser error", e);
|
||||
return null;
|
||||
} catch (XmlPullParserException e2) {
|
||||
Log.e(LOGTAG, "parser error", e2);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public static AnimatedVectorDrawableCompat createFromXmlInner(Context context, Resources resources, XmlPullParser xmlPullParser, AttributeSet attributeSet, Resources.Theme theme) throws XmlPullParserException, IOException {
|
||||
AnimatedVectorDrawableCompat animatedVectorDrawableCompat = new AnimatedVectorDrawableCompat(context);
|
||||
animatedVectorDrawableCompat.inflate(resources, xmlPullParser, attributeSet, theme);
|
||||
return animatedVectorDrawableCompat;
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public Drawable.ConstantState getConstantState() {
|
||||
if (this.mDelegateDrawable == null || Build.VERSION.SDK_INT < 24) {
|
||||
return null;
|
||||
}
|
||||
return new AnimatedVectorDrawableDelegateState(this.mDelegateDrawable.getConstantState());
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public int getChangingConfigurations() {
|
||||
if (this.mDelegateDrawable != null) {
|
||||
return this.mDelegateDrawable.getChangingConfigurations();
|
||||
}
|
||||
return super.getChangingConfigurations() | this.mAnimatedVectorState.mChangingConfigurations;
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public void draw(Canvas canvas) {
|
||||
if (this.mDelegateDrawable != null) {
|
||||
this.mDelegateDrawable.draw(canvas);
|
||||
return;
|
||||
}
|
||||
this.mAnimatedVectorState.mVectorDrawable.draw(canvas);
|
||||
if (this.mAnimatedVectorState.mAnimatorSet.isStarted()) {
|
||||
invalidateSelf();
|
||||
}
|
||||
}
|
||||
|
||||
@Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable
|
||||
protected void onBoundsChange(Rect rect) {
|
||||
if (this.mDelegateDrawable != null) {
|
||||
this.mDelegateDrawable.setBounds(rect);
|
||||
} else {
|
||||
this.mAnimatedVectorState.mVectorDrawable.setBounds(rect);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
protected boolean onStateChange(int[] iArr) {
|
||||
if (this.mDelegateDrawable != null) {
|
||||
return this.mDelegateDrawable.setState(iArr);
|
||||
}
|
||||
return this.mAnimatedVectorState.mVectorDrawable.setState(iArr);
|
||||
}
|
||||
|
||||
@Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable
|
||||
protected boolean onLevelChange(int i) {
|
||||
if (this.mDelegateDrawable != null) {
|
||||
return this.mDelegateDrawable.setLevel(i);
|
||||
}
|
||||
return this.mAnimatedVectorState.mVectorDrawable.setLevel(i);
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public int getAlpha() {
|
||||
if (this.mDelegateDrawable != null) {
|
||||
return DrawableCompat.getAlpha(this.mDelegateDrawable);
|
||||
}
|
||||
return this.mAnimatedVectorState.mVectorDrawable.getAlpha();
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public void setAlpha(int i) {
|
||||
if (this.mDelegateDrawable != null) {
|
||||
this.mDelegateDrawable.setAlpha(i);
|
||||
} else {
|
||||
this.mAnimatedVectorState.mVectorDrawable.setAlpha(i);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public void setColorFilter(ColorFilter colorFilter) {
|
||||
if (this.mDelegateDrawable != null) {
|
||||
this.mDelegateDrawable.setColorFilter(colorFilter);
|
||||
} else {
|
||||
this.mAnimatedVectorState.mVectorDrawable.setColorFilter(colorFilter);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public ColorFilter getColorFilter() {
|
||||
if (this.mDelegateDrawable != null) {
|
||||
return DrawableCompat.getColorFilter(this.mDelegateDrawable);
|
||||
}
|
||||
return this.mAnimatedVectorState.mVectorDrawable.getColorFilter();
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable, androidx.core.graphics.drawable.TintAwareDrawable
|
||||
public void setTint(int i) {
|
||||
if (this.mDelegateDrawable != null) {
|
||||
DrawableCompat.setTint(this.mDelegateDrawable, i);
|
||||
} else {
|
||||
this.mAnimatedVectorState.mVectorDrawable.setTint(i);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable, androidx.core.graphics.drawable.TintAwareDrawable
|
||||
public void setTintList(ColorStateList colorStateList) {
|
||||
if (this.mDelegateDrawable != null) {
|
||||
DrawableCompat.setTintList(this.mDelegateDrawable, colorStateList);
|
||||
} else {
|
||||
this.mAnimatedVectorState.mVectorDrawable.setTintList(colorStateList);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable, androidx.core.graphics.drawable.TintAwareDrawable
|
||||
public void setTintMode(PorterDuff.Mode mode) {
|
||||
if (this.mDelegateDrawable != null) {
|
||||
DrawableCompat.setTintMode(this.mDelegateDrawable, mode);
|
||||
} else {
|
||||
this.mAnimatedVectorState.mVectorDrawable.setTintMode(mode);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public boolean setVisible(boolean z, boolean z2) {
|
||||
if (this.mDelegateDrawable != null) {
|
||||
return this.mDelegateDrawable.setVisible(z, z2);
|
||||
}
|
||||
this.mAnimatedVectorState.mVectorDrawable.setVisible(z, z2);
|
||||
return super.setVisible(z, z2);
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public boolean isStateful() {
|
||||
if (this.mDelegateDrawable != null) {
|
||||
return this.mDelegateDrawable.isStateful();
|
||||
}
|
||||
return this.mAnimatedVectorState.mVectorDrawable.isStateful();
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public int getOpacity() {
|
||||
if (this.mDelegateDrawable != null) {
|
||||
return this.mDelegateDrawable.getOpacity();
|
||||
}
|
||||
return this.mAnimatedVectorState.mVectorDrawable.getOpacity();
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public int getIntrinsicWidth() {
|
||||
if (this.mDelegateDrawable != null) {
|
||||
return this.mDelegateDrawable.getIntrinsicWidth();
|
||||
}
|
||||
return this.mAnimatedVectorState.mVectorDrawable.getIntrinsicWidth();
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public int getIntrinsicHeight() {
|
||||
if (this.mDelegateDrawable != null) {
|
||||
return this.mDelegateDrawable.getIntrinsicHeight();
|
||||
}
|
||||
return this.mAnimatedVectorState.mVectorDrawable.getIntrinsicHeight();
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public boolean isAutoMirrored() {
|
||||
if (this.mDelegateDrawable != null) {
|
||||
return DrawableCompat.isAutoMirrored(this.mDelegateDrawable);
|
||||
}
|
||||
return this.mAnimatedVectorState.mVectorDrawable.isAutoMirrored();
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public void setAutoMirrored(boolean z) {
|
||||
if (this.mDelegateDrawable != null) {
|
||||
DrawableCompat.setAutoMirrored(this.mDelegateDrawable, z);
|
||||
} else {
|
||||
this.mAnimatedVectorState.mVectorDrawable.setAutoMirrored(z);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public void inflate(Resources resources, XmlPullParser xmlPullParser, AttributeSet attributeSet, Resources.Theme theme) throws XmlPullParserException, IOException {
|
||||
if (this.mDelegateDrawable != null) {
|
||||
DrawableCompat.inflate(this.mDelegateDrawable, resources, xmlPullParser, attributeSet, theme);
|
||||
return;
|
||||
}
|
||||
int eventType = xmlPullParser.getEventType();
|
||||
int depth = xmlPullParser.getDepth() + 1;
|
||||
while (eventType != 1 && (xmlPullParser.getDepth() >= depth || eventType != 3)) {
|
||||
if (eventType == 2) {
|
||||
String name = xmlPullParser.getName();
|
||||
if (ANIMATED_VECTOR.equals(name)) {
|
||||
TypedArray obtainAttributes = TypedArrayUtils.obtainAttributes(resources, theme, attributeSet, AndroidResources.STYLEABLE_ANIMATED_VECTOR_DRAWABLE);
|
||||
int resourceId = obtainAttributes.getResourceId(0, 0);
|
||||
if (resourceId != 0) {
|
||||
VectorDrawableCompat create = VectorDrawableCompat.create(resources, resourceId, theme);
|
||||
create.setAllowCaching(false);
|
||||
create.setCallback(this.mCallback);
|
||||
if (this.mAnimatedVectorState.mVectorDrawable != null) {
|
||||
this.mAnimatedVectorState.mVectorDrawable.setCallback(null);
|
||||
}
|
||||
this.mAnimatedVectorState.mVectorDrawable = create;
|
||||
}
|
||||
obtainAttributes.recycle();
|
||||
} else if ("target".equals(name)) {
|
||||
TypedArray obtainAttributes2 = resources.obtainAttributes(attributeSet, AndroidResources.STYLEABLE_ANIMATED_VECTOR_DRAWABLE_TARGET);
|
||||
String string = obtainAttributes2.getString(0);
|
||||
int resourceId2 = obtainAttributes2.getResourceId(1, 0);
|
||||
if (resourceId2 != 0) {
|
||||
Context context = this.mContext;
|
||||
if (context != null) {
|
||||
setupAnimatorsForTarget(string, AnimatorInflaterCompat.loadAnimator(context, resourceId2));
|
||||
} else {
|
||||
obtainAttributes2.recycle();
|
||||
throw new IllegalStateException("Context can't be null when inflating animators");
|
||||
}
|
||||
}
|
||||
obtainAttributes2.recycle();
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
eventType = xmlPullParser.next();
|
||||
}
|
||||
this.mAnimatedVectorState.setupAnimatorSet();
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public void inflate(Resources resources, XmlPullParser xmlPullParser, AttributeSet attributeSet) throws XmlPullParserException, IOException {
|
||||
inflate(resources, xmlPullParser, attributeSet, null);
|
||||
}
|
||||
|
||||
@Override // androidx.vectordrawable.graphics.drawable.VectorDrawableCommon, android.graphics.drawable.Drawable
|
||||
public void applyTheme(Resources.Theme theme) {
|
||||
if (this.mDelegateDrawable != null) {
|
||||
DrawableCompat.applyTheme(this.mDelegateDrawable, theme);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public boolean canApplyTheme() {
|
||||
if (this.mDelegateDrawable != null) {
|
||||
return DrawableCompat.canApplyTheme(this.mDelegateDrawable);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private static class AnimatedVectorDrawableDelegateState extends Drawable.ConstantState {
|
||||
private final Drawable.ConstantState mDelegateState;
|
||||
|
||||
public AnimatedVectorDrawableDelegateState(Drawable.ConstantState constantState) {
|
||||
this.mDelegateState = constantState;
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable.ConstantState
|
||||
public Drawable newDrawable() {
|
||||
AnimatedVectorDrawableCompat animatedVectorDrawableCompat = new AnimatedVectorDrawableCompat();
|
||||
animatedVectorDrawableCompat.mDelegateDrawable = this.mDelegateState.newDrawable();
|
||||
animatedVectorDrawableCompat.mDelegateDrawable.setCallback(animatedVectorDrawableCompat.mCallback);
|
||||
return animatedVectorDrawableCompat;
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable.ConstantState
|
||||
public Drawable newDrawable(Resources resources) {
|
||||
AnimatedVectorDrawableCompat animatedVectorDrawableCompat = new AnimatedVectorDrawableCompat();
|
||||
animatedVectorDrawableCompat.mDelegateDrawable = this.mDelegateState.newDrawable(resources);
|
||||
animatedVectorDrawableCompat.mDelegateDrawable.setCallback(animatedVectorDrawableCompat.mCallback);
|
||||
return animatedVectorDrawableCompat;
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable.ConstantState
|
||||
public Drawable newDrawable(Resources resources, Resources.Theme theme) {
|
||||
AnimatedVectorDrawableCompat animatedVectorDrawableCompat = new AnimatedVectorDrawableCompat();
|
||||
animatedVectorDrawableCompat.mDelegateDrawable = this.mDelegateState.newDrawable(resources, theme);
|
||||
animatedVectorDrawableCompat.mDelegateDrawable.setCallback(animatedVectorDrawableCompat.mCallback);
|
||||
return animatedVectorDrawableCompat;
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable.ConstantState
|
||||
public boolean canApplyTheme() {
|
||||
return this.mDelegateState.canApplyTheme();
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable.ConstantState
|
||||
public int getChangingConfigurations() {
|
||||
return this.mDelegateState.getChangingConfigurations();
|
||||
}
|
||||
}
|
||||
|
||||
private static class AnimatedVectorDrawableCompatState extends Drawable.ConstantState {
|
||||
AnimatorSet mAnimatorSet;
|
||||
ArrayList<Animator> mAnimators;
|
||||
int mChangingConfigurations;
|
||||
ArrayMap<Animator, String> mTargetNameMap;
|
||||
VectorDrawableCompat mVectorDrawable;
|
||||
|
||||
@Override // android.graphics.drawable.Drawable.ConstantState
|
||||
public int getChangingConfigurations() {
|
||||
return this.mChangingConfigurations;
|
||||
}
|
||||
|
||||
public AnimatedVectorDrawableCompatState(Context context, AnimatedVectorDrawableCompatState animatedVectorDrawableCompatState, Drawable.Callback callback, Resources resources) {
|
||||
if (animatedVectorDrawableCompatState != null) {
|
||||
this.mChangingConfigurations = animatedVectorDrawableCompatState.mChangingConfigurations;
|
||||
VectorDrawableCompat vectorDrawableCompat = animatedVectorDrawableCompatState.mVectorDrawable;
|
||||
if (vectorDrawableCompat != null) {
|
||||
Drawable.ConstantState constantState = vectorDrawableCompat.getConstantState();
|
||||
if (resources != null) {
|
||||
this.mVectorDrawable = (VectorDrawableCompat) constantState.newDrawable(resources);
|
||||
} else {
|
||||
this.mVectorDrawable = (VectorDrawableCompat) constantState.newDrawable();
|
||||
}
|
||||
VectorDrawableCompat vectorDrawableCompat2 = (VectorDrawableCompat) this.mVectorDrawable.mutate();
|
||||
this.mVectorDrawable = vectorDrawableCompat2;
|
||||
vectorDrawableCompat2.setCallback(callback);
|
||||
this.mVectorDrawable.setBounds(animatedVectorDrawableCompatState.mVectorDrawable.getBounds());
|
||||
this.mVectorDrawable.setAllowCaching(false);
|
||||
}
|
||||
ArrayList<Animator> arrayList = animatedVectorDrawableCompatState.mAnimators;
|
||||
if (arrayList != null) {
|
||||
int size = arrayList.size();
|
||||
this.mAnimators = new ArrayList<>(size);
|
||||
this.mTargetNameMap = new ArrayMap<>(size);
|
||||
for (int i = 0; i < size; i++) {
|
||||
Animator animator = animatedVectorDrawableCompatState.mAnimators.get(i);
|
||||
Animator clone = animator.clone();
|
||||
String str = animatedVectorDrawableCompatState.mTargetNameMap.get(animator);
|
||||
clone.setTarget(this.mVectorDrawable.getTargetByName(str));
|
||||
this.mAnimators.add(clone);
|
||||
this.mTargetNameMap.put(clone, str);
|
||||
}
|
||||
setupAnimatorSet();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable.ConstantState
|
||||
public Drawable newDrawable() {
|
||||
throw new IllegalStateException("No constant state support for SDK < 24.");
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable.ConstantState
|
||||
public Drawable newDrawable(Resources resources) {
|
||||
throw new IllegalStateException("No constant state support for SDK < 24.");
|
||||
}
|
||||
|
||||
public void setupAnimatorSet() {
|
||||
if (this.mAnimatorSet == null) {
|
||||
this.mAnimatorSet = new AnimatorSet();
|
||||
}
|
||||
this.mAnimatorSet.playTogether(this.mAnimators);
|
||||
}
|
||||
}
|
||||
|
||||
private void setupColorAnimator(Animator animator) {
|
||||
ArrayList<Animator> childAnimations;
|
||||
if ((animator instanceof AnimatorSet) && (childAnimations = ((AnimatorSet) animator).getChildAnimations()) != null) {
|
||||
for (int i = 0; i < childAnimations.size(); i++) {
|
||||
setupColorAnimator(childAnimations.get(i));
|
||||
}
|
||||
}
|
||||
if (animator instanceof ObjectAnimator) {
|
||||
ObjectAnimator objectAnimator = (ObjectAnimator) animator;
|
||||
String propertyName = objectAnimator.getPropertyName();
|
||||
if ("fillColor".equals(propertyName) || "strokeColor".equals(propertyName)) {
|
||||
if (this.mArgbEvaluator == null) {
|
||||
this.mArgbEvaluator = new android.animation.ArgbEvaluator();
|
||||
}
|
||||
objectAnimator.setEvaluator(this.mArgbEvaluator);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void setupAnimatorsForTarget(String str, Animator animator) {
|
||||
animator.setTarget(this.mAnimatedVectorState.mVectorDrawable.getTargetByName(str));
|
||||
if (this.mAnimatedVectorState.mAnimators == null) {
|
||||
this.mAnimatedVectorState.mAnimators = new ArrayList<>();
|
||||
this.mAnimatedVectorState.mTargetNameMap = new ArrayMap<>();
|
||||
}
|
||||
this.mAnimatedVectorState.mAnimators.add(animator);
|
||||
this.mAnimatedVectorState.mTargetNameMap.put(animator, str);
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Animatable
|
||||
public boolean isRunning() {
|
||||
if (this.mDelegateDrawable != null) {
|
||||
return ((AnimatedVectorDrawable) this.mDelegateDrawable).isRunning();
|
||||
}
|
||||
return this.mAnimatedVectorState.mAnimatorSet.isRunning();
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Animatable
|
||||
public void start() {
|
||||
if (this.mDelegateDrawable != null) {
|
||||
((AnimatedVectorDrawable) this.mDelegateDrawable).start();
|
||||
} else {
|
||||
if (this.mAnimatedVectorState.mAnimatorSet.isStarted()) {
|
||||
return;
|
||||
}
|
||||
this.mAnimatedVectorState.mAnimatorSet.start();
|
||||
invalidateSelf();
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Animatable
|
||||
public void stop() {
|
||||
if (this.mDelegateDrawable != null) {
|
||||
((AnimatedVectorDrawable) this.mDelegateDrawable).stop();
|
||||
} else {
|
||||
this.mAnimatedVectorState.mAnimatorSet.end();
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean unregisterPlatformCallback(AnimatedVectorDrawable animatedVectorDrawable, Animatable2Compat.AnimationCallback animationCallback) {
|
||||
boolean unregisterAnimationCallback;
|
||||
unregisterAnimationCallback = animatedVectorDrawable.unregisterAnimationCallback(animationCallback.getPlatformCallback());
|
||||
return unregisterAnimationCallback;
|
||||
}
|
||||
|
||||
@Override // androidx.vectordrawable.graphics.drawable.Animatable2Compat
|
||||
public void registerAnimationCallback(Animatable2Compat.AnimationCallback animationCallback) {
|
||||
if (this.mDelegateDrawable != null) {
|
||||
registerPlatformCallback((AnimatedVectorDrawable) this.mDelegateDrawable, animationCallback);
|
||||
return;
|
||||
}
|
||||
if (animationCallback == null) {
|
||||
return;
|
||||
}
|
||||
if (this.mAnimationCallbacks == null) {
|
||||
this.mAnimationCallbacks = new ArrayList<>();
|
||||
}
|
||||
if (this.mAnimationCallbacks.contains(animationCallback)) {
|
||||
return;
|
||||
}
|
||||
this.mAnimationCallbacks.add(animationCallback);
|
||||
if (this.mAnimatorListener == null) {
|
||||
this.mAnimatorListener = new AnimatorListenerAdapter() { // from class: androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat.2
|
||||
@Override // android.animation.AnimatorListenerAdapter, android.animation.Animator.AnimatorListener
|
||||
public void onAnimationStart(Animator animator) {
|
||||
ArrayList arrayList = new ArrayList(AnimatedVectorDrawableCompat.this.mAnimationCallbacks);
|
||||
int size = arrayList.size();
|
||||
for (int i = 0; i < size; i++) {
|
||||
((Animatable2Compat.AnimationCallback) arrayList.get(i)).onAnimationStart(AnimatedVectorDrawableCompat.this);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.animation.AnimatorListenerAdapter, android.animation.Animator.AnimatorListener
|
||||
public void onAnimationEnd(Animator animator) {
|
||||
ArrayList arrayList = new ArrayList(AnimatedVectorDrawableCompat.this.mAnimationCallbacks);
|
||||
int size = arrayList.size();
|
||||
for (int i = 0; i < size; i++) {
|
||||
((Animatable2Compat.AnimationCallback) arrayList.get(i)).onAnimationEnd(AnimatedVectorDrawableCompat.this);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
this.mAnimatedVectorState.mAnimatorSet.addListener(this.mAnimatorListener);
|
||||
}
|
||||
|
||||
private static void registerPlatformCallback(AnimatedVectorDrawable animatedVectorDrawable, Animatable2Compat.AnimationCallback animationCallback) {
|
||||
animatedVectorDrawable.registerAnimationCallback(animationCallback.getPlatformCallback());
|
||||
}
|
||||
|
||||
private void removeAnimatorSetListener() {
|
||||
if (this.mAnimatorListener != null) {
|
||||
this.mAnimatedVectorState.mAnimatorSet.removeListener(this.mAnimatorListener);
|
||||
this.mAnimatorListener = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override // androidx.vectordrawable.graphics.drawable.Animatable2Compat
|
||||
public boolean unregisterAnimationCallback(Animatable2Compat.AnimationCallback animationCallback) {
|
||||
if (this.mDelegateDrawable != null) {
|
||||
unregisterPlatformCallback((AnimatedVectorDrawable) this.mDelegateDrawable, animationCallback);
|
||||
}
|
||||
ArrayList<Animatable2Compat.AnimationCallback> arrayList = this.mAnimationCallbacks;
|
||||
if (arrayList == null || animationCallback == null) {
|
||||
return false;
|
||||
}
|
||||
boolean remove = arrayList.remove(animationCallback);
|
||||
if (this.mAnimationCallbacks.size() == 0) {
|
||||
removeAnimatorSetListener();
|
||||
}
|
||||
return remove;
|
||||
}
|
||||
|
||||
@Override // androidx.vectordrawable.graphics.drawable.Animatable2Compat
|
||||
public void clearAnimationCallbacks() {
|
||||
if (this.mDelegateDrawable != null) {
|
||||
((AnimatedVectorDrawable) this.mDelegateDrawable).clearAnimationCallbacks();
|
||||
return;
|
||||
}
|
||||
removeAnimatorSetListener();
|
||||
ArrayList<Animatable2Compat.AnimationCallback> arrayList = this.mAnimationCallbacks;
|
||||
if (arrayList == null) {
|
||||
return;
|
||||
}
|
||||
arrayList.clear();
|
||||
}
|
||||
|
||||
public static void registerAnimationCallback(Drawable drawable, Animatable2Compat.AnimationCallback animationCallback) {
|
||||
if (drawable == null || animationCallback == null || !(drawable instanceof Animatable)) {
|
||||
return;
|
||||
}
|
||||
if (Build.VERSION.SDK_INT >= 24) {
|
||||
registerPlatformCallback((AnimatedVectorDrawable) drawable, animationCallback);
|
||||
} else {
|
||||
((AnimatedVectorDrawableCompat) drawable).registerAnimationCallback(animationCallback);
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean unregisterAnimationCallback(Drawable drawable, Animatable2Compat.AnimationCallback animationCallback) {
|
||||
if (drawable == null || animationCallback == null || !(drawable instanceof Animatable)) {
|
||||
return false;
|
||||
}
|
||||
if (Build.VERSION.SDK_INT >= 24) {
|
||||
return unregisterPlatformCallback((AnimatedVectorDrawable) drawable, animationCallback);
|
||||
}
|
||||
return ((AnimatedVectorDrawableCompat) drawable).unregisterAnimationCallback(animationCallback);
|
||||
}
|
||||
|
||||
public static void clearAnimationCallbacks(Drawable drawable) {
|
||||
if (drawable instanceof Animatable) {
|
||||
if (Build.VERSION.SDK_INT >= 24) {
|
||||
((AnimatedVectorDrawable) drawable).clearAnimationCallbacks();
|
||||
} else {
|
||||
((AnimatedVectorDrawableCompat) drawable).clearAnimationCallbacks();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,130 @@
|
||||
package androidx.vectordrawable.graphics.drawable;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.view.animation.AnimationUtils;
|
||||
import android.view.animation.Interpolator;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class AnimationUtilsCompat {
|
||||
public static Interpolator loadInterpolator(Context context, int i) throws Resources.NotFoundException {
|
||||
return AnimationUtils.loadInterpolator(context, i);
|
||||
}
|
||||
|
||||
/* JADX WARN: Code restructure failed: missing block: B:7:0x00c7, code lost:
|
||||
|
||||
return r4;
|
||||
*/
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct add '--show-bad-code' argument
|
||||
*/
|
||||
private static android.view.animation.Interpolator createInterpolatorFromXml(android.content.Context r2, android.content.res.Resources r3, android.content.res.Resources.Theme r4, org.xmlpull.v1.XmlPullParser r5) throws org.xmlpull.v1.XmlPullParserException, java.io.IOException {
|
||||
/*
|
||||
int r3 = r5.getDepth()
|
||||
r4 = 0
|
||||
L5:
|
||||
int r0 = r5.next()
|
||||
r1 = 3
|
||||
if (r0 != r1) goto L12
|
||||
int r1 = r5.getDepth()
|
||||
if (r1 <= r3) goto Lc7
|
||||
L12:
|
||||
r1 = 1
|
||||
if (r0 == r1) goto Lc7
|
||||
r1 = 2
|
||||
if (r0 == r1) goto L19
|
||||
goto L5
|
||||
L19:
|
||||
android.util.AttributeSet r4 = android.util.Xml.asAttributeSet(r5)
|
||||
java.lang.String r0 = r5.getName()
|
||||
java.lang.String r1 = "linearInterpolator"
|
||||
boolean r1 = r0.equals(r1)
|
||||
if (r1 == 0) goto L2f
|
||||
android.view.animation.LinearInterpolator r4 = new android.view.animation.LinearInterpolator
|
||||
r4.<init>()
|
||||
goto L5
|
||||
L2f:
|
||||
java.lang.String r1 = "accelerateInterpolator"
|
||||
boolean r1 = r0.equals(r1)
|
||||
if (r1 == 0) goto L3e
|
||||
android.view.animation.AccelerateInterpolator r0 = new android.view.animation.AccelerateInterpolator
|
||||
r0.<init>(r2, r4)
|
||||
L3c:
|
||||
r4 = r0
|
||||
goto L5
|
||||
L3e:
|
||||
java.lang.String r1 = "decelerateInterpolator"
|
||||
boolean r1 = r0.equals(r1)
|
||||
if (r1 == 0) goto L4c
|
||||
android.view.animation.DecelerateInterpolator r0 = new android.view.animation.DecelerateInterpolator
|
||||
r0.<init>(r2, r4)
|
||||
goto L3c
|
||||
L4c:
|
||||
java.lang.String r1 = "accelerateDecelerateInterpolator"
|
||||
boolean r1 = r0.equals(r1)
|
||||
if (r1 == 0) goto L5a
|
||||
android.view.animation.AccelerateDecelerateInterpolator r4 = new android.view.animation.AccelerateDecelerateInterpolator
|
||||
r4.<init>()
|
||||
goto L5
|
||||
L5a:
|
||||
java.lang.String r1 = "cycleInterpolator"
|
||||
boolean r1 = r0.equals(r1)
|
||||
if (r1 == 0) goto L68
|
||||
android.view.animation.CycleInterpolator r0 = new android.view.animation.CycleInterpolator
|
||||
r0.<init>(r2, r4)
|
||||
goto L3c
|
||||
L68:
|
||||
java.lang.String r1 = "anticipateInterpolator"
|
||||
boolean r1 = r0.equals(r1)
|
||||
if (r1 == 0) goto L76
|
||||
android.view.animation.AnticipateInterpolator r0 = new android.view.animation.AnticipateInterpolator
|
||||
r0.<init>(r2, r4)
|
||||
goto L3c
|
||||
L76:
|
||||
java.lang.String r1 = "overshootInterpolator"
|
||||
boolean r1 = r0.equals(r1)
|
||||
if (r1 == 0) goto L84
|
||||
android.view.animation.OvershootInterpolator r0 = new android.view.animation.OvershootInterpolator
|
||||
r0.<init>(r2, r4)
|
||||
goto L3c
|
||||
L84:
|
||||
java.lang.String r1 = "anticipateOvershootInterpolator"
|
||||
boolean r1 = r0.equals(r1)
|
||||
if (r1 == 0) goto L92
|
||||
android.view.animation.AnticipateOvershootInterpolator r0 = new android.view.animation.AnticipateOvershootInterpolator
|
||||
r0.<init>(r2, r4)
|
||||
goto L3c
|
||||
L92:
|
||||
java.lang.String r1 = "bounceInterpolator"
|
||||
boolean r1 = r0.equals(r1)
|
||||
if (r1 == 0) goto La1
|
||||
android.view.animation.BounceInterpolator r4 = new android.view.animation.BounceInterpolator
|
||||
r4.<init>()
|
||||
goto L5
|
||||
La1:
|
||||
java.lang.String r1 = "pathInterpolator"
|
||||
boolean r0 = r0.equals(r1)
|
||||
if (r0 == 0) goto Laf
|
||||
androidx.vectordrawable.graphics.drawable.PathInterpolatorCompat r0 = new androidx.vectordrawable.graphics.drawable.PathInterpolatorCompat
|
||||
r0.<init>(r2, r4, r5)
|
||||
goto L3c
|
||||
Laf:
|
||||
java.lang.RuntimeException r2 = new java.lang.RuntimeException
|
||||
java.lang.StringBuilder r3 = new java.lang.StringBuilder
|
||||
java.lang.String r4 = "Unknown interpolator name: "
|
||||
r3.<init>(r4)
|
||||
java.lang.String r4 = r5.getName()
|
||||
r3.append(r4)
|
||||
java.lang.String r3 = r3.toString()
|
||||
r2.<init>(r3)
|
||||
throw r2
|
||||
Lc7:
|
||||
return r4
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: androidx.vectordrawable.graphics.drawable.AnimationUtilsCompat.createInterpolatorFromXml(android.content.Context, android.content.res.Resources, android.content.res.Resources$Theme, org.xmlpull.v1.XmlPullParser):android.view.animation.Interpolator");
|
||||
}
|
||||
|
||||
private AnimationUtilsCompat() {
|
||||
}
|
||||
}
|
@ -0,0 +1,545 @@
|
||||
package androidx.vectordrawable.graphics.drawable;
|
||||
|
||||
import android.animation.Animator;
|
||||
import android.animation.AnimatorInflater;
|
||||
import android.animation.Keyframe;
|
||||
import android.animation.ObjectAnimator;
|
||||
import android.animation.PropertyValuesHolder;
|
||||
import android.animation.TypeEvaluator;
|
||||
import android.animation.ValueAnimator;
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.content.res.TypedArray;
|
||||
import android.content.res.XmlResourceParser;
|
||||
import android.graphics.Path;
|
||||
import android.graphics.PathMeasure;
|
||||
import android.os.Build;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.Log;
|
||||
import android.util.TypedValue;
|
||||
import android.util.Xml;
|
||||
import android.view.InflateException;
|
||||
import androidx.constraintlayout.core.motion.utils.TypedValues;
|
||||
import androidx.core.content.res.TypedArrayUtils;
|
||||
import androidx.core.graphics.PathParser;
|
||||
import com.google.android.material.card.MaterialCardViewHelper;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class AnimatorInflaterCompat {
|
||||
private static final boolean DBG_ANIMATOR_INFLATER = false;
|
||||
private static final int MAX_NUM_POINTS = 100;
|
||||
private static final String TAG = "AnimatorInflater";
|
||||
private static final int TOGETHER = 0;
|
||||
private static final int VALUE_TYPE_COLOR = 3;
|
||||
private static final int VALUE_TYPE_FLOAT = 0;
|
||||
private static final int VALUE_TYPE_INT = 1;
|
||||
private static final int VALUE_TYPE_PATH = 2;
|
||||
private static final int VALUE_TYPE_UNDEFINED = 4;
|
||||
|
||||
private static boolean isColorType(int i) {
|
||||
return i >= 28 && i <= 31;
|
||||
}
|
||||
|
||||
public static Animator loadAnimator(Context context, int i) throws Resources.NotFoundException {
|
||||
if (Build.VERSION.SDK_INT >= 24) {
|
||||
return AnimatorInflater.loadAnimator(context, i);
|
||||
}
|
||||
return loadAnimator(context, context.getResources(), context.getTheme(), i);
|
||||
}
|
||||
|
||||
public static Animator loadAnimator(Context context, Resources resources, Resources.Theme theme, int i) throws Resources.NotFoundException {
|
||||
return loadAnimator(context, resources, theme, i, 1.0f);
|
||||
}
|
||||
|
||||
public static Animator loadAnimator(Context context, Resources resources, Resources.Theme theme, int i, float f) throws Resources.NotFoundException {
|
||||
XmlResourceParser xmlResourceParser = null;
|
||||
try {
|
||||
try {
|
||||
try {
|
||||
xmlResourceParser = resources.getAnimation(i);
|
||||
return createAnimatorFromXml(context, resources, theme, xmlResourceParser, f);
|
||||
} catch (XmlPullParserException e) {
|
||||
Resources.NotFoundException notFoundException = new Resources.NotFoundException("Can't load animation resource ID #0x" + Integer.toHexString(i));
|
||||
notFoundException.initCause(e);
|
||||
throw notFoundException;
|
||||
}
|
||||
} catch (IOException e2) {
|
||||
Resources.NotFoundException notFoundException2 = new Resources.NotFoundException("Can't load animation resource ID #0x" + Integer.toHexString(i));
|
||||
notFoundException2.initCause(e2);
|
||||
throw notFoundException2;
|
||||
}
|
||||
} finally {
|
||||
if (xmlResourceParser != null) {
|
||||
xmlResourceParser.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static class PathDataEvaluator implements TypeEvaluator<PathParser.PathDataNode[]> {
|
||||
private PathParser.PathDataNode[] mNodeArray;
|
||||
|
||||
PathDataEvaluator() {
|
||||
}
|
||||
|
||||
PathDataEvaluator(PathParser.PathDataNode[] pathDataNodeArr) {
|
||||
this.mNodeArray = pathDataNodeArr;
|
||||
}
|
||||
|
||||
@Override // android.animation.TypeEvaluator
|
||||
public PathParser.PathDataNode[] evaluate(float f, PathParser.PathDataNode[] pathDataNodeArr, PathParser.PathDataNode[] pathDataNodeArr2) {
|
||||
if (!PathParser.canMorph(pathDataNodeArr, pathDataNodeArr2)) {
|
||||
throw new IllegalArgumentException("Can't interpolate between two incompatible pathData");
|
||||
}
|
||||
if (!PathParser.canMorph(this.mNodeArray, pathDataNodeArr)) {
|
||||
this.mNodeArray = PathParser.deepCopyNodes(pathDataNodeArr);
|
||||
}
|
||||
for (int i = 0; i < pathDataNodeArr.length; i++) {
|
||||
this.mNodeArray[i].interpolatePathDataNode(pathDataNodeArr[i], pathDataNodeArr2[i], f);
|
||||
}
|
||||
return this.mNodeArray;
|
||||
}
|
||||
}
|
||||
|
||||
private static PropertyValuesHolder getPVH(TypedArray typedArray, int i, int i2, int i3, String str) {
|
||||
int i4;
|
||||
int i5;
|
||||
int i6;
|
||||
float f;
|
||||
PropertyValuesHolder ofFloat;
|
||||
float f2;
|
||||
float f3;
|
||||
PropertyValuesHolder ofObject;
|
||||
TypedValue peekValue = typedArray.peekValue(i2);
|
||||
boolean z = peekValue != null;
|
||||
int i7 = z ? peekValue.type : 0;
|
||||
TypedValue peekValue2 = typedArray.peekValue(i3);
|
||||
boolean z2 = peekValue2 != null;
|
||||
int i8 = z2 ? peekValue2.type : 0;
|
||||
if (i == 4) {
|
||||
i = ((z && isColorType(i7)) || (z2 && isColorType(i8))) ? 3 : 0;
|
||||
}
|
||||
boolean z3 = i == 0;
|
||||
PropertyValuesHolder propertyValuesHolder = null;
|
||||
if (i == 2) {
|
||||
String string = typedArray.getString(i2);
|
||||
String string2 = typedArray.getString(i3);
|
||||
PathParser.PathDataNode[] createNodesFromPathData = PathParser.createNodesFromPathData(string);
|
||||
PathParser.PathDataNode[] createNodesFromPathData2 = PathParser.createNodesFromPathData(string2);
|
||||
if (createNodesFromPathData == null && createNodesFromPathData2 == null) {
|
||||
return null;
|
||||
}
|
||||
if (createNodesFromPathData == null) {
|
||||
if (createNodesFromPathData2 != null) {
|
||||
return PropertyValuesHolder.ofObject(str, new PathDataEvaluator(), createNodesFromPathData2);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
PathDataEvaluator pathDataEvaluator = new PathDataEvaluator();
|
||||
if (createNodesFromPathData2 != null) {
|
||||
if (!PathParser.canMorph(createNodesFromPathData, createNodesFromPathData2)) {
|
||||
throw new InflateException(" Can't morph from " + string + " to " + string2);
|
||||
}
|
||||
ofObject = PropertyValuesHolder.ofObject(str, pathDataEvaluator, createNodesFromPathData, createNodesFromPathData2);
|
||||
} else {
|
||||
ofObject = PropertyValuesHolder.ofObject(str, pathDataEvaluator, createNodesFromPathData);
|
||||
}
|
||||
return ofObject;
|
||||
}
|
||||
ArgbEvaluator argbEvaluator = i == 3 ? ArgbEvaluator.getInstance() : null;
|
||||
if (z3) {
|
||||
if (z) {
|
||||
if (i7 == 5) {
|
||||
f2 = typedArray.getDimension(i2, 0.0f);
|
||||
} else {
|
||||
f2 = typedArray.getFloat(i2, 0.0f);
|
||||
}
|
||||
if (z2) {
|
||||
if (i8 == 5) {
|
||||
f3 = typedArray.getDimension(i3, 0.0f);
|
||||
} else {
|
||||
f3 = typedArray.getFloat(i3, 0.0f);
|
||||
}
|
||||
ofFloat = PropertyValuesHolder.ofFloat(str, f2, f3);
|
||||
} else {
|
||||
ofFloat = PropertyValuesHolder.ofFloat(str, f2);
|
||||
}
|
||||
} else {
|
||||
if (i8 == 5) {
|
||||
f = typedArray.getDimension(i3, 0.0f);
|
||||
} else {
|
||||
f = typedArray.getFloat(i3, 0.0f);
|
||||
}
|
||||
ofFloat = PropertyValuesHolder.ofFloat(str, f);
|
||||
}
|
||||
propertyValuesHolder = ofFloat;
|
||||
} else if (z) {
|
||||
if (i7 == 5) {
|
||||
i5 = (int) typedArray.getDimension(i2, 0.0f);
|
||||
} else if (isColorType(i7)) {
|
||||
i5 = typedArray.getColor(i2, 0);
|
||||
} else {
|
||||
i5 = typedArray.getInt(i2, 0);
|
||||
}
|
||||
if (z2) {
|
||||
if (i8 == 5) {
|
||||
i6 = (int) typedArray.getDimension(i3, 0.0f);
|
||||
} else if (isColorType(i8)) {
|
||||
i6 = typedArray.getColor(i3, 0);
|
||||
} else {
|
||||
i6 = typedArray.getInt(i3, 0);
|
||||
}
|
||||
propertyValuesHolder = PropertyValuesHolder.ofInt(str, i5, i6);
|
||||
} else {
|
||||
propertyValuesHolder = PropertyValuesHolder.ofInt(str, i5);
|
||||
}
|
||||
} else if (z2) {
|
||||
if (i8 == 5) {
|
||||
i4 = (int) typedArray.getDimension(i3, 0.0f);
|
||||
} else if (isColorType(i8)) {
|
||||
i4 = typedArray.getColor(i3, 0);
|
||||
} else {
|
||||
i4 = typedArray.getInt(i3, 0);
|
||||
}
|
||||
propertyValuesHolder = PropertyValuesHolder.ofInt(str, i4);
|
||||
}
|
||||
if (propertyValuesHolder == null || argbEvaluator == null) {
|
||||
return propertyValuesHolder;
|
||||
}
|
||||
propertyValuesHolder.setEvaluator(argbEvaluator);
|
||||
return propertyValuesHolder;
|
||||
}
|
||||
|
||||
private static void parseAnimatorFromTypeArray(ValueAnimator valueAnimator, TypedArray typedArray, TypedArray typedArray2, float f, XmlPullParser xmlPullParser) {
|
||||
long namedInt = TypedArrayUtils.getNamedInt(typedArray, xmlPullParser, TypedValues.TransitionType.S_DURATION, 1, MaterialCardViewHelper.DEFAULT_FADE_ANIM_DURATION);
|
||||
long namedInt2 = TypedArrayUtils.getNamedInt(typedArray, xmlPullParser, "startOffset", 2, 0);
|
||||
int namedInt3 = TypedArrayUtils.getNamedInt(typedArray, xmlPullParser, "valueType", 7, 4);
|
||||
if (TypedArrayUtils.hasAttribute(xmlPullParser, "valueFrom") && TypedArrayUtils.hasAttribute(xmlPullParser, "valueTo")) {
|
||||
if (namedInt3 == 4) {
|
||||
namedInt3 = inferValueTypeFromValues(typedArray, 5, 6);
|
||||
}
|
||||
PropertyValuesHolder pvh = getPVH(typedArray, namedInt3, 5, 6, "");
|
||||
if (pvh != null) {
|
||||
valueAnimator.setValues(pvh);
|
||||
}
|
||||
}
|
||||
valueAnimator.setDuration(namedInt);
|
||||
valueAnimator.setStartDelay(namedInt2);
|
||||
valueAnimator.setRepeatCount(TypedArrayUtils.getNamedInt(typedArray, xmlPullParser, "repeatCount", 3, 0));
|
||||
valueAnimator.setRepeatMode(TypedArrayUtils.getNamedInt(typedArray, xmlPullParser, "repeatMode", 4, 1));
|
||||
if (typedArray2 != null) {
|
||||
setupObjectAnimator(valueAnimator, typedArray2, namedInt3, f, xmlPullParser);
|
||||
}
|
||||
}
|
||||
|
||||
private static void setupObjectAnimator(ValueAnimator valueAnimator, TypedArray typedArray, int i, float f, XmlPullParser xmlPullParser) {
|
||||
ObjectAnimator objectAnimator = (ObjectAnimator) valueAnimator;
|
||||
String namedString = TypedArrayUtils.getNamedString(typedArray, xmlPullParser, "pathData", 1);
|
||||
if (namedString != null) {
|
||||
String namedString2 = TypedArrayUtils.getNamedString(typedArray, xmlPullParser, "propertyXName", 2);
|
||||
String namedString3 = TypedArrayUtils.getNamedString(typedArray, xmlPullParser, "propertyYName", 3);
|
||||
if (i != 2) {
|
||||
}
|
||||
if (namedString2 == null && namedString3 == null) {
|
||||
throw new InflateException(typedArray.getPositionDescription() + " propertyXName or propertyYName is needed for PathData");
|
||||
}
|
||||
setupPathMotion(PathParser.createPathFromPathData(namedString), objectAnimator, f * 0.5f, namedString2, namedString3);
|
||||
return;
|
||||
}
|
||||
objectAnimator.setPropertyName(TypedArrayUtils.getNamedString(typedArray, xmlPullParser, "propertyName", 0));
|
||||
}
|
||||
|
||||
private static void setupPathMotion(Path path, ObjectAnimator objectAnimator, float f, String str, String str2) {
|
||||
PathMeasure pathMeasure = new PathMeasure(path, false);
|
||||
ArrayList arrayList = new ArrayList();
|
||||
float f2 = 0.0f;
|
||||
arrayList.add(Float.valueOf(0.0f));
|
||||
float f3 = 0.0f;
|
||||
do {
|
||||
f3 += pathMeasure.getLength();
|
||||
arrayList.add(Float.valueOf(f3));
|
||||
} while (pathMeasure.nextContour());
|
||||
PathMeasure pathMeasure2 = new PathMeasure(path, false);
|
||||
int min = Math.min(100, ((int) (f3 / f)) + 1);
|
||||
float[] fArr = new float[min];
|
||||
float[] fArr2 = new float[min];
|
||||
float[] fArr3 = new float[2];
|
||||
float f4 = f3 / (min - 1);
|
||||
int i = 0;
|
||||
int i2 = 0;
|
||||
while (true) {
|
||||
if (i >= min) {
|
||||
break;
|
||||
}
|
||||
pathMeasure2.getPosTan(f2 - ((Float) arrayList.get(i2)).floatValue(), fArr3, null);
|
||||
fArr[i] = fArr3[0];
|
||||
fArr2[i] = fArr3[1];
|
||||
f2 += f4;
|
||||
int i3 = i2 + 1;
|
||||
if (i3 < arrayList.size() && f2 > ((Float) arrayList.get(i3)).floatValue()) {
|
||||
pathMeasure2.nextContour();
|
||||
i2 = i3;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
PropertyValuesHolder ofFloat = str != null ? PropertyValuesHolder.ofFloat(str, fArr) : null;
|
||||
PropertyValuesHolder ofFloat2 = str2 != null ? PropertyValuesHolder.ofFloat(str2, fArr2) : null;
|
||||
if (ofFloat == null) {
|
||||
objectAnimator.setValues(ofFloat2);
|
||||
} else if (ofFloat2 == null) {
|
||||
objectAnimator.setValues(ofFloat);
|
||||
} else {
|
||||
objectAnimator.setValues(ofFloat, ofFloat2);
|
||||
}
|
||||
}
|
||||
|
||||
private static Animator createAnimatorFromXml(Context context, Resources resources, Resources.Theme theme, XmlPullParser xmlPullParser, float f) throws XmlPullParserException, IOException {
|
||||
return createAnimatorFromXml(context, resources, theme, xmlPullParser, Xml.asAttributeSet(xmlPullParser), null, 0, f);
|
||||
}
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
/* JADX WARN: Removed duplicated region for block: B:33:0x00bb */
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct add '--show-bad-code' argument
|
||||
*/
|
||||
private static android.animation.Animator createAnimatorFromXml(android.content.Context r18, android.content.res.Resources r19, android.content.res.Resources.Theme r20, org.xmlpull.v1.XmlPullParser r21, android.util.AttributeSet r22, android.animation.AnimatorSet r23, int r24, float r25) throws org.xmlpull.v1.XmlPullParserException, java.io.IOException {
|
||||
/*
|
||||
Method dump skipped, instructions count: 263
|
||||
To view this dump add '--comments-level debug' option
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: androidx.vectordrawable.graphics.drawable.AnimatorInflaterCompat.createAnimatorFromXml(android.content.Context, android.content.res.Resources, android.content.res.Resources$Theme, org.xmlpull.v1.XmlPullParser, android.util.AttributeSet, android.animation.AnimatorSet, int, float):android.animation.Animator");
|
||||
}
|
||||
|
||||
private static PropertyValuesHolder[] loadValues(Context context, Resources resources, Resources.Theme theme, XmlPullParser xmlPullParser, AttributeSet attributeSet) throws XmlPullParserException, IOException {
|
||||
int i;
|
||||
PropertyValuesHolder[] propertyValuesHolderArr = null;
|
||||
ArrayList arrayList = null;
|
||||
while (true) {
|
||||
int eventType = xmlPullParser.getEventType();
|
||||
if (eventType == 3 || eventType == 1) {
|
||||
break;
|
||||
}
|
||||
if (eventType != 2) {
|
||||
xmlPullParser.next();
|
||||
} else {
|
||||
if (xmlPullParser.getName().equals("propertyValuesHolder")) {
|
||||
TypedArray obtainAttributes = TypedArrayUtils.obtainAttributes(resources, theme, attributeSet, AndroidResources.STYLEABLE_PROPERTY_VALUES_HOLDER);
|
||||
String namedString = TypedArrayUtils.getNamedString(obtainAttributes, xmlPullParser, "propertyName", 3);
|
||||
int namedInt = TypedArrayUtils.getNamedInt(obtainAttributes, xmlPullParser, "valueType", 2, 4);
|
||||
PropertyValuesHolder loadPvh = loadPvh(context, resources, theme, xmlPullParser, namedString, namedInt);
|
||||
if (loadPvh == null) {
|
||||
loadPvh = getPVH(obtainAttributes, namedInt, 0, 1, namedString);
|
||||
}
|
||||
if (loadPvh != null) {
|
||||
if (arrayList == null) {
|
||||
arrayList = new ArrayList();
|
||||
}
|
||||
arrayList.add(loadPvh);
|
||||
}
|
||||
obtainAttributes.recycle();
|
||||
}
|
||||
xmlPullParser.next();
|
||||
}
|
||||
}
|
||||
if (arrayList != null) {
|
||||
int size = arrayList.size();
|
||||
propertyValuesHolderArr = new PropertyValuesHolder[size];
|
||||
for (i = 0; i < size; i++) {
|
||||
propertyValuesHolderArr[i] = (PropertyValuesHolder) arrayList.get(i);
|
||||
}
|
||||
}
|
||||
return propertyValuesHolderArr;
|
||||
}
|
||||
|
||||
private static int inferValueTypeOfKeyframe(Resources resources, Resources.Theme theme, AttributeSet attributeSet, XmlPullParser xmlPullParser) {
|
||||
TypedArray obtainAttributes = TypedArrayUtils.obtainAttributes(resources, theme, attributeSet, AndroidResources.STYLEABLE_KEYFRAME);
|
||||
int i = 0;
|
||||
TypedValue peekNamedValue = TypedArrayUtils.peekNamedValue(obtainAttributes, xmlPullParser, "value", 0);
|
||||
if (peekNamedValue != null && isColorType(peekNamedValue.type)) {
|
||||
i = 3;
|
||||
}
|
||||
obtainAttributes.recycle();
|
||||
return i;
|
||||
}
|
||||
|
||||
private static int inferValueTypeFromValues(TypedArray typedArray, int i, int i2) {
|
||||
TypedValue peekValue = typedArray.peekValue(i);
|
||||
boolean z = peekValue != null;
|
||||
int i3 = z ? peekValue.type : 0;
|
||||
TypedValue peekValue2 = typedArray.peekValue(i2);
|
||||
boolean z2 = peekValue2 != null;
|
||||
return ((z && isColorType(i3)) || (z2 && isColorType(z2 ? peekValue2.type : 0))) ? 3 : 0;
|
||||
}
|
||||
|
||||
private static void dumpKeyframes(Object[] objArr, String str) {
|
||||
if (objArr == null || objArr.length == 0) {
|
||||
return;
|
||||
}
|
||||
Log.d(TAG, str);
|
||||
int length = objArr.length;
|
||||
for (int i = 0; i < length; i++) {
|
||||
Keyframe keyframe = (Keyframe) objArr[i];
|
||||
StringBuilder sb = new StringBuilder("Keyframe ");
|
||||
sb.append(i);
|
||||
sb.append(": fraction ");
|
||||
Object obj = "null";
|
||||
sb.append(keyframe.getFraction() < 0.0f ? "null" : Float.valueOf(keyframe.getFraction()));
|
||||
sb.append(", , value : ");
|
||||
if (keyframe.hasValue()) {
|
||||
obj = keyframe.getValue();
|
||||
}
|
||||
sb.append(obj);
|
||||
Log.d(TAG, sb.toString());
|
||||
}
|
||||
}
|
||||
|
||||
private static PropertyValuesHolder loadPvh(Context context, Resources resources, Resources.Theme theme, XmlPullParser xmlPullParser, String str, int i) throws XmlPullParserException, IOException {
|
||||
int size;
|
||||
PropertyValuesHolder propertyValuesHolder = null;
|
||||
ArrayList arrayList = null;
|
||||
while (true) {
|
||||
int next = xmlPullParser.next();
|
||||
if (next == 3 || next == 1) {
|
||||
break;
|
||||
}
|
||||
if (xmlPullParser.getName().equals("keyframe")) {
|
||||
if (i == 4) {
|
||||
i = inferValueTypeOfKeyframe(resources, theme, Xml.asAttributeSet(xmlPullParser), xmlPullParser);
|
||||
}
|
||||
Keyframe loadKeyframe = loadKeyframe(context, resources, theme, Xml.asAttributeSet(xmlPullParser), i, xmlPullParser);
|
||||
if (loadKeyframe != null) {
|
||||
if (arrayList == null) {
|
||||
arrayList = new ArrayList();
|
||||
}
|
||||
arrayList.add(loadKeyframe);
|
||||
}
|
||||
xmlPullParser.next();
|
||||
}
|
||||
}
|
||||
if (arrayList != null && (size = arrayList.size()) > 0) {
|
||||
Keyframe keyframe = (Keyframe) arrayList.get(0);
|
||||
Keyframe keyframe2 = (Keyframe) arrayList.get(size - 1);
|
||||
float fraction = keyframe2.getFraction();
|
||||
if (fraction < 1.0f) {
|
||||
if (fraction < 0.0f) {
|
||||
keyframe2.setFraction(1.0f);
|
||||
} else {
|
||||
arrayList.add(arrayList.size(), createNewKeyframe(keyframe2, 1.0f));
|
||||
size++;
|
||||
}
|
||||
}
|
||||
float fraction2 = keyframe.getFraction();
|
||||
if (fraction2 != 0.0f) {
|
||||
if (fraction2 < 0.0f) {
|
||||
keyframe.setFraction(0.0f);
|
||||
} else {
|
||||
arrayList.add(0, createNewKeyframe(keyframe, 0.0f));
|
||||
size++;
|
||||
}
|
||||
}
|
||||
Keyframe[] keyframeArr = new Keyframe[size];
|
||||
arrayList.toArray(keyframeArr);
|
||||
for (int i2 = 0; i2 < size; i2++) {
|
||||
Keyframe keyframe3 = keyframeArr[i2];
|
||||
if (keyframe3.getFraction() < 0.0f) {
|
||||
if (i2 == 0) {
|
||||
keyframe3.setFraction(0.0f);
|
||||
} else {
|
||||
int i3 = size - 1;
|
||||
if (i2 == i3) {
|
||||
keyframe3.setFraction(1.0f);
|
||||
} else {
|
||||
int i4 = i2;
|
||||
for (int i5 = i2 + 1; i5 < i3 && keyframeArr[i5].getFraction() < 0.0f; i5++) {
|
||||
i4 = i5;
|
||||
}
|
||||
distributeKeyframes(keyframeArr, keyframeArr[i4 + 1].getFraction() - keyframeArr[i2 - 1].getFraction(), i2, i4);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
propertyValuesHolder = PropertyValuesHolder.ofKeyframe(str, keyframeArr);
|
||||
if (i == 3) {
|
||||
propertyValuesHolder.setEvaluator(ArgbEvaluator.getInstance());
|
||||
}
|
||||
}
|
||||
return propertyValuesHolder;
|
||||
}
|
||||
|
||||
private static Keyframe createNewKeyframe(Keyframe keyframe, float f) {
|
||||
if (keyframe.getType() == Float.TYPE) {
|
||||
return Keyframe.ofFloat(f);
|
||||
}
|
||||
if (keyframe.getType() == Integer.TYPE) {
|
||||
return Keyframe.ofInt(f);
|
||||
}
|
||||
return Keyframe.ofObject(f);
|
||||
}
|
||||
|
||||
private static void distributeKeyframes(Keyframe[] keyframeArr, float f, int i, int i2) {
|
||||
float f2 = f / ((i2 - i) + 2);
|
||||
while (i <= i2) {
|
||||
keyframeArr[i].setFraction(keyframeArr[i - 1].getFraction() + f2);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
private static Keyframe loadKeyframe(Context context, Resources resources, Resources.Theme theme, AttributeSet attributeSet, int i, XmlPullParser xmlPullParser) throws XmlPullParserException, IOException {
|
||||
Keyframe ofInt;
|
||||
TypedArray obtainAttributes = TypedArrayUtils.obtainAttributes(resources, theme, attributeSet, AndroidResources.STYLEABLE_KEYFRAME);
|
||||
float namedFloat = TypedArrayUtils.getNamedFloat(obtainAttributes, xmlPullParser, "fraction", 3, -1.0f);
|
||||
TypedValue peekNamedValue = TypedArrayUtils.peekNamedValue(obtainAttributes, xmlPullParser, "value", 0);
|
||||
boolean z = peekNamedValue != null;
|
||||
if (i == 4) {
|
||||
i = (z && isColorType(peekNamedValue.type)) ? 3 : 0;
|
||||
}
|
||||
if (z) {
|
||||
if (i == 0) {
|
||||
ofInt = Keyframe.ofFloat(namedFloat, TypedArrayUtils.getNamedFloat(obtainAttributes, xmlPullParser, "value", 0, 0.0f));
|
||||
} else {
|
||||
ofInt = (i == 1 || i == 3) ? Keyframe.ofInt(namedFloat, TypedArrayUtils.getNamedInt(obtainAttributes, xmlPullParser, "value", 0, 0)) : null;
|
||||
}
|
||||
} else if (i == 0) {
|
||||
ofInt = Keyframe.ofFloat(namedFloat);
|
||||
} else {
|
||||
ofInt = Keyframe.ofInt(namedFloat);
|
||||
}
|
||||
int namedResourceId = TypedArrayUtils.getNamedResourceId(obtainAttributes, xmlPullParser, "interpolator", 1, 0);
|
||||
if (namedResourceId > 0) {
|
||||
ofInt.setInterpolator(AnimationUtilsCompat.loadInterpolator(context, namedResourceId));
|
||||
}
|
||||
obtainAttributes.recycle();
|
||||
return ofInt;
|
||||
}
|
||||
|
||||
private static ObjectAnimator loadObjectAnimator(Context context, Resources resources, Resources.Theme theme, AttributeSet attributeSet, float f, XmlPullParser xmlPullParser) throws Resources.NotFoundException {
|
||||
ObjectAnimator objectAnimator = new ObjectAnimator();
|
||||
loadAnimator(context, resources, theme, attributeSet, objectAnimator, f, xmlPullParser);
|
||||
return objectAnimator;
|
||||
}
|
||||
|
||||
private static ValueAnimator loadAnimator(Context context, Resources resources, Resources.Theme theme, AttributeSet attributeSet, ValueAnimator valueAnimator, float f, XmlPullParser xmlPullParser) throws Resources.NotFoundException {
|
||||
TypedArray obtainAttributes = TypedArrayUtils.obtainAttributes(resources, theme, attributeSet, AndroidResources.STYLEABLE_ANIMATOR);
|
||||
TypedArray obtainAttributes2 = TypedArrayUtils.obtainAttributes(resources, theme, attributeSet, AndroidResources.STYLEABLE_PROPERTY_ANIMATOR);
|
||||
if (valueAnimator == null) {
|
||||
valueAnimator = new ValueAnimator();
|
||||
}
|
||||
parseAnimatorFromTypeArray(valueAnimator, obtainAttributes, obtainAttributes2, f, xmlPullParser);
|
||||
int namedResourceId = TypedArrayUtils.getNamedResourceId(obtainAttributes, xmlPullParser, "interpolator", 0, 0);
|
||||
if (namedResourceId > 0) {
|
||||
valueAnimator.setInterpolator(AnimationUtilsCompat.loadInterpolator(context, namedResourceId));
|
||||
}
|
||||
obtainAttributes.recycle();
|
||||
if (obtainAttributes2 != null) {
|
||||
obtainAttributes2.recycle();
|
||||
}
|
||||
return valueAnimator;
|
||||
}
|
||||
|
||||
private AnimatorInflaterCompat() {
|
||||
}
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package androidx.vectordrawable.graphics.drawable;
|
||||
|
||||
import android.animation.TypeEvaluator;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class ArgbEvaluator implements TypeEvaluator {
|
||||
private static final ArgbEvaluator sInstance = new ArgbEvaluator();
|
||||
|
||||
public static ArgbEvaluator getInstance() {
|
||||
return sInstance;
|
||||
}
|
||||
|
||||
@Override // android.animation.TypeEvaluator
|
||||
public Object evaluate(float f, Object obj, Object obj2) {
|
||||
int intValue = ((Integer) obj).intValue();
|
||||
float f2 = ((intValue >> 24) & 255) / 255.0f;
|
||||
int intValue2 = ((Integer) obj2).intValue();
|
||||
float pow = (float) Math.pow(((intValue >> 16) & 255) / 255.0f, 2.2d);
|
||||
float pow2 = (float) Math.pow(((intValue >> 8) & 255) / 255.0f, 2.2d);
|
||||
float pow3 = (float) Math.pow((intValue & 255) / 255.0f, 2.2d);
|
||||
float pow4 = (float) Math.pow(((intValue2 >> 16) & 255) / 255.0f, 2.2d);
|
||||
float f3 = f2 + (((((intValue2 >> 24) & 255) / 255.0f) - f2) * f);
|
||||
float pow5 = pow2 + ((((float) Math.pow(((intValue2 >> 8) & 255) / 255.0f, 2.2d)) - pow2) * f);
|
||||
float pow6 = pow3 + (f * (((float) Math.pow((intValue2 & 255) / 255.0f, 2.2d)) - pow3));
|
||||
return Integer.valueOf((Math.round(((float) Math.pow(pow + ((pow4 - pow) * f), 0.45454545454545453d)) * 255.0f) << 16) | (Math.round(f3 * 255.0f) << 24) | (Math.round(((float) Math.pow(pow5, 0.45454545454545453d)) * 255.0f) << 8) | Math.round(((float) Math.pow(pow6, 0.45454545454545453d)) * 255.0f));
|
||||
}
|
||||
}
|
@ -0,0 +1,157 @@
|
||||
package androidx.vectordrawable.graphics.drawable;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.content.res.TypedArray;
|
||||
import android.graphics.Path;
|
||||
import android.graphics.PathMeasure;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.InflateException;
|
||||
import android.view.animation.Interpolator;
|
||||
import androidx.core.content.res.TypedArrayUtils;
|
||||
import androidx.core.graphics.PathParser;
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class PathInterpolatorCompat implements Interpolator {
|
||||
public static final double EPSILON = 1.0E-5d;
|
||||
public static final int MAX_NUM_POINTS = 3000;
|
||||
private static final float PRECISION = 0.002f;
|
||||
private float[] mX;
|
||||
private float[] mY;
|
||||
|
||||
public PathInterpolatorCompat(Context context, AttributeSet attributeSet, XmlPullParser xmlPullParser) {
|
||||
this(context.getResources(), context.getTheme(), attributeSet, xmlPullParser);
|
||||
}
|
||||
|
||||
public PathInterpolatorCompat(Resources resources, Resources.Theme theme, AttributeSet attributeSet, XmlPullParser xmlPullParser) {
|
||||
TypedArray obtainAttributes = TypedArrayUtils.obtainAttributes(resources, theme, attributeSet, AndroidResources.STYLEABLE_PATH_INTERPOLATOR);
|
||||
parseInterpolatorFromTypeArray(obtainAttributes, xmlPullParser);
|
||||
obtainAttributes.recycle();
|
||||
}
|
||||
|
||||
private void parseInterpolatorFromTypeArray(TypedArray typedArray, XmlPullParser xmlPullParser) {
|
||||
if (TypedArrayUtils.hasAttribute(xmlPullParser, "pathData")) {
|
||||
String namedString = TypedArrayUtils.getNamedString(typedArray, xmlPullParser, "pathData", 4);
|
||||
Path createPathFromPathData = PathParser.createPathFromPathData(namedString);
|
||||
if (createPathFromPathData == null) {
|
||||
throw new InflateException("The path is null, which is created from " + namedString);
|
||||
}
|
||||
initPath(createPathFromPathData);
|
||||
return;
|
||||
}
|
||||
if (!TypedArrayUtils.hasAttribute(xmlPullParser, "controlX1")) {
|
||||
throw new InflateException("pathInterpolator requires the controlX1 attribute");
|
||||
}
|
||||
if (!TypedArrayUtils.hasAttribute(xmlPullParser, "controlY1")) {
|
||||
throw new InflateException("pathInterpolator requires the controlY1 attribute");
|
||||
}
|
||||
float namedFloat = TypedArrayUtils.getNamedFloat(typedArray, xmlPullParser, "controlX1", 0, 0.0f);
|
||||
float namedFloat2 = TypedArrayUtils.getNamedFloat(typedArray, xmlPullParser, "controlY1", 1, 0.0f);
|
||||
boolean hasAttribute = TypedArrayUtils.hasAttribute(xmlPullParser, "controlX2");
|
||||
if (hasAttribute != TypedArrayUtils.hasAttribute(xmlPullParser, "controlY2")) {
|
||||
throw new InflateException("pathInterpolator requires both controlX2 and controlY2 for cubic Beziers.");
|
||||
}
|
||||
if (!hasAttribute) {
|
||||
initQuad(namedFloat, namedFloat2);
|
||||
} else {
|
||||
initCubic(namedFloat, namedFloat2, TypedArrayUtils.getNamedFloat(typedArray, xmlPullParser, "controlX2", 2, 0.0f), TypedArrayUtils.getNamedFloat(typedArray, xmlPullParser, "controlY2", 3, 0.0f));
|
||||
}
|
||||
}
|
||||
|
||||
private void initQuad(float f, float f2) {
|
||||
Path path = new Path();
|
||||
path.moveTo(0.0f, 0.0f);
|
||||
path.quadTo(f, f2, 1.0f, 1.0f);
|
||||
initPath(path);
|
||||
}
|
||||
|
||||
private void initCubic(float f, float f2, float f3, float f4) {
|
||||
Path path = new Path();
|
||||
path.moveTo(0.0f, 0.0f);
|
||||
path.cubicTo(f, f2, f3, f4, 1.0f, 1.0f);
|
||||
initPath(path);
|
||||
}
|
||||
|
||||
private void initPath(Path path) {
|
||||
int i = 0;
|
||||
PathMeasure pathMeasure = new PathMeasure(path, false);
|
||||
float length = pathMeasure.getLength();
|
||||
int min = Math.min(MAX_NUM_POINTS, ((int) (length / 0.002f)) + 1);
|
||||
if (min <= 0) {
|
||||
throw new IllegalArgumentException("The Path has a invalid length " + length);
|
||||
}
|
||||
this.mX = new float[min];
|
||||
this.mY = new float[min];
|
||||
float[] fArr = new float[2];
|
||||
for (int i2 = 0; i2 < min; i2++) {
|
||||
pathMeasure.getPosTan((i2 * length) / (min - 1), fArr, null);
|
||||
this.mX[i2] = fArr[0];
|
||||
this.mY[i2] = fArr[1];
|
||||
}
|
||||
if (Math.abs(this.mX[0]) <= 1.0E-5d && Math.abs(this.mY[0]) <= 1.0E-5d) {
|
||||
int i3 = min - 1;
|
||||
if (Math.abs(this.mX[i3] - 1.0f) <= 1.0E-5d && Math.abs(this.mY[i3] - 1.0f) <= 1.0E-5d) {
|
||||
float f = 0.0f;
|
||||
int i4 = 0;
|
||||
while (i < min) {
|
||||
float[] fArr2 = this.mX;
|
||||
int i5 = i4 + 1;
|
||||
float f2 = fArr2[i4];
|
||||
if (f2 < f) {
|
||||
throw new IllegalArgumentException("The Path cannot loop back on itself, x :" + f2);
|
||||
}
|
||||
fArr2[i] = f2;
|
||||
i++;
|
||||
f = f2;
|
||||
i4 = i5;
|
||||
}
|
||||
if (pathMeasure.nextContour()) {
|
||||
throw new IllegalArgumentException("The Path should be continuous, can't have 2+ contours");
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
StringBuilder sb = new StringBuilder("The Path must start at (0,0) and end at (1,1) start: ");
|
||||
sb.append(this.mX[0]);
|
||||
sb.append(",");
|
||||
sb.append(this.mY[0]);
|
||||
sb.append(" end:");
|
||||
int i6 = min - 1;
|
||||
sb.append(this.mX[i6]);
|
||||
sb.append(",");
|
||||
sb.append(this.mY[i6]);
|
||||
throw new IllegalArgumentException(sb.toString());
|
||||
}
|
||||
|
||||
@Override // android.animation.TimeInterpolator
|
||||
public float getInterpolation(float f) {
|
||||
if (f <= 0.0f) {
|
||||
return 0.0f;
|
||||
}
|
||||
if (f >= 1.0f) {
|
||||
return 1.0f;
|
||||
}
|
||||
int length = this.mX.length - 1;
|
||||
int i = 0;
|
||||
while (length - i > 1) {
|
||||
int i2 = (i + length) / 2;
|
||||
if (f < this.mX[i2]) {
|
||||
length = i2;
|
||||
} else {
|
||||
i = i2;
|
||||
}
|
||||
}
|
||||
float[] fArr = this.mX;
|
||||
float f2 = fArr[length];
|
||||
float f3 = fArr[i];
|
||||
float f4 = f2 - f3;
|
||||
if (f4 == 0.0f) {
|
||||
return this.mY[i];
|
||||
}
|
||||
float f5 = (f - f3) / f4;
|
||||
float[] fArr2 = this.mY;
|
||||
float f6 = fArr2[i];
|
||||
return f6 + (f5 * (fArr2[length] - f6));
|
||||
}
|
||||
}
|
@ -0,0 +1,169 @@
|
||||
package androidx.vectordrawable.graphics.drawable;
|
||||
|
||||
import android.content.res.Resources;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.graphics.Rect;
|
||||
import android.graphics.Region;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import androidx.core.graphics.drawable.DrawableCompat;
|
||||
import androidx.core.graphics.drawable.TintAwareDrawable;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
abstract class VectorDrawableCommon extends Drawable implements TintAwareDrawable {
|
||||
Drawable mDelegateDrawable;
|
||||
|
||||
VectorDrawableCommon() {
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public void setColorFilter(int i, PorterDuff.Mode mode) {
|
||||
Drawable drawable = this.mDelegateDrawable;
|
||||
if (drawable != null) {
|
||||
drawable.setColorFilter(i, mode);
|
||||
} else {
|
||||
super.setColorFilter(i, mode);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
protected boolean onLevelChange(int i) {
|
||||
Drawable drawable = this.mDelegateDrawable;
|
||||
if (drawable != null) {
|
||||
return drawable.setLevel(i);
|
||||
}
|
||||
return super.onLevelChange(i);
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
protected void onBoundsChange(Rect rect) {
|
||||
Drawable drawable = this.mDelegateDrawable;
|
||||
if (drawable != null) {
|
||||
drawable.setBounds(rect);
|
||||
} else {
|
||||
super.onBoundsChange(rect);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public void setHotspot(float f, float f2) {
|
||||
Drawable drawable = this.mDelegateDrawable;
|
||||
if (drawable != null) {
|
||||
DrawableCompat.setHotspot(drawable, f, f2);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public void setHotspotBounds(int i, int i2, int i3, int i4) {
|
||||
Drawable drawable = this.mDelegateDrawable;
|
||||
if (drawable != null) {
|
||||
DrawableCompat.setHotspotBounds(drawable, i, i2, i3, i4);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public void setFilterBitmap(boolean z) {
|
||||
Drawable drawable = this.mDelegateDrawable;
|
||||
if (drawable != null) {
|
||||
drawable.setFilterBitmap(z);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public void jumpToCurrentState() {
|
||||
Drawable drawable = this.mDelegateDrawable;
|
||||
if (drawable != null) {
|
||||
DrawableCompat.jumpToCurrentState(drawable);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public void applyTheme(Resources.Theme theme) {
|
||||
Drawable drawable = this.mDelegateDrawable;
|
||||
if (drawable != null) {
|
||||
DrawableCompat.applyTheme(drawable, theme);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public void clearColorFilter() {
|
||||
Drawable drawable = this.mDelegateDrawable;
|
||||
if (drawable != null) {
|
||||
drawable.clearColorFilter();
|
||||
} else {
|
||||
super.clearColorFilter();
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public Drawable getCurrent() {
|
||||
Drawable drawable = this.mDelegateDrawable;
|
||||
if (drawable != null) {
|
||||
return drawable.getCurrent();
|
||||
}
|
||||
return super.getCurrent();
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public int getMinimumWidth() {
|
||||
Drawable drawable = this.mDelegateDrawable;
|
||||
if (drawable != null) {
|
||||
return drawable.getMinimumWidth();
|
||||
}
|
||||
return super.getMinimumWidth();
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public int getMinimumHeight() {
|
||||
Drawable drawable = this.mDelegateDrawable;
|
||||
if (drawable != null) {
|
||||
return drawable.getMinimumHeight();
|
||||
}
|
||||
return super.getMinimumHeight();
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public boolean getPadding(Rect rect) {
|
||||
Drawable drawable = this.mDelegateDrawable;
|
||||
if (drawable != null) {
|
||||
return drawable.getPadding(rect);
|
||||
}
|
||||
return super.getPadding(rect);
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public int[] getState() {
|
||||
Drawable drawable = this.mDelegateDrawable;
|
||||
if (drawable != null) {
|
||||
return drawable.getState();
|
||||
}
|
||||
return super.getState();
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public Region getTransparentRegion() {
|
||||
Drawable drawable = this.mDelegateDrawable;
|
||||
if (drawable != null) {
|
||||
return drawable.getTransparentRegion();
|
||||
}
|
||||
return super.getTransparentRegion();
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public void setChangingConfigurations(int i) {
|
||||
Drawable drawable = this.mDelegateDrawable;
|
||||
if (drawable != null) {
|
||||
drawable.setChangingConfigurations(i);
|
||||
} else {
|
||||
super.setChangingConfigurations(i);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // android.graphics.drawable.Drawable
|
||||
public boolean setState(int[] iArr) {
|
||||
Drawable drawable = this.mDelegateDrawable;
|
||||
if (drawable != null) {
|
||||
return drawable.setState(iArr);
|
||||
}
|
||||
return super.setState(iArr);
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user