MX 1 рік тому
батько
коміт
ce3fd73e9c

+ 1 - 1
application.fam

@@ -7,7 +7,7 @@ App(
     requires=["gui", "cli", "dialogs", "storage", "input", "notification", "bt"],
     requires=["gui", "cli", "dialogs", "storage", "input", "notification", "bt"],
     stack_size=2 * 1024,
     stack_size=2 * 1024,
     order=20,
     order=20,
-    fap_version="5.100",
+    fap_version="5.110",
     fap_author="Alexander Kopachov (@akopachov)",
     fap_author="Alexander Kopachov (@akopachov)",
     fap_description="Software-based TOTP/HOTP authenticator for Flipper Zero device",
     fap_description="Software-based TOTP/HOTP authenticator for Flipper Zero device",
     fap_weburl="https://github.com/akopachov/flipper-zero_authenticator",
     fap_weburl="https://github.com/akopachov/flipper-zero_authenticator",

+ 15 - 6
ui/scenes/authenticate/totp_scene_authenticate.c

@@ -1,6 +1,9 @@
 #include "totp_scene_authenticate.h"
 #include "totp_scene_authenticate.h"
 #include <dialogs/dialogs.h>
 #include <dialogs/dialogs.h>
 #include <totp_icons.h>
 #include <totp_icons.h>
+#if __has_include(<assets_icons.h>)
+#include <assets_icons.h>
+#endif
 #include "../../../types/common.h"
 #include "../../../types/common.h"
 #include "../../constants.h"
 #include "../../constants.h"
 #include "../../../services/config/config.h"
 #include "../../../services/config/config.h"
@@ -79,12 +82,18 @@ bool totp_scene_authenticate_handle_event(
         return true;
         return true;
     }
     }
 
 
-    if(event->input.type == InputTypeLong && event->input.key == InputKeyBack) {
+    if(event->input.type == InputTypeShort && event->input.key == InputKeyBack) {
         return false;
         return false;
     }
     }
 
 
     SceneState* scene_state = plugin_state->current_scene_state;
     SceneState* scene_state = plugin_state->current_scene_state;
-    if(event->input.type == InputTypePress) {
+    if((event->input.type == InputTypeLong || event->input.type == InputTypeRepeat) &&
+       event->input.key == InputKeyBack) {
+        if(scene_state->code_length > 0) {
+            scene_state->code_input[scene_state->code_length - 1] = 0;
+            scene_state->code_length--;
+        }
+    } else if(event->input.type == InputTypePress) {
         switch(event->input.key) {
         switch(event->input.key) {
         case InputKeyUp:
         case InputKeyUp:
             if(scene_state->code_length < MAX_CODE_LENGTH) {
             if(scene_state->code_length < MAX_CODE_LENGTH) {
@@ -139,17 +148,17 @@ bool totp_scene_authenticate_handle_event(
                     SCREEN_HEIGHT_CENTER - 5,
                     SCREEN_HEIGHT_CENTER - 5,
                     AlignCenter,
                     AlignCenter,
                     AlignCenter);
                     AlignCenter);
+#if __has_include(<assets_icons.h>)
+                dialog_message_set_icon(message, &I_WarningDolphinFlip_45x42, 83, 22);
+#else
                 dialog_message_set_icon(message, &I_DolphinCommon_56x48, 72, 17);
                 dialog_message_set_icon(message, &I_DolphinCommon_56x48, 72, 17);
+#endif
                 dialog_message_show(plugin_state->dialogs_app, message);
                 dialog_message_show(plugin_state->dialogs_app, message);
                 dialog_message_free(message);
                 dialog_message_free(message);
             }
             }
             break;
             break;
         }
         }
         case InputKeyBack:
         case InputKeyBack:
-            if(scene_state->code_length > 0) {
-                scene_state->code_input[scene_state->code_length - 1] = 0;
-                scene_state->code_length--;
-            }
             break;
             break;
         default:
         default:
             break;
             break;

+ 1 - 1
ui/scenes/generate_token/totp_scene_generate_token.c

@@ -335,7 +335,7 @@ bool totp_scene_generate_token_handle_event(
         return true;
         return true;
     }
     }
 
 
-    if(event->input.type == InputTypeLong && event->input.key == InputKeyBack) {
+    if(event->input.type == InputTypePress && event->input.key == InputKeyBack) {
         return false;
         return false;
     }
     }
 
 

+ 8 - 1
ui/scenes/standby/standby.c

@@ -1,12 +1,19 @@
 #include "standby.h"
 #include "standby.h"
+#if __has_include(<assets_icons.h>)
+#include <assets_icons.h>
+#endif
 #include <totp_icons.h>
 #include <totp_icons.h>
 #include "../../constants.h"
 #include "../../constants.h"
 
 
 void totp_scene_standby_render(Canvas* const canvas) {
 void totp_scene_standby_render(Canvas* const canvas) {
+#if __has_include(<assets_icons.h>)
+    canvas_draw_icon(canvas, SCREEN_WIDTH - 50, SCREEN_HEIGHT - 44, &I_WarningDolphinFlip_45x42);
+#else
     canvas_draw_icon(canvas, SCREEN_WIDTH - 56, SCREEN_HEIGHT - 48, &I_DolphinCommon_56x48);
     canvas_draw_icon(canvas, SCREEN_WIDTH - 56, SCREEN_HEIGHT - 48, &I_DolphinCommon_56x48);
+#endif
 
 
     canvas_set_font(canvas, FontPrimary);
     canvas_set_font(canvas, FontPrimary);
     canvas_draw_str_aligned(canvas, 5, 10, AlignLeft, AlignTop, "CLI command");
     canvas_draw_str_aligned(canvas, 5, 10, AlignLeft, AlignTop, "CLI command");
 
 
     canvas_draw_str_aligned(canvas, 5, 24, AlignLeft, AlignTop, "is running now");
     canvas_draw_str_aligned(canvas, 5, 24, AlignLeft, AlignTop, "is running now");
-}
+}

+ 1 - 1
version.h

@@ -1,5 +1,5 @@
 #pragma once
 #pragma once
 
 
 #define TOTP_APP_VERSION_MAJOR (5)
 #define TOTP_APP_VERSION_MAJOR (5)
-#define TOTP_APP_VERSION_MINOR (10)
+#define TOTP_APP_VERSION_MINOR (11)
 #define TOTP_APP_VERSION_PATCH (0)
 #define TOTP_APP_VERSION_PATCH (0)