diff options
Diffstat (limited to 'src/androidTest/java/org/whispersystems/test/groups/InMemorySenderKeyStore.java')
-rw-r--r-- | src/androidTest/java/org/whispersystems/test/groups/InMemorySenderKeyStore.java | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/androidTest/java/org/whispersystems/test/groups/InMemorySenderKeyStore.java b/src/androidTest/java/org/whispersystems/test/groups/InMemorySenderKeyStore.java new file mode 100644 index 00000000..450d802d --- /dev/null +++ b/src/androidTest/java/org/whispersystems/test/groups/InMemorySenderKeyStore.java @@ -0,0 +1,33 @@ +package org.whispersystems.test.groups; + +import org.whispersystems.libaxolotl.groups.state.SenderKeyRecord; +import org.whispersystems.libaxolotl.groups.state.SenderKeyStore; + +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + +public class InMemorySenderKeyStore implements SenderKeyStore { + + private final Map<String, SenderKeyRecord> store = new HashMap<>(); + + @Override + public void storeSenderKey(String senderKeyId, SenderKeyRecord record) { + store.put(senderKeyId, record); + } + + @Override + public SenderKeyRecord loadSenderKey(String senderKeyId) { + try { + SenderKeyRecord record = store.get(senderKeyId); + + if (record == null) { + return new SenderKeyRecord(); + } else { + return new SenderKeyRecord(record.serialize()); + } + } catch (IOException e) { + throw new AssertionError(e); + } + } +} |