917be9c6d3
* Add Auto Lock Time setting * Update .gitignore * Add value_index toolbox module * Auto locking basic implementation * Better AutoLock implementation, edge cases and cleanup * Fix NULL pointer crash * Turn off backlight shortly in locked mode * Re-enable auto lock after pin lock * Correctly handle start when pin locked * Use timer to hide locked hint * Use a single state variable instead of multiple bools * Do not call update callback recursively * Allow input when the Unlocked hint is shown * Add a delay to backlight switch off while locking * Better user input handling * Switch backlight off after pin timeout * Correct grammar in notification settings Co-authored-by: あく <alleteam@gmail.com>
23 lines
931 B
C
23 lines
931 B
C
#pragma once
|
|
|
|
#include "../desktop_settings/desktop_settings.h"
|
|
#include "../views/desktop_events.h"
|
|
#include <gui/view.h>
|
|
|
|
typedef struct DesktopViewLocked DesktopViewLocked;
|
|
|
|
typedef void (*DesktopViewLockedCallback)(DesktopEvent event, void* context);
|
|
|
|
void desktop_view_locked_set_callback(
|
|
DesktopViewLocked* locked_view,
|
|
DesktopViewLockedCallback callback,
|
|
void* context);
|
|
void desktop_view_locked_update(DesktopViewLocked* locked_view);
|
|
View* desktop_view_locked_get_view(DesktopViewLocked* locked_view);
|
|
DesktopViewLocked* desktop_view_locked_alloc();
|
|
void desktop_view_locked_free(DesktopViewLocked* locked_view);
|
|
void desktop_view_locked_lock(DesktopViewLocked* locked_view, bool pin_locked);
|
|
void desktop_view_locked_unlock(DesktopViewLocked* locked_view);
|
|
void desktop_view_locked_close_doors(DesktopViewLocked* locked_view);
|
|
bool desktop_view_locked_is_locked_hint_visible(DesktopViewLocked* locked_view);
|