diff --git a/CHANGELOG.md b/CHANGELOG.md index 68660155c..66a9078e0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -175,6 +175,7 @@ - OFW: Prevent idle priority threads from potentially starving the FreeRTOS idle task (by @CookiePLMonster) - OFW: Wait for RNG ready state and no errors before sampling (by @n1kolasM) - OFW: A Lot of Fixes (by @skotopes) +- OFW: CLI: Add warning about stealth mode in vibro command (by @ivanbarsukov) - OFW: Debug: Use proper hook for handle_exit in flipperapps (by @skotopes) - OFW: API: Fix kerel typo in documentation (by @EntranceJew) diff --git a/applications/services/cli/cli_commands.c b/applications/services/cli/cli_commands.c index 1d21c07f6..a305ae734 100644 --- a/applications/services/cli/cli_commands.c +++ b/applications/services/cli/cli_commands.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -487,13 +488,24 @@ void cli_command_sysctl(Cli* cli, FuriString* args, void* context) { void cli_command_vibro(Cli* cli, FuriString* args, void* context) { UNUSED(cli); UNUSED(context); + if(!furi_string_cmp(args, "0")) { NotificationApp* notification = furi_record_open(RECORD_NOTIFICATION); notification_message_block(notification, &sequence_reset_vibro); furi_record_close(RECORD_NOTIFICATION); } else if(!furi_string_cmp(args, "1")) { + if(furi_hal_rtc_is_flag_set(FuriHalRtcFlagStealthMode)) { + printf("Flipper is in stealth mode. Unmute the device to control vibration."); + return; + } + NotificationApp* notification = furi_record_open(RECORD_NOTIFICATION); - notification_message_block(notification, &sequence_set_vibro_on); + if(notification->settings.vibro_on) { + notification_message_block(notification, &sequence_set_vibro_on); + } else { + printf("Vibro is disabled in settings. Enable it to control vibration."); + } + furi_record_close(RECORD_NOTIFICATION); } else { cli_print_usage("vibro", "<1|0>", furi_string_get_cstr(args));