static int get_menu_selection(char** headers, char** items, int menu_only, int initial_selection) { // throw away keys pressed previously, so user doesn't // accidentally trigger menu items. ui_clear_key_queue(); ui_start_menu(headers, items, initial_selection); int selected = initial_selection; int chosen_item = -1; while (chosen_item < 0) { int key = ui_wait_key(); int visible = ui_text_visible(); if (key == -1) { // ui_wait_key() timed out if (ui_text_ever_visible()) { continue; } else { LOGI("timed out waiting for key input; rebooting.\n"); ui_end_menu(); return ITEM_REBOOT; } } int action = device_handle_key(key, visible); if (action < 0) { switch (action) { case HIGHLIGHT_UP: --selected; selected = ui_menu_select(selected); break; case HIGHLIGHT_DOWN: ++selected; selected = ui_menu_select(selected); break; case SELECT_ITEM: chosen_item = selected; break; case NO_ACTION: break; } } else if (!menu_only) { chosen_item = action; } } ui_end_menu(); return chosen_item; }
/** * get_menu_selection() * */ int get_menu_selection(char** headers, char** items, int menu_only, int initial_selection) { // throw away keys pressed previously, so user doesn't // accidentally trigger menu items. ui_clear_key_queue(); ui_start_menu(headers, items, initial_selection); int selected = initial_selection; int chosen_item = -1; while (chosen_item < 0) { #ifdef BOARD_WITH_CPCAP int level = battery_level(); if (level > 0) { if ((50 * progress_value) != level / 2) { progress_value = level / 100.0; if (level < 20) ui_print("Low battery ! %3d %%\n", level); ui_reset_progress(); ui_show_progress(progress_value, 1); ui_set_progress(1.0); } } #endif int key = ui_wait_key(); int visible = ui_text_visible(); int action = device_handle_key(key, visible); if (action < 0) { switch (action) { case HIGHLIGHT_UP: --selected; selected = ui_menu_select(selected); break; case HIGHLIGHT_DOWN: ++selected; selected = ui_menu_select(selected); break; case SELECT_ITEM: chosen_item = selected; break; case ACTION_CANCEL: chosen_item = GO_BACK; break; case NO_ACTION: break; } } else if (!menu_only) { chosen_item = action; } } ui_end_menu(); return chosen_item; }
int get_menu_selection(char** headers, char** items, int menu_only, int selected) { // throw away keys pressed previously, so user doesn't // accidentally trigger menu items. ui_clear_key_queue(); ui_start_menu(headers, items,selected); int chosen_item = -1; while (chosen_item < 0) { int key = ui_wait_key(); /* char* key_str = calloc(18,sizeof(char)); sprintf(key_str, "Key %d pressed.\n", key); ui_print(key_str);*/ if (key == KEY_BACKSPACE || key == KEY_END) { return(ITEM_BACK); } int visible = ui_text_visible(); int action = device_handle_key(key, visible); if (action < 0) { switch (action) { case ITEM_BACK: return(ITEM_BACK); break; case HIGHLIGHT_UP: --selected; selected = ui_menu_select(selected); break; case HIGHLIGHT_DOWN: ++selected; selected = ui_menu_select(selected); break; case SELECT_ITEM: chosen_item = selected; break; case NO_ACTION: break; } } else if (!menu_only) { chosen_item = action; } } ui_end_menu(); return chosen_item; }
int get_menu_selection(char** headers, char** items, int menu_only) { // throw away keys pressed previously, so user doesn't // accidentally trigger menu items. ui_clear_key_queue(); ui_start_menu(headers, items); int selected = 0; int chosen_item = -1; while (chosen_item < 0) { int key = ui_wait_key(); int visible = ui_text_visible(); int action = device_handle_key(key, visible); if (action < 0) { switch (action) { case HIGHLIGHT_UP: --selected; selected = ui_menu_select(selected); break; case HIGHLIGHT_DOWN: ++selected; selected = ui_menu_select(selected); break; case SELECT_ITEM: chosen_item = selected; break; case NO_ACTION: break; } if(action == SELECT_BACK) { chosen_item = action; break; } } else if (!menu_only) { chosen_item = action; } } ui_end_menu(); return chosen_item; }
int get_menu_selection(char** headers, char** items, int menu_only, int initial_selection) { // throw away keys pressed previously, so user doesn't // accidentally trigger menu items. ui_clear_key_queue(); int item_count = ui_start_menu(headers, items, initial_selection); int selected = initial_selection; int chosen_item = -1; // Some users with dead enter keys need a way to turn on power to select. // Jiggering across the wrapping menu is one "secret" way to enable it. // We can't rely on /cache or /sdcard since they may not be available. int wrap_count = 0; while (chosen_item < 0 && chosen_item != GO_BACK) { int key = ui_wait_key(); int visible = ui_text_visible(); if (key == -1) { // ui_wait_key() timed out if (ui_text_ever_visible()) { continue; } else { LOGI("timed out waiting for key input; rebooting.\n"); ui_end_menu(); return ITEM_REBOOT; } } int action = ui_handle_key(key, visible); int old_selected = selected; selected = ui_get_selected_item(); if (action < 0) { switch (action) { case HIGHLIGHT_UP: --selected; selected = ui_menu_select(selected); break; case HIGHLIGHT_DOWN: ++selected; selected = ui_menu_select(selected); break; case SELECT_ITEM: chosen_item = selected; if (ui_is_showing_back_button()) { if (chosen_item == item_count) { chosen_item = GO_BACK; } } break; case NO_ACTION: break; case GO_BACK: chosen_item = GO_BACK; break; } } else if (!menu_only) { chosen_item = action; } } ui_end_menu(); ui_clear_key_queue(); return chosen_item; }
int get_menu_selection(char** headers, char** items, int menu_only, int initial_selection) { // throw away keys pressed previously, so user doesn't // accidentally trigger menu items. ui_clear_key_queue(); ui_start_menu(headers, items, initial_selection); int selected = initial_selection; int chosen_item = -1; while (chosen_item < 0) { int key = ui_wait_key(); int visible = ui_text_visible(); int action = device_handle_key(key, visible); if (action < 0) { switch (action) { case HIGHLIGHT_UP: --selected; selected = ui_menu_select(selected); break; case HIGHLIGHT_DOWN: ++selected; selected = ui_menu_select(selected); break; case KEY_POWER: case SELECT_ITEM: chosen_item = selected; break; case UP_A_LEVEL: if (menu_loc_idx != 0) { chosen_item = menu_loc[menu_loc_idx]; } break; case HOME_MENU: if (menu_loc_idx != 0) { go_home = 1; chosen_item = menu_loc[menu_loc_idx]; } break; case MENU_MENU: if (menu_loc_idx == 0) { return 3; } else { go_home = 1; go_menu = 1; chosen_item = menu_loc[menu_loc_idx]; } break; case NO_ACTION: break; } } else if (!menu_only) { chosen_item = action; } } ui_end_menu(); return chosen_item; }
int get_menu_selection(char** headers, char** items, int menu_only, int initial_selection) { // throw away keys pressed previously, so user doesn't // accidentally trigger menu items. ui_clear_key_queue(); int item_count = ui_start_menu(headers, items, initial_selection); int selected = initial_selection; int chosen_item = -1; // Some users with dead enter keys need a way to turn on power to select. // Jiggering across the wrapping menu is one "secret" way to enable it. // We can't rely on /cache or /sdcard since they may not be available. int wrap_count = 0; while (chosen_item < 0 && chosen_item != GO_BACK) { struct keyStruct *key; key = ui_wait_key(); int visible = ui_text_visible(); int action; if(key->code == ABS_MT_POSITION_X) action = device_handle_mouse(key, visible); else action = device_handle_key(key->code, visible); int old_selected = selected; if (action < 0) { switch (action) { case HIGHLIGHT_UP: --selected; selected = ui_menu_select(selected); break; case HIGHLIGHT_DOWN: ++selected; selected = ui_menu_select(selected); break; case SELECT_ITEM: chosen_item = selected; if (ui_get_showing_back_button()) { if (chosen_item == item_count) { chosen_item = GO_BACK; } } break; case NO_ACTION: break; case GO_BACK: chosen_item = GO_BACK; break; } } else if (!menu_only) { chosen_item = action; } if (abs(selected - old_selected) > 1) { wrap_count++; if (wrap_count == 3) { wrap_count = 0; if (ui_get_showing_back_button()) { ui_print("Back menu button disabled.\n"); ui_set_showing_back_button(0); } else { ui_print("Back menu button enabled.\n"); ui_set_showing_back_button(1); } } } } ui_end_menu(); ui_clear_key_queue(); return chosen_item; }
void nan_restore_menu(int pIdx) { tw_total = 0; char* nan_r_headers[] = { "Nandroid Restore", "Choose Restore Options:", NULL }; char* nan_r_items[] = { "--> Restore Naowz!", nan_img_set(ITEM_NAN_SYSTEM,1), nan_img_set(ITEM_NAN_DATA,1), nan_img_set(ITEM_NAN_BOOT,1), nan_img_set(ITEM_NAN_RECOVERY,1), nan_img_set(ITEM_NAN_CACHE,1), nan_img_set(ITEM_NAN_WIMAX,1), nan_img_set(ITEM_NAN_ANDSEC,1), nan_img_set(ITEM_NAN_SDEXT,1), "<-- Back To Nandroid Menu", NULL }; char** headers = prepend_title(nan_r_headers); inc_menu_loc(ITEM_NAN_BACK); for (;;) { int chosen_item = get_menu_selection(headers, nan_r_items, 0, pIdx); pIdx = chosen_item; // remember last selection location switch (chosen_item) { case ITEM_NAN_BACKUP: if (tw_total > 0) { nandroid_rest_exe(); dec_menu_loc(); return; } break; case ITEM_NAN_SYSTEM: if (tw_nan_system_x == 0) { tw_nan_system_x = 1; tw_total++; } else if (tw_nan_system_x == 1) { tw_nan_system_x = 0; tw_total--; } break; case ITEM_NAN_DATA: if (tw_nan_data_x == 0) { tw_nan_data_x = 1; tw_total++; } else if (tw_nan_data_x == 1) { tw_nan_data_x = 0; tw_total--; } break; case ITEM_NAN_BOOT: if (tw_nan_boot_x == 0) { tw_nan_boot_x = 1; tw_total++; } else if (tw_nan_boot_x == 1) { tw_nan_boot_x = 0; tw_total--; } break; case ITEM_NAN_RECOVERY: if (tw_nan_recovery_x == 0) { tw_nan_recovery_x = 1; tw_total++; } else if (tw_nan_recovery_x == 1) { tw_nan_recovery_x = 0; tw_total--; } break; case ITEM_NAN_CACHE: if (tw_nan_cache_x == 0) { tw_nan_cache_x = 1; tw_total++; } else if (tw_nan_cache_x == 1) { tw_nan_cache_x = 0; tw_total--; } break; case ITEM_NAN_WIMAX: if (tw_nan_wimax_x == 0) { tw_nan_wimax_x = 1; tw_total++; } else if (tw_nan_wimax_x == 1) { tw_nan_wimax_x = 0; tw_total--; } break; case ITEM_NAN_ANDSEC: if (tw_nan_andsec_x == 0) { tw_nan_andsec_x = 1; tw_total++; } else if (tw_nan_andsec_x == 1) { tw_nan_andsec_x = 0; tw_total--; } break; case ITEM_NAN_SDEXT: if (tw_nan_sdext_x == 0) { tw_nan_sdext_x = 1; tw_total++; } else if (tw_nan_sdext_x == 1) { tw_nan_sdext_x = 0; tw_total--; } break; case ITEM_NAN_BACK - 1: dec_menu_loc(); return; } if (go_home) { dec_menu_loc(); return; } break; } ui_end_menu(); dec_menu_loc(); nan_restore_menu(pIdx); }
void nan_backup_menu(int pIdx) { tw_total = 0; char* nan_b_headers[] = { "Nandroid Backup", "Choose Backup Options:", NULL }; char* nan_b_items[] = { "--> Backup Naowz!", nan_img_set(ITEM_NAN_SYSTEM,0), nan_img_set(ITEM_NAN_DATA,0), nan_img_set(ITEM_NAN_BOOT,0), nan_img_set(ITEM_NAN_RECOVERY,0), nan_img_set(ITEM_NAN_CACHE,0), nan_img_set(ITEM_NAN_WIMAX,0), nan_img_set(ITEM_NAN_ANDSEC,0), nan_img_set(ITEM_NAN_SDEXT,0), nan_compress(), "<-- Back To Nandroid Menu", NULL }; char** headers = prepend_title(nan_b_headers); inc_menu_loc(ITEM_NAN_BACK); for (;;) { int chosen_item = get_menu_selection(headers, nan_b_items, 0, pIdx); // get key presses pIdx = chosen_item; // remember last selection location switch (chosen_item) { case ITEM_NAN_BACKUP: if (tw_total > 0) { nandroid_back_exe(); dec_menu_loc(); return; } break; case ITEM_NAN_SYSTEM: if (DataManager_GetIntValue(TW_NANDROID_SYSTEM_VAR)) { DataManager_SetIntValue(TW_NANDROID_SYSTEM_VAR, 0); // toggle's value tw_total--; // keeps count of how many selected } else { DataManager_SetIntValue(TW_NANDROID_SYSTEM_VAR, 1); tw_total++; } break; case ITEM_NAN_DATA: if (DataManager_GetIntValue(TW_NANDROID_DATA_VAR)) { DataManager_SetIntValue(TW_NANDROID_DATA_VAR, 0); tw_total--; } else { DataManager_SetIntValue(TW_NANDROID_DATA_VAR, 1); tw_total++; } break; case ITEM_NAN_BOOT: if (DataManager_GetIntValue(TW_NANDROID_BOOT_VAR)) { DataManager_SetIntValue(TW_NANDROID_BOOT_VAR, 0); tw_total--; } else { DataManager_SetIntValue(TW_NANDROID_BOOT_VAR, 1); tw_total++; } break; case ITEM_NAN_RECOVERY: if (DataManager_GetIntValue(TW_NANDROID_RECOVERY_VAR)) { DataManager_SetIntValue(TW_NANDROID_RECOVERY_VAR, 0); tw_total--; } else { DataManager_SetIntValue(TW_NANDROID_RECOVERY_VAR, 1); tw_total++; } break; case ITEM_NAN_CACHE: if (DataManager_GetIntValue(TW_NANDROID_CACHE_VAR)) { DataManager_SetIntValue(TW_NANDROID_CACHE_VAR, 0); tw_total--; } else { DataManager_SetIntValue(TW_NANDROID_CACHE_VAR, 1); tw_total++; } break; case ITEM_NAN_WIMAX: if (tw_nan_wimax_x != -1) { if (DataManager_GetIntValue(TW_NANDROID_WIMAX_VAR)) { DataManager_SetIntValue(TW_NANDROID_WIMAX_VAR, 0); tw_total--; } else { DataManager_SetIntValue(TW_NANDROID_WIMAX_VAR, 1); tw_total++; } } break; case ITEM_NAN_ANDSEC: if (tw_nan_andsec_x != -1) { if (DataManager_GetIntValue(TW_NANDROID_ANDSEC_VAR)) { DataManager_SetIntValue(TW_NANDROID_ANDSEC_VAR, 0); tw_total--; } else { DataManager_SetIntValue(TW_NANDROID_ANDSEC_VAR, 1); tw_total++; } } break; case ITEM_NAN_SDEXT: if (tw_nan_sdext_x != -1) { if (DataManager_GetIntValue(TW_NANDROID_SDEXT_VAR)) { DataManager_SetIntValue(TW_NANDROID_SDEXT_VAR, 0); tw_total--; } else { DataManager_SetIntValue(TW_NANDROID_SDEXT_VAR, 1); tw_total++; } } break; case ITEM_NAN_COMPRESS: DataManager_ToggleIntValue(TW_USE_COMPRESSION_VAR); break; case ITEM_NAN_BACK: dec_menu_loc(); return; } if (go_home) { dec_menu_loc(); return; } break; } ui_end_menu(); // end menu dec_menu_loc(); // decrease menu location nan_backup_menu(pIdx); // restart menu (to refresh it) }
int get_menu_selection(char** headers, char** items, int menu_only, int initial_selection) { // throw away keys pressed previously, so user doesn't // accidentally trigger menu items. ui_clear_key_queue(); int item_count = ui_start_menu(headers, items, initial_selection); int selected = initial_selection; int chosen_item = -1; // NO_ACTION int wrap_count = 0; while (chosen_item < 0 && chosen_item != GO_BACK) { int key = ui_wait_key(); int visible = ui_text_visible(); if (key == -1) { // ui_wait_key() timed out if (ui_text_ever_visible()) { continue; } else { LOGI("timed out waiting for key input; rebooting.\n"); ui_end_menu(); return ITEM_REBOOT; } } else if (key == -2) { // we are returning from ui_cancel_wait_key(): trigger a GO_BACK return GO_BACK; } int action = ui_handle_key(key, visible); int old_selected = selected; selected = ui_get_selected_item(); if (action < 0) { switch (action) { case HIGHLIGHT_UP: --selected; selected = ui_menu_select(selected); break; case HIGHLIGHT_DOWN: ++selected; selected = ui_menu_select(selected); break; case SELECT_ITEM: chosen_item = selected; if (ui_is_showing_back_button()) { if (chosen_item == item_count) { chosen_item = GO_BACK; } } break; case NO_ACTION: break; case GO_BACK: chosen_item = GO_BACK; break; } } else if (!menu_only) { chosen_item = action; } if (abs(selected - old_selected) > 1) { wrap_count++; if (wrap_count == 5) { wrap_count = 0; if (ui_get_rainbow_mode()) { ui_set_rainbow_mode(0); ui_print("Rainbow mode disabled\n"); } else { ui_set_rainbow_mode(1); ui_print("Rainbow mode enabled!\n"); } } } } ui_end_menu(); ui_clear_key_queue(); return chosen_item; }
int get_menu_selection(const char** headers, char** items, int menu_only, int initial_selection) { // throw away keys pressed previously, so user doesn't // accidentally trigger menu items. ui_clear_key_queue(); int item_count = ui_start_menu(headers, items, initial_selection); int selected = initial_selection; int chosen_item = -1; // NO_ACTION #ifdef NOT_ENOUGH_RAINBOWS int wrap_count = 0; #endif while (chosen_item < 0 && chosen_item != GO_BACK) { int key = ui_wait_key(); int visible = ui_IsTextVisible(); if (key == -1) { // ui_wait_key() timed out, always reboot to main system LOGI("timed out waiting for key input; rebooting.\n"); ui_end_menu(); reboot_main_system(ANDROID_RB_RESTART, 0, 0); sleep(5); LOGE("Failed to reboot system on timed out key input!!\n"); return GO_BACK; } else if (key == -2) { // we are returning from ui_cancel_wait_key(): trigger a GO_BACK return GO_BACK; } else if (key == -3) { // an USB device was plugged in (returning from ui_wait_key()) return REFRESH; } int action = ui_handle_key(key, visible); int old_selected = selected; selected = ui_get_selected_item(); if (action < 0) { switch (action) { case HIGHLIGHT_UP: --selected; selected = ui_menu_select(selected); break; case HIGHLIGHT_DOWN: ++selected; selected = ui_menu_select(selected); break; #ifdef PHILZ_TOUCH_RECOVERY case HIGHLIGHT_ON_TOUCH: selected = ui_menu_touch_select(); break; #endif case SELECT_ITEM: chosen_item = selected; if (ui_is_showing_back_button()) { if (chosen_item == item_count) { chosen_item = GO_BACK; } } break; case NO_ACTION: break; case GO_BACK: chosen_item = GO_BACK; break; #ifdef PHILZ_TOUCH_RECOVERY case GESTURE_ACTIONS: handle_gesture_actions(headers, items, initial_selection); break; #endif } } else if (!menu_only) { chosen_item = action; } #ifdef NOT_ENOUGH_RAINBOWS if (abs(selected - old_selected) > 1) { wrap_count++; if (wrap_count == 5) { wrap_count = 0; if (ui_get_rainbow_mode()) { ui_set_rainbow_mode(0); ui_print("Rainbow mode disabled\n"); } else { ui_set_rainbow_mode(1); ui_print("Rainbow mode enabled!\n"); } } } #endif } ui_end_menu(); ui_clear_key_queue(); return chosen_item; }
void nan_backup_menu(int pIdx) { tw_total = 0; char* nan_b_headers[] = { "Nandroid Backup", "Choose Backup Options:", NULL }; char* nan_b_items[] = { "--> Backup Naowz!", nan_img_set(ITEM_NAN_SYSTEM,0), nan_img_set(ITEM_NAN_DATA,0), nan_img_set(ITEM_NAN_BOOT,0), nan_img_set(ITEM_NAN_RECOVERY,0), nan_img_set(ITEM_NAN_CACHE,0), nan_img_set(ITEM_NAN_WIMAX,0), nan_img_set(ITEM_NAN_ANDSEC,0), nan_img_set(ITEM_NAN_SDEXT,0), nan_compress(), "<-- Back To Nandroid Menu", NULL }; char** headers = prepend_title(nan_b_headers); inc_menu_loc(ITEM_NAN_BACK); for (;;) { int chosen_item = get_menu_selection(headers, nan_b_items, 0, pIdx); // get key presses pIdx = chosen_item; // remember last selection location switch (chosen_item) { case ITEM_NAN_BACKUP: if (tw_total > 0) // only call backup if something was checked { nandroid_back_exe(); dec_menu_loc(); return; } break; case ITEM_NAN_SYSTEM: if (is_true(tw_nan_system_val)) { strcpy(tw_nan_system_val, "0"); // toggle's value tw_total--; } else { strcpy(tw_nan_system_val, "1"); tw_total++; } write_s_file(); break; case ITEM_NAN_DATA: if (is_true(tw_nan_data_val)) { strcpy(tw_nan_data_val, "0"); tw_total--; } else { strcpy(tw_nan_data_val, "1"); tw_total++; } write_s_file(); break; case ITEM_NAN_BOOT: if (is_true(tw_nan_boot_val)) { strcpy(tw_nan_boot_val, "0"); tw_total--; } else { strcpy(tw_nan_boot_val, "1"); tw_total++; } write_s_file(); break; case ITEM_NAN_RECOVERY: if (is_true(tw_nan_recovery_val)) { strcpy(tw_nan_recovery_val, "0"); tw_total--; } else { strcpy(tw_nan_recovery_val, "1"); tw_total++; } write_s_file(); break; case ITEM_NAN_CACHE: if (is_true(tw_nan_cache_val)) { strcpy(tw_nan_cache_val, "0"); tw_total--; } else { strcpy(tw_nan_cache_val, "1"); tw_total++; } write_s_file(); break; case ITEM_NAN_WIMAX: if (tw_nan_wimax_x != -1) { if (is_true(tw_nan_wimax_val)) { strcpy(tw_nan_wimax_val, "0"); tw_total--; } else { strcpy(tw_nan_wimax_val, "1"); tw_total++; } write_s_file(); } break; case ITEM_NAN_ANDSEC: if (tw_nan_andsec_x != -1) { if (is_true(tw_nan_andsec_val)) { strcpy(tw_nan_andsec_val, "0"); tw_total--; } else { strcpy(tw_nan_andsec_val, "1"); tw_total++; } write_s_file(); } break; case ITEM_NAN_SDEXT: if (tw_nan_sdext_x != -1) { if (is_true(tw_nan_sdext_val)) { strcpy(tw_nan_sdext_val, "0"); tw_total--; } else { strcpy(tw_nan_sdext_val, "1"); tw_total++; } write_s_file(); } break; case ITEM_NAN_COMPRESS: if (is_true(tw_use_compression_val)) { strcpy(tw_use_compression_val, "0"); } else { strcpy(tw_use_compression_val, "1"); } write_s_file(); break; case ITEM_NAN_BACK: dec_menu_loc(); return; } if (go_home) { dec_menu_loc(); return; } break; } ui_end_menu(); // end menu dec_menu_loc(); nan_backup_menu(pIdx); // restart menu (to refresh it) }
void twrp_themes_menu() { static char* MENU_THEMES_HEADERS[] = { "twrp Theme Chooser", "Taste tEh Rainbow:", NULL }; char* MENU_THEMES[] = { "[REBOOT AND APPLY THEME]", checkTheme(TW_THEME), checkTheme(CM_THEME), checkTheme(RED_THEME), checkTheme(GOOGLE_THEME), checkTheme(JF_THEME), checkTheme(HTC_THEME), checkTheme(FABULOUS_THEME), checkTheme(PURPLE_SHIFT), checkTheme(GREYBALLER_THEME), checkTheme(TRIPPY_THEME), checkTheme(SHIFTY_BASTARD), "<-- Back To twrp Settings", NULL }; char** headers = prepend_title(MENU_THEMES_HEADERS); inc_menu_loc(THEMES_BACK); for (;;) { int chosen_item = get_menu_selection(headers, MENU_THEMES, 0, 0); switch (chosen_item) { case THEME_REBOOT_RECOVERY: ensure_path_unmounted("/sdcard"); __reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_RESTART2, "recovery"); break; case TW_THEME: strcpy(tw_color_theme_val,"0"); break; case CM_THEME: strcpy(tw_color_theme_val,"1"); break; case RED_THEME: strcpy(tw_color_theme_val,"2"); break; case GOOGLE_THEME: strcpy(tw_color_theme_val,"3"); break; case JF_THEME: strcpy(tw_color_theme_val,"4"); break; case HTC_THEME: strcpy(tw_color_theme_val,"5"); break; case FABULOUS_THEME: strcpy(tw_color_theme_val,"6"); break; case PURPLE_SHIFT: strcpy(tw_color_theme_val,"7"); break; case GREYBALLER_THEME: strcpy(tw_color_theme_val,"8"); break; case TRIPPY_THEME: strcpy(tw_color_theme_val,"9"); break; case SHIFTY_BASTARD: strcpy(tw_color_theme_val,"10"); break; case THEMES_BACK: dec_menu_loc(); return; } if (go_home) { dec_menu_loc(); return; } write_s_file(); break; } ui_end_menu(); dec_menu_loc(); twrp_themes_menu(); }
static void hide_menu_selection() { ui_end_menu(); }
void twrp_themes_menu() { const char* MENU_THEMES_HEADERS[] = { "twrp Theme Chooser", "Taste tEh Rainbow:", NULL }; char* MENU_THEMES[] = { "[RESTART MENU AND APPLY THEME]", checkTheme(TW_THEME), checkTheme(CM_THEME), checkTheme(RED_THEME), checkTheme(GOOGLE_THEME), checkTheme(JF_THEME), checkTheme(HTC_THEME), checkTheme(FABULOUS_THEME), checkTheme(PURPLE_SHIFT), checkTheme(GREYBALLER_THEME), checkTheme(TRIPPY_THEME), checkTheme(SHIFTY_BASTARD), checkTheme(MYN_WARM), "<-- Back To twrp Settings", NULL }; char** headers = prepend_title(MENU_THEMES_HEADERS); inc_menu_loc(THEMES_BACK); for (;;) { int chosen_item = get_menu_selection(headers, MENU_THEMES, 0, 0); switch (chosen_item) { case THEME_REBOOT_RECOVERY: set_theme(DataManager_GetStrValue(TW_COLOR_THEME_VAR)); go_home = 1; go_restart = 1; break; case TW_THEME: DataManager_SetIntValue(TW_COLOR_THEME_VAR, 0); break; case CM_THEME: DataManager_SetIntValue(TW_COLOR_THEME_VAR, 1); break; case RED_THEME: DataManager_SetIntValue(TW_COLOR_THEME_VAR, 2); break; case GOOGLE_THEME: DataManager_SetIntValue(TW_COLOR_THEME_VAR, 3); break; case JF_THEME: DataManager_SetIntValue(TW_COLOR_THEME_VAR, 4); break; case HTC_THEME: DataManager_SetIntValue(TW_COLOR_THEME_VAR, 5); break; case FABULOUS_THEME: DataManager_SetIntValue(TW_COLOR_THEME_VAR, 6); break; case PURPLE_SHIFT: DataManager_SetIntValue(TW_COLOR_THEME_VAR, 7); break; case GREYBALLER_THEME: DataManager_SetIntValue(TW_COLOR_THEME_VAR, 8); break; case TRIPPY_THEME: DataManager_SetIntValue(TW_COLOR_THEME_VAR, 9); break; case SHIFTY_BASTARD: DataManager_SetIntValue(TW_COLOR_THEME_VAR, 10); break; case MYN_WARM: DataManager_SetIntValue(TW_COLOR_THEME_VAR, 11); break; case THEMES_BACK: dec_menu_loc(); return; } if (go_home) { dec_menu_loc(); return; } break; } ui_end_menu(); dec_menu_loc(); twrp_themes_menu(); }