[SurfaceFlinger] Allow every client to query the active color mode.
BUG: 116112787
Test: Build, flash and boot. Verify with screenshot.
Change-Id: I66ca24b847b0bbb2726b748a8ff5d6c9ab43426c
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index e445eb6..2036d3b 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -4796,7 +4796,6 @@
case CREATE_DISPLAY:
case DESTROY_DISPLAY:
case ENABLE_VSYNC_INJECTIONS:
- case GET_ACTIVE_COLOR_MODE:
case GET_ANIMATION_FRAME_STATS:
case GET_HDR_CAPABILITIES:
case SET_ACTIVE_CONFIG:
@@ -4832,6 +4831,7 @@
// request necessary permissions. However, they do not expose any secret
// information, so it is OK to pass them.
case AUTHENTICATE_SURFACE:
+ case GET_ACTIVE_COLOR_MODE:
case GET_ACTIVE_CONFIG:
case GET_PHYSICAL_DISPLAY_IDS:
case GET_PHYSICAL_DISPLAY_TOKEN:
diff --git a/services/surfaceflinger/tests/Credentials_test.cpp b/services/surfaceflinger/tests/Credentials_test.cpp
index 61d09da..b667a74 100644
--- a/services/surfaceflinger/tests/Credentials_test.cpp
+++ b/services/surfaceflinger/tests/Credentials_test.cpp
@@ -12,7 +12,6 @@
#include <private/android_filesystem_config.h>
#include <private/gui/ComposerService.h>
-
#include <ui/DisplayInfo.h>
#include <utils/String8.h>
@@ -356,4 +355,11 @@
ASSERT_NO_FATAL_FAILURE(checkWithPrivileges<status_t>(condition, NO_ERROR, NO_ERROR));
}
+TEST_F(CredentialsTest, GetActiveColorModeBasicCorrectness) {
+ const auto display = SurfaceComposerClient::getInternalDisplayToken();
+ ASSERT_FALSE(display == nullptr);
+ ColorMode colorMode = SurfaceComposerClient::getActiveColorMode(display);
+ ASSERT_NE(static_cast<ColorMode>(BAD_VALUE), colorMode);
+}
+
} // namespace android