void CWakeupEngineManager::set_selected_wakeup_info(mas_wakeup_event_info wakeup_info)
{
mSelectedEngine = nullptr;
- for (const auto& info : mEngineInfo) {
- string appid = string{wakeup_info.wakeup_appid};
- bool found = contains(info.assistant_list, appid);
- if (found) {
- mSelectedEngine = &info;
- MWR_LOGD("Selected : %s", info.engine_name.c_str());
- }
+ const auto& iter = find_if(mEngineInfo.begin(), mEngineInfo.end(),
+ [wakeup_info](const EngineInfo& info) {
+ if (nullptr == wakeup_info.wakeup_engine)
+ return false;
+
+ return (0 == info.engine_name.compare(wakeup_info.wakeup_engine));
+ });
+
+ if (iter != mEngineInfo.end()) {
+ mSelectedEngine = &(*iter);
+ MWR_LOGD("Selected : %s", iter->engine_name.c_str());
}
}