Remove promoting weak pointer off main thread.

If a Layer weak pointer is promoted on a thread other than the main
thread, it risks calling the destructor off the main thread. This causes
a lot of issues since there is no lock held in the Layer destructor. The
destructor expects to only ever get called on the main thread

The change here stores a raw pointer instead of a weak pointer. This
should be safe since BufferLayerConsumer lifecycle follows the Layer
lifecycle so the raw Layer pointer will never be invalid.

Test: Not easy to reproduce but no issues with this change
Fixes: 150879387
Change-Id: I51fbc2ca5052c5dbf8e875b557a034d40e4a0b39
diff --git a/services/surfaceflinger/BufferLayerConsumer.h b/services/surfaceflinger/BufferLayerConsumer.h
index 39ed370..c71a1d9 100644
--- a/services/surfaceflinger/BufferLayerConsumer.h
+++ b/services/surfaceflinger/BufferLayerConsumer.h
@@ -332,7 +332,7 @@
     const uint32_t mTexName;
 
     // The layer for this BufferLayerConsumer
-    const wp<Layer> mLayer;
+    Layer* mLayer;
 
     wp<ContentsChangedListener> mContentsChangedListener;