diff --git a/src/graphics/draw/MessageRenderer.cpp b/src/graphics/draw/MessageRenderer.cpp index 6c202cb6d..af5ffe93d 100644 --- a/src/graphics/draw/MessageRenderer.cpp +++ b/src/graphics/draw/MessageRenderer.cpp @@ -17,6 +17,7 @@ #include "graphics/emotes.h" #include "main.h" #include "meshUtils.h" +#include "modules/CannedMessageModule.h" #include #include @@ -1073,6 +1074,7 @@ void handleNewMessage(OLEDDisplay *display, const StoredMessage &sm, const mesht { if (packet.from != 0) { hasUnreadMessage = true; + const bool suppressBanner = cannedMessageModule && cannedMessageModule->isFreeTextActive(); // Determine if message belongs to a muted channel bool isChannelMuted = false; @@ -1163,11 +1165,13 @@ void handleNewMessage(OLEDDisplay *display, const StoredMessage &sm, const mesht // Shorter banner if already in a conversation (Channel or Direct) bool inThread = (getThreadMode() != ThreadMode::ALL); - if (shouldWakeOnReceivedMessage()) { + if (!suppressBanner && shouldWakeOnReceivedMessage()) { screen->setOn(true); } - screen->showSimpleBanner(banner, inThread ? 1000 : 3000); + if (!suppressBanner) { + screen->showSimpleBanner(banner, inThread ? 1000 : 3000); + } } // Always focus into the correct conversation thread when a message with real text arrives diff --git a/src/modules/CannedMessageModule.h b/src/modules/CannedMessageModule.h index 67334dd5e..fe12bd468 100644 --- a/src/modules/CannedMessageModule.h +++ b/src/modules/CannedMessageModule.h @@ -72,6 +72,7 @@ class CannedMessageModule : public SinglePortModule, public Observable