diff --git a/applications/services/desktop/desktop.c b/applications/services/desktop/desktop.c index 83a5b13b7..a0399b7ff 100644 --- a/applications/services/desktop/desktop.c +++ b/applications/services/desktop/desktop.c @@ -369,14 +369,6 @@ int32_t desktop_srv(void* p) { return 0; } - if(furi_hal_rtc_is_flag_set(FuriHalRtcFlagResetPin)) { - Storage* storage = furi_record_open(RECORD_STORAGE); - storage_common_remove(storage, DESKTOP_SETTINGS_PATH); - storage_common_remove(storage, DESKTOP_SETTINGS_OLD_PATH); - furi_record_close(RECORD_STORAGE); - furi_hal_rtc_reset_flag(FuriHalRtcFlagResetPin); - } - Desktop* desktop = desktop_alloc(); bool loaded = DESKTOP_SETTINGS_LOAD(&desktop->settings); diff --git a/applications/services/desktop/desktop_settings.h b/applications/services/desktop/desktop_settings.h index 5896f0ed7..0edff4038 100644 --- a/applications/services/desktop/desktop_settings.h +++ b/applications/services/desktop/desktop_settings.h @@ -9,8 +9,8 @@ #define DESKTOP_SETTINGS_VER (8) -#define DESKTOP_SETTINGS_OLD_PATH INT_PATH(".desktop.settings") -#define DESKTOP_SETTINGS_PATH CFG_PATH("desktop.settings") +#define DESKTOP_SETTINGS_OLD_PATH CFG_PATH("desktop.settings") +#define DESKTOP_SETTINGS_PATH INT_PATH(".desktop.settings") #define DESKTOP_SETTINGS_MAGIC (0x17) #define PIN_MAX_LENGTH 12 diff --git a/firmware/targets/f7/src/recovery.c b/firmware/targets/f7/src/recovery.c index 700fb03c6..49d780d47 100644 --- a/firmware/targets/f7/src/recovery.c +++ b/firmware/targets/f7/src/recovery.c @@ -56,7 +56,6 @@ void flipper_boot_recovery_exec() { } if(!counter) { - furi_hal_rtc_set_flag(FuriHalRtcFlagResetPin); furi_hal_rtc_set_flag(FuriHalRtcFlagFactoryReset); furi_hal_rtc_set_pin_fails(0); furi_hal_rtc_reset_flag(FuriHalRtcFlagLock); diff --git a/firmware/targets/furi_hal_include/furi_hal_rtc.h b/firmware/targets/furi_hal_include/furi_hal_rtc.h index 5babfdc59..e706c5c76 100644 --- a/firmware/targets/furi_hal_include/furi_hal_rtc.h +++ b/firmware/targets/furi_hal_include/furi_hal_rtc.h @@ -30,9 +30,8 @@ typedef enum { FuriHalRtcFlagLock = (1 << 2), FuriHalRtcFlagC2Update = (1 << 3), FuriHalRtcFlagHandOrient = (1 << 4), - FuriHalRtcFlagResetPin = (1 << 5), - FuriHalRtcFlagLegacySleep = (1 << 6), - FuriHalRtcFlagStealthMode = (1 << 7), + FuriHalRtcFlagLegacySleep = (1 << 5), + FuriHalRtcFlagStealthMode = (1 << 6), } FuriHalRtcFlag; typedef enum { diff --git a/furi/flipper.c b/furi/flipper.c index 4419877e9..1b4f4cb62 100644 --- a/furi/flipper.c +++ b/furi/flipper.c @@ -45,7 +45,7 @@ void flipper_migrate_files() { storage_common_remove(storage, INT_PATH(".passport.settings")); storage_common_remove(storage, INT_PATH(".region_data")); - // Migrate files + // Migrate files, Int -> Ext storage_common_copy(storage, ARCHIVE_FAV_OLD_PATH, ARCHIVE_FAV_PATH); storage_common_remove(storage, ARCHIVE_FAV_OLD_PATH); storage_common_copy(storage, BT_SETTINGS_OLD_PATH, BT_SETTINGS_PATH); @@ -56,13 +56,16 @@ void flipper_migrate_files() { storage_common_remove(storage, POWER_SETTINGS_OLD_PATH); storage_common_copy(storage, BT_KEYS_STORAGE_OLD_PATH, BT_KEYS_STORAGE_PATH); storage_common_remove(storage, BT_KEYS_STORAGE_OLD_PATH); - storage_common_copy(storage, DESKTOP_SETTINGS_OLD_PATH, DESKTOP_SETTINGS_PATH); - storage_common_remove(storage, DESKTOP_SETTINGS_OLD_PATH); storage_common_copy(storage, NOTIFICATION_SETTINGS_OLD_PATH, NOTIFICATION_SETTINGS_PATH); storage_common_remove(storage, NOTIFICATION_SETTINGS_OLD_PATH); + // Ext -> Int + storage_common_copy(storage, DESKTOP_SETTINGS_OLD_PATH, DESKTOP_SETTINGS_PATH); + storage_common_remove(storage, DESKTOP_SETTINGS_OLD_PATH); // Special care for U2F - if(storage_common_exists(storage, U2F_CNT_OLD_FILE)) { // Is on Int + FileInfo file_info; + if(storage_common_stat(storage, U2F_CNT_OLD_FILE, &file_info) == FSE_OK && + file_info.size > 200) { // Is on Int and has content storage_common_remove(storage, U2F_CNT_FILE); // Remove outdated on Ext storage_common_rename(storage, U2F_CNT_OLD_FILE, U2F_CNT_FILE); // Int -> Ext }