static STATUS backup_restore(char* path) { return_val_if_fail(p_current != NULL, RET_FAIL); miui_busy_process(); switch(p_current->result) { case RESTORE_ALL: miuiIntent_send(INTENT_RESTORE, 7, path, "1", "1", "1", "1", "0", "0"); break; case RESTORE_CACHE: miuiIntent_send(INTENT_RESTORE, 7, path, "0", "0", "0", "1", "0", "0"); break; case RESTORE_DATA: miuiIntent_send(INTENT_RESTORE, 7, path, "0", "0", "1", "0", "0", "0"); break; case RESTORE_SYSTEM: miuiIntent_send(INTENT_RESTORE, 7, path, "0", "1", "0", "0", "0", "0"); break; case RESTORE_BOOT: miuiIntent_send(INTENT_RESTORE, 7, path, "1", "0", "0", "0", "0", "0"); break; default: miui_error("p->resulte %d should not be the value\n", p_current->result); break; } return RET_OK; }
static STATUS backup_child_show(menuUnit* p) { p_current = p; miuiIntent_send(INTENT_MOUNT, 1, "/sdcard"); char path_name[PATH_MAX]; static time_t timep; static struct tm *time_tm; time(&timep); time_tm = gmtime(&timep); return_val_if_fail(miuiIntent_result_get_int() == 0, MENU_BACK); if (RET_YES == miui_confirm(3, p->name, p->desc, p->icon)) { miui_busy_process(); switch(p->result) { case BACKUP_ALL: snprintf(path_name,PATH_MAX, "%s/backup/backup/%02d%02d%02d-%02d%02d", RECOVERY_PATH, time_tm->tm_year, time_tm->tm_mon + 1, time_tm->tm_mday, time_tm->tm_hour, time_tm->tm_min); miuiIntent_send(INTENT_BACKUP, 1, path_name); break; case BACKUP_CACHE: snprintf(path_name,PATH_MAX, "%s/backup/cache/%02d%02d%02d-%02d%02d", RECOVERY_PATH, time_tm->tm_year, time_tm->tm_mon + 1, time_tm->tm_mday, time_tm->tm_hour, time_tm->tm_min); miuiIntent_send(INTENT_ADVANCED_BACKUP, 2 , path_name, "/cache"); break; case BACKUP_DATA: snprintf(path_name,PATH_MAX, "%s/backup/data/%02d%02d%02d-%02d%02d", RECOVERY_PATH, time_tm->tm_year, time_tm->tm_mon + 1, time_tm->tm_mday, time_tm->tm_hour, time_tm->tm_min); miuiIntent_send(INTENT_ADVANCED_BACKUP, 2 , path_name, "/data"); break; case BACKUP_SYSTEM: snprintf(path_name,PATH_MAX, "%s/backup/system/%02d%02d%02d-%02d%02d", RECOVERY_PATH, time_tm->tm_year, time_tm->tm_mon + 1, time_tm->tm_mday, time_tm->tm_hour, time_tm->tm_min); miuiIntent_send(INTENT_ADVANCED_BACKUP, 2 , path_name, "/system"); break; case BACKUP_BOOT: snprintf(path_name,PATH_MAX, "%s/backup/boot/%02d%02d%02d-%02d%02d", RECOVERY_PATH, time_tm->tm_year, time_tm->tm_mon + 1, time_tm->tm_mday, time_tm->tm_hour, time_tm->tm_min); miuiIntent_send(INTENT_ADVANCED_BACKUP, 2 , path_name, "/boot"); break; default: miui_error("p->resulte %d should not be the value\n", p->result); break; } } return MENU_BACK; }
STATUS wipe_item_show(menuUnit *p) { if (RET_YES == miui_confirm(3, p->name, p->desc, p->icon)) { miui_busy_process(); switch(p->result) { case WIPE_FACTORY: miuiIntent_send(INTENT_WIPE, 1, "/cache"); miuiIntent_send(INTENT_WIPE, 1, "/data"); break; case WIPE_DATA: miuiIntent_send(INTENT_WIPE, 1, "/data"); break; case WIPE_CACHE: miuiIntent_send(INTENT_WIPE, 1, "/cache"); break; case WIPE_DALVIK: miuiIntent_send(INTENT_WIPE, 1, "dalvik-cache"); break; case FORMAT_SYSTEM: miuiIntent_send(INTENT_FORMAT, 1, "/system"); break; case FORMAT_DATA: miuiIntent_send(INTENT_FORMAT, 1, "/data"); break; case FORMAT_CACHE: miuiIntent_send(INTENT_FORMAT, 1, "/cache"); break; case FORMAT_BOOT: miuiIntent_send(INTENT_FORMAT, 1, "/boot"); break; case FORMAT_SDCARD: miuiIntent_send(INTENT_FORMAT, 1, "/sdcard"); break; case FORMAT_ALL: miuiIntent_send(INTENT_FORMAT, 1, "/system"); miuiIntent_send(INTENT_FORMAT, 1, "/data"); miuiIntent_send(INTENT_FORMAT, 1, "/cache"); break; default: assert_if_fail(0); break; } } return MENU_BACK; }
STATUS wipe_item_show(menuUnit *p) { #ifdef DUALSYSTEM_PARTITIONS int wipe_system_num; if (is_tdb_enabled()) { if (p->result == WIPE_FACTORY) { if (RET_YES == miui_confirm(5, "<~choose.system.title>", "<~choose.system.text>", "@alert", "<~choice.system0.name>", "<~choice.system1.name>")) { wipe_system_num = 0; } else { wipe_system_num = 1; } } } #endif if (RET_YES == miui_confirm(3, p->name, p->desc, p->icon)) { miui_busy_process(); switch(p->result) { case WIPE_FACTORY: #ifdef DUALSYSTEM_PARTITIONS if (is_tdb_enabled()) { miuiIntent_send(INTENT_MOUNT, 1, "/data"); if (wipe_system_num == 0) { __system("rm -rf /data/system0"); } else { __system("rm -rf /data/system1"); } } else { miuiIntent_send(INTENT_WIPE, 1, "/cache"); miuiIntent_send(INTENT_WIPE, 1, "/data"); } #else miuiIntent_send(INTENT_WIPE, 1, "/cache"); miuiIntent_send(INTENT_WIPE, 1, "/data"); #endif break; case WIPE_DATA: miuiIntent_send(INTENT_WIPE, 1, "/data"); break; case WIPE_CACHE: miuiIntent_send(INTENT_WIPE, 1, "/cache"); break; case WIPE_DALVIK: miuiIntent_send(INTENT_WIPE, 1, "dalvik-cache"); break; case FORMAT_SYSTEM: miuiIntent_send(INTENT_FORMAT, 1, "/system"); break; #ifdef DUALSYSTEM_PARTITIONS case FORMAT_SYSTEM1: miuiIntent_send(INTENT_FORMAT, 1, "/system1"); break; #endif case FORMAT_DATA: miuiIntent_send(INTENT_FORMAT, 1, "/data"); break; case FORMAT_CACHE: miuiIntent_send(INTENT_FORMAT, 1, "/cache"); break; case FORMAT_BOOT: miuiIntent_send(INTENT_FORMAT, 1, "/boot"); break; #ifdef DUALSYSTEM_PARTITIONS case FORMAT_BOOT1: miuiIntent_send(INTENT_FORMAT, 1, "/boot1"); break; #endif case FORMAT_SDCARD: miuiIntent_send(INTENT_FORMAT, 1, "/sdcard"); break; case FORMAT_ALL: miuiIntent_send(INTENT_FORMAT, 1, "/system"); miuiIntent_send(INTENT_FORMAT, 1, "/data"); miuiIntent_send(INTENT_FORMAT, 1, "/cache"); break; default: assert_if_fail(0); break; } } return MENU_BACK; }