|
7 | 7 | #include "helpers/protopirate_settings.h" |
8 | 8 | #include "helpers/protopirate_storage.h" |
9 | 9 | #include "protocols/keys.h" |
| 10 | +#include <string.h> |
10 | 11 |
|
11 | 12 | #define TAG "ProtoPirateApp" |
12 | 13 |
|
@@ -206,9 +207,6 @@ ProtoPirateApp* protopirate_app_alloc() { |
206 | 207 | subghz_worker_set_pair_callback( |
207 | 208 | app->txrx->worker, (SubGhzWorkerPairCallback)subghz_receiver_decode); |
208 | 209 | subghz_worker_set_context(app->txrx->worker, app->txrx->receiver); |
209 | | - |
210 | | - scene_manager_next_scene(app->scene_manager, ProtoPirateSceneStart); |
211 | | - |
212 | 210 | return app; |
213 | 211 | } |
214 | 212 |
|
@@ -311,13 +309,19 @@ void protopirate_app_free(ProtoPirateApp* app) { |
311 | 309 | free(app); |
312 | 310 | } |
313 | 311 |
|
314 | | -int32_t protopirate_app(void* p) { |
315 | | - UNUSED(p); |
316 | | - |
| 312 | +int32_t protopirate_app(char* p) { |
317 | 313 | furi_hal_power_suppress_charge_enter(); |
318 | 314 |
|
319 | 315 | ProtoPirateApp* protopirate_app = protopirate_app_alloc(); |
320 | 316 |
|
| 317 | + //Handle Command line PSF that may have been passed to us, load in Saved Info Scene. |
| 318 | + bool load_saved = (p && strlen(p)); |
| 319 | + if(load_saved) protopirate_app->loaded_file_path = furi_string_alloc_set(p); |
| 320 | + |
| 321 | + scene_manager_next_scene( |
| 322 | + protopirate_app->scene_manager, |
| 323 | + (load_saved) ? ProtoPirateSceneSavedInfo : ProtoPirateSceneStart); |
| 324 | + |
321 | 325 | view_dispatcher_run(protopirate_app->view_dispatcher); |
322 | 326 |
|
323 | 327 | protopirate_app_free(protopirate_app); |
|
0 commit comments