Fix setupui (#1777)
* Enhance GitHub Actions artifact download script - Updated the output directory structure to save downloaded files in a version-specific subdirectory (releases/<version>). - Added a new function to determine the default releases directory path relative to the script's location. - Improved artifact renaming logic to handle known extensions more robustly and ensure compatibility with filenames containing dots. * Refactor UI setup in ElectronEmojiDisplay and OttoEmojiDisplay classes - Moved SetupChatLabel call in ElectronEmojiDisplay to ensure it is executed after the parent UI is initialized, preventing potential issues with container validity. - Updated SetupUI in OttoEmojiDisplay to release the display lock before calling SetEmotion, avoiding deadlock scenarios during UI setup. * Add multiline chat message support in display configuration - Introduced a new Kconfig option to enable multiline chat message display in the default mode. - Updated the LCD display setup to accommodate a dynamic height bottom bar for multiline messages. - Modified the configuration files for the waveshare-esp32-s3-epaper-1.54 board to include the new chat message setting. * Update font and emoji settings for Magiclick boards; enhance bottom bar visibility logic in LCD display - Changed the default text and emoji fonts for Magiclick S3 2P4 and S3 2P5 boards to Noto fonts. - Improved bottom bar visibility logic in LcdDisplay to hide when there is no content, ensuring a cleaner UI experience.
This commit is contained in:
@ -27,10 +27,13 @@ void OttoEmojiDisplay::SetupUI() {
|
||||
// Call parent SetupUI() first to create all lvgl objects
|
||||
SpiLcdDisplay::SetupUI();
|
||||
|
||||
// Setup preview image after UI is initialized
|
||||
DisplayLockGuard lock(this);
|
||||
lv_obj_set_size(preview_image_, width_ , height_ );
|
||||
|
||||
// Setup preview image after UI is initialized - release lock before calling SetEmotion
|
||||
// to avoid deadlock (SetEmotion also acquires DisplayLockGuard internally)
|
||||
{
|
||||
DisplayLockGuard lock(this);
|
||||
lv_obj_set_size(preview_image_, width_ , height_ );
|
||||
}
|
||||
|
||||
// Set default emotion after UI is initialized
|
||||
SetEmotion("staticstate");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user