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) {
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);
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);
#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)
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, " "))) {
}
}
LOGI("Update image path : %s", image_path);
- if(!image_path) {
- free(cmd);
+ if(!image_path)
return NULL;
- }
snprintf(path, sizeof(path), "%s", image_path);
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);
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);
}
{
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);
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)
{
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)
{
//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);