diff options
7 files changed, 12 insertions, 6 deletions
diff --git a/graphics/java/android/graphics/drawable/AnimatedRotateDrawable.java b/graphics/java/android/graphics/drawable/AnimatedRotateDrawable.java index 9042ce622845..9accbbca5c4e 100644 --- a/graphics/java/android/graphics/drawable/AnimatedRotateDrawable.java +++ b/graphics/java/android/graphics/drawable/AnimatedRotateDrawable.java @@ -324,6 +324,7 @@ public class AnimatedRotateDrawable extends Drawable implements Drawable.Callbac mDrawable = source.mDrawable.getConstantState().newDrawable(); } mDrawable.setCallback(owner); + mDrawable.setLayoutDirection(source.mDrawable.getLayoutDirection()); mPivotXRel = source.mPivotXRel; mPivotX = source.mPivotX; mPivotYRel = source.mPivotYRel; diff --git a/graphics/java/android/graphics/drawable/ClipDrawable.java b/graphics/java/android/graphics/drawable/ClipDrawable.java index dcfe20f77165..2a9a14b4ad91 100644 --- a/graphics/java/android/graphics/drawable/ClipDrawable.java +++ b/graphics/java/android/graphics/drawable/ClipDrawable.java @@ -268,6 +268,7 @@ public class ClipDrawable extends Drawable implements Drawable.Callback { mDrawable = orig.mDrawable.getConstantState().newDrawable(); } mDrawable.setCallback(owner); + mDrawable.setLayoutDirection(orig.mDrawable.getLayoutDirection()); mOrientation = orig.mOrientation; mGravity = orig.mGravity; mCheckedConstantState = mCanConstantState = true; diff --git a/graphics/java/android/graphics/drawable/DrawableContainer.java b/graphics/java/android/graphics/drawable/DrawableContainer.java index 40089be6b818..762e27dc8a53 100644 --- a/graphics/java/android/graphics/drawable/DrawableContainer.java +++ b/graphics/java/android/graphics/drawable/DrawableContainer.java @@ -329,6 +329,7 @@ public class DrawableContainer extends Drawable implements Drawable.Callback { d.setState(getState()); d.setLevel(getLevel()); d.setBounds(getBounds()); + d.setLayoutDirection(getLayoutDirection()); } } else { mCurrDrawable = null; @@ -485,6 +486,7 @@ public class DrawableContainer extends Drawable implements Drawable.Callback { mDrawables[i] = origDr[i].getConstantState().newDrawable(); } mDrawables[i].setCallback(owner); + mDrawables[i].setLayoutDirection(origDr[i].getLayoutDirection()); } mCheckedConstantState = mCanConstantState = true; diff --git a/graphics/java/android/graphics/drawable/InsetDrawable.java b/graphics/java/android/graphics/drawable/InsetDrawable.java index 1507a9b25576..6cc9d8f14524 100644 --- a/graphics/java/android/graphics/drawable/InsetDrawable.java +++ b/graphics/java/android/graphics/drawable/InsetDrawable.java @@ -281,6 +281,7 @@ public class InsetDrawable extends Drawable implements Drawable.Callback mDrawable = orig.mDrawable.getConstantState().newDrawable(); } mDrawable.setCallback(owner); + mDrawable.setLayoutDirection(orig.mDrawable.getLayoutDirection()); mInsetLeft = orig.mInsetLeft; mInsetTop = orig.mInsetTop; mInsetRight = orig.mInsetRight; diff --git a/graphics/java/android/graphics/drawable/LayerDrawable.java b/graphics/java/android/graphics/drawable/LayerDrawable.java index dfbd9864375a..a9fbb7a1cae9 100644 --- a/graphics/java/android/graphics/drawable/LayerDrawable.java +++ b/graphics/java/android/graphics/drawable/LayerDrawable.java @@ -600,12 +600,10 @@ public class LayerDrawable extends Drawable implements Drawable.Callback { /** @hide */ @Override public void setLayoutDirection(int layoutDirection) { - if (getLayoutDirection() != layoutDirection) { - final ChildDrawable[] array = mLayerState.mChildren; - final int N = mLayerState.mNum; - for (int i = 0; i < N; i++) { - array[i].mDrawable.setLayoutDirection(layoutDirection); - } + final ChildDrawable[] array = mLayerState.mChildren; + final int N = mLayerState.mNum; + for (int i = 0; i < N; i++) { + array[i].mDrawable.setLayoutDirection(layoutDirection); } super.setLayoutDirection(layoutDirection); } @@ -652,6 +650,7 @@ public class LayerDrawable extends Drawable implements Drawable.Callback { r.mDrawable = or.mDrawable.getConstantState().newDrawable(); } r.mDrawable.setCallback(owner); + r.mDrawable.setLayoutDirection(or.mDrawable.getLayoutDirection()); r.mInsetL = or.mInsetL; r.mInsetT = or.mInsetT; r.mInsetR = or.mInsetR; diff --git a/graphics/java/android/graphics/drawable/RotateDrawable.java b/graphics/java/android/graphics/drawable/RotateDrawable.java index 7cbc7370a085..aec3a4bff5de 100644 --- a/graphics/java/android/graphics/drawable/RotateDrawable.java +++ b/graphics/java/android/graphics/drawable/RotateDrawable.java @@ -321,6 +321,7 @@ public class RotateDrawable extends Drawable implements Drawable.Callback { mDrawable = source.mDrawable.getConstantState().newDrawable(); } mDrawable.setCallback(owner); + mDrawable.setLayoutDirection(source.mDrawable.getLayoutDirection()); mPivotXRel = source.mPivotXRel; mPivotX = source.mPivotX; mPivotYRel = source.mPivotYRel; diff --git a/graphics/java/android/graphics/drawable/ScaleDrawable.java b/graphics/java/android/graphics/drawable/ScaleDrawable.java index 8a28b2b3a114..ec6b2c16e465 100644 --- a/graphics/java/android/graphics/drawable/ScaleDrawable.java +++ b/graphics/java/android/graphics/drawable/ScaleDrawable.java @@ -281,6 +281,7 @@ public class ScaleDrawable extends Drawable implements Drawable.Callback { mDrawable = orig.mDrawable.getConstantState().newDrawable(); } mDrawable.setCallback(owner); + mDrawable.setLayoutDirection(orig.mDrawable.getLayoutDirection()); mScaleWidth = orig.mScaleWidth; mScaleHeight = orig.mScaleHeight; mGravity = orig.mGravity; |