Skip to content

Commit 184da28

Browse files
authored
RDKEMW-8289 - CEC is not working after an FSR (#277)
* RDKEMW-8289 - CEC is not working after an FSR
1 parent 57b9740 commit 184da28

File tree

3 files changed

+26
-12
lines changed

3 files changed

+26
-12
lines changed

HdmiCecSource/HdmiCecSource.cpp

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -114,15 +114,7 @@ namespace WPEFramework
114114
return ;
115115
}
116116

117-
bool enabled = false;
118-
bool ret = false;
119-
HdmiCecSource::_hdmiCecSource->GetEnabled(enabled,ret);
120-
121-
if(ret && enabled)
122-
{
123-
Exchange::IHdmiCecSource::HdmiCecSourceSuccess success;
124-
HdmiCecSource::_hdmiCecSource->SetEnabled(false,success);
125-
}
117+
126118
HdmiCecSource::_notification.OnActiveSourceStatusUpdated(false);
127119

128120
if(nullptr != _hdmiCecSource)

HdmiCecSource/HdmiCecSourceImplementation.cpp

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -380,6 +380,12 @@ namespace WPEFramework
380380
HdmiCecSourceImplementation::~HdmiCecSourceImplementation()
381381
{
382382
LOGWARN("dtor");
383+
384+
if(cecEnableStatus)
385+
{
386+
setEnabledInternal(false, false);
387+
}
388+
383389
HdmiCecSourceImplementation::_instance = nullptr;
384390

385391
if(_powerManagerPlugin)
@@ -933,7 +939,23 @@ namespace WPEFramework
933939
{
934940
LOGINFO("Entered SetEnabled ");
935941

936-
if (cecSettingEnabled != enabled)
942+
Core:: hresult ret = setEnabledInternal(enabled, true);
943+
944+
if(ret == Core::ERROR_NONE)
945+
{
946+
success.success = true;
947+
}
948+
else
949+
{
950+
success.success = false;
951+
}
952+
return ret;
953+
}
954+
955+
Core::hresult HdmiCecSourceImplementation::setEnabledInternal(const bool enabled, const bool isPersist)
956+
{
957+
LOGINFO("Entered setEnabledInternal enabled:%d isPersist:%d ",enabled,isPersist);
958+
if (cecSettingEnabled != enabled && isPersist)
937959
{
938960
Utils::persistJsonSettings (CEC_SETTING_ENABLED_FILE, CEC_SETTING_ENABLED, JsonValue(enabled));
939961
cecSettingEnabled = enabled;
@@ -946,8 +968,8 @@ namespace WPEFramework
946968
{
947969
CECDisable();
948970
}
949-
success.success = true;
950971
return Core::ERROR_NONE;
972+
951973
}
952974

953975
Core::hresult HdmiCecSourceImplementation::SetOTPEnabled(const bool &enabled, HdmiCecSourceSuccess &success)

HdmiCecSource/HdmiCecSourceImplementation.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,7 @@ namespace WPEFramework {
218218
void sendUnencryptMsg(unsigned char* msg, int size);
219219
void sendDeviceUpdateInfo(const int logicalAddress);
220220
void sendKeyReleaseEvent(const int logicalAddress);
221+
Core::hresult setEnabledInternal(const bool enabled, const bool isPersist);
221222
typedef struct sendKeyInfo
222223
{
223224
int logicalAddr;
@@ -346,7 +347,6 @@ namespace WPEFramework {
346347
Core::hresult Register(Exchange::IHdmiCecSource::INotification *notification) override;
347348
Core::hresult Unregister(Exchange::IHdmiCecSource::INotification *notification) override;
348349

349-
350350
};
351351
} // namespace Plugin
352352
} // namespace WPEFramework

0 commit comments

Comments
 (0)