SF: Test Coverage for setDisplayStateLocked
Add unit tests to cover SurfaceFlinger::setDisplayStateLocked()
Test: libsurfaceflinger_unittest passes on Pixel XL
Bug: 74827900
Change-Id: I50ec5d8bc1177571a24d41f03cb0429715a12ec3
diff --git a/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h b/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h
index b8a3baf..004bccc 100644
--- a/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h
+++ b/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h
@@ -85,6 +85,8 @@
return mFlinger->onHotplugReceived(sequenceId, display, connection);
}
+ auto setDisplayStateLocked(const DisplayState& s) { return mFlinger->setDisplayStateLocked(s); }
+
/* ------------------------------------------------------------------------
* Read-write access to private data to set up preconditions and assert
* post-conditions.
@@ -247,6 +249,16 @@
return mFlinger.mutableCurrentState().displays.editValueFor(mDisplayToken);
}
+ const auto& getDrawingDisplayState() {
+ return mFlinger.mutableDrawingState().displays.valueFor(mDisplayToken);
+ }
+
+ const auto& getCurrentDisplayState() {
+ return mFlinger.mutableCurrentState().displays.valueFor(mDisplayToken);
+ }
+
+ auto& mutableDisplayDevice() { return mFlinger.mutableDisplays().valueFor(mDisplayToken); }
+
auto& setNativeWindow(const sp<ANativeWindow>& nativeWindow) {
mNativeWindow = nativeWindow;
return *this;
@@ -278,7 +290,7 @@
mFlinger.mutableCurrentState().displays.add(mDisplayToken, state);
mFlinger.mutableDrawingState().displays.add(mDisplayToken, state);
- if (mType < DisplayDevice::DISPLAY_VIRTUAL) {
+ if (mType >= DisplayDevice::DISPLAY_PRIMARY && mType < DisplayDevice::DISPLAY_VIRTUAL) {
mFlinger.mutableBuiltinDisplays()[mType] = mDisplayToken;
}