Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f9afb46b authored by Alan Viverette's avatar Alan Viverette
Browse files

Fix default attributes in ScaleDrawable

Reverts default scales to correct value of -1, uses existing state
values when updating from typed array.

BUG: 18351309
Change-Id: I45d21fe017a7bea10e3cbda50f6db65d053aa2ec
parent 4fc2ea84
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -173,9 +173,9 @@ public class ScaleDrawable extends Drawable implements Drawable.Callback {
                a, R.styleable.ScaleDrawable_scaleWidth, state.mScaleWidth);
        state.mScaleHeight = getPercent(
                a, R.styleable.ScaleDrawable_scaleHeight, state.mScaleHeight);
        state.mGravity = a.getInt(R.styleable.ScaleDrawable_scaleGravity, Gravity.LEFT);
        state.mGravity = a.getInt(R.styleable.ScaleDrawable_scaleGravity, state.mGravity);
        state.mUseIntrinsicSizeAsMin = a.getBoolean(
                R.styleable.ScaleDrawable_useIntrinsicSizeAsMinimum, false);
                R.styleable.ScaleDrawable_useIntrinsicSizeAsMinimum, state.mUseIntrinsicSizeAsMin);

        final Drawable dr = a.getDrawable(R.styleable.ScaleDrawable_drawable);
        if (dr != null) {
@@ -347,13 +347,16 @@ public class ScaleDrawable extends Drawable implements Drawable.Callback {
    }

    final static class ScaleState extends ConstantState {
        /** Constant used to disable scaling for a particular dimension. */
        private static final float DO_NOT_SCALE = -1.0f;

        int[] mThemeAttrs;
        int mChangingConfigurations;

        Drawable mDrawable;

        float mScaleWidth = 1.0f;
        float mScaleHeight = 1.0f;
        float mScaleWidth = DO_NOT_SCALE;
        float mScaleHeight = DO_NOT_SCALE;
        int mGravity = Gravity.LEFT;
        boolean mUseIntrinsicSizeAsMin = false;