mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2024-12-30 11:02:31 -06:00
121 lines
3.6 KiB
Java
121 lines
3.6 KiB
Java
package androidx.constraintlayout.solver.widgets.analyzer;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.Iterator;
|
|
import java.util.List;
|
|
|
|
/* loaded from: classes.dex */
|
|
public class DependencyNode implements Dependency {
|
|
int margin;
|
|
WidgetRun run;
|
|
public int value;
|
|
public Dependency updateDelegate = null;
|
|
public boolean delegateToWidgetRun = false;
|
|
public boolean readyToSolve = false;
|
|
Type type = Type.UNKNOWN;
|
|
int marginFactor = 1;
|
|
DimensionDependency marginDependency = null;
|
|
public boolean resolved = false;
|
|
List<Dependency> dependencies = new ArrayList();
|
|
List<DependencyNode> targets = new ArrayList();
|
|
|
|
/* loaded from: classes.dex */
|
|
enum Type {
|
|
UNKNOWN,
|
|
HORIZONTAL_DIMENSION,
|
|
VERTICAL_DIMENSION,
|
|
LEFT,
|
|
RIGHT,
|
|
TOP,
|
|
BOTTOM,
|
|
BASELINE
|
|
}
|
|
|
|
public DependencyNode(WidgetRun widgetRun) {
|
|
this.run = widgetRun;
|
|
}
|
|
|
|
public String toString() {
|
|
return this.run.widget.getDebugName() + ":" + this.type + "(" + (this.resolved ? Integer.valueOf(this.value) : "unresolved") + ") <t=" + this.targets.size() + ":d=" + this.dependencies.size() + ">";
|
|
}
|
|
|
|
public void resolve(int i) {
|
|
if (this.resolved) {
|
|
return;
|
|
}
|
|
this.resolved = true;
|
|
this.value = i;
|
|
for (Dependency dependency : this.dependencies) {
|
|
dependency.update(dependency);
|
|
}
|
|
}
|
|
|
|
@Override // androidx.constraintlayout.solver.widgets.analyzer.Dependency
|
|
public void update(Dependency dependency) {
|
|
Iterator<DependencyNode> it = this.targets.iterator();
|
|
while (it.hasNext()) {
|
|
if (!it.next().resolved) {
|
|
return;
|
|
}
|
|
}
|
|
this.readyToSolve = true;
|
|
Dependency dependency2 = this.updateDelegate;
|
|
if (dependency2 != null) {
|
|
dependency2.update(this);
|
|
}
|
|
if (this.delegateToWidgetRun) {
|
|
this.run.update(this);
|
|
return;
|
|
}
|
|
DependencyNode dependencyNode = null;
|
|
int i = 0;
|
|
for (DependencyNode dependencyNode2 : this.targets) {
|
|
if (!(dependencyNode2 instanceof DimensionDependency)) {
|
|
i++;
|
|
dependencyNode = dependencyNode2;
|
|
}
|
|
}
|
|
if (dependencyNode != null && i == 1 && dependencyNode.resolved) {
|
|
DimensionDependency dimensionDependency = this.marginDependency;
|
|
if (dimensionDependency != null) {
|
|
if (!dimensionDependency.resolved) {
|
|
return;
|
|
} else {
|
|
this.margin = this.marginFactor * this.marginDependency.value;
|
|
}
|
|
}
|
|
resolve(dependencyNode.value + this.margin);
|
|
}
|
|
Dependency dependency3 = this.updateDelegate;
|
|
if (dependency3 != null) {
|
|
dependency3.update(this);
|
|
}
|
|
}
|
|
|
|
public void addDependency(Dependency dependency) {
|
|
this.dependencies.add(dependency);
|
|
if (this.resolved) {
|
|
dependency.update(dependency);
|
|
}
|
|
}
|
|
|
|
public String name() {
|
|
String str;
|
|
String debugName = this.run.widget.getDebugName();
|
|
if (this.type == Type.LEFT || this.type == Type.RIGHT) {
|
|
str = debugName + "_HORIZONTAL";
|
|
} else {
|
|
str = debugName + "_VERTICAL";
|
|
}
|
|
return str + ":" + this.type.name();
|
|
}
|
|
|
|
public void clear() {
|
|
this.targets.clear();
|
|
this.dependencies.clear();
|
|
this.resolved = false;
|
|
this.value = 0;
|
|
this.readyToSolve = false;
|
|
this.delegateToWidgetRun = false;
|
|
}
|
|
}
|