summaryrefslogtreecommitdiffstats
path: root/sdk
diff options
context:
space:
mode:
authorDanesh M <danesh@cyngn.com>2016-06-15 14:13:55 -0700
committerSteve Kondik <shade@chemlab.org>2016-08-14 21:57:37 -0700
commite1ba9407f75a08f696dcdf1adf8bc8dac1d3d598 (patch)
tree53f49dc217a6bb68b9fd03ecb1371d8b5edd03e0 /sdk
parent4ceac56022f4e452aec5fb9e31917850ab1dde1f (diff)
downloadvendor_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.java9
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) {