accountManager = new TextSecureAccountManager(URL, TRUST_STORE, username, password, USER_AGENT);
}
- public void save() {
+ private void save() {
ObjectNode rootNode = jsonProcessot.createObjectNode();
rootNode.put("username", username)
.put("password", password)
axolotlStore = new JsonAxolotlStore(identityKey, registrationId);
groupStore = new JsonGroupStore();
registered = false;
+ save();
}
public boolean isRegistered() {
accountManager.requestSmsVerificationCode();
registered = false;
+ save();
}
private static final int BATCH_SIZE = 100;
}
preKeyIdOffset = (preKeyIdOffset + BATCH_SIZE + 1) % Medium.MAX_VALUE;
+ save();
+
return records;
}
PreKeyRecord record = new PreKeyRecord(Medium.MAX_VALUE, keyPair);
axolotlStore.storePreKey(Medium.MAX_VALUE, record);
+ save();
return record;
}
axolotlStore.storeSignedPreKey(nextSignedPreKeyId, record);
nextSignedPreKeyId = (nextSignedPreKeyId + 1) % Medium.MAX_VALUE;
+ save();
return record;
} catch (InvalidKeyException e) {
SignedPreKeyRecord signedPreKeyRecord = generateSignedPreKey(axolotlStore.getIdentityKeyPair());
accountManager.setPreKeys(axolotlStore.getIdentityKeyPair().getPublicKey(), lastResortKey, signedPreKeyRecord, oneTimePreKeys);
+ save();
}
}
TextSecureDataMessage message = messageBuilder.build();
- sendMessage(message, getGroupInfo(groupId).members);
+ sendMessage(message, groupStore.getGroup(groupId).members);
}
public void sendQuitGroupMessage(byte[] groupId) throws GroupNotFoundException, IOException, EncapsulatedExceptions {
.asGroupMessage(group)
.build();
- sendMessage(message, getGroupInfo(groupId).members);
+ sendMessage(message, groupStore.getGroup(groupId).members);
}
public byte[] sendUpdateGroupMessage(byte[] groupId, String name, Collection<String> members, String avatarFile) throws IOException, EncapsulatedExceptions, GroupNotFoundException, AttachmentInvalidException {
g = new GroupInfo(Util.getSecretBytes(16));
g.members.add(username);
} else {
- g = getGroupInfo(groupId);
+ g = groupStore.getGroup(groupId);
}
if (name != null) {
}
}
- setGroupInfo(g);
+ groupStore.updateGroup(g);
TextSecureDataMessage message = TextSecureDataMessage.newBuilder()
.asGroupMessage(group.build())
} catch (InvalidNumberException e) {
System.err.println("Failed to add recipient \"" + recipient + "\": " + e.getMessage());
System.err.println("Aborting sending.");
+ save();
return;
}
}
return new TextSecureAddress(e164number);
}
- private GroupInfo getGroupInfo(byte[] groupId) throws GroupNotFoundException {
- return groupStore.getGroup(groupId);
- }
-
- private void setGroupInfo(GroupInfo group) {
- groupStore.updateGroup(group);
- }
-
@Override
public boolean isRemote() {
return false;