SF: Move RenderEngine ownership to CompositionEngine

Move ownership of the RenderEngine pointer to CompositionEngine.

Test: atest libsurfaceflinger_unittest libcompositionengine_test
Bug: 121291683
Change-Id: Ia9ba7ae5117359aac5dc77380c91b87d0fae4c1c
diff --git a/services/surfaceflinger/CompositionEngine/tests/CompositionEngineTest.cpp b/services/surfaceflinger/CompositionEngine/tests/CompositionEngineTest.cpp
index 295abc8..3766f27 100644
--- a/services/surfaceflinger/CompositionEngine/tests/CompositionEngineTest.cpp
+++ b/services/surfaceflinger/CompositionEngine/tests/CompositionEngineTest.cpp
@@ -16,6 +16,7 @@
 
 #include <compositionengine/impl/CompositionEngine.h>
 #include <gtest/gtest.h>
+#include <renderengine/mock/RenderEngine.h>
 
 #include "MockHWComposer.h"
 
@@ -27,8 +28,9 @@
 class CompositionEngineTest : public testing::Test {
 public:
     ~CompositionEngineTest() override;
-
     mock::HWComposer* mHwc = new StrictMock<mock::HWComposer>();
+    renderengine::mock::RenderEngine* mRenderEngine =
+            new StrictMock<renderengine::mock::RenderEngine>();
     impl::CompositionEngine mEngine;
 };
 
@@ -45,5 +47,11 @@
     EXPECT_EQ(mHwc, &mEngine.getHwComposer());
 }
 
+TEST_F(CompositionEngineTest, canSetRenderEngine) {
+    mEngine.setRenderEngine(std::unique_ptr<renderengine::RenderEngine>(mRenderEngine));
+
+    EXPECT_EQ(mRenderEngine, &mEngine.getRenderEngine());
+}
+
 } // namespace
 } // namespace android::compositionengine