mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-14 14:58:36 -07:00
BLE Spam SwiftPair display name menu
This commit is contained in:
@@ -47,8 +47,71 @@ static void swiftpair_make_packet(uint8_t* _size, uint8_t** _packet, const Proto
|
||||
*_packet = packet;
|
||||
}
|
||||
|
||||
enum {
|
||||
ConfigDisplayName,
|
||||
};
|
||||
|
||||
static void config_callback(void* _ctx, uint32_t index) {
|
||||
Ctx* ctx = _ctx;
|
||||
scene_manager_set_scene_state(ctx->scene_manager, SceneConfig, index);
|
||||
switch(index) {
|
||||
case ConfigDisplayName:
|
||||
scene_manager_next_scene(ctx->scene_manager, SceneSwiftpairDisplayName);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static uint8_t swiftpair_config_list(Ctx* ctx) {
|
||||
SwiftpairCfg* cfg = &ctx->attack->payload.cfg.swiftpair;
|
||||
VariableItemList* list = ctx->variable_item_list;
|
||||
uint8_t item_count = 0;
|
||||
VariableItem* item;
|
||||
|
||||
item_count++;
|
||||
item = variable_item_list_add(list, "Display Name", 0, NULL, NULL);
|
||||
variable_item_set_current_value_text(
|
||||
item, cfg->display_name[0] != '\0' ? cfg->display_name : "Random");
|
||||
|
||||
variable_item_list_set_enter_callback(list, config_callback, ctx);
|
||||
|
||||
return item_count;
|
||||
}
|
||||
|
||||
const Protocol protocol_swiftpair = {
|
||||
.icon = &I_windows,
|
||||
.get_name = swiftpair_get_name,
|
||||
.make_packet = swiftpair_make_packet,
|
||||
.config_list = swiftpair_config_list,
|
||||
};
|
||||
|
||||
static void display_name_callback(void* _ctx) {
|
||||
Ctx* ctx = _ctx;
|
||||
scene_manager_previous_scene(ctx->scene_manager);
|
||||
}
|
||||
|
||||
void scene_swiftpair_display_name_on_enter(void* _ctx) {
|
||||
Ctx* ctx = _ctx;
|
||||
SwiftpairCfg* cfg = &ctx->attack->payload.cfg.swiftpair;
|
||||
TextInput* text_input = ctx->text_input;
|
||||
text_input_reset(text_input);
|
||||
|
||||
text_input_set_header_text(text_input, "Leave empty for random");
|
||||
|
||||
text_input_set_result_callback(
|
||||
text_input, display_name_callback, ctx, cfg->display_name, sizeof(cfg->display_name), true);
|
||||
|
||||
text_input_set_minimum_length(text_input, 0);
|
||||
|
||||
view_dispatcher_switch_to_view(ctx->view_dispatcher, ViewTextInput);
|
||||
}
|
||||
|
||||
bool scene_swiftpair_display_name_on_event(void* _ctx, SceneManagerEvent event) {
|
||||
UNUSED(_ctx);
|
||||
UNUSED(event);
|
||||
return false;
|
||||
}
|
||||
|
||||
void scene_swiftpair_display_name_on_exit(void* _ctx) {
|
||||
UNUSED(_ctx);
|
||||
}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
ADD_SCENE(swiftpair_display_name, SwiftpairDisplayName)
|
||||
|
||||
Reference in New Issue
Block a user