@@ -81,10 +81,18 @@ MassStorageApp* mass_storage_app_alloc(char* arg) {
81
81
MassStorageAppViewStart ,
82
82
variable_item_list_get_view (app -> variable_item_list ));
83
83
84
+ app -> widget = widget_alloc ();
85
+ view_dispatcher_add_view (
86
+ app -> view_dispatcher , MassStorageAppViewWidget , widget_get_view (app -> widget ));
87
+
84
88
view_dispatcher_attach_to_gui (app -> view_dispatcher , app -> gui , ViewDispatcherTypeFullscreen );
85
89
86
90
if (storage_file_exists (app -> fs_api , furi_string_get_cstr (app -> file_path ))) {
87
- scene_manager_next_scene (app -> scene_manager , MassStorageSceneWork );
91
+ if (!furi_hal_usb_is_locked ()) {
92
+ scene_manager_next_scene (app -> scene_manager , MassStorageSceneWork );
93
+ } else {
94
+ scene_manager_next_scene (app -> scene_manager , MassStorageSceneUsbLocked );
95
+ }
88
96
} else {
89
97
scene_manager_next_scene (app -> scene_manager , MassStorageSceneStart );
90
98
}
@@ -100,11 +108,13 @@ void mass_storage_app_free(MassStorageApp* app) {
100
108
view_dispatcher_remove_view (app -> view_dispatcher , MassStorageAppViewTextInput );
101
109
view_dispatcher_remove_view (app -> view_dispatcher , MassStorageAppViewStart );
102
110
view_dispatcher_remove_view (app -> view_dispatcher , MassStorageAppViewLoading );
111
+ view_dispatcher_remove_view (app -> view_dispatcher , MassStorageAppViewWidget );
103
112
104
113
mass_storage_free (app -> mass_storage_view );
105
114
text_input_free (app -> text_input );
106
115
variable_item_list_free (app -> variable_item_list );
107
116
loading_free (app -> loading );
117
+ widget_free (app -> widget );
108
118
109
119
// View dispatcher
110
120
view_dispatcher_free (app -> view_dispatcher );
@@ -113,9 +123,9 @@ void mass_storage_app_free(MassStorageApp* app) {
113
123
furi_string_free (app -> file_path );
114
124
115
125
// Close records
116
- furi_record_close ("gui" );
117
- furi_record_close ("storage" );
118
- furi_record_close ("dialogs" );
126
+ furi_record_close (RECORD_GUI );
127
+ furi_record_close (RECORD_STORAGE );
128
+ furi_record_close (RECORD_DIALOGS );
119
129
120
130
free (app );
121
131
}
0 commit comments