Teach AssetAtlas about more drawables

Bug: 18317479

Change-Id: I16868ee204d24af72af9a2efc987f7e9eb1d266b
This commit is contained in:
John Reck
2014-12-09 12:33:26 -08:00
parent 6ef76c60df
commit dad7d84c04
10 changed files with 102 additions and 20 deletions

View File

@@ -20,6 +20,7 @@ import android.annotation.NonNull;
import android.content.res.ColorStateList;
import android.content.res.Resources;
import android.content.res.Resources.Theme;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.ColorFilter;
import android.graphics.Insets;
@@ -31,6 +32,8 @@ import android.os.SystemClock;
import android.util.LayoutDirection;
import android.util.SparseArray;
import java.util.Collection;
/**
* A helper class that contains several {@link Drawable}s and selects which one to use.
*
@@ -1062,6 +1065,20 @@ public class DrawableContainer extends Drawable implements Drawable.Callback {
return true;
}
/** @hide */
@Override
public int addAtlasableBitmaps(Collection<Bitmap> atlasList) {
final int N = mNumChildren;
int pixelCount = 0;
for (int i = 0; i < N; i++) {
final ConstantState state = getChild(i).getConstantState();
if (state != null) {
pixelCount += state.addAtlasableBitmaps(atlasList);
}
}
return pixelCount;
}
/**
* Class capable of cloning a Drawable from another Drawable's
* ConstantState.