diff options
author | Alan Viverette <alanv@google.com> | 2013-06-06 17:36:39 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-06-06 17:36:40 +0000 |
commit | b33d778e9c0bcc68662d0457561cbc416b5b6f3c (patch) | |
tree | ec383d004c763963bf4e4425b4cd9f1fdda3e686 /graphics/java | |
parent | 71ce4876e5051cc2cff1dd4fd55a4899523af8a2 (diff) | |
parent | 72146433322588c1116ee06c27ac758ad09d869c (diff) | |
download | frameworks_base-b33d778e9c0bcc68662d0457561cbc416b5b6f3c.zip frameworks_base-b33d778e9c0bcc68662d0457561cbc416b5b6f3c.tar.gz frameworks_base-b33d778e9c0bcc68662d0457561cbc416b5b6f3c.tar.bz2 |
Merge "Deprecate DrawableStateList.getChildren() and add getChild()."
Diffstat (limited to 'graphics/java')
4 files changed, 30 insertions, 12 deletions
diff --git a/graphics/java/android/graphics/drawable/AnimationDrawable.java b/graphics/java/android/graphics/drawable/AnimationDrawable.java index 7c7cd01..bde978d 100644 --- a/graphics/java/android/graphics/drawable/AnimationDrawable.java +++ b/graphics/java/android/graphics/drawable/AnimationDrawable.java @@ -167,7 +167,7 @@ public class AnimationDrawable extends DrawableContainer implements Runnable, An * @return The Drawable at the specified frame index */ public Drawable getFrame(int index) { - return mAnimationState.getChildren()[index]; + return mAnimationState.getChild(index); } /** @@ -322,7 +322,7 @@ public class AnimationDrawable extends DrawableContainer implements Runnable, An mDurations = orig.mDurations; mOneShot = orig.mOneShot; } else { - mDurations = new int[getChildren().length]; + mDurations = new int[getCapacity()]; mOneShot = true; } } diff --git a/graphics/java/android/graphics/drawable/DrawableContainer.java b/graphics/java/android/graphics/drawable/DrawableContainer.java index 762e27d..e75ec75 100644 --- a/graphics/java/android/graphics/drawable/DrawableContainer.java +++ b/graphics/java/android/graphics/drawable/DrawableContainer.java @@ -250,18 +250,21 @@ public class DrawableContainer extends Drawable implements Drawable.Callback { return mCurrDrawable != null ? mCurrDrawable.getMinimumHeight() : 0; } + @Override public void invalidateDrawable(Drawable who) { if (who == mCurrDrawable && getCallback() != null) { getCallback().invalidateDrawable(this); } } + @Override public void scheduleDrawable(Drawable who, Runnable what, long when) { if (who == mCurrDrawable && getCallback() != null) { getCallback().scheduleDrawable(this, what, when); } } + @Override public void unscheduleDrawable(Drawable who, Runnable what) { if (who == mCurrDrawable && getCallback() != null) { getCallback().unscheduleDrawable(this, what); @@ -415,11 +418,7 @@ public class DrawableContainer extends Drawable implements Drawable.Callback { @Override public Drawable mutate() { if (!mMutated && super.mutate() == this) { - final int N = mDrawableContainerState.getChildCount(); - final Drawable[] drawables = mDrawableContainerState.getChildren(); - for (int i = 0; i < N; i++) { - if (drawables[i] != null) drawables[i].mutate(); - } + mDrawableContainerState.mutate(); mMutated = true; } return this; @@ -544,14 +543,33 @@ public class DrawableContainer extends Drawable implements Drawable.Callback { return pos; } + final int getCapacity() { + return mDrawables.length; + } + public final int getChildCount() { return mNumChildren; } + /* + * @deprecated Use {@link #getChild} instead. + */ public final Drawable[] getChildren() { return mDrawables; } + public final Drawable getChild(int index) { + return mDrawables[index]; + } + + final void mutate() { + final int N = getChildCount(); + final Drawable[] drawables = mDrawables; + for (int i = 0; i < N; i++) { + if (drawables[i] != null) drawables[i].mutate(); + } + } + /** A boolean value indicating whether to use the maximum padding value of * all frames in the set (false), or to use the padding value of the frame * being shown (true). Default value is false. diff --git a/graphics/java/android/graphics/drawable/LevelListDrawable.java b/graphics/java/android/graphics/drawable/LevelListDrawable.java index 21be983..872fdce 100644 --- a/graphics/java/android/graphics/drawable/LevelListDrawable.java +++ b/graphics/java/android/graphics/drawable/LevelListDrawable.java @@ -164,8 +164,8 @@ public class LevelListDrawable extends DrawableContainer { mLows = orig.mLows; mHighs = orig.mHighs; } else { - mLows = new int[getChildren().length]; - mHighs = new int[getChildren().length]; + mLows = new int[getCapacity()]; + mHighs = new int[getCapacity()]; } } diff --git a/graphics/java/android/graphics/drawable/StateListDrawable.java b/graphics/java/android/graphics/drawable/StateListDrawable.java index f8f3ac9..5ecd296 100644 --- a/graphics/java/android/graphics/drawable/StateListDrawable.java +++ b/graphics/java/android/graphics/drawable/StateListDrawable.java @@ -228,7 +228,7 @@ public class StateListDrawable extends DrawableContainer { * @see #getStateSet(int) */ public Drawable getStateDrawable(int index) { - return mStateListState.getChildren()[index]; + return mStateListState.getChild(index); } /** @@ -278,9 +278,9 @@ public class StateListDrawable extends DrawableContainer { super(orig, owner, res); if (orig != null) { - mStateSets = orig.mStateSets; + mStateSets = Arrays.copyOf(orig.mStateSets, orig.mStateSets.length); } else { - mStateSets = new int[getChildren().length][]; + mStateSets = new int[getCapacity()][]; } } |