Skip to content

Commit cfeecaa

Browse files
authored
Merge pull request #548 from material-components/revert-533-material-button-issue-531
Revert "[MaterialButton] Fixed issue 531 by removing unnecessary calls to set compound drawables"
2 parents 0d8c378 + 9ed9021 commit cfeecaa

File tree

2 files changed

+1
-36
lines changed

2 files changed

+1
-36
lines changed

lib/java/com/google/android/material/button/MaterialButton.java

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -663,18 +663,7 @@ private void updateIcon() {
663663
icon.setBounds(iconLeft, 0, iconLeft + width, height);
664664
}
665665

666-
// Only update if the icon or the position has changed
667-
boolean isIconStart = iconGravity == ICON_GRAVITY_START || iconGravity == ICON_GRAVITY_TEXT_START;
668-
Drawable[] existingDrawables = TextViewCompat.getCompoundDrawablesRelative(this);
669-
Drawable drawableStart = existingDrawables[0];
670-
Drawable drawableEnd = existingDrawables[2];
671-
boolean hasIconChanged = isIconStart && drawableStart != icon || !isIconStart && drawableEnd != icon;
672-
673-
if(!hasIconChanged) {
674-
return;
675-
}
676-
677-
if (isIconStart) {
666+
if (iconGravity == ICON_GRAVITY_START || iconGravity == ICON_GRAVITY_TEXT_START) {
678667
TextViewCompat.setCompoundDrawablesRelative(this, icon, null, null, null);
679668
} else {
680669
TextViewCompat.setCompoundDrawablesRelative(this, null, null, icon, null);

lib/javatests/com/google/android/material/button/MaterialButtonTest.java

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,12 @@
2424
import com.google.android.material.shape.CornerTreatment;
2525
import com.google.android.material.shape.CutCornerTreatment;
2626
import com.google.android.material.shape.ShapeAppearanceModel;
27-
import androidx.core.content.ContextCompat;
2827
import androidx.test.core.app.ApplicationProvider;
2928
import org.junit.Before;
3029
import org.junit.Test;
3130
import org.junit.runner.RunWith;
3231
import org.robolectric.RobolectricTestRunner;
3332
import org.robolectric.annotation.internal.DoNotInstrument;
34-
import android.graphics.drawable.Drawable;
35-
import android.view.View.MeasureSpec;
3633

3734
/** Tests for {@link com.google.android.material.button.MaterialButton}. */
3835
@RunWith(RobolectricTestRunner.class)
@@ -94,27 +91,6 @@ public void testGetShapeAppearanceModel() {
9491
materialButton.getShapeAppearanceModel(), CUT_CORNER_FAMILY_CLASS);
9592
}
9693

97-
@Test
98-
public void setIcon_IconUpdated_whenCalledTwice() {
99-
MaterialButton materialButton = new MaterialButton(context);
100-
materialButton.setText("test");
101-
int measureSpec =
102-
MeasureSpec.makeMeasureSpec(200, MeasureSpec.AT_MOST);
103-
104-
Drawable drawable1 = ContextCompat.getDrawable(context, android.R.drawable.btn_plus);
105-
materialButton.setIcon(drawable1);
106-
materialButton.setIconGravity(MaterialButton.ICON_GRAVITY_START);
107-
materialButton.measure(measureSpec, measureSpec);
108-
109-
assertThat(materialButton.getIcon()).isEqualTo(drawable1);
110-
111-
Drawable drawable2 = ContextCompat.getDrawable(context, android.R.drawable.btn_minus);
112-
materialButton.setIcon(drawable2);
113-
materialButton.measure(measureSpec, measureSpec);
114-
115-
assertThat(materialButton.getIcon()).isEqualTo(drawable2);
116-
}
117-
11894
private void assertThatCornerFamilyMatches(
11995
ShapeAppearanceModel shapeAppearanceModel,
12096
Class<? extends CornerTreatment> expectedCornerFamily) {

0 commit comments

Comments
 (0)