Skip to content

Commit f2f454b

Browse files
hunterstichdsn5ft
authored andcommittedApr 27, 2022
[Motion] Update container transform to use new motion system.
PiperOrigin-RevId: 444848054
1 parent 0e4e44e commit f2f454b

File tree

5 files changed

+31
-9
lines changed

5 files changed

+31
-9
lines changed
 

‎catalog/java/io/material/catalog/transition/ContainerTransformConfigurationHelper.java

+12-3
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,9 @@ void configure(MaterialContainerTransform transform, boolean entering) {
9999
if (duration != NO_DURATION) {
100100
transform.setDuration(duration);
101101
}
102-
transform.setInterpolator(getInterpolator());
102+
if (getInterpolator() != null) {
103+
transform.setInterpolator(getInterpolator());
104+
}
103105
if (isArcMotionEnabled()) {
104106
transform.setPathMotion(new MaterialArcMotion());
105107
}
@@ -116,7 +118,9 @@ void configure(
116118
if (duration != NO_DURATION) {
117119
transform.setDuration(duration);
118120
}
119-
transform.setInterpolator(getInterpolator());
121+
if (getInterpolator() != null) {
122+
transform.setInterpolator(getInterpolator());
123+
}
120124
if (isArcMotionEnabled()) {
121125
transform.setPathMotion(
122126
new com.google.android.material.transition.platform.MaterialArcMotion());
@@ -302,6 +306,8 @@ private void setUpBottomSheetInterpolation(View view) {
302306
setTextFloat(view.findViewById(R.id.y1_edit_text), currentInterp.controlY1);
303307
setTextFloat(view.findViewById(R.id.x2_edit_text), currentInterp.controlX2);
304308
setTextFloat(view.findViewById(R.id.y2_edit_text), currentInterp.controlY2);
309+
} else {
310+
interpolationGroup.check(R.id.radio_default);
305311
}
306312

307313
// Show/hide custom text input fields depending on initial checked radio button.
@@ -452,9 +458,12 @@ private void setUpBottomSheetConfirmationButtons(View view, BottomSheetDialog di
452458
} else if (checkedRadioButtonId == R.id.radio_bounce) {
453459
interpolator = new BounceInterpolator();
454460
dialog.dismiss();
455-
} else {
461+
} else if (checkedRadioButtonId == R.id.radio_fast_out_slow_in) {
456462
interpolator = new FastOutSlowInInterpolator();
457463
dialog.dismiss();
464+
} else {
465+
interpolator = null;
466+
dialog.dismiss();
458467
}
459468
});
460469

‎catalog/java/io/material/catalog/transition/res/layout/cat_transition_configuration_layout.xml

+8-2
Original file line numberDiff line numberDiff line change
@@ -164,12 +164,18 @@
164164
android:animateLayoutChanges="true"
165165
android:orientation="vertical">
166166

167+
<RadioButton
168+
android:id="@+id/radio_default"
169+
android:layout_width="match_parent"
170+
android:layout_height="wrap_content"
171+
android:text="@string/cat_transition_config_default"
172+
android:checked="true"/>
173+
167174
<RadioButton
168175
android:id="@+id/radio_fast_out_slow_in"
169176
android:layout_width="match_parent"
170177
android:layout_height="wrap_content"
171-
android:text="@string/cat_transition_config_fast_out_slow_in_title"
172-
android:checked="true"/>
178+
android:text="@string/cat_transition_config_fast_out_slow_in_title"/>
173179

174180
<RadioButton
175181
android:id="@+id/radio_overshoot"

‎catalog/java/io/material/catalog/transition/res/values/strings.xml

+1
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ Phasellus in aliquet mi. Pellentesque habitant morbi tristique senectus et netus
5151
<string name="cat_transition_config_enter_duration_title">Enter Duration</string>
5252
<string name="cat_transition_config_return_duration_title">Return Duration</string>
5353
<string name="cat_transition_config_interpolation_title">Interpolation</string>
54+
<string name="cat_transition_config_default">Default</string>
5455
<string name="cat_transition_config_fast_out_slow_in_title">FastOutSlowIn</string>
5556
<string name="cat_transition_config_overshoot">Overshoot</string>
5657
<string name="cat_transition_config_anticipate_overshoot">AnticipateOvershoot</string>

‎lib/java/com/google/android/material/transition/MaterialContainerTransform.java

+5-2
Original file line numberDiff line numberDiff line change
@@ -1005,9 +1005,12 @@ public void onTransitionEnd(@NonNull Transition transition) {
10051005

10061006
private void maybeApplyThemeValues(Context context, boolean entering) {
10071007
TransitionUtils.maybeApplyThemeInterpolator(
1008-
this, context, R.attr.motionEasingStandard, AnimationUtils.FAST_OUT_SLOW_IN_INTERPOLATOR);
1008+
this,
1009+
context,
1010+
R.attr.motionEasingEmphasizedInterpolator,
1011+
AnimationUtils.FAST_OUT_SLOW_IN_INTERPOLATOR);
10091012
TransitionUtils.maybeApplyThemeDuration(
1010-
this, context, entering ? R.attr.motionDurationLong1 : R.attr.motionDurationMedium2);
1013+
this, context, entering ? R.attr.motionDurationExtraLong2 : R.attr.motionDurationMedium4);
10111014
if (!pathMotionCustom) {
10121015
TransitionUtils.maybeApplyThemePath(this, context, R.attr.motionPath);
10131016
}

‎lib/java/com/google/android/material/transition/platform/MaterialContainerTransform.java

+5-2
Original file line numberDiff line numberDiff line change
@@ -1010,9 +1010,12 @@ public void onTransitionEnd(@NonNull Transition transition) {
10101010

10111011
private void maybeApplyThemeValues(Context context, boolean entering) {
10121012
TransitionUtils.maybeApplyThemeInterpolator(
1013-
this, context, R.attr.motionEasingStandard, AnimationUtils.FAST_OUT_SLOW_IN_INTERPOLATOR);
1013+
this,
1014+
context,
1015+
R.attr.motionEasingEmphasizedInterpolator,
1016+
AnimationUtils.FAST_OUT_SLOW_IN_INTERPOLATOR);
10141017
TransitionUtils.maybeApplyThemeDuration(
1015-
this, context, entering ? R.attr.motionDurationLong1 : R.attr.motionDurationMedium2);
1018+
this, context, entering ? R.attr.motionDurationExtraLong2 : R.attr.motionDurationMedium4);
10161019
if (!pathMotionCustom) {
10171020
TransitionUtils.maybeApplyThemePath(this, context, R.attr.motionPath);
10181021
}

0 commit comments

Comments
 (0)
Please sign in to comment.