//INTENT_TOGGLE toggle usb intentResult* intent_toggle(int argc, char *argv[]) { assert_ui_if_fail(argc == 1); assert_ui_if_fail(argv[0] != NULL); int intent_type = atoi(argv[0]); int result = 0; if (intent_type == 0) { umount_usb(); ensure_path_unmounted("/sdcard"); ensure_path_unmounted("/external_sd"); return miuiIntent_result_set(result, "ok"); } //wait for usb connected //while (is_usb_connected()) ; if (is_usb_connected()) { mount_usb(); return miuiIntent_result_set(result, "mounted"); } LOGE("USB not connect\n"); umount_usb(); ensure_path_unmounted("/sdcard"); ensure_path_unmounted("/external_sd"); return miuiIntent_result_set(result, "ok"); }
static intentResult* intent_advanced_backup(int argc, char* argv[]) { return_intent_result_if_fail(argc == 2); return_intent_result_if_fail(argv != NULL); int result = nandroid_advanced_backup(argv[0], argv[1]); assert_ui_if_fail(result == 0); return miuiIntent_result_set(result, NULL); }
//INTENT_WIPE ,format "/data" | "/cache" | "/system" "/sdcard" static intentResult* intent_format(int argc, char *argv[]) { return_intent_result_if_fail(argc == 1); return_intent_result_if_fail(argv != NULL); int result = format_volume(argv[0]); assert_ui_if_fail(result == 0); return miuiIntent_result_set(result, "ok"); }
/*package nandroid_restore(const char* backup_path, restore_boot, restore_system, restore_data, * restore_cache, restore_sdext, restore_wimax); *INTENT_RESTORE *intent_restore(argc, argv[0],...,argv[6]) */ static intentResult* intent_restore(int argc, char* argv[]) { return_intent_result_if_fail(argc == 7); return_intent_result_if_fail(argv != NULL); int result = nandroid_restore(argv[0], atoi(argv[1]), atoi(argv[2]), atoi(argv[3]), atoi(argv[4]), atoi(argv[5]), atoi(argv[6])); assert_ui_if_fail(result == 0); return miuiIntent_result_set(result, NULL); }
static STATUS mount_child_show(menuUnit *p) { return_val_if_fail(p != NULL, MENU_BACK); intentType intent_type = (p->desc[0] == '0')?INTENT_MOUNT : INTENT_UNMOUNT; switch(p->result) { case MOUNT_CACHE: miuiIntent_send(intent_type, 1, "/cache"); break; case MOUNT_DATA: miuiIntent_send(intent_type, 1, "/data"); break; case MOUNT_SYSTEM: miuiIntent_send(intent_type, 1, "/system"); break; case MOUNT_SDCARD: miuiIntent_send(intent_type, 1, "/sdcard"); break; case MOUNT_SDEXT: miuiIntent_send(intent_type, 1, "/internal_sd"); break; case MOUNT_TOGGLE: { if (intent_type == INTENT_MOUNT) //mount miuiIntent_send(INTENT_TOGGLE, 1, "1"); else //untoggle miuiIntent_send(INTENT_TOGGLE, 1, "0"); break; } default: break; } if(strstr(miuiIntent_result_get_string(), "mounted") != NULL) { menuUnit_set_icon(p, ICON_ENABLE); menuUnit_set_desc(p, MOUNT_DESC_MOUNT); } else if(strstr(miuiIntent_result_get_string(), "ok") != NULL) { menuUnit_set_icon(p, ICON_DISABLE); menuUnit_set_desc(p, MOUNT_DESC_UNMOUNT); } else { assert_ui_if_fail(0); } return MENU_BACK; }
//INTENT_WIPE ,wipe "/data" | "cache" "dalvik-cache" static intentResult* intent_wipe(int argc, char *argv[]) { return_intent_result_if_fail(argc == 1); return_intent_result_if_fail(argv != NULL); int result = 0; if (!strcmp(argv[0], "dalvik-cache")) { ensure_path_mounted("/data"); ensure_path_mounted("/cache"); __system("rm -r /data/dalvik-cache"); __system("rm -r /cache/dalvik-cache"); result = 0; } else result = erase_volume(argv[0]); assert_ui_if_fail(result == 0); return miuiIntent_result_set(result, "ok"); }