From b376e6db971ee7b4c18f19e2bc48337f0655862a Mon Sep 17 00:00:00 2001 From: WillyJL Date: Thu, 31 Jul 2025 22:41:14 +0200 Subject: [PATCH] Archive: Support Picopass files open/favorite --nobuild --- CHANGELOG.md | 1 + applications/external | 2 +- applications/main/archive/helpers/archive_browser.h | 3 +++ applications/main/archive/helpers/archive_files.h | 1 + applications/main/archive/scenes/archive_scene_browser.c | 2 ++ applications/main/archive/views/archive_browser_view.c | 1 + 6 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ba4f3dd7f..4c56c9fd0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ - Add Skip Sliding Animations option for Lockscreen (#436 by @aaronjamt) - Desktop: Add Keybinds support for directories (#331 by @956MB & @WillyJL) - Input Settings: Add Vibro Trigger option (#429 by @956MB) +- Archive: Support opening and favoriting Picopass files (by @WillyJL) ### Updated: - Apps: diff --git a/applications/external b/applications/external index 947317338..cb422faee 160000 --- a/applications/external +++ b/applications/external @@ -1 +1 @@ -Subproject commit 94731733870d21dd0e5a00830d33a35909905c26 +Subproject commit cb422faee74bcca3c8e1167b0331ce7766669e51 diff --git a/applications/main/archive/helpers/archive_browser.h b/applications/main/archive/helpers/archive_browser.h index 9d3c760c6..2b020ed1c 100644 --- a/applications/main/archive/helpers/archive_browser.h +++ b/applications/main/archive/helpers/archive_browser.h @@ -24,6 +24,7 @@ static const char* const tab_default_paths[] = { }; static const char* const known_ext[] = { + // clang-format off [ArchiveFileTypeIButton] = ".ibtn", [ArchiveFileTypeNFC] = ".nfc", [ArchiveFileTypeSubGhz] = ".sub", @@ -36,6 +37,7 @@ static const char* const known_ext[] = { [ArchiveFileTypeWAV] = ".wav", [ArchiveFileTypeMag] = ".mag", [ArchiveFileTypeCrossRemote] = ".xr", + [ArchiveFileTypePicopass] = ".picopass", [ArchiveFileTypeU2f] = "?", [ArchiveFileTypeApplication] = ".fap", [ArchiveFileTypeJS] = ".js", @@ -46,6 +48,7 @@ static const char* const known_ext[] = { [ArchiveFileTypeUnknown] = "*", [ArchiveFileTypeAppOrJs] = ".fap|.js", [ArchiveFileTypeSetting] = "?", + // clang-format on }; static const ArchiveFileTypeEnum known_type[] = { diff --git a/applications/main/archive/helpers/archive_files.h b/applications/main/archive/helpers/archive_files.h index eb11ae4a1..a33313284 100644 --- a/applications/main/archive/helpers/archive_files.h +++ b/applications/main/archive/helpers/archive_files.h @@ -22,6 +22,7 @@ typedef enum { ArchiveFileTypeWAV, ArchiveFileTypeMag, ArchiveFileTypeCrossRemote, + ArchiveFileTypePicopass, ArchiveFileTypeU2f, ArchiveFileTypeUpdateManifest, ArchiveFileTypeApplication, diff --git a/applications/main/archive/scenes/archive_scene_browser.c b/applications/main/archive/scenes/archive_scene_browser.c index b6d51c1a9..6042c8f32 100644 --- a/applications/main/archive/scenes/archive_scene_browser.c +++ b/applications/main/archive/scenes/archive_scene_browser.c @@ -39,6 +39,8 @@ const char* archive_get_flipper_app_name(ArchiveFileTypeEnum file_type) { return EXT_PATH("apps/GPIO/magspoof.fap"); case ArchiveFileTypeCrossRemote: return EXT_PATH("apps/Infrared/xremote.fap"); + case ArchiveFileTypePicopass: + return EXT_PATH("apps/NFC/picopass.fap"); case ArchiveFileTypeU2f: return "U2F"; case ArchiveFileTypeUpdateManifest: diff --git a/applications/main/archive/views/archive_browser_view.c b/applications/main/archive/views/archive_browser_view.c index eaa7e0cc0..98462d86a 100644 --- a/applications/main/archive/views/archive_browser_view.c +++ b/applications/main/archive/views/archive_browser_view.c @@ -37,6 +37,7 @@ static const Icon* ArchiveItemIcons[] = { [ArchiveFileTypeWAV] = &I_music_10px, [ArchiveFileTypeMag] = &I_mag_card_10px, [ArchiveFileTypeCrossRemote] = &I_xremote_10px, + [ArchiveFileTypePicopass] = &I_125_10px, [ArchiveFileTypeU2f] = &I_u2f_10px, [ArchiveFileTypeSetting] = &I_settings_10px, [ArchiveFileTypeApplication] = &I_Apps_10px,