From d80c77f4665f818b75bdf674211da0c9615d195b Mon Sep 17 00:00:00 2001 From: akwizgran Date: Fri, 24 May 2019 13:14:53 +0100 Subject: [PATCH] Try to close connection if contact exchange fails. --- .../keyagreement/ContactExchangeViewModel.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/ContactExchangeViewModel.java b/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/ContactExchangeViewModel.java index 259e43f68..a7ada2cbe 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/ContactExchangeViewModel.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/ContactExchangeViewModel.java @@ -66,15 +66,26 @@ class ContactExchangeViewModel extends AndroidViewModel { remoteAuthor = contact.getAuthor(); succeeded.postValue(true); } catch (ContactExistsException e) { + tryToClose(conn); duplicateAuthor = e.getRemoteAuthor(); succeeded.postValue(false); } catch (DbException | IOException e) { + tryToClose(conn); logException(LOG, WARNING, e); succeeded.postValue(false); } }); } + private void tryToClose(DuplexTransportConnection conn) { + try { + conn.getReader().dispose(true, true); + conn.getWriter().dispose(true); + } catch (IOException e) { + logException(LOG, WARNING, e); + } + } + @UiThread @Nullable Author getRemoteAuthor() {