Explorar el Código

[FL-3312] fix PIN retry count reset on reboot (#2671)

あく hace 2 años
padre
commit
341cd5e860

+ 1 - 1
applications/services/desktop/desktop.c

@@ -135,7 +135,6 @@ static void desktop_auto_lock_inhibit(Desktop* desktop) {
 
 void desktop_lock(Desktop* desktop) {
     furi_hal_rtc_set_flag(FuriHalRtcFlagLock);
-    furi_hal_rtc_set_pin_fails(0);
 
     if(desktop->settings.pin_code.length) {
         Cli* cli = furi_record_open(RECORD_CLI);
@@ -159,6 +158,7 @@ void desktop_unlock(Desktop* desktop) {
     scene_manager_search_and_switch_to_previous_scene(desktop->scene_manager, DesktopSceneMain);
     desktop_auto_lock_arm(desktop);
     furi_hal_rtc_reset_flag(FuriHalRtcFlagLock);
+    furi_hal_rtc_set_pin_fails(0);
 
     if(desktop->settings.pin_code.length) {
         Cli* cli = furi_record_open(RECORD_CLI);

+ 0 - 1
applications/services/desktop/scenes/desktop_scene_pin_input.c

@@ -55,7 +55,6 @@ static void desktop_scene_pin_input_back_callback(void* context) {
 static void desktop_scene_pin_input_done_callback(const PinCode* pin_code, void* context) {
     Desktop* desktop = (Desktop*)context;
     if(desktop_pin_compare(&desktop->settings.pin_code, pin_code)) {
-        furi_hal_rtc_set_pin_fails(0);
         view_dispatcher_send_custom_event(desktop->view_dispatcher, DesktopPinInputEventUnlocked);
     } else {
         uint32_t pin_fails = furi_hal_rtc_get_pin_fails();