mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-17 04:34:44 -07:00
Show xfwfirstboot slideshow on click version text
This commit is contained in:
@@ -47,6 +47,13 @@ bool xtreme_app_scene_start_on_event(void* context, SceneManagerEvent event) {
|
||||
case VarItemListIndexMisc:
|
||||
scene_manager_next_scene(app->scene_manager, XtremeAppSceneMisc);
|
||||
break;
|
||||
case VarItemListIndexVersion: {
|
||||
if(storage_common_copy(furi_record_open(RECORD_STORAGE), EXT_PATH("dolphin/xfwfirstboot.bin"), EXT_PATH(".slideshow"))) {
|
||||
app->show_slideshow = true;
|
||||
xtreme_app_apply(app);
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -11,11 +11,7 @@ void callback_reboot(void* context) {
|
||||
power_reboot(PowerBootModeNormal);
|
||||
}
|
||||
|
||||
static bool xtreme_app_back_event_callback(void* context) {
|
||||
furi_assert(context);
|
||||
XtremeApp* app = context;
|
||||
|
||||
if(!scene_manager_has_previous_scene(app->scene_manager, XtremeAppSceneStart)) {
|
||||
bool xtreme_app_apply(XtremeApp* app) {
|
||||
Storage* storage = furi_record_open(RECORD_STORAGE);
|
||||
|
||||
if(app->save_mainmenu_apps) {
|
||||
@@ -122,6 +118,10 @@ static bool xtreme_app_back_event_callback(void* context) {
|
||||
XTREME_SETTINGS_SAVE();
|
||||
}
|
||||
|
||||
if(app->show_slideshow) {
|
||||
callback_reboot(NULL);
|
||||
}
|
||||
|
||||
if(app->require_reboot) {
|
||||
popup_set_header(app->popup, "Rebooting...", 64, 26, AlignCenter, AlignCenter);
|
||||
popup_set_text(app->popup, "Applying changes...", 64, 40, AlignCenter, AlignCenter);
|
||||
@@ -134,6 +134,17 @@ static bool xtreme_app_back_event_callback(void* context) {
|
||||
}
|
||||
|
||||
furi_record_close(RECORD_STORAGE);
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool xtreme_app_back_event_callback(void* context) {
|
||||
furi_assert(context);
|
||||
XtremeApp* app = context;
|
||||
|
||||
if(!scene_manager_has_previous_scene(app->scene_manager, XtremeAppSceneStart)) {
|
||||
if(xtreme_app_apply(app)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return scene_manager_handle_back_event(app->scene_manager);
|
||||
|
||||
@@ -65,6 +65,7 @@ typedef struct {
|
||||
bool save_level;
|
||||
bool save_backlight;
|
||||
bool save_settings;
|
||||
bool show_slideshow;
|
||||
bool require_reboot;
|
||||
} XtremeApp;
|
||||
|
||||
@@ -73,3 +74,5 @@ typedef enum {
|
||||
XtremeAppViewTextInput,
|
||||
XtremeAppViewPopup,
|
||||
} XtremeAppView;
|
||||
|
||||
bool xtreme_app_apply(XtremeApp* app);
|
||||
|
||||
@@ -126,6 +126,14 @@ class Main(App):
|
||||
)
|
||||
if self.args.resources:
|
||||
resources_basename = self.RESOURCE_FILE_NAME
|
||||
SlideshowMain(no_exit=True)(
|
||||
[
|
||||
"-i",
|
||||
str(pathlib.Path(self.args.resources).parent / "slideshow/xfwfirstboot"),
|
||||
"-o",
|
||||
str(pathlib.Path(self.args.resources) / "dolphin/xfwfirstboot.bin"),
|
||||
]
|
||||
)
|
||||
if not self.package_resources(
|
||||
self.args.resources, join(self.args.directory, resources_basename)
|
||||
):
|
||||
|
||||
Reference in New Issue
Block a user