static Ret button_start_clicked(void* ctx, void* obj) { ftk_widget_show(ctx, 1); ftk_wait_box_start_waiting(ctx); return RET_OK; }
static int FW_update(const char *file) { int ret; FtkWidget* wait_box = NULL; char buf[64] = { 0, }; char cmd[100] = {0,}; printf("file: %s\n", file); /* snprintf(buf, sizeof(buf), "opkg --noaction install %s", file); printf("buf: %s\n", buf); ret = system(buf); if (ret) { return -1; } */ wait_box = ftk_widget_lookup(app_wins[APP_WIN_0],WAIT_BOX_ID); ftk_widget_show(wait_box, 1); ftk_wait_box_start_waiting(wait_box); if (access("/opt/PBAPPS/ipks/pb62_1.ipk", F_OK) == 0) { printf("pb62 is exist\n"); sprintf(cmd, "%s", "rm /opt/PBAPPS/ipks/pb62_1.ipk"); //ftk_wait_box_start_waiting(wait_box); ret = system(cmd); if (ret) { return -1; } } /* snprintf(buf, sizeof(buf), "cp %s /opt/PBAPPS/ipks/", file); printf("buf: %s\n", buf); ret = system(buf); if (ret) { return -1; } */ memset(cmd,0,sizeof(cmd)); sprintf(cmd,"%s %s %s","cp",file,"/opt/PBAPPS/ipks/pb62_1.ipk"); printf("cmd is %s\n",cmd); ret = system(cmd); if (ret) { return -1; } ftk_tips("updating,please wait for some minutes"); memset(buf,0,sizeof(buf)); snprintf(buf, sizeof(buf), "opkg install /opt/PBAPPS/ipks/pb62_1.ipk"); printf("buf: %s\n", buf); ret = system(buf); if (ret) { return -1; } ftk_wait_box_stop_waiting(wait_box); //ftk_widget_remove_child(app_wins[APP_WIN_0], wait_box); ftk_widget_show(wait_box, 0); //ftk_widget_destroy(wait_box); //return 0; //system("echo ./ipks/pb62_1.ipk > /etc/.need_update"); return system("echo ./ipks/pb62_1.ipk > /etc/.need_update"); }