display toast on pgp error

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/crypto/PgpEngine.java               |  2 
src/main/java/eu/siacs/conversations/services/XmppConnectionService.java | 14 
src/main/java/eu/siacs/conversations/ui/ConversationActivity.java        |  8 
3 files changed, 16 insertions(+), 8 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/services/XmppConnectionService.java 🔗

@@ -452,7 +452,12 @@ public class XmppConnectionService extends Service {
 						getFileBackend().copyFileToPrivateStorage(message, uri);
 						getFileBackend().updateFileParams(message);
 						if (message.getEncryption() == Message.ENCRYPTION_DECRYPTED) {
-							getPgpEngine().encrypt(message, callback);
+							final PgpEngine pgpEngine = getPgpEngine();
+							if (pgpEngine != null) {
+								pgpEngine.encrypt(message, callback);
+							} else if (callback != null){
+								callback.error(R.string.unable_to_connect_to_keychain, null);
+							}
 						} else {
 							callback.success(message);
 						}
@@ -492,7 +497,12 @@ public class XmppConnectionService extends Service {
 				try {
 					getFileBackend().copyImageToPrivateStorage(message, uri);
 					if (conversation.getNextEncryption() == Message.ENCRYPTION_PGP) {
-						getPgpEngine().encrypt(message, callback);
+						final PgpEngine pgpEngine = getPgpEngine();
+						if (pgpEngine != null) {
+							pgpEngine.encrypt(message, callback);
+						} else if (callback != null){
+							callback.error(R.string.unable_to_connect_to_keychain, null);
+						}
 					} else {
 						callback.success(message);
 					}

src/main/java/eu/siacs/conversations/ui/ConversationActivity.java 🔗

@@ -541,7 +541,7 @@ public class ConversationActivity extends XmppActivity
 
 								@Override
 								public void error(int error, Contact contact) {
-									displayErrorDialog(error);
+									replaceToast(getString(error));
 								}
 							});
 				} else if (mode == Conversation.MODE_MULTI && conversation.getMucOptions().pgpKeysInUse()) {
@@ -1465,8 +1465,7 @@ public class ConversationActivity extends XmppActivity
 
 			@Override
 			public void error(int errorCode, Message message) {
-				hidePrepareFileToast(prepareFileToast);
-				displayErrorDialog(errorCode);
+				replaceToast(getString(errorCode));
 			}
 
 			@Override
@@ -1498,8 +1497,7 @@ public class ConversationActivity extends XmppActivity
 
 					@Override
 					public void error(int error, Message message) {
-						hidePrepareFileToast(prepareFileToast);
-						displayErrorDialog(error);
+						replaceToast(getString(error));
 					}
 				});
 	}