Path precaching creates duplicate cache entries
Bug #8478275

Change-Id: Ib541ea051e42e01cc0d277790e9c09de38ef72ee
diff --git a/libs/hwui/PathCache.h b/libs/hwui/PathCache.h
index 1467231..dd1f996 100644
--- a/libs/hwui/PathCache.h
+++ b/libs/hwui/PathCache.h
@@ -253,7 +253,13 @@
     PathTexture* addTexture(const PathDescription& entry,
             const SkPath *path, const SkPaint* paint);
     PathTexture* addTexture(const PathDescription& entry, SkBitmap* bitmap);
-    void addTexture(const PathDescription& entry, SkBitmap* bitmap, PathTexture* texture);
+
+    /**
+     * Generates the texture from a bitmap into the specified texture structure.
+     */
+    void generateTexture(SkBitmap& bitmap, Texture* texture);
+    void generateTexture(const PathDescription& entry, SkBitmap* bitmap, PathTexture* texture,
+            bool addToCache = true);
 
     PathTexture* get(const PathDescription& entry) {
         return mCache.get(entry);
@@ -282,11 +288,6 @@
         return true;
     }
 
-    /**
-     * Generates the texture from a bitmap into the specified texture structure.
-     */
-    void generateTexture(SkBitmap& bitmap, Texture* texture);
-
     void init();
 
     class PathTask: public Task<SkBitmap*> {