diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/service/EventNotificationConsumer.kt b/app/src/main/java/com/greenart7c3/nostrsigner/service/EventNotificationConsumer.kt index a7247ab5..b02619be 100644 --- a/app/src/main/java/com/greenart7c3/nostrsigner/service/EventNotificationConsumer.kt +++ b/app/src/main/java/com/greenart7c3/nostrsigner/service/EventNotificationConsumer.kt @@ -464,28 +464,33 @@ class EventNotificationConsumer(private val applicationContext: Context) { val result = acc.nip44Decrypt(bunkerRequest.ciphertext, bunkerRequest.pubKey) if (result.startsWith("{")) { - val event = AmberEvent.fromJson(result) - if (event.kind == SealedRumorEvent.KIND) { - val decryptedSealData = try { - acc.decrypt(event.content, acc.hexKey) - } catch (_: Exception) { - event.content - } - if (decryptedSealData.startsWith("{")) { - val sealEvent = AmberEvent.fromJson(decryptedSealData) - EventEncryptedDataKind(event, EventEncryptedDataKind(sealEvent, null, decryptedSealData), result) - } else if (decryptedSealData.startsWith("[")) { - try { - val tagArray = JacksonMapper.fromJsonToTagArray(decryptedSealData) - EventEncryptedDataKind(event, TagArrayEncryptedDataKind(tagArray, decryptedSealData), decryptedSealData) + try { + val event = AmberEvent.fromJson(result) + if (event.kind == SealedRumorEvent.KIND) { + val decryptedSealData = try { + acc.decrypt(event.content, acc.hexKey) } catch (_: Exception) { + event.content + } + if (decryptedSealData.startsWith("{")) { + val sealEvent = AmberEvent.fromJson(decryptedSealData) + EventEncryptedDataKind(event, EventEncryptedDataKind(sealEvent, null, decryptedSealData), result) + } else if (decryptedSealData.startsWith("[")) { + try { + val tagArray = JacksonMapper.fromJsonToTagArray(decryptedSealData) + EventEncryptedDataKind(event, TagArrayEncryptedDataKind(tagArray, decryptedSealData), decryptedSealData) + } catch (_: Exception) { + EventEncryptedDataKind(event, ClearTextEncryptedDataKind(event.content, decryptedSealData), result) + } + } else { EventEncryptedDataKind(event, ClearTextEncryptedDataKind(event.content, decryptedSealData), result) } } else { - EventEncryptedDataKind(event, ClearTextEncryptedDataKind(event.content, decryptedSealData), result) + EventEncryptedDataKind(event, null, result) } - } else { - EventEncryptedDataKind(event, null, result) + } catch (e: Exception) { + Log.e("IntentUtils", "Error parsing JSON: ${e.message}") + ClearTextEncryptedDataKind(bunkerRequest.ciphertext, result) } } else if (result.startsWith("[")) { try { @@ -542,28 +547,33 @@ class EventNotificationConsumer(private val applicationContext: Context) { val result = acc.nip04Decrypt(bunkerRequest.ciphertext, bunkerRequest.pubKey) if (result.startsWith("{")) { - val event = AmberEvent.fromJson(result) - if (event.kind == SealedRumorEvent.KIND) { - val decryptedSealData = try { - acc.decrypt(event.content, acc.hexKey) - } catch (_: Exception) { - event.content - } - if (decryptedSealData.startsWith("{")) { - val sealEvent = AmberEvent.fromJson(decryptedSealData) - EventEncryptedDataKind(event, EventEncryptedDataKind(sealEvent, null, decryptedSealData), result) - } else if (decryptedSealData.startsWith("[")) { - try { - val tagArray = JacksonMapper.fromJsonToTagArray(decryptedSealData) - EventEncryptedDataKind(event, TagArrayEncryptedDataKind(tagArray, decryptedSealData), decryptedSealData) + try { + val event = AmberEvent.fromJson(result) + if (event.kind == SealedRumorEvent.KIND) { + val decryptedSealData = try { + acc.decrypt(event.content, acc.hexKey) } catch (_: Exception) { + event.content + } + if (decryptedSealData.startsWith("{")) { + val sealEvent = AmberEvent.fromJson(decryptedSealData) + EventEncryptedDataKind(event, EventEncryptedDataKind(sealEvent, null, decryptedSealData), result) + } else if (decryptedSealData.startsWith("[")) { + try { + val tagArray = JacksonMapper.fromJsonToTagArray(decryptedSealData) + EventEncryptedDataKind(event, TagArrayEncryptedDataKind(tagArray, decryptedSealData), decryptedSealData) + } catch (_: Exception) { + EventEncryptedDataKind(event, ClearTextEncryptedDataKind(event.content, decryptedSealData), result) + } + } else { EventEncryptedDataKind(event, ClearTextEncryptedDataKind(event.content, decryptedSealData), result) } } else { - EventEncryptedDataKind(event, ClearTextEncryptedDataKind(event.content, decryptedSealData), result) + EventEncryptedDataKind(event, null, result) } - } else { - EventEncryptedDataKind(event, null, result) + } catch (e: Exception) { + Log.e("IntentUtils", "Error parsing JSON: ${e.message}") + ClearTextEncryptedDataKind(bunkerRequest.ciphertext, result) } } else if (result.startsWith("[")) { try { diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/service/IntentUtils.kt b/app/src/main/java/com/greenart7c3/nostrsigner/service/IntentUtils.kt index aa7756e2..e06dc51c 100644 --- a/app/src/main/java/com/greenart7c3/nostrsigner/service/IntentUtils.kt +++ b/app/src/main/java/com/greenart7c3/nostrsigner/service/IntentUtils.kt @@ -511,29 +511,34 @@ object IntentUtils { } } else { if (result.startsWith("{")) { - val event = AmberEvent.fromJson(result) - if (event.kind == SealedRumorEvent.KIND) { - val decryptedSealData = try { - account.decrypt(event.content, account.hexKey) - } catch (_: Exception) { - event.content - } - if (decryptedSealData.startsWith("{")) { - val sealEvent = AmberEvent.fromJson(decryptedSealData) - EventEncryptedDataKind(event, EventEncryptedDataKind(sealEvent, null, decryptedSealData), result) - } else if (decryptedSealData.startsWith("[")) { - try { - val tagArray = JacksonMapper.fromJsonToTagArray(decryptedSealData) - EventEncryptedDataKind(event, TagArrayEncryptedDataKind(tagArray, decryptedSealData), decryptedSealData) - } catch (e: Exception) { - Log.e("IntentUtils", "Error parsing TagArray: ${e.message}") + try { + val event = AmberEvent.fromJson(result) + if (event.kind == SealedRumorEvent.KIND) { + val decryptedSealData = try { + account.decrypt(event.content, account.hexKey) + } catch (_: Exception) { + event.content + } + if (decryptedSealData.startsWith("{")) { + val sealEvent = AmberEvent.fromJson(decryptedSealData) + EventEncryptedDataKind(event, EventEncryptedDataKind(sealEvent, null, decryptedSealData), result) + } else if (decryptedSealData.startsWith("[")) { + try { + val tagArray = JacksonMapper.fromJsonToTagArray(decryptedSealData) + EventEncryptedDataKind(event, TagArrayEncryptedDataKind(tagArray, decryptedSealData), decryptedSealData) + } catch (e: Exception) { + Log.e("IntentUtils", "Error parsing TagArray: ${e.message}") + EventEncryptedDataKind(event, ClearTextEncryptedDataKind(event.content, decryptedSealData), result) + } + } else { EventEncryptedDataKind(event, ClearTextEncryptedDataKind(event.content, decryptedSealData), result) } } else { - EventEncryptedDataKind(event, ClearTextEncryptedDataKind(event.content, decryptedSealData), result) + EventEncryptedDataKind(event, null, result) } - } else { - EventEncryptedDataKind(event, null, result) + } catch (e: Exception) { + Log.e("IntentUtils", "Error parsing JSON: ${e.message}") + ClearTextEncryptedDataKind(data, result) } } else if (result.startsWith("[")) { try {