X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fhs-apprecover.cpp;fp=src%2Fhs-apprecover.cpp;h=bd34eda3199053a78b91f6c016121dc7b581f636;hb=11fdeef6122c86f21f7fab72fa8cdb99ef5d68b5;hp=025b6fbd3b5959a049d19c14391d23dada371882;hpb=e24c504de6e4e98d500c6587bede79c7c93c84c2;p=apps%2Fagl-service-homescreen.git diff --git a/src/hs-apprecover.cpp b/src/hs-apprecover.cpp index 025b6fb..bd34eda 100644 --- a/src/hs-apprecover.cpp +++ b/src/hs-apprecover.cpp @@ -92,14 +92,13 @@ void HS_AppRecover::startRecovery(afb_api_t api, recover_map &map) { for(auto &key : HS_Config::keys_recover_type) { for(auto &m : map[key]){ - struct app_recover_info recover_info; - recover_info.recover_type = key; - recover_info.visibility = m.visibility; - recover_info.after = m.after; + struct app_recover_info recover_info = { + .recover_type = key, + .visibility = m.visibility, + .after = m.after + }; m_recover_apps_list[m.appid] = std::move(recover_info); - if(key == HS_Config::keys_recover_type[1]) { - m_lastmode_list.insert(m.appid); - } + // recover application auto it = m_recovering_set.find(m.appid); if(it == m_recovering_set.end()) { @@ -176,6 +175,11 @@ bool HS_AppRecover::registerRecoveredApp(afb_api_t api, const std::string &appid */ void HS_AppRecover::screenUpdated(struct json_object *obj) { + if(m_lastmode_list.empty()) { + AFB_NOTICE("init lastmode is null, so don't record lastmode."); + return; + } + std::set s_mode; struct json_object *ids_obj; if(json_object_object_get_ex(obj, key_ids.c_str(), &ids_obj)) {