36 lines
1.8 KiB
Java
36 lines
1.8 KiB
Java
package androidx.constraintlayout.motion.widget;
|
|
|
|
import androidx.constraintlayout.motion.widget.MotionScene;
|
|
import androidx.constraintlayout.widget.ConstraintSet;
|
|
|
|
/* loaded from: classes.dex */
|
|
public class TransitionBuilder {
|
|
private static final String TAG = "TransitionBuilder";
|
|
|
|
public static void validate(MotionLayout layout) {
|
|
if (layout.mScene == null) {
|
|
throw new RuntimeException("Invalid motion layout. Layout missing Motion Scene.");
|
|
}
|
|
MotionScene motionScene = layout.mScene;
|
|
if (!motionScene.validateLayout(layout)) {
|
|
throw new RuntimeException("MotionLayout doesn't have the right motion scene.");
|
|
}
|
|
if (motionScene.mCurrentTransition == null || motionScene.getDefinedTransitions().isEmpty()) {
|
|
throw new RuntimeException("Invalid motion layout. Motion Scene doesn't have any transition.");
|
|
}
|
|
}
|
|
|
|
public static MotionScene.Transition buildTransition(MotionScene scene, int transitionId, int startConstraintSetId, ConstraintSet startConstraintSet, int endConstraintSetId, ConstraintSet endConstraintSet) {
|
|
MotionScene.Transition transition = new MotionScene.Transition(transitionId, scene, startConstraintSetId, endConstraintSetId);
|
|
updateConstraintSetInMotionScene(scene, transition, startConstraintSet, endConstraintSet);
|
|
return transition;
|
|
}
|
|
|
|
private static void updateConstraintSetInMotionScene(MotionScene scene, MotionScene.Transition transition, ConstraintSet startConstraintSet, ConstraintSet endConstraintSet) {
|
|
int startConstraintSetId = transition.getStartConstraintSetId();
|
|
int endConstraintSetId = transition.getEndConstraintSetId();
|
|
scene.setConstraintSet(startConstraintSetId, startConstraintSet);
|
|
scene.setConstraintSet(endConstraintSetId, endConstraintSet);
|
|
}
|
|
}
|