diff --git a/src/WifiCredentialStore.cpp b/src/WifiCredentialStore.cpp index 8b1ad9f6..86929171 100644 --- a/src/WifiCredentialStore.cpp +++ b/src/WifiCredentialStore.cpp @@ -207,17 +207,17 @@ bool WifiCredentialStore::connectToDefaultWifi(int timeoutMs) const { WiFi.mode(WIFI_STA); WiFi.disconnect(false); delay(100); - + Serial.printf("[%lu] [WCS] Scanning for SSID: %s\n", millis(), defaultSSID.c_str()); WiFi.scanNetworks(false); - + const unsigned long scanStart = millis(); int16_t scanResult = WiFi.scanComplete(); while (scanResult == WIFI_SCAN_RUNNING && millis() - scanStart < 3000) { delay(100); scanResult = WiFi.scanComplete(); } - + if (scanResult > 0) { bool ssidFound = false; for (int i = 0; i < scanResult; i++) { @@ -227,9 +227,9 @@ bool WifiCredentialStore::connectToDefaultWifi(int timeoutMs) const { break; } } - + WiFi.scanDelete(); - + if (!ssidFound) { Serial.printf("[%lu] [WCS] SSID not found in scan results, skipping connection attempt\n", millis()); return false; @@ -260,7 +260,6 @@ bool WifiCredentialStore::connectToDefaultWifi(int timeoutMs) const { void WifiCredentialStore::ensureWifiConnected(ActivityWithSubactivity& activity, GfxRenderer& renderer, MappedInputManager& mappedInput, const std::function& onSuccess, const std::function& onCancel, int timeoutMs) { - if (WiFi.status() == WL_CONNECTED) { onSuccess(); return; @@ -276,12 +275,13 @@ void WifiCredentialStore::ensureWifiConnected(ActivityWithSubactivity& activity, // Auto-connect failed - show WiFi selection list Serial.printf("[%lu] [WCS] Auto-connect failed, showing WiFi selection\n", millis()); - activity.enterNewActivity(new WifiSelectionActivity(renderer, mappedInput, [&activity, onSuccess, onCancel](bool connected) { - activity.exitActivity(); - if (connected) { - onSuccess(); - } else { - onCancel(); - } - })); + activity.enterNewActivity( + new WifiSelectionActivity(renderer, mappedInput, [&activity, onSuccess, onCancel](bool connected) { + activity.exitActivity(); + if (connected) { + onSuccess(); + } else { + onCancel(); + } + })); } diff --git a/src/activities/browser/OpdsBookBrowserActivity.cpp b/src/activities/browser/OpdsBookBrowserActivity.cpp index 4abe82cd..44939aee 100644 --- a/src/activities/browser/OpdsBookBrowserActivity.cpp +++ b/src/activities/browser/OpdsBookBrowserActivity.cpp @@ -368,7 +368,7 @@ void OpdsBookBrowserActivity::checkAndConnectWifi() { WIFI_STORE.loadFromFile(); const bool hasDefaultSSID = !WIFI_STORE.getDefaultSSID().empty(); const bool alreadyConnected = (WiFi.status() == WL_CONNECTED); - + if (hasDefaultSSID && !alreadyConnected) { statusMessage = "Connecting to WiFi..."; updateRequired = true; @@ -377,12 +377,10 @@ void OpdsBookBrowserActivity::checkAndConnectWifi() { WIFI_STORE.ensureWifiConnected( *this, renderer, mappedInput, [this]() { - state = BrowserState::LOADING; - statusMessage = "Loading..."; - updateRequired = true; - fetchFeed(currentPath); + state = BrowserState::LOADING; + statusMessage = "Loading..."; + updateRequired = true; + fetchFeed(currentPath); }, - [this]() { - onGoHome(); - }); + [this]() { onGoHome(); }); } diff --git a/src/activities/network/WifiSelectionActivity.cpp b/src/activities/network/WifiSelectionActivity.cpp index 11551678..973a32d4 100644 --- a/src/activities/network/WifiSelectionActivity.cpp +++ b/src/activities/network/WifiSelectionActivity.cpp @@ -348,8 +348,8 @@ void WifiSelectionActivity::loop() { displaySetDefaultPrompt(); } onComplete(true); - }else if (mappedInput.wasPressed(MappedInputManager::Button::Back)) { - // Skip saving, complete anyway + } else if (mappedInput.wasPressed(MappedInputManager::Button::Back)) { + // Skip saving, complete anyway onComplete(true); } return; diff --git a/src/activities/network/WifiSelectionActivity.h b/src/activities/network/WifiSelectionActivity.h index 5dde425d..4ed8fdb1 100644 --- a/src/activities/network/WifiSelectionActivity.h +++ b/src/activities/network/WifiSelectionActivity.h @@ -27,7 +27,7 @@ enum class WifiSelectionState { CONNECTING, // Attempting to connect CONNECTED, // Successfully connected SAVE_PROMPT, // Asking user if they want to save the password - SET_DEFAULT_PROMPT, // Asking user if they want to set as default + SET_DEFAULT_PROMPT, // Asking user if they want to set as default CONNECTION_FAILED, // Connection failed FORGET_PROMPT // Asking user if they want to forget the network }; @@ -104,9 +104,9 @@ class WifiSelectionActivity final : public ActivityWithSubactivity { public: explicit WifiSelectionActivity(GfxRenderer& renderer, MappedInputManager& mappedInput, - const std::function& onComplete, - bool fromSettingsScreen = false) - : ActivityWithSubactivity("WifiSelection", renderer, mappedInput), onComplete(onComplete), + const std::function& onComplete, bool fromSettingsScreen = false) + : ActivityWithSubactivity("WifiSelection", renderer, mappedInput), + onComplete(onComplete), fromSettingsScreen(fromSettingsScreen) {} void onEnter() override; void onExit() override; diff --git a/src/activities/settings/WifiConnectionsActivity.cpp b/src/activities/settings/WifiConnectionsActivity.cpp index deefd68f..fc4913b9 100644 --- a/src/activities/settings/WifiConnectionsActivity.cpp +++ b/src/activities/settings/WifiConnectionsActivity.cpp @@ -12,7 +12,7 @@ namespace { constexpr int PAGE_ITEMS = 23; constexpr int SKIP_PAGE_MS = 700; constexpr unsigned long IGNORE_INPUT_MS = 300; -} +} // namespace void WifiConnectionsActivity::taskTrampoline(void* param) { auto* self = static_cast(param); @@ -32,12 +32,7 @@ void WifiConnectionsActivity::onEnter() { WIFI_STORE.loadFromFile(); - xTaskCreate(&WifiConnectionsActivity::taskTrampoline, "WifiConnectionsTask", - 4096, - this, - 1, - &displayTaskHandle - ); + xTaskCreate(&WifiConnectionsActivity::taskTrampoline, "WifiConnectionsTask", 4096, this, 1, &displayTaskHandle); } void WifiConnectionsActivity::onExit() { @@ -68,7 +63,7 @@ void WifiConnectionsActivity::loop() { WIFI_STORE.loadFromFile(); const std::string currentDefault = WIFI_STORE.getDefaultSSID(); const bool isDefault = (selectedNetwork == currentDefault); - + // Handle settings menu if (mappedInput.wasReleased(MappedInputManager::Button::Up) || mappedInput.wasReleased(MappedInputManager::Button::Left)) { @@ -113,13 +108,16 @@ void WifiConnectionsActivity::loop() { // "Add new connection" selected - launch WiFi selection xSemaphoreTake(renderingMutex, portMAX_DELAY); exitActivity(); - enterNewActivity(new WifiSelectionActivity(renderer, mappedInput, [this](bool connected) { - // Reload credentials after WiFi selection - WIFI_STORE.loadFromFile(); - exitActivity(); - enterTime = millis(); // Reset enter time to ignore input after subactivity exits - updateRequired = true; - }, true)); // true = fromSettingsScreen (always save password and disconnect after) + enterNewActivity(new WifiSelectionActivity( + renderer, mappedInput, + [this](bool connected) { + // Reload credentials after WiFi selection + WIFI_STORE.loadFromFile(); + exitActivity(); + enterTime = millis(); // Reset enter time to ignore input after subactivity exits + updateRequired = true; + }, + true)); // true = fromSettingsScreen (always save password and disconnect after) xSemaphoreGive(renderingMutex); } else { // Regular credential selected @@ -231,9 +229,8 @@ void WifiConnectionsActivity::render() { const std::string currentDefault = WIFI_STORE.getDefaultSSID(); const bool isDefault = (selectedNetwork == currentDefault); - const char* defaultText = settingsSelection == 0 - ? (isDefault ? "> Remove Default" : "> Set Default") - : (isDefault ? " Remove Default" : " Set Default"); + const char* defaultText = settingsSelection == 0 ? (isDefault ? "> Remove Default" : "> Set Default") + : (isDefault ? " Remove Default" : " Set Default"); const char* deleteText = settingsSelection == 1 ? "> Delete" : " Delete"; renderer.drawCenteredText(UI_10_FONT_ID, centerY + 20, defaultText); renderer.drawCenteredText(UI_10_FONT_ID, centerY + 40, deleteText); @@ -250,7 +247,7 @@ void WifiConnectionsActivity::render() { const auto pageStartIndex = selectorIndex / PAGE_ITEMS * PAGE_ITEMS; const std::string& defaultSSID = WIFI_STORE.getDefaultSSID(); renderer.fillRect(0, 60 + (selectorIndex % PAGE_ITEMS) * 30 - 2, pageWidth - 1, 30); - + for (size_t i = pageStartIndex; i < totalItems && i < pageStartIndex + PAGE_ITEMS; i++) { std::string displayText; if (i == 0) { @@ -268,4 +265,3 @@ void WifiConnectionsActivity::render() { renderer.displayBuffer(); } - diff --git a/src/activities/settings/WifiConnectionsActivity.h b/src/activities/settings/WifiConnectionsActivity.h index 126ecb9e..ae719734 100644 --- a/src/activities/settings/WifiConnectionsActivity.h +++ b/src/activities/settings/WifiConnectionsActivity.h @@ -23,10 +23,7 @@ class WifiConnectionsActivity final : public ActivityWithSubactivity { void loop() override; private: - enum class State { - LIST, - SETTINGS_MENU - }; + enum class State { LIST, SETTINGS_MENU }; TaskHandle_t displayTaskHandle = nullptr; SemaphoreHandle_t renderingMutex = nullptr; @@ -47,4 +44,3 @@ class WifiConnectionsActivity final : public ActivityWithSubactivity { void deleteNetwork(); void cancelSettings(); }; -