#include #include #include #include #include #include #include #include #include #include namespace tt::settings { constexpr auto* TAG = "BootSettings"; constexpr auto* PROPERTIES_FILE_FORMAT = "{}/settings/boot.properties"; constexpr auto* PROPERTIES_KEY_LAUNCHER_APP_ID = "launcherAppId"; constexpr auto* PROPERTIES_KEY_AUTO_START_APP_ID = "autoStartAppId"; static std::string getPropertiesFilePath() { std::string sdcard_path; if (findFirstMountedSdCardPath(sdcard_path)) { std::string path = std::format(PROPERTIES_FILE_FORMAT, sdcard_path); if (file::isFile(path)) { return path; } } return std::format(PROPERTIES_FILE_FORMAT, file::MOUNT_POINT_DATA); } bool loadBootSettings(BootSettings& properties) { const std::string path = getPropertiesFilePath(); if (!file::loadPropertiesFile(path, [&properties](auto& key, auto& value) { if (key == PROPERTIES_KEY_AUTO_START_APP_ID) { properties.autoStartAppId = value; } else if (key == PROPERTIES_KEY_LAUNCHER_APP_ID) { properties.launcherAppId = value; } })) { LOG_I(TAG, "No settings at %s", path.c_str()); return false; } return true; } }