From fece9332db7d9d859788bdbc691f0d16864b4522 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Tue, 29 Aug 2017 00:41:41 +0200 Subject: [PATCH] Insert classloader magic to prevent ClassNotFoundException in CryptoInputParcelCacheService --- .../keychain/remote/CryptoInputParcelCacheService.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/CryptoInputParcelCacheService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/CryptoInputParcelCacheService.java index 3ced56b5a..c573aba9b 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/CryptoInputParcelCacheService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/CryptoInputParcelCacheService.java @@ -71,6 +71,10 @@ public class CryptoInputParcelCacheService extends Service { public static void addCryptoInputParcel(Context context, Intent data, CryptoInputParcel inputParcel) { UUID mTicket = addCryptoInputParcel(context, inputParcel); + + // prevent crashes with ClassNotFoundException when unmarshalling: org.openintents.openpgp.AutocryptPeerUpdate + data.setExtrasClassLoader(CryptoInputParcelCacheService.class.getClassLoader()); + // And write out the UUID most and least significant bits. data.putExtra(OpenPgpApi.EXTRA_CALL_UUID1, mTicket.getMostSignificantBits()); data.putExtra(OpenPgpApi.EXTRA_CALL_UUID2, mTicket.getLeastSignificantBits());