fix simulator mode to use shell.rml instead of deleted home.rml
This commit is contained in:
@@ -385,54 +385,42 @@ int main(int argc, char* argv[]) {
|
||||
g_test_apps_path = fs::absolute(g_test_apps_path).string();
|
||||
}
|
||||
|
||||
// Find main assets home.rml for simulator mode
|
||||
// Look for src/main/assets/apps/home/home.rml relative to test-apps
|
||||
// Find main assets for simulator mode
|
||||
// Look for src/main/assets/apps/shell/shell.rml relative to test-apps
|
||||
fs::path test_apps_fs = fs::path(g_test_apps_path);
|
||||
std::vector<fs::path> home_search_paths = {
|
||||
test_apps_fs.parent_path() / "src" / "main" / "assets" / "apps" / "home" / "home.rml",
|
||||
fs::path("src/main/assets/apps/home/home.rml"),
|
||||
fs::absolute("src/main/assets/apps/home/home.rml"),
|
||||
std::vector<fs::path> shell_search_paths = {
|
||||
test_apps_fs.parent_path() / "src" / "main" / "assets" / "apps" / "shell" / "shell.rml",
|
||||
fs::path("src/main/assets/apps/shell/shell.rml"),
|
||||
fs::absolute("src/main/assets/apps/shell/shell.rml"),
|
||||
};
|
||||
for (const auto& path : home_search_paths) {
|
||||
for (const auto& path : shell_search_paths) {
|
||||
if (fs::exists(path)) {
|
||||
g_simulator_home_path = fs::absolute(path).string();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Override document path to main home screen or shell
|
||||
// Override document path to shell
|
||||
if (!g_simulator_home_path.empty()) {
|
||||
// Also set the main assets path for proper resource loading
|
||||
// Set the main assets path for proper resource loading
|
||||
// g_simulator_home_path is now shell.rml, go up 3 levels to get assets path
|
||||
g_main_assets_path = fs::path(g_simulator_home_path).parent_path().parent_path().parent_path().string();
|
||||
|
||||
// If shell mode, use shell instead of home
|
||||
if (g_shell_mode) {
|
||||
g_shell_path = (fs::path(g_main_assets_path) / "apps" / "shell" / "shell.rml").string();
|
||||
if (fs::exists(g_shell_path)) {
|
||||
g_shell_path = g_simulator_home_path;
|
||||
document_path = g_shell_path;
|
||||
|
||||
std::cout << "Shell mode enabled" << std::endl;
|
||||
std::cout << "Shell: " << g_shell_path << std::endl;
|
||||
} else {
|
||||
std::cerr << "Warning: Could not find shell.rml, falling back to direct mode" << std::endl;
|
||||
document_path = g_simulator_home_path;
|
||||
g_shell_mode = false;
|
||||
}
|
||||
} else {
|
||||
document_path = g_simulator_home_path;
|
||||
}
|
||||
|
||||
std::cout << "Simulator mode enabled" << std::endl;
|
||||
std::cout << "Test apps path: " << g_test_apps_path << std::endl;
|
||||
std::cout << "Home screen: " << g_simulator_home_path << std::endl;
|
||||
} else {
|
||||
std::cerr << "Warning: Could not find home.rml for simulator" << std::endl;
|
||||
std::cerr << "Warning: Could not find shell.rml for simulator" << std::endl;
|
||||
g_simulator_mode = false;
|
||||
}
|
||||
}
|
||||
|
||||
// Default document
|
||||
if (document_path.empty()) {
|
||||
document_path = "apps/home/home.rml";
|
||||
document_path = "apps/shell/shell.rml";
|
||||
}
|
||||
|
||||
// Derive assets path from document path if not specified
|
||||
@@ -509,7 +497,7 @@ int main(int argc, char* argv[]) {
|
||||
test_apps_root = test_apps_root.parent_path();
|
||||
}
|
||||
fs::path main_assets = test_apps_root.parent_path() / "src" / "main" / "assets";
|
||||
if (fs::exists(main_assets / "apps" / "home" / "home.rml")) {
|
||||
if (fs::exists(main_assets / "apps" / "shell" / "shell.rml")) {
|
||||
g_main_assets_path = main_assets.string();
|
||||
std::cout << "Main assets: " << g_main_assets_path << std::endl;
|
||||
}
|
||||
@@ -870,9 +858,9 @@ bool InitializeRmlUi(const std::string& assets_path, int fb_width, int fb_height
|
||||
}
|
||||
}
|
||||
|
||||
// Load home screen from main assets path
|
||||
std::string home_path = (fs::path(g_main_assets_path) / "apps" / "home" / "home.rml").string();
|
||||
std::cout << "Loading home from: " << home_path << std::endl;
|
||||
// Load shell (which shows home by default)
|
||||
std::string home_path = (fs::path(g_main_assets_path) / "apps" / "shell" / "shell.rml").string();
|
||||
std::cout << "Loading shell from: " << home_path << std::endl;
|
||||
|
||||
auto* document = g_context->LoadDocument(home_path);
|
||||
if (document) {
|
||||
|
||||
Reference in New Issue
Block a user