Improve GUI handling of zip flashing

- change the page sooner so that users cannot activate the slider
  twice
- improve GUI messaging if a zip requests a cache wipe
- move update of the file count to the end so it is less visible
  to the user (e.g. during a cache wipe the counter should not
  read 0)

Change-Id: I5d478f07effe61ca37f3521a77c9e9243a9cb692
This commit is contained in:
Ethan Yonker
2015-01-09 11:23:19 -06:00
committed by Dees Troy
parent 96af84a409
commit 0d47eb5686
2 changed files with 10 additions and 12 deletions
+9 -11
View File
@@ -325,7 +325,7 @@ void GUIAction::simulate_progress_bar(void)
}
}
int GUIAction::flash_zip(std::string filename, std::string pageName, int* wipe_cache)
int GUIAction::flash_zip(std::string filename, int* wipe_cache)
{
int ret_val = 0;
@@ -337,15 +337,9 @@ int GUIAction::flash_zip(std::string filename, std::string pageName, int* wipe_c
return -1;
}
// We're going to jump to this page first, like a loading page
gui_changePage(pageName);
if (!PartitionManager.Mount_By_Path(filename, true))
return -1;
// TODO: why again?
gui_changePage(pageName);
if (simulate) {
simulate_progress_bar();
} else {
@@ -944,29 +938,33 @@ void GUIAction::reinject_after_flash()
int GUIAction::flash(std::string arg)
{
int i, ret_val = 0, wipe_cache = 0;
// We're going to jump to this page first, like a loading page
gui_changePage(arg);
for (i=0; i<zip_queue_index; i++) {
operation_start("Flashing");
DataManager::SetValue("tw_filename", zip_queue[i]);
DataManager::SetValue(TW_ZIP_INDEX, (i + 1));
TWFunc::SetPerformanceMode(true);
ret_val = flash_zip(zip_queue[i], arg, &wipe_cache);
ret_val = flash_zip(zip_queue[i], &wipe_cache);
TWFunc::SetPerformanceMode(false);
if (ret_val != 0) {
gui_print("Error flashing zip '%s'\n", zip_queue[i].c_str());
i = 10; // Error flashing zip - exit queue
ret_val = 1;
break;
}
}
zip_queue_index = 0;
DataManager::SetValue(TW_ZIP_QUEUE_COUNT, zip_queue_index);
if (wipe_cache)
if (wipe_cache) {
gui_print("One or more zip requested a cache wipe\nWiping cache now.\n");
PartitionManager.Wipe_By_Path("/cache");
}
reinject_after_flash();
PartitionManager.Update_System_Details();
operation_end(ret_val);
DataManager::SetValue(TW_ZIP_QUEUE_COUNT, zip_queue_index);
return 0;
}
+1 -1
View File
@@ -285,7 +285,7 @@ protected:
int doAction(Action action);
bool needsToRunInSeparateThread(const Action& action);
void simulate_progress_bar(void);
int flash_zip(std::string filename, std::string pageName, int* wipe_cache);
int flash_zip(std::string filename, int* wipe_cache);
void reinject_after_flash();
void operation_start(const string operation_name);
void operation_end(const int operation_status);