mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-13 16:48:35 -07:00
Setting to factory reset and format on 10 bad pins
This commit is contained in:
@@ -10,6 +10,14 @@ void xtreme_app_scene_interface_lockscreen_var_item_list_callback(void* context,
|
|||||||
view_dispatcher_send_custom_event(app->view_dispatcher, index);
|
view_dispatcher_send_custom_event(app->view_dispatcher, index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void xtreme_app_scene_interface_lockscreen_bad_pins_format_changed(VariableItem* item) {
|
||||||
|
XtremeApp* app = variable_item_get_context(item);
|
||||||
|
bool value = variable_item_get_current_value_index(item);
|
||||||
|
variable_item_set_current_value_text(item, value ? "ON" : "OFF");
|
||||||
|
XTREME_SETTINGS()->bad_pins_format = value;
|
||||||
|
app->save_settings = true;
|
||||||
|
}
|
||||||
|
|
||||||
static void xtreme_app_scene_interface_lockscreen_show_time_changed(VariableItem* item) {
|
static void xtreme_app_scene_interface_lockscreen_show_time_changed(VariableItem* item) {
|
||||||
XtremeApp* app = variable_item_get_context(item);
|
XtremeApp* app = variable_item_get_context(item);
|
||||||
bool value = variable_item_get_current_value_index(item);
|
bool value = variable_item_get_current_value_index(item);
|
||||||
@@ -56,6 +64,15 @@ void xtreme_app_scene_interface_lockscreen_on_enter(void* context) {
|
|||||||
VariableItemList* var_item_list = app->var_item_list;
|
VariableItemList* var_item_list = app->var_item_list;
|
||||||
VariableItem* item;
|
VariableItem* item;
|
||||||
|
|
||||||
|
item = variable_item_list_add(
|
||||||
|
var_item_list,
|
||||||
|
"Format on 10 bad PINs",
|
||||||
|
2,
|
||||||
|
xtreme_app_scene_interface_lockscreen_bad_pins_format_changed,
|
||||||
|
app);
|
||||||
|
variable_item_set_current_value_index(item, xtreme_settings->bad_pins_format);
|
||||||
|
variable_item_set_current_value_text(item, xtreme_settings->bad_pins_format ? "ON" : "OFF");
|
||||||
|
|
||||||
item = variable_item_list_add(
|
item = variable_item_list_add(
|
||||||
var_item_list,
|
var_item_list,
|
||||||
"Show Time",
|
"Show Time",
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
#include "../desktop_i.h"
|
#include "../desktop_i.h"
|
||||||
#include <cli/cli.h>
|
#include <cli/cli.h>
|
||||||
#include <cli/cli_vcp.h>
|
#include <cli/cli_vcp.h>
|
||||||
|
#include <xtreme/settings.h>
|
||||||
|
|
||||||
static const NotificationSequence sequence_pin_fail = {
|
static const NotificationSequence sequence_pin_fail = {
|
||||||
&message_display_backlight_on,
|
&message_display_backlight_on,
|
||||||
@@ -98,6 +99,16 @@ bool desktop_pin_lock_verify(const PinCode* pin_set, const PinCode* pin_entered)
|
|||||||
result = true;
|
result = true;
|
||||||
} else {
|
} else {
|
||||||
uint32_t pin_fails = furi_hal_rtc_get_pin_fails();
|
uint32_t pin_fails = furi_hal_rtc_get_pin_fails();
|
||||||
|
if(pin_fails >= 9 && XTREME_SETTINGS()->bad_pins_format) {
|
||||||
|
furi_hal_rtc_set_pin_fails(0);
|
||||||
|
furi_hal_rtc_set_flag(FuriHalRtcFlagFactoryReset);
|
||||||
|
Storage* storage = furi_record_open(RECORD_STORAGE);
|
||||||
|
storage_simply_remove(storage, INT_PATH(".cnt.u2f"));
|
||||||
|
storage_simply_remove(storage, INT_PATH(".key.u2f"));
|
||||||
|
storage_sd_format(storage);
|
||||||
|
furi_record_close(RECORD_STORAGE);
|
||||||
|
power_reboot(PowerBootModeNormal);
|
||||||
|
}
|
||||||
furi_hal_rtc_set_pin_fails(pin_fails + 1);
|
furi_hal_rtc_set_pin_fails(pin_fails + 1);
|
||||||
result = false;
|
result = false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ void XTREME_SETTINGS_LOAD() {
|
|||||||
xtreme_settings->unlock_anims = false; // OFF
|
xtreme_settings->unlock_anims = false; // OFF
|
||||||
xtreme_settings->fallback_anim = true; // ON
|
xtreme_settings->fallback_anim = true; // ON
|
||||||
xtreme_settings->wii_menu = true; // ON
|
xtreme_settings->wii_menu = true; // ON
|
||||||
|
xtreme_settings->bad_pins_format = false; // OFF
|
||||||
xtreme_settings->lockscreen_time = true; // ON
|
xtreme_settings->lockscreen_time = true; // ON
|
||||||
xtreme_settings->lockscreen_seconds = false; // OFF
|
xtreme_settings->lockscreen_seconds = false; // OFF
|
||||||
xtreme_settings->lockscreen_date = true; // ON
|
xtreme_settings->lockscreen_date = true; // ON
|
||||||
@@ -65,6 +66,8 @@ void XTREME_SETTINGS_LOAD() {
|
|||||||
flipper_format_rewind(file);
|
flipper_format_rewind(file);
|
||||||
flipper_format_read_bool(file, "wii_menu", &xtreme_settings->wii_menu, 1);
|
flipper_format_read_bool(file, "wii_menu", &xtreme_settings->wii_menu, 1);
|
||||||
flipper_format_rewind(file);
|
flipper_format_rewind(file);
|
||||||
|
flipper_format_read_bool(file, "bad_pins_format", &xtreme_settings->bad_pins_format, 1);
|
||||||
|
flipper_format_rewind(file);
|
||||||
flipper_format_read_bool(file, "lockscreen_time", &xtreme_settings->lockscreen_time, 1);
|
flipper_format_read_bool(file, "lockscreen_time", &xtreme_settings->lockscreen_time, 1);
|
||||||
flipper_format_rewind(file);
|
flipper_format_rewind(file);
|
||||||
flipper_format_read_bool(file, "lockscreen_seconds", &xtreme_settings->lockscreen_seconds, 1);
|
flipper_format_read_bool(file, "lockscreen_seconds", &xtreme_settings->lockscreen_seconds, 1);
|
||||||
@@ -118,6 +121,7 @@ void XTREME_SETTINGS_SAVE() {
|
|||||||
flipper_format_write_bool(file, "unlock_anims", &xtreme_settings->unlock_anims, 1);
|
flipper_format_write_bool(file, "unlock_anims", &xtreme_settings->unlock_anims, 1);
|
||||||
flipper_format_write_bool(file, "fallback_anim", &xtreme_settings->fallback_anim, 1);
|
flipper_format_write_bool(file, "fallback_anim", &xtreme_settings->fallback_anim, 1);
|
||||||
flipper_format_write_bool(file, "wii_menu", &xtreme_settings->wii_menu, 1);
|
flipper_format_write_bool(file, "wii_menu", &xtreme_settings->wii_menu, 1);
|
||||||
|
flipper_format_write_bool(file, "bad_pins_format", &xtreme_settings->bad_pins_format, 1);
|
||||||
flipper_format_write_bool(file, "lockscreen_time", &xtreme_settings->lockscreen_time, 1);
|
flipper_format_write_bool(file, "lockscreen_time", &xtreme_settings->lockscreen_time, 1);
|
||||||
flipper_format_write_bool(file, "lockscreen_seconds", &xtreme_settings->lockscreen_seconds, 1);
|
flipper_format_write_bool(file, "lockscreen_seconds", &xtreme_settings->lockscreen_seconds, 1);
|
||||||
flipper_format_write_bool(file, "lockscreen_date", &xtreme_settings->lockscreen_date, 1);
|
flipper_format_write_bool(file, "lockscreen_date", &xtreme_settings->lockscreen_date, 1);
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ typedef struct {
|
|||||||
bool unlock_anims;
|
bool unlock_anims;
|
||||||
bool fallback_anim;
|
bool fallback_anim;
|
||||||
bool wii_menu;
|
bool wii_menu;
|
||||||
|
bool bad_pins_format;
|
||||||
bool lockscreen_time;
|
bool lockscreen_time;
|
||||||
bool lockscreen_seconds;
|
bool lockscreen_seconds;
|
||||||
bool lockscreen_date;
|
bool lockscreen_date;
|
||||||
|
|||||||
Reference in New Issue
Block a user