SF: Fix leak in unit tests
Remove the sp<SurfaceFlinger> cycle in WindowInfosListenerInvoker, such
that TestableSurfaceFlinger can delete its SurfaceFlinger instance.
Also, remove the indirection for the windowInfosReported callback.
Bug: 213688734
Test: No spam/aborts regarding leaks.
Change-Id: I50450881e8a37ff64dab12bf6afe02711cdd93b7
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index b8902a4..52b5761 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -385,7 +385,7 @@
mInternalDisplayDensity(getDensityFromProperty("ro.sf.lcd_density", true)),
mEmulatedDisplayDensity(getDensityFromProperty("qemu.sf.lcd_density", false)),
mPowerAdvisor(*this),
- mWindowInfosListenerInvoker(new WindowInfosListenerInvoker(this)) {
+ mWindowInfosListenerInvoker(sp<WindowInfosListenerInvoker>::make(*this)) {
ALOGI("Using HWComposer service: %s", mHwcServiceName.c_str());
}