From 69369cb0ae87abc627f8437c3382bdc7a2609e76 Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 3 Jul 2026 18:18:55 +0400 Subject: [PATCH] Updated on 2026-08-14 --- .../main/java/com/tangem/tap/di/data/CardSdkModule.kt | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/di/data/CardSdkModule.kt b/app/src/main/java/com/tangem/tap/di/data/CardSdkModule.kt index 496271ef06..e131f9e8c0 100644 --- a/app/src/main/java/com/tangem/tap/di/data/CardSdkModule.kt +++ b/app/src/main/java/com/tangem/tap/di/data/CardSdkModule.kt @@ -35,12 +35,15 @@ internal interface CardSdkModule { sdkRepository: CardSdkConfigRepository, @ApplicationContext context: Context, ): CardArtworksProvider { + // Use internal storage (always mounted) instead of external files dir. External + // storage can be transiently unavailable/unmounted or cleared after this singleton + // is constructed, leaving the directory missing when the SDK later writes to it — + // ArtworksStorage.store() opens a FileOutputStream without re-creating the parent, + // which crashes with ENOENT. Artwork is only a cache, so internal storage is fine. + val artworksDirectory = File(context.filesDir, "card_artworks").apply { mkdirs() } return CardArtworksProvider( tangemApiBaseUrlProvider = { sdkRepository.sdk.config.tangemApiBaseUrl }, - artworksDirectory = File( - context.getExternalFilesDir(null) ?: context.filesDir, - "card_artworks", - ).apply { mkdirs() }, + artworksDirectory = artworksDirectory, ) } }