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
s_saved_percent = prog_pre;
count++;
-
if (count > 3)
break;
}
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)
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();
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();
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)
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();
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();