Loading services/surfaceflinger/Scheduler/EventThread.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -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); Loading services/surfaceflinger/tests/unittests/EventThreadTest.cpp +16 −0 Original line number Diff line number Diff line Loading @@ -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 { Loading Loading @@ -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 Loading Loading
services/surfaceflinger/Scheduler/EventThread.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -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); Loading
services/surfaceflinger/tests/unittests/EventThreadTest.cpp +16 −0 Original line number Diff line number Diff line Loading @@ -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 { Loading Loading @@ -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 Loading