From 8caaee7b436f1249e12c48628a0b462bfd5a21e6 Mon Sep 17 00:00:00 2001 From: Niels Andriesse Date: Thu, 1 Aug 2019 09:26:06 +1000 Subject: [PATCH] Catch key pair restoration errors --- .../thoughtcrime/securesms/loki/KeyPairActivity.kt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/org/thoughtcrime/securesms/loki/KeyPairActivity.kt b/src/org/thoughtcrime/securesms/loki/KeyPairActivity.kt index 17d078560d..9ddd92946b 100644 --- a/src/org/thoughtcrime/securesms/loki/KeyPairActivity.kt +++ b/src/org/thoughtcrime/securesms/loki/KeyPairActivity.kt @@ -129,9 +129,14 @@ class KeyPairActivity : BaseActionBarActivity() { Mode.Register -> keyPair = this.keyPair!! Mode.Restore -> { val mnemonic = mnemonicEditText.text.toString() - val hexEncodedPrivateKey = MnemonicCodec(languageFileDirectory).decode(mnemonic) - IdentityKeyUtil.generateIdentityKeyPair(this, hexEncodedPrivateKey) - keyPair = IdentityKeyUtil.getIdentityKeyPair(this) + try { + val hexEncodedPrivateKey = MnemonicCodec(languageFileDirectory).decode(mnemonic) + IdentityKeyUtil.generateIdentityKeyPair(this, hexEncodedPrivateKey) + keyPair = IdentityKeyUtil.getIdentityKeyPair(this) + } catch (e: Exception) { + val message = if (e is MnemonicCodec.DecodingError) e.description else MnemonicCodec.DecodingError.Generic.description + return Toast.makeText(this, message, Toast.LENGTH_SHORT).show() + } } } val publicKey = keyPair.publicKey