diff --git a/packages/SystemUI/src/com/android/keyguard/NumPadButton.java b/packages/SystemUI/src/com/android/keyguard/NumPadButton.java index e0d0fc25943b2..7b98f2759d806 100644 --- a/packages/SystemUI/src/com/android/keyguard/NumPadButton.java +++ b/packages/SystemUI/src/com/android/keyguard/NumPadButton.java @@ -19,6 +19,8 @@ import android.content.Context; import android.content.res.ColorStateList; import android.content.res.Configuration; import android.content.res.TypedArray; +import android.graphics.drawable.Drawable; +import android.graphics.drawable.GradientDrawable; import android.graphics.drawable.VectorDrawable; import android.util.AttributeSet; import android.view.MotionEvent; @@ -37,8 +39,14 @@ public class NumPadButton extends AlphaOptimizedImageButton { public NumPadButton(Context context, AttributeSet attrs) { super(context, attrs); - mAnimator = new NumPadAnimator(context, getBackground().mutate(), - attrs.getStyleAttribute()); + Drawable background = getBackground(); + if (background instanceof GradientDrawable) { + mAnimator = new NumPadAnimator(context, background.mutate(), + attrs.getStyleAttribute()); + } else { + mAnimator = null; + } + } @Override diff --git a/packages/SystemUI/src/com/android/keyguard/NumPadKey.java b/packages/SystemUI/src/com/android/keyguard/NumPadKey.java index 88a0bcec05428..5cab547ee435d 100644 --- a/packages/SystemUI/src/com/android/keyguard/NumPadKey.java +++ b/packages/SystemUI/src/com/android/keyguard/NumPadKey.java @@ -18,6 +18,8 @@ package com.android.keyguard; import android.content.Context; import android.content.res.Configuration; import android.content.res.TypedArray; +import android.graphics.drawable.Drawable; +import android.graphics.drawable.GradientDrawable; import android.os.PowerManager; import android.os.SystemClock; import android.util.AttributeSet; @@ -129,8 +131,13 @@ public class NumPadKey extends ViewGroup { setContentDescription(mDigitText.getText().toString()); - mAnimator = new NumPadAnimator(context, getBackground().mutate(), - R.style.NumPadKey, mDigitText); + Drawable background = getBackground(); + if (background instanceof GradientDrawable) { + mAnimator = new NumPadAnimator(context, background.mutate(), + R.style.NumPadKey, mDigitText); + } else { + mAnimator = null; + } } @Override