am 79bd9953: Merge "Preserve inner drawable bounds and level on mutate" into lmp-dev
* commit '79bd9953b25bb7be002784ecddaa15bcf14b806a': Preserve inner drawable bounds and level on mutate
This commit is contained in:
@@ -17,7 +17,8 @@
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:id="@id/background">
|
||||
<nine-patch android:src="@drawable/progress_mtrl_alpha"
|
||||
android:tint="?attr/colorControlNormal" />
|
||||
android:tint="?attr/colorControlNormal"
|
||||
android:alpha="0.5" />
|
||||
</item>
|
||||
<item android:id="@id/secondaryProgress">
|
||||
<scale android:scaleWidth="100%">
|
||||
|
||||
@@ -346,22 +346,24 @@ public class AnimatedRotateDrawable extends Drawable implements Drawable.Callbac
|
||||
private boolean mCanConstantState;
|
||||
private boolean mCheckedConstantState;
|
||||
|
||||
public AnimatedRotateState(AnimatedRotateState source, AnimatedRotateDrawable owner,
|
||||
public AnimatedRotateState(AnimatedRotateState orig, AnimatedRotateDrawable owner,
|
||||
Resources res) {
|
||||
if (source != null) {
|
||||
if (orig != null) {
|
||||
if (res != null) {
|
||||
mDrawable = source.mDrawable.getConstantState().newDrawable(res);
|
||||
mDrawable = orig.mDrawable.getConstantState().newDrawable(res);
|
||||
} else {
|
||||
mDrawable = source.mDrawable.getConstantState().newDrawable();
|
||||
mDrawable = orig.mDrawable.getConstantState().newDrawable();
|
||||
}
|
||||
mDrawable.setCallback(owner);
|
||||
mDrawable.setLayoutDirection(source.mDrawable.getLayoutDirection());
|
||||
mPivotXRel = source.mPivotXRel;
|
||||
mPivotX = source.mPivotX;
|
||||
mPivotYRel = source.mPivotYRel;
|
||||
mPivotY = source.mPivotY;
|
||||
mFramesCount = source.mFramesCount;
|
||||
mFrameDuration = source.mFrameDuration;
|
||||
mDrawable.setLayoutDirection(orig.mDrawable.getLayoutDirection());
|
||||
mDrawable.setBounds(orig.mDrawable.getBounds());
|
||||
mDrawable.setLevel(orig.mDrawable.getLevel());
|
||||
mPivotXRel = orig.mPivotXRel;
|
||||
mPivotX = orig.mPivotX;
|
||||
mPivotYRel = orig.mPivotYRel;
|
||||
mPivotY = orig.mPivotY;
|
||||
mFramesCount = orig.mFramesCount;
|
||||
mFrameDuration = orig.mFrameDuration;
|
||||
mCanConstantState = mCheckedConstantState = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -285,6 +285,8 @@ public class ClipDrawable extends Drawable implements Drawable.Callback {
|
||||
}
|
||||
mDrawable.setCallback(owner);
|
||||
mDrawable.setLayoutDirection(orig.mDrawable.getLayoutDirection());
|
||||
mDrawable.setBounds(orig.mDrawable.getBounds());
|
||||
mDrawable.setLevel(orig.mDrawable.getLevel());
|
||||
mOrientation = orig.mOrientation;
|
||||
mGravity = orig.mGravity;
|
||||
mCheckedConstantState = mCanConstantState = true;
|
||||
|
||||
@@ -400,6 +400,8 @@ public class InsetDrawable extends Drawable implements Drawable.Callback {
|
||||
}
|
||||
mDrawable.setCallback(owner);
|
||||
mDrawable.setLayoutDirection(orig.mDrawable.getLayoutDirection());
|
||||
mDrawable.setBounds(orig.mDrawable.getBounds());
|
||||
mDrawable.setLevel(orig.mDrawable.getLevel());
|
||||
mInsetLeft = orig.mInsetLeft;
|
||||
mInsetTop = orig.mInsetTop;
|
||||
mInsetRight = orig.mInsetRight;
|
||||
|
||||
@@ -961,20 +961,22 @@ public class LayerDrawable extends Drawable implements Drawable.Callback {
|
||||
// Default empty constructor.
|
||||
}
|
||||
|
||||
ChildDrawable(ChildDrawable or, LayerDrawable owner, Resources res) {
|
||||
ChildDrawable(ChildDrawable orig, LayerDrawable owner, Resources res) {
|
||||
if (res != null) {
|
||||
mDrawable = or.mDrawable.getConstantState().newDrawable(res);
|
||||
mDrawable = orig.mDrawable.getConstantState().newDrawable(res);
|
||||
} else {
|
||||
mDrawable = or.mDrawable.getConstantState().newDrawable();
|
||||
mDrawable = orig.mDrawable.getConstantState().newDrawable();
|
||||
}
|
||||
mDrawable.setCallback(owner);
|
||||
mDrawable.setLayoutDirection(or.mDrawable.getLayoutDirection());
|
||||
mThemeAttrs = or.mThemeAttrs;
|
||||
mInsetL = or.mInsetL;
|
||||
mInsetT = or.mInsetT;
|
||||
mInsetR = or.mInsetR;
|
||||
mInsetB = or.mInsetB;
|
||||
mId = or.mId;
|
||||
mDrawable.setLayoutDirection(orig.mDrawable.getLayoutDirection());
|
||||
mDrawable.setBounds(orig.mDrawable.getBounds());
|
||||
mDrawable.setLevel(orig.mDrawable.getLevel());
|
||||
mThemeAttrs = orig.mThemeAttrs;
|
||||
mInsetL = orig.mInsetL;
|
||||
mInsetT = orig.mInsetT;
|
||||
mInsetR = orig.mInsetR;
|
||||
mInsetB = orig.mInsetB;
|
||||
mId = orig.mId;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -507,21 +507,23 @@ public class RotateDrawable extends Drawable implements Drawable.Callback {
|
||||
private boolean mCanConstantState;
|
||||
private boolean mCheckedConstantState;
|
||||
|
||||
public RotateState(RotateState source, RotateDrawable owner, Resources res) {
|
||||
if (source != null) {
|
||||
public RotateState(RotateState orig, RotateDrawable owner, Resources res) {
|
||||
if (orig != null) {
|
||||
if (res != null) {
|
||||
mDrawable = source.mDrawable.getConstantState().newDrawable(res);
|
||||
mDrawable = orig.mDrawable.getConstantState().newDrawable(res);
|
||||
} else {
|
||||
mDrawable = source.mDrawable.getConstantState().newDrawable();
|
||||
mDrawable = orig.mDrawable.getConstantState().newDrawable();
|
||||
}
|
||||
mDrawable.setCallback(owner);
|
||||
mDrawable.setLayoutDirection(source.mDrawable.getLayoutDirection());
|
||||
mPivotXRel = source.mPivotXRel;
|
||||
mPivotX = source.mPivotX;
|
||||
mPivotYRel = source.mPivotYRel;
|
||||
mPivotY = source.mPivotY;
|
||||
mFromDegrees = mCurrentDegrees = source.mFromDegrees;
|
||||
mToDegrees = source.mToDegrees;
|
||||
mDrawable.setLayoutDirection(orig.mDrawable.getLayoutDirection());
|
||||
mDrawable.setBounds(orig.mDrawable.getBounds());
|
||||
mDrawable.setLevel(orig.mDrawable.getLevel());
|
||||
mPivotXRel = orig.mPivotXRel;
|
||||
mPivotX = orig.mPivotX;
|
||||
mPivotYRel = orig.mPivotYRel;
|
||||
mPivotY = orig.mPivotY;
|
||||
mFromDegrees = mCurrentDegrees = orig.mFromDegrees;
|
||||
mToDegrees = orig.mToDegrees;
|
||||
mCanConstantState = mCheckedConstantState = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -295,6 +295,8 @@ public class ScaleDrawable extends Drawable implements Drawable.Callback {
|
||||
}
|
||||
mDrawable.setCallback(owner);
|
||||
mDrawable.setLayoutDirection(orig.mDrawable.getLayoutDirection());
|
||||
mDrawable.setBounds(orig.mDrawable.getBounds());
|
||||
mDrawable.setLevel(orig.mDrawable.getLevel());
|
||||
mScaleWidth = orig.mScaleWidth;
|
||||
mScaleHeight = orig.mScaleHeight;
|
||||
mGravity = orig.mGravity;
|
||||
|
||||
Reference in New Issue
Block a user