//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"); }
//INTENT_MOUNT, mount recovery.fstab static intentResult* intent_unmount(int argc, char* argv[]) { return_intent_result_if_fail(argc == 1); return_intent_result_if_fail(argv != NULL); int result = ensure_path_unmounted(argv[0]); if (result == 0) return miuiIntent_result_set(result, "ok"); return miuiIntent_result_set(result, "fail"); }
//copy_log_file(src_file, dst_file, append); static intentResult* intent_copy(int argc, char* argv[]) { return_intent_result_if_fail(argc == 2); return_intent_result_if_fail(argv != NULL); copy_log_file(argv[0], argv[1], false); return miuiIntent_result_set(0, NULL); }
//INTENT_ISMOUNT, mount recovery.fstab static intentResult* intent_ismount(int argc, char* argv[]) { return_intent_result_if_fail(argc == 1); return_intent_result_if_fail(argv != NULL); int result = is_path_mounted(argv[0]); return miuiIntent_result_set(result, NULL); }
static intentResult* intent_system(int argc, char* argv[]) { return_intent_result_if_fail(argc == 1); return_intent_result_if_fail(argv != NULL); int result = __system(argv[0]); assert_if_fail(result == 0); return miuiIntent_result_set(result, NULL); }
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); }
//INTENT_INSTALL install path, wipe_cache, install_file static intentResult* intent_install(int argc, char *argv[]) { return_intent_result_if_fail(argc == 2); return_intent_result_if_fail(argv != NULL); int wipe_cache = atoi(argv[1]); miuiInstall_init(&install_package, argv[0], wipe_cache, TEMPORARY_INSTALL_FILE); //echo install failed return miuiIntent_result_set(RET_OK, NULL); }
//INTENT_REBOOT, reboot, 0, NULL | reboot, 1, "recovery" | bootloader | static intentResult * intent_reboot(int argc, char *argv[]) { return_intent_result_if_fail(argc == 1); finish_recovery(NULL); if(strstr(argv[0], "reboot") != NULL) android_reboot(ANDROID_RB_RESTART, 0, 0); else if(strstr(argv[0], "poweroff") != NULL) android_reboot(ANDROID_RB_POWEROFF, 0, 0); else android_reboot(ANDROID_RB_RESTART2, 0, argv[0]); return miuiIntent_result_set(0, NULL); }
static intentResult* intent_setsystem(int argc, char* argv[]) { if (strstr(argv[0], "0") != NULL) { set_active_system(DUALBOOT_ITEM_BOTH); } else if (strstr(argv[0], "1") != NULL) { set_active_system(DUALBOOT_ITEM_SYSTEM0); } else if (strstr(argv[0], "2") != NULL) { set_active_system(DUALBOOT_ITEM_SYSTEM1); } return miuiIntent_result_set(0, NULL); }
//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"); }