Deleting objects on the wrong thread is a silly idea
Bug #7195815

Turns out that multi-threading is hard.

Change-Id: Ib0b4bd6dc3caea27f7ced22cbb363bb955fe58ab
diff --git a/libs/hwui/ResourceCache.cpp b/libs/hwui/ResourceCache.cpp
index 18d8324..39e64bc 100644
--- a/libs/hwui/ResourceCache.cpp
+++ b/libs/hwui/ResourceCache.cpp
@@ -325,9 +325,9 @@
             }
             break;
             case kLayer: {
-                Layer* layer = (Layer*) resource;
-                layer->freeResourcesLocked();
-                delete layer;
+                // No need to check for hasInstance, layers only exist
+                // when we have a Caches instance
+                Caches::getInstance().deleteLayerDeferred((Layer*) resource);
             }
             break;
         }