refactor: wifi selection activity

This commit is contained in:
Istiak Tridip 2026-01-28 22:55:58 +06:00
parent 3c727dd8f9
commit 91313d8505
No known key found for this signature in database
2 changed files with 12 additions and 14 deletions

View File

@ -419,20 +419,16 @@ void WifiSelectionActivity::loop() {
return; return;
} }
// Handle UP/DOWN navigation // Handle navigation
if (mappedInput.wasPressed(MappedInputManager::Button::Up) || buttonNavigator.onNext([this] {
mappedInput.wasPressed(MappedInputManager::Button::Left)) { selectedNetworkIndex = ButtonNavigator::nextIndex(selectedNetworkIndex, networks.size());
if (selectedNetworkIndex > 0) { updateRequired = true;
selectedNetworkIndex--; });
updateRequired = true;
} buttonNavigator.onPrevious([this] {
} else if (mappedInput.wasPressed(MappedInputManager::Button::Down) || selectedNetworkIndex = ButtonNavigator::previousIndex(selectedNetworkIndex, networks.size());
mappedInput.wasPressed(MappedInputManager::Button::Right)) { updateRequired = true;
if (!networks.empty() && selectedNetworkIndex < static_cast<int>(networks.size()) - 1) { });
selectedNetworkIndex++;
updateRequired = true;
}
}
} }
} }

View File

@ -10,6 +10,7 @@
#include <vector> #include <vector>
#include "activities/ActivityWithSubactivity.h" #include "activities/ActivityWithSubactivity.h"
#include "util/ButtonNavigator.h"
// Structure to hold WiFi network information // Structure to hold WiFi network information
struct WifiNetworkInfo { struct WifiNetworkInfo {
@ -45,6 +46,7 @@ enum class WifiSelectionState {
class WifiSelectionActivity final : public ActivityWithSubactivity { class WifiSelectionActivity final : public ActivityWithSubactivity {
TaskHandle_t displayTaskHandle = nullptr; TaskHandle_t displayTaskHandle = nullptr;
SemaphoreHandle_t renderingMutex = nullptr; SemaphoreHandle_t renderingMutex = nullptr;
ButtonNavigator buttonNavigator;
bool updateRequired = false; bool updateRequired = false;
WifiSelectionState state = WifiSelectionState::SCANNING; WifiSelectionState state = WifiSelectionState::SCANNING;
int selectedNetworkIndex = 0; int selectedNetworkIndex = 0;