This commit is contained in:
Willy-JL
2023-02-03 17:46:32 +00:00
parent 32792e5155
commit 72935579e6
11 changed files with 59 additions and 65 deletions

View File

@@ -17,8 +17,8 @@ void archive_set_file_type(ArchiveFile_t* file, const char* path, bool is_folder
if((known_ext[i][0] == '?') || (known_ext[i][0] == '*')) continue; if((known_ext[i][0] == '?') || (known_ext[i][0] == '*')) continue;
if(furi_string_search(file->path, known_ext[i], 0) != FURI_STRING_FAILURE) { if(furi_string_search(file->path, known_ext[i], 0) != FURI_STRING_FAILURE) {
if(i == ArchiveFileTypeBadKb) { if(i == ArchiveFileTypeBadKb) {
if(furi_string_search( if(furi_string_search(file->path, archive_get_default_path(ArchiveTabBadKb)) ==
file->path, archive_get_default_path(ArchiveTabBadKb)) == 0) { 0) {
file->type = i; file->type = i;
return; // *.txt file is a BadKB script only if it is in BadKB folder return; // *.txt file is a BadKB script only if it is in BadKB folder
} }

View File

@@ -112,10 +112,14 @@ BadKbApp* bad_kb_app_alloc(char* arg) {
app->var_item_list_bt = variable_item_list_alloc(); app->var_item_list_bt = variable_item_list_alloc();
view_dispatcher_add_view( view_dispatcher_add_view(
app->view_dispatcher, BadKbAppViewConfigBt, variable_item_list_get_view(app->var_item_list_bt)); app->view_dispatcher,
BadKbAppViewConfigBt,
variable_item_list_get_view(app->var_item_list_bt));
app->var_item_list_usb = variable_item_list_alloc(); app->var_item_list_usb = variable_item_list_alloc();
view_dispatcher_add_view( view_dispatcher_add_view(
app->view_dispatcher, BadKbAppViewConfigUsb, variable_item_list_get_view(app->var_item_list_usb)); app->view_dispatcher,
BadKbAppViewConfigUsb,
variable_item_list_get_view(app->var_item_list_usb));
app->bad_kb_view = bad_kb_alloc(); app->bad_kb_view = bad_kb_alloc();
view_dispatcher_add_view( view_dispatcher_add_view(
@@ -192,7 +196,6 @@ void bad_kb_app_free(BadKbApp* app) {
furi_hal_bt_set_profile_mac_addr(FuriHalBtProfileHidKeyboard, app->bt_old_config.mac); furi_hal_bt_set_profile_mac_addr(FuriHalBtProfileHidKeyboard, app->bt_old_config.mac);
} }
// Close records // Close records
furi_record_close(RECORD_GUI); furi_record_close(RECORD_GUI);
furi_record_close(RECORD_NOTIFICATION); furi_record_close(RECORD_NOTIFICATION);

View File

@@ -31,16 +31,14 @@ void bad_kb_scene_config_bt_on_enter(void* context) {
variable_item_set_current_value_index(item, bad_kb->is_bt); variable_item_set_current_value_index(item, bad_kb->is_bt);
variable_item_set_current_value_text(item, bad_kb->is_bt ? "BT" : "USB"); variable_item_set_current_value_text(item, bad_kb->is_bt ? "BT" : "USB");
item = variable_item_list_add( item = variable_item_list_add(var_item_list, "Keyboard layout", 0, NULL, bad_kb);
var_item_list, "Keyboard layout", 0, NULL, bad_kb);
item = variable_item_list_add( item = variable_item_list_add(var_item_list, "Change adv name", 0, NULL, bad_kb);
var_item_list, "Change adv name", 0, NULL, bad_kb);
item = variable_item_list_add( item = variable_item_list_add(var_item_list, "Change MAC address", 0, NULL, bad_kb);
var_item_list, "Change MAC address", 0, NULL, bad_kb);
variable_item_list_set_enter_callback(var_item_list, bad_kb_scene_config_bt_var_item_list_callback, bad_kb); variable_item_list_set_enter_callback(
var_item_list, bad_kb_scene_config_bt_var_item_list_callback, bad_kb);
view_dispatcher_switch_to_view(bad_kb->view_dispatcher, BadKbAppViewConfigBt); view_dispatcher_switch_to_view(bad_kb->view_dispatcher, BadKbAppViewConfigBt);
} }
@@ -56,7 +54,8 @@ bool bad_kb_scene_config_bt_on_event(void* context, SceneManagerEvent event) {
scene_manager_next_scene(bad_kb->scene_manager, BadKbSceneConfigLayout); scene_manager_next_scene(bad_kb->scene_manager, BadKbSceneConfigLayout);
} else if(event.event == VarItemListIndexConnection) { } else if(event.event == VarItemListIndexConnection) {
bad_kb_script_close(bad_kb->bad_kb_script); bad_kb_script_close(bad_kb->bad_kb_script);
bad_kb->bad_kb_script = bad_kb_script_open(bad_kb->file_path, bad_kb->is_bt ? bad_kb->bt : NULL); bad_kb->bad_kb_script =
bad_kb_script_open(bad_kb->file_path, bad_kb->is_bt ? bad_kb->bt : NULL);
bad_kb_script_set_keyboard_layout(bad_kb->bad_kb_script, bad_kb->keyboard_layout); bad_kb_script_set_keyboard_layout(bad_kb->bad_kb_script, bad_kb->keyboard_layout);
scene_manager_previous_scene(bad_kb->scene_manager); scene_manager_previous_scene(bad_kb->scene_manager);
if(bad_kb->is_bt) { if(bad_kb->is_bt) {

View File

@@ -3,8 +3,7 @@
static void bad_kb_scene_config_name_text_input_callback(void* context) { static void bad_kb_scene_config_name_text_input_callback(void* context) {
BadKbApp* bad_kb = context; BadKbApp* bad_kb = context;
view_dispatcher_send_custom_event( view_dispatcher_send_custom_event(bad_kb->view_dispatcher, BadKbAppCustomEventTextEditResult);
bad_kb->view_dispatcher, BadKbAppCustomEventTextEditResult);
} }
void bad_kb_scene_config_name_on_enter(void* context) { void bad_kb_scene_config_name_on_enter(void* context) {

View File

@@ -29,10 +29,10 @@ void bad_kb_scene_config_usb_on_enter(void* context) {
variable_item_set_current_value_index(item, bad_kb->is_bt); variable_item_set_current_value_index(item, bad_kb->is_bt);
variable_item_set_current_value_text(item, bad_kb->is_bt ? "BT" : "USB"); variable_item_set_current_value_text(item, bad_kb->is_bt ? "BT" : "USB");
item = variable_item_list_add( item = variable_item_list_add(var_item_list, "Keyboard layout", 0, NULL, bad_kb);
var_item_list, "Keyboard layout", 0, NULL, bad_kb);
variable_item_list_set_enter_callback(var_item_list, bad_kb_scene_config_usb_var_item_list_callback, bad_kb); variable_item_list_set_enter_callback(
var_item_list, bad_kb_scene_config_usb_var_item_list_callback, bad_kb);
view_dispatcher_switch_to_view(bad_kb->view_dispatcher, BadKbAppViewConfigUsb); view_dispatcher_switch_to_view(bad_kb->view_dispatcher, BadKbAppViewConfigUsb);
} }
@@ -48,7 +48,8 @@ bool bad_kb_scene_config_usb_on_event(void* context, SceneManagerEvent event) {
scene_manager_next_scene(bad_kb->scene_manager, BadKbSceneConfigLayout); scene_manager_next_scene(bad_kb->scene_manager, BadKbSceneConfigLayout);
} else if(event.event == VarItemListIndexConnection) { } else if(event.event == VarItemListIndexConnection) {
bad_kb_script_close(bad_kb->bad_kb_script); bad_kb_script_close(bad_kb->bad_kb_script);
bad_kb->bad_kb_script = bad_kb_script_open(bad_kb->file_path, bad_kb->is_bt ? bad_kb->bt : NULL); bad_kb->bad_kb_script =
bad_kb_script_open(bad_kb->file_path, bad_kb->is_bt ? bad_kb->bt : NULL);
bad_kb_script_set_keyboard_layout(bad_kb->bad_kb_script, bad_kb->keyboard_layout); bad_kb_script_set_keyboard_layout(bad_kb->bad_kb_script, bad_kb->keyboard_layout);
scene_manager_previous_scene(bad_kb->scene_manager); scene_manager_previous_scene(bad_kb->scene_manager);
if(bad_kb->is_bt) { if(bad_kb->is_bt) {

View File

@@ -29,7 +29,8 @@ void bad_kb_scene_file_select_on_enter(void* context) {
} }
if(bad_kb_file_select(bad_kb)) { if(bad_kb_file_select(bad_kb)) {
bad_kb->bad_kb_script = bad_kb_script_open(bad_kb->file_path, bad_kb->is_bt ? bad_kb->bt : NULL); bad_kb->bad_kb_script =
bad_kb_script_open(bad_kb->file_path, bad_kb->is_bt ? bad_kb->bt : NULL);
bad_kb_script_set_keyboard_layout(bad_kb->bad_kb_script, bad_kb->keyboard_layout); bad_kb_script_set_keyboard_layout(bad_kb->bad_kb_script, bad_kb->keyboard_layout);
scene_manager_next_scene(bad_kb->scene_manager, BadKbSceneWork); scene_manager_next_scene(bad_kb->scene_manager, BadKbSceneWork);

View File

@@ -60,8 +60,8 @@ static void bad_kb_draw_callback(Canvas* canvas, void* _model) {
elements_button_center(canvas, "Cancel"); elements_button_center(canvas, "Cancel");
} }
if((model->state.state == BadKbStateNotConnected) || if((model->state.state == BadKbStateNotConnected) || (model->state.state == BadKbStateIdle) ||
(model->state.state == BadKbStateIdle) || (model->state.state == BadKbStateDone)) { (model->state.state == BadKbStateDone)) {
elements_button_left(canvas, "Config"); elements_button_left(canvas, "Config");
} }
@@ -204,19 +204,13 @@ void bad_kb_set_button_callback(BadKb* bad_kb, BadKbButtonCallback callback, voi
void bad_kb_set_file_name(BadKb* bad_kb, const char* name) { void bad_kb_set_file_name(BadKb* bad_kb, const char* name) {
furi_assert(name); furi_assert(name);
with_view_model( with_view_model(
bad_kb->view, bad_kb->view, BadKbModel * model, { strlcpy(model->file_name, name, MAX_NAME_LEN); }, true);
BadKbModel * model,
{ strlcpy(model->file_name, name, MAX_NAME_LEN); },
true);
} }
void bad_kb_set_layout(BadKb* bad_kb, const char* layout) { void bad_kb_set_layout(BadKb* bad_kb, const char* layout) {
furi_assert(layout); furi_assert(layout);
with_view_model( with_view_model(
bad_kb->view, bad_kb->view, BadKbModel * model, { strlcpy(model->layout, layout, MAX_NAME_LEN); }, true);
BadKbModel * model,
{ strlcpy(model->layout, layout, MAX_NAME_LEN); },
true);
} }
void bad_kb_set_state(BadKb* bad_kb, BadKbState* st) { void bad_kb_set_state(BadKb* bad_kb, BadKbState* st) {

View File

@@ -77,8 +77,7 @@ static void bt_pin_code_hide(Bt* bt) {
static bool bt_pin_code_verify_event_handler(Bt* bt, uint32_t pin) { static bool bt_pin_code_verify_event_handler(Bt* bt, uint32_t pin) {
furi_assert(bt); furi_assert(bt);
if (bt_get_profile_pairing_method(bt) == GapPairingNone) if(bt_get_profile_pairing_method(bt) == GapPairingNone) return true;
return true;
notification_message(bt->notification, &sequence_display_backlight_on); notification_message(bt->notification, &sequence_display_backlight_on);
FuriString* pin_str; FuriString* pin_str;

View File

@@ -387,8 +387,6 @@ static void gap_init_svc(Gap* gap) {
keypress_supported = true; keypress_supported = true;
} }
// Setup authentication // Setup authentication
aci_gap_set_authentication_requirement( aci_gap_set_authentication_requirement(
gap->config->bonding_mode, gap->config->bonding_mode,