|
@@ -0,0 +1,65 @@
|
|
|
|
|
+#include "../passy_i.h"
|
|
|
|
|
+
|
|
|
|
|
+#define TAG "PassySceneReadCardSuccess"
|
|
|
|
|
+
|
|
|
|
|
+void passy_scene_adv_warning_widget_callback(GuiButtonType result, InputType type, void* context) {
|
|
|
|
|
+ furi_assert(context);
|
|
|
|
|
+ Passy* passy = context;
|
|
|
|
|
+
|
|
|
|
|
+ if(type == InputTypeShort) {
|
|
|
|
|
+ view_dispatcher_send_custom_event(passy->view_dispatcher, result);
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+void passy_scene_adv_warning_on_enter(void* context) {
|
|
|
|
|
+ Passy* passy = context;
|
|
|
|
|
+ Widget* widget = passy->widget;
|
|
|
|
|
+
|
|
|
|
|
+ FuriString* first_str = furi_string_alloc_set("These DG may require");
|
|
|
|
|
+ FuriString* second_str = furi_string_alloc_set("advanced authentication.\n");
|
|
|
|
|
+ FuriString* third_str = furi_string_alloc_set("Do not expect them to work.\n");
|
|
|
|
|
+ FuriString* fourth_str = furi_string_alloc_set("Do not open issues for them.\n");
|
|
|
|
|
+
|
|
|
|
|
+ widget_add_string_element(
|
|
|
|
|
+ widget, 64, 8, AlignCenter, AlignCenter, FontPrimary, furi_string_get_cstr(first_str));
|
|
|
|
|
+ widget_add_string_element(
|
|
|
|
|
+ widget, 64, 20, AlignCenter, AlignCenter, FontPrimary, furi_string_get_cstr(second_str));
|
|
|
|
|
+ widget_add_string_element(
|
|
|
|
|
+ widget, 0, 32, AlignLeft, AlignCenter, FontSecondary, furi_string_get_cstr(third_str));
|
|
|
|
|
+ widget_add_string_element(
|
|
|
|
|
+ widget, 0, 44, AlignLeft, AlignCenter, FontSecondary, furi_string_get_cstr(fourth_str));
|
|
|
|
|
+
|
|
|
|
|
+ widget_add_button_element(
|
|
|
|
|
+ widget, GuiButtonTypeCenter, "OK", passy_scene_adv_warning_widget_callback, passy);
|
|
|
|
|
+
|
|
|
|
|
+ furi_string_free(first_str);
|
|
|
|
|
+ furi_string_free(second_str);
|
|
|
|
|
+ furi_string_free(third_str);
|
|
|
|
|
+ furi_string_free(fourth_str);
|
|
|
|
|
+
|
|
|
|
|
+ view_dispatcher_switch_to_view(passy->view_dispatcher, PassyViewWidget);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+bool passy_scene_adv_warning_on_event(void* context, SceneManagerEvent event) {
|
|
|
|
|
+ Passy* passy = context;
|
|
|
|
|
+ bool consumed = false;
|
|
|
|
|
+
|
|
|
|
|
+ if(event.type == SceneManagerEventTypeCustom) {
|
|
|
|
|
+ if(event.event == GuiButtonTypeLeft) {
|
|
|
|
|
+ consumed = scene_manager_previous_scene(passy->scene_manager);
|
|
|
|
|
+ } else if(event.event == GuiButtonTypeCenter) {
|
|
|
|
|
+ passy->read_type = PassyReadCOM;
|
|
|
|
|
+ scene_manager_next_scene(passy->scene_manager, PassySceneRead);
|
|
|
|
|
+ }
|
|
|
|
|
+ } else if(event.type == SceneManagerEventTypeBack) {
|
|
|
|
|
+ consumed = scene_manager_previous_scene(passy->scene_manager);
|
|
|
|
|
+ }
|
|
|
|
|
+ return consumed;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+void passy_scene_adv_warning_on_exit(void* context) {
|
|
|
|
|
+ Passy* passy = context;
|
|
|
|
|
+
|
|
|
|
|
+ // Clear view
|
|
|
|
|
+ widget_reset(passy->widget);
|
|
|
|
|
+}
|