27 lines
706 B
C++
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();
|
|
};
|