seconds counter during pin lockdown

pull/25/head
Pavol Rusnak 9 years ago
parent 1501ca2f67
commit 7d8fb375f0

@ -147,13 +147,25 @@ bool protectPin(bool use_cached)
}
uint32_t fails = storage_getPinFails();
if (fails) {
if (fails > 2) {
layoutDialogSwipe(DIALOG_ICON_INFO, NULL, NULL, NULL, "Wrong PIN entered", NULL, "Please wait ...", NULL, NULL, NULL);
}
uint32_t wait;
wait = (fails < 32) ? (1u << fails) : 0xFFFFFFFF;
while (--wait > 0) {
delay(10000000);
// convert wait to secstr string
char secstrbuf[20];
strlcpy(secstrbuf, "________0 seconds", sizeof(secstrbuf));
char *secstr = secstrbuf + 9;
uint32_t secs = wait;
while (secs > 0 && secstr >= secstrbuf) {
secstr--;
*secstr = (secs % 10) + '0';
secs /= 10;
}
if (wait == 1) {
secstrbuf[16] = 0;
}
layoutDialog(DIALOG_ICON_INFO, NULL, NULL, NULL, "Wrong PIN entered", NULL, "Please wait", secstr, "to continue ...", NULL);
// wait one second
delay(24000000);
}
}
const char *pin;

Loading…
Cancel
Save