diff options
| author | Alex Clayton <alex.clayton@isode.com> | 2016-03-11 17:05:43 (GMT) |
|---|---|---|
| committer | Alex Clayton <alex.clayton@isode.com> | 2016-03-14 15:33:25 (GMT) |
| commit | de2704f8dfd9b807b37e72e61f2042a5e71227c5 (patch) | |
| tree | 8694b4ea245a6f7fa7813f5ac8b3e045520378c6 | |
| parent | a0a0b9fd74f6d99da1c756b36aad6cc0122f011b (diff) | |
| download | stroke-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
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)); |
Swift