fota_gui - common, wearable : terminate binary, when progress is -1. 09/247009/1
authordyamy-lee <dyamy.lee@samsung.com>
Fri, 6 Nov 2020 02:36:05 +0000 (11:36 +0900)
committerdyamy-lee <dyamy.lee@samsung.com>
Fri, 6 Nov 2020 02:36:05 +0000 (11:36 +0900)
Even if it doesn't reach 100 percent, if progress is -1, it terminate.
But, when it is just stared with progress -1 (remain previous update content), do not terminate.

Change-Id: I836f9d0d0fcd0eb7b7a6641e8cb657690d721b77

fota_gui_common/fota_gr_direct_ro_common.c
fota_gui_common/fota_gui_ro_common_main.c
fota_gui_wearable/fota_gr_direct_ro_wearable.c
fota_gui_wearable/fota_gui_ro_wearable_main.c

index 38f209e373ff2e7c8fe4bec7c4d42e036ef915bb..a685fa4c0c75bb007c539f950da507b0772e8b58 100644 (file)
@@ -385,7 +385,6 @@ static void _gr_direct_progress_bar(FbInfo *fbi, int progress)
                s_saved_percent = prog_pre;
 
                count++;
-
                if (count > 3)
                        break;
        }
@@ -431,6 +430,10 @@ int fota_gr_direct_ro_update_progress(void)
                if (fp) {
                        if (fscanf(fp, "%d", &percent) == EOF)
                                LOG("Error occurs at reading ro_progress");
+                       if (percent == -1 && s_saved_percent > 0) {
+                               LOG("END ro update\n");
+                               return -1;
+                       }
                        if (percent < 0)
                                percent = 0;
                        if (percent > 0xffffff)
@@ -440,7 +443,8 @@ int fota_gr_direct_ro_update_progress(void)
                        percent = s_percent_to_draw;
        }
 
-       s_percent_to_draw = percent;
+       if (s_percent_to_draw < percent)
+               s_percent_to_draw = percent;
        if (s_saved_percent < s_percent_to_draw) {
                LOG("s_saved_percent %d , s_percent_to_draw %d \n", s_saved_percent, s_percent_to_draw);
                fota_gr_direct_progress();
index 2f8331d820319bc72a9e23a9f52da1f2c2320647..f36c03d5191804442b9ad5ab95b958d2283dc2a0 100644 (file)
@@ -57,12 +57,12 @@ static int wait_main_fota_ro(void)
                return -1;
        }
 
-       while (s_prog_percent < 100) {
+       while (1) {
                usleep(delay);
                s_prog_percent = fota_gr_update_progress();
+               if (s_prog_percent == -1) break;
                sleep(1);
        }
-       LOG("MAIN :: 100 percent out =  %d\n", s_prog_percent);
 
        fota_gr_deinit();
 
index 6faab3b6699533bd9713c5bc7d8b1ef8aa58609a..3f79bc7e4383e0cf2405e10ad2e2b806945eeafa 100644 (file)
@@ -437,6 +437,10 @@ int fota_gr_direct_ro_update_progress(void)
                if (fp) {
                        if (fscanf(fp, "%d", &percent) == EOF)
                                LOG("Error occurs at reading ro_progress");
+                       if (percent == -1 && s_saved_percent > 0) {
+                               LOG("END ro update\n");
+                               return -1;
+                       }
                        if (percent < 0)
                                percent = 0;
                        if (percent > 0xffffff)
@@ -446,7 +450,8 @@ int fota_gr_direct_ro_update_progress(void)
                        percent = s_percent_to_draw;
        }
 
-       s_percent_to_draw = percent;
+       if (s_percent_to_draw < percent)
+               s_percent_to_draw = percent;
        if (s_saved_percent < s_percent_to_draw) {
                LOG("s_saved_percent %d , s_percent_to_draw %d \n", s_saved_percent, s_percent_to_draw);
                fota_gr_direct_circular_progress();
index fe7f7933cca000d1c6765208515b5f64c93568cd..a56337992d58cb476077d08e68d4f01c1cc5d71c 100644 (file)
@@ -57,12 +57,12 @@ static int wait_main_fota_ro(void)
                return -1;
        }
 
-       while (s_prog_percent < 100) {
+       while (1) {
                usleep(delay);
                s_prog_percent = fota_gr_update_progress();
+               if (s_prog_percent == -1) break;
                sleep(1);
        }
-       LOG("MAIN :: 100 percent out =  %d\n", s_prog_percent);
 
        fota_gr_deinit();