Fix issue: LED bar button test pressed but WiFi connection still perform.

This commit is contained in:
Phat Nguyen
2024-05-13 14:43:53 +07:00
parent 3dae4cb06d
commit 5b18a8353d
4 changed files with 33 additions and 22 deletions

View File

@ -176,7 +176,9 @@ void setup() {
ledBarEnabledUpdate();
}
/** Show message confirm offline mode. */
/** Show message confirm offline mode, should me perform if LED bar button
* test pressed */
if (ledBarButtonTest == false) {
oledDisplay.setText(
"Press now for",
configuration.isOfflineMode() ? "online mode" : "offline mode", "");
@ -197,7 +199,9 @@ void setup() {
}
}
connectToWifi = !configuration.isOfflineMode();
} else {
configuration.setOfflineModeWithoutSave(true);
}
} else {
connectToWifi = true;
}
@ -1099,7 +1103,7 @@ static void updatePm(void) {
static void sendDataToServer(void) {
/** Ignore send data to server if postToAirGradient disabled */
if (configuration.isPostDataToAirGradient() == false) {
if (configuration.isPostDataToAirGradient() == false || configuration.isOfflineMode()) {
return;
}

View File

@ -34,7 +34,8 @@ void AgApiClient::begin(void) {
*/
bool AgApiClient::fetchServerConfiguration(void) {
if (config.getConfigurationControl() ==
ConfigurationControl::ConfigurationControlLocal) {
ConfigurationControl::ConfigurationControlLocal ||
config.isOfflineMode()) {
logWarning("Ignore fetch server configuration");
// Clear server configuration failed flag, cause it's ignore but not

View File

@ -1193,7 +1193,7 @@ int Configuration::getDisplayBrightness(void) {
bool Configuration::isOfflineMode(void) {
bool offline = jconfig[jprop_offlineMode];
return offline;
return (offline || _offlineMode);
}
void Configuration::setOfflineMode(bool offline) {
@ -1202,6 +1202,10 @@ void Configuration::setOfflineMode(bool offline) {
saveConfig();
}
void Configuration::setOfflineModeWithoutSave(bool offline) {
_offlineMode = offline;
}
bool Configuration::isDisplayBrightnessChanged(void) {
bool changed = displayBrightnessChanged;
displayBrightnessChanged = false;

View File

@ -17,6 +17,7 @@ private:
bool ledBarBrightnessChanged = false;
bool displayBrightnessChanged = false;
String otaNewFirmwareVersion;
bool _offlineMode = false;
AirGradient* ag;
@ -80,6 +81,7 @@ public:
String newFirmwareVersion(void);
bool isOfflineMode(void);
void setOfflineMode(bool offline);
void setOfflineModeWithoutSave(bool offline);
};
#endif /** _AG_CONFIG_H_ */