#include <set>
#include "hs-helper.h"
#include "hs-config.h"
+#include "hs-clientmanager.h"
struct app_recover_info {
std::string recover_type;
bool visibility;
+ std::string after;
};
-class HS_AppRecover {
+class HS_AppRecover : public listener_interface {
public:
- HS_AppRecover() = default;
+ HS_AppRecover() : listener_interface(std::string("hs_apprecover")) {}
~HS_AppRecover() = default;
HS_AppRecover(HS_AppRecover const &) = delete;
HS_AppRecover &operator=(HS_AppRecover const &) = delete;
static HS_AppRecover* instance(void);
int init(afb_api_t api);
- void startRecovery(afb_api_t api, recover_map &map);
- bool registerRecoveredApp(const std::string &appid);
+ void setRecoverMap(recover_map &map) {recover_app_map.swap(map);}
+ void startRecovery(afb_api_t api);
void screenUpdated(struct json_object *obj);
+ void notify(afb_api_t api, std::string appid = "");
private:
+ void startApplication(afb_api_t api, const std::string &appid);
void updateLastmode(std::set<std::string> &set);
bool isHomescreenApp(const std::string &appid) const;
static HS_AppRecover* me;
std::map<std::string, struct app_recover_info> m_recover_apps_list;
std::set<std::string> m_recovering_set;
+ std::map<std::string, std::set<std::string>> m_wait_recover_set;
std::set<std::string> m_lastmode_list;
+ recover_map recover_app_map;
};
#endif // HOMESCREEN_APPRECOVER_H
\ No newline at end of file