package com.zsoft.SignalA.Transport.Longpolling; import java.util.concurrent.atomic.AtomicBoolean; import com.zsoft.SignalA.ConnectionBase; import com.zsoft.SignalA.ConnectionState; import com.zsoft.SignalA.Transport.StateBase; import com.zsoft.SignalA.SendCallback; public class DisconnectedState extends StateBase { private AtomicBoolean requestStart = new AtomicBoolean(false); public DisconnectedState(ConnectionBase connection) { super(connection); } @Override public ConnectionState getState() { return ConnectionState.Disconnected; } @Override public void Start() { requestStart.set(true); Run(); } @Override public void Stop() { } @Override public void Send(CharSequence text, SendCallback callback) { callback.OnError(new Exception("Not connected")); } @Override protected void OnRun() { if(requestStart.get()) { ConnectingState s = new ConnectingState(mConnection); mConnection.SetNewState(s); } } }