74 lines
1.8 KiB
C++
74 lines
1.8 KiB
C++
#include <esp_log.h>
|
|
#include <esp_err.h>
|
|
#include <string>
|
|
#include <cstdlib>
|
|
#include <cstring>
|
|
#include <font_awesome.h>
|
|
|
|
#include "display.h"
|
|
#include "board.h"
|
|
#include "application.h"
|
|
#include "audio_codec.h"
|
|
#include "settings.h"
|
|
#include "assets/lang_config.h"
|
|
|
|
#define TAG "Display"
|
|
|
|
Display::Display() {
|
|
}
|
|
|
|
Display::~Display() {
|
|
}
|
|
|
|
void Display::SetStatus(const char* status) {
|
|
ESP_LOGW(TAG, "SetStatus: %s", status);
|
|
}
|
|
|
|
void Display::ShowNotification(const std::string ¬ification, int duration_ms) {
|
|
ShowNotification(notification.c_str(), duration_ms);
|
|
}
|
|
|
|
void Display::ShowNotification(const char* notification, int duration_ms) {
|
|
ESP_LOGW(TAG, "ShowNotification: %s", notification);
|
|
}
|
|
|
|
void Display::UpdateStatusBar(bool update_all) {
|
|
}
|
|
|
|
|
|
void Display::SetEmotion(const char* emotion) {
|
|
ESP_LOGW(TAG, "SetEmotion: %s", emotion);
|
|
}
|
|
|
|
void Display::SetChatMessage(const char* role, const char* content) {
|
|
ESP_LOGW(TAG, "Role:%s", role);
|
|
ESP_LOGW(TAG, " %s", content);
|
|
}
|
|
|
|
void Display::SetTheme(Theme* theme) {
|
|
current_theme_ = theme;
|
|
Settings settings("display", true);
|
|
settings.SetString("theme", theme->name());
|
|
}
|
|
|
|
void Display::SetMusicInfo(const char* song_name) {
|
|
// 默认实现:对于非微信模式,将歌名显示在聊天消息标签中
|
|
DisplayLockGuard lock(this);
|
|
if (chat_message_label_ == nullptr) {
|
|
return;
|
|
}
|
|
if (song_name != nullptr && strlen(song_name) > 0) {
|
|
std::string music_text = "";
|
|
music_text += song_name;
|
|
lv_label_set_text(chat_message_label_, music_text.c_str());
|
|
SetEmotion(FONT_AWESOME_MUSIC);
|
|
} else {
|
|
lv_label_set_text(chat_message_label_, "");
|
|
SetEmotion(FONT_AWESOME_NEUTRAL);
|
|
}
|
|
}
|
|
|
|
void Display::SetPowerSaveMode(bool on) {
|
|
ESP_LOGW(TAG, "SetPowerSaveMode: %d", on);
|
|
}
|