Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d1fedb45 authored by Peiyong Lin's avatar Peiyong Lin
Browse files

[SurfaceFlinger] Allow every client to query the active color mode.

BUG: 116112787
Test: Build, flash and boot. Verify with screenshot.
Change-Id: I66ca24b847b0bbb2726b748a8ff5d6c9ab43426c
parent deead387
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -4796,7 +4796,6 @@ status_t SurfaceFlinger::CheckTransactCodeCredentials(uint32_t code) {
        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 @@ status_t SurfaceFlinger::CheckTransactCodeCredentials(uint32_t code) {
        // 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:
+7 −1
Original line number Diff line number Diff line
@@ -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 @@ TEST_F(CredentialsTest, IsWideColorDisplayWithPrivileges) {
    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