From d4ceb95b28aff37d153a7cae5281aa961b9a80c0 Mon Sep 17 00:00:00 2001 From: Willy-JL <49810075+Willy-JL@users.noreply.github.com> Date: Wed, 7 Aug 2024 21:22:36 +0200 Subject: [PATCH] Simplify dolphin reset butthurt timer when disabled --- applications/services/dolphin/dolphin.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/applications/services/dolphin/dolphin.c b/applications/services/dolphin/dolphin.c index f685fa691..6748268c8 100644 --- a/applications/services/dolphin/dolphin.c +++ b/applications/services/dolphin/dolphin.c @@ -193,6 +193,15 @@ static void dolphin_update_clear_limits_timer_period(void* context) { FURI_LOG_D(TAG, "Daily limits reset in %lu ms", time_to_clear_limits); } +static void dolphin_reset_butthurt_timer(Dolphin* dolphin) { + uint32_t period_ticks = BUTTHURT_INCREASE_PERIOD_TICKS; + if(period_ticks > 0) { + furi_event_loop_timer_start(dolphin->butthurt_timer, period_ticks); + } else { + furi_eventloop_timer_stop(dolphin->butthurt_timer); + } +} + static bool dolphin_process_event(FuriMessageQueue* queue, void* context) { UNUSED(queue); @@ -207,9 +216,7 @@ static bool dolphin_process_event(FuriMessageQueue* queue, void* context) { DolphinPubsubEvent event = DolphinPubsubEventUpdate; furi_pubsub_publish(dolphin->pubsub, &event); - if(BUTTHURT_INCREASE_PERIOD_TICKS > 0) { - furi_event_loop_timer_start(dolphin->butthurt_timer, BUTTHURT_INCREASE_PERIOD_TICKS); - } + dolphin_reset_butthurt_timer(dolphin); furi_event_loop_timer_start(dolphin->flush_timer, FLUSH_TIMEOUT_TICKS); } else if(event.type == DolphinEventTypeStats) { @@ -229,7 +236,7 @@ static bool dolphin_process_event(FuriMessageQueue* queue, void* context) { } else if(event.type == DolphinEventTypeReloadState) { dolphin_state_load(dolphin->state); - furi_event_loop_timer_start(dolphin->butthurt_timer, BUTTHURT_INCREASE_PERIOD_TICKS); + dolphin_reset_butthurt_timer(dolphin); } else { furi_crash(); @@ -290,9 +297,7 @@ int32_t dolphin_srv(void* p) { dolphin_process_event, dolphin); - if(BUTTHURT_INCREASE_PERIOD_TICKS > 0) { - furi_event_loop_timer_start(dolphin->butthurt_timer, BUTTHURT_INCREASE_PERIOD_TICKS); - } + dolphin_reset_butthurt_timer(dolphin); furi_event_loop_timer_start(dolphin->clear_limits_timer, CLEAR_LIMITS_PERIOD_TICKS); furi_event_loop_tick_set(