Loading tv/hdmi/connection/aidl/aidl_api/android.hardware.tv.hdmi.connection/current/android/hardware/tv/hdmi/connection/IHdmiConnection.aidl +2 −2 Original line number Diff line number Diff line Loading @@ -37,6 +37,6 @@ interface IHdmiConnection { android.hardware.tv.hdmi.connection.HdmiPortInfo[] getPortInfo(); boolean isConnected(in int portId); void setCallback(in android.hardware.tv.hdmi.connection.IHdmiConnectionCallback callback); void setHpdSignal(android.hardware.tv.hdmi.connection.HpdSignal signal); android.hardware.tv.hdmi.connection.HpdSignal getHpdSignal(); void setHpdSignal(android.hardware.tv.hdmi.connection.HpdSignal signal, in int portId); android.hardware.tv.hdmi.connection.HpdSignal getHpdSignal(in int portId); } tv/hdmi/connection/aidl/android/hardware/tv/hdmi/connection/IHdmiConnection.aidl +8 −2 Original line number Diff line number Diff line Loading @@ -55,16 +55,22 @@ interface IHdmiConnection { * signaling EDID updates). By default, the HAL will use {@code HDMI_HPD_PHYSICAL} (the physical * hotplug signal). When set to {@code HDMI_HPD_STATUS_BIT} the HAL should use the HDP status * bit. * * @param signal The HPD signal type to use. * @param portId id of the port on which the HPD signal should be set. * * @throws ServiceSpecificException with error code set to * {@code Result::FAILURE_NOT_SUPPORTED} if the signal type is not supported. * {@code Result::FAILURE_INVALID_ARGS} if the signal type is invalid. * {@code Result::FAILURE_UNKNOWN} if the signal type could not be set because of an * unknown failure. */ void setHpdSignal(HpdSignal signal); void setHpdSignal(HpdSignal signal, in int portId); /** * Get the current signal the HAL is using for HPD * * @param portId id of the port of which the current HPD signal is queried. */ HpdSignal getHpdSignal(); HpdSignal getHpdSignal(in int portId); } tv/hdmi/connection/aidl/default/HdmiConnectionMock.cpp +6 −4 Original line number Diff line number Diff line Loading @@ -69,9 +69,9 @@ ScopedAStatus HdmiConnectionMock::setCallback( return ScopedAStatus::ok(); } ScopedAStatus HdmiConnectionMock::setHpdSignal(HpdSignal signal) { ScopedAStatus HdmiConnectionMock::setHpdSignal(HpdSignal signal, int32_t portId) { if (mHdmiThreadRun) { mHpdSignal = signal; mHpdSignal.at(portId - 1) = signal; return ScopedAStatus::ok(); } else { return ScopedAStatus::fromServiceSpecificError( Loading @@ -79,8 +79,8 @@ ScopedAStatus HdmiConnectionMock::setHpdSignal(HpdSignal signal) { } } ScopedAStatus HdmiConnectionMock::getHpdSignal(HpdSignal* _aidl_return) { *_aidl_return = mHpdSignal; ScopedAStatus HdmiConnectionMock::getHpdSignal(int32_t portId, HpdSignal* _aidl_return) { *_aidl_return = mHpdSignal.at(portId - 1); return ScopedAStatus::ok(); } Loading Loading @@ -179,6 +179,7 @@ HdmiConnectionMock::HdmiConnectionMock() { mCallback = nullptr; mPortInfos.resize(mTotalPorts); mPortConnectionStatus.resize(mTotalPorts); mHpdSignal.resize(mTotalPorts); mPortInfos[0] = {.type = HdmiPortType::OUTPUT, .portId = static_cast<uint32_t>(1), .cecSupported = true, Loading @@ -186,6 +187,7 @@ HdmiConnectionMock::HdmiConnectionMock() { .eArcSupported = false, .physicalAddress = mPhysicalAddress}; mPortConnectionStatus[0] = false; mHpdSignal[0] = HpdSignal::HDMI_HPD_PHYSICAL; mDeathRecipient = ndk::ScopedAIBinder_DeathRecipient(AIBinder_DeathRecipient_new(serviceDied)); } Loading tv/hdmi/connection/aidl/default/HdmiConnectionMock.h +3 −3 Original line number Diff line number Diff line Loading @@ -46,8 +46,8 @@ struct HdmiConnectionMock : public BnHdmiConnection { ::ndk::ScopedAStatus isConnected(int32_t portId, bool* _aidl_return) override; ::ndk::ScopedAStatus setCallback( const std::shared_ptr<IHdmiConnectionCallback>& callback) override; ::ndk::ScopedAStatus setHpdSignal(HpdSignal signal) override; ::ndk::ScopedAStatus getHpdSignal(HpdSignal* _aidl_return) override; ::ndk::ScopedAStatus setHpdSignal(HpdSignal signal, int32_t portId) override; ::ndk::ScopedAStatus getHpdSignal(int32_t portId, HpdSignal* _aidl_return) override; void printEventBuf(const char* msg_buf, int len); Loading @@ -70,7 +70,7 @@ struct HdmiConnectionMock : public BnHdmiConnection { int mTotalPorts = 1; // HPD Signal being used HpdSignal mHpdSignal = HpdSignal::HDMI_HPD_PHYSICAL; std::vector<HpdSignal> mHpdSignal; // Testing variables // Input file descriptor Loading tv/hdmi/connection/aidl/vts/functional/VtsHalTvHdmiConnectionAidlTargetTest.cpp +17 −12 Original line number Diff line number Diff line Loading @@ -93,8 +93,8 @@ TEST_P(HdmiConnectionTest, GetPortInfo) { for (size_t i = 0; i < ports.size(); ++i) { EXPECT_TRUE((ports[i].type == HdmiPortType::OUTPUT) || (ports[i].type == HdmiPortType::INPUT)); if (ports[i].portId == 0) { ALOGW("%s: Port id should start from 1", __func__); if (ports[i].type == HdmiPortType::OUTPUT && ports[i].portId <= 0) { ALOGW("%s: Port id for output ports should start from 1", __func__); } cecSupportedOnDevice = cecSupportedOnDevice | ports[i].cecSupported; } Loading @@ -111,16 +111,21 @@ TEST_P(HdmiConnectionTest, IsConnected) { } TEST_P(HdmiConnectionTest, HdpSignal) { std::vector<HdmiPortInfo> ports; ASSERT_TRUE(hdmiConnection->getPortInfo(&ports).isOk()); HpdSignal originalSignal; HpdSignal signal = HpdSignal::HDMI_HPD_STATUS_BIT; for (size_t i = 0; i < ports.size(); ++i) { int32_t portId = ports[i].portId; HpdSignal readSignal; ASSERT_TRUE(hdmiConnection->getHpdSignal(&originalSignal).isOk()); ASSERT_TRUE(hdmiConnection->setHpdSignal(signal).isOk()); ASSERT_TRUE(hdmiConnection->getHpdSignal(&readSignal).isOk()); ASSERT_TRUE(hdmiConnection->getHpdSignal(portId, &originalSignal).isOk()); ASSERT_TRUE(hdmiConnection->setHpdSignal(signal, portId).isOk()); ASSERT_TRUE(hdmiConnection->getHpdSignal(portId, &readSignal).isOk()); EXPECT_EQ(readSignal, signal); signal = HpdSignal::HDMI_HPD_PHYSICAL; ASSERT_TRUE(hdmiConnection->setHpdSignal(signal).isOk()); ASSERT_TRUE(hdmiConnection->getHpdSignal(&readSignal).isOk()); ASSERT_TRUE(hdmiConnection->setHpdSignal(signal, portId).isOk()); ASSERT_TRUE(hdmiConnection->getHpdSignal(portId, &readSignal).isOk()); EXPECT_EQ(readSignal, signal); ASSERT_TRUE(hdmiConnection->setHpdSignal(originalSignal).isOk()); ASSERT_TRUE(hdmiConnection->setHpdSignal(originalSignal, portId).isOk()); } } Loading
tv/hdmi/connection/aidl/aidl_api/android.hardware.tv.hdmi.connection/current/android/hardware/tv/hdmi/connection/IHdmiConnection.aidl +2 −2 Original line number Diff line number Diff line Loading @@ -37,6 +37,6 @@ interface IHdmiConnection { android.hardware.tv.hdmi.connection.HdmiPortInfo[] getPortInfo(); boolean isConnected(in int portId); void setCallback(in android.hardware.tv.hdmi.connection.IHdmiConnectionCallback callback); void setHpdSignal(android.hardware.tv.hdmi.connection.HpdSignal signal); android.hardware.tv.hdmi.connection.HpdSignal getHpdSignal(); void setHpdSignal(android.hardware.tv.hdmi.connection.HpdSignal signal, in int portId); android.hardware.tv.hdmi.connection.HpdSignal getHpdSignal(in int portId); }
tv/hdmi/connection/aidl/android/hardware/tv/hdmi/connection/IHdmiConnection.aidl +8 −2 Original line number Diff line number Diff line Loading @@ -55,16 +55,22 @@ interface IHdmiConnection { * signaling EDID updates). By default, the HAL will use {@code HDMI_HPD_PHYSICAL} (the physical * hotplug signal). When set to {@code HDMI_HPD_STATUS_BIT} the HAL should use the HDP status * bit. * * @param signal The HPD signal type to use. * @param portId id of the port on which the HPD signal should be set. * * @throws ServiceSpecificException with error code set to * {@code Result::FAILURE_NOT_SUPPORTED} if the signal type is not supported. * {@code Result::FAILURE_INVALID_ARGS} if the signal type is invalid. * {@code Result::FAILURE_UNKNOWN} if the signal type could not be set because of an * unknown failure. */ void setHpdSignal(HpdSignal signal); void setHpdSignal(HpdSignal signal, in int portId); /** * Get the current signal the HAL is using for HPD * * @param portId id of the port of which the current HPD signal is queried. */ HpdSignal getHpdSignal(); HpdSignal getHpdSignal(in int portId); }
tv/hdmi/connection/aidl/default/HdmiConnectionMock.cpp +6 −4 Original line number Diff line number Diff line Loading @@ -69,9 +69,9 @@ ScopedAStatus HdmiConnectionMock::setCallback( return ScopedAStatus::ok(); } ScopedAStatus HdmiConnectionMock::setHpdSignal(HpdSignal signal) { ScopedAStatus HdmiConnectionMock::setHpdSignal(HpdSignal signal, int32_t portId) { if (mHdmiThreadRun) { mHpdSignal = signal; mHpdSignal.at(portId - 1) = signal; return ScopedAStatus::ok(); } else { return ScopedAStatus::fromServiceSpecificError( Loading @@ -79,8 +79,8 @@ ScopedAStatus HdmiConnectionMock::setHpdSignal(HpdSignal signal) { } } ScopedAStatus HdmiConnectionMock::getHpdSignal(HpdSignal* _aidl_return) { *_aidl_return = mHpdSignal; ScopedAStatus HdmiConnectionMock::getHpdSignal(int32_t portId, HpdSignal* _aidl_return) { *_aidl_return = mHpdSignal.at(portId - 1); return ScopedAStatus::ok(); } Loading Loading @@ -179,6 +179,7 @@ HdmiConnectionMock::HdmiConnectionMock() { mCallback = nullptr; mPortInfos.resize(mTotalPorts); mPortConnectionStatus.resize(mTotalPorts); mHpdSignal.resize(mTotalPorts); mPortInfos[0] = {.type = HdmiPortType::OUTPUT, .portId = static_cast<uint32_t>(1), .cecSupported = true, Loading @@ -186,6 +187,7 @@ HdmiConnectionMock::HdmiConnectionMock() { .eArcSupported = false, .physicalAddress = mPhysicalAddress}; mPortConnectionStatus[0] = false; mHpdSignal[0] = HpdSignal::HDMI_HPD_PHYSICAL; mDeathRecipient = ndk::ScopedAIBinder_DeathRecipient(AIBinder_DeathRecipient_new(serviceDied)); } Loading
tv/hdmi/connection/aidl/default/HdmiConnectionMock.h +3 −3 Original line number Diff line number Diff line Loading @@ -46,8 +46,8 @@ struct HdmiConnectionMock : public BnHdmiConnection { ::ndk::ScopedAStatus isConnected(int32_t portId, bool* _aidl_return) override; ::ndk::ScopedAStatus setCallback( const std::shared_ptr<IHdmiConnectionCallback>& callback) override; ::ndk::ScopedAStatus setHpdSignal(HpdSignal signal) override; ::ndk::ScopedAStatus getHpdSignal(HpdSignal* _aidl_return) override; ::ndk::ScopedAStatus setHpdSignal(HpdSignal signal, int32_t portId) override; ::ndk::ScopedAStatus getHpdSignal(int32_t portId, HpdSignal* _aidl_return) override; void printEventBuf(const char* msg_buf, int len); Loading @@ -70,7 +70,7 @@ struct HdmiConnectionMock : public BnHdmiConnection { int mTotalPorts = 1; // HPD Signal being used HpdSignal mHpdSignal = HpdSignal::HDMI_HPD_PHYSICAL; std::vector<HpdSignal> mHpdSignal; // Testing variables // Input file descriptor Loading
tv/hdmi/connection/aidl/vts/functional/VtsHalTvHdmiConnectionAidlTargetTest.cpp +17 −12 Original line number Diff line number Diff line Loading @@ -93,8 +93,8 @@ TEST_P(HdmiConnectionTest, GetPortInfo) { for (size_t i = 0; i < ports.size(); ++i) { EXPECT_TRUE((ports[i].type == HdmiPortType::OUTPUT) || (ports[i].type == HdmiPortType::INPUT)); if (ports[i].portId == 0) { ALOGW("%s: Port id should start from 1", __func__); if (ports[i].type == HdmiPortType::OUTPUT && ports[i].portId <= 0) { ALOGW("%s: Port id for output ports should start from 1", __func__); } cecSupportedOnDevice = cecSupportedOnDevice | ports[i].cecSupported; } Loading @@ -111,16 +111,21 @@ TEST_P(HdmiConnectionTest, IsConnected) { } TEST_P(HdmiConnectionTest, HdpSignal) { std::vector<HdmiPortInfo> ports; ASSERT_TRUE(hdmiConnection->getPortInfo(&ports).isOk()); HpdSignal originalSignal; HpdSignal signal = HpdSignal::HDMI_HPD_STATUS_BIT; for (size_t i = 0; i < ports.size(); ++i) { int32_t portId = ports[i].portId; HpdSignal readSignal; ASSERT_TRUE(hdmiConnection->getHpdSignal(&originalSignal).isOk()); ASSERT_TRUE(hdmiConnection->setHpdSignal(signal).isOk()); ASSERT_TRUE(hdmiConnection->getHpdSignal(&readSignal).isOk()); ASSERT_TRUE(hdmiConnection->getHpdSignal(portId, &originalSignal).isOk()); ASSERT_TRUE(hdmiConnection->setHpdSignal(signal, portId).isOk()); ASSERT_TRUE(hdmiConnection->getHpdSignal(portId, &readSignal).isOk()); EXPECT_EQ(readSignal, signal); signal = HpdSignal::HDMI_HPD_PHYSICAL; ASSERT_TRUE(hdmiConnection->setHpdSignal(signal).isOk()); ASSERT_TRUE(hdmiConnection->getHpdSignal(&readSignal).isOk()); ASSERT_TRUE(hdmiConnection->setHpdSignal(signal, portId).isOk()); ASSERT_TRUE(hdmiConnection->getHpdSignal(portId, &readSignal).isOk()); EXPECT_EQ(readSignal, signal); ASSERT_TRUE(hdmiConnection->setHpdSignal(originalSignal).isOk()); ASSERT_TRUE(hdmiConnection->setHpdSignal(originalSignal, portId).isOk()); } }