revise app action
authorYoungjae Shin <yj99.shin@samsung.com>
Tue, 10 Mar 2020 02:59:52 +0000 (11:59 +0900)
committerYoungjae Shin <yj99.shin@samsung.com>
Thu, 19 Mar 2020 04:30:37 +0000 (13:30 +0900)
app/AppActionLaunch.cpp
app/AppActionLaunch.h
app/AppFactory.cpp
unittests/mdsp_test_app.cpp

index 14822bf..1d1fa5e 100644 (file)
@@ -35,10 +35,16 @@ AppActionLaunch::AppActionLaunch()
 
 int AppActionLaunch::set(const std::string &val)
 {
+       requestVal = val;
+
        bool running;
-       app_manager_is_running(val.c_str(), &running);
-       if (running)
-               INFO("It's already running before started mode-supervisor daemon");
+       int ret = app_manager_is_running(val.c_str(), &running);
+       if (APP_MANAGER_ERROR_NONE != ret) {
+               ERR("app_manager_is_running(%s) Fail(%d)", val.c_str(), ret);
+       } else if (running) {
+               INFO("It's already running");
+               return MODES_ERROR_NONE;
+       }
 
        app_control_h service;
        app_control_create(&service);
@@ -46,15 +52,13 @@ int AppActionLaunch::set(const std::string &val)
        app_control_set_operation(service, APP_CONTROL_OPERATION_DEFAULT);
        app_control_set_launch_mode(service, APP_CONTROL_LAUNCH_MODE_SINGLE);
 
-       int ret = app_control_send_launch_request(service, nullptr, nullptr);
+       ret = app_control_send_launch_request(service, NULL, NULL);
        if (APP_CONTROL_ERROR_NONE != ret) {
                ERR("app_control_send_launch_request() Fail(%s)", get_error_message(ret));
                return MODES_ERROR_SYSTEM;
        }
        app_control_destroy(service);
 
-       appID = val;
-
        return MODES_ERROR_NONE;
 }
 
@@ -63,15 +67,17 @@ void AppActionLaunch::undo()
        bool running;
        app_context_h runAppContext;
 
-       app_manager_is_running(appID.c_str(), &running);
-       if (!running) {
-               DBG("It's NOT running");
+       int ret = app_manager_is_running(requestVal.c_str(), &running);
+       if (APP_MANAGER_ERROR_NONE != ret) {
+               ERR("app_manager_is_running(%s) Fail(%d)", requestVal.c_str(), ret);
+       } else if (false == running) {
+               WARN("It's NOT running");
                return;
        }
 
-       int ret = app_manager_get_app_context(appID.c_str(), &runAppContext);
+       ret = app_manager_get_app_context(requestVal.c_str(), &runAppContext);
        if (APP_MANAGER_ERROR_NONE != ret) {
-               ERR("app_manager_get_app_context(%s) Fail(%s)", appID.c_str(), get_error_message(ret));
+               ERR("app_manager_get_app_context(%s) Fail(%s)", requestVal.c_str(), get_error_message(ret));
                return;
        }
        ret = app_manager_terminate_app(runAppContext);
@@ -81,12 +87,12 @@ void AppActionLaunch::undo()
 
 std::string AppActionLaunch::serialize()
 {
-       return appID;
+       return requestVal;
 }
 
 int AppActionLaunch::parse(const std::string &archive)
 {
-       appID = archive;
+       requestVal = archive;
        return MODES_ERROR_NONE;
 }
 
@@ -94,7 +100,7 @@ int AppActionLaunch::setChangedCallback(valueChangedCB callback, void *userData)
 {
        RETV_IF(nullptr == callback, MODES_ERROR_INVALID_PARAMETER);
 
-       int err = app_manager_set_app_context_status_cb(appContextStatusCB, appID.c_str(), this);
+       int err = app_manager_set_app_context_status_cb(appContextStatusCB, requestVal.c_str(), this);
        if (APP_MANAGER_ERROR_NONE != err) {
                ERR("app_manager_set_app_context_status_cb() Fail(%s)", get_error_message(err));
                return MODES_ERROR_SYSTEM;
@@ -108,7 +114,7 @@ int AppActionLaunch::setChangedCallback(valueChangedCB callback, void *userData)
 
 void AppActionLaunch::unSetChangedCallback(valueChangedCB callback, void *userData)
 {
-       int ret = app_manager_unset_app_context_status_cb(appContextStatusCB, appID.c_str());
+       int ret = app_manager_unset_app_context_status_cb(appContextStatusCB, requestVal.c_str());
        if (APP_MANAGER_ERROR_NONE != ret)
                ERR("app_manager_unset_app_context_status_cb() Fail(%s)", get_error_message(ret));
 
@@ -118,6 +124,8 @@ void AppActionLaunch::unSetChangedCallback(valueChangedCB callback, void *userDa
 
 void AppActionLaunch::appContextStatusCB(app_context_h app_context, app_context_status_e status, void *userData)
 {
+       AppActionLaunch *action = (AppActionLaunch*)userData;
+
        RET_IF(nullptr == userData);
        RET_IF(APP_CONTEXT_STATUS_TERMINATED != status);
 
@@ -128,10 +136,8 @@ void AppActionLaunch::appContextStatusCB(app_context_h app_context, app_context_
                return;
        }
 
-       AppActionLaunch *action = (AppActionLaunch*)userData;
-       if (appid == action->appID && action->cb)
+       if (action->cb && appid == action->requestVal)
                action->cb(action->cbData);
 
        free(appid);
-       return;
 }
index ae70d2a..f2bb7fb 100644 (file)
@@ -36,7 +36,7 @@ public:
        void unSetChangedCallback(valueChangedCB callback, void *userData) override;
 private:
        static void appContextStatusCB(app_context_h app_context, app_context_status_e status, void *user_data);
-       std::string appID;
+       std::string requestVal;
        valueChangedCB cb;
        void *cbData;
 };
index 5683f34..250b307 100644 (file)
@@ -27,7 +27,7 @@ AppFactory::AppFactory()
 AppAction* AppFactory::createAction(const std::string &key)
 {
        auto search = actionMap.find(key);
-       if (search == actionMap.end()) {
+       if (actionMap.end() == search) {
                ERR("No AppAction(%s)", key.c_str());
                return nullptr;
        }
index 3801df9..5a81489 100644 (file)
@@ -43,7 +43,7 @@ protected:
                g_main_loop_unref(loop);
                loop = NULL;
                objectDelete(plugin);
-               plugin = NULL;
+               plugin = nullptr;
        }
 
        static gboolean appUndoTimeout(gpointer data)
@@ -104,7 +104,7 @@ protected:
 
 const char *AppPluginTest::testApp = "org.tizen.setting";
 int AppPluginTest::result = 0;
-Plugin *AppPluginTest::plugin = NULL;
+Plugin *AppPluginTest::plugin = nullptr;
 GMainLoop *AppPluginTest::loop = NULL;
 
 TEST_F(AppPluginTest, CheckSetUndo)
@@ -116,7 +116,7 @@ TEST_F(AppPluginTest, CheckSetUndo)
 TEST_F(AppPluginTest, checkChangedCB)
 {
        sleep(3);
-       g_idle_add(checkChangedCBIdler, nullptr);
+       g_idle_add(checkChangedCBIdler, NULL);
        g_main_loop_run(loop);
 }