Resolve pending issues 19/244819/1 tizen_6.0 tizen_6.0_hotfix tizen_6.5 tizen_7.0 tizen_7.0_hotfix tizen_8.0 submit/tizen/20200925.090043 submit/tizen/20201209.025712 submit/tizen_6.0/20201029.205504 submit/tizen_6.0_hotfix/20201102.192904 submit/tizen_6.0_hotfix/20201103.115104 submit/tizen_6.5/20211028.164201 submit/tizen_6.5/20211029.123901 tizen_6.0_src.m2_release tizen_6.5_src.m2_release tizen_7.0_src.m2_release tizen_8.0_m2_release
authorAmritanshu <a.pandia1@samsung.com>
Thu, 24 Sep 2020 10:57:48 +0000 (16:27 +0530)
committerAmritanshu <a.pandia1@samsung.com>
Thu, 24 Sep 2020 10:57:48 +0000 (16:27 +0530)
Change-Id: Ieb1a3d4c2ade4ea9e1497bad0839f84b878b0da7
Signed-off-by: Amritanshu <a.pandia1@samsung.com>
inc/firmware-update-ui.h
src/firmware-update-ui.c
src/interaction.c

index c51784f54f85ee2d0a510499cce3069e4587f82a..59799687087804b55567369331768ab4c564fbe8 100755 (executable)
@@ -48,8 +48,6 @@ typedef enum
        FOTA_OPERATION_INSTALL,
 }fota_operation;
 
-gchar *download_cmd;
-
 #define RED     "\033[0;31m"
 #define YELLOW  "\033[0;33m"
 #define DCOLOR  "\033[0;m"
@@ -67,8 +65,8 @@ gchar *download_cmd;
 #define FOTA_MODE_REBOOT        "fota-reboot"
 #define UPDATE_SUCCESS                  "00"
 
-extern void fota_show_install_popup(Evas_Object* nf, char *title);
-extern void fota_show_download_popup(Evas_Object* nf, char *title);
+extern void fota_show_install_popup(Evas_Object* nf, char *title, char* cmd);
+extern void fota_show_download_popup(Evas_Object* nf, char *title, char* cmd);
 extern void fota_show_result_popup(Evas_Object *nf,fota_operation e_oper, bool status, int error);
 
 #endif /* __FIRMWAREUPDATEUI_H__ */
index 8d7bbce32b8ec2b4b12d44044da7336daa58c9be..a9e73f5ae4d699eacf62f45b18a2f9c1422ce96e 100755 (executable)
@@ -78,6 +78,7 @@ app_control(app_control_h app_control, void *data)
        int ret = 0;
        char *value = NULL, *shared_path = NULL;
        appdata_s *ad = data;
+       gchar *download_cmd;
 
        notification_h notify = notification_load_by_tag(LOG_TAG);
        if(notify) {
@@ -98,7 +99,7 @@ app_control(app_control_h app_control, void *data)
                if(shared_path) free(shared_path);
                LOGI("Download command in App-control %s", download_cmd);
 
-               fota_show_download_popup(ad->nf, UPDATE_TITLE);
+               fota_show_download_popup(ad->nf, UPDATE_TITLE, download_cmd);
 
        } else if (ret != APP_CONTROL_ERROR_KEY_NOT_FOUND) {
                LOGE("App-control %s Error : %d", FOTA_MODE_DOWNLOAD, ret);
@@ -115,7 +116,7 @@ app_control(app_control_h app_control, void *data)
                if(shared_path) free(shared_path);
                LOGI("Download command in App-control %s", download_cmd);
 
-               fota_show_install_popup(ad->nf, UPDATE_TITLE);
+               fota_show_install_popup(ad->nf, UPDATE_TITLE, download_cmd);
 
        } else if (ret != APP_CONTROL_ERROR_KEY_NOT_FOUND) {
                LOGE("App-control %s Error : %d", FOTA_MODE_INSTALL, ret);
index f2ca5280f44514048b35c8c5a864dc7b61668756..e638f7f3ed4e00996028b8491c3443d54eaa5940 100755 (executable)
@@ -17,6 +17,8 @@
 #include "firmware-update-ui.h"
 
 static char path[PATH_MAX];
+static char cmd_version[PATH_MAX];
+static char cmd_dwnload[PATH_MAX];
 
 static void
 _popup_block_clicked_cb(void *data, Evas_Object *obj, void *event_info)
@@ -65,10 +67,7 @@ static char* fota_get_update_image_version()
 
        bool flag_image = FALSE;
        char *image_path = NULL, *directory = NULL, *version = NULL, *token = NULL;
-       char *cmd = strdup(download_cmd);
-       if(!cmd)
-               return NULL;
-
+       char *cmd = cmd_version;
        LOGI("cmd : %s", cmd);
 
        while ((token = strsep(&cmd, " "))) {
@@ -78,10 +77,8 @@ static char* fota_get_update_image_version()
                }
        }
        LOGI("Update image path : %s", image_path);
-       if(!image_path) {
-               free(cmd);
+       if(!image_path)
                return NULL;
-       }
 
        snprintf(path, sizeof(path), "%s", image_path);
 
@@ -93,15 +90,20 @@ static char* fota_get_update_image_version()
                directory = strdup(token);
        }
        LOGI("Image directory : %s", directory);
-       if(!directory || !flag_image)
+       if(!directory || !flag_image) {
+               free(image_path);
                return NULL;
+       }
 
        while ((token = strsep(&directory, "-"))) {
                version = strdup(token);
        }
        LOGI("Update image version : %s", version);
-       if(!version)
+       if(!version) {
+               free(image_path);
+               free(directory);
                return NULL;
+       }
 
        free(directory);
        free(image_path);
@@ -195,7 +197,7 @@ _install_update_cb(void *data, Evas_Object *obj, void *event_info)
        evas_object_smart_callback_add(popup, "block,clicked", _popup_block_clicked_cb, NULL);
        evas_object_show(popup);
 
-       Evas_Object *prev_popup = elm_object_item_data_get(obj);
+       Evas_Object *prev_popup = evas_object_data_get(obj, "install-popup");
        if (prev_popup) {
                evas_object_del(prev_popup);
        }
@@ -253,19 +255,17 @@ _download_image_cb(void *data, Evas_Object *obj, void *event_info)
 {
        LOGI("Inside _download_image_cb");
        Evas_Object *nf = data;
-
-       Evas_Object *prev_popup = elm_object_item_data_get(obj);
-
-       LOGI("System Command : %s", download_cmd);
+       Evas_Object *prev_popup = evas_object_data_get(obj, "download-popup");
 
        /* Copy update-image from attached USB to shared location on device */
-       int ret = system(download_cmd);
+       LOGI("Download Command = %s", cmd_dwnload);
+       int ret = system(cmd_dwnload);
        LOGI("System command return : %d", ret);
 
        if (ret == -1 || WEXITSTATUS(ret) != 0) {
                fota_show_result_popup(nf, FOTA_OPERATION_DOWNLOAD, FALSE, ret);
        } else {
-               fota_show_install_popup(nf, UPDATE_TITLE);
+               fota_show_install_popup(nf, UPDATE_TITLE, cmd_dwnload);
        }
        if (prev_popup) {
                evas_object_del(prev_popup);
@@ -273,9 +273,12 @@ _download_image_cb(void *data, Evas_Object *obj, void *event_info)
        elm_popup_dismiss(nf);
 }
 
-void fota_show_install_popup(Evas_Object *nf, char *title)
+void fota_show_install_popup(Evas_Object *nf, char *title, char* cmd)
 {
        char buf[PATH_MAX] = {0};
+       snprintf(cmd_version, PATH_MAX, "%s", cmd);
+       snprintf(cmd_dwnload, PATH_MAX, "%s", cmd);
+
        char *version = fota_get_update_image_version();
        if(!version)
        {
@@ -308,15 +311,18 @@ void fota_show_install_popup(Evas_Object *nf, char *title)
                Evas_Object *btn2 = elm_button_add(popup);
                elm_object_text_set(btn2, "Install");
                elm_object_part_content_set(popup, "button2", btn2);
-               elm_object_item_data_set(btn2, popup);
+               evas_object_data_set(btn2, "install-popup", popup);
                evas_object_smart_callback_add(btn2, "clicked", _install_update_cb, nf);
                evas_object_show(popup);
        }
 }
 
-void fota_show_download_popup(Evas_Object *nf, char *title)
+void fota_show_download_popup(Evas_Object *nf, char *title, char* cmd)
 {
        char buf[PATH_MAX] = {0};
+       snprintf(cmd_version, PATH_MAX, "%s", cmd);
+       snprintf(cmd_dwnload, PATH_MAX, "%s", cmd);
+
        char *version = fota_get_update_image_version();
        if(!version)
        {
@@ -352,8 +358,7 @@ void fota_show_download_popup(Evas_Object *nf, char *title)
                //elm_object_style_set(btn2, "popup");
                elm_object_text_set(btn2, "Download");
                elm_object_part_content_set(popup, "button2", btn2);
-
-               elm_object_item_data_set(btn2, popup);
+               evas_object_data_set(btn2, "download-popup", popup);
                evas_object_smart_callback_add(btn2, "clicked", _download_image_cb, nf);
 
                evas_object_show(popup);