blast: send TransactionStats with callback

Add TransactionStats to callback so the client knows when the
buffers were released and acquired. Also when transaction was
presented and latched.

Test: Transaction_test
Bug: 80477568

Change-Id: I578a7000193a4401783cb2538172167a552b043f
diff --git a/services/surfaceflinger/Layer.h b/services/surfaceflinger/Layer.h
index 9235b64..dc9ab3d 100644
--- a/services/surfaceflinger/Layer.h
+++ b/services/surfaceflinger/Layer.h
@@ -270,7 +270,7 @@
     virtual bool setTransform(uint32_t /*transform*/) { return false; };
     virtual bool setTransformToDisplayInverse(bool /*transformToDisplayInverse*/) { return false; };
     virtual bool setCrop(const Rect& /*crop*/) { return false; };
-    virtual bool setBuffer(sp<GraphicBuffer> /*buffer*/) { return false; };
+    virtual bool setBuffer(const sp<GraphicBuffer>& /*buffer*/) { return false; };
     virtual bool setAcquireFence(const sp<Fence>& /*fence*/) { return false; };
     virtual bool setDataspace(ui::Dataspace /*dataspace*/) { return false; };
     virtual bool setHdrMetadata(const HdrMetadata& /*hdrMetadata*/) { return false; };