ADD week 5
This commit is contained in:
		
							
								
								
									
										1730
									
								
								02-Easy5/E5/sources/com/google/android/material/chip/Chip.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1730
									
								
								02-Easy5/E5/sources/com/google/android/material/chip/Chip.java
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -0,0 +1,358 @@ | ||||
| package com.google.android.material.chip; | ||||
|  | ||||
| import android.content.Context; | ||||
| import android.graphics.drawable.Drawable; | ||||
| import android.util.AttributeSet; | ||||
| import android.view.View; | ||||
| import android.view.ViewGroup; | ||||
| import android.view.accessibility.AccessibilityNodeInfo; | ||||
| import androidx.core.view.ViewCompat; | ||||
| import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; | ||||
| import com.google.android.material.R; | ||||
| import com.google.android.material.internal.CheckableGroup; | ||||
| import com.google.android.material.internal.FlowLayout; | ||||
| import java.util.List; | ||||
|  | ||||
| /* loaded from: classes.dex */ | ||||
| public class ChipGroup extends FlowLayout { | ||||
|     private static final int DEF_STYLE_RES = R.style.Widget_MaterialComponents_ChipGroup; | ||||
|     private final CheckableGroup<Chip> checkableGroup; | ||||
|     private int chipSpacingHorizontal; | ||||
|     private int chipSpacingVertical; | ||||
|     private final int defaultCheckedId; | ||||
|     private OnCheckedStateChangeListener onCheckedStateChangeListener; | ||||
|     private final PassThroughHierarchyChangeListener passThroughListener; | ||||
|  | ||||
|     @Deprecated | ||||
|     public interface OnCheckedChangeListener { | ||||
|         void onCheckedChanged(ChipGroup chipGroup, int i); | ||||
|     } | ||||
|  | ||||
|     public interface OnCheckedStateChangeListener { | ||||
|         void onCheckedChanged(ChipGroup chipGroup, List<Integer> list); | ||||
|     } | ||||
|  | ||||
|     public int getChipSpacingHorizontal() { | ||||
|         return this.chipSpacingHorizontal; | ||||
|     } | ||||
|  | ||||
|     public int getChipSpacingVertical() { | ||||
|         return this.chipSpacingVertical; | ||||
|     } | ||||
|  | ||||
|     public void setOnCheckedStateChangeListener(OnCheckedStateChangeListener onCheckedStateChangeListener) { | ||||
|         this.onCheckedStateChangeListener = onCheckedStateChangeListener; | ||||
|     } | ||||
|  | ||||
|     public static class LayoutParams extends ViewGroup.MarginLayoutParams { | ||||
|         public LayoutParams(Context context, AttributeSet attributeSet) { | ||||
|             super(context, attributeSet); | ||||
|         } | ||||
|  | ||||
|         public LayoutParams(ViewGroup.LayoutParams layoutParams) { | ||||
|             super(layoutParams); | ||||
|         } | ||||
|  | ||||
|         public LayoutParams(int i, int i2) { | ||||
|             super(i, i2); | ||||
|         } | ||||
|  | ||||
|         public LayoutParams(ViewGroup.MarginLayoutParams marginLayoutParams) { | ||||
|             super(marginLayoutParams); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     public ChipGroup(Context context) { | ||||
|         this(context, null); | ||||
|     } | ||||
|  | ||||
|     public ChipGroup(Context context, AttributeSet attributeSet) { | ||||
|         this(context, attributeSet, R.attr.chipGroupStyle); | ||||
|     } | ||||
|  | ||||
|     /* JADX WARN: Illegal instructions before constructor call */ | ||||
|     /* | ||||
|         Code decompiled incorrectly, please refer to instructions dump. | ||||
|         To view partially-correct add '--show-bad-code' argument | ||||
|     */ | ||||
|     public ChipGroup(android.content.Context r9, android.util.AttributeSet r10, int r11) { | ||||
|         /* | ||||
|             r8 = this; | ||||
|             int r4 = com.google.android.material.chip.ChipGroup.DEF_STYLE_RES | ||||
|             android.content.Context r9 = com.google.android.material.theme.overlay.MaterialThemeOverlay.wrap(r9, r10, r11, r4) | ||||
|             r8.<init>(r9, r10, r11) | ||||
|             com.google.android.material.internal.CheckableGroup r9 = new com.google.android.material.internal.CheckableGroup | ||||
|             r9.<init>() | ||||
|             r8.checkableGroup = r9 | ||||
|             com.google.android.material.chip.ChipGroup$PassThroughHierarchyChangeListener r6 = new com.google.android.material.chip.ChipGroup$PassThroughHierarchyChangeListener | ||||
|             r0 = 0 | ||||
|             r6.<init>() | ||||
|             r8.passThroughListener = r6 | ||||
|             android.content.Context r0 = r8.getContext() | ||||
|             int[] r2 = com.google.android.material.R.styleable.ChipGroup | ||||
|             r7 = 0 | ||||
|             int[] r5 = new int[r7] | ||||
|             r1 = r10 | ||||
|             r3 = r11 | ||||
|             android.content.res.TypedArray r10 = com.google.android.material.internal.ThemeEnforcement.obtainStyledAttributes(r0, r1, r2, r3, r4, r5) | ||||
|             int r11 = com.google.android.material.R.styleable.ChipGroup_chipSpacing | ||||
|             int r11 = r10.getDimensionPixelOffset(r11, r7) | ||||
|             int r0 = com.google.android.material.R.styleable.ChipGroup_chipSpacingHorizontal | ||||
|             int r0 = r10.getDimensionPixelOffset(r0, r11) | ||||
|             r8.setChipSpacingHorizontal(r0) | ||||
|             int r0 = com.google.android.material.R.styleable.ChipGroup_chipSpacingVertical | ||||
|             int r11 = r10.getDimensionPixelOffset(r0, r11) | ||||
|             r8.setChipSpacingVertical(r11) | ||||
|             int r11 = com.google.android.material.R.styleable.ChipGroup_singleLine | ||||
|             boolean r11 = r10.getBoolean(r11, r7) | ||||
|             r8.setSingleLine(r11) | ||||
|             int r11 = com.google.android.material.R.styleable.ChipGroup_singleSelection | ||||
|             boolean r11 = r10.getBoolean(r11, r7) | ||||
|             r8.setSingleSelection(r11) | ||||
|             int r11 = com.google.android.material.R.styleable.ChipGroup_selectionRequired | ||||
|             boolean r11 = r10.getBoolean(r11, r7) | ||||
|             r8.setSelectionRequired(r11) | ||||
|             int r11 = com.google.android.material.R.styleable.ChipGroup_checkedChip | ||||
|             r0 = -1 | ||||
|             int r11 = r10.getResourceId(r11, r0) | ||||
|             r8.defaultCheckedId = r11 | ||||
|             r10.recycle() | ||||
|             com.google.android.material.chip.ChipGroup$1 r10 = new com.google.android.material.chip.ChipGroup$1 | ||||
|             r10.<init>() | ||||
|             r9.setOnCheckedStateChangeListener(r10) | ||||
|             super.setOnHierarchyChangeListener(r6) | ||||
|             r9 = 1 | ||||
|             androidx.core.view.ViewCompat.setImportantForAccessibility(r8, r9) | ||||
|             return | ||||
|         */ | ||||
|         throw new UnsupportedOperationException("Method not decompiled: com.google.android.material.chip.ChipGroup.<init>(android.content.Context, android.util.AttributeSet, int):void"); | ||||
|     } | ||||
|  | ||||
|     @Override // android.view.View | ||||
|     public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo accessibilityNodeInfo) { | ||||
|         super.onInitializeAccessibilityNodeInfo(accessibilityNodeInfo); | ||||
|         AccessibilityNodeInfoCompat.wrap(accessibilityNodeInfo).setCollectionInfo(AccessibilityNodeInfoCompat.CollectionInfoCompat.obtain(getRowCount(), isSingleLine() ? getVisibleChipCount() : -1, false, isSingleSelection() ? 1 : 2)); | ||||
|     } | ||||
|  | ||||
|     @Override // android.view.ViewGroup | ||||
|     public ViewGroup.LayoutParams generateLayoutParams(AttributeSet attributeSet) { | ||||
|         return new LayoutParams(getContext(), attributeSet); | ||||
|     } | ||||
|  | ||||
|     @Override // android.view.ViewGroup | ||||
|     protected ViewGroup.LayoutParams generateLayoutParams(ViewGroup.LayoutParams layoutParams) { | ||||
|         return new LayoutParams(layoutParams); | ||||
|     } | ||||
|  | ||||
|     @Override // android.view.ViewGroup | ||||
|     protected ViewGroup.LayoutParams generateDefaultLayoutParams() { | ||||
|         return new LayoutParams(-2, -2); | ||||
|     } | ||||
|  | ||||
|     @Override // android.view.ViewGroup | ||||
|     protected boolean checkLayoutParams(ViewGroup.LayoutParams layoutParams) { | ||||
|         return super.checkLayoutParams(layoutParams) && (layoutParams instanceof LayoutParams); | ||||
|     } | ||||
|  | ||||
|     @Override // android.view.ViewGroup | ||||
|     public void setOnHierarchyChangeListener(ViewGroup.OnHierarchyChangeListener onHierarchyChangeListener) { | ||||
|         this.passThroughListener.onHierarchyChangeListener = onHierarchyChangeListener; | ||||
|     } | ||||
|  | ||||
|     @Override // android.view.View | ||||
|     protected void onFinishInflate() { | ||||
|         super.onFinishInflate(); | ||||
|         int i = this.defaultCheckedId; | ||||
|         if (i != -1) { | ||||
|             this.checkableGroup.check(i); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     @Deprecated | ||||
|     public void setDividerDrawableHorizontal(Drawable drawable) { | ||||
|         throw new UnsupportedOperationException("Changing divider drawables have no effect. ChipGroup do not use divider drawables as spacing."); | ||||
|     } | ||||
|  | ||||
|     @Deprecated | ||||
|     public void setDividerDrawableVertical(Drawable drawable) { | ||||
|         throw new UnsupportedOperationException("Changing divider drawables have no effect. ChipGroup do not use divider drawables as spacing."); | ||||
|     } | ||||
|  | ||||
|     @Deprecated | ||||
|     public void setShowDividerHorizontal(int i) { | ||||
|         throw new UnsupportedOperationException("Changing divider modes has no effect. ChipGroup do not use divider drawables as spacing."); | ||||
|     } | ||||
|  | ||||
|     @Deprecated | ||||
|     public void setShowDividerVertical(int i) { | ||||
|         throw new UnsupportedOperationException("Changing divider modes has no effect. ChipGroup do not use divider drawables as spacing."); | ||||
|     } | ||||
|  | ||||
|     @Deprecated | ||||
|     public void setFlexWrap(int i) { | ||||
|         throw new UnsupportedOperationException("Changing flex wrap not allowed. ChipGroup exposes a singleLine attribute instead."); | ||||
|     } | ||||
|  | ||||
|     public void check(int i) { | ||||
|         this.checkableGroup.check(i); | ||||
|     } | ||||
|  | ||||
|     public int getCheckedChipId() { | ||||
|         return this.checkableGroup.getSingleCheckedId(); | ||||
|     } | ||||
|  | ||||
|     public List<Integer> getCheckedChipIds() { | ||||
|         return this.checkableGroup.getCheckedIdsSortedByChildOrder(this); | ||||
|     } | ||||
|  | ||||
|     public void clearCheck() { | ||||
|         this.checkableGroup.clearCheck(); | ||||
|     } | ||||
|  | ||||
|     @Deprecated | ||||
|     public void setOnCheckedChangeListener(final OnCheckedChangeListener onCheckedChangeListener) { | ||||
|         if (onCheckedChangeListener == null) { | ||||
|             setOnCheckedStateChangeListener(null); | ||||
|         } else { | ||||
|             setOnCheckedStateChangeListener(new OnCheckedStateChangeListener() { // from class: com.google.android.material.chip.ChipGroup.2 | ||||
|                 @Override // com.google.android.material.chip.ChipGroup.OnCheckedStateChangeListener | ||||
|                 public void onCheckedChanged(ChipGroup chipGroup, List<Integer> list) { | ||||
|                     if (ChipGroup.this.checkableGroup.isSingleSelection()) { | ||||
|                         onCheckedChangeListener.onCheckedChanged(chipGroup, ChipGroup.this.getCheckedChipId()); | ||||
|                     } | ||||
|                 } | ||||
|             }); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     private int getVisibleChipCount() { | ||||
|         int i = 0; | ||||
|         for (int i2 = 0; i2 < getChildCount(); i2++) { | ||||
|             if ((getChildAt(i2) instanceof Chip) && isChildVisible(i2)) { | ||||
|                 i++; | ||||
|             } | ||||
|         } | ||||
|         return i; | ||||
|     } | ||||
|  | ||||
|     int getIndexOfChip(View view) { | ||||
|         if (!(view instanceof Chip)) { | ||||
|             return -1; | ||||
|         } | ||||
|         int i = 0; | ||||
|         for (int i2 = 0; i2 < getChildCount(); i2++) { | ||||
|             View childAt = getChildAt(i2); | ||||
|             if ((childAt instanceof Chip) && isChildVisible(i2)) { | ||||
|                 if (((Chip) childAt) == view) { | ||||
|                     return i; | ||||
|                 } | ||||
|                 i++; | ||||
|             } | ||||
|         } | ||||
|         return -1; | ||||
|     } | ||||
|  | ||||
|     private boolean isChildVisible(int i) { | ||||
|         return getChildAt(i).getVisibility() == 0; | ||||
|     } | ||||
|  | ||||
|     public void setChipSpacing(int i) { | ||||
|         setChipSpacingHorizontal(i); | ||||
|         setChipSpacingVertical(i); | ||||
|     } | ||||
|  | ||||
|     public void setChipSpacingResource(int i) { | ||||
|         setChipSpacing(getResources().getDimensionPixelOffset(i)); | ||||
|     } | ||||
|  | ||||
|     public void setChipSpacingHorizontal(int i) { | ||||
|         if (this.chipSpacingHorizontal != i) { | ||||
|             this.chipSpacingHorizontal = i; | ||||
|             setItemSpacing(i); | ||||
|             requestLayout(); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     public void setChipSpacingHorizontalResource(int i) { | ||||
|         setChipSpacingHorizontal(getResources().getDimensionPixelOffset(i)); | ||||
|     } | ||||
|  | ||||
|     public void setChipSpacingVertical(int i) { | ||||
|         if (this.chipSpacingVertical != i) { | ||||
|             this.chipSpacingVertical = i; | ||||
|             setLineSpacing(i); | ||||
|             requestLayout(); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     public void setChipSpacingVerticalResource(int i) { | ||||
|         setChipSpacingVertical(getResources().getDimensionPixelOffset(i)); | ||||
|     } | ||||
|  | ||||
|     @Override // com.google.android.material.internal.FlowLayout | ||||
|     public boolean isSingleLine() { | ||||
|         return super.isSingleLine(); | ||||
|     } | ||||
|  | ||||
|     @Override // com.google.android.material.internal.FlowLayout | ||||
|     public void setSingleLine(boolean z) { | ||||
|         super.setSingleLine(z); | ||||
|     } | ||||
|  | ||||
|     public void setSingleLine(int i) { | ||||
|         setSingleLine(getResources().getBoolean(i)); | ||||
|     } | ||||
|  | ||||
|     public boolean isSingleSelection() { | ||||
|         return this.checkableGroup.isSingleSelection(); | ||||
|     } | ||||
|  | ||||
|     public void setSingleSelection(boolean z) { | ||||
|         this.checkableGroup.setSingleSelection(z); | ||||
|     } | ||||
|  | ||||
|     public void setSingleSelection(int i) { | ||||
|         setSingleSelection(getResources().getBoolean(i)); | ||||
|     } | ||||
|  | ||||
|     public void setSelectionRequired(boolean z) { | ||||
|         this.checkableGroup.setSelectionRequired(z); | ||||
|     } | ||||
|  | ||||
|     public boolean isSelectionRequired() { | ||||
|         return this.checkableGroup.isSelectionRequired(); | ||||
|     } | ||||
|  | ||||
|     private class PassThroughHierarchyChangeListener implements ViewGroup.OnHierarchyChangeListener { | ||||
|         private ViewGroup.OnHierarchyChangeListener onHierarchyChangeListener; | ||||
|  | ||||
|         private PassThroughHierarchyChangeListener() { | ||||
|         } | ||||
|  | ||||
|         @Override // android.view.ViewGroup.OnHierarchyChangeListener | ||||
|         public void onChildViewAdded(View view, View view2) { | ||||
|             if (view == ChipGroup.this && (view2 instanceof Chip)) { | ||||
|                 if (view2.getId() == -1) { | ||||
|                     view2.setId(ViewCompat.generateViewId()); | ||||
|                 } | ||||
|                 ChipGroup.this.checkableGroup.addCheckable((Chip) view2); | ||||
|             } | ||||
|             ViewGroup.OnHierarchyChangeListener onHierarchyChangeListener = this.onHierarchyChangeListener; | ||||
|             if (onHierarchyChangeListener != null) { | ||||
|                 onHierarchyChangeListener.onChildViewAdded(view, view2); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         @Override // android.view.ViewGroup.OnHierarchyChangeListener | ||||
|         public void onChildViewRemoved(View view, View view2) { | ||||
|             ChipGroup chipGroup = ChipGroup.this; | ||||
|             if (view == chipGroup && (view2 instanceof Chip)) { | ||||
|                 chipGroup.checkableGroup.removeCheckable((Chip) view2); | ||||
|             } | ||||
|             ViewGroup.OnHierarchyChangeListener onHierarchyChangeListener = this.onHierarchyChangeListener; | ||||
|             if (onHierarchyChangeListener != null) { | ||||
|                 onHierarchyChangeListener.onChildViewRemoved(view, view2); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user