diff options
author | Danesh M <danesh@cyngn.com> | 2016-06-15 14:13:55 -0700 |
---|---|---|
committer | Steve Kondik <shade@chemlab.org> | 2016-08-14 21:57:37 -0700 |
commit | e1ba9407f75a08f696dcdf1adf8bc8dac1d3d598 (patch) | |
tree | 53f49dc217a6bb68b9fd03ecb1371d8b5edd03e0 /sdk | |
parent | 4ceac56022f4e452aec5fb9e31917850ab1dde1f (diff) | |
download | vendor_cmsdk-e1ba9407f75a08f696dcdf1adf8bc8dac1d3d598.zip vendor_cmsdk-e1ba9407f75a08f696dcdf1adf8bc8dac1d3d598.tar.gz vendor_cmsdk-e1ba9407f75a08f696dcdf1adf8bc8dac1d3d598.tar.bz2 |
CMSDK : Fix generateAlertColorFromDrawable for non BitmapDrawable
In the case that the bitmap being passed in was not a bitmap drawable,
we were not retaining any of the attributes from the original drawable.
This patch ensures we ask that drawable to draw on the canvas/bitmap so we
can use that information. Also add tests around it.
Change-Id: I3eefba6e6624fe0bed4965ddf9029320c40f7420
Diffstat (limited to 'sdk')
-rw-r--r-- | sdk/src/java/cyanogenmod/util/ColorUtils.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sdk/src/java/cyanogenmod/util/ColorUtils.java b/sdk/src/java/cyanogenmod/util/ColorUtils.java index a5633ff..0bcb7fd 100644 --- a/sdk/src/java/cyanogenmod/util/ColorUtils.java +++ b/sdk/src/java/cyanogenmod/util/ColorUtils.java @@ -16,6 +16,7 @@ package cyanogenmod.util; import android.graphics.Bitmap; +import android.graphics.Canvas; import android.graphics.Color; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; @@ -270,9 +271,13 @@ public class ColorUtils { if (drawable instanceof BitmapDrawable) { bitmap = ((BitmapDrawable) drawable).getBitmap(); } else { - bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), - drawable.getIntrinsicHeight(), + int width = drawable.getIntrinsicWidth(); + int height = drawable.getIntrinsicHeight(); + bitmap = Bitmap.createBitmap(Math.max(1, width), + Math.max(1, height), Bitmap.Config.ARGB_8888); + Canvas canvas = new Canvas(bitmap); + drawable.draw(canvas); } if (bitmap != null) { |