Remove overzealous mutate() sanity check in LayerDrawable

Child drawables of a LayerDrawable should be able to mutate() as a
no-op even if they !canConstantState.

Bug 7622311

Change-Id: I32c00961310f23aaf9ad868c419cbefb9d27a1d2
This commit is contained in:
Adam Powell
2012-11-27 11:39:11 -08:00
parent ba4ac51823
commit bb53dad63b

View File

@@ -575,10 +575,6 @@ public class LayerDrawable extends Drawable implements Drawable.Callback {
@Override
public Drawable mutate() {
if (!mMutated && super.mutate() == this) {
if (!mLayerState.canConstantState()) {
throw new IllegalStateException("One or more children of this LayerDrawable does " +
"not have constant state; this drawable cannot be mutated.");
}
mLayerState = new LayerState(mLayerState, this, null);
final ChildDrawable[] array = mLayerState.mChildren;
final int N = mLayerState.mNum;