Files
Crosspoint/src/activities/settings/SyncTimeActivity.h
T

27 lines
706 B
C++

#pragma once
#include "activities/Activity.h"
class SyncTimeActivity final : public Activity {
public:
explicit SyncTimeActivity(GfxRenderer& renderer, MappedInputManager& mappedInput)
: Activity("SyncTime", renderer, mappedInput) {}
void onEnter() override;
void onExit() override;
void loop() override;
void render(RenderLock&&) override;
private:
enum State { CONNECTING, SYNCING, SUCCESS, FAILED };
State state = CONNECTING;
time_t preSyncTime = 0;
time_t prevSyncTime = 0;
int32_t driftSeconds = 0;
bool hadTimeBeforeSync = false;
char syncErrorMsg[64] = {};
void onWifiSelectionComplete(bool success);
void onWifiSelectionCancelled();
void performSync();
};