Rabbit-R1/android (non root)/java/sources/com/google/android/material/timepicker/RadialViewGroup.java

151 lines
5.4 KiB
Java
Raw Permalink Normal View History

2024-05-21 21:08:36 +00:00
package com.google.android.material.timepicker;
import android.content.Context;
import android.content.res.ColorStateList;
import android.content.res.TypedArray;
import android.graphics.drawable.Drawable;
import android.os.Handler;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.constraintlayout.widget.ConstraintSet;
import androidx.core.view.ViewCompat;
import com.google.android.material.R;
import com.google.android.material.shape.MaterialShapeDrawable;
import com.google.android.material.shape.RelativeCornerSize;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
/* JADX INFO: Access modifiers changed from: package-private */
/* loaded from: classes2.dex */
public class RadialViewGroup extends ConstraintLayout {
static final int LEVEL_1 = 1;
static final int LEVEL_2 = 2;
static final float LEVEL_RADIUS_RATIO = 0.66f;
private static final String SKIP_TAG = "skip";
private MaterialShapeDrawable background;
private int radius;
private final Runnable updateLayoutParametersRunnable;
public int getRadius() {
return this.radius;
}
public RadialViewGroup(Context context) {
this(context, null);
}
public RadialViewGroup(Context context, AttributeSet attributeSet) {
this(context, attributeSet, 0);
}
public RadialViewGroup(Context context, AttributeSet attributeSet, int i) {
super(context, attributeSet, i);
LayoutInflater.from(context).inflate(R.layout.material_radial_view_group, this);
ViewCompat.setBackground(this, createBackground());
TypedArray obtainStyledAttributes = context.obtainStyledAttributes(attributeSet, R.styleable.RadialViewGroup, i, 0);
this.radius = obtainStyledAttributes.getDimensionPixelSize(R.styleable.RadialViewGroup_materialCircleRadius, 0);
this.updateLayoutParametersRunnable = new Runnable() { // from class: com.google.android.material.timepicker.RadialViewGroup$$ExternalSyntheticLambda0
@Override // java.lang.Runnable
public final void run() {
RadialViewGroup.this.updateLayoutParams();
}
};
obtainStyledAttributes.recycle();
}
private Drawable createBackground() {
MaterialShapeDrawable materialShapeDrawable = new MaterialShapeDrawable();
this.background = materialShapeDrawable;
materialShapeDrawable.setCornerSize(new RelativeCornerSize(0.5f));
this.background.setFillColor(ColorStateList.valueOf(-1));
return this.background;
}
@Override // android.view.View
public void setBackgroundColor(int i) {
this.background.setFillColor(ColorStateList.valueOf(i));
}
@Override // androidx.constraintlayout.widget.ConstraintLayout, android.view.ViewGroup
public void addView(View view, int i, ViewGroup.LayoutParams layoutParams) {
super.addView(view, i, layoutParams);
if (view.getId() == -1) {
view.setId(ViewCompat.generateViewId());
}
updateLayoutParamsAsync();
}
@Override // androidx.constraintlayout.widget.ConstraintLayout, android.view.ViewGroup
public void onViewRemoved(View view) {
super.onViewRemoved(view);
updateLayoutParamsAsync();
}
private void updateLayoutParamsAsync() {
Handler handler = getHandler();
if (handler != null) {
handler.removeCallbacks(this.updateLayoutParametersRunnable);
handler.post(this.updateLayoutParametersRunnable);
}
}
@Override // android.view.View
protected void onFinishInflate() {
super.onFinishInflate();
updateLayoutParams();
}
/* JADX INFO: Access modifiers changed from: protected */
public void updateLayoutParams() {
ConstraintSet constraintSet = new ConstraintSet();
constraintSet.clone(this);
HashMap hashMap = new HashMap();
for (int i = 0; i < getChildCount(); i++) {
View childAt = getChildAt(i);
if (childAt.getId() != R.id.circle_center && !shouldSkipView(childAt)) {
int i2 = (Integer) childAt.getTag(R.id.material_clock_level);
if (i2 == null) {
i2 = 1;
}
if (!hashMap.containsKey(i2)) {
hashMap.put(i2, new ArrayList());
}
((List) hashMap.get(i2)).add(childAt);
}
}
for (Map.Entry entry : hashMap.entrySet()) {
addConstraints((List) entry.getValue(), constraintSet, getLeveledRadius(((Integer) entry.getKey()).intValue()));
}
constraintSet.applyTo(this);
}
private void addConstraints(List<View> list, ConstraintSet constraintSet, int i) {
Iterator<View> it = list.iterator();
float f = 0.0f;
while (it.hasNext()) {
constraintSet.constrainCircle(it.next().getId(), R.id.circle_center, i, f);
f += 360.0f / list.size();
}
}
public void setRadius(int i) {
this.radius = i;
updateLayoutParams();
}
int getLeveledRadius(int i) {
int i2 = this.radius;
return i == 2 ? Math.round(i2 * LEVEL_RADIUS_RATIO) : i2;
}
private static boolean shouldSkipView(View view) {
return SKIP_TAG.equals(view.getTag());
}
}