2022-09-24 17:47:21 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <furi.h>
|
|
|
|
#include <furi_hal.h>
|
|
|
|
#include <input/input.h>
|
|
|
|
|
|
|
|
#include <notification/notification.h>
|
|
|
|
#include <notification/notification_messages.h>
|
|
|
|
|
|
|
|
#include <gui/gui.h>
|
|
|
|
#include <gui/view_dispatcher.h>
|
|
|
|
#include <gui/view_stack.h>
|
|
|
|
#include <gui/scene_manager.h>
|
|
|
|
#include <gui/modules/text_input.h>
|
|
|
|
#include <gui/modules/popup.h>
|
|
|
|
#include <gui/modules/widget.h>
|
|
|
|
#include <gui/modules/loading.h>
|
|
|
|
|
|
|
|
#include <dialogs/dialogs.h>
|
|
|
|
|
|
|
|
#include <notification/notification.h>
|
|
|
|
#include <notification/notification_messages.h>
|
|
|
|
|
|
|
|
#include "subbrute.h"
|
2022-09-30 14:36:56 +00:00
|
|
|
#include "subbrute_device_i.h"
|
2022-09-24 17:47:21 +00:00
|
|
|
#include "views/subbrute_attack_view.h"
|
|
|
|
#include "views/subbrute_main_view.h"
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
SubBruteViewNone,
|
|
|
|
SubBruteViewMain,
|
|
|
|
SubBruteViewAttack,
|
|
|
|
SubBruteViewTextInput,
|
|
|
|
SubBruteViewDialogEx,
|
|
|
|
SubBruteViewPopup,
|
|
|
|
SubBruteViewWidget,
|
|
|
|
SubBruteViewStack,
|
|
|
|
} SubBruteView;
|
|
|
|
|
|
|
|
struct SubBruteState {
|
|
|
|
// GUI elements
|
|
|
|
NotificationApp* notifications;
|
|
|
|
Gui* gui;
|
|
|
|
ViewDispatcher* view_dispatcher;
|
|
|
|
ViewStack* view_stack;
|
|
|
|
TextInput* text_input;
|
|
|
|
Popup* popup;
|
|
|
|
Widget* widget;
|
|
|
|
DialogsApp* dialogs;
|
|
|
|
Loading* loading;
|
|
|
|
|
2022-09-30 14:36:56 +00:00
|
|
|
// Text store
|
|
|
|
char text_store[SUBBRUTE_MAX_LEN_NAME];
|
|
|
|
string_t file_path;
|
|
|
|
|
2022-09-24 17:47:21 +00:00
|
|
|
// Views
|
|
|
|
SubBruteMainView* view_main;
|
|
|
|
SubBruteAttackView* view_attack;
|
|
|
|
SubBruteView current_view;
|
|
|
|
|
|
|
|
// Scene
|
|
|
|
SceneManager* scene_manager;
|
|
|
|
|
2022-09-30 14:36:56 +00:00
|
|
|
// SubBruteDevice
|
2022-09-24 17:47:21 +00:00
|
|
|
SubBruteDevice* device;
|
|
|
|
};
|
|
|
|
|
|
|
|
void subbrute_show_loading_popup(void* context, bool show);
|
|
|
|
void subbrute_text_input_callback(void* context);
|
2022-09-30 14:36:56 +00:00
|
|
|
void subbrute_popup_closed_callback(void* context);
|