Who tf wrote this, and why? | Biggest stability update ever

Bro, what the fuck is this bullshit? I swear imma go cry if I see more shit like that...
This commit is contained in:
VerstreuteSeele
2023-01-06 01:45:02 +01:00
parent f082ca1915
commit a026ab37bd
199 changed files with 152 additions and 1068 deletions

View File

@@ -3,28 +3,19 @@ App(
name="Basic applications for main menu", name="Basic applications for main menu",
apptype=FlipperAppType.METAPACKAGE, apptype=FlipperAppType.METAPACKAGE,
provides=[ provides=[
"clock_loader", "gpio",
# "gpio", "ibutton",
"gpio_loader", "infrared",
# "ibutton",
"ibutton_loader",
# "infrared",
"infrared_loader",
"lfrfid", "lfrfid",
# "lfrfid_loader",
"nfc", "nfc",
"subghz", "subghz",
"sub_playlist_loader", "bad_usb",
#"bad_usb", "u2f",
"bad_usb_loader",
# "u2f",
"u2f_loader",
"fap_loader", "fap_loader",
"sub_playlist",
"archive", "archive",
# "Clock", "clock",
#"SubGHz_Remote", "unirfremix",
"SubGHz_Remote_loader",
# "Spectrum_Analyzer",
], ],
) )

View File

@@ -45,55 +45,10 @@ static void archive_run_in_app(ArchiveBrowserView* browser, ArchiveFile_t* selec
if(param != NULL) { if(param != NULL) {
param++; param++;
} }
status = loader_start(loader, flipper_app_name[selected->type], param);
if(strcmp(flipper_app_name[selected->type], "U2F") == 0) {
char* tmpType = "/ext/apps/Main/U2F.fap¯";
char* result =
malloc(strlen(tmpType) + strlen(furi_string_get_cstr(selected->path)) + 1);
strcpy(result, tmpType);
strcat(result, furi_string_get_cstr(selected->path));
status = loader_start(loader, "Applications", result);
} else {
status = loader_start(loader, flipper_app_name[selected->type], param);
}
} else { } else {
if(strcmp(flipper_app_name[selected->type], "iButton") == 0) { status = loader_start(
char* tmpType = "/ext/apps/Main/ibutton.fap¯"; loader, flipper_app_name[selected->type], furi_string_get_cstr(selected->path));
char* result =
malloc(strlen(tmpType) + strlen(furi_string_get_cstr(selected->path)) + 1);
strcpy(result, tmpType);
strcat(result, furi_string_get_cstr(selected->path));
status = loader_start(loader, "Applications", result);
} else if(strcmp(flipper_app_name[selected->type], "Bad USB") == 0) {
char* tmpType = "/ext/apps/Main/bad_usb.fap¯";
char* result =
malloc(strlen(tmpType) + strlen(furi_string_get_cstr(selected->path)) + 1);
strcpy(result, tmpType);
strcat(result, furi_string_get_cstr(selected->path));
status = loader_start(loader, "Applications", result);
// } else if(strcmp(flipper_app_name[selected->type], "125 kHz RFID") == 0) {
// char* tmpType = "/ext/apps/Main/lfrfid.fap¯";
// char* result =
// malloc(strlen(tmpType) + strlen(furi_string_get_cstr(selected->path)) + 1);
// strcpy(result, tmpType);
// strcat(result, furi_string_get_cstr(selected->path));
// status = loader_start(loader, "Applications", result);
} else if(strcmp(flipper_app_name[selected->type], "Infrared") == 0) {
char* tmpType = "/ext/apps/Main/infrared.fap¯";
char* result =
malloc(strlen(tmpType) + strlen(furi_string_get_cstr(selected->path)) + 1);
strcpy(result, tmpType);
strcat(result, furi_string_get_cstr(selected->path));
status = loader_start(loader, "Applications", result);
} else {
status = loader_start(
loader, flipper_app_name[selected->type], furi_string_get_cstr(selected->path));
}
} }
if(status != LoaderStatusOk) { if(status != LoaderStatusOk) {

View File

@@ -1,7 +1,7 @@
App( App(
appid="bad_usb", appid="bad_usb",
name="Bad USB", name="Bad USB",
apptype=FlipperAppType.EXTERNAL, apptype=FlipperAppType.APP,
entry_point="bad_usb_app", entry_point="bad_usb_app",
cdefines=["APP_BAD_USB"], cdefines=["APP_BAD_USB"],
requires=[ requires=[
@@ -9,10 +9,7 @@ App(
"dialogs", "dialogs",
], ],
stack_size=2 * 1024, stack_size=2 * 1024,
# icon="A_BadUsb_14", icon="A_BadUsb_14",
order=70, order=70,
fap_category="Main",
fap_icon="badusb_10px.png",
fap_icon_assets="images",
fap_libs=["assets"], fap_libs=["assets"],
) )

View File

@@ -5,7 +5,7 @@
#include "bad_usb_script.h" #include "bad_usb_script.h"
#include <gui/gui.h> #include <gui/gui.h>
#include <bad_usb_icons.h> #include <assets_icons.h>
#include <gui/view_dispatcher.h> #include <gui/view_dispatcher.h>
#include <gui/scene_manager.h> #include <gui/scene_manager.h>
#include <gui/modules/submenu.h> #include <gui/modules/submenu.h>

View File

@@ -462,14 +462,7 @@ static int32_t ducky_script_execute_next(BadUsbScript* bad_usb, File* script_fil
return 0; return 0;
} else if(delay_val < 0) { } else if(delay_val < 0) {
bad_usb->st.error_line = bad_usb->st.line_cur; bad_usb->st.error_line = bad_usb->st.line_cur;
if(delay_val == SCRIPT_STATE_NEXT_LINE) { FURI_LOG_E(WORKER_TAG, "Unknown command at line %u", bad_usb->st.line_cur);
snprintf(
bad_usb->st.error, sizeof(bad_usb->st.error), "Forbidden empty line");
FURI_LOG_E(
WORKER_TAG, "Forbidden empty line at line %u", bad_usb->st.line_cur);
} else {
FURI_LOG_E(WORKER_TAG, "Unknown command at line %u", bad_usb->st.line_cur);
}
return SCRIPT_STATE_ERROR; return SCRIPT_STATE_ERROR;
} else { } else {
return (delay_val + bad_usb->defdelay); return (delay_val + bad_usb->defdelay);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 576 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 576 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 147 B

View File

@@ -49,4 +49,4 @@ bool bad_usb_scene_file_select_on_event(void* context, SceneManagerEvent event)
void bad_usb_scene_file_select_on_exit(void* context) { void bad_usb_scene_file_select_on_exit(void* context) {
UNUSED(context); UNUSED(context);
// BadUsbApp* bad_usb = context; // BadUsbApp* bad_usb = context;
} }

View File

@@ -2,7 +2,7 @@
#include "../bad_usb_script.h" #include "../bad_usb_script.h"
#include <toolbox/path.h> #include <toolbox/path.h>
#include <gui/elements.h> #include <gui/elements.h>
#include <bad_usb_icons.h> #include <assets_icons.h>
#include "../../../settings/desktop_settings/desktop_settings_app.h" #include "../../../settings/desktop_settings/desktop_settings_app.h"
#define MAX_NAME_LEN 64 #define MAX_NAME_LEN 64

View File

@@ -1,14 +0,0 @@
App(
appid="bad_usb_loader",
name="Bad USB",
apptype=FlipperAppType.APP,
entry_point="bad_usb_loader_app",
requires=[
"gui",
"dialogs",
],
stack_size=int(2 * 1024),
icon="A_BadUsb_14",
order=70,
link="/ext/apps/Main/bad_usb.fap",
)

View File

@@ -1,9 +0,0 @@
#include <applications/services/loader/loader_i.h>
#define TAG "bad_usb_loader_app"
int32_t bad_usb_loader_app(void* p) {
UNUSED(p);
return 0;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -1,14 +0,0 @@
App(
appid="Clock",
name="Clock",
apptype=FlipperAppType.EXTERNAL,
entry_point="clock_app",
cdefines=["APP_CLOCK"],
requires=["gui"],
# icon="A_Clock_14",
stack_size=2 * 1024,
order=9,
fap_icon="ClockIcon.png",
fap_category="Main",
fap_icon_assets="icons",
)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 633 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 113 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -0,0 +1,12 @@
App(
appid="clock",
name="Clock",
apptype=FlipperAppType.APP,
entry_point="clock_app",
cdefines=["APP_CLOCK"],
requires=["gui"],
icon="A_Clock_14",
stack_size=2 * 1024,
order=81,
)

View File

@@ -36,4 +36,4 @@ typedef struct {
uint32_t timer_start_timestamp; uint32_t timer_start_timestamp;
uint32_t timer_stopped_seconds; uint32_t timer_stopped_seconds;
bool timer_running; bool timer_running;
} ClockState; } ClockState;

View File

@@ -1,11 +0,0 @@
App(
appid="clock_loader",
name="Clock",
apptype=FlipperAppType.APP,
entry_point="clock_loader_app",
requires=["gui"],
stack_size=int(1.5 * 1024),
icon="A_Clock_14",
order=9,
link="/ext/apps/Main/Clock.fap",
)

View File

@@ -1,9 +0,0 @@
#include <applications/services/loader/loader_i.h>
#define TAG "clock_loader_app"
int32_t clock_loader_app(void* p) {
UNUSED(p);
return 0;
}

View File

@@ -17,7 +17,6 @@ struct FapLoader {
DialogsApp* dialogs; DialogsApp* dialogs;
Gui* gui; Gui* gui;
FuriString* fap_path; FuriString* fap_path;
FuriString* fap_args;
ViewDispatcher* view_dispatcher; ViewDispatcher* view_dispatcher;
Loading* loading; Loading* loading;
}; };
@@ -105,26 +104,14 @@ static bool fap_loader_run_selected_app(FapLoader* loader) {
FURI_LOG_I(TAG, "Loaded in %ums", (size_t)(furi_get_tick() - start)); FURI_LOG_I(TAG, "Loaded in %ums", (size_t)(furi_get_tick() - start));
FURI_LOG_I(TAG, "FAP Loader is starting app"); FURI_LOG_I(TAG, "FAP Loader is starting app");
if(strcmp(furi_string_get_cstr(loader->fap_args), "false") == 0) { FuriThread* thread = flipper_application_spawn(loader->app, NULL);
FuriThread* thread = flipper_application_spawn(loader->app, NULL); furi_thread_start(thread);
furi_thread_start(thread); furi_thread_join(thread);
furi_thread_join(thread);
show_error = false; show_error = false;
int ret = furi_thread_get_return_code(thread); int ret = furi_thread_get_return_code(thread);
FURI_LOG_I(TAG, "FAP app returned: %i", ret); FURI_LOG_I(TAG, "FAP app returned: %i", ret);
} else {
FuriThread* thread = flipper_application_spawn(
loader->app, (void*)furi_string_get_cstr(loader->fap_args));
furi_thread_start(thread);
furi_thread_join(thread);
show_error = false;
int ret = furi_thread_get_return_code(thread);
FURI_LOG_I(TAG, "FAP app returned: %i", ret);
}
} while(0); } while(0);
if(show_error) { if(show_error) {
@@ -169,28 +156,8 @@ static bool fap_loader_select_app(FapLoader* loader) {
} }
static FapLoader* fap_loader_alloc(const char* path) { static FapLoader* fap_loader_alloc(const char* path) {
FapLoader* loader = malloc(sizeof(FapLoader)); //-V773 FapLoader* loader = malloc(sizeof(FapLoader)); //-V799
loader->fap_path = furi_string_alloc_set(path);
char* tmp = malloc(strlen(path) + 1);
strcpy(tmp, path);
char* new_path;
new_path = strtok(tmp, "¯");
if(new_path) {
loader->fap_path = furi_string_alloc_set(new_path);
} else {
loader->fap_path = furi_string_alloc_set(path);
}
new_path = strtok(NULL, "¯");
if(new_path) {
loader->fap_args = furi_string_alloc_set(new_path);
} else {
loader->fap_args = furi_string_alloc_set("false");
}
loader->storage = furi_record_open(RECORD_STORAGE); loader->storage = furi_record_open(RECORD_STORAGE);
loader->dialogs = furi_record_open(RECORD_DIALOGS); loader->dialogs = furi_record_open(RECORD_DIALOGS);
loader->gui = furi_record_open(RECORD_GUI); loader->gui = furi_record_open(RECORD_GUI);
@@ -207,7 +174,6 @@ static void fap_loader_free(FapLoader* loader) {
loading_free(loader->loading); loading_free(loader->loading);
view_dispatcher_free(loader->view_dispatcher); view_dispatcher_free(loader->view_dispatcher);
furi_string_free(loader->fap_path); furi_string_free(loader->fap_path);
furi_string_free(loader->fap_args);
furi_record_close(RECORD_GUI); furi_record_close(RECORD_GUI);
furi_record_close(RECORD_DIALOGS); furi_record_close(RECORD_DIALOGS);
furi_record_close(RECORD_STORAGE); furi_record_close(RECORD_STORAGE);

View File

@@ -1,15 +1,12 @@
App( App(
appid="gpio", appid="gpio",
name="GPIO", name="GPIO",
apptype=FlipperAppType.EXTERNAL, apptype=FlipperAppType.APP,
entry_point="gpio_app", entry_point="gpio_app",
cdefines=["APP_GPIO"], cdefines=["APP_GPIO"],
requires=["gui"], requires=["gui"],
stack_size=1 * 1024, stack_size=1 * 1024,
# icon="A_GPIO_14", icon="A_GPIO_14",
order=50, order=50,
fap_icon="gpioIcon.png",
fap_category="Main",
fap_icon_assets="images",
fap_libs=["assets"], fap_libs=["assets"],
) )

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -17,7 +17,7 @@
#include "views/gpio_usb_uart.h" #include "views/gpio_usb_uart.h"
#include "views/gpio_i2c_scanner.h" #include "views/gpio_i2c_scanner.h"
#include "views/gpio_i2c_sfp.h" #include "views/gpio_i2c_sfp.h"
#include <gpio_icons.h> #include <assets_icons.h>
struct GpioApp { struct GpioApp {
Gui* gui; Gui* gui;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 654 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 669 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

View File

@@ -1,14 +0,0 @@
App(
appid="gpio_loader",
name="GPIO",
apptype=FlipperAppType.APP,
entry_point="gpio_loader_app",
requires=[
"gui",
"storage",
],
stack_size=int(1.5 * 1024),
icon="A_GPIO_14",
order=50,
link="/ext/apps/Main/gpio.fap",
)

View File

@@ -1,9 +0,0 @@
#include <applications/services/loader/loader_i.h>
#define TAG "gpio_loader_app"
int32_t gpio_loader_app(void* p) {
UNUSED(p);
return 0;
}

View File

@@ -1,18 +1,24 @@
App( App(
appid="ibutton", appid="ibutton",
name="iButton", name="iButton",
apptype=FlipperAppType.EXTERNAL, apptype=FlipperAppType.APP,
entry_point="ibutton_app", entry_point="ibutton_app",
cdefines=["APP_IBUTTON"], cdefines=["APP_IBUTTON"],
requires=[ requires=[
"gui", "gui",
"dialogs", "dialogs",
], ],
# icon="A_iButton_14", provides=["ibutton_start"],
icon="A_iButton_14",
stack_size=2 * 1024, stack_size=2 * 1024,
order=60, order=60,
fap_icon="iBIcon.png",
fap_category="Main",
fap_icon_assets="images",
fap_libs=["assets"], fap_libs=["assets"],
) )
App(
appid="ibutton_start",
apptype=FlipperAppType.STARTUP,
entry_point="ibutton_on_system_start",
requires=["ibutton"],
order=60,
)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -1,4 +1,5 @@
#include "ibutton.h" #include "ibutton.h"
#include "assets_icons.h"
#include "ibutton_i.h" #include "ibutton_i.h"
#include "ibutton/scenes/ibutton_scene.h" #include "ibutton/scenes/ibutton_scene.h"
#include <toolbox/path.h> #include <toolbox/path.h>

View File

@@ -4,7 +4,7 @@
#include <gui/gui.h> #include <gui/gui.h>
#include <gui/view.h> #include <gui/view.h>
#include "ibutton_icons.h" #include <assets_icons.h>
#include <gui/view_dispatcher.h> #include <gui/view_dispatcher.h>
#include <gui/scene_manager.h> #include <gui/scene_manager.h>
#include <notification/notification_messages.h> #include <notification/notification_messages.h>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 304 B

View File

@@ -1,14 +0,0 @@
App(
appid="ibutton_loader",
name="iButton",
apptype=FlipperAppType.APP,
entry_point="ibutton_loader_app",
requires=[
"gui",
"storage",
],
stack_size=int(1.5 * 1024),
icon="A_iButton_14",
order=60,
link="/ext/apps/Main/ibutton.fap",
)

View File

@@ -1,9 +0,0 @@
#include <applications/services/loader/loader_i.h>
#define TAG "ibutton_loader_app"
int32_t ibutton_loader_app(void* p) {
UNUSED(p);
return 0;
}

View File

@@ -1,19 +1,24 @@
App( App(
appid="infrared", appid="infrared",
name="Infrared", name="Infrared",
apptype=FlipperAppType.EXTERNAL, apptype=FlipperAppType.APP,
entry_point="infrared_app", entry_point="infrared_app",
cdefines=["APP_INFRARED"], cdefines=["APP_INFRARED"],
requires=[ requires=[
"gui", "gui",
"dialogs", "dialogs",
], ],
# provides=["infrared_start"], provides=["infrared_start"],
# icon="A_Infrared_14", icon="A_Infrared_14",
stack_size=3 * 1024, stack_size=3 * 1024,
order=40, order=40,
fap_category="Main",
fap_icon="ir_10px.png",
fap_icon_assets="images",
fap_libs=["assets"], fap_libs=["assets"],
) )
App(
appid="infrared_start",
apptype=FlipperAppType.STARTUP,
entry_point="infrared_on_system_start",
requires=["infrared"],
order=20,
)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 250 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 313 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 306 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Some files were not shown because too many files have changed in this diff Show More