From 1759856236bc157dc730f1493308935e01699e20 Mon Sep 17 00:00:00 2001 From: greenart7c3 Date: Mon, 26 Jan 2026 11:09:23 -0300 Subject: [PATCH] Refactor account retrieval logic in `LocalPreferences` - Add a check to verify if an account exists using `containsAccount` before attempting to retrieve it. - Move `DataStoreAccess.getEncryptedKey` outside the `sharedPrefs` apply block for better structure. - Ensure the method returns null early if the account is not found. --- .../com/greenart7c3/nostrsigner/LocalPreferences.kt | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/LocalPreferences.kt b/app/src/main/java/com/greenart7c3/nostrsigner/LocalPreferences.kt index 79e8dfd3..db3c2203 100644 --- a/app/src/main/java/com/greenart7c3/nostrsigner/LocalPreferences.kt +++ b/app/src/main/java/com/greenart7c3/nostrsigner/LocalPreferences.kt @@ -442,12 +442,15 @@ object LocalPreferences { if (accountCache.get(npub) != null) { return accountCache.get(npub) } + if (!containsAccount(context, npub)) { + return null + } + val privKey = DataStoreAccess.getEncryptedKey( + context, + npub, + DataStoreAccess.NOSTR_PRIVKEY, + ) sharedPrefs(context, npub).apply { - val privKey = DataStoreAccess.getEncryptedKey( - context, - npub, - DataStoreAccess.NOSTR_PRIVKEY, - ) val pubKey = getString(PrefKeys.NOSTR_PUBKEY.key, null) ?: return null val name = getString(PrefKeys.ACCOUNT_NAME.key, "") ?: "" val picture = getString(PrefKeys.PROFILE_URL.key, "") ?: ""