diff options
| -rw-r--r-- | core/tests/coretests/src/android/graphics/drawable/AdaptiveIconDrawableTest.java | 30 | ||||
| -rw-r--r-- | graphics/java/android/graphics/drawable/AdaptiveIconDrawable.java | 9 |
2 files changed, 27 insertions, 12 deletions
diff --git a/core/tests/coretests/src/android/graphics/drawable/AdaptiveIconDrawableTest.java b/core/tests/coretests/src/android/graphics/drawable/AdaptiveIconDrawableTest.java index b28a4b5ae628..781e343e8139 100644 --- a/core/tests/coretests/src/android/graphics/drawable/AdaptiveIconDrawableTest.java +++ b/core/tests/coretests/src/android/graphics/drawable/AdaptiveIconDrawableTest.java @@ -1,15 +1,11 @@ package android.graphics.drawable; -import static org.junit.Assert.assertTrue; - import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.Bitmap.Config; -import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Outline; -import android.graphics.Paint; import android.graphics.Path; import android.graphics.Path.Direction; import android.graphics.Rect; @@ -19,10 +15,12 @@ import android.support.test.filters.LargeTest; import android.test.AndroidTestCase; import android.util.Log; import android.util.PathParser; + +import org.junit.Test; + import java.io.File; import java.io.FileOutputStream; import java.util.Arrays; -import org.junit.Test; @LargeTest public class AdaptiveIconDrawableTest extends AndroidTestCase { @@ -173,6 +171,28 @@ public class AdaptiveIconDrawableTest extends AndroidTestCase { assertTrue("outline path should be convex", outline.mPath.isConvex()); } + @Test + public void testSetAlpha() throws Exception { + mIconDrawable = new AdaptiveIconDrawable(mBackgroundDrawable, mForegroundDrawable); + mIconDrawable.setBounds(0, 0, 100, 100); + + Bitmap bitmap = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888); + Canvas canvas = new Canvas(bitmap); + + mIconDrawable.draw(canvas); + assertEquals(255, Color.alpha(bitmap.getPixel(50, 50))); + + mIconDrawable.setAlpha(200); + bitmap.eraseColor(Color.TRANSPARENT); + mIconDrawable.draw(canvas); + assertEquals(200, Color.alpha(bitmap.getPixel(50, 50))); + + mIconDrawable.setAlpha(100); + bitmap.eraseColor(Color.TRANSPARENT); + mIconDrawable.draw(canvas); + assertEquals(100, Color.alpha(bitmap.getPixel(50, 50))); + } + // // Utils // diff --git a/graphics/java/android/graphics/drawable/AdaptiveIconDrawable.java b/graphics/java/android/graphics/drawable/AdaptiveIconDrawable.java index 1d0cfa5ff082..fdd638adba81 100644 --- a/graphics/java/android/graphics/drawable/AdaptiveIconDrawable.java +++ b/graphics/java/android/graphics/drawable/AdaptiveIconDrawable.java @@ -44,6 +44,7 @@ import android.util.DisplayMetrics; import android.util.PathParser; import com.android.internal.R; + import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; @@ -668,13 +669,7 @@ public class AdaptiveIconDrawable extends Drawable implements Drawable.Callback @Override public void setAlpha(int alpha) { - final ChildDrawable[] array = mLayerState.mChildren; - for (int i = 0; i < mLayerState.N_CHILDREN; i++) { - final Drawable dr = array[i].mDrawable; - if (dr != null) { - dr.setAlpha(alpha); - } - } + mPaint.setAlpha(alpha); } @Override |