mirror of
https://github.com/vicliu624/trail-mate.git
synced 2026-06-28 16:11:43 +00:00
bf7068b02b
* refactor: render chat rows from presentation state * Fix Meshtastic channel sync and add MeshCore CN preset * Add granular chat notification settings * Add SD settings backup and restore * Prepare 0.1.26-alpha release --------- Co-authored-by: vicliu624 <vicliu@outlook.com>
35 lines
1.1 KiB
C++
35 lines
1.1 KiB
C++
#include "ui_presentation/screen/screen_binding_registry.h"
|
|
#include "ui_presentation/screen/screen_route.h"
|
|
|
|
#include <cassert>
|
|
#include <cstring>
|
|
|
|
int main()
|
|
{
|
|
const ui::screen::ScreenRoute route =
|
|
ui::screen::routeForMenuScreen(ui::menu::MenuScreenId::Chat);
|
|
assert(route.valid);
|
|
assert(route.open_mode == ui::screen::ScreenOpenMode::Replace);
|
|
assert(route.screen_id == ui::menu::MenuScreenId::Chat);
|
|
|
|
ui::screen::ScreenBindingRegistry registry;
|
|
assert(registry.size() == 0);
|
|
assert(registry.find(ui::menu::MenuScreenId::Chat) == nullptr);
|
|
|
|
assert(registry.add({ui::menu::MenuScreenId::Chat, "chat", true}));
|
|
assert(registry.add({ui::menu::MenuScreenId::Map, "map", true}));
|
|
assert(registry.size() == 2);
|
|
|
|
const ui::screen::ScreenBinding* chat =
|
|
registry.find(ui::menu::MenuScreenId::Chat);
|
|
assert(chat != nullptr);
|
|
assert(chat->available);
|
|
assert(std::strcmp(chat->binding_id, "chat") == 0);
|
|
|
|
assert(registry.find(ui::menu::MenuScreenId::Settings) == nullptr);
|
|
|
|
registry.clear();
|
|
assert(registry.size() == 0);
|
|
return 0;
|
|
}
|