Decoupled message packets from screen.cpp and cleaned up

This commit is contained in:
HarukiToreda
2025-09-26 00:28:25 -04:00
parent dd7a5cf31f
commit ebbb8a6f9f
8 changed files with 169 additions and 230 deletions

View File

@@ -1,7 +1,9 @@
#pragma once
#include "MessageStore.h" // for StoredMessage
#include "OLEDDisplay.h"
#include "OLEDDisplayUi.h"
#include "graphics/emotes.h"
#include "mesh/generated/meshtastic/mesh.pb.h" // for meshtastic_MeshPacket
#include <string>
#include <vector>
@@ -10,7 +12,7 @@ namespace graphics
namespace MessageRenderer
{
// === Thread filter modes ===
// Thread filter modes
enum class ThreadMode { ALL, CHANNEL, DIRECT };
// Setter for switching thread mode
@@ -50,5 +52,11 @@ void renderMessageContent(OLEDDisplay *display, const std::vector<std::string> &
// Reset scroll state when new messages arrive
void resetScrollState();
// Helper to auto-select the correct thread mode from a message
void setThreadFor(const StoredMessage &sm, const meshtastic_MeshPacket &packet);
// Handles a new incoming/outgoing message: banner, wake, thread select, scroll reset
void handleNewMessage(const StoredMessage &sm, const meshtastic_MeshPacket &packet);
} // namespace MessageRenderer
} // namespace graphics
} // namespace graphics