Merge remote-tracking branch 'origin/main' into main
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
|
||||
namespace tt {
|
||||
|
||||
esp_err_t initPartitionsEsp();
|
||||
bool initPartitionsEsp();
|
||||
wl_handle_t getDataPartitionWlHandle();
|
||||
|
||||
} // namespace
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
#include <Tactility/app/AppManifest.h>
|
||||
|
||||
#include <map>
|
||||
#include <string>
|
||||
|
||||
namespace tt::app {
|
||||
|
||||
bool isValidId(const std::string& id);
|
||||
|
||||
bool parseManifest(const std::map<std::string, std::string>& map, AppManifest& manifest);
|
||||
/** Parses a manifest.properties file, auto-detecting the V1 (sectioned) or V2 (flat) format from its first line. */
|
||||
bool parseManifest(const std::string& filePath, AppManifest& manifest);
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
#pragma once
|
||||
|
||||
#include <Tactility/app/AppManifest.h>
|
||||
|
||||
#include <map>
|
||||
#include <string>
|
||||
|
||||
namespace tt::app {
|
||||
|
||||
bool getValueFromManifest(const std::map<std::string, std::string>& map, const std::string& key, std::string& output);
|
||||
|
||||
bool isValidManifestVersion(const std::string& version);
|
||||
bool isValidAppVersionName(const std::string& version);
|
||||
bool isValidAppVersionCode(const std::string& version);
|
||||
bool isValidName(const std::string& name);
|
||||
|
||||
/** Parses a V1 (sectioned INI, e.g. "[app]versionName=...") manifest map. */
|
||||
bool parseManifestV1(const std::map<std::string, std::string>& map, AppManifest& manifest);
|
||||
|
||||
/** Parses a V2 (flat dot-notation, e.g. "app.version.name=...") manifest map. */
|
||||
bool parseManifestV2(const std::map<std::string, std::string>& map, AppManifest& manifest);
|
||||
|
||||
}
|
||||
@@ -14,8 +14,6 @@
|
||||
|
||||
namespace tt::app::chat {
|
||||
|
||||
constexpr auto* CHAT_SETTINGS_FILE = "/data/settings/chat.properties";
|
||||
|
||||
struct ChatSettingsData {
|
||||
uint32_t senderId = 0; // Unique device ID (randomly generated on first launch)
|
||||
std::string nickname = "Device";
|
||||
@@ -26,7 +24,6 @@ struct ChatSettingsData {
|
||||
|
||||
ChatSettingsData loadSettings();
|
||||
bool saveSettings(const ChatSettingsData& settings);
|
||||
ChatSettingsData getDefaultSettings();
|
||||
bool settingsFileExists();
|
||||
|
||||
} // namespace tt::app::chat
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
#pragma once
|
||||
|
||||
#include <Tactility/app/App.h>
|
||||
|
||||
namespace tt::app::setup {
|
||||
|
||||
LaunchId start();
|
||||
|
||||
/** @return true if the setup wizard has already run to completion */
|
||||
bool isCompleted();
|
||||
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
namespace tt::app::timezone {
|
||||
|
||||
LaunchId start();
|
||||
LaunchId start(bool saveTimeZone = false);
|
||||
|
||||
std::string getResultName(const Bundle& bundle);
|
||||
std::string getResultCode(const Bundle& bundle);
|
||||
|
||||
@@ -7,16 +7,13 @@
|
||||
#include <Tactility/service/Service.h>
|
||||
#include <Tactility/service/loader/Loader.h>
|
||||
|
||||
#include <tactility/concurrent/dispatcher.h>
|
||||
|
||||
#include <cstdio>
|
||||
#include <lvgl.h>
|
||||
|
||||
namespace tt::service::gui {
|
||||
|
||||
constexpr auto GUI_THREAD_FLAG_DRAW = (1 << 0);
|
||||
constexpr auto GUI_THREAD_FLAG_INPUT = (1 << 1);
|
||||
constexpr auto GUI_THREAD_FLAG_EXIT = (1 << 2);
|
||||
constexpr auto GUI_THREAD_FLAG_ALL = (GUI_THREAD_FLAG_DRAW | GUI_THREAD_FLAG_INPUT | GUI_THREAD_FLAG_EXIT);
|
||||
|
||||
/**
|
||||
* Output a log warning if the current task is the GUI task.
|
||||
* This is meant for code that should either create their own task or use a different task to execute on.
|
||||
@@ -28,7 +25,8 @@ class GuiService final : public Service {
|
||||
|
||||
// Thread and lock
|
||||
Thread* thread = nullptr;
|
||||
EventGroup threadFlags;
|
||||
DispatcherHandle_t dispatcher = nullptr;
|
||||
bool exitRequested = false;
|
||||
RecursiveMutex mutex;
|
||||
PubSub<loader::LoaderService::Event>::SubscriptionHandle loader_pubsub_subscription = nullptr;
|
||||
|
||||
@@ -46,6 +44,8 @@ class GuiService final : public Service {
|
||||
|
||||
static int32_t guiMain();
|
||||
|
||||
static void onGuiDispatch(void* context);
|
||||
|
||||
void onLoaderEvent(loader::LoaderService::Event event);
|
||||
|
||||
lv_obj_t* createAppViews(lv_obj_t* parent);
|
||||
@@ -70,8 +70,6 @@ public:
|
||||
|
||||
void onStop(ServiceContext& service) override;
|
||||
|
||||
void requestDraw();
|
||||
|
||||
/**
|
||||
* Show the on-screen keyboard.
|
||||
* @param[in] textarea the textarea to focus the input for
|
||||
|
||||
@@ -99,6 +99,9 @@ public:
|
||||
// Global accessor for controlling the WebServer service
|
||||
void setWebServerEnabled(bool enabled);
|
||||
|
||||
// Returns whether the HTTP server is actually running right now (not just the persisted setting)
|
||||
bool isWebServerEnabled();
|
||||
|
||||
// Get the pubsub for subscribing to WebServer events
|
||||
std::shared_ptr<PubSub<WebServerEvent>> getPubsub();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user