@@ -11,67 +11,67 @@ void hex_viewer_scene_startscreen_callback(HexViewerCustomEvent event, void* con
11
11
void hex_viewer_scene_startscreen_on_enter (void * context ) {
12
12
furi_assert (context );
13
13
HexViewer * app = context ;
14
- hex_viewer_startscreen_set_callback (app -> hex_viewer_startscreen , hex_viewer_scene_startscreen_callback , app );
14
+ hex_viewer_startscreen_set_callback (
15
+ app -> hex_viewer_startscreen , hex_viewer_scene_startscreen_callback , app );
15
16
view_dispatcher_switch_to_view (app -> view_dispatcher , HexViewerViewIdStartscreen );
16
17
}
17
18
18
19
bool hex_viewer_scene_startscreen_on_event (void * context , SceneManagerEvent event ) {
19
20
HexViewer * app = context ;
20
21
bool consumed = false;
21
-
22
+ uint32_t last_byte_on_screen ;
23
+
22
24
if (event .type == SceneManagerEventTypeCustom ) {
23
25
switch (event .event ) {
24
- case HexViewerCustomEventStartscreenLeft :
25
- app -> model -> mode = !app -> model -> mode ;
26
- consumed = true;
27
- break ;
28
- case HexViewerCustomEventStartscreenRight :
29
- // TODO Dialog
30
- consumed = true;
31
- break ;
32
- case HexViewerCustomEventStartscreenUp :
33
- //furi_check(furi_mutex_acquire(hex_viewer->mutex, FuriWaitForever) == FuriStatusOk);
34
- if (app -> model -> file_offset > 0 ) {
35
- app -> model -> file_offset -= HEX_VIEWER_BYTES_PER_LINE ;
36
- if (!hex_viewer_read_file (app )) break ;
37
- }
38
- consumed = true;
39
- //furi_mutex_release(hex_viewer->mutex);
40
- break ;
41
- case HexViewerCustomEventStartscreenDown :
42
- {
43
- //furi_check(furi_mutex_acquire(hex_viewer->mutex, FuriWaitForever) == FuriStatusOk);
44
- uint32_t last_byte_on_screen =
45
- app -> model -> file_offset + app -> model -> file_read_bytes ;
26
+ case HexViewerCustomEventStartscreenLeft :
27
+ //app->model->mode = !app->model->mode;
28
+ consumed = true;
29
+ break ;
30
+ case HexViewerCustomEventStartscreenRight :
31
+ // TODO Dialog
32
+ consumed = true;
33
+ break ;
34
+ case HexViewerCustomEventStartscreenUp :
35
+ //furi_check(furi_mutex_acquire(hex_viewer->mutex, FuriWaitForever) == FuriStatusOk);
36
+ if (app -> model -> file_offset > 0 ) {
37
+ app -> model -> file_offset -= HEX_VIEWER_BYTES_PER_LINE ;
38
+ if (!hex_viewer_read_file (app )) break ; // TODO Do smth
39
+ }
40
+ consumed = true;
41
+ //furi_mutex_release(hex_viewer->mutex);
42
+ break ;
43
+ case HexViewerCustomEventStartscreenDown :
44
+ //furi_check(furi_mutex_acquire(hex_viewer->mutex, FuriWaitForever) == FuriStatusOk);
45
+ last_byte_on_screen = app -> model -> file_offset + app -> model -> file_read_bytes ;
46
46
47
- if (app -> model -> file_size > last_byte_on_screen ) {
48
- app -> model -> file_offset += HEX_VIEWER_BYTES_PER_LINE ;
49
- if (!hex_viewer_read_file (app )) break ; // TODO Do smth
50
- }
51
- consumed = true;
52
- //furi_mutex_release(hex_viewer->mutex);
53
- break ;
47
+ if (app -> model -> file_size > last_byte_on_screen ) {
48
+ app -> model -> file_offset += HEX_VIEWER_BYTES_PER_LINE ;
49
+ if (!hex_viewer_read_file (app )) break ; // TODO Do smth
54
50
}
55
- case HexViewerCustomEventStartscreenOk :
56
- if (!app -> model -> file_size ) // TODO
57
- scene_manager_next_scene (app -> scene_manager , HexViewerSceneScene_4 );
58
- else scene_manager_next_scene (app -> scene_manager , HexViewerSceneMenu );
59
- consumed = true;
60
- break ;
61
- case HexViewerCustomEventStartscreenBack : // TODO DElete
62
- notification_message (app -> notification , & sequence_reset_red );
63
- notification_message (app -> notification , & sequence_reset_green );
64
- notification_message (app -> notification , & sequence_reset_blue );
65
- if (!scene_manager_search_and_switch_to_previous_scene (
66
- app -> scene_manager , HexViewerSceneStartscreen )) {
67
- scene_manager_stop (app -> scene_manager );
68
- view_dispatcher_stop (app -> view_dispatcher );
69
- }
70
- consumed = true;
71
- break ;
51
+ consumed = true;
52
+ //furi_mutex_release(hex_viewer->mutex);
53
+ break ;
54
+ case HexViewerCustomEventStartscreenOk :
55
+ if (!app -> model -> file_size ) // TODO
56
+ scene_manager_next_scene (app -> scene_manager , HexViewerSceneScene_4 );
57
+ else
58
+ scene_manager_next_scene (app -> scene_manager , HexViewerSceneMenu );
59
+ consumed = true;
60
+ break ;
61
+ case HexViewerCustomEventStartscreenBack : // TODO Delete
62
+ notification_message (app -> notification , & sequence_reset_red );
63
+ notification_message (app -> notification , & sequence_reset_green );
64
+ notification_message (app -> notification , & sequence_reset_blue );
65
+ if (!scene_manager_search_and_switch_to_previous_scene (
66
+ app -> scene_manager , HexViewerSceneStartscreen )) {
67
+ scene_manager_stop (app -> scene_manager );
68
+ view_dispatcher_stop (app -> view_dispatcher );
69
+ }
70
+ consumed = true;
71
+ break ;
72
72
}
73
73
}
74
-
74
+
75
75
return consumed ;
76
76
}
77
77
0 commit comments