Skip to content

Commit e81e67e

Browse files
committed
acknowledgements
1 parent 0d682ee commit e81e67e

4 files changed

+62
-1
lines changed

acknowledgements.h

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
const char* acknowledgements_text =
2+
"The developers of Picopass would like to humbly acknowledge the work of those who came before and made this possible.\nWe stand on the shoulders of giants.\nFlavio D. Garcia, Gerhard de Koning Gans, Roel Verdult and Milosch Meriac for their research on iClass. Martin HS (holiman) for their work on the loclass library. Iceman and the Proxmark3 community.";
+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
#include "../picopass_i.h"
2+
#include <dolphin/dolphin.h>
3+
#include "../acknowledgements.h"
4+
5+
void picopass_scene_acknowledgements_widget_callback(
6+
GuiButtonType result,
7+
InputType type,
8+
void* context) {
9+
Picopass* picopass = context;
10+
if(type == InputTypeShort) {
11+
view_dispatcher_send_custom_event(picopass->view_dispatcher, result);
12+
}
13+
}
14+
15+
void picopass_scene_acknowledgements_on_enter(void* context) {
16+
Picopass* picopass = context;
17+
18+
furi_string_reset(picopass->text_box_store);
19+
20+
FuriString* str = picopass->text_box_store;
21+
furi_string_cat_printf(str, "%s\n", acknowledgements_text);
22+
23+
text_box_set_font(picopass->text_box, TextBoxFontText);
24+
text_box_set_text(picopass->text_box, furi_string_get_cstr(picopass->text_box_store));
25+
view_dispatcher_switch_to_view(picopass->view_dispatcher, PicopassViewTextBox);
26+
}
27+
28+
bool picopass_scene_acknowledgements_on_event(void* context, SceneManagerEvent event) {
29+
Picopass* picopass = context;
30+
bool consumed = false;
31+
32+
if(event.type == SceneManagerEventTypeCustom) {
33+
if(event.event == GuiButtonTypeLeft) {
34+
consumed = scene_manager_previous_scene(picopass->scene_manager);
35+
}
36+
} else if(event.type == SceneManagerEventTypeBack) {
37+
consumed = scene_manager_previous_scene(picopass->scene_manager);
38+
}
39+
return consumed;
40+
}
41+
42+
void picopass_scene_acknowledgements_on_exit(void* context) {
43+
Picopass* picopass = context;
44+
45+
// Clear views
46+
text_box_reset(picopass->text_box);
47+
}

scenes/picopass_scene_config.h

+1
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,4 @@ ADD_SCENE(picopass, key_input, KeyInput)
2222
ADD_SCENE(picopass, nr_mac_saved, NrMacSaved)
2323
ADD_SCENE(picopass, more_info, MoreInfo)
2424
ADD_SCENE(picopass, formats, Formats)
25+
ADD_SCENE(picopass, acknowledgements, Acknowledgements)

scenes/picopass_scene_start.c

+12-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ enum SubmenuIndex {
33
SubmenuIndexRead,
44
SubmenuIndexSaved,
55
SubmenuIndexLoclass,
6+
SubmenuIndexAcknowledgements,
67
};
78

89
void picopass_scene_start_submenu_callback(void* context, uint32_t index) {
@@ -17,9 +18,14 @@ void picopass_scene_start_on_enter(void* context) {
1718
submenu, "Read Card", SubmenuIndexRead, picopass_scene_start_submenu_callback, picopass);
1819
submenu_add_item(
1920
submenu, "Saved", SubmenuIndexSaved, picopass_scene_start_submenu_callback, picopass);
20-
2121
submenu_add_item(
2222
submenu, "Loclass", SubmenuIndexLoclass, picopass_scene_start_submenu_callback, picopass);
23+
submenu_add_item(
24+
submenu,
25+
"Acknowledgements",
26+
SubmenuIndexAcknowledgements,
27+
picopass_scene_start_submenu_callback,
28+
picopass);
2329

2430
submenu_set_selected_item(
2531
submenu, scene_manager_get_scene_state(picopass->scene_manager, PicopassSceneStart));
@@ -49,6 +55,11 @@ bool picopass_scene_start_on_event(void* context, SceneManagerEvent event) {
4955
picopass->scene_manager, PicopassSceneStart, PicopassSceneLoclass);
5056
scene_manager_next_scene(picopass->scene_manager, PicopassSceneLoclass);
5157
consumed = true;
58+
} else if(event.event == SubmenuIndexAcknowledgements) {
59+
scene_manager_set_scene_state(
60+
picopass->scene_manager, PicopassSceneStart, PicopassSceneAcknowledgements);
61+
scene_manager_next_scene(picopass->scene_manager, PicopassSceneAcknowledgements);
62+
consumed = true;
5263
}
5364
}
5465

0 commit comments

Comments
 (0)