38 return static_cast<StatusIcon>(
static_cast<uint16_t
>(a) |
static_cast<uint16_t
>(b));
41 return static_cast<StatusIcon>(
static_cast<uint16_t
>(a) &
static_cast<uint16_t
>(b));
85 const char*
getInfo()
const {
return info_; }
86 const char*
getInfo2()
const {
return info2_; }
112 void render(
bool partial)
override;
114 void onTick(uint32_t nowMs)
override;
115 void onEnter(
void* context)
override;
117 const char*
getName()
const override {
return "LockScreenView"; }
139 char clock_[8] =
"--:--";
141 uint8_t batteryPercent_ = 0;
147 uint32_t nPressStartMs_ = 0;
148 bool deepSleepMode_ =
false;
150 void renderStatusIcons(
void* gfx,
int x,
int y);
151 void renderBattery(
void* gfx,
int x,
int y);
152 void renderDeepSleepScreen();
153 void checkDeepSleepTrigger(uint32_t nowMs);
char name[cdc::hal::ISecureElement::RMEM_NAME_LEN]
void setPreRenderCallback(PreRenderCallback callback)
void removeStatusIcon(StatusIcon icon)
Removes one status icon flag.
void onResume() override
Handles returning to lock screen and reapplies backlight policy.
StatusIcon getStatusIcons() const
void onTick(uint32_t nowMs) override
Per-tick handler for long-press deep-sleep detection.
void setOnUnlock(UnlockCallback callback)
void setBatteryPercent(uint8_t percent)
Updates battery percentage indicator.
const char * getDisplayName() const
const char * getInfo() const
const char * getFooterHint() const override
Returns footer hint based on current lock-screen mode.
InputResult onKey(char key) override
Handles lock-screen key actions.
void setClock(const char *clock)
Sets clock text shown in the header.
void init()
Initializes lock-screen state fields to defaults.
static constexpr uint8_t MAX_TEXT_LEN
const char * getInfo2() const
bool prefersLightRefresh() const override
void addStatusIcon(StatusIcon icon)
Adds one status icon flag.
void setDate(const char *date)
Sets date text shown below clock.
void setStatusIcons(StatusIcon icons)
Replaces full status-icon bitmask.
void(*)() PreRenderCallback
void toggleBacklight()
Toggles display backlight and corresponding status icon.
void setInfo2(const char *info2)
Sets second informational line.
const char * getName() const override
void setInfo(const char *info)
Sets first informational line.
void setDisplayName(const char *name)
Sets primary display name shown on lock screen.
void onEnter(void *context) override
Handles entering lock screen and updates backlight behavior.
Centralized key-code constants for cdc_views.
StatusIcon operator&(StatusIcon a, StatusIcon b)
static constexpr uint32_t DEEP_SLEEP_HOLD_MS
StatusIcon operator|(StatusIcon a, StatusIcon b)
StatusIcon & operator|=(StatusIcon &a, StatusIcon b)