diff --git a/main/display/ssd1306_display.cc b/main/display/ssd1306_display.cc index d6214d9d..6af24a6c 100644 --- a/main/display/ssd1306_display.cc +++ b/main/display/ssd1306_display.cc @@ -133,18 +133,18 @@ void Ssd1306Display::Unlock() { lvgl_port_unlock(); } -void Ssd1306Display::SetChatMessage(const std::string &role, const std::string &content) { +void Ssd1306Display::SetChatMessage(const char* role, const char* content) { DisplayLockGuard lock(this); if (chat_message_label_ == nullptr) { return; } if (content_right_ == nullptr) { - lv_label_set_text(chat_message_label_, content.c_str()); + lv_label_set_text(chat_message_label_, content); } else { - if (content.empty()) { + if (content == nullptr || content[0] == '\0') { lv_obj_add_flag(content_right_, LV_OBJ_FLAG_HIDDEN); } else { - lv_label_set_text(chat_message_label_, content.c_str()); + lv_label_set_text(chat_message_label_, content); lv_obj_clear_flag(content_right_, LV_OBJ_FLAG_HIDDEN); } } diff --git a/main/display/ssd1306_display.h b/main/display/ssd1306_display.h index 70f09d31..047f7ece 100644 --- a/main/display/ssd1306_display.h +++ b/main/display/ssd1306_display.h @@ -32,7 +32,7 @@ public: const lv_font_t* text_font, const lv_font_t* icon_font); ~Ssd1306Display(); - virtual void SetChatMessage(const std::string &role, const std::string &content); + virtual void SetChatMessage(const char* role, const char* content) override; }; #endif // SSD1306_DISPLAY_H