lockscreen: Add extension points + API to support Phosh-based DM / Phrog use-case
As discussed in Matrix yesterday.
These patches plumb in support for an "extra page" on the lockscreen. If an extra page is provided, it will sit between the info and keypad pages.
Some internal rework was performed to properly support this use case:
- the duplicate
PhoshLocksreenPos
enum was dropped in favor of the publicPhoshLockscreenPage
enum - some duplicate handling of "current page" logic and page-setting code was collapsed into
phosh_lockscreen_set_page
An API method is added that allows setting the default page, rather than this being harcoded to assume that the info page is default. The default page is navigated to when the lockscreen is first made visible, keypad entry times out, and when the Escape key is pressed.
In addition, some new public API methods are made available to get/clear/shake the PIN entry.
Before this is ready to land I still want to:
-
Add some tests for extra page handling