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

Commit cbde1bd2 authored by Huihong Luo's avatar Huihong Luo Committed by Android (Google) Code Review
Browse files

Merge "Make HDCP levels change event to be consumable" into main

parents 308393e6 cac92165
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -584,6 +584,9 @@ bool EventThread::shouldConsumeEvent(const DisplayEventReceiver::Event& event,
        case DisplayEventReceiver::DISPLAY_EVENT_HOTPLUG:
            return true;

        case DisplayEventReceiver::DISPLAY_EVENT_HDCP_LEVELS_CHANGE:
            return true;

        case DisplayEventReceiver::DISPLAY_EVENT_MODE_CHANGE: {
            return connection->mEventRegistration.test(
                    gui::ISurfaceComposer::EventRegistration::modeChanged);
+16 −0
Original line number Diff line number Diff line
@@ -55,6 +55,9 @@ constexpr PhysicalDisplayId DISPLAY_ID_64BIT =

constexpr std::chrono::duration VSYNC_PERIOD(16ms);

constexpr int HDCP_V1 = 2;
constexpr int HDCP_V2 = 3;

} // namespace

class EventThreadTest : public testing::Test, public IEventThreadCallback {
@@ -833,6 +836,19 @@ TEST_F(EventThreadTest, requestNextVsyncWithThrottleVsyncDoesntPostVSync) {
    expectVSyncCallbackScheduleReceived(true);
}

TEST_F(EventThreadTest, postHcpLevelsChanged) {
    setupEventThread();

    mThread->onHdcpLevelsChanged(EXTERNAL_DISPLAY_ID, HDCP_V1, HDCP_V2);
    auto args = mConnectionEventCallRecorder.waitForCall();
    ASSERT_TRUE(args.has_value());
    const auto& event = std::get<0>(args.value());
    EXPECT_EQ(DisplayEventReceiver::DISPLAY_EVENT_HDCP_LEVELS_CHANGE, event.header.type);
    EXPECT_EQ(EXTERNAL_DISPLAY_ID, event.header.displayId);
    EXPECT_EQ(HDCP_V1, event.hdcpLevelsChange.connectedLevel);
    EXPECT_EQ(HDCP_V2, event.hdcpLevelsChange.maxLevel);
}

} // namespace
} // namespace android