mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-13 12:28:36 -07:00
Format
This commit is contained in:
@@ -55,12 +55,7 @@ MessageView* message_view_allocate(BarcodeApp* barcode_app) {
|
|||||||
|
|
||||||
void message_view_free_model(MessageView* message_view_object) {
|
void message_view_free_model(MessageView* message_view_object) {
|
||||||
with_view_model(
|
with_view_model(
|
||||||
message_view_object->view,
|
message_view_object->view, MessageViewModel * model, { UNUSED(model); }, true);
|
||||||
MessageViewModel * model,
|
|
||||||
{
|
|
||||||
UNUSED(model);
|
|
||||||
},
|
|
||||||
true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void message_view_free(MessageView* message_view_object) {
|
void message_view_free(MessageView* message_view_object) {
|
||||||
|
|||||||
@@ -195,8 +195,7 @@ int32_t infrared_remote_app(void* p) {
|
|||||||
FuriString* map_file = furi_string_alloc();
|
FuriString* map_file = furi_string_alloc();
|
||||||
furi_string_set(map_file, "/ext/infrared/remote");
|
furi_string_set(map_file, "/ext/infrared/remote");
|
||||||
if(!storage_file_exists(storage, ANY_PATH("infrared/remote"))) {
|
if(!storage_file_exists(storage, ANY_PATH("infrared/remote"))) {
|
||||||
storage_common_mkdir(
|
storage_common_mkdir(storage, ANY_PATH("infrared/remote")); //Make Folder If dir not exist
|
||||||
storage, ANY_PATH("infrared/remote")); //Make Folder If dir not exist
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool res = dialog_file_browser_show(dialogs, map_file, map_file, &browser_options);
|
bool res = dialog_file_browser_show(dialogs, map_file, map_file, &browser_options);
|
||||||
|
|||||||
@@ -12,5 +12,5 @@ App(
|
|||||||
fap_category="Tools",
|
fap_category="Tools",
|
||||||
fap_author="noproto",
|
fap_author="noproto",
|
||||||
fap_icon_assets="images",
|
fap_icon_assets="images",
|
||||||
fap_weburl="https://github.com/noproto/FlipperMfkey"
|
fap_weburl="https://github.com/noproto/FlipperMfkey",
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -44,7 +44,11 @@ void xtreme_app_scene_interface_common_on_enter(void* context) {
|
|||||||
VariableItem* item;
|
VariableItem* item;
|
||||||
|
|
||||||
item = variable_item_list_add(
|
item = variable_item_list_add(
|
||||||
var_item_list, "Sort Dirs First", 2, xtreme_app_scene_interface_common_sort_dirs_first_changed, app);
|
var_item_list,
|
||||||
|
"Sort Dirs First",
|
||||||
|
2,
|
||||||
|
xtreme_app_scene_interface_common_sort_dirs_first_changed,
|
||||||
|
app);
|
||||||
variable_item_set_current_value_index(item, xtreme_settings->sort_dirs_first);
|
variable_item_set_current_value_index(item, xtreme_settings->sort_dirs_first);
|
||||||
variable_item_set_current_value_text(item, xtreme_settings->sort_dirs_first ? "ON" : "OFF");
|
variable_item_set_current_value_text(item, xtreme_settings->sort_dirs_first ? "ON" : "OFF");
|
||||||
|
|
||||||
@@ -54,7 +58,11 @@ void xtreme_app_scene_interface_common_on_enter(void* context) {
|
|||||||
variable_item_set_current_value_text(item, xtreme_settings->dark_mode ? "ON" : "OFF");
|
variable_item_set_current_value_text(item, xtreme_settings->dark_mode ? "ON" : "OFF");
|
||||||
|
|
||||||
item = variable_item_list_add(
|
item = variable_item_list_add(
|
||||||
var_item_list, "Left Handed", 2, xtreme_app_scene_interface_common_left_handed_changed, app);
|
var_item_list,
|
||||||
|
"Left Handed",
|
||||||
|
2,
|
||||||
|
xtreme_app_scene_interface_common_left_handed_changed,
|
||||||
|
app);
|
||||||
bool value = furi_hal_rtc_is_flag_set(FuriHalRtcFlagHandOrient);
|
bool value = furi_hal_rtc_is_flag_set(FuriHalRtcFlagHandOrient);
|
||||||
variable_item_set_current_value_index(item, value);
|
variable_item_set_current_value_index(item, value);
|
||||||
variable_item_set_current_value_text(item, value ? "ON" : "OFF");
|
variable_item_set_current_value_text(item, value ? "ON" : "OFF");
|
||||||
@@ -63,7 +71,8 @@ void xtreme_app_scene_interface_common_on_enter(void* context) {
|
|||||||
var_item_list, xtreme_app_scene_interface_common_var_item_list_callback, app);
|
var_item_list, xtreme_app_scene_interface_common_var_item_list_callback, app);
|
||||||
|
|
||||||
variable_item_list_set_selected_item(
|
variable_item_list_set_selected_item(
|
||||||
var_item_list, scene_manager_get_scene_state(app->scene_manager, XtremeAppSceneInterfaceCommon));
|
var_item_list,
|
||||||
|
scene_manager_get_scene_state(app->scene_manager, XtremeAppSceneInterfaceCommon));
|
||||||
|
|
||||||
view_dispatcher_switch_to_view(app->view_dispatcher, XtremeAppViewVarItemList);
|
view_dispatcher_switch_to_view(app->view_dispatcher, XtremeAppViewVarItemList);
|
||||||
}
|
}
|
||||||
@@ -73,7 +82,8 @@ bool xtreme_app_scene_interface_common_on_event(void* context, SceneManagerEvent
|
|||||||
bool consumed = false;
|
bool consumed = false;
|
||||||
|
|
||||||
if(event.type == SceneManagerEventTypeCustom) {
|
if(event.type == SceneManagerEventTypeCustom) {
|
||||||
scene_manager_set_scene_state(app->scene_manager, XtremeAppSceneInterfaceCommon, event.event);
|
scene_manager_set_scene_state(
|
||||||
|
app->scene_manager, XtremeAppSceneInterfaceCommon, event.event);
|
||||||
consumed = true;
|
consumed = true;
|
||||||
switch(event.event) {
|
switch(event.event) {
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -86,7 +86,9 @@ void xtreme_app_scene_interface_graphics_on_enter(void* context) {
|
|||||||
variable_item_set_current_value_index(item, app->asset_pack_index);
|
variable_item_set_current_value_index(item, app->asset_pack_index);
|
||||||
variable_item_set_current_value_text(
|
variable_item_set_current_value_text(
|
||||||
item,
|
item,
|
||||||
app->asset_pack_index == 0 ? "SFW" : *CharList_get(app->asset_pack_names, app->asset_pack_index - 1));
|
app->asset_pack_index == 0 ?
|
||||||
|
"SFW" :
|
||||||
|
*CharList_get(app->asset_pack_names, app->asset_pack_index - 1));
|
||||||
|
|
||||||
item = variable_item_list_add(
|
item = variable_item_list_add(
|
||||||
var_item_list,
|
var_item_list,
|
||||||
@@ -111,7 +113,11 @@ void xtreme_app_scene_interface_graphics_on_enter(void* context) {
|
|||||||
variable_item_set_current_value_text(item, cycle_anims_names[value_index]);
|
variable_item_set_current_value_text(item, cycle_anims_names[value_index]);
|
||||||
|
|
||||||
item = variable_item_list_add(
|
item = variable_item_list_add(
|
||||||
var_item_list, "Unlock Anims", 2, xtreme_app_scene_interface_graphics_unlock_anims_changed, app);
|
var_item_list,
|
||||||
|
"Unlock Anims",
|
||||||
|
2,
|
||||||
|
xtreme_app_scene_interface_graphics_unlock_anims_changed,
|
||||||
|
app);
|
||||||
variable_item_set_current_value_index(item, xtreme_settings->unlock_anims);
|
variable_item_set_current_value_index(item, xtreme_settings->unlock_anims);
|
||||||
variable_item_set_current_value_text(item, xtreme_settings->unlock_anims ? "ON" : "OFF");
|
variable_item_set_current_value_text(item, xtreme_settings->unlock_anims ? "ON" : "OFF");
|
||||||
|
|
||||||
@@ -119,7 +125,8 @@ void xtreme_app_scene_interface_graphics_on_enter(void* context) {
|
|||||||
var_item_list, xtreme_app_scene_interface_graphics_var_item_list_callback, app);
|
var_item_list, xtreme_app_scene_interface_graphics_var_item_list_callback, app);
|
||||||
|
|
||||||
variable_item_list_set_selected_item(
|
variable_item_list_set_selected_item(
|
||||||
var_item_list, scene_manager_get_scene_state(app->scene_manager, XtremeAppSceneInterfaceGraphics));
|
var_item_list,
|
||||||
|
scene_manager_get_scene_state(app->scene_manager, XtremeAppSceneInterfaceGraphics));
|
||||||
|
|
||||||
view_dispatcher_switch_to_view(app->view_dispatcher, XtremeAppViewVarItemList);
|
view_dispatcher_switch_to_view(app->view_dispatcher, XtremeAppViewVarItemList);
|
||||||
}
|
}
|
||||||
@@ -129,7 +136,8 @@ bool xtreme_app_scene_interface_graphics_on_event(void* context, SceneManagerEve
|
|||||||
bool consumed = false;
|
bool consumed = false;
|
||||||
|
|
||||||
if(event.type == SceneManagerEventTypeCustom) {
|
if(event.type == SceneManagerEventTypeCustom) {
|
||||||
scene_manager_set_scene_state(app->scene_manager, XtremeAppSceneInterfaceGraphics, event.event);
|
scene_manager_set_scene_state(
|
||||||
|
app->scene_manager, XtremeAppSceneInterfaceGraphics, event.event);
|
||||||
consumed = true;
|
consumed = true;
|
||||||
switch(event.event) {
|
switch(event.event) {
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -49,22 +49,39 @@ void xtreme_app_scene_interface_lockscreen_on_enter(void* context) {
|
|||||||
VariableItem* item;
|
VariableItem* item;
|
||||||
|
|
||||||
item = variable_item_list_add(
|
item = variable_item_list_add(
|
||||||
var_item_list, "Show Time", 2, xtreme_app_scene_interface_lockscreen_show_time_changed, app);
|
var_item_list,
|
||||||
|
"Show Time",
|
||||||
|
2,
|
||||||
|
xtreme_app_scene_interface_lockscreen_show_time_changed,
|
||||||
|
app);
|
||||||
variable_item_set_current_value_index(item, xtreme_settings->lockscreen_time);
|
variable_item_set_current_value_index(item, xtreme_settings->lockscreen_time);
|
||||||
variable_item_set_current_value_text(item, xtreme_settings->lockscreen_time ? "ON" : "OFF");
|
variable_item_set_current_value_text(item, xtreme_settings->lockscreen_time ? "ON" : "OFF");
|
||||||
|
|
||||||
item = variable_item_list_add(
|
item = variable_item_list_add(
|
||||||
var_item_list, "Show Date", 2, xtreme_app_scene_interface_lockscreen_show_date_changed, app);
|
var_item_list,
|
||||||
|
"Show Date",
|
||||||
|
2,
|
||||||
|
xtreme_app_scene_interface_lockscreen_show_date_changed,
|
||||||
|
app);
|
||||||
variable_item_set_current_value_index(item, xtreme_settings->lockscreen_date);
|
variable_item_set_current_value_index(item, xtreme_settings->lockscreen_date);
|
||||||
variable_item_set_current_value_text(item, xtreme_settings->lockscreen_date ? "ON" : "OFF");
|
variable_item_set_current_value_text(item, xtreme_settings->lockscreen_date ? "ON" : "OFF");
|
||||||
|
|
||||||
item = variable_item_list_add(
|
item = variable_item_list_add(
|
||||||
var_item_list, "Show Statusbar", 2, xtreme_app_scene_interface_lockscreen_show_statusbar_changed, app);
|
var_item_list,
|
||||||
|
"Show Statusbar",
|
||||||
|
2,
|
||||||
|
xtreme_app_scene_interface_lockscreen_show_statusbar_changed,
|
||||||
|
app);
|
||||||
variable_item_set_current_value_index(item, xtreme_settings->lockscreen_statusbar);
|
variable_item_set_current_value_index(item, xtreme_settings->lockscreen_statusbar);
|
||||||
variable_item_set_current_value_text(item, xtreme_settings->lockscreen_statusbar ? "ON" : "OFF");
|
variable_item_set_current_value_text(
|
||||||
|
item, xtreme_settings->lockscreen_statusbar ? "ON" : "OFF");
|
||||||
|
|
||||||
item = variable_item_list_add(
|
item = variable_item_list_add(
|
||||||
var_item_list, "Unlock Prompt", 2, xtreme_app_scene_interface_lockscreen_unlock_prompt_changed, app);
|
var_item_list,
|
||||||
|
"Unlock Prompt",
|
||||||
|
2,
|
||||||
|
xtreme_app_scene_interface_lockscreen_unlock_prompt_changed,
|
||||||
|
app);
|
||||||
variable_item_set_current_value_index(item, xtreme_settings->lockscreen_prompt);
|
variable_item_set_current_value_index(item, xtreme_settings->lockscreen_prompt);
|
||||||
variable_item_set_current_value_text(item, xtreme_settings->lockscreen_prompt ? "ON" : "OFF");
|
variable_item_set_current_value_text(item, xtreme_settings->lockscreen_prompt ? "ON" : "OFF");
|
||||||
|
|
||||||
@@ -72,7 +89,8 @@ void xtreme_app_scene_interface_lockscreen_on_enter(void* context) {
|
|||||||
var_item_list, xtreme_app_scene_interface_lockscreen_var_item_list_callback, app);
|
var_item_list, xtreme_app_scene_interface_lockscreen_var_item_list_callback, app);
|
||||||
|
|
||||||
variable_item_list_set_selected_item(
|
variable_item_list_set_selected_item(
|
||||||
var_item_list, scene_manager_get_scene_state(app->scene_manager, XtremeAppSceneInterfaceLockscreen));
|
var_item_list,
|
||||||
|
scene_manager_get_scene_state(app->scene_manager, XtremeAppSceneInterfaceLockscreen));
|
||||||
|
|
||||||
view_dispatcher_switch_to_view(app->view_dispatcher, XtremeAppViewVarItemList);
|
view_dispatcher_switch_to_view(app->view_dispatcher, XtremeAppViewVarItemList);
|
||||||
}
|
}
|
||||||
@@ -82,7 +100,8 @@ bool xtreme_app_scene_interface_lockscreen_on_event(void* context, SceneManagerE
|
|||||||
bool consumed = false;
|
bool consumed = false;
|
||||||
|
|
||||||
if(event.type == SceneManagerEventTypeCustom) {
|
if(event.type == SceneManagerEventTypeCustom) {
|
||||||
scene_manager_set_scene_state(app->scene_manager, XtremeAppSceneInterfaceLockscreen, event.event);
|
scene_manager_set_scene_state(
|
||||||
|
app->scene_manager, XtremeAppSceneInterfaceLockscreen, event.event);
|
||||||
consumed = true;
|
consumed = true;
|
||||||
switch(event.event) {
|
switch(event.event) {
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -7,9 +7,7 @@ enum VarItemListIndex {
|
|||||||
VarItemListIndexAddApp,
|
VarItemListIndexAddApp,
|
||||||
};
|
};
|
||||||
|
|
||||||
void xtreme_app_scene_interface_mainmenu_var_item_list_callback(
|
void xtreme_app_scene_interface_mainmenu_var_item_list_callback(void* context, uint32_t index) {
|
||||||
void* context,
|
|
||||||
uint32_t index) {
|
|
||||||
XtremeApp* app = context;
|
XtremeApp* app = context;
|
||||||
view_dispatcher_send_custom_event(app->view_dispatcher, index);
|
view_dispatcher_send_custom_event(app->view_dispatcher, index);
|
||||||
}
|
}
|
||||||
@@ -25,7 +23,8 @@ static void xtreme_app_scene_interface_mainmenu_wii_menu_changed(VariableItem* i
|
|||||||
static void xtreme_app_scene_interface_mainmenu_app_changed(VariableItem* item) {
|
static void xtreme_app_scene_interface_mainmenu_app_changed(VariableItem* item) {
|
||||||
XtremeApp* app = variable_item_get_context(item);
|
XtremeApp* app = variable_item_get_context(item);
|
||||||
app->mainmenu_app_index = variable_item_get_current_value_index(item);
|
app->mainmenu_app_index = variable_item_get_current_value_index(item);
|
||||||
variable_item_set_current_value_text(item, *CharList_get(app->mainmenu_app_names, app->mainmenu_app_index));
|
variable_item_set_current_value_text(
|
||||||
|
item, *CharList_get(app->mainmenu_app_names, app->mainmenu_app_index));
|
||||||
}
|
}
|
||||||
|
|
||||||
void xtreme_app_scene_interface_mainmenu_on_enter(void* context) {
|
void xtreme_app_scene_interface_mainmenu_on_enter(void* context) {
|
||||||
@@ -37,7 +36,8 @@ void xtreme_app_scene_interface_mainmenu_on_enter(void* context) {
|
|||||||
item = variable_item_list_add(
|
item = variable_item_list_add(
|
||||||
var_item_list, "Menu Style", 2, xtreme_app_scene_interface_mainmenu_wii_menu_changed, app);
|
var_item_list, "Menu Style", 2, xtreme_app_scene_interface_mainmenu_wii_menu_changed, app);
|
||||||
variable_item_set_current_value_index(item, xtreme_settings->wii_menu);
|
variable_item_set_current_value_index(item, xtreme_settings->wii_menu);
|
||||||
variable_item_set_current_value_text(item, xtreme_settings->wii_menu ? "Wii Grid" : "App List");
|
variable_item_set_current_value_text(
|
||||||
|
item, xtreme_settings->wii_menu ? "Wii Grid" : "App List");
|
||||||
|
|
||||||
item = variable_item_list_add(
|
item = variable_item_list_add(
|
||||||
var_item_list,
|
var_item_list,
|
||||||
@@ -48,7 +48,8 @@ void xtreme_app_scene_interface_mainmenu_on_enter(void* context) {
|
|||||||
app->mainmenu_app_index = 0;
|
app->mainmenu_app_index = 0;
|
||||||
variable_item_set_current_value_index(item, app->mainmenu_app_index);
|
variable_item_set_current_value_index(item, app->mainmenu_app_index);
|
||||||
if(CharList_size(app->mainmenu_app_names)) {
|
if(CharList_size(app->mainmenu_app_names)) {
|
||||||
variable_item_set_current_value_text(item, *CharList_get(app->mainmenu_app_names, app->mainmenu_app_index));
|
variable_item_set_current_value_text(
|
||||||
|
item, *CharList_get(app->mainmenu_app_names, app->mainmenu_app_index));
|
||||||
} else {
|
} else {
|
||||||
variable_item_set_current_value_text(item, "None");
|
variable_item_set_current_value_text(item, "None");
|
||||||
}
|
}
|
||||||
@@ -62,8 +63,7 @@ void xtreme_app_scene_interface_mainmenu_on_enter(void* context) {
|
|||||||
|
|
||||||
variable_item_list_set_selected_item(
|
variable_item_list_set_selected_item(
|
||||||
var_item_list,
|
var_item_list,
|
||||||
scene_manager_get_scene_state(
|
scene_manager_get_scene_state(app->scene_manager, XtremeAppSceneInterfaceMainmenu));
|
||||||
app->scene_manager, XtremeAppSceneInterfaceMainmenu));
|
|
||||||
|
|
||||||
view_dispatcher_switch_to_view(app->view_dispatcher, XtremeAppViewVarItemList);
|
view_dispatcher_switch_to_view(app->view_dispatcher, XtremeAppViewVarItemList);
|
||||||
}
|
}
|
||||||
@@ -80,8 +80,10 @@ bool xtreme_app_scene_interface_mainmenu_on_event(void* context, SceneManagerEve
|
|||||||
case VarItemListIndexRemoveApp:
|
case VarItemListIndexRemoveApp:
|
||||||
if(!CharList_size(app->mainmenu_app_names)) break;
|
if(!CharList_size(app->mainmenu_app_names)) break;
|
||||||
if(!CharList_size(app->mainmenu_app_paths)) break;
|
if(!CharList_size(app->mainmenu_app_paths)) break;
|
||||||
CharList_remove_v(app->mainmenu_app_names, app->mainmenu_app_index, app->mainmenu_app_index + 1);
|
CharList_remove_v(
|
||||||
CharList_remove_v(app->mainmenu_app_paths, app->mainmenu_app_index, app->mainmenu_app_index + 1);
|
app->mainmenu_app_names, app->mainmenu_app_index, app->mainmenu_app_index + 1);
|
||||||
|
CharList_remove_v(
|
||||||
|
app->mainmenu_app_paths, app->mainmenu_app_index, app->mainmenu_app_index + 1);
|
||||||
app->save_mainmenu_apps = true;
|
app->save_mainmenu_apps = true;
|
||||||
app->require_reboot = true;
|
app->require_reboot = true;
|
||||||
scene_manager_previous_scene(app->scene_manager);
|
scene_manager_previous_scene(app->scene_manager);
|
||||||
|
|||||||
@@ -62,17 +62,29 @@ void xtreme_app_scene_interface_statusbar_on_enter(void* context) {
|
|||||||
variable_item_set_current_value_text(item, battery_icon_names[xtreme_settings->battery_icon]);
|
variable_item_set_current_value_text(item, battery_icon_names[xtreme_settings->battery_icon]);
|
||||||
|
|
||||||
item = variable_item_list_add(
|
item = variable_item_list_add(
|
||||||
var_item_list, "Status Icons", 2, xtreme_app_scene_interface_statusbar_status_icons_changed, app);
|
var_item_list,
|
||||||
|
"Status Icons",
|
||||||
|
2,
|
||||||
|
xtreme_app_scene_interface_statusbar_status_icons_changed,
|
||||||
|
app);
|
||||||
variable_item_set_current_value_index(item, xtreme_settings->status_icons);
|
variable_item_set_current_value_index(item, xtreme_settings->status_icons);
|
||||||
variable_item_set_current_value_text(item, xtreme_settings->status_icons ? "ON" : "OFF");
|
variable_item_set_current_value_text(item, xtreme_settings->status_icons ? "ON" : "OFF");
|
||||||
|
|
||||||
item = variable_item_list_add(
|
item = variable_item_list_add(
|
||||||
var_item_list, "Bar Borders", 2, xtreme_app_scene_interface_statusbar_bar_borders_changed, app);
|
var_item_list,
|
||||||
|
"Bar Borders",
|
||||||
|
2,
|
||||||
|
xtreme_app_scene_interface_statusbar_bar_borders_changed,
|
||||||
|
app);
|
||||||
variable_item_set_current_value_index(item, xtreme_settings->bar_borders);
|
variable_item_set_current_value_index(item, xtreme_settings->bar_borders);
|
||||||
variable_item_set_current_value_text(item, xtreme_settings->bar_borders ? "ON" : "OFF");
|
variable_item_set_current_value_text(item, xtreme_settings->bar_borders ? "ON" : "OFF");
|
||||||
|
|
||||||
item = variable_item_list_add(
|
item = variable_item_list_add(
|
||||||
var_item_list, "Bar Background", 2, xtreme_app_scene_interface_statusbar_bar_background_changed, app);
|
var_item_list,
|
||||||
|
"Bar Background",
|
||||||
|
2,
|
||||||
|
xtreme_app_scene_interface_statusbar_bar_background_changed,
|
||||||
|
app);
|
||||||
variable_item_set_current_value_index(item, xtreme_settings->bar_background);
|
variable_item_set_current_value_index(item, xtreme_settings->bar_background);
|
||||||
variable_item_set_current_value_text(item, xtreme_settings->bar_background ? "ON" : "OFF");
|
variable_item_set_current_value_text(item, xtreme_settings->bar_background ? "ON" : "OFF");
|
||||||
|
|
||||||
@@ -80,7 +92,8 @@ void xtreme_app_scene_interface_statusbar_on_enter(void* context) {
|
|||||||
var_item_list, xtreme_app_scene_interface_statusbar_var_item_list_callback, app);
|
var_item_list, xtreme_app_scene_interface_statusbar_var_item_list_callback, app);
|
||||||
|
|
||||||
variable_item_list_set_selected_item(
|
variable_item_list_set_selected_item(
|
||||||
var_item_list, scene_manager_get_scene_state(app->scene_manager, XtremeAppSceneInterfaceStatusbar));
|
var_item_list,
|
||||||
|
scene_manager_get_scene_state(app->scene_manager, XtremeAppSceneInterfaceStatusbar));
|
||||||
|
|
||||||
view_dispatcher_switch_to_view(app->view_dispatcher, XtremeAppViewVarItemList);
|
view_dispatcher_switch_to_view(app->view_dispatcher, XtremeAppViewVarItemList);
|
||||||
}
|
}
|
||||||
@@ -90,7 +103,8 @@ bool xtreme_app_scene_interface_statusbar_on_event(void* context, SceneManagerEv
|
|||||||
bool consumed = false;
|
bool consumed = false;
|
||||||
|
|
||||||
if(event.type == SceneManagerEventTypeCustom) {
|
if(event.type == SceneManagerEventTypeCustom) {
|
||||||
scene_manager_set_scene_state(app->scene_manager, XtremeAppSceneInterfaceStatusbar, event.event);
|
scene_manager_set_scene_state(
|
||||||
|
app->scene_manager, XtremeAppSceneInterfaceStatusbar, event.event);
|
||||||
consumed = true;
|
consumed = true;
|
||||||
switch(event.event) {
|
switch(event.event) {
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -36,8 +36,7 @@ void xtreme_app_scene_protocols_frequencies_hopper_on_enter(void* context) {
|
|||||||
app->subghz_hopper_index = 0;
|
app->subghz_hopper_index = 0;
|
||||||
variable_item_set_current_value_index(item, app->subghz_hopper_index);
|
variable_item_set_current_value_index(item, app->subghz_hopper_index);
|
||||||
if(FrequencyList_size(app->subghz_hopper_freqs)) {
|
if(FrequencyList_size(app->subghz_hopper_freqs)) {
|
||||||
uint32_t value =
|
uint32_t value = *FrequencyList_get(app->subghz_hopper_freqs, app->subghz_hopper_index);
|
||||||
*FrequencyList_get(app->subghz_hopper_freqs, app->subghz_hopper_index);
|
|
||||||
char text[10] = {0};
|
char text[10] = {0};
|
||||||
snprintf(text, sizeof(text), "%lu.%02lu", value / 1000000, (value % 1000000) / 10000);
|
snprintf(text, sizeof(text), "%lu.%02lu", value / 1000000, (value % 1000000) / 10000);
|
||||||
variable_item_set_current_value_text(item, text);
|
variable_item_set_current_value_text(item, text);
|
||||||
|
|||||||
@@ -36,8 +36,7 @@ void xtreme_app_scene_protocols_frequencies_static_on_enter(void* context) {
|
|||||||
app->subghz_static_index = 0;
|
app->subghz_static_index = 0;
|
||||||
variable_item_set_current_value_index(item, app->subghz_static_index);
|
variable_item_set_current_value_index(item, app->subghz_static_index);
|
||||||
if(FrequencyList_size(app->subghz_static_freqs)) {
|
if(FrequencyList_size(app->subghz_static_freqs)) {
|
||||||
uint32_t value =
|
uint32_t value = *FrequencyList_get(app->subghz_static_freqs, app->subghz_static_index);
|
||||||
*FrequencyList_get(app->subghz_static_freqs, app->subghz_static_index);
|
|
||||||
char text[10] = {0};
|
char text[10] = {0};
|
||||||
snprintf(text, sizeof(text), "%lu.%02lu", value / 1000000, (value % 1000000) / 10000);
|
snprintf(text, sizeof(text), "%lu.%02lu", value / 1000000, (value % 1000000) / 10000);
|
||||||
variable_item_set_current_value_text(item, text);
|
variable_item_set_current_value_text(item, text);
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ static bool xtreme_app_back_event_callback(void* context) {
|
|||||||
|
|
||||||
if(app->save_mainmenu_apps) {
|
if(app->save_mainmenu_apps) {
|
||||||
Stream* stream = file_stream_alloc(storage);
|
Stream* stream = file_stream_alloc(storage);
|
||||||
if(file_stream_open(stream, XTREME_APPS_PATH, FSAM_READ_WRITE, FSOM_CREATE_ALWAYS)){
|
if(file_stream_open(stream, XTREME_APPS_PATH, FSAM_READ_WRITE, FSOM_CREATE_ALWAYS)) {
|
||||||
CharList_it_t it;
|
CharList_it_t it;
|
||||||
CharList_it(it, app->mainmenu_app_paths);
|
CharList_it(it, app->mainmenu_app_paths);
|
||||||
for(uint i = 0; i < CharList_size(app->mainmenu_app_paths); i++) {
|
for(uint i = 0; i < CharList_size(app->mainmenu_app_paths); i++) {
|
||||||
@@ -195,7 +195,8 @@ XtremeApp* xtreme_app_alloc() {
|
|||||||
if(app->asset_pack_index != 0) {
|
if(app->asset_pack_index != 0) {
|
||||||
if(idx < app->asset_pack_index) app->asset_pack_index++;
|
if(idx < app->asset_pack_index) app->asset_pack_index++;
|
||||||
} else {
|
} else {
|
||||||
if(strcmp(copy, xtreme_settings->asset_pack) == 0) app->asset_pack_index = idx + 1;
|
if(strcmp(copy, xtreme_settings->asset_pack) == 0)
|
||||||
|
app->asset_pack_index = idx + 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -89,7 +89,8 @@ bool desktop_scene_locked_on_event(void* context, SceneManagerEvent event) {
|
|||||||
break;
|
break;
|
||||||
case DesktopLockedEventUpdate:
|
case DesktopLockedEventUpdate:
|
||||||
if(desktop_view_locked_is_locked_hint_visible(desktop->locked_view)) {
|
if(desktop_view_locked_is_locked_hint_visible(desktop->locked_view)) {
|
||||||
notification_message(desktop->notification, &sequence_display_backlight_off_delay_1000);
|
notification_message(
|
||||||
|
desktop->notification, &sequence_display_backlight_off_delay_1000);
|
||||||
}
|
}
|
||||||
desktop_view_locked_update(desktop->locked_view);
|
desktop_view_locked_update(desktop->locked_view);
|
||||||
consumed = true;
|
consumed = true;
|
||||||
|
|||||||
@@ -79,7 +79,8 @@ void desktop_view_locked_draw_lockscreen(Canvas* canvas, void* m) {
|
|||||||
} else {
|
} else {
|
||||||
bool pm = datetime.hour > 12;
|
bool pm = datetime.hour > 12;
|
||||||
bool pm12 = datetime.hour >= 12;
|
bool pm12 = datetime.hour >= 12;
|
||||||
snprintf(time_str, 9, "%.2d:%.2d", pm ? datetime.hour - 12 : datetime.hour, datetime.minute);
|
snprintf(
|
||||||
|
time_str, 9, "%.2d:%.2d", pm ? datetime.hour - 12 : datetime.hour, datetime.minute);
|
||||||
snprintf(meridian_str, 3, pm12 ? "PM" : "AM");
|
snprintf(meridian_str, 3, pm12 ? "PM" : "AM");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -106,13 +107,16 @@ void desktop_view_locked_draw_lockscreen(Canvas* canvas, void* m) {
|
|||||||
canvas_set_font(canvas, FontSecondary);
|
canvas_set_font(canvas, FontSecondary);
|
||||||
canvas_draw_str(canvas, 0, 48 + y + 16 * !xtreme_settings->lockscreen_time, date_str);
|
canvas_draw_str(canvas, 0, 48 + y + 16 * !xtreme_settings->lockscreen_time, date_str);
|
||||||
}
|
}
|
||||||
if(model->view_state == DesktopViewLockedStateLockedHintShown && xtreme_settings->lockscreen_prompt) {
|
if(model->view_state == DesktopViewLockedStateLockedHintShown &&
|
||||||
|
xtreme_settings->lockscreen_prompt) {
|
||||||
canvas_set_font(canvas, FontSecondary);
|
canvas_set_font(canvas, FontSecondary);
|
||||||
if(model->pin_locked) {
|
if(model->pin_locked) {
|
||||||
elements_bubble_str(canvas, 12, 14 + y, " Press \nto unlock!", AlignRight, AlignBottom);
|
elements_bubble_str(
|
||||||
|
canvas, 12, 14 + y, " Press \nto unlock!", AlignRight, AlignBottom);
|
||||||
canvas_draw_icon(canvas, 45, 16 + y, &I_Pin_arrow_up_7x9);
|
canvas_draw_icon(canvas, 45, 16 + y, &I_Pin_arrow_up_7x9);
|
||||||
} else {
|
} else {
|
||||||
elements_bubble_str(canvas, 2, 14 + y, "Press 3x \n to unlock!", AlignRight, AlignBottom);
|
elements_bubble_str(
|
||||||
|
canvas, 2, 14 + y, "Press 3x \n to unlock!", AlignRight, AlignBottom);
|
||||||
canvas_draw_icon(canvas, 43, 17 + y, &I_Pin_back_arrow_10x8);
|
canvas_draw_icon(canvas, 43, 17 + y, &I_Pin_back_arrow_10x8);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -122,12 +126,14 @@ static bool desktop_view_locked_cover_move(DesktopViewLockedModel* model, bool d
|
|||||||
bool stop = false;
|
bool stop = false;
|
||||||
if(down) {
|
if(down) {
|
||||||
if(model->cover_offset < COVER_OFFSET_END) {
|
if(model->cover_offset < COVER_OFFSET_END) {
|
||||||
model->cover_offset = CLAMP(model->cover_offset + 8, COVER_OFFSET_END, COVER_OFFSET_START);
|
model->cover_offset =
|
||||||
|
CLAMP(model->cover_offset + 8, COVER_OFFSET_END, COVER_OFFSET_START);
|
||||||
stop = true;
|
stop = true;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if(model->cover_offset > COVER_OFFSET_START) {
|
if(model->cover_offset > COVER_OFFSET_START) {
|
||||||
model->cover_offset = CLAMP(model->cover_offset - 8, COVER_OFFSET_END, COVER_OFFSET_START);
|
model->cover_offset =
|
||||||
|
CLAMP(model->cover_offset - 8, COVER_OFFSET_END, COVER_OFFSET_START);
|
||||||
stop = true;
|
stop = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -152,10 +158,12 @@ void desktop_view_locked_update(DesktopViewLocked* locked_view) {
|
|||||||
if(view_state == DesktopViewLockedStateCoverClosing &&
|
if(view_state == DesktopViewLockedStateCoverClosing &&
|
||||||
!desktop_view_locked_cover_move(model, true)) {
|
!desktop_view_locked_cover_move(model, true)) {
|
||||||
model->view_state = DesktopViewLockedStateLocked;
|
model->view_state = DesktopViewLockedStateLocked;
|
||||||
} else if(view_state == DesktopViewLockedStateCoverOpening &&
|
} else if(
|
||||||
|
view_state == DesktopViewLockedStateCoverOpening &&
|
||||||
!desktop_view_locked_cover_move(model, false)) {
|
!desktop_view_locked_cover_move(model, false)) {
|
||||||
model->view_state = DesktopViewLockedStateUnlocked;
|
model->view_state = DesktopViewLockedStateUnlocked;
|
||||||
xTimerChangePeriod(locked_view->timer, pdMS_TO_TICKS(UNLOCKED_HINT_TIMEOUT_MS), portMAX_DELAY);
|
xTimerChangePeriod(
|
||||||
|
locked_view->timer, pdMS_TO_TICKS(UNLOCKED_HINT_TIMEOUT_MS), portMAX_DELAY);
|
||||||
} else if(view_state == DesktopViewLockedStateLockedHintShown) {
|
} else if(view_state == DesktopViewLockedStateLockedHintShown) {
|
||||||
model->view_state = DesktopViewLockedStateLocked;
|
model->view_state = DesktopViewLockedStateLocked;
|
||||||
} else if(view_state == DesktopViewLockedStateUnlockedHintShown) {
|
} else if(view_state == DesktopViewLockedStateUnlockedHintShown) {
|
||||||
@@ -164,7 +172,8 @@ void desktop_view_locked_update(DesktopViewLocked* locked_view) {
|
|||||||
|
|
||||||
view_commit_model(locked_view->view, true);
|
view_commit_model(locked_view->view, true);
|
||||||
|
|
||||||
if(view_state != DesktopViewLockedStateCoverClosing && view_state != DesktopViewLockedStateCoverOpening) {
|
if(view_state != DesktopViewLockedStateCoverClosing &&
|
||||||
|
view_state != DesktopViewLockedStateCoverOpening) {
|
||||||
xTimerStop(locked_view->timer, portMAX_DELAY);
|
xTimerStop(locked_view->timer, portMAX_DELAY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -622,8 +622,9 @@ void elements_scrollable_text_line(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (centered) {
|
if(centered) {
|
||||||
canvas_draw_str_aligned(canvas, x, y, AlignCenter, AlignBottom, furi_string_get_cstr(line));
|
canvas_draw_str_aligned(
|
||||||
|
canvas, x, y, AlignCenter, AlignBottom, furi_string_get_cstr(line));
|
||||||
} else {
|
} else {
|
||||||
canvas_draw_str(canvas, x, y, furi_string_get_cstr(line));
|
canvas_draw_str(canvas, x, y, furi_string_get_cstr(line));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,7 +78,11 @@ static void menu_draw_callback(Canvas* canvas, void* _model) {
|
|||||||
}
|
}
|
||||||
item = MenuItemArray_get(model->items, item_i);
|
item = MenuItemArray_get(model->items, item_i);
|
||||||
if(item->icon) {
|
if(item->icon) {
|
||||||
canvas_draw_icon_animation(canvas, (40 - item->icon->icon->width) / 2 + x_off, (20 - item->icon->icon->height) / 2 + y_off, item->icon);
|
canvas_draw_icon_animation(
|
||||||
|
canvas,
|
||||||
|
(40 - item->icon->icon->width) / 2 + x_off,
|
||||||
|
(20 - item->icon->icon->height) / 2 + y_off,
|
||||||
|
item->icon);
|
||||||
}
|
}
|
||||||
furi_string_set(name, item->label);
|
furi_string_set(name, item->label);
|
||||||
if(furi_string_start_with_str(name, "[")) {
|
if(furi_string_start_with_str(name, "[")) {
|
||||||
@@ -88,14 +92,7 @@ static void menu_draw_callback(Canvas* canvas, void* _model) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
elements_scrollable_text_line(
|
elements_scrollable_text_line(
|
||||||
canvas,
|
canvas, 20 + x_off, 26 + y_off, 36, name, scroll_counter, false, true);
|
||||||
20 + x_off,
|
|
||||||
26 + y_off,
|
|
||||||
36,
|
|
||||||
name,
|
|
||||||
scroll_counter,
|
|
||||||
false,
|
|
||||||
true);
|
|
||||||
if(item_i == position) {
|
if(item_i == position) {
|
||||||
canvas_set_color(canvas, ColorBlack);
|
canvas_set_color(canvas, ColorBlack);
|
||||||
} else {
|
} else {
|
||||||
@@ -108,7 +105,11 @@ static void menu_draw_callback(Canvas* canvas, void* _model) {
|
|||||||
shift_position = (0 + position + items_count - 1) % items_count;
|
shift_position = (0 + position + items_count - 1) % items_count;
|
||||||
item = MenuItemArray_get(model->items, shift_position);
|
item = MenuItemArray_get(model->items, shift_position);
|
||||||
if(item->icon) {
|
if(item->icon) {
|
||||||
canvas_draw_icon_animation(canvas, 4 + (14 - item->icon->icon->width) / 2, 3 + (14 - item->icon->icon->height) / 2, item->icon);
|
canvas_draw_icon_animation(
|
||||||
|
canvas,
|
||||||
|
4 + (14 - item->icon->icon->width) / 2,
|
||||||
|
3 + (14 - item->icon->icon->height) / 2,
|
||||||
|
item->icon);
|
||||||
}
|
}
|
||||||
canvas_draw_str(canvas, 22, 14, item->label);
|
canvas_draw_str(canvas, 22, 14, item->label);
|
||||||
// Second line main
|
// Second line main
|
||||||
@@ -116,7 +117,11 @@ static void menu_draw_callback(Canvas* canvas, void* _model) {
|
|||||||
shift_position = (1 + position + items_count - 1) % items_count;
|
shift_position = (1 + position + items_count - 1) % items_count;
|
||||||
item = MenuItemArray_get(model->items, shift_position);
|
item = MenuItemArray_get(model->items, shift_position);
|
||||||
if(item->icon) {
|
if(item->icon) {
|
||||||
canvas_draw_icon_animation(canvas, 4 + (14 - item->icon->icon->width) / 2, 25 + (14 - item->icon->icon->height) / 2, item->icon);
|
canvas_draw_icon_animation(
|
||||||
|
canvas,
|
||||||
|
4 + (14 - item->icon->icon->width) / 2,
|
||||||
|
25 + (14 - item->icon->icon->height) / 2,
|
||||||
|
item->icon);
|
||||||
}
|
}
|
||||||
size_t scroll_counter = model->scroll_counter;
|
size_t scroll_counter = model->scroll_counter;
|
||||||
if(scroll_counter < 1) {
|
if(scroll_counter < 1) {
|
||||||
@@ -125,21 +130,17 @@ static void menu_draw_callback(Canvas* canvas, void* _model) {
|
|||||||
scroll_counter -= 1;
|
scroll_counter -= 1;
|
||||||
}
|
}
|
||||||
furi_string_set(name, item->label);
|
furi_string_set(name, item->label);
|
||||||
elements_scrollable_text_line(
|
elements_scrollable_text_line(canvas, 22, 36, 98, name, scroll_counter, false, false);
|
||||||
canvas,
|
|
||||||
22,
|
|
||||||
36,
|
|
||||||
98,
|
|
||||||
name,
|
|
||||||
scroll_counter,
|
|
||||||
false,
|
|
||||||
false);
|
|
||||||
// Third line
|
// Third line
|
||||||
canvas_set_font(canvas, FontSecondary);
|
canvas_set_font(canvas, FontSecondary);
|
||||||
shift_position = (2 + position + items_count - 1) % items_count;
|
shift_position = (2 + position + items_count - 1) % items_count;
|
||||||
item = MenuItemArray_get(model->items, shift_position);
|
item = MenuItemArray_get(model->items, shift_position);
|
||||||
if(item->icon) {
|
if(item->icon) {
|
||||||
canvas_draw_icon_animation(canvas, 4 + (14 - item->icon->icon->width) / 2, 47 + (14 - item->icon->icon->height) / 2, item->icon);
|
canvas_draw_icon_animation(
|
||||||
|
canvas,
|
||||||
|
4 + (14 - item->icon->icon->width) / 2,
|
||||||
|
47 + (14 - item->icon->icon->height) / 2,
|
||||||
|
item->icon);
|
||||||
}
|
}
|
||||||
canvas_draw_str(canvas, 22, 58, item->label);
|
canvas_draw_str(canvas, 22, 58, item->label);
|
||||||
// Frame and scrollbar
|
// Frame and scrollbar
|
||||||
@@ -255,8 +256,7 @@ Menu* menu_alloc() {
|
|||||||
view_set_enter_callback(menu->view, menu_enter);
|
view_set_enter_callback(menu->view, menu_enter);
|
||||||
view_set_exit_callback(menu->view, menu_exit);
|
view_set_exit_callback(menu->view, menu_exit);
|
||||||
|
|
||||||
menu->scroll_timer =
|
menu->scroll_timer = furi_timer_alloc(menu_scroll_timer_callback, FuriTimerTypePeriodic, menu);
|
||||||
furi_timer_alloc(menu_scroll_timer_callback, FuriTimerTypePeriodic, menu);
|
|
||||||
|
|
||||||
with_view_model(
|
with_view_model(
|
||||||
menu->view,
|
menu->view,
|
||||||
@@ -458,7 +458,7 @@ static void menu_process_right(Menu* menu) {
|
|||||||
if(model->position == count - 1) {
|
if(model->position == count - 1) {
|
||||||
model->position = 0;
|
model->position = 0;
|
||||||
} else if(model->position == count - 2) {
|
} else if(model->position == count - 2) {
|
||||||
model->position = count -1;
|
model->position = count - 1;
|
||||||
} else {
|
} else {
|
||||||
model->position += 2;
|
model->position += 2;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -177,7 +177,10 @@ static bool variable_item_list_input_callback(InputEvent* event, void* context)
|
|||||||
if((!(event->type == InputTypePress) && !(event->type == InputTypeRelease)) &&
|
if((!(event->type == InputTypePress) && !(event->type == InputTypeRelease)) &&
|
||||||
locked_message_visible) {
|
locked_message_visible) {
|
||||||
with_view_model(
|
with_view_model(
|
||||||
variable_item_list->view, VariableItemListModel * model, { model->locked_message_visible = false; }, true);
|
variable_item_list->view,
|
||||||
|
VariableItemListModel * model,
|
||||||
|
{ model->locked_message_visible = false; },
|
||||||
|
true);
|
||||||
consumed = true;
|
consumed = true;
|
||||||
} else if(event->type == InputTypeShort) {
|
} else if(event->type == InputTypeShort) {
|
||||||
switch(event->key) {
|
switch(event->key) {
|
||||||
@@ -301,7 +304,8 @@ void variable_item_list_process_left(VariableItemList* variable_item_list) {
|
|||||||
VariableItem* item = variable_item_list_get_selected_item(model);
|
VariableItem* item = variable_item_list_get_selected_item(model);
|
||||||
if(item->locked) {
|
if(item->locked) {
|
||||||
model->locked_message_visible = true;
|
model->locked_message_visible = true;
|
||||||
furi_timer_start(variable_item_list->locked_timer, furi_kernel_get_tick_frequency() * 3);
|
furi_timer_start(
|
||||||
|
variable_item_list->locked_timer, furi_kernel_get_tick_frequency() * 3);
|
||||||
} else if(item->current_value_index > 0) {
|
} else if(item->current_value_index > 0) {
|
||||||
item->current_value_index--;
|
item->current_value_index--;
|
||||||
model->scroll_counter = 0;
|
model->scroll_counter = 0;
|
||||||
@@ -321,7 +325,8 @@ void variable_item_list_process_right(VariableItemList* variable_item_list) {
|
|||||||
VariableItem* item = variable_item_list_get_selected_item(model);
|
VariableItem* item = variable_item_list_get_selected_item(model);
|
||||||
if(item->locked) {
|
if(item->locked) {
|
||||||
model->locked_message_visible = true;
|
model->locked_message_visible = true;
|
||||||
furi_timer_start(variable_item_list->locked_timer, furi_kernel_get_tick_frequency() * 3);
|
furi_timer_start(
|
||||||
|
variable_item_list->locked_timer, furi_kernel_get_tick_frequency() * 3);
|
||||||
} else if(item->current_value_index < (item->values_count - 1)) {
|
} else if(item->current_value_index < (item->values_count - 1)) {
|
||||||
item->current_value_index++;
|
item->current_value_index++;
|
||||||
model->scroll_counter = 0;
|
model->scroll_counter = 0;
|
||||||
@@ -341,7 +346,8 @@ void variable_item_list_process_ok(VariableItemList* variable_item_list) {
|
|||||||
VariableItem* item = variable_item_list_get_selected_item(model);
|
VariableItem* item = variable_item_list_get_selected_item(model);
|
||||||
if(item->locked) {
|
if(item->locked) {
|
||||||
model->locked_message_visible = true;
|
model->locked_message_visible = true;
|
||||||
furi_timer_start(variable_item_list->locked_timer, furi_kernel_get_tick_frequency() * 3);
|
furi_timer_start(
|
||||||
|
variable_item_list->locked_timer, furi_kernel_get_tick_frequency() * 3);
|
||||||
} else if(variable_item_list->callback) {
|
} else if(variable_item_list->callback) {
|
||||||
variable_item_list->callback(variable_item_list->context, model->position);
|
variable_item_list->callback(variable_item_list->context, model->position);
|
||||||
}
|
}
|
||||||
@@ -352,7 +358,10 @@ void variable_item_list_process_ok(VariableItemList* variable_item_list) {
|
|||||||
static void variable_item_list_scroll_timer_callback(void* context) {
|
static void variable_item_list_scroll_timer_callback(void* context) {
|
||||||
VariableItemList* variable_item_list = context;
|
VariableItemList* variable_item_list = context;
|
||||||
with_view_model(
|
with_view_model(
|
||||||
variable_item_list->view, VariableItemListModel * model, { model->scroll_counter++; }, true);
|
variable_item_list->view,
|
||||||
|
VariableItemListModel * model,
|
||||||
|
{ model->scroll_counter++; },
|
||||||
|
true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void variable_item_list_locked_timer_callback(void* context) {
|
void variable_item_list_locked_timer_callback(void* context) {
|
||||||
@@ -360,7 +369,10 @@ void variable_item_list_locked_timer_callback(void* context) {
|
|||||||
VariableItemList* variable_item_list = context;
|
VariableItemList* variable_item_list = context;
|
||||||
|
|
||||||
with_view_model(
|
with_view_model(
|
||||||
variable_item_list->view, VariableItemListModel * model, { model->locked_message_visible = false; }, true);
|
variable_item_list->view,
|
||||||
|
VariableItemListModel * model,
|
||||||
|
{ model->locked_message_visible = false; },
|
||||||
|
true);
|
||||||
}
|
}
|
||||||
|
|
||||||
VariableItemList* variable_item_list_alloc() {
|
VariableItemList* variable_item_list_alloc() {
|
||||||
@@ -372,7 +384,8 @@ VariableItemList* variable_item_list_alloc() {
|
|||||||
view_set_draw_callback(variable_item_list->view, variable_item_list_draw_callback);
|
view_set_draw_callback(variable_item_list->view, variable_item_list_draw_callback);
|
||||||
view_set_input_callback(variable_item_list->view, variable_item_list_input_callback);
|
view_set_input_callback(variable_item_list->view, variable_item_list_input_callback);
|
||||||
|
|
||||||
variable_item_list->locked_timer = furi_timer_alloc(variable_item_list_locked_timer_callback, FuriTimerTypeOnce, variable_item_list);
|
variable_item_list->locked_timer = furi_timer_alloc(
|
||||||
|
variable_item_list_locked_timer_callback, FuriTimerTypeOnce, variable_item_list);
|
||||||
|
|
||||||
with_view_model(
|
with_view_model(
|
||||||
variable_item_list->view,
|
variable_item_list->view,
|
||||||
@@ -384,8 +397,8 @@ VariableItemList* variable_item_list_alloc() {
|
|||||||
model->scroll_counter = 0;
|
model->scroll_counter = 0;
|
||||||
},
|
},
|
||||||
true);
|
true);
|
||||||
variable_item_list->scroll_timer =
|
variable_item_list->scroll_timer = furi_timer_alloc(
|
||||||
furi_timer_alloc(variable_item_list_scroll_timer_callback, FuriTimerTypePeriodic, variable_item_list);
|
variable_item_list_scroll_timer_callback, FuriTimerTypePeriodic, variable_item_list);
|
||||||
furi_timer_start(variable_item_list->scroll_timer, 333);
|
furi_timer_start(variable_item_list->scroll_timer, 333);
|
||||||
|
|
||||||
return variable_item_list;
|
return variable_item_list;
|
||||||
|
|||||||
@@ -47,7 +47,8 @@ void furi_hal_light_set(Light light, uint8_t value) {
|
|||||||
if(XTREME_SETTINGS()->rgb_backlight) {
|
if(XTREME_SETTINGS()->rgb_backlight) {
|
||||||
rgb_backlight_update(value);
|
rgb_backlight_update(value);
|
||||||
} else {
|
} else {
|
||||||
uint8_t prev = lp5562_get_channel_value(&furi_hal_i2c_handle_power, LP5562ChannelWhite);
|
uint8_t prev =
|
||||||
|
lp5562_get_channel_value(&furi_hal_i2c_handle_power, LP5562ChannelWhite);
|
||||||
lp5562_execute_ramp(
|
lp5562_execute_ramp(
|
||||||
&furi_hal_i2c_handle_power, LP5562Engine1, LP5562ChannelWhite, prev, value, 100);
|
&furi_hal_i2c_handle_power, LP5562Engine1, LP5562ChannelWhite, prev, value, 100);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,9 +52,7 @@ class Main(App):
|
|||||||
if not self.args.launch_app:
|
if not self.args.launch_app:
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
storage.send_and_wait_eol(
|
storage.send_and_wait_eol(f'loader open "Apps" {fap_dst_path}\r')
|
||||||
f'loader open "Apps" {fap_dst_path}\r'
|
|
||||||
)
|
|
||||||
|
|
||||||
if len(result := storage.read.until(storage.CLI_EOL)):
|
if len(result := storage.read.until(storage.CLI_EOL)):
|
||||||
self.logger.error(f"Unexpected response: {result.decode('ascii')}")
|
self.logger.error(f"Unexpected response: {result.decode('ascii')}")
|
||||||
|
|||||||
Reference in New Issue
Block a user