Set background on correct view

Bug: 31663756
Test: TextInputLayoutTest#testDrawableStateChanged
Change-Id: Ifab1595fb207d826801a001b1da208b985ade6e1
diff --git a/design/src/android/support/design/widget/TextInputLayout.java b/design/src/android/support/design/widget/TextInputLayout.java
index 2bbaace..40adf2d 100644
--- a/design/src/android/support/design/widget/TextInputLayout.java
+++ b/design/src/android/support/design/widget/TextInputLayout.java
@@ -868,7 +868,7 @@
                 // as the background. This has the unfortunate side-effect of wiping out any
                 // user set padding, but I'd hope that use of custom padding on an EditText
                 // is limited.
-                ViewCompat.setBackground(mErrorView, newBg);
+                ViewCompat.setBackground(mEditText, newBg);
                 mHasReconstructedEditTextBackground = true;
             }
         }
diff --git a/design/tests/src/android/support/design/widget/TextInputLayoutTest.java b/design/tests/src/android/support/design/widget/TextInputLayoutTest.java
index fce619e..66ea00b 100755
--- a/design/tests/src/android/support/design/widget/TextInputLayoutTest.java
+++ b/design/tests/src/android/support/design/widget/TextInputLayoutTest.java
@@ -43,6 +43,7 @@
 import android.graphics.drawable.ColorDrawable;
 import android.graphics.drawable.Drawable;
 import android.support.design.test.R;
+import android.support.test.annotation.UiThreadTest;
 import android.support.test.espresso.NoMatchingViewException;
 import android.support.test.espresso.ViewAssertion;
 import android.test.suitebuilder.annotation.SmallTest;
@@ -216,6 +217,19 @@
         onView(withId(R.id.textinput_edittext)).check(matches(not(isEnabled())));
     }
 
+    /**
+     * Regression test for b/31663756.
+     */
+    @UiThreadTest
+    @Test
+    public void testDrawableStateChanged() {
+        final Activity activity = mActivityTestRule.getActivity();
+        final TextInputLayout layout = (TextInputLayout) activity.findViewById(R.id.textinput);
+
+        // Force a drawable state change.
+        layout.drawableStateChanged();
+    }
+
     static ViewAssertion isHintExpanded(final boolean expanded) {
         return new ViewAssertion() {
             @Override