tls-psk: improve error handling

This commit is contained in:
Vincent Breitmoser
2017-05-31 00:45:51 +02:00
parent e5931637dc
commit 41fdbd65ec
2 changed files with 19 additions and 14 deletions

View File

@@ -220,22 +220,25 @@ public class TransferPresenter implements KeyTransferCallback, LoaderCallbacks<L
@Override
public void onDataReceivedOk(String receivedData) {
Log.d(Constants.TAG, "received: " + receivedData);
view.showReceivingKeys();
Log.d(Constants.TAG, "received key");
UncachedKeyRing uncachedKeyRing;
try {
// TODO move to worker thread?
UncachedKeyRing uncachedKeyRing = UncachedKeyRing.decodeFromData(receivedData.getBytes());
String primaryUserId = uncachedKeyRing.getPublicKey().getPrimaryUserIdWithFallback();
UserId userId = OpenPgpUtils.splitUserId(primaryUserId);
ReceivedKeyItem receivedKeyItem = new ReceivedKeyItem(receivedData, uncachedKeyRing.getMasterKeyId(),
uncachedKeyRing.getCreationTime(), userId.name, userId.email);
receivedKeyAdapter.addItem(receivedKeyItem);
} catch (PgpGeneralException | IOException e) {
uncachedKeyRing = UncachedKeyRing.decodeFromData(receivedData.getBytes());
} catch (PgpGeneralException | IOException | RuntimeException e) {
Log.e(Constants.TAG, "error parsing incoming key", e);
view.showErrorBadKey();
return;
}
String primaryUserId = uncachedKeyRing.getPublicKey().getPrimaryUserIdWithFallback();
UserId userId = OpenPgpUtils.splitUserId(primaryUserId);
ReceivedKeyItem receivedKeyItem = new ReceivedKeyItem(receivedData, uncachedKeyRing.getMasterKeyId(),
uncachedKeyRing.getCreationTime(), userId.name, userId.email);
receivedKeyAdapter.addItem(receivedKeyItem);
view.showReceivingKeys();
}
@Override