Solve translucency issue when drawing paths.

Change-Id: I68ae0e2ccddaca2f76b5b2dd3e3cf1277fddaad6
diff --git a/libs/hwui/PathCache.cpp b/libs/hwui/PathCache.cpp
index 8740a64..3184598 100644
--- a/libs/hwui/PathCache.cpp
+++ b/libs/hwui/PathCache.cpp
@@ -197,10 +197,16 @@
     bitmap.eraseColor(0);
 
     SkPaint pathPaint(*paint);
-    if (!pathPaint.getXfermode()) {
-        SkXfermode* mode = SkXfermode::Create(SkXfermode::kSrc_Mode);
-        pathPaint.setXfermode(mode)->safeUnref();
-    }
+
+    // Make sure the paint is opaque, color, alpha, filter, etc.
+    // will be applied later when compositing the alpha8 texture
+    pathPaint.setColor(0xff000000);
+    pathPaint.setAlpha(255);
+    pathPaint.setColorFilter(NULL);
+    pathPaint.setMaskFilter(NULL);
+    pathPaint.setShader(NULL);
+    SkXfermode* mode = SkXfermode::Create(SkXfermode::kSrc_Mode);
+    pathPaint.setXfermode(mode)->safeUnref();
 
     SkCanvas canvas(bitmap);
     canvas.translate(-bounds.fLeft + offset, -bounds.fTop + offset);