summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Clayton <alex.clayton@isode.com>2016-03-11 17:05:43 (GMT)
committerAlex Clayton <alex.clayton@isode.com>2016-03-14 15:33:25 (GMT)
commitde2704f8dfd9b807b37e72e61f2042a5e71227c5 (patch)
tree8694b4ea245a6f7fa7813f5ac8b3e045520378c6
parenta0a0b9fd74f6d99da1c756b36aad6cc0122f011b (diff)
downloadstroke-de2704f8dfd9b807b37e72e61f2042a5e71227c5.zip
stroke-de2704f8dfd9b807b37e72e61f2042a5e71227c5.tar.bz2
Add FileTransfer.getState method
As per swiften patch of same name (cb62de17d1e17fd3049a6bc8155a100574a42a85) add getState() method to FileTransfer interface. Test-information: Unit tests pass ok. Change-Id: I27db4e60c3a8df251b813c90fc4a2e029762082d
-rw-r--r--src/com/isode/stroke/filetransfer/FileTransfer.java5
-rw-r--r--src/com/isode/stroke/filetransfer/IncomingJingleFileTransfer.java61
-rw-r--r--src/com/isode/stroke/filetransfer/OutgoingJingleFileTransfer.java65
3 files changed, 72 insertions, 59 deletions
diff --git a/src/com/isode/stroke/filetransfer/FileTransfer.java b/src/com/isode/stroke/filetransfer/FileTransfer.java
index 8572d93..e12b07d 100644
--- a/src/com/isode/stroke/filetransfer/FileTransfer.java
+++ b/src/com/isode/stroke/filetransfer/FileTransfer.java
@@ -6,3 +6,3 @@
/*
- * Copyright (c) 2013-2015 Isode Limited.
+ * Copyright (c) 2013-2016 Isode Limited.
* All rights reserved.
@@ -66,2 +66,5 @@ public interface FileTransfer {
public void setFileInfo(final String name, long size);
+
+ public State getState();
+
}
diff --git a/src/com/isode/stroke/filetransfer/IncomingJingleFileTransfer.java b/src/com/isode/stroke/filetransfer/IncomingJingleFileTransfer.java
index 92b185d..f7f9c70 100644
--- a/src/com/isode/stroke/filetransfer/IncomingJingleFileTransfer.java
+++ b/src/com/isode/stroke/filetransfer/IncomingJingleFileTransfer.java
@@ -1,3 +1,3 @@
/*
- * Copyright (c) 2010-2015 Isode Limited.
+ * Copyright (c) 2010-2016 Isode Limited.
* All rights reserved.
@@ -71,3 +71,3 @@ public class IncomingJingleFileTransfer extends JingleFileTransfer implements In
private CryptoProvider crypto;
- private State state;
+ private State internalState;
private JingleFileTransferDescription description;
@@ -95,3 +95,3 @@ public class IncomingJingleFileTransfer extends JingleFileTransfer implements In
this.crypto = crypto;
- this.state = State.Initial;
+ this.internalState = State.Initial;
this. receivedBytes = 0;
@@ -127,3 +127,3 @@ public class IncomingJingleFileTransfer extends JingleFileTransfer implements In
logger_.fine("\n");
- if (!State.Initial.equals(state)) { logger_.warning("Incorrect state \n"); return; }
+ if (!State.Initial.equals(internalState)) { logger_.warning("Incorrect state \n"); return; }
@@ -149,3 +149,3 @@ public class IncomingJingleFileTransfer extends JingleFileTransfer implements In
transporter.addRemoteCandidates(s5bTransport.getCandidates(), s5bTransport.getDstAddr());
- setState(State.GeneratingInitialLocalCandidates);
+ setInternalState(State.GeneratingInitialLocalCandidates);
transporter.startGeneratingLocalCandidates();
@@ -189,3 +189,3 @@ public class IncomingJingleFileTransfer extends JingleFileTransfer implements In
logger_.fine("\n");
- terminate(State.Initial.equals(state) ? JinglePayload.Reason.Type.Decline : JinglePayload.Reason.Type.Cancel);
+ terminate(State.Initial.equals(internalState) ? JinglePayload.Reason.Type.Decline : JinglePayload.Reason.Type.Cancel);
}
@@ -196,3 +196,3 @@ public class IncomingJingleFileTransfer extends JingleFileTransfer implements In
if (JingleS5BTransportPayload.Candidate.Type.ProxyType.equals(ourCandidateChoice.type)) {
- setState(State.WaitingForPeerProxyActivate);
+ setInternalState(State.WaitingForPeerProxyActivate);
}
@@ -207,3 +207,3 @@ public class IncomingJingleFileTransfer extends JingleFileTransfer implements In
if (JingleS5BTransportPayload.Candidate.Type.ProxyType.equals(theirCandidateChoice.type)) {
- setState(State.WaitingForLocalProxyActivate);
+ setInternalState(State.WaitingForLocalProxyActivate);
transporter.startActivatingProxy(theirCandidateChoice.jid);
@@ -226,3 +226,3 @@ public class IncomingJingleFileTransfer extends JingleFileTransfer implements In
protected void stopAll() {
- if (!State.Initial.equals(state)) {
+ if (!State.Initial.equals(internalState)) {
writeStreamDataReceivedConnection.disconnect();
@@ -230,3 +230,3 @@ public class IncomingJingleFileTransfer extends JingleFileTransfer implements In
}
- switch (state) {
+ switch (internalState) {
case Initial: break;
@@ -246,3 +246,3 @@ public class IncomingJingleFileTransfer extends JingleFileTransfer implements In
}
- if (!State.Initial.equals(state)) {
+ if (!State.Initial.equals(internalState)) {
removeTransporter();
@@ -251,7 +251,12 @@ public class IncomingJingleFileTransfer extends JingleFileTransfer implements In
- protected void setState(State state) {
+ protected void setInternalState(State state) {
logger_.fine(state + "\n");
- this.state = state;
+ this.internalState = state;
onStateChanged.emit(new FileTransfer.State(getExternalState(state)));
}
+
+ @Override
+ public com.isode.stroke.filetransfer.FileTransfer.State getState() {
+ return new FileTransfer.State(getExternalState(internalState));
+ }
@@ -259,3 +264,3 @@ public class IncomingJingleFileTransfer extends JingleFileTransfer implements In
logger_.fine("\n");
- this.state = State.Finished;
+ this.internalState = State.Finished;
onStateChanged.emit(new FileTransfer.State(type));
@@ -285,3 +290,3 @@ public class IncomingJingleFileTransfer extends JingleFileTransfer implements In
protected void fallback() {
- setState(State.WaitingForFallbackOrTerminate);
+ setInternalState(State.WaitingForFallbackOrTerminate);
}
@@ -298,3 +303,3 @@ public class IncomingJingleFileTransfer extends JingleFileTransfer implements In
});
- setState(State.Transferring);
+ setInternalState(State.Transferring);
transportSession.start();
@@ -303,3 +308,3 @@ public class IncomingJingleFileTransfer extends JingleFileTransfer implements In
protected boolean isWaitingForPeerProxyActivate() {
- return State.WaitingForPeerProxyActivate.equals(state);
+ return State.WaitingForPeerProxyActivate.equals(internalState);
}
@@ -307,3 +312,3 @@ public class IncomingJingleFileTransfer extends JingleFileTransfer implements In
protected boolean isWaitingForLocalProxyActivate() {
- return State.WaitingForLocalProxyActivate.equals(state);
+ return State.WaitingForLocalProxyActivate.equals(internalState);
}
@@ -311,3 +316,3 @@ public class IncomingJingleFileTransfer extends JingleFileTransfer implements In
protected boolean isTryingCandidates() {
- return State.TryingCandidates.equals(state);
+ return State.TryingCandidates.equals(internalState);
}
@@ -325,3 +330,3 @@ public class IncomingJingleFileTransfer extends JingleFileTransfer implements In
- if (!State.Finished.equals(state)) {
+ if (!State.Finished.equals(internalState)) {
session.sendTerminate(reason);
@@ -346,5 +351,5 @@ public class IncomingJingleFileTransfer extends JingleFileTransfer implements In
logger_.fine("\n");
- if (State.Finished.equals(state)) { logger_.warning("Incorrect state\n"); return; }
+ if (State.Finished.equals(internalState)) { logger_.warning("Incorrect state\n"); return; }
- if (State.Finished.equals(state)) {
+ if (State.Finished.equals(internalState)) {
logger_.fine("Already terminated\n");
@@ -378,3 +383,3 @@ public class IncomingJingleFileTransfer extends JingleFileTransfer implements In
}
- if (State.WaitingForHash.equals(state)) {
+ if (State.WaitingForHash.equals(internalState)) {
checkHashAndTerminate();
@@ -389,3 +394,3 @@ public class IncomingJingleFileTransfer extends JingleFileTransfer implements In
logger_.fine("\n");
- if (!State.WaitingForFallbackOrTerminate.equals(state)) {
+ if (!State.WaitingForFallbackOrTerminate.equals(internalState)) {
logger_.warning("Incorrect state\n");
@@ -409,3 +414,3 @@ public class IncomingJingleFileTransfer extends JingleFileTransfer implements In
logger_.fine("\n");
- if (!State.GeneratingInitialLocalCandidates.equals(state)) { logger_.warning("Incorrect state\n"); return; }
+ if (!State.GeneratingInitialLocalCandidates.equals(internalState)) { logger_.warning("Incorrect state\n"); return; }
@@ -422,3 +427,3 @@ public class IncomingJingleFileTransfer extends JingleFileTransfer implements In
- setState(State.TryingCandidates);
+ setInternalState(State.TryingCandidates);
transporter.startTryingRemoteCandidates();
@@ -455,3 +460,3 @@ public class IncomingJingleFileTransfer extends JingleFileTransfer implements In
logger_.fine("No hash information yet. Waiting a while on hash info.\n");
- setState(State.WaitingForHash);
+ setInternalState(State.WaitingForHash);
waitOnHashTimer.start();
@@ -494,3 +499,3 @@ public class IncomingJingleFileTransfer extends JingleFileTransfer implements In
private void handleTransferFinished(FileTransferError error) {
- if (error != null && !State.WaitingForHash.equals(state)) {
+ if (error != null && !State.WaitingForHash.equals(internalState)) {
terminate(JinglePayload.Reason.Type.MediaError);
diff --git a/src/com/isode/stroke/filetransfer/OutgoingJingleFileTransfer.java b/src/com/isode/stroke/filetransfer/OutgoingJingleFileTransfer.java
index c5a1f11..63a11e8 100644
--- a/src/com/isode/stroke/filetransfer/OutgoingJingleFileTransfer.java
+++ b/src/com/isode/stroke/filetransfer/OutgoingJingleFileTransfer.java
@@ -79,3 +79,3 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou
private IncrementalBytestreamHashCalculator hashCalculator;
- private State state;
+ private State internalState;
private boolean candidateAcknowledged;
@@ -105,3 +105,3 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou
this.contentID = new JingleContentID(idGenerator.generateID(), JingleContentPayload.Creator.InitiatorCreator);
- this.state = State.Initial;
+ this.internalState = State.Initial;
this.candidateAcknowledged = false;
@@ -132,3 +132,3 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou
logger_.fine("\n");
- if (!State.Initial.equals(state)) {
+ if (!State.Initial.equals(internalState)) {
logger_.warning("Incorrect state\n");
@@ -138,3 +138,3 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou
setTransporter(transporterFactory.createInitiatorTransporter(getInitiator(), getResponder(), options));
- setState(State.GeneratingInitialLocalCandidates);
+ setInternalState(State.GeneratingInitialLocalCandidates);
transporter.startGeneratingLocalCandidates();
@@ -166,3 +166,3 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou
logger_.fine("\n");
- if (!State.WaitingForAccept.equals(state)) { logger_.warning("Incorrect state\n"); return; }
+ if (!State.WaitingForAccept.equals(internalState)) { logger_.warning("Incorrect state\n"); return; }
@@ -171,3 +171,3 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou
transporter.addRemoteCandidates(s5bPayload.getCandidates(), s5bPayload.getDstAddr());
- setState(State.TryingCandidates);
+ setInternalState(State.TryingCandidates);
transporter.startTryingRemoteCandidates();
@@ -182,6 +182,6 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou
logger_.fine("\n");
- if (State.Finished.equals(state)) { logger_.warning("Incorrect state: " + state + "\n"); return; }
+ if (State.Finished.equals(internalState)) { logger_.warning("Incorrect state: " + internalState + "\n"); return; }
stopAll();
- if (State.WaitForTermination.equals(state)) {
+ if (State.WaitForTermination.equals(internalState)) {
waitForRemoteTermination.stop();
@@ -204,3 +204,3 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou
logger_.fine("\n");
- if (!State.FallbackRequested.equals(state)) { logger_.warning("Incorrect state\n"); return; }
+ if (!State.FallbackRequested.equals(internalState)) { logger_.warning("Incorrect state\n"); return; }
@@ -226,3 +226,3 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou
if (JingleS5BTransportPayload.Candidate.Type.ProxyType.equals(ourCandidateChoice.type)) {
- setState(State.WaitingForPeerProxyActivate);
+ setInternalState(State.WaitingForPeerProxyActivate);
}
@@ -238,3 +238,3 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou
if (JingleS5BTransportPayload.Candidate.Type.ProxyType.equals(theirCandidateChoice.type)) {
- setState(State.WaitingForLocalProxyActivate);
+ setInternalState(State.WaitingForLocalProxyActivate);
transporter.startActivatingProxy(theirCandidateChoice.jid);
@@ -252,3 +252,3 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou
else {
- setState(State.WaitingForCandidateAcknowledge);
+ setInternalState(State.WaitingForCandidateAcknowledge);
}
@@ -258,3 +258,3 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou
logger_.fine("\n");
- if (!State.GeneratingInitialLocalCandidates.equals(state)) { logger_.warning("Incorrect state\n"); return; }
+ if (!State.GeneratingInitialLocalCandidates.equals(internalState)) { logger_.warning("Incorrect state\n"); return; }
@@ -275,3 +275,3 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou
}
- setState(State.WaitingForAccept);
+ setInternalState(State.WaitingForAccept);
session.sendInitiate(contentID, description, transport);
@@ -283,3 +283,3 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou
}
- if (State.WaitingForCandidateAcknowledge.equals(state)) {
+ if (State.WaitingForCandidateAcknowledge.equals(internalState)) {
startTransferring(transportSession);
@@ -295,3 +295,3 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou
- if (!State.Initial.equals(state) && !State.GeneratingInitialLocalCandidates.equals(state) && !State.Finished.equals(state)) {
+ if (!State.Initial.equals(internalState) && !State.GeneratingInitialLocalCandidates.equals(internalState) && !State.Finished.equals(internalState)) {
session.sendTerminate(reason);
@@ -308,3 +308,3 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou
ibbTransport.setSessionID(idGenerator.generateID());
- setState(State.FallbackRequested);
+ setInternalState(State.FallbackRequested);
session.sendTransportReplace(contentID, ibbTransport);
@@ -319,3 +319,3 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou
logger_.fine("\n");
- if (!State.Transferring.equals(state)) { logger_.warning("Incorrect state: " + state + "\n"); return; }
+ if (!State.Transferring.equals(internalState)) { logger_.warning("Incorrect state: " + internalState + "\n"); return; }
@@ -328,3 +328,3 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou
// wait for other party to terminate session after they have verified the hash
- setState(State.WaitForTermination);
+ setInternalState(State.WaitForTermination);
waitForRemoteTermination.start();
@@ -353,3 +353,3 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou
});
- setState(State.Transferring);
+ setInternalState(State.Transferring);
transportSession.start();
@@ -362,3 +362,3 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou
protected boolean isWaitingForPeerProxyActivate() {
- return State.WaitingForPeerProxyActivate.equals(state);
+ return State.WaitingForPeerProxyActivate.equals(internalState);
}
@@ -366,3 +366,3 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou
protected boolean isWaitingForLocalProxyActivate() {
- return State.WaitingForLocalProxyActivate.equals(state);
+ return State.WaitingForLocalProxyActivate.equals(internalState);
}
@@ -370,3 +370,3 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou
protected boolean isTryingCandidates() {
- return State.TryingCandidates.equals(state);
+ return State.TryingCandidates.equals(internalState);
}
@@ -382,3 +382,3 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou
private void handleWaitForRemoteTerminationTimeout() {
- assert(state.equals(State.WaitForTermination));
+ assert(internalState.equals(State.WaitForTermination));
logger_.warning("Other party did not terminate session. Terminate it now.\n");
@@ -389,4 +389,4 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou
private void stopAll() {
- logger_.fine(state + "\n");
- switch (state) {
+ logger_.fine(internalState + "\n");
+ switch (internalState) {
case Initial: logger_.warning("Not yet started\n"); break;
@@ -410,3 +410,3 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou
}
- if (!State.Initial.equals(state)) {
+ if (!State.Initial.equals(internalState)) {
removeTransporter();
@@ -415,5 +415,5 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou
- private void setState(State state) {
+ private void setInternalState(State state) {
logger_.fine(state + "\n");
- this.state = state;
+ this.internalState = state;
onStateChanged.emit(new FileTransfer.State(getExternalState(state)));
@@ -421,5 +421,10 @@ public class OutgoingJingleFileTransfer extends JingleFileTransfer implements Ou
+ @Override
+ public com.isode.stroke.filetransfer.FileTransfer.State getState() {
+ return new FileTransfer.State(getExternalState(internalState));
+ }
+
private void setFinishedState(FileTransfer.State.Type type, final FileTransferError error) {
logger_.fine("\n");
- this.state = State.Finished;
+ this.internalState = State.Finished;
onStateChanged.emit(new FileTransfer.State(type));