import org.whispersystems.textsecure.api.TextSecureMessageReceiver;
import org.whispersystems.textsecure.api.TextSecureMessageSender;
import org.whispersystems.textsecure.api.crypto.TextSecureCipher;
+import org.whispersystems.textsecure.api.messages.TextSecureContent;
import org.whispersystems.textsecure.api.messages.TextSecureEnvelope;
-import org.whispersystems.textsecure.api.messages.TextSecureMessage;
+import org.whispersystems.textsecure.api.push.TextSecureAddress;
import org.whispersystems.textsecure.api.push.TrustStore;
import java.io.*;
-import java.nio.file.Path;
import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
JSONObject in = new JSONObject(IOUtils.toString(new FileInputStream(getFileName())));
username = in.getString("username");
password = in.getString("password");
- signalingKey = in.getString("signalingKey");
+ if (in.has("signalingKey")) {
+ signalingKey = in.getString("signalingKey");
+ }
axolotlStore = new JsonAxolotlStore(in.getJSONObject("axolotlStore"));
registered = in.getBoolean("registered");
accountManager = new TextSecureAccountManager(URL, TRUST_STORE, username, password);
return registered;
}
- public void register() throws IOException {
+ public void register(boolean voiceVerication) throws IOException {
password = Util.getSecret(18);
accountManager = new TextSecureAccountManager(URL, TRUST_STORE, username, password);
- accountManager.requestSmsVerificationCode();
+ if (voiceVerication)
+ accountManager.requestVoiceVerificationCode();
+ else
+ accountManager.requestSmsVerificationCode();
+
registered = false;
}
axolotlStore, Optional.<TextSecureMessageSender.EventListener>absent());
}
- public TextSecureMessage receiveMessage() throws IOException, InvalidVersionException {
+ public TextSecureContent receiveMessage() throws IOException, InvalidVersionException {
TextSecureMessageReceiver messageReceiver = new TextSecureMessageReceiver(URL, TRUST_STORE, username, password, signalingKey);
TextSecureMessagePipe messagePipe = null;
} catch (TimeoutException e) {
return null;
}
- TextSecureCipher cipher = new TextSecureCipher(axolotlStore);
- TextSecureMessage message = null;
+ TextSecureCipher cipher = new TextSecureCipher(new TextSecureAddress(username), axolotlStore);
+ TextSecureContent message = null;
try {
message = cipher.decrypt(envelope);
} catch (Exception e) {