| Index: ui/android/java/src/org/chromium/ui/widget/ButtonCompat.java
|
| diff --git a/ui/android/java/src/org/chromium/ui/widget/ButtonCompat.java b/ui/android/java/src/org/chromium/ui/widget/ButtonCompat.java
|
| index df5b52d1f3f83b58554035c391e4253c01bb8afa..27ed3e34a192eab006a87447c8b1c844b3bbbb30 100644
|
| --- a/ui/android/java/src/org/chromium/ui/widget/ButtonCompat.java
|
| +++ b/ui/android/java/src/org/chromium/ui/widget/ButtonCompat.java
|
| @@ -81,9 +81,15 @@ public class ButtonCompat extends Button {
|
| TypedArray a = getContext().obtainStyledAttributes(null,
|
| new int[]{android.R.attr.stateListAnimator}, 0,
|
| android.R.style.Widget_Material_Button);
|
| - setStateListAnimator(AnimatorInflater.loadStateListAnimator(getContext(),
|
| - a.getResourceId(0, 0)));
|
| + int stateListAnimatorId = a.getResourceId(0, 0);
|
| a.recycle();
|
| + // stateListAnimatorId could be 0 on custom or future builds of Android, or when using a
|
| + // framework like Xposed. Handle these cases gracefully by simply not using a
|
| + // StateListAnimator.
|
| + if (stateListAnimatorId != 0) {
|
| + setStateListAnimator(AnimatorInflater.loadStateListAnimator(getContext(),
|
| + stateListAnimatorId));
|
| + }
|
| }
|
| }
|
|
|
|
|